概念

首先要明确以下两点:

  • LIN 总线通信方式为主从机通信,属于异步通信
  • “帧头 + 数据帧”才算一完整报文

设计方案

多从机与主机通信数据流(控制+反馈)如下:

  • 一号从机:
  1. 第一次进入中断,一号从机判断接收到主机帧头,分析 LIN 总线帧头 ID 是否为该从机控制指令,若是,从机则置位标志位 One_Flag = 1;再判断是否接收到主机报文数据,若是,对数据分析处理。
  2. 第二次入中断,判断接收到主机帧头,分析 LIN 总线帧头 ID 是否为反馈指令,若是,则表示从机需要发送数据(主机无报文数据,提供帧头),打包从机数据,向主机发送数据,清空标志位 One_Flag = 0

此时,主从机通过 LIN 总线互相通信完成,其中一共有两帧报文:

1. 主机的帧头和主机的数据帧组成的一帧报文

2. 主机的帧头和从机的数据帧组成的一帧报文。

注:只有主机才有发送帧头的权利,从机没有权利,且 完整的报文 = 帧头 + 数据帧

  • 二号从机:
  1. 第一次进中断后,分析LIN总线帧头ID 是否为该从机控制指令,若是,从机则置位标志位 Two_Flag = 1;其它上述一致。

总结

所以,若向多个(>=2)从机索要数据,至少进行两帧报文传输,一是确定哪个从机,二是发送帧头接收该从机发送的数据,以此组成一完整报文。

LIN总线多从机与主机通信(控制+反馈)的更多相关文章

  1. [LIN].LIN总线详解

    转自:https://www.2cto.com/kf/201806/754227.html 参考:https://wenku.baidu.com/view/a9b08d786bd97f192379e9 ...

  2. Docker 网络管理及容器跨主机通信

    1.网络模式 docker支持四种网络模式,使用--net选项指定: host,--net=host,如果指定此模式,容器将不会获得一个独立的network namespace,而是和宿主机共用一个. ...

  3. Docker:macvlan实现容器跨主机通信 [十四]

    一.什么是macvlan 1.macvlan 本身是 linux kernel 模块,其功能是允许在同一个物理网卡上配置多个 MAC 地址, 2.即多个 interface,每个 interface ...

  4. VirtualBox通过Host-Only网络连接方式实现宿主机与虚拟机通信

    适用情况 (1)没有联网, 不插网线 (2)宿主机直接连接宽带(无路由器) 情景: 宿主机 Windows 7 虚拟机 Windows XP 虚拟机安装了SQLServer2005,宿主机想连接使用虚 ...

  5. docker之 网络模式和跨主机通信

    Docker的四种网络模式Bridge模式 当Docker进程启动时,会在主机上创建一个名为docker0... Docker的四种网络模式 Bridge模式 当Docker进程启动时,会在主机上创建 ...

  6. Docker容器跨主机通信之:直接路由方式

    一.Docker网络基本原理 直观上看,要实现网络通信,机器需要至少一个网络接口(物理接口或虚拟接口)与外界相通,并可以收发数据包:此外,如果不同子网之间要进行通信,需要额外的路由机制. Docker ...

  7. overlay实现容器跨主机通信

    本节内容: Docker容器跨主机通信方案 环境信息 升级内核 安装docker 防火墙设置和开启内核转发 安装启动consul 启动Docker 创建overlay network 创建容器 测试容 ...

  8. Docker 网络模式和跨主机通信

    Docker的四种网络模式 Bridge模式 当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器会连接到这个虚拟网桥上.虚拟网桥的工作方式和物理交 ...

  9. 【06】循序渐进学 docker:跨主机通信

    写在前面的话 目前解决容器跨主机通信的方案有很多种,这里给出的只是其中的一种,而且还不是最好的方案,不过归根结底,大同小异.在学习 docker swarm 之前,大家可以先看看这种. 啥是 over ...

随机推荐

  1. day14.面向对象编程

    一 对象的概念 "面向对象"的核心是"对象"二字,而对象的精髓在于"整合" 所有的程序都是由"数据"与"功能& ...

  2. Day16_93_IO_FileInputStream_读取文件字节流read()方法(一)

    读取文件字节流read()方法 * 文件字节输入流:按照字节方式读取文件 * java.io.* java.io.InputStream; java.io.FileInputStream; read( ...

  3. OSPF 综合实验

    实验拓扑 实验需求 1.按照图示配置好 IP 地址,PC1 网关指向为 R8 2.OSPF 划分为 4 个区域,其中 192.168.0.0/24,192.168.1.0/24,192.168.2.0 ...

  4. 【动态数据源切换失败】由于事务@Transactional注解导致动态数据源切换失效的问题

    不多BB,直接上代码: public class DataSourceKey { /** * 用户数据源 */ public final static String USER = "user ...

  5. thinkphp5 ztree树形菜单

    教程:http://makaidong.com/zjfjava/4074_5873678.html 下载:https://github.com/zTree/zTree_v3

  6. UVA10382喷水装置

    题意:       给你一个矩形的空地,然后有一些圆形的喷水装置,每个装置的圆心都在矩形宽的中间位置,然偶给你每个矩形的圆心位置和半径,问你最少多少个喷水装置可以把矩形的所有编辑都覆盖上. 思路:   ...

  7. CVE-2012-0774:Adobe Reader TrueType 字体整数溢出漏洞调试分析

    0x01 TrueType 字体 TTF 字体是 Apple 和 Microsoft 两家公司共同推出的字体格式,现在已经广泛的运用于 Windows 操作系统,其中 PDF 文档也可以嵌入 TTF ...

  8. C#-FTP

    /// <summary> /// 上传文件 /// </summary> /// <param name="fileinfo">需要上传的文件 ...

  9. VS Code插件推荐-Settings Sync

    Settings Sync功能 将vscode的本地设置.插件保存至远端,方便保存 Usage 插件市场安装Setting Sync之后,⌘+P输入>sync,即可看到相关操作,选中点击之后官方 ...

  10. 数据结构之Set | 让我们一块来学习数据结构

    数组(列表).栈.队列和链表这些顺序数据结构对你来说应该不陌生了.现在我们要学习集合,这是一种不允许值重复的顺序数据结构.我们将要学到如何创建集合这种数据结构,如何添加和移除值,如何搜索值是否存在.你 ...