0 引言
物联网从美国的“智慧地球”到我国的“感知中国”在概念不断演进,M2M是现在物联网实际应用的一种具体模式。
M2M可代表机器对机器(Machine to Machine)人对机器(Man to Machine)、机器对人(Machine to Man)、移动网络对机器(Mobile to Machine)之间的连接与通信,它涵盖了所有实现在人、机器、系统之间建立通信连接的技术和手段。M2M系统节点的通信连接可分为“有线”和“无线”两种。
M2M用于实现设备、人和系统之间的互联互通。M2M应用遍及军事、金融、交通、气象、电力、水利、石油、煤矿、工控、零售、医疗、公共事业管理等各个行业。通过本论文提出的模块,各行业可升级现有设备实现技术的更新换代。
M2M的应用主要存在三个问题:
第一:行业应用中,采用“有线”连接的方式需要敷设专门的线缆。基础网络工程量大,成本较高。第二:行业应用中,采用“无线”连接的方式普遍采用GPRS/CDMA 1X作为接入手段。但由于无线网络带宽不足,限制了视音频、图像等业务信息的承载和物联网中传感器网络的组网结构。
第三: 行业应用中,Linux是常用软件平台之一,设备厂商如需集成基于3G技术的M2M模块需要在Linux系统上做一定的开发工作。
本文中的四川九洲电器集团有限责任公司成都技术中心开发的“基于物联网应用的3G M2M模块”解决了上述主要问题。
本论文提出的方案包括M2M模块硬件原理图、软件实现框图、Linux系统驱动实现等几个主要部分。
1 M2M模块软硬件架构
模块包括硬件部分与软件部分。
硬件部分由基带处理芯片CBP 7.0 CDMA Baseband Processor、NOR Flash and PSRAM二合一芯片、电源管理芯片、射频收发器、功率放大器、发送天线、低噪声放大器、主接收天线、分集接收天线、用于收发网络信息的USB2.0接口、用于调试用的UART和JTAG接口等几部分组成。软件部分由CDMA 1X Stack、EVDO Stack、VAL、CP、System Services等基本组成。在具体功能上,根据上述基本软件部分可实现短信收发、语音通话、UIM读写、TF卡读写、TCP/IP透传、Win/Linux驱动程序等功能。
.1. 硬件架构
硬件部分包括:基带芯片CBP 7.0 CDMA Baseband Processor、NOR Flash and PSRAM二合一芯片(Multi-Chip)、电源管理芯片(Power Management)、射频收发器(RF Transceiver)、功率放大器(Power Amplifier)、发送天线(TX ANT)、低噪声放大器(LNA)、主接收天线(Main Antenna)、分集接收天线(Div Antenna)、用于收发网络信息的USB2.0接口、用于调试用的UART和JTAG接口。
基带芯片CBP 7.0 是系统的核心控制部分,与CPU总线连接的是Multi-Chip其是NOR Flash和PSRAM的二合一芯片。NOR Flash作操作系统和文件系统的存储器使用,PSRAM是运行实时操作系统Nucleus内核和相关程序数据缓存空间。
电源管理芯片是系统供电的核心,电源管理芯片分别生成11组电源给基带芯片、存储芯片、射频相关芯片、UIM卡接口、时钟电路部分等供电。供电电压分为+3.3V、+3.0V、+1.8V三种。
射频收发器是射频电路部分的核心,基带芯片通过SPI接口控制射频收发器。射频收发器支持主接收和分集接收两种模式,通过SAW连接低噪声放大器接收射频信号。射频收发器通过SAW连接功率放大器进行射频信号发射。
功率放大器和发送天线组成基本的发送电路。功率放大器增益典型值为28dB,工作频率范围为824-849MHz,电压驻波比小于3:1。
低噪声放大器和主、分集接收天线组成基本的接收电路。低噪声放大器由射频芯片控制,器件采用USB8-B6封装。主、分集天线之间的平均增益小于6dB,分集天线包络系数小于0.5。
接口部分主要由用于数据传输的USB接口、用于调试的UART/JTAG接口等组成。其中USB接口为USB2.0 full mode。
硬件部分的示意图如图1所示:
1.2. 软件架构
软件部分主要包括VAL、CDMA 1X Stack Subsystem、EVDO Stack Subsystem、Common Modem Stack Subsystem、System Services Modules、Operating System 六部分组成。
VAL为VIA Abstraction Layer(VIA抽象层)给芯片组定义了统一的应用程序编程接口(Application Programming Interface),该接口为用户界面(User Interface)和M2M模块(M2M module)所调用。VAL同时提供了AT(Attention)命令的解析和传输接口。用户可以通过AT命令进行呼叫、短信、电话本、数据业务、补充业务、传真等方面的控制。
CDMA 1X Stack Subsystem由协议栈(Protocol Stack)、无线链路协议(Radio Link Protocol)、Layer1 CDMA 1X 驱动(Layer1 CDMA 1X Drivers)、Layer1 多层驱动(Layer1 Multiplex Sub layer Driver)等4个主要部分组成。
Protocol Stack主要实现了CDMA 1X的协议栈,并符合TIAEIA-637A/B、TIAEIA-683B、IS-801.1等国际标准。
Radio Link Protocol 是用来保证鲁棒数据传输的基于网络错误发现、修正、重传的链路层协议,同时RLP是Layer1 Multiplex Sub layer Driver与High Layer Protocol之间的传输通道。 Layer1 CDMA 1X Drivers完成对CDMA modem的初步控制,Layer1 Multiplex sub layer Driver是调制解调器数字信号处理器(Modem DSP)和语音信号处理器(Voice DSP)的接口。LMD也是语音信号处理器(Voice DSP)和控制处理器(Control Processor)的接口。
EVDO Stack Subsystem由会话层控制(Session Layer Control)、连接层协议(Connection Layer Control)、前向信道处理(Forward Channel Processor)、反向信道处理(Reverse Channel Processor)、射频调制解调控制器(RF Modem Controller)等5个主要部分组成。
会话层控制(Session Layer Control)由地址管理协议、会话配置协议、会话管理协议组成,并对会话建立及管理进行可靠性保障。
连接层协议(Connection Layer Control)由空中连接管理协议、空闲状态协议、连接状态协议组成,避过你对呼叫连接的建立进行可靠性保障。
前向信道处理(Forward Channel Processor)主要由流层协议、包合并协议,并在前向信道连接时实现无线链路协议、加密层协议。
反向信道处理(Reverse Channel Processor)主要由流层协议、包合并协议,并在反向信道连接时实现无线链路协议、加密层协议。
射频调制解调控制器(RF Modem Controller)实现对射频天线的控制和调制解调器硬件部分的控制。
Common Modem Stack Subsystem由客户化系统选择(Custom System Selection)、高层协议(High Layer Protocol)、混合系统控制(Hybrid System Controller)等3个主要部分组成。
客户化系统选择(Custom System Selection)是指选择1X on
高层协议(High Layer Protocol)实现IP、PPP协议和混合模式下呼叫建立、切换管理,主要协议有TCP/IP、UDP/IP、PPP、ICMP、LCP、IPC、Mobile IP等。混合系统控制(Hybrid System
Controller)对M2M模块在1X/DO工作模式下的射频控制、待机、唤醒、优先级评定等进行控制和管理。
System Services Modules由数据库管理(Database Manager)、监控和诊断(Monitor and diagnostics)、处理器内部通信(Inter-Processor Communication)、闪存管理(Flash Storage Manager)、系统支撑(System Level Support)、硬件驱动(Hardware Drivers)、输入输出(Input Output)等7个主要部分组成。
数据库管理(Database Manager)为各软件模块建立数据库并通过系统调用的方式实现对闪存的读写。
监控和诊断(Monitor and diagnostics)支持内存的读写和校验并生成日志,支持休眠模式。
处理器内部通信(Inter-Processor Communication)通过共享区支持CP和两个DSP之间进行通信。
闪存管理(Flash Storage Manager)支持相应闪存接口。
系统支撑(System Level Support)主要是对系统计时器的相关操作和管理。
硬件驱动(Hardware Drivers)实现了硬件设备和接口的驱动并完成任务控制。
输入输出(Input Output)实现了USB、串口流控制并支持缓冲区。
Operating System主要由实时操作系统(Real-Time Operating System)、执行封装(Executive Wrapper)2个主要部分组成。
操作系统(Real-Time Operating System)采用Nucleus Plus嵌入式实时操作系统,版本号为V1.15.14。
执行封装(Executive Wrapper)对实时操作系统做了一定封装并支持消息队列和缓冲池操作。上述软件组件构成了基本的软件框架,软件部分的示意图如图2所示:
图2
1.3. Linux系统免驱实现
为减小设备厂商集成基于M2M模块时在Linux系统的开发工作,M2M模块基于CDC类实现。USB标准子类中,CDC(Connected Device Configuration)是可以实现虚拟串口通信的协议,Linux系统中带有CDC类设备驱动程序,可以自动识别CDC类设备。
M2M模块在设计中采用USB接口虚拟为串口方式实现,这样免去了Linux系统下为其专门开发设备驱动的工作并简化了设备驱动的安装。
2. 有益作用
通过本论文提出的解决方案和实施思路,可以完成基于CDMA DorA技术的M2M模块软硬件开发,可以拓宽视音频、图像等业务信息的承载。并且该方案简化了嵌入式Linux系统的软件开发工作量,有利于行业市场的技术更新及拓宽行业应用。
3. 结束语
物联网在国内的应用需要时间和实践来完善。从概念到标准都存在很多不足,立足M2M的基本应用可以逐步积累经验以满足工业、农业信息化需要。本文提出的模块从实际应用出发,可以直接、间接应用到各种M2M领域。