谢晓燕, 马明星, 张玉婷, 雷 祥
(西安邮电大学 计算机学院,西安 710121)
随着我国铁路GSM-R网络的快速发展,基于GSM-R网络的机车通信设备也大量涌现。其中,基于GSM-R的移动终端主要用于列车、车站、编组场、沿线区间以及其他铁路作业区的各工种工作人员语音和数据通信,可以实现基于GSM-R网络的语音组呼业务、语音广播呼叫业务、铁路紧急呼叫、以及多优先级和强拆业务[1]。
2008年,中国铁路总公司(原铁道部科学技术司)发布了《GSM-R数字移动通信网设备技术规范第三部分:手持终端》[2],对GSM-R移动移动终端的外观设计、应用功能、产品性能等方面都做出了具体的规定。由于GSM-R移动终端市场规模有限,西门子(Siemens)、北电(Nortel Networks)、萨基姆(Sagemcom ST)等通信设备制造商已经相继终止GSM-R移动终端业务[3]。目前市场上较为普及的是深圳市桑达无线通讯技术有限公司出品的SED 810R和华为技术有限公司出品的华为R951[4]。但是国产GSM-R移动终端普遍存在外形设计不规范、功能不全、容量较小、功耗过大、易损坏、续航能力较弱的缺点,不能满足当前铁路发展需求[5]。
因此,本文给出了一种以STM32F103为核心,MC55i为通信模块的GSM-R移动终端的设计方案,并详细给出了设计要点和可行的低成本实现方案。该移动终端能够满足中国铁路总公司关于GSM-R移动终端的设计规范和功能要求,具有低成本、低功耗、多功能和超长待机的特点。
移动终端的系统结构框图如图1所示,主要由微处理器、显示模块、通信模块、存储器、按键模块、音频处理模块和电源模块组成。
图1 移动终端系统结构框图
其中,微处理器为主控单元,通过串口发送AT(Attention)命令实现与通信模块的通信。移动终端上电之后,通过微处理器发送开机信号给通信模块,通信模块自动检测GSM-R网络完成网络注册并进入工作模式。移动终端基于GSM-R网络的其他功能也将通过微处理器控制通信模块来实现[6、7]。
移动终端的低功耗设计主要分为3个层次:器件级、系统级和软件级。器件级降低功耗主要通过对各个模块的低功耗选型来实现。终端所选用的STM32微处理器、MC55i通信模块以及液晶显示模块等外设具备低功耗的工作模式,可以大幅降低终端功耗。系统级降低功耗的方法是动态电源管理,终端所采用的电源芯片具备多路输出的特点,可以方便进行设备功耗管理,当外设处于空闲状态时,通过关闭外设节约能耗。最后,软件级的低功耗设计通过减少CPU的运行次数来实现。本文主要采用的方法有降低处理器工作频率、使用“宏”代替“子程序”、使用“中断”方式代替“轮询”方式和使用定时器编写延时函数等。
印制电路板的制作成本与印制板的层数有着密切的关系。一般层数越多,打孔技术越复杂,制作成本就会越高。移动终端的印制电路板尺寸为111 mm×46 mm,管脚密度值约为51.3。按照通用的设计规范移动终端应该设计为12层板[8]。而本文所设计的移动终端通过优化叠层结构、降低了印制电路板层数(8层)来达到降低成本的目的,同时还可以达到较为理想的电磁兼容性。
移动终端对射频信号的处理过程集成于通信模块MC55i里,因此无需考虑射频干扰。微处理器STM32内部的最高工作频率为72 MHz,除此之外,其余各个模块的工作频率在5~10 MHz。通过将通信模块布局在印制电路板上方,处理器布局在下方,这样几乎可以忽略两者之间的干扰。依据经验,在低速且无射频干扰的条件下,电路板的层间干扰将会很小,此时,按相邻层导线垂直走线的布线方式,也可以有效避免层间干扰,参考地平面也可以省略[9]。
因此本文移动终端的电路板为8层板设计,叠层结构为图2所示,从上到下依次是顶层、信号层1、地层、电源层、信号层2~4、底层。底层用于放置显示模块连接器和按键焊盘,剩余的所有器件均放置于顶层。地层为负片,电源层为正片。
图2 移动终端PCB叠层结构示意图
这样的布局特点使得在垂直方向上有较多的跨度较长的导线,在水平方向是均匀分布的较短导线。因此,在信号层1上进行垂直方向布线,在信号层3上进行水平方向布线,并且使用地层和电源层将这两个导线较多的信号层隔开以降低干扰。信号层3和4用作补充的信号层,只有少量布线,使干扰几乎可以忽略。
精简的叠层设计使得电路板的层数减少1/3,信号层的个数保持不变,布线工作避免使用埋孔和盲孔。这种低成本的设计方式使得终端印制板的制作成本大幅度降低。
为适应当前铁路发展需求,本文移动终端还增加了通话同步录音、水平仪等新的功能。通话同步录音是指在使用移动终端进行语音信息交互时,无需额外操作即可同步保存所有音频数据。该功能有助于铁路事故中责任的认定,当前市面上的移动终端普遍不具备通话同步录音功能。
移动终端采用硬件电路设计实现通话同步录音功能。终端音频模块采用TLV320AIC3204芯片,该芯片具有3路差分音频信号输入和两路差分音频信号输出。终端音频数据流向如图3所示。
图3 移动终端音频流向图
通信模块的音频数据流出和流入首先要经过音频模块,该模块对流经的音频信号进行复制和编码操作,通过I2S(Inter-IC Sound)总线传入内存,STM32调用文件系统函数对录音数据加上时间戳形成录音文件并且传入存储模块进行保存。微处理器通过I2C总线控制音频模块,实现通话同步录音功能。
水平仪功能通过移动终端内置的MMA7455加速度传感器实现。通过读取重力加速度在不同方向上的分量,来计算移动终端与水平面的夹角,实现水平仪功能。
在传统的ARM开发中,使用开发板上的BOOT开关进行处理器的模式切换操作,使用KEIL软件编译和调试代码,代码的加载工作使用JTAG(Joint Test Action Group)接口完成。这种开发方式具有操作简单,加载速度快的优点。但是在实用型产品设计中,这种开发方式有四个弊端:①BOOT开关占用印制电路板布局空间;②将BOOT开关放置在印制板上不利于终端后期的维护和升级操作;③JTAG调试接口占用IO口资源;④调试效率不高。
2.4.1启动方式
STM32根据BOOT0和BOOT1引脚电平的逻辑组合不同有三种工作模式,开发过程使用运行模式和加载模式。将BOOT1引脚接下拉电阻,使该引脚恒定为低电平,则所需的两种启动方式由STM32的BOOT0引脚决定[10]。新的启动方式如图4所示。
将BOOT0引脚接入EMD22双数字晶体三极管的发射极,并将发射极接下拉电阻,使该极钳位于低电平。三极管的基极和集电极分别接入移动终端的“音量+”按键和高电平。根据三极管特性,在关机状态下,单独按下开机键STM32进入运行模式,同时按住开机键和“音量+”按键,STM32进入加载模式。这种复用已有按键为BOOT开关的设计可以节省印制电路板的布局空间,也方便终端后期的维护和升级操作。
图4 移动终端局部原理图
2.4.2调试方式
新的调试方式以Hyper Terminal软件为基础,加上新的调试代码实现。Hyper Terminal软件通过带有CP2102芯片的USB数据线连接STM32串口实现代码加载功能。调试代码主要实现3个功能:一是对超级终端的命令进行解析,并执行相关函数;二是利用xmodem传输协议进行代码加载;三是运行出错时自动复位,在超级终端上打印出STM32内核寄存器的值,方便进行错误函数的定位。
首次加载代码需要设置STM32为加载模式,使用MCUISP软件按照STM32内部串口传输协议进行代码加载工作。调试程序运行后,可以在STM32运行模式下直接进行代码加载,加载完成后STM32自动复位。开发者可以利用命令对STM32内部数据进行查看和修改,并且可以创建新的命令方便开发。移动终端硬件实物和带有CP2102芯片的USB数据线的实物如图5所示。
图5 移动终端硬件实物图
新调试方式节省了IO资源、代码的加载速度更为快捷,错误函数定位也相对较快,大大提高了调试效率[11]。
移动终端的软件设计按单一职责原则将终端各个模块划分为:通信模块、按键模块、显示模块、存储模块、电源模块以及消息调度模块。以消息调度模块为核心,每个模块提供必要的接口函数用于系统调用。各个模块以消息队列的方式向消息调度模块发送信息,微处理器按照顺序读取消息调度模块中的消息并调用各个模块提供的控制函数执行相应的操作。软件设计中引入μC/OS-Ⅲ嵌入式实时操作系统进行资源管理和任务调度,确保移动终端可以安全稳定运行[12]。
终端开机后首先进行各个模块和μC/OS-Ⅲ系统的初始化工作,之后进行代码校验,确保代码正确性。最后开启通信模块终端进入工作模式,控制权交给μC/OS-Ⅲ操作系统。移动终端具有运行、待机和停机3种工作模式,其工作模式之间的切换关系如图6所示。
图6 移动终端状态转换图
电源模块的线程将锂电池的实时电压值发送给消息调度模块,系统以此感知移动终端的剩余电量。定时器精确计时按键未操作时长,时长超出设定值移动终端进入待机状态。待机状态下用户按下任意按键引起外部中断唤醒STM32,移动终端返回运行状态[13]。
GSM-R移动终端的功能测试主要包括GSM-R电路交换业务及功能测试、GSM-R相关业务测试和GPRS(General Packet Radio Service)相关业务测试。经测试,移动终端在功能方面实现中国铁路总公司设计要求,表1是移动终端与桑达810R、华为R951两款GSM-R移动终端的功能对比表。从表1可以看出,本文设计移动终端在传统移动终端通用功能的基础上,增加了通话同步录音、水平仪和功能号管理等新的功能,更适合当前中国铁路应用的需求。
此外,在室温环境下,将三款移动终端充电完成后,进行待机和通话功耗测试,测试结果如表2所示。可以看出,本文移动终端以3 800 mA·h大容量锂电池、动态电源管理和软件低功耗设计等方式实现了36 mW超低功耗和360 h超长待机。
此外,本文移动终端在安全要求、结构要求、可靠性要求、电气特性以及电磁兼容性等方面也达到中国铁路总公司设计规范的要求。
表1 功能对比表
表2 测试项目表
本文给出了一种GSM-R移动终端的设计方案,并给出了开发过程的设计要点以及可行的低成本实现方法。与传统的GSM-R移动终端相比,该终端以低成本、低功耗、多功能、大容量和超长待机的特点可以满足当前铁路建设需求,预期将会获得大规模的普及使用[14-16]。
[1] 闫祖东. 铁路无线调车手持终端的设计与应用[J]. 铁道运输与经济,2008(5):89-90.
[2] 科技运[2008]64号, GSM-R数字移动通信网设备技术规范第三部分手持终端(V1.0)[S].
[3] Tokody D, Maros D, Schuster G,etal. Communication-based intelligent railway — Implementation of GSM-R system in Hungary[C]//2016 IEEE 14th International Symposium on Applied Machine Intelligence and Informatics (SAMI), Herlany, 2016: 99-104.
[4] 华为技术有限公司. HUAWEI GSM-R GPH手持终端R951 V100R001产品概述[M/CD].http://e.huawei.com/cn/products/wireless/gsm-r/terminals/oph-r951.
[5] 俞 军,杨荣昌. 适用于中国铁路通信的GSM-R手机研制方案[C]//中国铁道学会自动化委员会.GSM-R移动通信及无线电管理学术会议论文集.北京无线电协会、中国铁道学会自动化委员会:2006:4.
[6] 周 超. GSM-R技术及机车综合无线通信设备的研究与设计[D].北京:北京邮电大学,2006.
[7] 陈 博,刘开华. STM32的RFID手持终端硬件设计[J]. 单片机与嵌入式系统应用,2012(4):45-48.
[8] 李俊杰,曹旭东,梁华庆. 嵌入式应用系统中高速PCB设计技术的研究及实现[J]. 计算机测量与控制,2016(6):268-270,277.
[9] 栗 江,聂 影. 基于Protel99SE的印制电路板设计[J]. 软件导刊,2010(11):100-101.
[10] stm32 reference manual[EB/OL]. [2014-05-24].http://www.st.com/stonline/products/literature/ds/14611.pdf.
[11] 张 石,张新宇,鲍喜荣. ARM嵌入式系统教程[M].北京:机械工业出版社,2008.10
[12] 闫明明,郭 涛,鲍爱达. 基于ARM的无线温度传感器网络设计[J]. 实验室研究与探索,2014(3):105-109.
[13] 李 涛.基于STM32的GPS车载终端的设计[D].兰州:兰州交通大学,2013.
[14] 孙 恒. 智能移动终端的视频点播系统设计与实现[J]. 实验室研究与探索,2015(2):132-136.
[15] 周志华,赵立厂,刘丰帧,等. 基于CDMA2000网络的矿用机车通信终端设计[J]. 煤矿机电,2014(5):60-64.
[16] 华晨惠,王晓飞,邵海明,等. 纽扣式无线心率监测系统设计[J]. 实验室研究与探索,2017(1):65-68.