• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

      韋晏旭,王志剛,羅光坤

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

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

      引 言

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

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

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

      1 系統(tǒng)概述

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

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

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

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

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

      從0x8000 0000開(kāi)始是WinCE內(nèi)核使用的虛擬地址空間。虛擬地址0x8000 0000~0x9FFF FFFF是帶緩沖的虛擬內(nèi)存,用來(lái)靜態(tài)映射所有的物理地址;而虛擬地址0xA000 0000~0xBFFF FFFF是不帶緩沖的,它會(huì)重復(fù)映射所有的物理內(nèi)存,如圖2所示。由于在驅(qū)動(dòng)程序中會(huì)直接訪問(wèn)設(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è)的片選信號(hào)時(shí),其有效的物理內(nèi)存起始地址是0x1000 0000,對(duì)應(yīng)的虛擬內(nèi)存起始地址為0x8400 0000;地址空間對(duì)應(yīng)關(guān)系為128 MB與32 MB。通過(guò)這個(gè)映射表還可以看到I/O和內(nèi)存控制器的映射。由于內(nèi)存的虛擬映射只能選擇無(wú)緩沖區(qū),故其虛擬映射首地址都必須再增加0x2000 0000,分別成為 0xB160 0000、0xA400 0000 、0xB080 0000 。

      表1 OE MAddress-Table

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

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

      2.3 ARM與FPGA通信時(shí)序邏輯

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

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

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

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

      圖3 總線訪問(wèn)時(shí)序圖

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

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

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

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

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

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

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

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

      且最后一次讀取量為M1。

      又如果M1≥Ms,則:

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

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

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

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

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

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

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

      系統(tǒng)人機(jī)監(jiān)控軟件分別進(jìn)行了2次數(shù)據(jù)讀取測(cè)試,第1次用戶設(shè)置掃描時(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,顯示過(guò)程時(shí)間誤差由式(9)得ΔST為T(mén)r,即為0.075 s??偩€訪問(wèn)時(shí)序結(jié)果如圖5所示。

      圖5 總線訪問(wèn)時(shí)序(理論值ST=1 s)

      第2次用戶設(shè)置掃描時(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,顯示過(guò)程時(shí)間誤差由式(9)得 ΔST為(Δk+1)×Tr,即為0.45 s??偩€訪問(wèn)時(shí)序結(jié)果如圖6所示。

      結(jié) 語(yǔ)

      圖6 總線訪問(wèn)時(shí)序(理論值ST=8 s)

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

      [1]羅伯特·A·威特.頻譜和網(wǎng)絡(luò)測(cè)量[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].電子測(cè)量技術(shù),2009,9(9):100-102.

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

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

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

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

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

      猜你喜歡
      頻譜儀掃頻掃描時(shí)間
      掃描時(shí)間的指紋
      睿士(2023年10期)2023-11-06 07:05:44
      急性缺血性腦卒中溶栓治療中參數(shù)優(yōu)化MRI的應(yīng)用有效性和臨床指導(dǎo)意義
      周林頻譜儀治療膝骨關(guān)節(jié)炎的療效分析
      正弦掃頻速率對(duì)結(jié)構(gòu)響應(yīng)的影響分析
      人工智能研發(fā)新核磁共振以縮短掃描時(shí)間
      如何提高頻譜儀測(cè)量弱小信號(hào)的能力
      寬帶高速掃頻信號(hào)源的高精度功率控制設(shè)計(jì)
      頻譜儀的本底噪聲對(duì)天線噪聲溫度測(cè)量的影響
      帶電等效阻抗掃頻測(cè)試的互感器繞組及外絕緣隱患快速識(shí)別新技術(shù)的應(yīng)用研究
      電子制作(2017年8期)2017-06-05 09:36:15
      一種線性掃頻干擾信號(hào)的參數(shù)估計(jì)方法
      甘南县| 延津县| 平乡县| 涞水县| 育儿| 阿克陶县| 龙川县| 衡山县| 寿光市| 七台河市| 繁昌县| 灵寿县| 万山特区| 朝阳区| 榆中县| 汉寿县| 保德县| 大关县| 太和县| 克拉玛依市| 巧家县| 黑河市| 陇川县| 陵川县| 安阳市| 甘肃省| 台南县| 和林格尔县| 甘谷县| 鄯善县| 额尔古纳市| 扎囊县| 门源| 邳州市| 沈丘县| 叙永县| 金阳县| 五峰| 台中县| 墨玉县| 柳江县|