新闻中心

EEPW首页>嵌入式系统>设计应用> 一种CAN总线高层通信协议的设计与实现

一种CAN总线高层通信协议的设计与实现

作者: 时间:2016-09-12 来源:网络 收藏

对于每个模块,上电1s后若未收到任何通信信息,则按计算延时发送自身的地址码和温度电流采样值。延时时间的计算为[6]:

tdelay=t×add

其中:tdelay-为延时发送时间;

t-为单位延时时间常数,该值根据通信速率定义;可以取1个位周期,在波特率为100khz时为10μs;

add-为模块地址编码。

主模块是id10=0的模块,因此具有最高的优先级。上电后主模块首先向总线广播发送自身的地址码和温度电流采样值,然后即按顺序向从机发送指令,等待从机的回答。主机1秒钟后若未收到任何通信信息则认为该模块出错,发出报警。同样从机1s后若未收到主机任何通信信息则认为主机出错,按照源地址优先级由其 余模块中地址最低的模块充当主模块,并将其id10由1改为0,以获得最高通信优先权。

各模块检测到自身故障时,将切断输出,退出通信,并向上位机报警,同时发出声光报警。

5 结束语

本文中所介绍的can通信协议,结构简单、使用灵活、可靠性极高,实现也比较容易。很适合在节点数不多、通信可靠性要求高、控制结构较简单的小型控制系统中应用,具有一定的实用价值。

参考文献

[1] can基本知识[eb]. http://www.zlgmcu.com.

[2] 控制器局域网(can)未来的工业微处理器串行通讯[eb]. http://www.zlgmcu.com.

[3] 周立功等. 增强型80c51单片机速成与实战[m]. 北京:北京航空航天大学出版社,2003.

[4] 饶运涛等.现场总线can原理与应用技术[m]. 北京:北京航空航天大学出版社,2003.

[5] 蒋建文等. can总线通信协议的分析和实现[j]. 计算机工程,2002,2.

[6] 郑尊标.数字化智能电源模块研究[d]. 浙江:浙江大学,2001.

[7] canbus现场总线基础方案芯片篇[eb]


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