CAN总线在矿用明渠流量计中的应用
2021-07-05王燕王新
王 燕 王 新
(中煤科工集团唐山研究院有限公司,河北 唐山 063012)
0 引言
目前,流量仪表的传输方式以主从方式为主,多通过4 mA~20 mA模拟信号叠加Hart协议、RS485总线等进行数据通信,当主节点任务繁忙或出现故障时,可能会造成数据丢失[1]。CAN(控制器局域网络)是ISO国际标准化的串行通信协议,可以有效支持分布式控制或实时控制的串行通信网络[2],具有实时性强、传输距离较远、优先权仲裁功能[3]以及错误处理检错机制可靠等优点,已经成熟应用于汽车通信领域。近些年,CAN总线逐步推广到工业自动化领域,市场上对流量计提出了具备CAN总线通信的要求,该文根据客户需求,在矿用隔爆兼本安型明渠流量计中集成CAN控制器,实现了CAN通信,同时该电路也满足矿用产品本质安全的防爆要求。
1 CAN总线简介
1.1 技术规范
控制局域网络(Controller Area Network,CAN)是一种多主方式的传输总线,总线上的每个设备都可以成为主机,每个节点的设备可以互相通信,当多个设备同时发送数据时,会优先发送高优先级ID单元设备的数据。CAN总线通过CANH和CANL端口与物理总线进行连接。其中CANH和CANL信号使用差分电压进行传送,当CANH、CANL对地电压都为2.5 V,2根导线的电压差值为0 V,被称为“隐性”,用逻辑“1”表示;当CANH对地电压为3.5 V、CANL对地电压为1.5 V时,2根导线的电压差值为2 V,被称为“显性”,用逻辑“0”表示。2.0 B规范中的帧类型包括数据帧、远程帧、错误帧和过载帧[4]。数据帧又分为标准数据帧和扩展数据帧,标准数据帧具有11位标识符,扩展数据帧包括29位标识符,2种数据帧的不同点在于“识别符扩展”位。
1.2 CAN协议
根据客户的需求,明渠流量计CAN协议采用扩展数据帧格式,1个CAN数据帧中包括帧信息、帧ID和帧数据,共13个字节,具体字节分配见表1。
表1 CAN数据帧
1.2.1 帧信息
帧信息的大小为1 B,可以用来标识CAN帧的类型、长度等基本信息,每一位的定义见表2,该设计定义为8 B的远程帧、扩展帧。
表2 帧信息各位的定义
表2中,FF是标准帧和扩展帧标识,0表示标准帧,1表示扩展帧;RTR是远程帧和数据帧标识,0表示远程帧,1表示数据帧;保留表示值为0。D3~D0表示该CAN帧数据的长度,本仪表协议中数据长度为8 B。
1.2.2 总站指令
帧ID的长度为4 B,扩展帧的有效位为29位,高位定义为0x1FFF(x表示十六进制数)。帧数据的长度为8位,该文设计的明渠流量计可以通过改变发送间隔自动上传报文,也可以根据总站需求通过指令向数据采集端发送接收数据,具体指令见表3。
表3 总站指令表
2 硬件电路设计
明渠流量计采用液位法测量流过标准堰槽的流量,其主控芯片采用MSP430F5438A单片机,该单片机是16位精简指令集(RISC)结构,该设计采用3.3 V的电源供电,工作主频为12 MHz。液位信号经过ADC转换为数字信号,通过I2C接口进入单片机,为了减小模拟信号与数字信号的干扰,在ADC与单片机之间增加隔离元件,ADC侧采用5 V的本安电源供电。由于单片机未集成CAN控制器,因此该流量计选用Microchip公司的MCP2515 CAN控制器,并配合该公司的MCP2551 CAN收发器组成CAN网络,可以实现5 kbps~500 kbps的通信速率,流量计整体硬件结构设计如图1所示。
图1 流量计整体硬件结构设计图
MCP2515芯片的工作电压为2.7 V~5.5 V,采用低功耗的CMOS技术,工作时典型电压为5 mA,典型待机电流只有1μA,具有2种复位方式:硬件复位和SPI软件复位。在该设计中,MCP2515电源引脚VCC采用单片机侧的3.3 V电源供电,SPI片选引脚CS连接MSP430F5438A的USCIA0从机传输使能引脚P3.3,时钟信号SCK连接MSP430F5438A的USCIA0时钟信号P3.0,输入SI、输出SO引脚分别连接MSP430F5438A的UCA0SIMO和UCA0SOMI引脚,在MCP2515时钟信号SCK的上升沿,可以通过SI引脚输入外部数据和命令;在MCP2515时钟信号SCK的下降沿,可以通过SO引脚输出数据和命令。该设计中MCP2515复位采用SPI软件复位,首先,将CS引脚拉低选中器件;其次,发送复位指令;最后,将CS引脚设置为高电平。为了避免硬件复位的干扰,在RESET引脚接10 kΩ上拉电阻R11至3.3 V电源。
为了加快单片机的反应速度,采用中断的方式进行数据处理,MCP2515的INT引脚接单片机的中断输入引脚P2.7。当发生中断时,MCP2515的INT引脚被设置为低电平,并一直保持这个状态直到单片机发出清除中断信号为止。MCP2515有8个中断源。使能各中断源的中断标志位包含在CANINTE寄存器中,当CANINTE.RXnIE位置1(通过软件令CANINTF.RXnIE=1),INT引脚将产生中断,显示接收到有效报文。各中断源的中断标志位包含在CANINTF寄存器中,当报文传送到接收缓冲器时,对应的CANINTF.RXnIF位置1,报文处理完毕后,需要清除CANINTF.RXnIF位,才能接收下一条报文。MCP2551 CAN收发器采用5 V的本安电源供电,MCP2551的CAN输出/输入引脚(TXD/RXD)与MCP2515对应引脚(TXCAN/RXCAN)之间采用ADUM1201磁耦合隔离器进行电气隔离,为了进一步提高CAN总线的抗干扰能力,在CAN接口处增加TVS及ESD器件,例如顺变抑制(TVS)二极管PSM712、自恢复保险BK250-030以及强效放电管BK32001002,其CAN总线部分电路原理图如图2所示。
图2 CAN总线部分电路原理图设计
3 软件设计
MCP2515支持CANV2.0B技术规范,自带2个全接收缓冲器(RXB0和RXB1)和2个单独的报文集成缓冲器(Message Assembly Buffer,MAB).RXB0具有较高的优先级,配置了1个屏蔽滤波器寄存器和2个验收滤波寄存器;RXB1的优先级低于RXB0,配置了1个屏蔽滤波寄存器和4个验收滤波寄存器。报文需要先在RB0中进行滤波,对不需要的报文进行过滤。
MCP2515的工作模式包括配置模式、正常模式、休眠模式、仅监听模式和环回模式,芯片复位后,首先进入配置模式,分别对通信波特率、接收寄存器、滤波寄存器、屏蔽寄存器、清除中断以及接收中断使能等进行初始化,初始化后进入正常模式工作。MCP2515与单片机采用4线SPI总线进行数据传输,单片机在主机模式工作,其时序为模式0(CPOL=0;CPHA=0)或模式3(CPOL=1;CPHA=1)(CPOL为时钟极性控制位;CPHA为时钟相位控制位),单片机采用中断方式进行数据收发,其初始化程序如下。
4 联机调试
通过CANalyst-II分析仪与明渠流量计进行联机调试。启动设备后,设置通信波特率为10 kbps、设置过滤验收码和过滤屏蔽码,选择正常工作模式,测试总站指令及返回数据,数据收发如图3所示。经过调试,数据收发正常,各种参数设置无误,验证了硬件设计及软件编程的正确性;明渠流量计CAN总线通信正常。
图3 CAN协议数据传输测试
5 结论
随着CAN总线技术在煤炭矿井安全监控系统中进一步推广和应用,数据采集设备具备CAN协议数据传输接口已经成为一种发展趋势。该文以MSP430F5438A单片机为主控芯片而设计的矿用隔爆兼本安型明渠流量计不仅有常规的4 mA~20 mA 、RS485和脉冲等输出方式,还实现了基于CAN总线的通信功能,为远程监控矿井的流量数据提供了便利,符合智慧矿山的发展理念。目前,该产品准确度等级为4.0级,获得安标国家矿用产品安全标志中心颁发的矿用产品安全标志认证,且已经完成投产,并在多个工业现场应用。