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

?

嵌入式WinCE平臺下的頻譜數(shù)據(jù)傳輸控制

2011-06-22 08:19韋晏旭王志剛羅光坤
關(guān)鍵詞:頻譜儀掃頻掃描時間

韋晏旭,王志剛,羅光坤

(電子科技大學(xué)自動化工程學(xué)院,成都611731)

韋晏旭(碩士生),研究方向?yàn)?ARM+WinCE+FPGA、VC++6.0、智能儀器軟件開發(fā)技術(shù)等。

引 言

頻譜分析儀是微波測量儀器中最基礎(chǔ)、最常用的儀器之一,被譽(yù)為頻域示波器,廣泛應(yīng)用于電子對抗、航空航天、移動通信、廣播電視、科研生產(chǎn)等各種領(lǐng)域,是軍用和民用電子測試不可或缺的設(shè)備[1]。隨著現(xiàn)代科研向精、深和尖的方向發(fā)展,頻譜測量在各領(lǐng)域內(nèi)發(fā)揮的影響越發(fā)顯得深遠(yuǎn)。目前,頻譜分析儀的開發(fā)在國內(nèi)也處于前沿陣地。綜合起來看,由于超外差式頻譜分析儀在分析射頻或微波毫米波范圍內(nèi)的高頻信號頻譜上具有明顯優(yōu)勢,本文便采取了這種由射頻前端、數(shù)字掃頻、中頻濾波、視頻檢波以及頻譜數(shù)據(jù)實(shí)時采集與顯示的整機(jī)設(shè)計(jì)方案。

現(xiàn)代頻譜儀除了對測量精度和測頻帶寬要求越來越高外,同時也更加強(qiáng)調(diào)低成本、便攜性以及可靠性。那么,智能儀器開發(fā)中就客觀要求在不影響其測量性能的前提下構(gòu)建一種滿足這種新需求的軟硬件平臺。頻譜儀在實(shí)際測量中,需要實(shí)現(xiàn)頻譜數(shù)據(jù)在儀器顯示屏上的實(shí)時刷新,那么頻譜數(shù)據(jù)的實(shí)時采集就顯得尤為重要。

WindCE作為保護(hù)模式的操作系統(tǒng),運(yùn)行其上的應(yīng)用程序只能訪問系統(tǒng)管理的虛擬內(nèi)存地址。本文在以總線方式進(jìn)行數(shù)據(jù)訪問操作時,首先完成外部設(shè)備的物理地址到系統(tǒng)內(nèi)存地址虛擬映射[2],從而使外部數(shù)據(jù)FIFO所構(gòu)成的緩存邏輯成為可操作的設(shè)備單元。其次,由于頻譜儀掃頻時間過程是根據(jù)前端射頻、中頻及濾波器等硬件特性決定的,頻譜數(shù)據(jù)的產(chǎn)生快慢受到掃描時間的限制,掃描時間越長則經(jīng)過FFT或者濾波及檢波算法后的數(shù)據(jù)在緩存FIFO中的寫入速度就越慢。為了滿足頻譜數(shù)據(jù)的實(shí)時讀取和顯示,ARM與FPGA間的數(shù)據(jù)通信利用頻譜數(shù)據(jù)的實(shí)時有序讀取機(jī)制。

1 系統(tǒng)概述

該平臺使用的主控CPU型號為Samsung公司具有ARM9內(nèi)核的 S3C2440A,用于頻譜數(shù)據(jù)濾波、檢波等。數(shù)據(jù)緩存FIFO用的FPGA為Xilinx公司的Spartan 3AN,SDRAM與NAND Flash均為64 MB,Flash存儲設(shè)備支持SD卡和USB存儲。軟件層采用了WinCE 5.0作為操作系統(tǒng)平臺。WinCE系統(tǒng)的應(yīng)用程序只能訪問虛擬地址,當(dāng).exe可執(zhí)行代碼裝載入內(nèi)存時,通過地址重定位實(shí)現(xiàn)了地址映射,使之能夠訪問實(shí)際的外設(shè)物理地址[3]。在數(shù)據(jù)實(shí)時采集過程中,為了滿足有序讀取的要求,在FPGA中設(shè)計(jì)獨(dú)立的FIFO數(shù)據(jù)緩存單元和記錄其中數(shù)據(jù)緩存量的RAM單元。通過實(shí)時監(jiān)測RAM中的數(shù)據(jù)量記錄值,以保證監(jiān)控程序依據(jù)掃頻及硬件處理的頻率掃描時間完成實(shí)時適量數(shù)據(jù)采集過程。嵌入式ARM頻譜儀系統(tǒng)數(shù)據(jù)采集平臺結(jié)構(gòu)框圖如圖1所示。

