戴俊源,袁红兵,吴昌东
(南京理工大学a.机械工程学院,江苏南京210094;b.常熟研究院有限公司,江苏 常熟215513)
随着国家改革开放步伐的加快,经济得到快速的发展,同时也带来一些问题如环境污染。近年来,国家经济建设和环境保护从先前的先发展后保护慢慢转向发展和保护并行的轨道上,提倡建设和谐社会和发展低碳经济。低碳生活越来越成为人们追求的对象,特别是今年3月份全国大范围的雾霾天气,给人们的出行和身心健康带来很大的影响。针对这一现状,非常有必要来开发智能公共自行车系统,自行车作为一种不消耗能源、无污染的绿色交通工具,有利于缓解车流量、减少汽车尾气排放、促进节能减排,实现经济社会可持续发展[1,2]。
目前,国内少许城市引进公共自行车系统,其运行效果良好,但其数量远远无法满足发展的要求,同时也存在一些问题如实时性、稳定性、可靠性差等缺陷。基于CAN总线,利用ARM-μCOS II,结合GPRS无线数据传输技术,设计的智能公共自行车系统前端,很好地实现前端和后端相结合,同时也提高系统的实时性、稳定性和可靠性,满足智能公共自行车前端功能设计要求。
整个智能公共自行车系统前端由CAN总线、控制节点和若干控制子节点构成,控制节点由CAN控制模块、SIM900A模块和SPI-FLASH存储器模块组成,每个控制子节点由RFID模块、语音模块、开关模块和CAN控制模块组成。首先由控制子节点的RFID模块读取用车者的IC卡信息,该信息经过控制子节点的MCU判断和处理,通过CAN总线传输到控制节点,控制节点利用GPRS TCP/IP将该信息发送到后端服务器。控制节点通过SIM900A模块接收后端服务器的信息,控制节点的MCU提取该信息中控制子节点的地址,通过CAN总线将该信息传输到该地址的控制子节点,控制子节点的MCU提取该信息中功能码,执行相应的功能操作。智能公共自行车系统前端整体结构示意图如图1所示,其中控制子节点只列出其中一个,根据需要可有若干个控制子节点。
图1 整体结构示意图
考虑到用电的方便性,采用外接220V电源,利用220V转12V的交流变压器和整流桥获得低压直流电源。应用DC-DC电源芯片MP4560降压得到5V直流电压,MP4560是一个高频开关降压器,提供高达2A的输出电流,具有4.5V~55V的输入电压范围,由LM1117-3.3电压转换芯片将5V直流电压转换为3.3V直流电压以及利用MIC29302电源芯片将5V直流电压转换为4V直流电压,4V直流电压主要给SIM900A模块提供电源。
方案中所有的MCU均采用ARM Cortex-M3内核的微处理器STM32F103RBT6,STM32F103RBT6具有高性能、低成本、低功耗等特点,具有一个CAN控制器,支持CAN协议2.0A和2.0B,其设计目标是,以最小的CPU负荷来高效处理大量收到的报文,其功能完全满足本方案的要求。CAN收发器采用德州仪器公司生产的SN65HVD230器件,该器件适用于较高通讯速率、良好抗干扰能力和高可靠CAN总线的串行通信,加之其电气连接十分简单,因而具有良好的实用性。
控制子节点主要由MCU模块、电源模块、RFID身份识别模块,语音模块、CAN电平转换模块、开关量模块和继电器模块组成,实现用车者身份识别、语音播报、数据传输和锁具开关等功能。控制子节点结构示意图如图2所示。
方案中RFID射频芯片采用NXP公司MF RC522射频芯片,其与MCU通信接口采用SPI模式。语音模块采用WT588D系列语音单片机,该系列芯片支持MP3控制模式、按键控制模式、按键组合控制模式、并口控制模式、一线串口控制模式、三线串口控制模式以及三线串口控制I/O口扩展输出模式,音频下载接口采用USB总线转接芯片CH341,通过USB总线转4线同步串行接口,实现从PC机语音下载。开关量模块采用摩托罗拉公司MC1413D产品,结合继电器实现控制锁具的开和关。
图2 控制子节点结构示意图
控制节点由MCU模块、电源模块、CAN总线模块、SPI-FLASH存储器模块和GPRS无线通信模块组成,主要完成与各个控制子节点数据传输和与后端进行无线通讯。
GPRS无线通讯模块采用SIMCOM公司生产的SIM900A,该模块内嵌TCP/IP协议,扩展的TCP/IP AT命令让用户能够很容易使用TCP/IP协议,利用SIM900A TCP/IP传输功能,可以将公共自行车前端数据发送到任意一个具有公网IP地址的主机上去,从而实现远程无线数据传输[7,8]。SPI-FLASH存储器模块采用串行闪存W25Q16,该模块主要用于当GPRS无线网络出现问题时缓存前端需要通过无线传输的数据,当GPRS无线网络恢复正常时MCU从存储器中读取缓存数据,控制GPRS将数据传输出去,同时也储存一些相关的配置信息。控制节点的LCD模块,主要用来显示当前一些信息,如温度、时间、日期、节点号、联系电话等。
根据微处理器STM32F103-RBT6完成μCOS II操作系统移植,其关键在于系统时钟和中断的处理,主要需要修改OS_CPU.H、OS_CPU_A.ASM和OS_CPU_C.C三个文件。根据STM32F103-RBT6的Cortex-M3架构的栈是由高地址向低地址增长,因此在OS_CPU.H中宏定义OS_STK_GROWTH为1,表示堆栈的地址由高向低地址增长,其任务切换OSCtxSw()模式定义为OS_CRITICAL_METHOD==3第三种模式;μCOS II中OS_CPU_C.C定义中断函数OS_CPU_SysTickHandler(),而在标准外设库CMSIS提供的启动文件中的stm32f10x_it.c中也定义了中断函数SysTick_Handler(),为了避免重复将OS_CPU_SysTickHandler(void)函数注释掉,将OS_CPU_PendSVHandler(void)函数替换为PendSV_Handler(void)。
控制节点CAN接收过滤器配置为对其下的控制子节点数据均可接收,控制子节点CAN接收过滤器配置为只对控制节点数据接收,其屏蔽信息通过对子节点地址过滤来实现,控制节点地址配置为0x0000。由于整个前端功能复杂度不高,不需要采用CAN相应的协议栈来实现,采用自定义数据传输格式,数据帧主要包括命令帧和错误帧,数据帧格式和部分功能码如表1所示。
表1 CAN总线通信数据帧格式和部分功能码
控制子节点通过读取IC卡号和判断自行车状况,通过CAN总线与控制节点进行数据通信,从而实现借车、还车功能。其IC卡分为普通和管理卡,普通卡借车和还车需要先经过后端信息核实,核实通过才可借车和成功还车,管理卡则不需要经过后端信息核实即可成功操作,控制子节点借车和还车流程如图3所示。
图3 控制子节点借车和还车流程图
实现GPRS TCP/IP无线传输功能的程序主要包括SIM900A模块初始化、AT命令配置、数据发送和接收。调用GPRS_Init()函数完成初始化,其开启通过把PWRKEY信号拉低一段时间然后释放来完成的,无线数据的传输是通过MCU的USART向SIM900A发送AT配置命令来实现的,其AT命令配置如下所示。
"AT "
"AT+CREG=1"
"AT+CGCLASS="B" "
"AT+CGDCONT=1,"IP","CMNET" "
"AT+CGATT=1 "
"AT+CIPSTART="TCP","IP号","端口号" "
"AT+CIPSEND "
"发送的内容"
‘ '
0x1a
综上所述,基于CAN总线与GPRS/GSM的智能公共自行车系统前端是利用CAN总线控制和日益完善的全球移动通信网络以及ARM控制技术的一种全新智能公共自行车系统前端。实现了智能公共自行车系统前端的硬件及软件设计,通过RFID读取IC卡号,判断控制子端自行车状态,利用CAN总线将数据帧传输到控制节点,控制节点利用GPRS TCP/IP将数据帧传输到后端,控制节点通过GPRS接收后端的数据,提取控制子节点的地址,利用CAN总线将数据帧发送到控制子节点,控制字节点提取数据帧中的功能码,完成相应的功能控制,从而实现智能化,具有很好的推广和使用价值。
[1]姚遥,周杨军.杭州市公共自行车系统规划[J].城市交通,2009,7(4):30-38.
[2]刘丽亚,钱寒峰,李萌,等.国内公共自行车系统发展调研与案例分析[J].科技创新与应用,2011,11(21):30-38.
[3]候明,杜奕.基于CAN总线的接口电路设计[J].通信技术,2008,41(07):138-139.
[4]邬宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,2002.
[5]J Parkin,M Wardman,M Page.Estimation of the determinants of bicycle mode share for the journey to work using census data.Transportation.2008.
[6]Amada M Burden,Richard Barth,et al.Bike-Share Opportunities in New York City[R].New York:Department of City Planning.2009.
[7]ETSI.GSM 07.05(Version 5.5.0):Digital cellular telecommunications system(Phase 2+);Use of Data Terminal Equipment-Data Circuit terminating Equipment(DTE-DCE)interface for Short Message Service(SMS) and Cell Broadcast Service(CBS).1998.
[8]Derekenaris,J Garlfalakis,C Markris,er al.Inergrating GIS,GPS and GSM technologies for the effective management of ambulances.Computers Environment and Urban Systems.2001.
[9]邵贝贝,等.嵌入式实时操作系统 μC/OS-II[M].北京:北京航空航天大学出版社,2003.
[10]任哲.嵌入式实时操作系统μC/OS-II[M]原理及运用.北京:北京航空航天大学出版社,2005.