国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于嵌入式系統(tǒng)的誤碼儀的總體設(shè)計(jì)

2010-10-18 02:55古志強(qiáng)石春和賈盼恩軍械工程學(xué)院河北石家莊050003
物流科技 2010年9期
關(guān)鍵詞:誤碼驅(qū)動(dòng)程序誤碼率

古志強(qiáng),石春和,賈盼恩 (軍械工程學(xué)院,河北 石家莊 050003)

基于嵌入式系統(tǒng)的誤碼儀的總體設(shè)計(jì)

古志強(qiáng),石春和,賈盼恩 (軍械工程學(xué)院,河北 石家莊 050003)

誤碼儀是專門為測(cè)試通信信道誤碼率而開發(fā)的儀器,其測(cè)試的直觀性給工程實(shí)際應(yīng)用帶來了極大的便利。設(shè)計(jì)了基于嵌入式系統(tǒng)和FPGA的簡(jiǎn)易誤碼儀,充分利用了FPGA強(qiáng)大的可編程能力和豐富的資源,以及WinCE嵌入式系統(tǒng)體積小、功能強(qiáng)大等優(yōu)勢(shì)。設(shè)計(jì)了基于FPGA的誤碼測(cè)試板,該板通過PC104總線與PCM-3350嵌入式系統(tǒng)板進(jìn)行通信,在實(shí)驗(yàn)平臺(tái)上初步實(shí)現(xiàn)了其功能,具有很好的實(shí)用價(jià)值。

嵌入式系統(tǒng);誤碼測(cè)試儀;FPGA;PC104

0 引 言

由于數(shù)字通信具有許多優(yōu)良的特性,數(shù)字傳輸方式日益受到歡迎。但在數(shù)字通信中,信道噪聲使得接收端不可避免地會(huì)出現(xiàn)誤碼而影響通信的可靠性,在數(shù)字通信中誤碼率是一項(xiàng)主要的質(zhì)量指標(biāo)[1]。因而,誤碼與誤碼率的研究與檢測(cè)一直深受關(guān)注。誤碼儀將信道誤碼率結(jié)果直觀、準(zhǔn)確地顯示出來,從而可方便地判斷數(shù)字通信系統(tǒng)的可靠性。本文充分利用了FPGA的靈活性,以及嵌入式系統(tǒng)的體積小、功能強(qiáng)大等優(yōu)勢(shì),設(shè)計(jì)了該簡(jiǎn)單實(shí)用的誤碼儀。

1 誤碼測(cè)試系統(tǒng)的基本原理

誤碼率的測(cè)試儀主要由發(fā)送模塊和接收模塊兩個(gè)部分組成[2]。首先,由發(fā)送模塊產(chǎn)生偽隨機(jī)碼序列數(shù)據(jù)流,作為誤碼測(cè)試的測(cè)試碼;經(jīng)過發(fā)送端發(fā)送到被測(cè)信道,測(cè)試碼通過被測(cè)信道后由接收端模塊接收,經(jīng)過一定的處理后,將其與本地產(chǎn)生的、與發(fā)端形式相同的偽隨機(jī)碼比特流進(jìn)行比較,分析比較的結(jié)果即可計(jì)算誤碼率,從而完成誤碼測(cè)試。誤碼率計(jì)算方法如下[2]:

式中,m為傳輸?shù)恼`碼數(shù),N為發(fā)送的碼元總數(shù)。

如圖1所示,其中,接收端的時(shí)鐘提取電路為本地測(cè)試碼發(fā)生器提供與發(fā)送端同頻率的時(shí)鐘,從而保證接收端時(shí)鐘的正確性。

2 誤碼測(cè)試板的設(shè)計(jì)思路

誤碼測(cè)試板設(shè)計(jì)思路示意圖如圖2所示,該板由FPGA及其外圍電路組成,核心器件為FPGA,其工作原理如下:

圖1 誤碼率測(cè)試原理圖

在低頻時(shí)鐘CLK1的驅(qū)動(dòng)下,將 “測(cè)試碼生成模塊”生成的時(shí)鐘測(cè)試數(shù)據(jù)輸入到被測(cè)信道,由FPGA設(shè)計(jì)的接收端接收。接收端包含有時(shí)鐘同步模塊、幀同步和誤碼檢測(cè)模塊和誤碼統(tǒng)計(jì)模塊。 “時(shí)鐘同步模塊”在高頻時(shí)鐘CLK8的驅(qū)動(dòng)下,提取時(shí)鐘測(cè)試數(shù)據(jù)流的時(shí)鐘信號(hào),時(shí)鐘同步成功后,便得到同步時(shí)鐘CLK和時(shí)鐘同步信號(hào)Syn,并用Syn信號(hào)通知發(fā)送端時(shí)鐘同步階段已完成,使 “測(cè)試碼生成模塊”開始發(fā)送周期為T=29-1的m序列 (即該系統(tǒng)標(biāo)準(zhǔn)的誤碼率測(cè)試碼)。m序列經(jīng)過被測(cè)信道進(jìn)入接收端的 “幀同步和誤碼檢測(cè)模塊”,接下來進(jìn)行幀同步搜索,當(dāng)首次搜索到幀同步信號(hào)時(shí),所有計(jì)數(shù)器復(fù)位并開始計(jì)數(shù),并對(duì)一幀數(shù)據(jù)進(jìn)行誤碼檢測(cè);若非首次搜索到幀同步信號(hào),則只對(duì)幀信號(hào)進(jìn)行誤碼檢測(cè)。檢測(cè)到的誤碼信號(hào)傳遞給 “誤碼統(tǒng)計(jì)模塊”,該模塊負(fù)責(zé)統(tǒng)計(jì)誤碼數(shù),并把誤碼數(shù)送給顯示模塊進(jìn)行誤碼率計(jì)算和顯示。在誤碼檢測(cè)過程中,若一幀數(shù)據(jù)的誤碼數(shù)達(dá)到誤碼閾值或者激活 “Reset”鍵,則該模塊會(huì)給幀同步和誤碼檢測(cè)模塊發(fā)送LostSyn信號(hào),使所有的計(jì)數(shù)器清零,并使系統(tǒng)重新進(jìn)行幀同步搜索和誤碼檢測(cè)。

3 誤碼儀軟硬件設(shè)計(jì)

3.1 誤碼儀硬件設(shè)計(jì)

誤碼儀的主要硬件構(gòu)成為研華公司的PCM-3350嵌入式系統(tǒng)板和自行設(shè)計(jì)的以ALTERA EPF10K20TC144-4芯片為核心的誤碼測(cè)試板。

PCM-3350是一款基于X86體系微處理器和PC104總線的模塊,板載功耗低,可以無風(fēng)扇工作,支持Windows CE系統(tǒng),兼容工業(yè)計(jì)算機(jī)的所有功能,專門為嵌入式系統(tǒng)開發(fā)設(shè)計(jì),能夠適合各種場(chǎng)合和各種惡劣環(huán)境[3]。

PCM-3350和誤碼測(cè)試板通過PC104相連接。其中,PC/104總線信號(hào)定義和功能與它們?cè)贗SA總線相應(yīng)部分是完全相同的。104根線分為5類:地址線、數(shù)據(jù)線、控制線、時(shí)鐘線、電源線。其模塊的擴(kuò)展和應(yīng)用非常靈活[3]。在嵌入式系統(tǒng)中通常有獨(dú)立的模塊堆棧和作為元件應(yīng)用兩種基本方法來使用。該設(shè)計(jì)中采用獨(dú)立模塊堆棧的方法,即PC104總線模塊之間的連接是通過上層的針和下層的孔互相咬和相連,這種層疊封裝有極好的抗震性,也可以硬件減小占用的面積。該設(shè)計(jì)中誤碼測(cè)試板和PCM-3350的連接方式就是采用獨(dú)立模塊堆棧的方式。獨(dú)立模塊堆棧連接示意圖如圖3所示。

誤碼測(cè)試板的設(shè)計(jì)以EPF10K20TC144-4芯片為核心,充分利用了FPGA芯片靈活的編程能力,使得設(shè)計(jì)的周期和成本大大降低。EPF10K20TC144-4芯片具有144個(gè)外部引腳,有102個(gè)可以被配置使用,具有1 152個(gè)邏輯單元,12 288個(gè)RAM位,1 344個(gè)觸發(fā)器。該器件使用TQFP封裝方式,支持高達(dá)60MHz的數(shù)據(jù)速率[3]。測(cè)試碼發(fā)送模塊和接收模塊都由該芯片實(shí)現(xiàn),同時(shí)為了調(diào)試方便,設(shè)計(jì)了手動(dòng)誤碼加入模塊。

誤碼測(cè)試板與PC104總線進(jìn)行連接時(shí),使用的總線信號(hào)包括:數(shù)據(jù)總線,SD0~SD15;地址總線,SA0~SA9;讀寫線,IOW、IOR;DMA控制信號(hào),AEN;電源和地線,+5V、+12V、GND等。其中,SA0~SA9直接與FPGA配置為輸入的10位IO引腳相連。SD0~SD15直接與FPGA配置為輸出的16位引腳相連接。IOW、IOR、AEN直接與FPGA配置為輸入的3位IO引腳相連。其他為電源、晶振和FPGA配置模塊和掉電保護(hù)等外圍電路。

3.2 誤碼儀的軟件設(shè)計(jì)

WinCE是開放體系結(jié)構(gòu)的嵌入式操作系統(tǒng),具備完備的操作系統(tǒng)特性包,能較好地滿足開發(fā)基于嵌入式誤碼儀的需求[4]。

為了使自行設(shè)計(jì)的誤碼測(cè)試板能實(shí)現(xiàn)其功能,為其開發(fā)了配套軟件,包括應(yīng)用程序和流式接口驅(qū)動(dòng)程序。

設(shè)備驅(qū)動(dòng)程序是操作系統(tǒng)與硬件交互的方式,是連接硬件與操作系統(tǒng)之間的橋梁,操作硬件是驅(qū)動(dòng)的首要任務(wù)[5]。在WindowsCE下,多數(shù)驅(qū)動(dòng)程序都以用戶狀態(tài)下的DLL文件形式存在。DLL文件最大的優(yōu)勢(shì)在于可在系統(tǒng)運(yùn)行時(shí)動(dòng)態(tài)加載。本設(shè)計(jì)中的流式接口驅(qū)動(dòng)程序的加載就是通過應(yīng)用程序動(dòng)態(tài)加載實(shí)現(xiàn)的。流式接口驅(qū)動(dòng)程序具有定制的接口,是一般類型的設(shè)備驅(qū)動(dòng)程序,其驅(qū)動(dòng)程序文件一般也表現(xiàn)為 “*.dll”文件。這種驅(qū)動(dòng)程序的函數(shù)是一組固定的函數(shù),稱為流接口函數(shù),這些函數(shù)使得應(yīng)用程序可以通過文件系統(tǒng)訪問這些驅(qū)動(dòng)程序,也就是說,流式接口驅(qū)動(dòng)程序把設(shè)備抽象為文件進(jìn)行操作。

Windows CE中定義的流式接口函數(shù)有 12個(gè)[5],分別為 XXX_Open(),XXX_Close(),XXX_Init(),XXX_Deinit(), XXX_Read(), XXX_Write(), XXX_Seek(), XXX_IOControl(), XXX_PowerUp(), XXX_Power-Down(),XXX_PreClose(),XXX_PreDeinit()。其中XXX是驅(qū)動(dòng)程序的設(shè)備名稱,有些函數(shù)是直接與某個(gè)文件操作API對(duì)應(yīng)的;而有些函數(shù)是為了某些特殊的目的。在本設(shè)計(jì)中設(shè)備名稱為BER,所以命名用到幾個(gè)函數(shù)為BER_Init(),BER_Deint(),BER_Read(),剩余幾個(gè)流式接口函數(shù)不進(jìn)行任何實(shí)質(zhì)性的操作,可以置為空函數(shù)。在BER_Init()中實(shí)現(xiàn)一些全局變量的初始化,在BER_Deinit()中實(shí)現(xiàn)全局變量的恢復(fù),在BER_Read()實(shí)現(xiàn)了從總線上讀取數(shù)據(jù)的功能。

該設(shè)計(jì)的應(yīng)用程序基本結(jié)構(gòu)如圖4所示。

該軟件的開發(fā)環(huán)境為EVC4.0,面板中顯示的項(xiàng)目有誤碼個(gè)數(shù)、誤碼率、測(cè)試時(shí)間和當(dāng)前時(shí)間,以及測(cè)試進(jìn)度。使用方法為:首先打開電源,系統(tǒng)初始化的過程中應(yīng)用程序自行啟動(dòng)并動(dòng)態(tài)加載流接口驅(qū)動(dòng)程序,然后進(jìn)入設(shè)置測(cè)試時(shí)長(zhǎng)的界面。設(shè)置完后按確認(rèn)鍵進(jìn)入測(cè)試面板,面板中的顯示實(shí)時(shí)的計(jì)算結(jié)果。

誤碼相關(guān)數(shù)據(jù)從讀出到顯示的基本流程為:首先由應(yīng)用程序每0.5s調(diào)用讀函數(shù),讀函數(shù)通過調(diào)用下面這個(gè)函數(shù):

BOOL ReadFile(

HANDLE hFile,

LPVOID lpBuffer,

DWORD nNumberOfBytesToRead,

LPDWORD lpNumberOfBytesRead,

LPOVERLAPPED lpOverlapped

);

驅(qū)動(dòng)程序就將要讀取的數(shù)據(jù)返回給應(yīng)用程序。應(yīng)用程序得到所需數(shù)據(jù)后,再將數(shù)據(jù)按照誤碼率計(jì)算方法進(jìn)行運(yùn)算,計(jì)算的結(jié)果在誤碼儀的測(cè)試軟件面板中顯示出來。

對(duì)于FPGA的程序設(shè)計(jì),采用VHDL語言和原理圖混合的方法實(shí)現(xiàn)五大功能模塊,有測(cè)試碼生成模塊、時(shí)鐘同步模塊、幀同步和誤碼檢測(cè)模塊、誤碼統(tǒng)計(jì)模塊,LE使用率為91%。

圖4 應(yīng)用程序基本結(jié)構(gòu)

4 結(jié)束語

為了驗(yàn)證以上所述設(shè)計(jì)方法的有效性,在理論研究的同時(shí),也進(jìn)行了一些實(shí)驗(yàn)。在對(duì)整個(gè)系統(tǒng)調(diào)試過程中,直接將發(fā)送端接到接收端進(jìn)行自測(cè)時(shí),設(shè)定測(cè)試時(shí)間為30分鐘,如果沒有手動(dòng)加入誤碼,則誤碼個(gè)數(shù)顯示為“0”,誤碼率顯示為 “0”;如果手動(dòng)加入誤碼,誤碼個(gè)數(shù)與手動(dòng)加入誤碼次數(shù)相一致,誤碼率顯示正確。系統(tǒng)調(diào)試結(jié)果表明,該方案具有可行性。在以后的研究中將進(jìn)一步完善之。

[1] 樊昌信,曹麗娜.通信原理[M].6版.北京:國(guó)防工業(yè)出版社,2006:398.

[2] 楊亮.低速率誤碼測(cè)試儀的設(shè)計(jì)和實(shí)現(xiàn)[D].鄭州:鄭州大學(xué),2005.

[3] 關(guān)進(jìn)輝.面向防空指揮系統(tǒng)的空情信息模擬訓(xùn)練器的設(shè)計(jì)與實(shí)現(xiàn)[D].石家莊:軍械工程學(xué)院,2010.

[4] 趙國(guó)峰,朱其林.基于WinCE移動(dòng)終端的無線視頻會(huì)議系統(tǒng)[J].通信技術(shù),2008,41(8):201-203.

[5] 何宗鍵.Windows CE嵌入式系統(tǒng)[M].北京:北京航空航天大學(xué)出版社,2006:194-264.

Design of BER Test Apparatus Based on Embeded System

GU Zhi-qiang,SHI Chun-he,JIA Pan-en (Ordnance Engineering College,Shijiazhuang 050003,China)

BER test apparatus is designed to test bit error rate of communication channel.Intuition of the test brings great convenience to the practical application.A sample BER test apparatus based on embedded system and FPGA is designed,making full use of the design flexibility and powerful function of FPGA and WinCE embedded system.The BER test board is designed and its communication with the PCM-3350 board depends on PC104.Its preliminary function is achieved on the experiment platform,It has a good practical value.

embedded system;BER test apparatus;FPGA;PC104

TN911

A

1002-3100(2010)09-0089-03

2010-06-22

古志強(qiáng)(1987-),男,江西尋烏人,軍械工程學(xué)院碩士研究生,研究方向:控制系統(tǒng)性能檢測(cè)與故障診斷。

猜你喜歡
誤碼驅(qū)動(dòng)程序誤碼率
面向通信系統(tǒng)的誤碼率計(jì)算方法
ZPW-2000A電碼化軌道電路誤碼問題分析及解決方案
計(jì)算機(jī)硬件設(shè)備驅(qū)動(dòng)程序分析
一種基于CAN總線的誤碼測(cè)試方法
多支路兩跳PF協(xié)作系統(tǒng)的誤碼性能
泰克推出BERTScope誤碼率測(cè)試儀
關(guān)于OTN糾錯(cuò)前誤碼率隨機(jī)波動(dòng)問題的分析
基于MPC8280的CPU單元與內(nèi)部總線驅(qū)動(dòng)程序設(shè)計(jì)
星載干涉合成孔徑雷達(dá)系統(tǒng)的誤碼率指標(biāo)分析
妙用鼠標(biāo)驅(qū)動(dòng)
英超| 勃利县| 昭平县| 夏邑县| 衡水市| 姚安县| 云安县| 鸡西市| 广元市| 教育| 永康市| 鄯善县| 哈尔滨市| 汉阴县| 甘谷县| 新闻| 河东区| 武强县| 永清县| 特克斯县| 屯留县| 子洲县| 望谟县| 沙坪坝区| 郧西县| 正阳县| 蒙城县| 长海县| 博乐市| 武功县| 郸城县| 互助| 高要市| 商都县| 应城市| 拜城县| 邯郸市| 民和| 改则县| 沙田区| 葵青区|