圖1 系統(tǒng)數(shù)據(jù)采集平臺結(jié)構(gòu)框圖

2 頻譜數(shù)據(jù)緩存FⅠFO的訪問機(jī)制

2.1 內(nèi)存管理機(jī)制

WinCE5.0是保護(hù)模式下的基于優(yōu)先級的多任務(wù)32位操作系統(tǒng)[8],因此WinCE系統(tǒng)的虛擬尋址能力可達(dá)到4 GB。但是與桌面Windows操作系統(tǒng)的內(nèi)存管理相比,其虛擬內(nèi)存管理是獨(dú)特的。Windows XP的每個進(jìn)程獨(dú)享4 GB的虛擬地址空間,而WinCE中所有進(jìn)程共享一個4 GB的虛擬地址空間。這4 GB的虛擬地址空間又被分為兩個2 GB區(qū)域:低地址2 GB是用戶空間,為應(yīng)用程序所使用,應(yīng)用程序申請的內(nèi)存都會從低2 GB地址空間中返回;高地址2 GB是內(nèi)核空間,供WinCE操作系統(tǒng)本身使用[2]。

從0x8000 0000開始是WinCE內(nèi)核使用的虛擬地址空間。虛擬地址0x8000 0000~0x9FFF FFFF是帶緩沖的虛擬內(nèi)存,用來靜態(tài)映射所有的物理地址;而虛擬地址0xA000 0000~0xBFFF FFFF是不帶緩沖的,它會重復(fù)映射所有的物理內(nèi)存,如圖2所示。由于在驅(qū)動程序中會直接訪問設(shè)備I/O或者寄存器,就要使用0xA000 0000這段物理地址。

圖2 內(nèi)核映射的物理內(nèi)存

2.2 內(nèi)存映射的實(shí)現(xiàn)

2.2.1 映射關(guān)系

在ARM處理器中,WinCE的靜態(tài)內(nèi)存映射關(guān)系是由OAL層中的 OEMAddress-Table數(shù)組決定的,如表 1所列。當(dāng)選擇NGCS2作為外設(shè)的片選信號時,其有效的物理內(nèi)存起始地址是0x1000 0000,對應(yīng)的虛擬內(nèi)存起始地址為0x8400 0000;地址空間對應(yīng)關(guān)系為128 MB與32 MB。通過這個映射表還可以看到I/O和內(nèi)存控制器的映射。由于內(nèi)存的虛擬映射只能選擇無緩沖區(qū),故其虛擬映射首地址都必須再增加0x2000 0000,分別成為 0xB160 0000、0xA400 0000 、0xB080 0000 。

表1 OE MAddress-Table

2.2.2 映射實(shí)現(xiàn)

虛擬內(nèi)存映射主要用到3個API函數(shù):VirtualAlloc、VirtualCopy和VirtualFree。VirtualAlloc函數(shù)申請?zhí)摂M內(nèi)存,用于在本進(jìn)程的虛擬地址空間中申請一塊空間;VirtualCopy完成外設(shè)物理地址與虛擬空間地址的綁定;而VirtualFree用來釋放所申請的進(jìn)程虛擬空間,以及映射綁定關(guān)系[4]。具體映射步驟為:映射I/O控制寄存器→配置片選信號→映射內(nèi)存控制器→配置位寬、時序等→映射FPGA中的外設(shè)端口地址[3]。

2.3 ARM與FPGA通信時序邏輯

在程序?qū)崿F(xiàn)時,為了提高程序的模塊化和可移植特性,自定義兩個讀寫FPGA中數(shù)據(jù)緩存FIFO的接口函數(shù):UINT ReadEXDevice(const int port)和void WriteEXDevice(const int port,unsigned short data)。Port號為程序讀寫數(shù)據(jù)FIFO的地址端口號,通過映射關(guān)系,相應(yīng)虛擬地址的片選信號nGCS2有效。當(dāng)設(shè)置Data Bus的數(shù)據(jù)寬度是 32位時,則Address Bus的有效地址線為 A2~A31。讀寫使能信號nOE與nWE連同地址信號在FPGA中經(jīng)邏輯譯碼,實(shí)現(xiàn)了對FIFO和RAM的有序訪問。時序過程參考總線訪問時序圖,如圖3所示。

