基于dPMR标准的数传电台设计
2014-07-25郭衡泽汪镭
郭衡泽,汪镭
基于dPMR标准的数传电台设计
郭衡泽,汪镭
运用嵌入式产品开发方法,从硬件设计和软件开发两方面阐述了采用数字信号的无线数传电台的开发方案。相对于目前国内市场占有率较大的模拟数传电台,数字数传电台频谱利用率更高,具有更好的传输质量和更为可靠的安全性能,未来必将会有良好的应用前景和市场价值。重点介绍了基于dPMR标准数传电台的系统架构与实现、OS任务模块设计以及相关通信协议制定等内容,在诸多方面都有创新的设计应用和实现方法。
数传电台;dPMR;硬件设计;软件开发
0 引言
数传电台,全称为无线数传电台,大致分为两种:一种是传统的模拟电台,另一种为近些年兴起的数字电台。传统的模拟电台大部分是在调频对讲机或车载电台的基础上加装了一个低速率的调制解调芯片,其价格低廉,但是,速率比较低,时延大,操作也不方便。随着20多年来集成电路的复杂性和集成度的飞速增加,无线数传电台部分甚至全部采用数字处理技术,这些电台通常被称为数字电台。相比传统的模拟电台,其精度更高,没有与模拟量元件有关的误差问题,功耗更低,实时性稳定性更高,为无线数传市场带来了新的发展空间和活力。
dPMR是digital private mobile radio的缩写,是一个数字无线电协议,广泛应用于交通指挥、航海通信、警备通信和车间调度等集团环境集[1]。它提供通过使用低成本、低复杂性技术实现高级功能的解决方案。dPMR是一种窄带(6.25kHz)FDMA 技术,100%数字化,可提供多种形式的语音或数据应用。
1 工作原理及系统架构
由于数据信号是一种脉冲信号,而脉冲信号所占用的频谱十分丰富。如果脉冲信号像语音信号一样直接送去窄带超短波电台的发射机调制,那么由于电台发射机及接收机的带宽的限制,脉冲信号在传输过程中频谱会大量丢失,产生很大的失真、衰落,从而导致数据传输误码甚至完全失败[2]。尤其是传输速率在1200bps以上时,这种直接调制的方式就完全不可取了。为了实现在无线信道上的可靠、高速的数据传输,就必须在常规的超短波调频电台内部植入一个调制解调器(MODEM)[3],发送数据时通过该MODEM的调制器把脉冲信号(即数据信号)转换成模拟信号,接收时则正好经历一个相反的过程,通过MODEM的解调器把接收到的模拟信号还原成脉冲信号。数传电台系统框图如图1所示:
图1 系统框图
2 开发环境
2.1 硬件平台及开发装置
本文中的MCU采用STM32F103VE,具有高性能、低成本、低功耗的特点,专为嵌入式应用开发设计。ASIC芯片采用CMX7141芯片,芯片内部包括4FSK的调制解调功能、dPMR的协议、语音编解码器接口控制等功能,并提供了CMX816芯片接口用于语音编解码,方便数传电台功能的升级和拓展。无线通信射频收发芯片采用RDA1846芯片,具有集成度高、封装面积小、高灵敏度及抗干扰等特点[4]。
2.2 软件开发环境
本文涉及的软件开发是在Windows 7 操作系统环境下,开发及调试工具选用Keil Uv4。鉴于设计需求以及功能实现等条件,运行环境选取uc/os-II。uc/os-II是一种小巧的实时操作系统,具有抢占式的资源分配机制、体积小、资源占用少等特点,特别适合在资源有限的微控制器上使用[5]。
3 硬件模块设计
硬件的功能实现主要可分为数据、信号的接收与发送两部分:
发送过程:基板将原始数据发送至MCU的串口端,串口接收数据并将数据进行解码,之后发送给CMX7141。CMX7141将数据转换为dPMR协议,发送至RDA1846。RDA1846将接收到的基带信号调制到指定频率并大功率发送出去。
接收过程:RDA1846将每一时段接收到的射频信号进行解调,发送至CMX7141。CMX7141将打包好的dPMR数据进行解析,之后发送给MCU,然后通过串口与基板进行通信,将数据发送至基板。
3.1 CMX7141模块
CMX7141模块的原理图如图2所示:
图2 CMX7141
CMX7141实现了dPMR标准的编/解码、组帧、4FSK调制等工作,减少了CPU的负荷。在收到帧同步信号后,CMX7141从帧中提取与dPMR标准相关的协议数据,在完成解调,解帧,信道解码等工作后,CMX7141将数据发送至MCU串口进行处理。
3.2 RDA1846模块
RDA1846模块的原理图如图3所示:
图3 RDA1846
RDA1846可称为目前集成度最高、封装面积最小的对讲机RF射频芯片,通过低中频接收机和直接上变频发射机架构,以单芯片集成替代了传统方案中数百个分立器件和集成电路,大幅简化了电路设计、降低了BOM成本。
在电台工作工程中,RDA1846实现了将基带信号调制到制定频率并大功率发送以及将接受到的射频信号解调为CMX7141可读取信号的功能。
4 软件模块设计
4.1模块汇总
数传电台中继系统模块名称功能简述串口通信模块 接收时解析串口通信协议帧格式、发送时按照协议组帧空口通信模块 控制cmx7141和rf DEBUG模块 串口通信
4.2 软件结构及功能简介
系统软件架构的分层结构从下到上依次为:驱动层,OS层,应用层如图4所示:
图4 软件分层结构图
驱动层:主要完成外设硬件驱动功能,包括MCU片内外设和片外外设。
OS层:即实时操作系统uC/OS-II。
应用层:定义了上层的应用,分别使用相应的线程来完成。主要包括:串口通信,空口通信及DEBUG。
4.3 OS模块设计
OS模块的设计中使用的任务有三个:Air Interface Task, Serial Task,Debug Task,如图5所示:
图5 OS系统任务状态图
4.3.1 Air Interface Task模块设计
Air Interface Task主要用来完成空口发送和接收。空口的接收通过外部中断来触发。发送是由串口任务触发。
os_err = OSTaskCreateExt((void (*)(void *))
App_TaskAirInterface,
(void* ) 0,
(OS_STK* )&App_TaskAirInterfaceStk[APP_TASK_AI _STK_SIZE - 1],
(INT8U) APP_TASK_AI_PRIO,
(INT16U) APP_TASK_AI_PRIO,
(OS_STK * )&App_TaskAirInterfaceStk[0],
(INT32U ) APP_TASK_AI_STK_SIZE,
(void * ) 0,
(INT16U)(OS_TASK_OPT_STK_CLR | OS_TASK_OPT_STK_CHK));
4.3.2 Serial Task模块设计
Serial Task主要用来完成串口通信的帧格式解析和组帧。串口的接收由串口中断触发,发送可以由串口接收完成触发和空口接收触发。
os_err = OSTaskCreateExt((void (*)(void *)) App_TaskSerial,
(void* ) 0,
(OS_STK* )&App_TaskSerialStk[APP_TASK_SERIAL_ STK_SIZE - 1],
(INT8U) APP_TASK_SERIAL_PRIO, (INT16U) APP_TASK_SERIAL_PRIO, (OS_STK * )&App_TaskSerialStk [0],
(INT32U ) APP_TASK_SERIAL_STK_SIZE, (void * ) 0,
(INT16U)(OS_TASK_OPT_STK_CLR | OS_TASK_OPT_STK_CHK));
4.3.3 Debug Task模块设计
Debug Task主要用完成其他Task的启动和事件扫描。os_err = OSTaskCreateExt((void (*)(void *)) App_TaskDebug,
(void * ) 0,
(OS_STK* )&App_TaskDebugStk[APP_TASK_START_ STK_SIZE - 1],
(INT8U) APP_TASK_DEBUG_PRIO, (INT16U) APP_TASK_DEBUG _PRIO, (OS_STK * )&App_TaskDebugStk[0],
(INT32U) APP_TASK_DEBUG_STK_SIZE,
(void * )0,
(INT16U)(OS_TASK_OPT_STK_CLR | OS_TASK_OPT_STK_CHK));
5 通信协议
5.1 通用格式
1)传输方式:RS232,TTL电平。
2)传输速率:115200 bit/s。
3)同步方式:异步数据同步。
4)数据格式:每字节数据由1个起始位,8个数据位,1个停止位构成,无奇偶校验。
5.2 通信帧格式
1)以DLE(10H)、STX(02H)作为帧起始字段,以DLE(10H)、ETX(03H)作为帧结束字段。
2)为了避免在信息字段中出现DLE字符,影响数据的正确接收,采取如下做法:数据发送方在发送数据前检查信息字段中是否出现DLE字符,如果信息字段中出现DLE字符,则在此DLE字符前再加一字节DLE字符。数据接收方如果连续接收到两个DLE字符,表明此DLE字符是数据信息,而不是控制转义字符,处理时去掉一个DLE字符。
3)基本帧格式如图6所示:
图6 基本帧格式
注:
A. “信息长度”表示从“源端口”开始到“CRC”结束的字节数。B. “CRC校验”多字节字段为高字节数据在前。C. 数传模块端口代码为02H,主机端口代码为01H。D.命令数据分为“主机至数传模块”和“数传模块至主机”两部分。E. “数据”的内容由各承载业务类型单独规定,最大不超过250个字节。F. “CRC校验”内容从“信息长度”到“数据”结束的全部内容。
4)CRC校验采用CRC16校验方法,校验码生成多项式为:G(X)=X16+X12+X5+1校验初值为00H。
6 应用效果及优势分析
综上所述,基于dPMR标准的数传电台的开发方法和功能实现都已基本完成,其实物电路板请参见附录。从实际应用效果上来看,采用本文论述的数字通信的数传电台通信质量更好、电台自身的频率稳定度更高、信道占有带宽更窄、传输数据能力更强等,相比市面上采用模拟通信的数传电台在诸多方面都有着明显的优势。
7 总结
结合目前的形势来看,数字通信的数传电台目前虽然应用范围远不及模拟通信电台,但无论从安全角度还是通信性能来看,数字通信在国内都将具有广阔的发展空间及市场需求。因此,本文提出的开发方案在多个环节都有创新的设计思维,具有较大的实际意义和研究价值,为将来类似的、可以推向市场进行全面应用的实际产品做了理论上、实践上和技术上的铺垫和准备。
[1] 陈海飞,陈曦,林孝康. dPMR标准调制解调器设计[J].《电声技术》2013.2 P30-P32.
[2] 陈湛. 数传电台的频率合成技术及应用[M].《中国高新技术企业》2011.12
[3] 刘彩东,潘宝东,梁成松. 对私设数传电台的查处与思考[M].《中国无线电》2011.4 P62
[4] Hsu,Hui-Pin(Northridge, CA)Schaffner, James H. Channel-adaptive radio modemHRL Laboratories[C], LLC (Malibu, CA) 1999.8
[5] Anonymous.Radio Modem Module[C].Wireless Design & Development 2001.2 http://download.csdn.net/dow nload/dreamboy40599599/4907813 http://download.cs dn.net/download/dreamboy40599599/4907813
The Design of Radio Modem Based on Standard dPMR
Guo Hengze, Wang Lei
(Department of Control Science & Engineering,College of Electronic and Information Engineering, Tongji University, Shanghai 201804, China)
This paper uses the methods of the embedded product development, introducing the development plan of the radio modem by digital signals from two aspects of hardware design and software development. Compared with the analog radio modem which shares the larger domestic market for present, the digital radio modem spectrum utilization rate is higher.It has better transmission quality and more reliable safety performance, and it must have a good application prospect and market value in the future. The paper mainly introduces the system framework and implementation, OS task module design as well as related communication protocols of the radio modem based on standard dPMR.It has innovation in many aspects of design and implementation method.
Radio Modem; dPMR; Hardware Design; Software Development
TP919
A
2014.06.19)
国家自然科学基金项目(61075064,61034004,61005090康琦);教育部新世纪人才计划项目(NCET-10-0633);上海市金融信息技术研究重点实验室开放课题支持
郭衡泽(1990-),男,同济大学,硕士研究生,研究方向:智能控制,上海,201804
汪 镭(1970-),男,同济大学,教授,博士生导师,研究方向:智能控制,上海,201804
1007-757X(2014)08-0001-03