APP下载

基于CAN-Ethernet的煤炭产量监测系统的设计

2011-06-05张明明李丽宏

电子设计工程 2011年20期
关键词:分站实时性网关

张明明,李丽宏

(太原理工大学 信息工程学院,山西 太原 030024)

现场总线技术是一种应用在生产现场的总线型拓扑的网络技术,产生于20世纪80年代,是网络技术与控制技术的边缘产物。作为工业控制领域的后起之秀,显示出强大的生命力。CAN总线是德国Bosch公司为了解决轿车上众多监测设备的实时数据交换而研发的一种串行通信协议。作为最具前途的几种现场总线之一,其在数据通信方面突出的实时性、可靠性和灵活性决定其应用领域已不再局限于汽车领域,并已进一步扩展到了远程监测、机械、机器人、过程工业、数控机床、医疗器械和家用电器等众多领域[1-2]。

以太网技术采用共享总线型传输媒体方式的局域网,最初由施乐公司创建,采用CSMA/CD(冲突检测的载波侦听)访问控制法,包括标准的以太网(10 Mbit/s)、快速以太网(100 Mbit/s)和10 G(10 Gbit/s)以太网,是应用最广泛的局域网。

随着全球经济的发展,煤碳产量等信息的采集与处理对煤碳这种不可再生能源的合理利用对国民经济发展起到了越来越重要的作用,因此煤矿生产信息化,已成为现代化管理的重要内容之一。为了解决当前煤矿高实时性的生产信息上传不及时以及生产信息共享困难的问题,文中设计了基于CAN总线与以太网的煤炭产量监测系统。选用CAN总线构建现场网络以解决煤矿井下生产信息上传实时性差的问题,同时将CAN总线构建的现场网络与由以太网构建的企业管理网络互联以实现煤矿生产信息实时共享。

1 系统架构与功能介绍

煤炭产量监测系统主要由安装在煤矿井下的CAN智能节点(分站)、安装在调度室的主站控制机柜、监控中心的服务器和远端客户组成,如图1所示。

煤矿井下的CAN智能节点(分站)实时采集重量信号和速度信号并通过相关算法计算出流量,然后将数据打包,通过CAN总线将数据上传到井上主站控制机柜。为了确保系统的实时性,在设计时,让处于重要矿井的分站拥有更高的总线访问优先权。

主站控制机柜的CAN-Ethernet网关提取CAN总线已上传数据包中的有效数据,经TCP/IP层打包后交由以太网模块进行以太网帧封装,之后经以太网交换机最终传送给监控中心的服务器。监控中心的服务器连接到Internet网上,以供具有授权的远端客户随时访问。

在煤炭产量监测系统中,现场监测设备以及CANEthernet的实时性,稳定性和确定性是影响煤炭产量监测系统性能好坏的主要因素。

图1 系统架构图Fig.1 System architecture figure

2 系统硬件设计

2.1 CAN智能节点(分站)的硬件设计

如图2所示,CAN智能节点 (分站)的主芯片选用Samsung公司的基于ARM体系结构V4版本的S3C44B0X芯片,该芯片上资源丰富,71个通用I/O口,8通道外部中断源,工作频率通过PLL倍频达66 MHZ,用户可见的地址空间为256 Mbyte,分为 8个分区 BANK0-BANK7,每个分区 32 Mbyte。由于S3C44B0X没有内部ROM空间和固定的内部RAM空间,同时S3C44B0X上电后从0x00000000开始执行,所以在BANK0用SST39VF160芯片扩展2 Mbyte的片外FLASH,同时在 BANK6 用 HY57V641620E(L/S)T(P)-H 扩展8 Mbyte的片外SDRAM。图中JTAG用来为S3C44B0X下载程序使用。系统中的速度传感器用于采集回程皮带的运行速度,并传回脉冲信号。同时系统采用线性度高达0.3%的悬臂梁式称重传感器,实时采集皮带上的煤炭重量,并传回0~10 mV的模拟信号,经16位AD转换器转换成数字信号后,供S3C44B0X芯片采集。CAN控制器和CAN收发器的芯片分别选用Philipe公司的SJA1000和PCA82C250。为了增强CAN智能节点的抗干扰能力,在SJA1000芯片与PCA82C250芯片之间采用高速光耦合器6N147进行耦合,同时使用B0505LM-1W实现二者之间电源与地的隔离。