3 數(shù)據(jù)讀取機(jī)制

3.1 頻譜測量數(shù)據(jù)緩存及實(shí)時監(jiān)測

FPGA中數(shù)據(jù)緩存FIFO以及緩存量記錄單元RAM的邏輯設(shè)計(jì),解決了ARM與DSP、濾波檢波邏輯模塊之間數(shù)據(jù)的跨時鐘域傳輸以及實(shí)時監(jiān)測數(shù)據(jù)緩存量的問題。設(shè)計(jì)的FⅠFO為頻譜數(shù)據(jù)緩沖FⅠFO,數(shù)據(jù)位寬為32位,數(shù)據(jù)緩存深度為1024個單元;記錄數(shù)據(jù)量的RAM單元類似一個寄存器,ARM通過總線方式訪問其地址空間即可得到其中的記錄值,作為實(shí)時讀取量的判斷依據(jù)。這兩者的設(shè)計(jì)均可在Xilinx ISE集成開發(fā)環(huán)境下通過調(diào)用IP Core實(shí)現(xiàn)[6]。

圖3 總線訪問時序圖

3.2 掃描時間及讀取次數(shù)與單次讀取數(shù)據(jù)量的關(guān)系

頻譜儀的射頻前端、掃頻、中頻處理以及RBW和VBW各處理環(huán)節(jié)的硬件響應(yīng)特性是儀器掃描時間[5]的根本性決定因素,RBW越小或者掃頻寬度SPAN越寬,其掃描時間越長,則頻譜數(shù)據(jù)產(chǎn)生速度就越慢。掃描時間ST(Sweep Time)的經(jīng)驗(yàn)參考關(guān)系式如下:

其中,k為濾波器系數(shù)。頻譜儀在不同的硬件條件下,k的取值也是不同的。

頻譜儀在實(shí)際測量中,其前端各硬件模塊需要實(shí)現(xiàn)它本身的功能,即在特定的掃描時間ST內(nèi)產(chǎn)生滿足用戶要求測量精度的有效掃頻點(diǎn)數(shù)Ns。

在同等條件下,若頻譜數(shù)據(jù)點(diǎn)數(shù)越多,則其測頻精度會越高,本方案中選擇了全部有效掃頻點(diǎn)數(shù)Ns為1000點(diǎn)(1000p)。經(jīng)處理轉(zhuǎn)換后頻譜數(shù)據(jù)在送LCD顯示時,由于數(shù)據(jù)線帶寬、時鐘頻率和屏幕視頻幀刷新率等的限制,每刷新一次則需要一定的刷新時間Tr。那么,要實(shí)現(xiàn)譜線的實(shí)時刷新,就需要有對整個Ns的讀取次數(shù)k和單次讀取量Ms的算法關(guān)系。具體算法如下:

其中,mod表示Ns對k求余函數(shù),以下同。

由式(4)知道,若M1=0,則讀取次數(shù)k沿用式(2),單次讀取量Ms沿用式(3)。

若M1不為 0,如果M1<Ms,則:

且最后一次讀取量為M1。

又如果M1≥Ms,則:

且根據(jù)式(6)知,最后一次讀取量為M2。

刷新全屏誤差時間計(jì)算公式為:

經(jīng)式(8)分析計(jì)算得知,Tr單位為ms級,而 Δk不會超過5,那么總的誤差時間ΔST不會超過0.5 s。在頻譜儀的實(shí)際測量中,這完全滿足LCD上的頻譜刷新顯示高保真度的要求精度。經(jīng)驗(yàn)證,該算法具有實(shí)際應(yīng)用價值。

3.3 數(shù)據(jù)采集、處理與實(shí)時顯示的程序?qū)崿F(xiàn)流程與協(xié)調(diào)機(jī)制

應(yīng)用層軟件集成開發(fā)環(huán)境采用EVC4.0,是微軟公司提供的一種專門針對嵌入式設(shè)備進(jìn)行軟件開發(fā)的工具[7]。程序開發(fā)方法與步驟與常用的VC++6.0類似,而且也自帶了大多數(shù)與VC++6.0相同的函數(shù)庫,極大地縮短了開發(fā)周期。對于用戶監(jiān)控程序來講,其執(zhí)行流程與設(shè)計(jì)框架將決定著儀器性能能否充分發(fā)揮、是否符合用戶操作習(xí)慣等。本系統(tǒng)監(jiān)控軟件數(shù)據(jù)讀取流程如圖4所示。

