APP下载

多通道CAN-RS485微机监测通讯分机

2014-12-25

科技视界 2014年23期
关键词:分机收发器缓冲区

马 娟

(西南科技大学 理学院,四川 绵阳 621010)

0 引言

由于CAN 总线具备抗干扰能力强、可靠性高、实时性好等特点,近年来CAN 总线应用领域逐渐扩大,且已逐步成为地铁列车网络技术发展的重要方向。但技术成熟的RS485 总线在国内铁路行业中被应用广泛,可见实现RS485 总线与CAN 总线互联对铁路行非常重要。

1 多通道通讯

由于铁路站点的微机监测站接收来自多个不同类型传感器或采集器数据,如温度传感器、湿度传感器、电量传感器等,故本文提出了多通道CAN-RS485 微机检测通讯分机,该模块通信网络有10 个节点,其中2 个主节点和8 个从节点。主节点即CAN 接口,负责与上位机之间的数据通信;从节点即RS485 接口,每个接口允许负载20 个采集器,负责与采集器之间的数据通信,从而实现上位机与传感器或采集器之间的双向实时通讯。

2 硬件设计

基于LPC2292 的多通道CAN-RS485 通讯分机硬件设计框图如图1 所示,主要由CAN 接口、RS485 接口、串口收发器、外部存储器、时钟RS485 接口和电源七部分组成。

图1 硬件设计框图

2.1 微控制器

考虑到本通讯分机需要实时处理大量的数据,且快速、准确,本设计中微控制器选Phlips 公司的LPC2292 处理器。该芯片是一款32 位的ARMTDMI-S CPU 微控制器,支持JTAG 实时仿真和跟踪,其丰富接口完全满足设计需要。

2.2 CAN 接口设计

CAN 接口包括总线控制器和收发器两部分,而LPC2292 包含CAN 控制器,只需外接CAN 总线收发器,本设计中选取高速带隔离的CAN 收发器CTM-1050T,CAN 接口电路图如图2 所示。

图2 CAN 接口电路图

2.3 RS485 接口设计

RS485 接口如图3 所示,为满足RS485 通道与电源之间隔离耐压DC 1500V,1min 的要求,设计中采用瞬态抑制二级管SMBJ7.0CA。由于本通讯分机有8 路RS485 通道,故RS485 接口采用四串口收发器SC16C554DBIB64。

图3 RS485 接口电路图

3 软件设计

本微机监测通讯分机中CAN 总线的软件程序设计主要包括初始化CAN 控制器、帧接收及帧发送三部分。

3.1 CAN 帧结构

CAN 总线采用CAN2..0B 扩展帧格式,CAN 帧结构具体定义如表1 所示。

其中,域的具体含义如下:

3.1.1 DIR——方向位

值为“0”时地址域是目标地址(主机到从采集机),为“1”时地址域是源地址(采集机到主机)。

表1 CAN 帧结构

3.1.2 M/S——帧性质

值为“0”时表示该帧为自主帧,为“1”时表示该帧为应答帧。

3.1.3 G——优先级

值为“0”时表示该帧优先级为高级,为“0”时表示该帧优先级为“1”低级。

3.1.4 ADDRESS——采集机地址

表示采集机地址,取值范围为0~31,0# 为主机地址,1-30# 为采集机地址,31# 为广播地址。

3.1.5 MF——帧类型

值“0”为时表示该帧为单帧,为“1”时表示该帧为多帧。

3.1.6 CMD——命令

表示该帧的意义,即指明应答帧内容。

3.1.7 INDEX OF FRAME——帧序号

表明传送多帧时该帧的序号。

3.1.8 SUM OF FRAME——总帧数表明该次数据传送的总帧数(=总字节数/8+1),该次数据传送的总字节数=SUM OF FRAME*8+最后帧的DLC。

3.2 初始化CAN 控制器

对LPC2292 中的CAN 控制器初始化包括以下内容:

(1)初始化CAN 模式寄存器CANMOD,仅设置LOW 为仅听模式;

