基于arm7cpu核的gprs-can网关及其通讯方法

文档序号:7644482阅读:137来源:国知局
专利名称:基于arm7cpu核的gprs-can网关及其通讯方法
技术领域
本发明涉及基于GPRS无线网络和CAN工业现场总线的网络控制,主要涉 及到一种基于ARM7 CPU的用于从工业现场远程数据采集并无线传输的新型 GPRS—CAN网关。
背景技术
近年来随着工业自动化领域的快速发展,工业现场总线由于其可靠性高、成 本低、故障率低等优点使得其应用越来越广泛,出于成本和通信性能的考虑,CAN 总线在工业现场总线中占有很大的比重,尤其是在铁路机车、轻轨、地铁等轨 道交通领域,CAN总线的应用尤其广泛。随着我国铁路信息化的建设,对于轨 道车辆的远程监控也成为当前需要迫切解决的问题,在全国大规模的GSM-R网 络建成之前,使用GPRS网络将从机车车辆现场采集的数据无线传输到地面, 成为当前成本低、实现快、可靠性高的首选方案。本设计就是针对这一应用, 采用了 ARM7 CPU设计出一种低成本、高性能的GPRS-CAN网关。
CAN是英文Controller AreaNetwork的縮写,即控制器局域网,是国际上应 用最广泛的现场总线之一。CAN最初出现在80年代末的汽车工业中,由德国 Bosch公司最先提出。当时,由于消费者对于汽车功能的要求越来越多,而这些 功能的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越复杂, 同时意味着需要更多的连接信号线。提出CAN总线的最初动机就是为了解决现 代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。于是,他 们设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上。1993 年,CAN已成为国际标准IS011898(高速应用)和IS011519 (低速应用)。
CAN是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率, 高抗电磁干扰性,而且能够检测出产生的任何错误。当信号传输距离达到10Km 时,CAN仍可提供高达50Kbit/s的数据传输速率。CAN协议的2.0A版本规定 CAN控制器必须有一个11位的标志符。同时,在2.0B版本中规定,CAN控制器
的标志符长度可以是11位或29位。遵循CAN2.0B协议的CAN控制器可以发送和 接收11位标识符的标准格式报文或29位标识符的扩展格式报文。如果禁止 CAN2.0B,则CAN控制器只能发送和接收ll位标识符的标准格式报文,而忽略扩展格式的报文结构,但不会出现错误。由于CAN总线具有很高的实时性能,因此,CAN已经在汽车工业、航空工 业、工业控制、安全防护、轨道交通等领域中得到了广泛应用。GPRS是通用分组无线业务(General Packet Radio Service)的英文简称,是在 现有GSM系统上发展出来的一种新的数据承载业务,目的是为GSM用户提供分 组形式的数据业务。GPRS采用分组交换技术,数据传输速率高达160Kbps。分 组交换的基本过程是把数据先分成若干个小的数据包,可通过不同的路由,以 存储转发的接力方式送到目的端,而组装成完整的数据。分组交换基本上不是 实时系统,延时也不固定,但可以使不同的数据传输"共用"传输带宽有数据占 用带宽,无数据时不占用,从而分享资源。采用分组交换的GPRS则可灵活运用 无线信道,每一个用户可以有多个无线信道,而同一信道又可以由几个用户共 享,从而极大地提高了无线资源的利用率。GPRS采用与GSM同样的无线调制标 准、同样的频带、同样的突发结构、同样的跳频规则以及同样的TDMA帧结构, 这种新的分组数据信道与当前的电路交换的话音业务信道极其相似。因此,现 有的基站子系统(BSS)从一开始就可提供全面的GPRS覆盖。GPRS允许用户在端到端分组转移模式下发送和接收数据,而不需要利用电路交换模式的网络资源。 从而提供了一种高效、低成本的无线分组数据业务。特别适用于间断的、突发 性的和频繁的、少量的数据传输,也适用于偶尔的大数据量传输。由于GPRS允 许用户在分组交换模式下发送和接收数据,从而提供了一种高效、低成本的无 线分组数据业务。ARM7 CPU是ATMEL公司基于ARM7核的CPU,该CPU属于AT91系列ARM 微处理器,内部具有256K字节高速Flash, 32K字节高速SRAM, MMC接口, 2 个SPI口, 3个UART, 2个串行CAN总线通讯接口、 19通道的DMA, 9个定时器, l个周期间隔定时器,后备电池模块,看门狗,8PWM, 16通道10位ADC,高驱 动力引脚,POR,晶振,片上RC振荡器,PLL,高级时钟及电源管理单端3到3.6V 电源。由于该CPU带有串行CAN2.0B控制器和UART口,对于实现GPRS-CAN网
关提供了条件。