圖4 數(shù)據(jù)讀取流程

4 測試結(jié)果及誤差分析

系統(tǒng)人機(jī)監(jiān)控軟件分別進(jìn)行了2次數(shù)據(jù)讀取測試,第1次用戶設(shè)置掃描時間ST為1 s,則有:

M1=mod(Ns,k)=mod(1000p,13次)=12p,可知M1<Ms,則k=k+1=(13+1)次,那么全頻帶數(shù)據(jù)讀取次數(shù)為14次,且最后一次數(shù)據(jù)讀取量為M1=12p,顯示過程時間誤差由式(9)得ΔST為Tr,即為0.075 s。總線訪問時序結(jié)果如圖5所示。

圖5 總線訪問時序(理論值ST=1 s)

第2次用戶設(shè)置掃描時間為8 s,則有:

M1=mod(Ns,k)=mod(1000p,106次)=46p,可知 M1>Ms,則k=k+Δk+1=(106+Δk+1)次,其中次。則k=k+Δk+1=(106+5+1)次,那么全頻帶數(shù)據(jù)讀取次數(shù)為112次,且最后一次數(shù)據(jù)讀取量由式(6)可知為1p,顯示過程時間誤差由式(9)得 ΔST為(Δk+1)×Tr,即為0.45 s。總線訪問時序結(jié)果如圖6所示。

結(jié) 語

圖6 總線訪問時序(理論值ST=8 s)

本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于FPGA+ARM的硬件平臺,以及在WinCE操作系統(tǒng)運(yùn)行環(huán)境下對頻譜數(shù)據(jù)進(jìn)行實(shí)時有序讀取并完成實(shí)時刷新顯示的頻譜儀上層交互式軟件控制系統(tǒng)。通過WinCE虛擬映射機(jī)制,可以有效實(shí)現(xiàn)ARM與外圍設(shè)備的無縫連接,完成大量數(shù)據(jù)的快速傳輸通信。頻譜分析儀在對信號頻率測量中是實(shí)時掃描過程,那么人機(jī)監(jiān)控軟件的實(shí)時有序讀取數(shù)據(jù),保證了譜線在LCD上的高真度顯示。該系統(tǒng)的實(shí)現(xiàn)使得頻譜儀具有更好的便攜性和更完善的功能,而且開發(fā)周期短,在同領(lǐng)域的開發(fā)中有借鑒意義。

[1]羅伯特·A·威特.頻譜和網(wǎng)絡(luò)測量[M].北京:科學(xué)技術(shù)文獻(xiàn)出版社,1997:213-225.

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

[3]黨曉輝,謝華,戴志堅(jiān),等.基于WinCE的I/O控制軟件設(shè)計(jì)[J].電子測量技術(shù),2009,9(9):100-102.

[4]Richter J.Windows核心編程[M].北京:機(jī)械工業(yè)出版社,2008:156-170.

[5]劉祖深.頻譜分析儀原理與誤差來源[M].北京:工業(yè)器材出版社,1997:45-50.

[6]薛小剛,葛毅敏.Xinlinx ISE 9.X FPGA/CPLD設(shè)計(jì)指南[M].北京:人民郵電出版社,2007:162-165.

[7]汪兵,李存斌,等.EVC高級編程及其應(yīng)用開發(fā)[M].北京:中國水利水電出版社,2005:67-69.

[8]張冬泉,譚南林,王雪梅.Windows CE使用開發(fā)技術(shù)[M].北京:電子工業(yè)出版社,2006:18-21.

猜你喜歡
頻譜儀掃頻掃描時間
急性缺血性腦卒中溶栓治療中參數(shù)優(yōu)化MRI的應(yīng)用有效性和臨床指導(dǎo)意義
電力通信在5G網(wǎng)絡(luò)使用700M頻段的注意事項(xiàng)
周林頻譜儀治療膝骨關(guān)節(jié)炎的療效分析
正弦掃頻速率對結(jié)構(gòu)響應(yīng)的影響分析
人工智能研發(fā)新核磁共振以縮短掃描時間
多層螺旋CT肺動脈成像在診斷急診肺動脈栓塞中的臨床價值
如何提高頻譜儀測量弱小信號的能力
急性腦梗死全腦CT灌注成像掃描時間優(yōu)化
頻譜儀的本底噪聲對天線噪聲溫度測量的影響
帶電等效阻抗掃頻測試的互感器繞組及外絕緣隱患快速識別新技術(shù)的應(yīng)用研究