项铁尧,庄阳滨,林孝康 (清华大学电子工程系,北京100084)
【摘要】设计了采用CP4FSK调制解调方式的以ARM 9和ADF7021处理器为核心的数字对讲机实验平台方案。
开发了启动引导程序、OEM适应层、外围设备驱动在内的板级支持包,完成了 Windows Embedded CE系统的移植。
设计和开发了调制解调系统与嵌入式处理器之间的双串行接口和相关驱动程序。最后,完成实验平台硬件系统的 设计和制作,并对其进行测试。
【关键词】数字对讲机;Windows Embedded CE;ARM;板级支持包;CP4FSK调制 【中图分类号】TN929.3 【文献标识码】A
Research and Development of Experiment Platform for Digital Walkie-talkie
XIANG Tie-yao,ZHUANG Yang-bin, LIN Xiao-kang (Department of Electronic Engineering, Tsinghua University, Beijing 100084, China)
【Abstract】A digital walkie-talkie scheme using CP4FSK modulation based on ARM 9 and ADF 7021 processors is designed. Board support package is developed, consisting of boot loader, OEM adaption layer and peripheral hardware drivers. Windows Embedded CE operating system is transplanted. Bi-serial interface and related drivers between modulation system and embedded processor are developed. At last, the hardware system of the experiment platform is completed and tested.
【Key words】 digital walkie-talkie; Windows Embedded
1 引言
2007年9月,原信息产业部无线电管理局发布了 《数字对讲机系统设备无线射频技术指标要求》(试 行),正式启动了中国对讲机数字化进程[1]。当前确定 的数字对讲机射频信道间隔为12.5 kHz与6.25 kHz,
分别对应二时隙TDMA与FDMA,各指标与P25和 DMR/DPMR标准基本兼容[2]。在2008年2月的首届数 字对讲机应用与发展论坛中,各厂家提出了包括半双 工语音、单呼与组呼、分组数据业务等全新功能,更加 符合指挥调度的苛刻要求。包括交通运输、公共安全、
水利林业和大型企业等专业对讲的重点使用领域,均 对数字对讲机在同一平台上满足多种无线通信需求 的能力表示出浓厚的兴趣。
2 CP4FSK调制解调
CP4FSK是一种有记忆非线性恒包络调制。与目 前常用的GMSK调制方式相比较,具有频谱效率高、临 道干扰小的特点;与非恒包络调制方式如QPSK相比 较,采用CP4FSK调制方式的系统中的功率放大器可
电声技雄2010年第34卷第03期19
CE ; ARM ; board support package ; CP4FSK modulation
工作在c类状态,减少了功耗。因此这种调制解调方 式非常适用于数字对讲机系统。
CP4FSK调制信号的产生原理如图1所示。
数据 数据映射 数据 低通 FM 信号
(2-4映射) 滤波 调制
图1 CP4FSK调制原理
为了获得窄带输出的信号频谱和好的邻道功率特 性,同时具有较好的抗干扰性能,预调滤波器使用平方 根升余弦滤波器进行低通滤波。其频率响应为
大小的SRAM中。这要求启动引导程序的大小不能超 过4 000 Byte。因此,需要采用二级结构。第1级启动 引导程序负责把第2级加载到内存之中,然后退出,把 系统控制权交给第2级•’第2级启动引导程序负责实 现其余的各种功能,最终把系统镜像文件加载到内存 之中,然后把系统控制权交给Nk.exe;Nk.exe负责加载 各种驱动和服务,最终完成系统的整个启动过程。
4.2.1第1级启动引导程序
第1级启动引导程序涉及大量处理器指令操作, 由于与处理器关系密切,需要使用汇编语言和C语言 混合编写。按照执行顺序包括如下7个步骤:
(1)屏蔽所有中断。系统启动过程中不需要也未 载入中断服务程序,此时进入中断状态意味着异常。所 以在NBoot中全程关闭中断。
(2)设置CPU与系统总线的时钟频率与分频比。
(3)设置SDRAM的运行参数寄存器,包括刷新间 隔与方式、地址与片选的建立时间与保持时间、数据访 问周期、访问延迟、突发模式等。
(4)分别进入CPU各运行模式,并初始化其堆栈, 载入中断向量表。
(5)初始化串口,主要用来输出调试信息。
(6)初始化 NAND FLASH。
(7)通过循环将第2级启动引导程序的二进制代 码从FLASH中复制到RAM中的指定地址,并跳转到 其入口地址,开始执行。
4.2.2第2级启动引导程序
第2级启动引导程序完成的主要工作有:内存管 理单元的初始化、串口初始化、硬件系统初始化、执行 存储的或者下载的系统镜像等功能。最终程序指针跳 转到Nk.exe的StartUp处,进而启动WinCE操作系统。 4.3 OEM适配层
OEM适配层是系统内核非常重要的一部分,它直 接负责与硬件进行交互,是操作系统与硬件联结的纽 带。实际上,Nk.exe就是由OEM适配层和其他的一些 静态库编译而来的。
OEM适配层的主要模块如下:
(1) OEM适配层程序入口 StartUp,主要用于初始 化内存管理单元、初始化一级内存分页表、完成物理地 址和虚拟内存地址的映射、跳转到系统内核入口。
(2)板级初始化模块,主要用于初始化LCD、缓存 Cache初始化、调用中断初始化函数。
(3)各种中断处理函数,包括中断初始化、中断使
能、中断禁止、中断完成、中断处理、计时器初始化。
(4) I/O控制、CPU空闲控制等模块。
4.4外围设备驱动程序 4.4.1驱动程序实现的基本方式
在Windows Embedded CE中,设备驱动程序是一 个动态链接库,它提供底层硬件与操作系统及运行在 目标设备上的应用程序之间的一个抽象层。驱动程序 公开一套已知名称的函数并提供初始化硬件和与之通 信的规则。父进程可通过调用LoadLibrary或 LoadDriver函数来加载驱动程序。
4.4.2驱动程序的动态加载
在开发驱动程序时,有一个很头疼的问题是驱动 程序调试流程非常繁琐。一般要有如下4个步骤:
(1)修改驱动程序并编译生成DLL文件;
(2)把DLL文件打包加入操作系统镜像文件中去;
(3)把镜像下载到目标设备;
(4)启动系统,加载驱动程序,进行测试。
根据集成开发环境、开发工作站性能、系统组成、
目标设备配置等因素的不同,以上各步骤可能都要花 费数分钟时间,加在一起的话,时间就不短了。如果程 序开发遇到阻碍,需要反复调试时,这种时间上面的损 耗是非常惊人的。
采用流驱动的动态加载方式进行调试,则可以节 省大量的时间。
实现动态加载,需要使用函数ActiveDevice()或者 ActiveDeviceEx()。它的作用是令设备驱动可用。在使 用该函数时,只要给出注册表中的路径字符串。所以,
要想很方便地动态加载任意一个驱动,把驱动的相关 注册表信息放到HKEY_LOCAL_MACHINE下,主要内 容包括前缀、动态链接库、目录、顺序等信息即可。
5调制解调系统控制程序
在嵌入式处理器和调制解调模块之间的通信,通 过双串行接口来实现:数据传输由SPI接口实现;控制 指令传输由GPIO来实现;外部中断由专门的SWD引 脚来实现。
S3C2440处理器中对于SPI接口和GPIO以及外
部中断引脚的控制和访问都是通过设置S3C2440内部 寄存器来实现的。
5.1 S3C2440处理器内部寄存器的设置
S3C2440中0x40000000以下的物理地址空间,被 分配给ROM,RAM,SRAM,SDRAM这些存储器了 c
0x48000000以上的空间,则被分配给内部寄存器。因
雄声技2010年第34卷第03期21
根据测试结果可以看出本系统性能良好,达到了 预期要求。
5结语
笔者采用计算机通用声卡实现的虚拟音频分析仪 的设计,系统性能好、成本低、界面简洁明了、功能灵 活,便于功能扩展与升级,需要增加功能只需添加相应 函数即可。利用MIC IN接口配备标准传声器还可以 对标准声源的一些性能进行测量。
参考文献
[1]王磊,陶梅.精通LabVIEW 8.X[M].北京:电子工业出版 社,2008.
[2]肖渊,马丽萍.基于声卡的虚拟示波器设计与实现[J].陕 西科技大学学报,2009(4):92-95
[3]曲喜强,刘哲.基于声卡的音频信号采集与分析系统设 计[J].电子测试,2009(2) :75-77.
[4]张桐,陈国顺,王正林.精通LabVIEW程序设计[M].北 京:电子工业出版社,2008.
[5]刘国福,张屺,淳静,等.DSP与ISA总线声卡的接口技 术研究[J].测控技术,2002(3):61-63.
作者简介
刘雷,硕士,助理工程师,主要从事音视频仪器的计量检定 工作;
毛杰,本科,助理工程师,主要从事技术保障工作。
[责任编辑]史丽丽 [收稿日期]2010-01-13
0.100.050.00-0.05-
-o.iol
0.00 丨.00 m 2.00 m 3.00 m 4.00 m 5.00 m
0.00 1.00 m 2.00 m 3.00 m 4.00 m 5.00 m
0.00 -0.10-0.20-0.251
图8 正弦波和方波在波形图里的显示界面
0 00 _■■■■■■■■■■■■■■■■■■■■■■■■■>■■■■■■■■
0 500 1 000 1 500 2 000 2 500
0.08 0.06 0.04
0.02
图9 正弦波在频谱图里的显示界面