利用TL16C554和SJA1000芯片实现4路UART总线与CAN总线的通讯设计

2.3 通讯过程

系统通讯电路图如图1所示,为了能实现UART与CAN之间的相互通讯,采用2个图1所示的电路图,将CAN收发器的CANH,CANL连接在一起,形成2个CAN节点,如图4所示。这样就能实现UART→CAN→CAN→UART的通讯过程。在节点1中,单片机首先发送8个串行数据55,56,…,5B.5C(16进制)送给TL16C554的串行通道,UART模块接收到串行数据后由SJA1000转换成CAN总线数据A1,A2,A3,A0,08,55,56,…,5C,65,61(16进制),其中A1,A2,A3,A0,08为PeliCAN模式下的识别码和帧信息,65,61为CRC校验码。转换成CAN总线后通过CANH、CANL将数据送入节点2的CAN模块,SJA1000接收到数据后由TL16C554转换成串行数据88,A1,A2,A3,A0,55,56,…,5B,5C(16进制)发送出去,其中88,A1,A2,A3,A0为帧信息和识别码。示波器采集的通讯波形图如图5所示。

利用TL16C554和SJA1000芯片实现4路UART总线与CAN总线的通讯设计

为了能使转换结果更清楚的显示,将TL16C554的TXA通过RS 232串行数据线连接到PC机,硬件连接如图6所示。这样最终转换的UART数据就可以通过PC机显示出来,结果如图7所示。

利用TL16C554和SJA1000芯片实现4路UART总线与CAN总线的通讯设计

3、 结语

本文设计了一个多路UART总线与CAN总线进行相互通讯的转换系统,从测试结果来看,该没计系统完全可以实现两者间的透明转换。利用CAN总线传输距离长、通讯灵活等优点,该系统可以有效的延长UART串行总线的通讯距离、提高传输速率,大大方便了具有UART接口的设备进行远距离、多节点传输。

责任编辑:gt

关于接口,总线,驱动就介绍完了,您有什么想法可以联系小编。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查