来源:中国一卡通网 作者:贾玉静 发布时间:2012-02-09 09:25:50 字体:[大 中 小]
摘 要:针对巡更的场所数量多、比较分散的大型物流企业等单位的实际需求,提出使用GPRS 进行远程采集巡更数据的系统方案。方案 中的巡更数据远程采集终端,可以实现对手持巡更设备进行数据采集,并通过GPRS 的方式与监控中心进行实时数据通讯,从而解决巡更数据 处理的实时性问题。巡更终端软件使用uC/OS-II 进行开发。详细研究了通过GPRS 与监控中心服务器进行实时通讯的远程巡更数据采集终端 的软硬件实现。
3 巡更终端的软件设计
巡更终端的系统软件使用uC/OS-II 操作系统进行开发。uC/OS-II的源代码完全开放,是一个完整的可移植、固化、裁剪的占先式实时多任务内核。它是针对嵌入式应用设计的,它的大部分源代码都是用高可移植性的ANSI C 编写的。uC/OS-II 可以移植到不同类型、不同规模的嵌入式系统,并能在大部分的8 位、16 位、32 位、甚至64 位的微处理器和DSP 上运行。由于uC/OS-II 是一个实时操作系统,所以使用它进行软件开发,能够进一步简化ARM 系统的开发。
首先需要把uC/OS-II 操作系统移植到S3C44B0 系统中。uC/OSII的操作系统代码包括核心代码部分、设置代码部分、与处理器相关的移植代码部分。核心代码部分的功能包括内核管理、事件管理、消息队列管理、存储管理、消息管理、信号量处理、任务调度和定时管理。设置代码部分包括2 个头文件,用来配置事件控制块的数目以及是否包含消息管理相关代码。与处理器相关的移植代码部分则是进行移植过程中需要更改的部分, 它是与嵌入式处理器密切相关的, 包含OS_CPU.H、OS_CPU_C.C 和OS_CPU 三个文件。主要的移植工作包括:修改数据类型、进入和退出临界段、设置堆栈生长方向、任务的切换和调度、堆栈的初始化、时钟节拍中断。
巡更终端的任务主要有LCD 显示、键盘扫描、巡更手持机数据采集和GPRS 数据通讯,因此在uC/OS-II 的main()函数中需要创建四个主要任务, 根据不同的事件要求进行任务的切换,以
完成系统的要求。Task_data_collect()任务负责采集巡更数据,即从巡更手持机的EEPROM 读取巡更数据, 每条巡更数据16 字节, 包括1 字节的记录号、4 字节巡更员标识、4 字节巡更点的标识、6 字节的时间、1 字节的状态字(正常巡更/补巡)。终端先给手持机发一个握手信号,得到正确响应后,发送读取命令读取数据,收到正确格式的巡更数据则发送响应,并读取下一条,直到采集完成。如果收到的数据不正确,返回出错响应并进行最多三次的重新读取。
Task_GPRS_communication()任务负责与监控中心的通讯。终端通过MC55 模块与监控中心建立连接后,监控串口的接收数据,如果收到MC55 接收数据的标识“^SISR: 1, 1\r\n” ,则读取来自监控中心的数据,包括巡更计划或通知信息。当需要上传巡更数据或者报警时,终端可以发起通讯。
4 结束语
μC/OS-II 实时操作系统是开放源代码且得到实际验证的软件平台,而S3C44BOx 具有强大的32 位RISC 性能,基于此软硬件平台开发的巡更数据远程采集终端, 具有稳定可靠的性能, 可以通过GPRS与监控中心进行实时通讯,为整个巡更系统的安全可靠奠定了坚实的基础,确保巡更单位财产的安全。
【参考文献】
[1]GPRS 的技术. http://www.souzz.net/Cisco/5/3/100V45232007.html. 2003-05-11
[2]王琳. 基于GPRS 的无线图像数据传输[J]. 计算机工程,2008(13):232-233.
[3]Siemens AG. MC55/56 Hardware Interface Description. 2005.
[4]胥静.嵌入式系统设计与开发实例详解. 北京航空航天大学出版社,2005,1.
推荐文章
论坛热帖