图2 CAN智能节点(分站)硬件电路框图Fig.2 CAN intelligent nodes(sub-station)circuit of hardware diagram

CAN智能节点(分站)主要实现将称重传感器采集到的信号进行一定的线性化处理,然后将其与速度传感器采集到的速度信号进行打包,并通过CAN控制器与CAN收发器将打包后的数据发送出去。

2.2 CAN-Ethernet网关的硬件设计

如图3所示,CAN-Ethernet网关的以太网控制器选用RTL8019AS芯片。该芯片内部有两块 以分页方式进行存储的存储区,一块为16 k字节的RAM,该RAM共分64页,每页256字节,其中前12页用一般用作发送缓冲区,后54页一般用作接收缓冲区;一块为32字节的ROM,地址为0X0000-0X001f,一般用于存储以太网的物理地址。同时该芯片内部含有两路DAM通道:远程DAM通道和本地DAM通道[3]。当CAN-Ethernet网关要向以太网发送数据时,S3C4B0X会将待发送的数据通过远程DAM通道送到RTL8019AS中的发送缓冲区,然后发出发送命令。RTL8019AS完成上帧数据的发送后,会立即启动发送本帧数据,本帧数据由RTL8019AS通过本地DAM通道发送出去;当RTL8019AS接收到数据时,首先将接收到的数据通过MAC比较,CRC校验后存到接收缓冲区,收满一帧数据后会以中断方式通知S3C44B0X,然后S3C44B0X会通过远程DAM将数据读出,并进行相应的处理。本设计中,RTL8019AS工作于跳线模式,故只需要对RTL8019AS的寄存器进行寻址。网关中使用20F001N作为双绞线驱动/接收器。

CAN-Ethernet网关主要将CAN智能节点传来的数据转换成以太网数据帧结构,然后发送到以太网,同时将从以太网相关设备接收到的数据转换成CAN总线的数据帧结构并发送出去。从而实现CAN总线网络与以太网的互联。

图3 CAN-Ethernet网关硬件电路框图Fig.3 CAN-Ethernet gateway circuit of hardware diagram

3 系统软件设计

煤炭产量监测系统对实时性要求较高。为确保最紧急的任务能得到及时响应,同时为了充分发挥S3C44B0X芯片高速和片上资源丰富的性能,本设计引入了uC/OS-II操作系统。uC/OS-II是一种能够根据任务的优先级动态地切换任务,以确保系统对实时性的要求[4]。

3.1 CAN智能节点(分站)的软件设计

系统中CAN智能节点(分站)的主要功能就是采集称重传感器传输来的重量信号,并将该信号通过A/D转换器转换为数字信号;同时CAN智能节点(分站)采集速度传感器传送来的速度脉冲信号,最后将经过转换的重量信号进行简单的线性化处理后与速度信号进行打包并通过CAN控制器和CAN收发器发送出去。基于以上功能,CAN智能节点(分站)的应用程序主要包括以下3个任务和1个中断,整个软件的流程图如图4所示。

图4 CAN智能节点(分站)软件主程序流程图Fig.4 CAN intelligent nodes(sub-station)main program of software flow chart

图中 CAN智能节点初始化任务(SysInit_Task(void*pdata)),只运行一次。该任务主要用于设置CAN控制器的相关寄存器。重量信号和速度信号处理任务(SigPro_Task(void*pdata))主要应用线性化算法对重量信号进行补偿处理,同时将重量信号和速度信号打包,打包完成后发送信号量,通知CAN数据发送任务发送数据。CAN数据发送任务(DataSd_Task(void*pdata)),该任务在接收到重量信号和速度信号处理任务发来的信号量后会立即将数据发送出去。由于AD转换器的工作频率被设置为12.5 Hz,所以AD芯片每80 ms便会完成一次数据转换,于是A/D转换器中断函数(void_irq ADConvert(void))会每隔80 ms向S3C44B0X芯片请求一次中断,中断处理函数主要处理过程就是从A/D转换器的寄存器中读取重量数据。CAN数据接收中断函数 (void_irqDataRev(voia))是在接收到CAN-Ethernet网关传媒数据时触发的,在该中断函数中S3C44BDX芯片会驱动一些开关部件执行简单的开合动作。