发明内容
本发明针对目前存在的问题,研发了一种兼容性高、设计新颖、灵活性强用于远程数据传输的GPRS-CAN网关。
本发明的技术解决方案是这样实现的一种基于ARM7CPU核的GPRS-CAN网关,包括电源模块,指示灯模块和 SIM卡插座接口模块,其特征在于还包括由AT91SAM7A3构成的CPU模块和 GPRS通讯模块,CPU模块和GPRS通讯模块由电源模块直接供电,GPRS通讯 模块则与SIM卡插座接口模块相连接;其中所述的CPU模块内嵌了剪裁版 TCP/IP协议栈和集成了两个独立的CAN控制器与三个UART 口 , CAN控制器 通过CANRXO和CANTXO 口分别与CAN收发器SN65HVD230的R和T引脚 相连,通过其内电路形成CANH和CANL两路差分信号并由DB9标准端口引 到网关外部和CAN网络通讯使用;所述的UART 口中有UARTO和UART2, UARTO通过六个I/O 口为GPRS通讯模块提供电源和AT指令信号;UART2则 作为外部接口连接MAX232收发器,通过DB9标准端口和外部通讯,用来配置 网关参数。
所述的电源模块外接DC24V电源,通过ZUS152405模块转化为DC5V和/ 或通过AS1117M3-3.3V模块转化为3.3V。
所述的GPRS模块由MC35芯片构成,模块中有ZIF40针通讯接口,其中 的1 5脚供电,6 10脚接地,15脚的IGT和31引脚的PD信号线用于控制 GPRS模块的启动和停止,并且和CPU模块的I/O 口相连;6 23脚的8路信号 线与CPU模块的UARTO 口相连接,并通过CPU模块向MC35模块发送AT指 令,来控制模块的工作;32脚的SYNC为同步信号,用以控制GPRSLED指示 灯的闪烁。
一种基于ARM7CPU核的GPRS-CAN网关的通讯方法,包括在CPU核中 内嵌裁减后的TCPUP协议栈软件,其通讯过程包括系统初始化,执行事件循环 体并査询有否事件发生的步骤,其特征在于还包括(1) 一旦事件队列非空,则读取事件标志字并依其类型进行置位的步骤(2) 当事件为接收到IP数据包时则(a) 调用子程序,由IP协议解包的步骤;(b) 判断并选择UDP和/或TCP协议解包的步骤;(C)通过CAN转发出去的步骤;和/或 当事件为转发CAN数据时则执行(d) 调用子程序,判断并选择UDP和/或TCP协议打包的步骤;(e) 由IP协议打包的步骤;(f) 发送到GPRS模块的步骤;(3)当子程序处理完毕,中断程序令程序自动回到消息循环中的步骤。 与现有技术相比较,本发明的优点在于1、 不需建设专门的无线网络,没有基础建设费用,项目实施快速;2、 不需要购置昂贵的设备、运营成本低廉;3、 数据传输速度快、信号稳定、不受地域和天气的限制;4、 地面监控站的位置也不受地域影响,只要能够接入Intemet即可。


