基于CAN总线的实验室管理系统
来源:互联网 发布:北京赛车软件下载 编辑:程序博客网 时间:2024/06/12 01:51
STC15W408AS单片机
资源
IO分配
CAN总线
CAN 报文帧
普通帧(108bit)
帧以起始帧 ( SOF)位开始, SOF 为显性状态,允许所有节点的硬同步。
SOF之后是仲裁字段, 由12个位组成, 分别为11个标识位和一个远程发送请求 ( Remote Transmission Request, RTR)位。 RTR 位用于区分报文是数据帧( RTR 位为显性状态)还是远程帧 ( RTR 位为隐性状态) 。
仲裁字段之后是控制字段,由 6 个位组成。控制字段的第一位为标识扩展( Identifier Extension, IDE)位,该位应是显性状态来指定标准帧。标识扩展位的下一位为零保留位( RB0) , CAN 协议将其定义为显性位。控制字段的其余 4 位为数据长度码 ( Data Length Code,DLC) ,用来指定报文中包含的数据字节数 ( 0 到 8 字节) 。
控制字段之后为数据字段,包含要发送的任何数据字节。数据字段长度由上述 DLC 定义 ( 0 到 8 字节)。
数据字段之后为循环冗余校验( CRC)字段,用来检测报文传输错误。 CRC 字段包含一个 15 位的 CRC 序列,之后是隐性的 CRC 定界位。
最后一个字段是确认字段 ( ACK),由 2 个位组成。在确认时隙( ACK Slot)位执行期间,发送节点发出一个隐性位。任何收到无错误帧的节点会发回一个显性位(无论该节点是否配置为接受该报文与否)来确认帧收到无误。确认字段以隐性确认定界符结束,该定界符可能不允许被改写为显性位。
扩展数据帧(128bit)
在扩展 CAN 数据帧中,紧随 SOF 位的是 32 位的仲裁字段。仲裁字段的前 11 位为 29 位标识符的最高有效位( Most Significant bit, MSb)(基本lD) 。紧随这 11 位的是替代远程请求 ( SubstituteRemote Request, SRR)位,定义为隐性状态。 SRR位之后是 lDE 位,该位为隐性状态时表示这是扩展的CAN 帧。
应该注意的是, 如果发送完扩展帧标识符的前 11 位后,总线仲裁无果,而此时其中一个等待仲裁的节点发出标准 CAN 数据帧 ( 11 位标识符),那么,由于节点发出了显性 lDE 位而使标准 CAN 帧赢得总线仲裁。另外,扩展 CAN 帧的 SRR 位应为隐性,以允许正在发送标准CAN 远程帧的节点发出显性 RTR 位。
SRR和lDE位之后是标识符的其余18位(扩展lD) 及一个远程发送请求位。
为使标准帧和扩展帧都能在共享网络上发送,应将29位扩展报文标识符拆成高 11 位和低 18 位两部分。拆分后可确保 lDE 位在标准数据帧和扩展数据帧中的位置保持一致。
仲裁字段之后是 6 位控制字段。控制字段前两位为保留位,必须定义为显性位。其余 4 位为 DLC,用来指定报文中包含的数据字节数。扩展数据帧的其他部分 (数据字段、 CRC 字段、确认字段、帧结尾和间断)与标准数据帧的结构相同 。
选择
选择帧格式
为保证63个电气节点可用,同时兼顾8个命令,所以采用普通帧11位仲裁仍可保证2个位的空余以留今后扩展,若仍不足,可采用扩展帧。
如“2x00111100000”为主机向0F号节点发送关电源请求。
如“2x11110000001”为3C节点告诉主机已经关闭电源。
数据格式
根据不同命令,数据最大可达八字节。
串口
处理方式
采用ASCII码,串口5毫秒无数据则断帧处理。
命令格式为,命令本身+空格+地址(+数据)
已实现命令
其他设备选型
其他
致谢
- 基于CAN总线的实验室管理系统
- 基于TMS320LF2407和CAN总线的通信应用系统设计
- 基于CAN总线智能建筑监控系统的通信协议设计
- 基于CAN总线的汽车内部网络系统研究
- 基于Web的实验室管理系统技术简要报告
- 基于C#、FTP和XML的实验室元器件管理系统
- 基于C的CAN总线切换方案
- 基于CAN总线的匹配标定协议
- 基于CPLD的CAN总线设计
- 基于stm32的can总线彻底研究
- 基于can总线节点ECU的设计
- 基于CCP协议的CAN总线
- 基于CCP协议的CAN总线
- 基于stm32的can总线彻底研究
- 基于stm32的can总线彻底研究
- 基于树莓派3的CAN总线编程
- 基于LPC2194的四路CAN总线通信
- 基于C8051F040单片机的CAN总线通信
- Type C转console安卓手机配置线
- Sturts2提交表单到数据库后乱码
- 数组旋转
- 中缀表达式转化为后缀表达式,并计算结果
- Josephus again HDU
- 基于CAN总线的实验室管理系统
- 657. Judge Route Circle
- 51nod 1021 石子归并
- 对现有Hive的大表进行动态分区
- SXOJ843 迷失的奶牛
- 21分钟Mysql入门教程
- Centos 安装mysql问题解决
- getComputedStyle
- 样式与主题