基于4G网络和CAN总线的远程数据采集系统

  作者:刘立国 杨日龙 时间:2018-09-27来源:电子产品世界

编者按:针对目前电传动矿车运行环境差,数据采集困难,维护成本高的特点,设计了一种基于4G网络和CAN总线的远程数据采集系统。该系统采用STM32F405RGT6微控制器进行开发,主要由主控模块、4G通信模块、SD卡存储模块,CAN总线收发模块和电源模块组成,对各模块的软、硬件设计做了详细的介绍。实际运行证明该系统具有良好的可靠性,为矿车的远程监控及故障诊断提供了良好的解决方案。

作者 / 刘立国 杨日龙 北京中车长客二七轨道装备有限公司(北京 100072)

  刘立国,2010年于华北电力大学获得硕士学位,现为中车北京二七机车有限公司工程师,主要研究方向:自动化系统控制。

摘要:针对目前电传动矿车运行环境差,数据采集困难,维护成本高的特点,设计了一种基于4G网络和CAN总线的远程数据采集系统。该系统采用STM32F405RGT6微控制器进行开发,主要由主控模块、4G通信模块、SD卡存储模块,CAN总线收发模块和电源模块组成,对各模块的软、硬件设计做了详细的介绍。实际运行证明该系统具有良好的可靠性,为矿车的远程监控及故障诊断提供了良好的解决方案。

0 引言

  露天非公路电传动矿用自卸车由于恶劣的工作环境维护成本高。随着工业4.0概念的提出,矿车智能化也成了人们关注的热点。车辆运行状况实时监控、车辆运行数据统计、车辆历史运行数据的存储、车辆故障的远程诊断等用户需求促使远程数据采集系统诞生。传统的基于GPRS的远程数据传输系统[1-4]性能比较单一,数据传输速率慢,实时性差,不能满足矿车大数据量传输的需求。

  随着4G网络的大范围覆盖及4G资费的逐年下降,本文提出基于4G网络的远程数据采集系统,系统硬件控制器使用低成本高性能的STM32F4XX系列微控制器作为主控芯片,4G模块选用全网通模块SIM7600CE,解决了系统网络制式单一问题,同时该模块使用方便,市场供货量大,易于采购,系统整体成本低。

1 系统总体设计

  图1为系统的总体结构图,远程数据采集终端通过CAN总线采集车载控制器和牵引逆变器等部件收集的车辆运行状态数据和故障数据,同时通过板载的GPS模块采集车辆的位置数据,这些数据打包后通过4G网络发送到云端服务器供用户远程访问。

2 系统的硬件设计

  该系统硬件主要由主控模块、4G通信模块、SD卡存储模块、CAN总线收发模块和电源模块组成。

  2.1 主控模块

  主控模块选用意法半导体公司先进的基于ARM 32位内核的微控制器[5]STM32F405RGT6。STM32F405XX系列微控制器片内集成了双路隔离的CAN控制器,支持CAN2.0B协议;4路隔离的USART,传输速率能够达到10.5 Mbit/s;高达17个定时器;SRAM高达192 Kbytes,Flash存储空间也达到了1 Mbyte,工作主频达到了168 MHz,满足系统控制需求,同时STM32F405XX系列微控制器支持4PIN的SWD下载调试,下载速度能够达到10 Mbit/s,相对于JTAG的20PIN接口降低了布线难度,同时减小了电路板的尺寸。

  2.2 4G通信模块

  4G通信模块选用芯讯通无线科技有限公司的全网通模块SIM7600CE,该模块支持文件系统,支持TCP、UDP、FTP等通信协议,同时通过标准的AT命令能够实现文件的上传下载,使用非常方便[6-7]。4G模块通过USART接口和微控制器相连,由于工作电压的不同,两者之间加了一级双向电压电平转换器。

  2.3 SD卡存储模块

  系统扩展了SD卡存储模块,该模块作为车辆数据的中间存储介质,当网络环境不佳或者断网时车辆数据便存到SD卡中,网络重新建立后这些数据便发送到云端服务器,达到本地数据与网络数据同步。

  2.4 CAN总线收发模块

  CAN总线收发模块采用广州金升阳科技有限公司的TD301DCAN,该模块是集成电源隔离、电气隔离、CAN接口和总线保护器件于一体的CAN接口隔离收发模块,隔离电压高达3000 V DC。CAN接口电路如图2所示,根据整车需要,本系统设计了双路隔离的CAN接口。

  2.5 电源模块

  电源模块提供2组供电电压,一组为4.1 V,为4G通信模块供电,另一组为3.3 V,为主控模块及其他模块供电。车载蓄电池提供的24 V电源经过滤波后由DC-DC降压芯片TPS54560转换成4.1 V,3.3V电源由TLV1117-33提供。