图l无线监控系统工作原理图;图2 GPRS-CAN网关结构图;图3 ARM7及CAN、 RS-232接口电路;图4SIM卡插座接口电路;图5GPRS模块接口电路;图6 DC24V转DC5V接口电路;图7DC5V转DC3.3V接口电路;图8GPRS-CAN网关通讯过程流程图。在图中1、地面监视终端,2、防火墙,3、 Internet服务器,4、 CGSN网关, 5、天线,6、 GPRS-CAN网关,7、电源模块,8、 GPRS模块,9、 SIM卡,10、 CPUAT91SAM7A3, 11、 CAN控制器,12、 RS-232口, 13、 LED指示灯模块。
具体实施方式
如图1-图7所示的基于ARM7CPU核的GPRS-CAN网关,其特征在于包括高 档CPU控制器AT91SAM7A3, GPRS模块及外围电路,旨在实现CAN和GPRS数 据流的交互,将工业现场的CAN数据流通过GPRS传输到地面远程监控站,交给 远程计算机使用,实现对远程CAN网络设备的监视;另一方面是远程计算机可 以发送指令到工业现场的CAN网络,完成对CAN网络设备的远程控制。所述的 GPRS模块通过射频天线, 一方面从GSM网络中接收GPRS分组数据报包,经过
协议转化,去掉GPRS数据报的帧头帧尾形成IP数据包,将该数据包通过RS232 接口传输给中央处理器CPU;另一方面接收CPU发送过来的IP数据包,进行协议 转化打包成GPRS数据包经过射频天线发送到GSM网络;中央处理器CPU AT91SAM7A3在CAN网络和GPRS网络间进行数据转发,同时完成协议转化。由 于AT91SAM7A3内部集成CAN控制器,所以AT91SAM7A3可以通过与其相接的 CAN收发器完成CAN网络数据的收发,另外AT91SAM7A3另外一个重要的功能 则是完成TCPUP数据包的打包和解包。具体地说:如图1所示,GPRS — CAN网关的工作过程是从机车或现场总线的CAN网络 中采集数据,然后经过GPRS — CAN网关的射频天线将数据以GPRS分组数据包 的形式发送到GSM网络中,数据到达GSM网络后经过CGSN网关进行协议转换 将数据传输至ljlntemet上的一台服务器中,这样地面任何一台接入Intemet的电脑 都可以作为监控终端,通过Internet接入服务器来访问GPRS-CAN网关采集来的 数据,同样也可以将指令下传到CAN网络中。如2图所示,GPRS-CAN网关从硬件电路上来讲主要包含以下几部分电源 部分、GPRS模i央、SIM插座、中央处理器AT91SAM7A3、 CAN通讯口、 RS-232 通讯口 、 LED指示灯部分,包括电源指示灯POWER LED、 CAN指示灯CAN LED、 GPRS指示灯GPRS LED。电源部分用来给中央处理器和GPRS模块供电,提供DC 3.3V和5V的电源;GPRS模块主要是用来从中央处理器AT91SAM7A3接收IP数据包,经协议转 换打包成GPRS分组数据包后将数据发送到GSM网络,同时将从GSM网络接收的 GPRS数据包解包成IP数据包后发送给中央处理器AT91SAM7A3;SIM插座用来安装SIM卡,GPRS模块只有通过SIM的身份认证才能接入 GSM网络;中央处理器AT91SAM7A3是整个GPRS-CAN网关的核心部件, AT91SAM7A3要将从CAN总线接收到的数据进行TCP / IP协议转换,将数据打 包成IP数据包发送到GPRS模块,同时从GPRS模块中接收IP数据包,将解包后的 数据发送到CAN总线上。由于我们在AT91SAM7A3中嵌入了裁剪后的TCP / IP 协议栈,所以通过AT91SAM7A3就可以完成TCP / IP的解包和打包工作。 AT91SAM7A3还需要从RS232口接收对GPRS-CAN网关的配置数据,配置信息可
以存储在FLASH中,可以做到掉电不丢失配置数据,每次GPRS-CAN网关上电 自动读取配置信息。同时AT91SAM7A3具备看门狗等功能,当网关出现意外情 况可以系统自动复位。CAN通讯口主要用来将AT91 SAM7A3接入CAN网络,从CAN网络中接收数 据和往CAN网络中发送数据。RS-232通讯口主要是开放给用户,用户可以使用PC机中的RS-232口和 GPRS-CAN网关通讯,完成对GPRS-CAN网关一些运行参数的配置。LED指示灯部分用来指示出GPRS-CAN网关的工作状态,当GPRS-CAN网关 正常供电,POWERLED指示灯会发亮;当从CAN网络收发数据的时侯CANLED 指示灯会闪烁;GPRSLED指示灯用来指示GPRS模块的工作状态,GPRS模块处 于初始化、查找网络、收发数据等不同的工作状态时该指示灯会以不同的闪烁 频率来指示。如图3所示,ARM7CPUAT91SAM7A3使用的是18.432M的晶振,芯片的工 作电压为3.3V。其67、 68、 69、 70引脚为JTAG仿真器接口 ,其电路连接如图所 示,接口使用20针的JTAG插座。AT91SAM7A3内部集成了两路独立的CAN控制 器,这里我们用到的是CANO口, CANRXO和CANTXO分别连接到CAN收发器 SN65HVD230的R和T弓|脚上,通过SN65HVD230形成CANH和CANL两路差分信 号线,将这两路信号线通过DB9接口引到网关外部和CAN网络通讯使用。 AT91SAM7A3内部集成了 了三个UART 口 ,我们使用UARTO 口和GPRS模块通 讯,使用UART2作为外部RS232接口用来配置网关参数,由于和GPRS模块通讯 需要握手信号,所以我们使用PA6、 PA7、 PA18、 PA19、 PA20、 PA21六个IO口 来作UARTO的RTSO、 CTSO、 RINGO、 DTRO、 DCDO、 DSRO六个信号线接口。 RS232口不需要握手信号,所以我们只用UART2的RX2和TX2收发数据即可,但 是由于该RS-232口用来和外部通讯,所以需要使用MAX232来作为该232接口的 收发器。如图4所示,SIM卡插座用来和GPRS模块直接相连,包括对SIM卡的供电都 由GPRS模块来提供,不再对其单独供电。如图所示,SIM插座一共有8个引脚, 其中CCVCC用来供电,直接和GPRS模块的CCVCC引脚连接,GND接地,CCIO 为串行数据线,控制数据的发送和接收,CCDET1和CCDET2用来检测SIM是否
插入在插座,CCDET1用来供电,当有SIM插入插座时CCDET2接通为高电平, 没有SIM插入为低电平,CCDET2和GPRS模块的CCIN引脚相连,CCCLK为GPRS 模块设置SIM卡的时钟信号线,CCRST为SIM卡复位信号线。如图5所示,我们选用的GPRS模块为西门子公司的MC35,该模块提供了一 个ZIF 40针的通讯接口,其中l、 2、 3、 4、 5引脚供电;6、 7、 8、 9、 IO引脚接 地;11、 12引脚用来连接备用电池;15引脚附GT和31引脚的PD信号线用来控制 GPRS模块的启动和停止工作,这两个引脚和AT91SAM7A3的IO口相连,16到23 弓I脚的8路信号线和AT91SAM7A3的UARTO相连接,通过AT91SAM7A3向MC35 模块发送AT指令来控制模块的工作;32引脚的SYNC为同步信号,通过该信号控 制GPRS LED指示灯的闪烁情况。33到40引脚的8路信号线用来连接语音手柄, 因为我们没有用到语音手柄,所以这几路信号线悬空就可以了。在轨道交通领域,机车、轻轨等一般只能提供DC24V供电,所以该网关设 计的工作电压为DC24V,然而由于网关内部芯片的工作电压是DC5V和DC3.3V, 所以在网关内部要进行电压转化。对于外部接入的DC24V电源通过ZUS152405 模块转化为DC5V, DC5V又通过AS1117M3-3.3V模块转化为3.3V,整个系统使 用DC5V和DC3.3V工作。
权利要求
1、一种基于ARM7CPU核的GPRS-CAN网关,包括电源模块(7),指示灯模块(13)和SIM卡插座接口模块(9),其特征在于还包括由AT91SAM7A3构成的CPU模块(10)和GPRS通讯模块(8),CPU模块(10)和GPRS通讯模块(8)由电源模块(7)直接供电,GPRS通讯模块则与SIM卡插座接口模块(19)相连接;其中所述的CPU模块内嵌了剪裁的TCP/IP协议栈和集成了两个独立的CAN控制器(11)与三个UART口,CAN控制器通过CANRX0和CANTX0口分别与CAN收发器SN65HVD230的R和T引脚相连,通过其内电路形成CANH和CANL两路差分信号并由DB9标准端口引到网关外部和CAN网络通讯使用;所述的UART口中有UART0和UART2,UART0通过六个I/O口为GPRS通讯模块提供电源和AT指令信号;UART2则作为外部接口连接MAX232收发器,通过DB9标准端口和外部通讯,用来配置网关参数。
2、 根据权利要求1所述的基于ARM7CPU核的GPRS-CAN网关,其特征 在于所述的电源模块外接DC24V电源,通过ZUS152405模块转化为DC5V禾口/ 或通过AS1117M3-3.3V模块转化为3.3V。
3、 根据权利要求1所述的基于ARM7CPU核的GPRS-CAN网关,其特征 在于所述的GPRS模块由MC35芯片构成,模块中有ZIF40针通讯接口,其中 的1 5脚供电,6 10脚接地,15脚的IGT和31引脚的PD信号线用于控制 GPRS模块的启动和停止,并且和CPU模块的I/O 口相连;16 23脚的8路信 号线与CPU模块的UARTO 口相连接,并通过CPU模块向MC35模块发送AT 指令,来控制模块的工作;32脚的SYNC为同步信号,用以控制GPRSLED指 示灯的闪烁。
4、 一种基于ARM7CPU核的GPRS-CAN网关的通讯方法,包括在CPU核 中内嵌裁减后的TCPUP协议栈软件,其通讯过程包括系统初始化,执行事件循 环体并查询有否事件发生的步骤,其特征在于还包括(1) 一旦事件队列非空,则读取事件标志字并依其类型进行置位的步骤(2) 当事件为接收到IP数据包时则 (a)调用子程序,由IP协议解包的步骤; (b) 判断并选择UDP和/或TCP协议解包的步骤;(c) 通过CAN转发出去的步骤;和/或当事件为转发CAN数据时则(d) 调用子程序,判断并选择UDP和/或TCP协议打包的步骤;(e) 由IP协议打包的步骤;(f) 发送到GPRS模块的步骤;(3)当子程序处理完毕,中断程序令程序自动回到消息循环中的步骤。
全文摘要
本发明公开了一种基于ARM7CPU核的GPRS-CAN网关及其通讯方法,以西门子工业级的MC35为GPRS通讯模块,以AT91SAM7A3为CPU模块,由于该CPU内部集成了CAN、UART等通讯接口且内部FLASH、RAM资源丰富,在不需要扩充资源的情况下就可以内嵌TCP\IP协议栈,避免了电路的复杂性,在降低成本的同时,也增强了其抗干扰的能力。
文档编号H04L29/06GK101119345SQ20071001218
公开日2008年2月6日 申请日期2007年7月18日 优先权日2007年7月18日
发明者跃 于, 涛 吴, 崔殿国, 李砾工, 谢步明, 赵国平, 马晨普 申请人:谢步明
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1