版权归原作者所有,如有侵权,请联系我们

[科普中国]-后台终端

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

后台终端,在早期的嵌入式系统中没有操作系统的概念,程序员编写嵌入式程序通常直接面对裸机及裸设备,主要用于用户信息的输入以及处理结果的输出等的设备。

车载终端应用软件及后台通信系统的开发随着物流行业的高速发展,车载监控管理系统作为物流运输系统中的重要组成部分,是推动整个物流行业信息化的关键。车载终端基于GPS定位技术、温度感知技术和无线通信技术,依靠后台系统实时远程监控行驶车辆的位置信息与状态信息,实现对车辆在物流运输过程中的有效管理,提高物流企业管理效率。1

车载终端总体设计车载终端负责实时获取车辆信息并上传至后台实现对车辆的实时监控的同时,还需通过VoIP和IM客户端实现终端与后台间的通信。终端需通过同步卫星实现定位功能,通过温度传感器采集刹车温度信息保障行车安全,将采集的数据通过终端处理后经无线网络发送到物流车辆监控管理系统实现对运行车辆的监控和管理功能。

根据系统的需求设计车载终端、IM通信系统客户端、物流车辆监控管理系统。车载终端采用模块化思想,终端硬件的设计模块包括GPS模块、温度传感器模块、3G模块、触摸屏模块和音频模块等。GPS技术是运用最广泛、技术最成熟的定位技术,依靠此技术可更快更精确地获取车辆定位信息。终端需要实现与后台的通信,因此需设计3G模块实现联网功能。红外测温因其具备非接触测温、灵敏度高、反应速度快的特点,满足终端采集运输车辆的刹车温度的需求,因此选用红外温度传感器。车速过快或刹车温度过高时发出语音报警,因此需要音频模块实现语音播放功能。各个模块的功能如下所述:

1、GPS模块:GPS模块实时接收GPS卫星信号,模块输出GPS数据,终端从输出数据中获取经纬度、卫星定位数量、车速等信息。

2、温度传感网络:温度传感网络由蜘蛛线连接各个温度传感器,传感器固定到刹车位置上方用于对数据的采集,终端按协议发送指令实现对传感器的控制。

3、3G模块:3G模块用于终端连接网络,不仅实现将终端采集的行车数据信息上传到车辆监控管理系统,而且还可用于终端与后台之间的语音通信和广播消息。

4、触摸屏模块:触摸屏模块由电容触摸屏组成,用于在本地终端显示采集的数据以及人机交互,驾驶员可通过触摸屏的数据实时了解车辆状态信息,行车数据异常时可通过音频模块实现实时报警。

5、音频模块:音频模块用于处理音频数据的输入和输出,为实现网络电话、消息广播和实时告警功能提供硬件基础。1

功能需求分析终端应用层的功能可概括为状态栏、行车状态、通信服务、系统设置和视频监控五个功能模块。视频监控则是下个阶段的主要研究工作。

1. 状态栏模块:状态栏位于终端最上面显示数据信息,内容主要包括Home键、卫星定位状态、广播消息、当前时间以及3G信号强度。Home键用于在任何其他界面时返回系统主界面,便于实际操作;卫星定位状态显示当前GPS定位状态的具体信息,可快速地判断GPS模块接收信号的强度,有利于检测GPS模块的工作现状;广播消息接收显示服务器发送过来的广播消息,驾驶员可直接查看后台的通知;当前时间可显示系统当前实际时间;3G 信号强度用于显示当前终端3G模块接收到的信号强度,终端根据信号强度实现控制发包速率。

2. 行车状态模块:行车状态作为系统中关键的模块,用于显示车辆行车状态信息。开机启动后,主界面每隔固定时间后跳转至行车状态模块。底层串口采集GPS定位信息和传感器信息,行车状态界面显示解析后的经纬度、车速和温度数据,其中温度数据包括拖车温度数据和挂车温度数据,数据异常时终端音频模块发出对应的实时语音报警并及时采取对应措施科学避险。行车状态模块通过重写采集信息,实现协议转换,将信息经无线网络上传到物流车辆监控管理系统。

3. 通信服务模块:通信服务模块由IM模块和VoIP组成。IM模块基于TCP协议实现发送和接收语音文件消息和文字消息,实现终端与后台之间的信息交互,同于基于UDP协议实现接收广播消息在状态栏显示广播消息。VoIP 基于SIP协议实现用于终端与后台之间实时语音通信。

4. 系统管理模块:系统管理提供终端系统通用设置、时间日期、传感器设置和其他信息等功能。通用设置用于设置系统音量、录音音量、背光设置和行车状态监控自动调转。时间日期显示日历和系统运行时间。传感器设置用于设置传感器开启、关闭和传感器探测间隔,便于实现对采集器的管理和控制。其他信息包括产品信息、软件版本信息、软件升级功能和数据包上传统计信息,其中软件升级功能可用于系统实时更新软件,有利于后期系统维护。1

