亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CPU+FPGA的實時臨空信道模擬器設(shè)計

        2023-12-01 03:08:48劉雪妍
        計算機測量與控制 2023年11期
        關(guān)鍵詞:臨空狀態(tài)機模擬器

        路 輝,劉雪妍

        (北京航空航天大學(xué) 電子信息工程學(xué)院,北京 100191)

        0 引言

        臨近空間是距海平面20~100 km的區(qū)域[1],臨近空間飛行器指在臨近空間長期飛行、持續(xù)留空的飛行器,將臨空飛行器作為臨近空間通信平臺是開發(fā)和利用臨近空間的重要方向[2]。

        臨近空間平臺通信過程中,臨空飛行器發(fā)射的信號依次經(jīng)過平流層、對流層后到達接收終端。由于臨近空間通信鏈路較短,路徑損耗占比較低,信號傳輸過程中大氣環(huán)境產(chǎn)生的影響不可忽略;同時,鏈路仰角較高,信道常存在直射分量[3]。因此,臨空信道統(tǒng)計性建模過程中,氣象因素和通信鏈路仰角成為信道建??紤]的重點因素,將信號衰落分類為對地鏈路大氣衰減和無線信道衰落[4],如圖1所示。對地鏈路大氣衰減指對流層中的氧氣和水蒸氣造成電波信號的功率衰減,對信號產(chǎn)生影響的因素主要有大氣吸收損耗、降雨衰減[5]、云霧衰減、對流層閃爍[6]等。無線信道衰落包括由傳輸距離引起的路徑損耗[7]和傳輸延時、由地表各類障礙物引起的陰影效應(yīng)[8]和多徑效應(yīng),和移動終端與通信平臺間的相對運動引起的多普勒效應(yīng)[9]。

        圖1 臨近空間信道衰落類型

        信道特性研究是確定通信設(shè)備性能、實現(xiàn)可靠性通信的基礎(chǔ),仿真分析法具有可行性高、快速高效等優(yōu)點,常通過信道建模搭載模擬器實現(xiàn)[10]。更新率指1 s內(nèi)的參數(shù)發(fā)送次數(shù),高更新率降低了更新的時間間隔,有助于減少滯后時間,改善距離測量和跟蹤效果[11]。隨著臨近空間飛行器正由低速型向高速型機、超高速型發(fā)展,臨近空間高動態(tài)飛行器飛行速度、加速度、加加速度都很大,軌道機動性高,飛行器的多普勒頻率、多普勒變化率,以及多普勒二階變化率較大,需考慮多徑拓展引起的頻率選擇性衰落以及高動態(tài)多普勒帶來的快衰落問題[12]。這就要求信道模擬器具有較強的實時性,可快速跟蹤收發(fā)機運動狀態(tài)并根據(jù)信號傳播環(huán)境切換信道狀態(tài)。目前商用實時信道模擬器數(shù)據(jù)更新率可達1 000 Hz,可滿足航空航天等高精度定位、高動態(tài)測試需求,因此,本設(shè)計實現(xiàn)1 ms更新一次參數(shù)、可跟蹤高動態(tài)載體的實時臨空信道模擬器。

        1 臨空信道模擬器總體設(shè)計

        提升臨空信道模擬器的運算速度、參數(shù)更新的時間確定性是對信道模擬器性能的整體優(yōu)化,需要各部分協(xié)調(diào)實現(xiàn)。

        1.1 臨空信道模擬器架構(gòu)設(shè)計

        臨空飛行器運動過程中,位置與速度變化,則信號傳播路徑中的大氣狀況、信號仰角、陰影遮蔽程度、多普勒頻移隨之改變。因此,研究臨近空間信道,需要綜合考慮發(fā)射信號的頻率、收發(fā)機的位置及運動狀態(tài)、天氣因素,根據(jù)上述參數(shù)實時計算信號傳輸過程中的大氣造成的衰減、地形造成的陰影效應(yīng)、多徑效應(yīng),更新信道模型。因此,臨空信道模擬器的對信道參數(shù)的高速計算與更新至為重要。綜上,在充分考慮臨空信道傳輸特性,分析臨空信道模擬器功能需求情況下,本文對臨空信道模擬器提出三層架構(gòu)設(shè)計,分別為臨空信道模擬器客戶端、信道參數(shù)計算機和信道生成機,前兩部分搭載CPU(central processing unit)實現(xiàn),信道生成機主要模塊為FPGA(field-programmable gate array),如圖2所示。

        圖2 臨空信道模擬器架構(gòu)圖

        其中,臨空信道模擬器客戶端運行在Windows系統(tǒng)的主機,提供參數(shù)設(shè)置界面;信道參數(shù)計算機采用Linux操作系統(tǒng),用于獲取界面參數(shù)后計算信道參數(shù);信道生成機主要部分為FPGA,用于獲取信道參數(shù)后生成對應(yīng)信道衰落模型。三層架構(gòu)實現(xiàn)了界面和計算程序獨立運行,解除界面和計算程序的耦合,二者通過通信接口實現(xiàn)參數(shù)傳遞,不互相干擾,有效提高了開發(fā)效率。模擬器按照硬件區(qū)分可分為CPU和FPGA兩層,這種異構(gòu)模式充分利用了CPU便于人機交互、具有通信設(shè)備標(biāo)準(zhǔn)接口,F(xiàn)PGA運算速度塊、實時性高、具有重配置能力的特點,最大程度提升參數(shù)計算速率和信號處理速度。

        1.2 臨空信道模擬器通信方案

        由于三層架構(gòu)中各部分獨立運行,因此整體設(shè)計需要考慮系統(tǒng)控制與數(shù)據(jù)傳遞??蛻舳瞬僮骶哂凶罡邇?yōu)先級,參數(shù)計算機和信道生成機依次響應(yīng)客戶端的控制命令。臨空信道客戶端和信道參數(shù)計算機之間為無線網(wǎng)絡(luò)通信,選用TCP/IP協(xié)議組,IP層負責(zé)網(wǎng)絡(luò)主機的定位,數(shù)據(jù)傳輸?shù)穆酚?,TCP層負責(zé)面向應(yīng)用的可靠的數(shù)據(jù)傳輸機制。TCP/IP協(xié)議組可分為網(wǎng)絡(luò)層、傳輸層、應(yīng)用層三個層次[13],Socket是基于連接應(yīng)用層和傳輸層的套件,是對TCP/IP協(xié)議的封裝后提供的API接口,代表客戶端和服務(wù)端的一個通信進程,通信過程依次為服務(wù)器監(jiān)聽、客戶端請求和連接確認[14]。Socket通信簡單,靈活性高,傳輸數(shù)據(jù)可自定義,數(shù)據(jù)傳輸時間短,可跨平臺使用,適合于客戶端和服務(wù)器之間信息實時交互。信道參數(shù)計算機和信道生成機通過高速接口PCI Express(PCIe)連接,選用PCIe V2.0,8Lane,最大傳輸速率5.0 GT/s。利用Xilinx提供的DMA/Bridge Subsystem for PCIe(XDMA)IP核實現(xiàn)數(shù)據(jù)傳遞。XDMA的作用是將PCIe總線轉(zhuǎn)換成AXI總線,通過該模塊直接操作AXI總線上的設(shè)備寄存器,配置簡單靈活,避免了復(fù)雜的PCIe傳輸控制。

        臨空信道客戶端和信道參數(shù)計算機之間傳遞數(shù)據(jù)包含參數(shù)包括界面控制信號、信號參數(shù)、收發(fā)機參數(shù)與信道參數(shù),單向傳遞;信道參數(shù)計算機和信道生成機傳遞數(shù)據(jù)包含控制參數(shù)、信道參數(shù)和中斷請求,雙向傳遞。當(dāng)仿真開始后,客戶端將信號參數(shù)、收發(fā)機參數(shù)與信道參數(shù)發(fā)送至參數(shù)計算機,信道參數(shù)計算機完成計算后將控制信號和信道參數(shù)轉(zhuǎn)為信道模型控制字發(fā)送至信道生成機,信道生成機將信道狀態(tài)反饋至參數(shù)計算機,完成控制信號與參數(shù)的傳遞。三層架構(gòu)中各層功能模塊的設(shè)計基于其計算特點,對地鏈路大氣衰減計算中包含插值法讀取文件及復(fù)雜算數(shù)運算,更適合軟件實現(xiàn),因此主要由信道參數(shù)機實現(xiàn);無線信道衰落計算較為簡單,可分解為同相正交分量,并行執(zhí)行,適合硬件電路,選用信道生成機實現(xiàn)。

        2 信道參數(shù)計算機設(shè)計

        信道參數(shù)計算機用于計算對地鏈路大氣衰減(大氣吸收損耗、降雨衰減、云霧衰減、對流層閃爍)、路徑損耗、收發(fā)機仰角及相對速度。功能可分為三個層次:監(jiān)聽客戶端獲取參數(shù)、更新計算信道參數(shù)、接收來自FPGA的更新請求信號。各功能模塊如圖3所示。最上層模塊用于和遠程客戶端交互,利用Socket監(jiān)聽客戶端口,接收到客戶端發(fā)送的數(shù)據(jù)后進行解析,并將解析結(jié)果傳遞給參數(shù)計算模塊。中層模塊用于信道參數(shù)計算,其中對地鏈路大氣衰減根據(jù)界面設(shè)計氣象狀況先分別計算所需類型的衰落值,再匯總計算總體衰落值,并轉(zhuǎn)化為控制字下發(fā)到FPGA,在信道生成機的衰落模塊實現(xiàn)氣象性損耗衰落;無線鏈路衰減由參數(shù)計算機根據(jù)收發(fā)機位置、運動速度等計算其多普勒頻移方向、直射徑入射角、路徑仰角,生成多普勒控制字,在信道生成機生成對應(yīng)參數(shù)的信道衰落模型。底層模塊用于和FPGA交互,傳遞模擬器當(dāng)前運行狀態(tài)、獲取FPGA參數(shù)校驗情況、下發(fā)信道參數(shù)并接收更新請求。

        圖3 信道參數(shù)計算機功能模塊

        信道參數(shù)的計算與更新時間與各功能模塊執(zhí)行調(diào)度、參數(shù)計算邏輯、操作系統(tǒng)執(zhí)行時間均有密切聯(lián)系。因此,想要壓縮參數(shù)計算時間,實現(xiàn)信道參數(shù)的實時更新,需要針對上述相關(guān)因素分別進行優(yōu)化設(shè)計。

        2.1 功能模塊控制狀態(tài)機

        為實現(xiàn)參數(shù)計算機各功能模塊并行執(zhí)行,在參數(shù)計算機中設(shè)計選用三個線程,分別為:監(jiān)聽線程、計算線程、更新請求讀取線程。監(jiān)聽線程具有最高優(yōu)先級,當(dāng)接收到來自客戶端的開始、停止和退出信號時立即進行響應(yīng)。三線程的控制邏輯通過狀態(tài)機實現(xiàn),各狀態(tài)及跳轉(zhuǎn)邏輯如圖4所示。

        圖4 參數(shù)計算機控制模塊狀態(tài)機設(shè)計

        根據(jù)狀態(tài)機狀態(tài)與跳轉(zhuǎn)條件可知,模擬器上電啟動后,處于IDLE狀態(tài);當(dāng)客戶端參數(shù)設(shè)置完成、點擊開始,信道參數(shù)計算端接收開始控制信號后接收界面數(shù)據(jù)并進行解包;完成后進入INIT狀態(tài),進行信道初始化參數(shù)計算與下發(fā);完成后進入RENEW狀態(tài),進行信道更新參數(shù)計算與下發(fā);完成后進入WAIT狀態(tài),等待信道生成機的更新請求;當(dāng)接收到更新請求時,返回RENEW狀態(tài),再次計算與下發(fā)信道更新參數(shù);當(dāng)客戶端點擊停止仿真,返回IDLE狀態(tài);當(dāng)客戶端點擊關(guān)閉模擬器時,進入EXIT狀態(tài),退出計算程序。

        多線程設(shè)計實現(xiàn)各功能并行執(zhí)行,控制狀態(tài)機有效調(diào)度各功能執(zhí)行順序,避免程序串行造成的延遲與無關(guān)程序占用CPU,有利于提升計算效率。

        2.2 參數(shù)更新邏輯設(shè)計

        信道參數(shù)可根據(jù)其特點分為初始化參數(shù)和更新參數(shù),初始化參數(shù)包含信道衰落模塊選擇與否的標(biāo)志位和對應(yīng)衰落模型的相關(guān)參數(shù)值,更新參數(shù)包括隨收發(fā)機位置變化的信號時延、大尺度衰落和多普勒頻移。其中,臨空信道模擬器執(zhí)行過程中初始化參數(shù)不發(fā)生改變,因此,模擬器啟動,界面參數(shù)設(shè)置完成后僅下發(fā)一次。更新參數(shù)隨模擬器運動而發(fā)生改變,需要在模擬器運行過程中重復(fù)計算最新值并更新。同時,為保證參數(shù)正確傳遞,添加CRC編碼校驗機制。整體參數(shù)計算更新邏輯如圖5所示。

        圖5 參數(shù)更新邏輯

        當(dāng)信道模擬器啟動后,首先配置信道類型、計算初始化參數(shù),并進行CRC編碼,編碼完成后寫入信道生成機。信道生成機讀取后進行CRC校驗,校驗通過則繼續(xù)計算更新參數(shù),不通過則反饋異常,請求參數(shù)計算機再次發(fā)送。更新參數(shù)由來自信道生成機的更新請求信號控制,在此采用預(yù)計算的形式,即先計算完成一組更新參數(shù),當(dāng)獲取更新請求信號時將先數(shù)據(jù)寫入,后計算下一次更新參數(shù)。預(yù)計算可實現(xiàn)參數(shù)計算機獲取更新請求后立刻將數(shù)據(jù)返回,縮短數(shù)據(jù)發(fā)送延遲。

        2.3 優(yōu)化操作系統(tǒng)

        Windows和Linux均為非實時系統(tǒng),相較于Window系統(tǒng),Linux內(nèi)核模塊化程度高、支持多種體系結(jié)構(gòu)的處理器、安全性及可靠性更好。對于臨空信道模擬器而言,將參數(shù)計算機運行在Linux系統(tǒng)上,更加高效、穩(wěn)定、安全[15]。盡管Linux操作系統(tǒng)目前已加入了一些實時處理的支持,但其實時性仍然不足。目前對Linux的實時性改造方法分為雙內(nèi)核和直接修改內(nèi)核兩種技術(shù)路線。RT- Patch(realtime preemption patch)是用于提高Linux實時性的補丁,由Ingo Molnar和Thomas Gleixner于2000年開始開發(fā)維護[16]。它遵循POSIX標(biāo)準(zhǔn),實時系統(tǒng)的應(yīng)用程序和驅(qū)動程序差異很小,使用該方案開發(fā)比雙內(nèi)核機制更容易[17]。

        RT-Pacth實時搶占補丁通過中斷線程化、臨界區(qū)可搶占、高精度時鐘、優(yōu)先級繼承等方法來對Linux內(nèi)核進行實時性提升,如圖6所示。中斷線程化技術(shù)將中斷服務(wù)程序轉(zhuǎn)變?yōu)榭杀徊僮飨到y(tǒng)調(diào)度的線程,通過給中斷分配優(yōu)先級、減少關(guān)中斷的操作來避免無法調(diào)度實時任務(wù)的情況[18]。用戶可按需設(shè)置其優(yōu)先級,默認優(yōu)先級為50。實時補丁使用優(yōu)先級可繼承的互斥鎖(rt_mutex)替換自旋鎖和大內(nèi)核鎖實現(xiàn)高優(yōu)先級可以搶占臨界區(qū)[19]。RT-Patch提供新的時鐘管理系統(tǒng),使時鐘分辨率達到ns級。通過優(yōu)先級可繼承,即當(dāng)任務(wù)因低優(yōu)先級任務(wù)占據(jù)資源而堵塞時,低優(yōu)先級任務(wù)繼承被阻塞任務(wù)的優(yōu)先級,避免優(yōu)先級翻轉(zhuǎn)[20]。

        圖6 RT-Pacth實時搶占補丁對Linux內(nèi)核的影響

        圖7 信道生成機總體功能概覽圖

        3 信道生成機設(shè)計

        信道生成機用于生成信道衰落模型,實現(xiàn)對輸入信號的實時衰落。功能可分為三部分:參數(shù)接收模塊、控制模塊和信道衰落模塊,各功能模塊如圖7所示。

        參數(shù)接收模塊用于接收來自參數(shù)計算機的控制參數(shù)和信道參數(shù),數(shù)據(jù)通過XDMA寫入FPGA,其中AXI-Lite端口寫入信道模擬器控制信息,AXI端口寫入批量的信道參數(shù)??刂颇K首先解析控制信息,利用狀態(tài)機控制信道生成機的運行狀態(tài)和信號的流動方向,后在模擬器正常運行狀態(tài)下對信道參數(shù)進行校驗、解析、分發(fā)。信道衰落模塊包含信號的大尺度衰落(路徑損耗和對地鏈路大氣衰減在此部分完成)、陰影衰落(Lognormal)、Hilbert變換、小尺度衰落(Rayleigh/Rician/Nakagami)、復(fù)合衰落(Suzuki/C.Loo/Corazza),將來自模數(shù)轉(zhuǎn)換芯片的數(shù)字信號輸入所需信道衰落模型,完后信號衰落后經(jīng)數(shù)模轉(zhuǎn)換芯片輸出。

        參數(shù)計算機完成計算后,只有當(dāng)接收到來自信道生成機的更新請求信號后才會將更新參數(shù)寫入,因此,信道參數(shù)的更新需要參數(shù)計算機和信道生成機的共同配合。信息互通是配合的基礎(chǔ),參數(shù)計算機和信道生成機需要獲取對方的運行狀態(tài),從而確定各功能模塊是否正常運行。信道生成機將差分時鐘作為驅(qū)動源,可在確定時間內(nèi)完成確定數(shù)據(jù)操作。對于參數(shù)更新而言,信道生成機需要保證更新請求的穩(wěn)定發(fā)起;對于信號處理而言,信道生成機需要盡可能降低信號從輸入到輸出的延遲時間。針對上述需求,本設(shè)計分別進行關(guān)鍵信息同步、基于狀態(tài)機的雙保障更新機制、增大數(shù)據(jù)并行來保證信道生成機可靠、高速運行。

        3.1 關(guān)鍵控制信息同步

        參數(shù)計算機和信道生成機為實現(xiàn)雙向控制與信息反饋,需要對關(guān)鍵信息進行同步。臨空信道模擬器的關(guān)鍵控制信息包括當(dāng)前模擬器的運行狀態(tài)、初始參數(shù)寫入和讀取狀態(tài)、更新參數(shù)寫入和讀取狀態(tài)、和模擬器運行中產(chǎn)生的異常信息。由于參數(shù)計算機和信道生成機通過PCIe端口進行通信,XDMA將FPGA中的地址空間映射到內(nèi)存,因此二者可以通過向同一地址寫入、讀取數(shù)據(jù)來同步關(guān)鍵信息。控制信息僅在功能切換時同步,不需要批量傳輸,AXI-Lite通道可以滿足需求?;谏鲜龇治?,在信道生成機選用雙端口RAM存儲控制信息,參數(shù)計算機和信道生成機均可對該RAM進行讀寫,RAM寬度為32 bit,每字節(jié)對應(yīng)值所表示意義如表1所示。關(guān)鍵信息是參數(shù)計算機和信道生成機功能控制的重要依據(jù),而RAM兩側(cè)讀寫時鐘不同,可能會產(chǎn)生亞穩(wěn)態(tài),因此對各組數(shù)據(jù)進行冗余編碼,即當(dāng)每字節(jié)低4 bit或高4 bit同時為0跳或為1時,認為該值有效,反之視為異常。其中,模擬器運行狀態(tài)具有最高優(yōu)先級,當(dāng)信道模擬器處于正常運行狀態(tài)時,初始化標(biāo)志位、更新標(biāo)志位、異常標(biāo)志位正常更新,其他情況將值沖刷為零并保持不變。

        表1 關(guān)鍵信息標(biāo)志位分布與含義

        信道生成機根據(jù)參數(shù)計算機寫入RAM的模擬器運行信息控制輸入信號的流向,根據(jù)初始化參數(shù)和更新參數(shù)的寫入狀態(tài)控制參數(shù)讀取,完成后更新控制信息反饋至參數(shù)計算機。信道生成機的各運行狀態(tài)同樣通過狀態(tài)機實現(xiàn),各狀態(tài)及跳轉(zhuǎn)邏輯如圖8所示。

        圖8 信道生成機控制模塊狀態(tài)機設(shè)計

        臨空信道模擬器上電啟動后處于IDLE空閑態(tài);當(dāng)客戶端設(shè)計完成點擊開始,參數(shù)計算機將開始標(biāo)志位寫入,進入START狀態(tài),開始進行信道仿真,等待信道初始化參數(shù)寫入;初始化參數(shù)寫入完成后進入INIT狀態(tài)讀取參數(shù),并進行CRC校驗,校驗通過則更新關(guān)鍵信息中的初始化標(biāo)志位,進入WAIT狀態(tài),校驗失敗則寫入異常信號,請求參數(shù)計算機再次下發(fā);WAIT狀態(tài)等待更新參數(shù)寫入,當(dāng)更新參數(shù)開始寫入,跳轉(zhuǎn)至PC_W狀態(tài);更新參數(shù)寫入完成進入FPGA_R狀態(tài),讀取完成后更新關(guān)鍵控制信息中的更新標(biāo)志位。

        3.2 基于狀態(tài)機的雙保障更新機制

        從信道生成機發(fā)出的參數(shù)更新請求同樣基于狀態(tài)機的控制。參數(shù)更新請求利用時鐘計時,計數(shù)至確定值后拉高請求信號,以中斷形式發(fā)送至參數(shù)計算機。在參數(shù)快速更新過程中,涉及軟硬件交互,中斷信號被CPU接收和處理的時間、信道參數(shù)計算和寫入的時間均在波動,需要合理設(shè)計參數(shù)更新請求的發(fā)起方式。由于CPU處理中斷需要時間,無法全部響應(yīng)過于密集的中斷請求,這一點在Windows系統(tǒng)中尤為明顯。盡管參數(shù)計算機基于Linux系統(tǒng),但是CPU接收中斷數(shù)量小于發(fā)送數(shù)量的問題仍無法完全避免。同時,盡管參數(shù)計算機通過RT-Linux盡可能提升了參數(shù)計算程序的優(yōu)先級,仍有可能發(fā)生其他后臺程序搶占,造成參數(shù)計算機無法在規(guī)定時間內(nèi)完成更新參數(shù)計算。針對上述問題,本文提出基于狀態(tài)機的雙保障更新機制。握手是多設(shè)備、多模塊通信的常用方法,當(dāng)一端需要通信時會持續(xù)拉高請求信號,目的端接收到請求信號后,當(dāng)可以接收來自源端數(shù)據(jù)時給予反饋,視為一次握手成功,參數(shù)更新過程多處使用握手機制。

        信道生成機中斷更新請求模塊,如圖9所示。更新請求模塊包括標(biāo)準(zhǔn)1 ms計時模塊、浮動計時模塊和仲裁模塊。首輪更新參數(shù)寫入完成后,標(biāo)準(zhǔn)計時模塊啟動,計時至1 ms后拉高ready信號;浮動計時模塊用于統(tǒng)計更新請求信號發(fā)出至新的更新參數(shù)讀取完成的時間,讀取完成后拉高ready信號;仲裁模塊用于仲裁ready信號,當(dāng)輸入ready信號均為高電平時,反饋握手信號同時發(fā)起更新請求,標(biāo)準(zhǔn)計時模塊和浮動計時模塊收到反饋信號后清空數(shù)值,開始新一輪計數(shù)。參數(shù)更新請求發(fā)出后將持續(xù)處于有效狀態(tài),當(dāng)參數(shù)計算機接受到該請求后,反饋握手信號后,該請求拉低,以保證所有更新請求信號均成功被參數(shù)計算機接收。

        圖9 中斷更新請求模塊

        標(biāo)準(zhǔn)計時模塊和浮動計時模塊拉高ready信號在更新參數(shù)時會存在先后,對應(yīng)不同更新策略。正常情況下,更新請求信號發(fā)出至新的更新參數(shù)讀取完成的時間小于1 ms,即浮動計時模塊的ready信號先拉高,此后等待標(biāo)準(zhǔn)計時模塊計數(shù)至1 ms后發(fā)起更新請求,如圖10所示。異常情況下,如CPU被其他程序搶占導(dǎo)致更新請求信號一直未被處理或更新參數(shù)未計算完成時,則標(biāo)準(zhǔn)計時模塊先拉高ready,此后計數(shù)值保持不變,等待浮動計時模塊ready信號有效后再發(fā)起更新請求,如圖11所示。

        圖10 雙保障更新機制正常運行狀態(tài)

        圖11 雙保障更新機制異常運行狀態(tài)

        基于狀態(tài)機的雙保障更新機制對于模擬器正常運行和異常情況均設(shè)計對應(yīng)解決方案,同時通過CPU和FPGA間握手、計時模塊與仲裁模塊的多次握手機制,保證了參數(shù)更新請求的穩(wěn)定發(fā)起和全部被CPU接收處理。

        3.3 并行加速處理

        FPGA設(shè)計中,吞吐量、時延和時序與速度密切相關(guān)。吞吐率指系統(tǒng)一個時鐘周期能夠處理的數(shù)據(jù)數(shù)量,延時指數(shù)據(jù)從輸入系統(tǒng)到輸出系統(tǒng)總共需要的時間,時序收斂指FPGA中寄存器與寄存器、輸入、輸出均滿足時序要求。對FPGA進行并行加速處理,可從數(shù)據(jù)并行、流水線處理、節(jié)能優(yōu)化三個方面進行。數(shù)據(jù)并行用于信道衰落模塊,共分為兩級,如圖12所示。信道參數(shù)解析完成后發(fā)往各基礎(chǔ)衰落模塊,并行生成對應(yīng)參數(shù)的衰落模型,后在基礎(chǔ)衰落模型的基礎(chǔ)上并行實現(xiàn)復(fù)合衰落模型。

        圖12 數(shù)據(jù)并行處理

        流水線處理中,將組合邏輯過長的路徑在不改變電路功能的基礎(chǔ)上增加寄存器,避免時序違例導(dǎo)致模擬器不能運行在高時鐘頻率。節(jié)能優(yōu)化利用門控時鐘實現(xiàn),對所有信道衰落模型增加門控時鐘,當(dāng)前模擬需要該衰落類型,則正常翻轉(zhuǎn),不需要,則關(guān)斷時鐘。

        4 實時性測試

        參數(shù)計算機和信道生成機的整體優(yōu)化后,分別對參數(shù)計算時間、各階段參數(shù)寫入時間、中斷請求發(fā)起時間間隔進行測試。優(yōu)化前后參數(shù)計算時間如圖13所示,參數(shù)計算機優(yōu)化設(shè)計后計算時間明顯減少,當(dāng)統(tǒng)計次數(shù)至10 000 000次時,計算耗時為未進行優(yōu)化耗時的三分之一。

        圖13 參數(shù)計算時間統(tǒng)計圖

        以中斷發(fā)起為起點,按照執(zhí)行順序?qū)?shù)更新過程劃分為多個時間片,如圖14所示,該過程包含多次CPU和FPGA的信息交互,分別對各時間片長度進行測試。

        圖14 參數(shù)更新階段示意圖

        更新請求發(fā)起過程如圖15所示。通過在FPGA中添加計數(shù)器,記錄更新請求發(fā)起至接收到反饋握手信號的時間,并將每一輪更新時該階段的計數(shù)值寫入RAM,記錄32 768次,將RAM數(shù)據(jù)導(dǎo)出分析,結(jié)果見圖16,均值約為100 μs。參數(shù)更新標(biāo)志位寫入至更新參數(shù)全部寫入所耗時間如圖17所示,約為21 μs。參數(shù)讀取時間為參數(shù)幀數(shù)與時鐘周期的乘積,為4.21 μs。

        對圖14整體過程進行測試,通過在FPGA中添加計數(shù)器記錄每一輪參數(shù)更新所用時間,并將結(jié)果寫入RAM后整體讀取,進行數(shù)據(jù)分析,測試結(jié)果見圖18。

        圖15 計時至1 ms時發(fā)起更新請求

        圖16 中斷反饋時間

        圖17 更新參數(shù)寫入時間

        圖18 參數(shù)更新時間間隔

        綜合上述測試結(jié)果,一般情況下浮動計時模塊的時間均小于標(biāo)準(zhǔn)計時模塊,因此更新請求發(fā)起主要由標(biāo)準(zhǔn)計時模塊控制,每1 ms發(fā)起一次更新請求,可實現(xiàn)參數(shù)穩(wěn)定1 ms更新一次。

        5 結(jié)束語

        本文在臨近空間信道建模的基礎(chǔ)上,研究了基于CPU+FPGA架構(gòu)的信道模擬器參數(shù)更新速率受限的原因并提出優(yōu)化方案。通過對CPU從操作系統(tǒng)、控制邏輯、參數(shù)計算流程進行優(yōu)化設(shè)計,對FPGA從信息交互和數(shù)據(jù)流進行控制,實現(xiàn)了高速的參數(shù)計算、處理、傳遞全過程。測試結(jié)果表明,該臨空信道模擬器參數(shù)更新速率為1 000 Hz,可實現(xiàn)對高動態(tài)飛行器的實時跟蹤。

        猜你喜歡
        臨空狀態(tài)機模擬器
        浣溪沙·參觀黃岡臨空經(jīng)濟區(qū)感賦
        了不起的安檢模擬器
        盲盒模擬器
        劃船模擬器
        袁奇峰 空鐵上的廣州都市圈,花都臨空經(jīng)濟紅利空間巨大
        基于有限狀態(tài)機的交會對接飛行任務(wù)規(guī)劃方法
        臨空高速目標(biāo)多傳感器自主協(xié)同資源調(diào)度算法
        探析臨空經(jīng)濟對區(qū)域物流競爭力的提升
        動態(tài)飛行模擬器及其發(fā)展概述
        FPGA設(shè)計中狀態(tài)機安全性研究
        亚洲综合一区二区三区天美传媒| 丝袜美腿亚洲一区二区| 国产人成精品免费久久久| 蜜臀av999无码精品国产专区| 日本少妇人妻xxxxx18| 久久久久久久久久免免费精品| 国产精品一区二区日韩精品| 97青草超碰久久国内精品91| 红桃av一区二区三区在线无码av| 午夜福利院电影| 人妻熟妇乱系列| 蜜桃精品国产一区二区三区 | 欧美一级三级在线观看| 中文字幕无码免费久久99| 日本高清一区在线你懂得| 亚洲午夜无码毛片av久久| 18禁裸男晨勃露j毛免费观看 | 中文字幕一区二区三区人妻精品| 国产一区二区三区成人av| 美女扒开屁股让男人桶| 中国女人内谢69xxxx免费视频| 久久天天躁狠狠躁夜夜爽蜜月| 久久免费精品视频老逼| 国产日产亚洲系列首页| 一本色道久久爱88av| 亚洲av第一成肉网| 国产不卡一区二区三区视频| 中文字幕高清视频婷婷| 欧美精品国产综合久久| 免费现黄频在线观看国产| 亚洲中文字幕无线乱码va| 亚洲国产一区二区,毛片| 国产午夜精品无码| 无码专区久久综合久中文字幕| 国产高清女人对白av在在线| 日本频道一区二区三区| 蜜臀亚洲av无码精品国产午夜.| 欧美精品偷自拍另类在线观看| 经典女同一区二区三区| 一本之道久久一区二区三区| 亚洲性啪啪无码av天堂|