C28x系列的DSP(28069)(28377D)CAN通讯
[复制链接]
暂时因为项目中进行CAN的主机与从机数量有限,故采用标准帧即可,以后项目如果需求提高,可以采用扩展帧,扩展帧与标准帧的格式仅仅是ID长度的区别。
通讯速率:100Kbps
这是一个比较保守的波特率,因为暂时能够满足项目需求,故没有追求更高的波特率,在闭环总线上,CAN通讯速率最高可达1Mbps。
通讯周期:100ms
这是主机请求从机的周期,即主机每隔100ms,请求一个从机,然后相应的从机收到请求后,再响应。
CAN总线的物理连接方式:闭环总线通讯网络
即主机与最后一个从机的CAN通讯接口,会并联一个120欧姆的电阻,这是为了阻抗匹配,那什么叫阻抗匹配,笔者也不懂,百度了下,大家自行了解下:阻抗匹配是指负载阻抗与激励源内部阻抗互相适配,得到最大功率输出的一种工作状态。对于不同特性的电路,匹配条件是不一样的。阻抗匹配(Impedance matching)是微波电子学里的一部分,主要用于传输线上,来达至所有高频的微波信号皆能传至负载点的目的,不会有信号反射回来源点,从而提升能源效益。
通讯协议
通讯协议,怎么解释呢,笔者认为一方面是主机与从机的通讯的时候,具体的数据交换方式,这种方式决定着通讯数据的误码率、可靠性,决定整个系统的数据交换效率。另一方面,进行通讯的数据,如何存储,这决定着代码量等。
目前本系统中采用的通讯协议为简化版本的CANOpen协议,基于这套协议,从机可以将要和主机交换的数据都放在一个int型的数组中,该数组的长度为256,当然也可以更长,只是下面的协议要随之更改。
然后从机的数据存储方式,决定着整个系统的通讯协议,这套协议是基于CAN标准帧的最小单元而定的,也就是一帧标准帧数据而定的。主机在每帧数据中,可以访问不同从机,可以对从机中不同的数组元素进行访问,可以是读数组中的元素,也可以赋值给数组中的元素。然后从机收到主机的请求后,经处理之后,再发送给主机一个标准帧,这帧数据,是从机告诉主机通讯是否成功,同时也包含主机想要的内容。
|