论文部分内容阅读
M2M无线通信模块为M2M(Machine to Machine)终端的核心部件。目前M2M无线通信模块通用的使用方法是MCU加M2M无线通信模块的方式。MCU通过串口和模块进行通信,程序运行在MCU中,通过AT指令控制模块发送和接收数据,并通过GPIO、I2C、SPI、UART、ADC、键盘等接口外接功能器件,采集数据或者实现某些功能。无线通信模块内部由微处理器,DSP及模拟基带组成,程序运行在微处理器中,也具有GPIO,UART等硬件资源。本文在深入分析MCU、M2M无线通信模块功能及嵌入式程序编译、运行的基本方法的基础上,在无线通信模块中设计了模拟MCU功能,通过软件接口的方式为应用提供MCU硬件功能,把原本在MCU中运行的程序重新编译后放在通信模块中运行。主要工作如下:(1)根据无线通信终端系统的实际应用方式,结合SIM800的功能及资源,提出了在SIM800 M2M无线通信模块内部模拟MCU系统的方法,把原本运行在MCU的程序放在模块内部作为应用程序运行。(2)在系统中实现虚拟硬件层,以API接口的形式为应用程序提供ROM、RAM、定时器、串口、GPIO等硬件资源,通过软件接口模拟MCU的功能,在虚拟硬件层中对实际硬件进行访问。(3)设计使用函数指针的方式从CORE进入APP空间,及APP使用函数指针的方式进行系统调用,并在应用程序中实现独立C库,只通过有限的接口及消息进行通信,使CORE和APP彻底分离。CORE和APP的代码变动不会相互影响,即使CORE内容有较大改动,原有的APP可执行文件也不需要重新编译,即实现了APP编译一次,永久有效。(4)基于本系统实现的模拟MCU的方案,设计出应用程序实例,验证了本系统的功能。该系统在M2M终端产品中使用,只需要无线模块即可实现原有的MCU加无线模块的功能。节省了MCU的费用,极大的提高了产品性价比,提高了产品竞争力。省去了MCU及其外部相关电路,简化了产品电路设计,并降低了产品的功耗,节能环保。同时从软件开发角度来说,使用C语言开发,开发方式和原来使用MCU开发方式相似,但不需要用直接操作MCU底层寄存器,所有软硬件功能都是API提供,简化了代码设计,降低了开发难度,缩短了产品开发周期。利用无线通信模块内部的RTOS(Real Time Operating System实时操作系统)提供多任务功能,可以实现复杂的应用,增加了产品功能。所以该方案具有较高的使用价值和经济价值。