终端应用程序框架应用程序的基础在于串口的应用层驱动,利用串口通信,实现对串口参数初始化、串口数据读写等操作。红外温度传感器数据读写、GPS数据解析这2个模块是整个应用程序的中间部分,GPS模块从串口读取出来的数据通过正则表达式进行解析,红外温度传感器模块按照自定的协议通过串口发送相应的指令对该模块进行控制,修改传感器相关配置,获取对应的温度数据。行车状态模块将解析出的数据信息在本地终端界面显示,同时将数据按通信协议封装成UDP数据包通过无线网络上传至后台车辆监控管理系统。终端应用程序在此基础上基于PJSIP库实现VoIP完成终端与后台之间的实时语音通信,并通过套接字编程实现IM通信模块接受后台通信系统发来的广播消息、文字消息和语音文件消息。1

前后台系统的电话终端的设计与实现根据实际从事项目开发过程,提出了一种高性价比的VoIP电话终端设计方案,并从系统设计、硬件设计和软件设计3个方面做了较深入的剖析。该系统采用双处理器结构,与8051指令兼容的8位控制器以及与AD-SP2181指令兼容的语音运算DSP处理器,向外提供Ethernet、键盘、LCD等接口,该方案软件上采用嵌入式常用的前/后台系统。2

软件设计方案该IP电话终端是一个嵌入式实时系统,为了降低成本在硬件上采用C51 Core芯片作为系统控制器。由于该芯片的性能相对较低,因此在软件上不能采用通用的嵌入式OS,而是采用嵌入式系统常用的另外一种方案前/后台(Foreground/ Background)系统。这种系统的应用程序是一个无限循环,在循环中调用各个模块完成各自功能。这部分即为后台(backround),也叫任务级。其前台为中断级处理,由中断服务程序组成 ,处理时间相关性很强的各种中断,可允许中断嵌套。

在系统中前台处理各种中断,包括对声卡中断、网卡中断、键盘中断、DSP中断、定时器中断等中断服务程序的处理。后台进行各种任务处理,包括网络协议处理、DSP语音数据处理、键盘输入处理等。2

PA1688芯片的IP电话终端的软件层次结构该系统采用分层软件结构中包括:物理层、中间层、应用层。物理层包括PA1688芯片及其外围接口芯片(AC97声卡、NE2000兼容网卡、键盘、LCD等)。中间层包括一些库和驱动程序,为应用层屏蔽硬件的实现和提供方便的接口。应用层包括CODEC处理、键盘输入处理、网络协议处理、时间处理等模块。

CODEC模块中包括声音的采集和播放、支持G.711、G.723.1以及G.729的语音编码和语音解码三大部分。键盘处理部分包括拨号处理、LCD菜单处理(包括参数查询/设置等)、快捷键功能处理等。网络协议处理部分包括TCP/IP协议族的处理、TELNET配置处理、WEB配置处理、远程FTP升级处理等。时间处理包括超时处理、定时处理以及用户的其他应用程序的时间处理等。2

软件启动过程在PFlash中不仅存放有程序,还存放系统的初始设置数据、必要的语音数据、DSP运行所需要的CODEC代码;并且也用于保存用户设置的各种参数和语音。而PFlash在系统运行过程中是只读的且速度慢,所以将SDRAM作为数据和CODEC代码的暂存区和交换区。在系统运行之间需将这些数据从PFlash下载到SDRAM中,运行时从SDRAM中读入片内RAM,运行结束后将其写入PFlash。2

软件主流程和软件中断处理当软件系统完成初始化设置、中断设置、状态设置和系统参数设置之后,就进入系统主流程。这部分相当于前/后台系统的后台部分。该部分程序被设计成一个while(1)循环,由语音数据处理模块、键盘输入处理模块和网络协议处理模块组成。每个模块包含一些小的模块,当需要添加新任务时,可在主循环内或模块内添加。

系统是由中断事件(声卡中断、DSP中断、网络中断、键盘中断、Timer中断)驱动的,整个系统被划分为2 个中断处理,其中一个处理Timer中断;另一个处理其他外部中断事件,当有外部中断事件发生时,控制器读取中断状态控制寄存器并确定是哪个事件,然后执行相应的中断服务程序(ISR),然后返回。

中断服务程序(ISR)只进行简单的控制处理和数据处理,然后置位相应的公共变量。将复杂处理交给应用程序处理以降低中断执行时间,提高系统性能。

在后台运行的主循环对各个模块进行轮询处理,即对各个模块的公共变量进行查询。当发现有置位时就对这些模块进行处理,从寄存器或内存或SDRAM等当中读出数据进行处理,然后输出。系统通过前台(中断)和后台(任务)的配合完成整个VoIP电话终端的所有功能。2

本词条内容贡献者为:

王沛 - 副教授、副研究员 - 中国科学院工程热物理研究所