当前位置:首页 > 工业控制 > 工业控制
[导读]摘要:主要利用TI公司的多路异步收发器TL16C554和PHILIPS公司的SJA1000设计一个多路总线协议转换通讯系统。为了实现4路UART总线与CAN总线之间的相互转换过程,采用微控制器AT89S51来控制通讯数据转换,通过硬件电路实

摘要:主要利用TI公司的多路异步收发器TL16C554和PHILIPS公司的SJA1000设计一个多路总线协议转换通讯系统。为了实现4路UART总线与CAN总线之间的相互转换过程,采用微控制器AT89S51来控制通讯数据转换,通过硬件电路实验和软件调试算法,得到了4路串行总线与CAN总线之间的相互透明转换过程。该电路系统大大方便了具有UART接口的设备进行远距离、多节点传输,增强了系统的通讯可靠性。
关键词:UART;CAN;总线协议;协议转换

    由于在消费类电子产品、计算机外设、汽车和工业应用中增加了嵌入式功能,对低成本、高速和高可靠通信介质的要求也不断增长,以满足这些应用,其结果是越来越多的处理器和控制器用不同类型的总线集成在一起,实现与PC软件、开发系统或网络中其他设备的通信。微处理器中常用的集成串行总线是通用异步接收器传输总线、串行通信接口以及车用串行总线,包括控制器局域网(CAN)。这些总线在速度、物理接口要求和通信方法学上都有所不同。本文主要利用TI公司的多路异步收发器TL16C554和PHILIPS公司的SJA1000实现一个4路UART总线与CAN总线之间的相互通讯过程。

1 UART与CAN介绍
    UART模块采用TI公司的TL16C554,它是含有4路16C550的增强型异步通讯电路,每路通道能从外围设备或MODEM接收数据,实现串并转换;同时,也可以从CPU端接收数据,实现并串转换。TL16C554内部具有16 B的接收和发送FIFO,在FIFO模式下,通过使用RTS和CTS输入信号可以自动控制串行数据流,可选的自动流控制特性大大降低了软件规模,提高了系统效率。TL16C554也可以通过FIFO触发点与TXRDY或RXRDY信号实现DMA模式的数据传输,片内的状态寄存器为用户提供错误指示、器件的工作状态和调制解调器接口控制。可通过调整系统中断来满足用户的要求,内部的环回模式实现了片内的故障诊断。TL16C554电路的串行数据格式为:


    这些数据格式主要通过电路的线控制寄存器来进行控制,其中起始位为低电平“0”;数据位长度可选择5~8位;奇偶校验位可选择为奇校验、偶校验或无校验;停止位可选择1位、2位或1/2位。
    CAN模块采用一种独立的CAN控制器SJA1000,主要用于移动目标和一般工业环境中的区域网络控制,是PHILIPS公司半导体PCA82C200CAN控制器的替代产品。SJA1000具有BasicCAN和PeliCAN 2种工作方式。BasicCAN模式是上电后默认的操作模式,而PeliCAN模式是新的操作模式,它能够处理所有CAN2.0B规范的帧类型,而且它还提供一些增强功能,使SJA1000能应用于更宽的领域。
    其中SJA1000的数据帧格式为:



2 系统设计
    系统总体电路图如图1所示,主要有3个部分组成,UART模块、CAN模块和微控制处理器。UART模块采用TI公司的TL16C554,它是一个4路通用异步收发器,每路均能从外围设备或MODEM接收串行数据,实现串一并转换;同时,它也可以从CPU端接收数据,实现并一串转换。


    CAN模块采用PHILIPS公司的SJA1000,它是一种独立的CAN控制器兼容CAN2.0A和CAN2.0B两种技术规范。微控制器采用8位单片机AT89S 51,主要对UART模块和CAN模块进行初始化控制,并产生串行数据输送给UART模块。
2.1 UART模块通讯设计
    UART模块通讯设计主要利用单片机控制4路异步收发器TL16C554。单片机首先通过数据线D7~D0、地址线A2~A0初始化TL16C554,配置好串行传输波特率、字符格式以及中断控制信号等寄存器,并通过4路通道的片选信号CSA,CSB,CSC和CSD选通其中的一路。利用单片机自身的串行接口发送串行数据,送入TL16C554,UART模块接收到串行数据后,将其转换成并行数据存入FIFO中,并通知单片机数据转换完成,单片机从UART模块的FIFO中读取数据,并准备好发送给CAN模块。通讯流程图如图2所示。


    如果要实现多路UART总线与CAN总线通讯,利用通道各自的片选信号进行控制,在一路通道转换结束后再进行选通另一路通道,相互之间必须进行分时操作,协调处理。
2.2 CAN模块通讯设计
    CAN模块通讯设计主要利用单片机控制SJA1000控制器。单片机首选通过地址数据复用线AD7~AD0对SJA1000进行初始化设置,包括时钟分频寄存器、输出控制寄存器、总线定时寄存器和验收滤波器等,通过这些寄存器可以设置选择工作模式为BasicCAN或是PeliCAN,CLKOUT引脚的频率、以及通信波特率等。设置好寄存器,就等待单片机将从UART模块读取的数据发送给SJA1000的发送缓冲器,CAN模块将这些数据转换成CAN总线形式并通过收发器发送到网络节点中去。通讯流程图如图3所示。


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的TXA通过RS 232串行数据线连接到PC机,硬件连接如图6所示。这样最终转换的UART数据就可以通过PC机显示出来,结果如图7所示。

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