基于ARM和μC/OS-II的车载定位终端的设计(2)
- UID
- 1029342
- 性别
- 男
|
基于ARM和μC/OS-II的车载定位终端的设计(2)
3)GPRS抗电磁干扰电路 如图3,GPRS电路的核心器件是SIM900模块。SIM900采用省电技术设计,在睡眠模式下耗流仅为1.0 mA,同时该模块嵌入了TCP/IP协议,提高了用户应用该模块进行数据无线传输的开发效率。
电路中的NC7WZ07为高速电平转换芯片,通过该芯片可将SIM900输出的4.2 V串行信号转换为S3C44BOX可接收的3.3 V串行信号,实现SIM900和S3C44BOX的无障碍通信;电路中的MOLEX-91228为SIM卡座,为防止SIM卡受到静电放电和高频信号的干扰,此处选用SMF05C对SIM卡进行保护;为防止来自SIM900的特高频信号在传至SIM卡时形成信号反射,降低信号质量,这里选用22欧的电阻R614和R613对二者进行阻抗匹配;S3C44BOX通过向SIM900的1引脚(PWRKEY引脚-电开关引脚)发送脉宽为1 s的高电平,便可控制该模块的关闭与打开;S3C44BOX通过向SIM900的14引脚(NRESET引脚-低电平复位引脚)发送一个高电平,便可对该模块进行复位操作;与GPS电路一样,GPRS电路中的用于连接GPRS天线与SIM900 RF_ANT引脚的射频线的特性阻抗为50 Ω;SIM900通过串口接收来自S3C44B OX的数据包,并通过GPRS网络将数据包上传至监控中心。
3、 系统软件设计
为实现车载定位终端数据处理的实时性和运行的稳定性,确保电控车工况信息读取任务和GPS卫星数据接收任务能在第一时间内完成,本设计引入了μC/OS—II操作系统。μC/OS—II能够根据任务的优先级动态地切换任务,保证系统对实时性的要求。
如图4所示为系统主函数流程图,系统上电,经过对S3C44BOX的时钟电路以及相关寄存器配置完成对S3C44BOX的初始化操作,之后调用OSInit()函数完成对μC/OS—II的初始化操作,接着系统通过OSTaskCreate(void(*task)(void*pd),void*pdata,OS_STK*ptos,INT8U prio)函数创建车载定位终端的应用任务,最后通过OSStart()函数调用任务调度函数OSCtxSw()开始任务调度。各应用任务间的同步及数据交互通过信号量和消息邮箱来完成。
基于车载定位终端的主要功能,该车载定位终端应用程序主要包括3个任务和2个中断。分别是电控车工况信息读取任务(void VehInf Read_ Task(void*pada)),该任务主要用来接收来自ECU、EGR等车载控制器传来的反应车辆工作状况的信息,如:发动机冷却液温度、发动机润滑油压力、发动机曲轴转速、发动机凸轮轴转速、废气后处理阀门开度等等,由于车载定位终端要同时接收多个车载控制器的数据,为确保车载定位终端能够精确识别各车载控制器上传的数据,此处采用主叫-应答机制实现车载定位终端和各车载控制器间的数据通信;GPS卫星数据处理任务(void SatDatPro_Task(void*pada))则主要对GS-89M-J模块传来的数据帧进行筛选并从筛选出来的数据帧中提取车辆位置的信息;GPRS数据上传任务(void DatSend_Task(void*pada))则主要将车辆工况信息和位置信息按照固定数据帧格式进行打包并通过SIM900以无线方式上传给监控中心;CAN接收中断函数(void_irq CANRev(void))是由CAN收发器触发的,CAN收发器每接收到一帧来自各车载控制器的数据时,中断即被触发,该中断函数主要将接收到数据帧通过消息邮箱传送给电控车工况信息读取任务;串口接收中断函数(void_irq Seri Rev(void))则主要是在GS-89M-J完成卫星信号解算并向S3C44BOX的串口进行数据输出时被触发的。
影响车载定位终端实时性的主要因素是对GPS卫星数据的处理速度,因此车载定位终端中各任务的优先级分配如下表(优先级值越小则对应的优先级越高)。
4 、结束语
文中所设计的车载定位终端应用ARM处理器和μC/OS—II操作系统最大限度地保证了终端数据交换的实时性与运行的稳定性。经证实,该车载定位终端在货车、工程车、农用车等领域拥有广阔的应用前景。 |
|
|
|
|
|