(2)初始化验收滤波器模式寄存器CANAFMR,设置验收滤波器为旁路,所有RX 信息都被使能的CAN1 控制器接收;

(3)初始化出错警告界限寄存器CAN1EWL;

(4)初始化CAN 总线时序寄存器CAN1BTR,初始化波特率、总线时序、采样位;

(5)初始化中断使能寄存器CANIER,中断使能寄存器中所有中断使能。

3.3 帧接收

帧接收处理采取中断方式,通过获取中断和捕获寄存器CANICR状态进行中断控制。

当捕获到接收中断时,CAN 控制器从接收缓冲区中读取数据,该过程具体如下:

(1)从CAN RX 帧状态寄存器CANRFS 获得接收信息长度dlc;

(2)从CAN RX 标识符寄存器获取接收帧ID,从而获得当前帧的帧序号、总帧数;

(3)从CAN RX 数据寄存器获取数据并存放于通讯缓冲区;

(4)释放接收缓冲区,设置can 命令寄存器CANCMR 中RRB 为1;

(5)接收完成初始化通讯缓冲区,并根据接收帧ID 中的CMD 进行应答。

3.4 帧发送

CAN 帧分为自主帧和应答帧,且本通讯分机为多通道,CAN 控制器在进行帧发送时其流程如下:

(1)初始化通讯缓冲区,包括设置设置本次帧长度,设置通讯标志为发送状态,设置通讯数据缓冲区指针,初始化发送帧序号;

(2)逐点将RS485 节点数据存入通信缓冲区;

(3)当CAN 全局状态寄存器获得发送缓存去状态处于无发送信息时,依次向CAN TX 帧信息寄存器中写入帧信息、向CAN1 TX 数据寄存器中写入通信缓冲区数据。

4 测试

针对通讯分机的隔离电压、电源电压及温度变化的影响,本通讯分机经过一系列测试如表2 所示,测试结果表明本通讯分机具备可靠性高、耐高低温性和耐压性强。

表2 CAN 通讯测试

针对本通讯分机的通讯能力,对RS485 通道进行满负载且间断运行测试。测试结果表明本通讯分机中RS485 通道负载能力不小于20 个节点,采用示波器观察RS485 通道轮询时间间隔最小为100ms。测试结果表明本通讯分机具备实时性和负载能力强。

5 结束语

作为当前应用最广泛得现场总线CAN 总线,与传统的RS485 串行总线间的转换存在重要的现实意义,本多通道微机监测通讯分机实现了二者的转换,且满足可靠性高、耐高低温性、平均无故障时间长等特性。

[1]站江波,宋建成,耿蒲龙.基于CAN 总线的矿用通信分站的研究[J].工矿自动化,2011,10:51-54.

[2]王珍珠,刘伟,刘占清.基于ARM 的PLC 的CAN 通信协议设计与实现[J].组合机床与自动化加工技术,2011,8:60-63.

[3]杨芬,吴伯农,吴海军.智能传感器的CAN 总线接口设计[J].单片机与嵌入式系统应用,2011,26(9-2):171-173.

[4]郭冀岭,王远波.CAN 与RS485 通信在矿用机车斩波调速控制系统中的应用[J].煤矿机电,2011,5:111-113.

[5]蒋加伏,刘清华.RS485-CAN 转换器的设计[J].微计算机信息,2010,8:7-10.

[6]朱成杰,王瑞平,欧阳名三,高俊岭.基于LPC2292 的隔爆兼本安型矿用多协议转换器的研制[J].煤矿机械,2010,31(11):7-10.

猜你喜欢

分机收发器缓冲区
清管球收发器设计细节分析及应用
基于无线技术的铁路客车火灾报警装置设计概述
一种通用的硬币清分机设计
宽带接入网环境下区间电调分机接入方式研究
某型微波着陆引导设备模拟训练系统设计
嫩江重要省界缓冲区水质单因子评价法研究
Virtex5 FPGA GTP_DUAL硬核两个收发器独立使用的实现
关键链技术缓冲区的确定方法研究
地理信息系统绘图缓冲区技术设计与实现
AVS标准中的视频码流缓冲区校验模型分析