根据各任务的重要性和实时性,将以上3个任务的优先级做如下分配(任务优先级的值越小,则任务优先级越高)[5],如表1所示。

表1 CAN智能节点(分站)各任务优先级分配情况Tab.1 Each task priority distribution of CAN intelligent nods(sub-station)

3.2 CAN-Ethernet网关软件设计

系统中网关的主要任务是实现CAN数据帧与Ethernet数据帧之间格式的互相转换[6]。CAN-Ethernet网关的应用程序主要包括以下4个任务和2个中断。整个软件的流程如图5所示。

图5 CAN-Ethernet网关软件主程序流程图Fig.5 CAN-Ethernet gateway main program of softwareflow chart

图中 CAN 数据发送任务(CDataSd_Task(void*pdata))主要接收经Ethernet-CAN数据帧格式转换任务转换得到的数据并发送到相应地址的CAN智能节点(分站)。CAN-Ethernet数据帧格式转换任务(CtoECon_Task(void*pdata))主要将CAN数据帧转换为Ethernet数据帧。Ethernet-CAN数据帧格式转换任务(EtoCCon_Task(void*pdata))主要将 Ethernet数据帧转换为CAN数据帧。Ethernet数据发送任务(EDataSd_Task(void*pdata))则主要通过 RTL8019AS 芯片将CAN智能节点(分站)发来的数据以Ethernet数据帧的格式发送出去。Ethernet数据接收中断(void_irq EdataRec(void))主要用于接收Ethernet传来的数据,并发送信号量通知Ethernet-CAN数据帧格式转换任务进行转换。同理CAN数据接收中断(void_irq CDataRec(void))主要用于接收 CAN总线传来的数据,并发送信号量通知CAN-Ethernet数据帧格式转换任务进行转换。

煤炭产量监测系统主要用于对井下皮带输煤情况以及煤炭流量的实时监测,即主要将井下数据实时的传输到井上共监测人员监测。可见井下数据向井上传输的频率和实时性要比井上数据向井下传输的频率和实时性要高很多。所以网关中各任务的优先级分配如表2所示。

表2 CAN-Ethernet网关各任务优先级分配情况Tab.2 Each task priority distribution of CAN-Ethernet gateway

4 结束语

文中所设计的煤炭产量监测系统应用CAN总线技术构建现场数据采集网络,应用以太网技术构建企业管理层网络,在实现二者互联的情况下,最大限度的保证了系统的实时性,实现了对煤碳产量远程监测,实验证明本设计是有效的。基于CAN总线与以太网的煤炭产量监测系统对产信息化具有积极的推进作用,在化工、电厂、矿山等监测领域拥有广阔的前景。

[1]阳宪惠.现场总线技术及其应用[M].北京:清华大学出版社,1999.

[2]阳宪惠.工业数据通信与控制网络[M].北京:清华大学出版社,2003.

[3]饶运涛,邹继军,王进宏,等.现场总线CAN原理与应用技术[M].北京:北京航空航天大学出版社,2007:211-218.

[4]周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005:3-5.

[5]Labrosse J J.嵌入式实时操作系统uC/OS-II[M].邵贝贝,译.北京:北京航空航天大学出版社,2003:273-289.

[6]张学志,肖志怀,李朝晖.以太网与现场总线[J].工业控制计算机,2001,14(7):1-3.ZHANG Xue-zhi,XIAO Zhi-huai,LI Chao-hui.Ethernet and field bus[J].Industrial control Computer,2001,14(7):1-3.

猜你喜欢

分站实时性网关
佩雷兹获赛季个人首个分站冠军——2022 F1摩纳哥大奖赛
基于CAN 总线多主通信技术的监控分站设计
信号系统网关设备的优化
航空电子AFDX与AVB传输实时性抗干扰对比
计算机控制系统实时性的提高策略
LTE Small Cell网关及虚拟网关技术研究
圆月前的战役 2015长城润滑油CTCC 中国房车锦标赛第六分站
应对气候变化需要打通“网关”
一种实时高效的伺服控制网关设计
一种车载Profibus总线系统的实时性分析