这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 关于编程想到的问题

共7条 1/1 1 跳转至

关于编程想到的问题

工程师
2014-01-01 22:48:00     打赏
CAN的通信协议是modus,在写程序的时候我只是按照流程图写CAN通信中的程序,并没有去关注这个通信协议,不知道这种方式是不是正确的。请多指点,谢谢了。

高工
2014-01-01 23:18:29     打赏
2楼

Can通讯不是用的Modbus协议哦,看看报文类型和帧格式就知道了:

报文类型

在CAN2.0B的版本协议中有两种不同的帧格式,不同之处为标识符域的长度不同,含有11位标识符的帧称之为标准帧,而含有29位标识符的帧称为扩展帧。如CAN1.2版本协议所描述,两个版本的标准数据帧格式和远程帧格式分别是等效的,而扩展格式是CAN2.0B协议新增加的特性。为使控制器设计相对简单,并不要求执行完全的扩展格式,对于新型控制器而言,必须不加任何限制的支持标准格式。但无论是哪种帧格式,在报文传输时都有以下四种不同类型的帧:

帧类型

(1)数据帧(Data ) 数据帧将数据从发送器传输到接收器。

(2)远程帧(Remote ) 总线单元发出远程帧,请求发送具有同一标识符的数据帧。

(3)错误帧(Error ) 任何单元检测到总线错误就发出错误帧。

(4)过载帧(Overload ) 过载帧用在相邻数据帧或远程帧之间提供附加的延时。

数据帧或远程帧与前一个帧之间都会有一个隔离域,即帧间间隔。数据帧和远程帧可以使用标准帧及扩展帧两种格式。


随着CAN总线在各个行业和领域的广泛应用,对其的通信格式标准化也提出了更严格的要求。1991年CAN总线技术规范(Version2.0)制定并发布。该技术规范共包括A和B两个部分。其中2.0A给出了CAN报文标准格式,而2.0B给出了标准的和扩展的两种格式。美国的汽车工程学会SAE在2000年提出了J1939协议,此后该协议成为了货车和客车中控制器局域网的通用标准.


工程师
2014-01-02 08:03:41     打赏
3楼
太及时了,现在明白了。所谓的协议也就是很多关于通信的定义吧。我用的CAN 2.0B.

高工
2014-01-02 09:37:15     打赏
4楼
一块加油吧亲

工程师
2014-01-02 12:44:23     打赏
5楼
嗯,加油亲。

院士
2014-01-02 14:22:59     打赏
6楼
一楼、二楼,共同加油!

工程师
2014-01-02 17:25:36     打赏
7楼

共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]