LIN总线多从机与主机通信(控制+反馈)
概念
首先要明确以下两点:
- LIN 总线通信方式为主从机通信,属于异步通信
- “帧头 + 数据帧”才算一完整报文
设计方案
多从机与主机通信数据流(控制+反馈)如下:
- 一号从机:
- 第一次进入中断,一号从机判断接收到主机帧头,分析 LIN 总线帧头 ID 是否为该从机控制指令,若是,从机则置位标志位 One_Flag = 1;再判断是否接收到主机报文数据,若是,对数据分析处理。
- 第二次入中断,判断接收到主机帧头,分析 LIN 总线帧头 ID 是否为反馈指令,若是,则表示从机需要发送数据(主机无报文数据,只提供帧头),打包从机数据,向主机发送数据,清空标志位 One_Flag = 0
此时,主从机通过 LIN 总线互相通信完成,其中一共有两帧报文:
1. 主机的帧头和主机的数据帧组成的一帧报文
2. 主机的帧头和从机的数据帧组成的一帧报文。
注:只有主机才有发送帧头的权利,从机没有权利,且 完整的报文 = 帧头 + 数据帧
- 二号从机:
- 第一次进中断后,分析LIN总线帧头ID 是否为该从机控制指令,若是,从机则置位标志位 Two_Flag = 1;其它上述一致。
总结
所以,若向多个(>=2)从机索要数据,至少进行两帧报文传输,一是确定哪个从机,二是发送帧头接收该从机发送的数据,以此组成一完整报文。
LIN总线多从机与主机通信(控制+反馈)的更多相关文章
- [LIN].LIN总线详解
转自:https://www.2cto.com/kf/201806/754227.html 参考:https://wenku.baidu.com/view/a9b08d786bd97f192379e9 ...
- Docker 网络管理及容器跨主机通信
1.网络模式 docker支持四种网络模式,使用--net选项指定: host,--net=host,如果指定此模式,容器将不会获得一个独立的network namespace,而是和宿主机共用一个. ...
- Docker:macvlan实现容器跨主机通信 [十四]
一.什么是macvlan 1.macvlan 本身是 linux kernel 模块,其功能是允许在同一个物理网卡上配置多个 MAC 地址, 2.即多个 interface,每个 interface ...
- VirtualBox通过Host-Only网络连接方式实现宿主机与虚拟机通信
适用情况 (1)没有联网, 不插网线 (2)宿主机直接连接宽带(无路由器) 情景: 宿主机 Windows 7 虚拟机 Windows XP 虚拟机安装了SQLServer2005,宿主机想连接使用虚 ...
- docker之 网络模式和跨主机通信
Docker的四种网络模式Bridge模式 当Docker进程启动时,会在主机上创建一个名为docker0... Docker的四种网络模式 Bridge模式 当Docker进程启动时,会在主机上创建 ...
- Docker容器跨主机通信之:直接路由方式
一.Docker网络基本原理 直观上看,要实现网络通信,机器需要至少一个网络接口(物理接口或虚拟接口)与外界相通,并可以收发数据包:此外,如果不同子网之间要进行通信,需要额外的路由机制. Docker ...
- overlay实现容器跨主机通信
本节内容: Docker容器跨主机通信方案 环境信息 升级内核 安装docker 防火墙设置和开启内核转发 安装启动consul 启动Docker 创建overlay network 创建容器 测试容 ...
- Docker 网络模式和跨主机通信
Docker的四种网络模式 Bridge模式 当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器会连接到这个虚拟网桥上.虚拟网桥的工作方式和物理交 ...
- 【06】循序渐进学 docker:跨主机通信
写在前面的话 目前解决容器跨主机通信的方案有很多种,这里给出的只是其中的一种,而且还不是最好的方案,不过归根结底,大同小异.在学习 docker swarm 之前,大家可以先看看这种. 啥是 over ...
随机推荐
- S-Trees UVA - 712
A Strange Tree (S-tree) over the variable set Xn = {x1,x2,...,xn} is a binary tree representing a ...
- mybatis的本质和原理
背景 项目需要,我们需要自己做一套mybatis,或者使用大部分mybatis的原始内容.对其改造,以适应需要.这就要求我再次学习一下mybatis,对它有更深入的了解. 是什么 MyBatis ...
- 使用Docker及k8s启动logstash服务
前提:搭建好elasticsearch和kibana服务 下载镜像,需要下载与elasticsearch和kibana相同版本镜像 docker pull docker.elastic.co/logs ...
- 命令行运行py文件报错
起因 今天用ubuntu 终端运行py文件报了个错,找不到模块? 我切换回pycharm中运行,运行一切正常 解决 在报错模块中,插入绝对路径 import sys sys.path.append(' ...
- addslashes,htmlspecialchars,htmlentities转换或者转义php特殊字符防止xss攻击以及sql注入
一.转义或者转换的目的 1. 转义或者转换字符串防止sql注入 2. 转义或者转换字符防止html非过滤引起页面布局变化 3. 转义或者转换可以阻止javascript等脚本的xss攻击,避免出现类似 ...
- top:0;bottom:0;left:0;right:0;同时使用的效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【MySQL】SQL中On和Where的区别
数据库再通过链接两张表或者多张表时来返回记录时,都会生成一张中间的临时表,然后再将这张表返回给用户: 在使用left jion时,on和where条件的区别如下: 1. on条件是在生成临时表时使用的 ...
- Xposed学习三:基石
在上一篇我们留下问题:handleLoadPackage如何生效即在何时被执行. 先看XposedBridge.class的main(该函数是在appruntime.start函数中替换原先zygot ...
- PowerShell-3.多线程
$start = Get-Date $task1 = { $vUrl = 'http://img.mottoin.com/wp-content/uploads/2016/09/5-25.png' $v ...
- Run-Time Check Failure #0,The value of ESP was not properly saved 错误解决
调用DLL函数,出现错误 Run-Time Check Failure #0 - The value of ESP was not properly saved across a function c ...