3 系统软件设计

  系统软件的设计主要包括CAN总线收发程序,SD卡文件存储程序,SD卡文件转发到4G模块EFS系统程序,EFS上的文件转发到服务器程序,GPS数据读取处理程序及一些逻辑控制程序。系统的总控制流程如图3所示,初始化完成后控制器开始接收CAN总线上的报文,同时将报文存储到SD卡中。当完成一个文件后系统检测EFS剩余空间,在空间够的情况下系统将SD卡中的文件发送到EFS中。系统自动检测是否已经联网,当联网成功后系统会将EFS上的数据发送到云端服务器。

  3.1 CAN总线收发程序流程

  CAN总线接收程序流程如图4所示,CAN总线接口初始化后开始等待有无新的报文,当有新报文到来时,报文被存储在3级邮箱深度的FIFO中,程序通过读取FIFO输出邮箱来读取FIFO中最先收到的报文,注意在实际的情况中必须在FIFO溢出前读出至少1个报文,否则下一个报文到来将导致FIFO溢出,从而出现报文丢失。

  CAN总线发送程序流程如图5所示,程序选择一个空置的邮箱,将要发送的数据写入此邮箱,然后将发送中断标志置位请求发送,当总线空闲时CAN发送模块便将数据发送到总线上去,然后清空邮箱,等待下一个报文的发送。如果不止一个报文同时发送,还需比较优先级,优先级高的先发送。

  3.2 SD卡文件存储流程

  本系统移植了FatFs文件系统,在实际的操作中只需要操作几个函数便可完成SD卡文件的存储。控制器接收到CAN报文后将报文打包,存入SD卡中。SD卡按时间以文件形式存储。图6为最简单的SD卡文件存储流程,在实际的应用中还涉及到f_mkdir()、f_lseek()、f_opendir()等函数。

  3.3 4G模块相关程序

  4G模块肩负采集GPS信息和上传CAN数据到云端服务器等任务,这些任务都是通过AT命令完成。控制器定时向4G模块发送指令来读取海拔、经度、纬度、UTC时间和运行速度等信息,这些信息也被打包写入SD卡。SD卡上的数据文件从本地发送到云端服务器需要有两个过程:一、发送AT指令将数据文件发送到4G模块的EFS;二、发送AT指令将数据从4G模块的EFS发送到云端服务器。

4 实际运行测试

  将模块挂接在整车的CAN总线上实时运行,同时将一个CAN转USB接口卡也挂接在总线上直接采集CAN报文到电脑,图7为CAN接口卡直接采集到的数据,图8为本系统采集完成后上传到服务器的文件数据。经过长时间运行,未发现丢帧和数据错误的情况,验证了系统的可靠性。

5 结束语

  本文设计的远程数据采集系统通过CAN总线采集车辆的各种状态信息,通过4G模块将这些信息发送到云端服务器供用户和生产厂商分析和统计。满足了用户的需求,同时由于生产厂商能够得到车辆运行的实时信息,有利于对车辆各系统的持续改进,节约了现场维护成本。本系统有着良好的扩展性和适应性,可用于有CAN总线的各个场合。

  参考文献:

  [1]曲丽娜,基于STM32的嵌入式GPRS网络远程数据采集控制系统设计[J],煤炭技术,2013,32(8):198-198

  [2]孙德辉,卫革,杨扬,基于ARM的GPRS远程数据传输系统的设计[J],自动化技术与应用,2010,29(7):26-28。

  [3]候国成,杨宏业,冯家鹏,等,基于ARM/GPRS的无线数据传输系统设计[J],现代电子技术,2008,31(19):39-41。

  [4]王诗舰,唐厚君,熊天毅,基于GSM网络和CAN总线的汽车远程控制系统[J],电气自动化,2013,35(3):33-35。

  [5]ST Microelectronics Corporation,STM32F405XX STM32F407xx Datasheet[EB/OL],2016

  [6]芯讯通无线科技有限公司,SIM7600CE_SIM7600C应将设计手册_V1.01,上海:芯讯通无线科技有限公司,2016

  [7]芯讯通无线科技有限公司,SIM7500_SIM7600 Series_AT Command Manual_V1.01,上海:芯讯通无线科技有限公司,2016

  本文来源于必威娱乐平台 2018年第10期第46页,欢迎您写论文时引用,并注明出处。

关键词: 4G CAN总线 远程 STM32F4 201810

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版