項(xiàng)鐵堯,莊陽濱,林孝康 (清華大學(xué)電子工程系,北京100084)
【摘要】設(shè)計(jì)了采用CP4FSK調(diào)制解調(diào)方式的以ARM 9和ADF7021處理器為核心的數(shù)字對講機(jī)實(shí)驗(yàn)平臺(tái)方案。
開發(fā)了啟動(dòng)引導(dǎo)程序、OEM適應(yīng)層、外圍設(shè)備驅(qū)動(dòng)在內(nèi)的板級支持包,完成了 Windows Embedded CE系統(tǒng)的移植。
設(shè)計(jì)和開發(fā)了調(diào)制解調(diào)系統(tǒng)與嵌入式處理器之間的雙串行接口和相關(guān)驅(qū)動(dòng)程序。最后,完成實(shí)驗(yàn)平臺(tái)硬件系統(tǒng)的 設(shè)計(jì)和制作,并對其進(jìn)行測試。
【關(guān)鍵詞】數(shù)字對講機(jī);Windows Embedded CE;ARM;板級支持包;CP4FSK調(diào)制 【中圖分類號(hào)】TN929.3 【文獻(xiàn)標(biāo)識(shí)碼】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月,原信息產(chǎn)業(yè)部無線電管理局發(fā)布了 《數(shù)字對講機(jī)系統(tǒng)設(shè)備無線射頻技術(shù)指標(biāo)要求》(試 行),正式啟動(dòng)了中國對講機(jī)數(shù)字化進(jìn)程[1]。當(dāng)前確定 的數(shù)字對講機(jī)射頻信道間隔為12.5 kHz與6.25 kHz,
分別對應(yīng)二時(shí)隙TDMA與FDMA,各指標(biāo)與P25和 DMR/DPMR標(biāo)準(zhǔn)基本兼容[2]。在2008年2月的首屆數(shù) 字對講機(jī)應(yīng)用與發(fā)展論壇中,各廠家提出了包括半雙 工語音、單呼與組呼、分組數(shù)據(jù)業(yè)務(wù)等全新功能,更加 符合指揮調(diào)度的苛刻要求。包括交通運(yùn)輸、公共安全、
水利林業(yè)和大型企業(yè)等專業(yè)對講的重點(diǎn)使用領(lǐng)域,均 對數(shù)字對講機(jī)在同一平臺(tái)上滿足多種無線通信需求 的能力表示出濃厚的興趣。
2 CP4FSK調(diào)制解調(diào)
CP4FSK是一種有記憶非線性恒包絡(luò)調(diào)制。與目 前常用的GMSK調(diào)制方式相比較,具有頻譜效率高、臨 道干擾小的特點(diǎn);與非恒包絡(luò)調(diào)制方式如QPSK相比 較,采用CP4FSK調(diào)制方式的系統(tǒng)中的功率放大器可
電聲技雄2010年第34卷第03期19
CE ; ARM ; board support package ; CP4FSK modulation
工作在c類狀態(tài),減少了功耗。因此這種調(diào)制解調(diào)方 式非常適用于數(shù)字對講機(jī)系統(tǒng)。
CP4FSK調(diào)制信號(hào)的產(chǎn)生原理如圖1所示。
數(shù)據(jù) 數(shù)據(jù)映射 數(shù)據(jù) 低通 FM 信號(hào)
(2-4映射) 濾波 調(diào)制
圖1 CP4FSK調(diào)制原理
為了獲得窄帶輸出的信號(hào)頻譜和好的鄰道功率特 性,同時(shí)具有較好的抗干擾性能,預(yù)調(diào)濾波器使用平方 根升余弦濾波器進(jìn)行低通濾波。其頻率響應(yīng)為
大小的SRAM中。這要求啟動(dòng)引導(dǎo)程序的大小不能超 過4 000 Byte。因此,需要采用二級結(jié)構(gòu)。第1級啟動(dòng) 引導(dǎo)程序負(fù)責(zé)把第2級加載到內(nèi)存之中,然后退出,把 系統(tǒng)控制權(quán)交給第2級•’第2級啟動(dòng)引導(dǎo)程序負(fù)責(zé)實(shí) 現(xiàn)其余的各種功能,最終把系統(tǒng)鏡像文件加載到內(nèi)存 之中,然后把系統(tǒng)控制權(quán)交給Nk.exe;Nk.exe負(fù)責(zé)加載 各種驅(qū)動(dòng)和服務(wù),最終完成系統(tǒng)的整個(gè)啟動(dòng)過程。
4.2.1第1級啟動(dòng)引導(dǎo)程序
第1級啟動(dòng)引導(dǎo)程序涉及大量處理器指令操作, 由于與處理器關(guān)系密切,需要使用匯編語言和C語言 混合編寫。按照執(zhí)行順序包括如下7個(gè)步驟:
(1)屏蔽所有中斷。系統(tǒng)啟動(dòng)過程中不需要也未 載入中斷服務(wù)程序,此時(shí)進(jìn)入中斷狀態(tài)意味著異常。所 以在NBoot中全程關(guān)閉中斷。
(2)設(shè)置CPU與系統(tǒng)總線的時(shí)鐘頻率與分頻比。
(3)設(shè)置SDRAM的運(yùn)行參數(shù)寄存器,包括刷新間 隔與方式、地址與片選的建立時(shí)間與保持時(shí)間、數(shù)據(jù)訪 問周期、訪問延遲、突發(fā)模式等。
(4)分別進(jìn)入CPU各運(yùn)行模式,并初始化其堆棧, 載入中斷向量表。
(5)初始化串口,主要用來輸出調(diào)試信息。
(6)初始化 NAND FLASH。
(7)通過循環(huán)將第2級啟動(dòng)引導(dǎo)程序的二進(jìn)制代 碼從FLASH中復(fù)制到RAM中的指定地址,并跳轉(zhuǎn)到 其入口地址,開始執(zhí)行。
4.2.2第2級啟動(dòng)引導(dǎo)程序
第2級啟動(dòng)引導(dǎo)程序完成的主要工作有:內(nèi)存管 理單元的初始化、串口初始化、硬件系統(tǒng)初始化、執(zhí)行 存儲(chǔ)的或者下載的系統(tǒng)鏡像等功能。最終程序指針跳 轉(zhuǎn)到Nk.exe的StartUp處,進(jìn)而啟動(dòng)WinCE操作系統(tǒng)。 4.3 OEM適配層
OEM適配層是系統(tǒng)內(nèi)核非常重要的一部分,它直 接負(fù)責(zé)與硬件進(jìn)行交互,是操作系統(tǒng)與硬件聯(lián)結(jié)的紐 帶。實(shí)際上,Nk.exe就是由OEM適配層和其他的一些 靜態(tài)庫編譯而來的。
OEM適配層的主要模塊如下:
(1) OEM適配層程序入口 StartUp,主要用于初始 化內(nèi)存管理單元、初始化一級內(nèi)存分頁表、完成物理地 址和虛擬內(nèi)存地址的映射、跳轉(zhuǎn)到系統(tǒng)內(nèi)核入口。
(2)板級初始化模塊,主要用于初始化LCD、緩存 Cache初始化、調(diào)用中斷初始化函數(shù)。
(3)各種中斷處理函數(shù),包括中斷初始化、中斷使
能、中斷禁止、中斷完成、中斷處理、計(jì)時(shí)器初始化。
(4) I/O控制、CPU空閑控制等模塊。
4.4外圍設(shè)備驅(qū)動(dòng)程序 4.4.1驅(qū)動(dòng)程序?qū)崿F(xiàn)的基本方式
在Windows Embedded CE中,設(shè)備驅(qū)動(dòng)程序是一 個(gè)動(dòng)態(tài)鏈接庫,它提供底層硬件與操作系統(tǒng)及運(yùn)行在 目標(biāo)設(shè)備上的應(yīng)用程序之間的一個(gè)抽象層。驅(qū)動(dòng)程序 公開一套已知名稱的函數(shù)并提供初始化硬件和與之通 信的規(guī)則。父進(jìn)程可通過調(diào)用LoadLibrary或 LoadDriver函數(shù)來加載驅(qū)動(dòng)程序。
4.4.2驅(qū)動(dòng)程序的動(dòng)態(tài)加載
在開發(fā)驅(qū)動(dòng)程序時(shí),有一個(gè)很頭疼的問題是驅(qū)動(dòng) 程序調(diào)試流程非常繁瑣。一般要有如下4個(gè)步驟:
(1)修改驅(qū)動(dòng)程序并編譯生成DLL文件;
(2)把DLL文件打包加入操作系統(tǒng)鏡像文件中去;
(3)把鏡像下載到目標(biāo)設(shè)備;
(4)啟動(dòng)系統(tǒng),加載驅(qū)動(dòng)程序,進(jìn)行測試。
根據(jù)集成開發(fā)環(huán)境、開發(fā)工作站性能、系統(tǒng)組成、
目標(biāo)設(shè)備配置等因素的不同,以上各步驟可能都要花 費(fèi)數(shù)分鐘時(shí)間,加在一起的話,時(shí)間就不短了。如果程 序開發(fā)遇到阻礙,需要反復(fù)調(diào)試時(shí),這種時(shí)間上面的損 耗是非常驚人的。
采用流驅(qū)動(dòng)的動(dòng)態(tài)加載方式進(jìn)行調(diào)試,則可以節(jié) 省大量的時(shí)間。
實(shí)現(xiàn)動(dòng)態(tài)加載,需要使用函數(shù)ActiveDevice()或者 ActiveDeviceEx()。它的作用是令設(shè)備驅(qū)動(dòng)可用。在使 用該函數(shù)時(shí),只要給出注冊表中的路徑字符串。所以,
要想很方便地動(dòng)態(tài)加載任意一個(gè)驅(qū)動(dòng),把驅(qū)動(dòng)的相關(guān) 注冊表信息放到HKEY_LOCAL_MACHINE下,主要內(nèi) 容包括前綴、動(dòng)態(tài)鏈接庫、目錄、順序等信息即可。
5調(diào)制解調(diào)系統(tǒng)控制程序
在嵌入式處理器和調(diào)制解調(diào)模塊之間的通信,通 過雙串行接口來實(shí)現(xiàn):數(shù)據(jù)傳輸由SPI接口實(shí)現(xiàn);控制 指令傳輸由GPIO來實(shí)現(xiàn);外部中斷由專門的SWD引 腳來實(shí)現(xiàn)。
S3C2440處理器中對于SPI接口和GPIO以及外
部中斷引腳的控制和訪問都是通過設(shè)置S3C2440內(nèi)部 寄存器來實(shí)現(xiàn)的。
5.1 S3C2440處理器內(nèi)部寄存器的設(shè)置
S3C2440中0x40000000以下的物理地址空間,被 分配給ROM,RAM,SRAM,SDRAM這些存儲(chǔ)器了 c
0x48000000以上的空間,則被分配給內(nèi)部寄存器。因
雄聲技2010年第34卷第03期21
根據(jù)測試結(jié)果可以看出本系統(tǒng)性能良好,達(dá)到了 預(yù)期要求。
5結(jié)語
筆者采用計(jì)算機(jī)通用聲卡實(shí)現(xiàn)的虛擬音頻分析儀 的設(shè)計(jì),系統(tǒng)性能好、成本低、界面簡潔明了、功能靈 活,便于功能擴(kuò)展與升級,需要增加功能只需添加相應(yīng) 函數(shù)即可。利用MIC IN接口配備標(biāo)準(zhǔn)傳聲器還可以 對標(biāo)準(zhǔn)聲源的一些性能進(jìn)行測量。
參考文獻(xiàn)
[1]王磊,陶梅.精通LabVIEW 8.X[M].北京:電子工業(yè)出版 社,2008.
[2]肖淵,馬麗萍.基于聲卡的虛擬示波器設(shè)計(jì)與實(shí)現(xiàn)[J].陜 西科技大學(xué)學(xué)報(bào),2009(4):92-95
[3]曲喜強(qiáng),劉哲.基于聲卡的音頻信號(hào)采集與分析系統(tǒng)設(shè) 計(jì)[J].電子測試,2009(2) :75-77.
[4]張桐,陳國順,王正林.精通LabVIEW程序設(shè)計(jì)[M].北 京:電子工業(yè)出版社,2008.
[5]劉國福,張屺,淳靜,等.DSP與ISA總線聲卡的接口技 術(shù)研究[J].測控技術(shù),2002(3):61-63.
作者簡介
劉雷,碩士,助理工程師,主要從事音視頻儀器的計(jì)量檢定 工作;
毛杰,本科,助理工程師,主要從事技術(shù)保障工作。
[責(zé)任編輯]史麗麗 [收稿日期]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 正弦波在頻譜圖里的顯示界面