1.产品简介
RS232作为标准的计算机串行接口已被广泛使用,与此同时,随着现场总线技术的飞速发展,具有实时性好、可靠性高、结构简单等优点的CAN总线在测控系统中也越来越多地被采用,但由于两者的总线结构、通信协议及传输特点各不相同,因而给不同设备之间的连接带来诸多不便。因此,如何以最简单的方式实现 CAN节点与RS232串行口的通信就成为工程实践中一个不可回避的问题。该通信转换模块具有体积小、结构简单、通用性好、使用方便等特点。
2.工作原理
CAN-RS232通信转换模块通过硬件电路的电平标准转换和软件编程的通信协议转换实现相关功能。2.1 电平标准转换
RS232采用的不是TTL电平的接口标准,而是负逻辑,即逻辑"1"为-3 V~-15 V;逻辑"0"为 3 V~ 15 V;而CAN总线是采用"显性"和"隐性"两个互补的逻辑值表示"0"和"1",其信号是以两线之间的"差分"电压形式出现的。这样导致两总线之间的信号电压不匹配。无法直接进行正常的通信,因此,需要相应的硬件接口电路实现电平标准转换。
2.2 通信协议转换
RS232通信属于异步串行通信。一般为两点传输,其每帧的数据格式通常为:起始位 数据位 奇偶校验位(可省略) 停止位;每个数据包的格式通常为:数据包头 数据字节 校验和(溢出不计)。而CAN通信属于总线通信,可以同时存在多个节点,因此通信协议相对也比较复杂.
在RS232中断程序中,微处理器对接收的串口数据进行处理后提取出数据字节,通过增加帧结构信息、帧类型、字节长度和标识符等生成CAN报文格式,然后由CAN控制器的发送缓冲区发送出去;在CAN中断程序中,微处理器对接收的有效CAN报文进行解析,提取出字节长度和字节内容,通过增加数据头、数据尾和校验和转换为RS232通信格式,完成数据传输。