• 
    

    
    

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

      基于FPGA的遙測系統(tǒng)數(shù)據(jù)存儲器控制模塊設(shè)計

      2019-08-29 08:03:18
      計算機測量與控制 2019年8期
      關(guān)鍵詞:存儲器寄存器時序

      (廈門海洋學(xué)院 信息技術(shù)系,福建 廈門 361000)

      0 引言

      由于遙測系統(tǒng)數(shù)據(jù)信息量較大,在存儲過程中所占用的空間也相對較大,為了減少數(shù)據(jù)傳輸過程中所耗費的時間和所占用的空間,盡可能在有限信道內(nèi)對數(shù)據(jù)進(jìn)行存儲,能夠有效降低功率和帶寬要求。數(shù)據(jù)存儲目的就是數(shù)據(jù)能夠更高效傳輸,節(jié)省存儲空間,因此對于數(shù)據(jù)存儲器控制模塊設(shè)計在工程上具有很大應(yīng)用前景[1]。早期采用分離式、小規(guī)模芯片搭建的控制模塊,結(jié)構(gòu)復(fù)雜,可靠性較差,隨著大規(guī)模器件的出現(xiàn),早期控制模塊受到噪聲影響已經(jīng)無法滿足數(shù)據(jù)高效存儲需求[2]。因此,在遙測技術(shù)背景下,提出了基于FPGA的遙測系統(tǒng)數(shù)據(jù)存儲器控制模塊設(shè)計,具有實時高速大容量存儲功能,能夠及時記錄數(shù)據(jù)在存儲過程中狀態(tài)參數(shù),采用多個存儲單元并行存儲,能夠更好匹配數(shù)據(jù)傳輸,并提高存儲控制速率,經(jīng)過此控制模塊后,數(shù)據(jù)量減少,傳輸頻帶也相對減少,有效提高了數(shù)據(jù)存儲效率。

      1 控制模塊方案總體設(shè)計

      在實際環(huán)境中,要求數(shù)據(jù)存儲器控制模塊,低電壓差分信號接口的數(shù)據(jù)傳輸速率低于60 MB/S,并保證數(shù)據(jù)存儲器能夠可靠傳輸數(shù)據(jù),存儲容量不低于10 GB[3]。

      模塊總體設(shè)計框圖如圖1所示。

      圖1 模塊總體設(shè)計框圖

      由圖1可知:FPGA芯片的功能是輔助數(shù)字緩沖單元、數(shù)字存儲單元和數(shù)據(jù)位數(shù)轉(zhuǎn)換單元模塊實現(xiàn)數(shù)據(jù)存儲器控制。其通過與外部控制單元相連接,能夠緩沖存儲后的編碼數(shù)據(jù)。在數(shù)據(jù)讀取模塊,將存儲后的數(shù)據(jù)通過接口電路顯示在電腦中進(jìn)行讀取,由此獲取被高效控制后的數(shù)據(jù)[4]。

      在模塊總體設(shè)計框圖下,設(shè)計實現(xiàn)方案:輸入數(shù)字信號,添加數(shù)據(jù)緩沖模塊降低數(shù)據(jù)流速,并緩沖輸入數(shù)字信號。將數(shù)據(jù)存儲編碼后,輸出數(shù)據(jù)編碼流,經(jīng)過數(shù)據(jù)位數(shù)轉(zhuǎn)換單元,將數(shù)據(jù)編碼流轉(zhuǎn)換為數(shù)據(jù)形式,流向外部控制單元[5]。經(jīng)過接口電路將存儲后的數(shù)據(jù)讀取到電腦之中,經(jīng)過模塊軟件功能設(shè)計,使數(shù)據(jù)存儲不會受到噪聲干擾,保證數(shù)據(jù)存儲高效性[6]。

      1.1 控制模塊結(jié)構(gòu)

      數(shù)據(jù)存儲器控制模塊總體結(jié)構(gòu)設(shè)計如圖2所示。

      圖2 控制模塊總體結(jié)構(gòu)

      由圖2可知,將控制模塊結(jié)構(gòu)分為三部分,分別是自體測試接口模塊、低速讀寫控制模塊、高速流讀寫控制模塊。其中自體測試接口模塊是將隨機數(shù)發(fā)生器產(chǎn)生的數(shù)據(jù)寫入控制模塊之中,并將讀出與寫入數(shù)據(jù)進(jìn)行對比,實現(xiàn)自體測試,如果測試結(jié)果顯示正常,則說明控制模塊有效果[7]。反之,如果測試結(jié)果顯示錯誤,則說明控制模塊無效果;低速讀寫控制模塊可直接寫入讀取控制模塊指定地址的單個數(shù)據(jù);高速流讀寫控制模塊可大批量寫入讀取控制模塊任意地址的數(shù)據(jù)。

      1.1.1 存儲器命令控制

      高速大容量數(shù)據(jù)存儲器控制系統(tǒng)是以SATA2.0接口為存儲介質(zhì)設(shè)計的控制器,采用MSM6290高速存儲芯片作為存儲介質(zhì),能夠大大縮短尋道時間[8]。SATA2.0控制器工作性能是由物理層、鏈路層、傳出層和命令控制層決定的,當(dāng)數(shù)據(jù)從物理層數(shù)據(jù)收發(fā)到命令層過程中,每一層都是由自體檢測狀態(tài)機進(jìn)行控制的[9]。存儲器命令控制界面設(shè)計如圖3所示。

      圖3 存儲器命令控制界面

      根據(jù)存儲器命令控制界面,將采集命令與數(shù)據(jù)分層,可加快控制部分速度,并提高數(shù)據(jù)傳輸穩(wěn)定性,使數(shù)據(jù)在極短時間內(nèi)完成原語交互、信息處理和命令生成,最大程度發(fā)揮固態(tài)硬盤優(yōu)勢[10]。

      1)物理層為控制器最底層,其性能好壞決定了數(shù)據(jù)傳輸質(zhì)量,與鏈路層模塊之間使用原語級別通訊[11]。

      2)鏈路層是數(shù)據(jù)傳輸?shù)囊粋€通路,負(fù)責(zé)原語的收發(fā)控制,以此保證比特一級數(shù)據(jù)到幀一級數(shù)據(jù)能夠成功轉(zhuǎn)變。鏈路層例化接口示意圖如圖4所示。

      圖4 鏈路層例化接口示意圖

      在每一幀收發(fā)狀態(tài)鏈路層控制模塊下,啟動相應(yīng)收發(fā)控制狀態(tài)機,使原語不受到限制完成交互行為,同時啟動擾碼校驗,使整個傳輸工作完成控制后,并重新返回給控制模塊,以此等待新傳輸命令[12]。

      3)傳輸層負(fù)責(zé)接收不同幀中數(shù)據(jù)和命令,從中提取出來,轉(zhuǎn)交給命令層使用,通過構(gòu)建不同幀實現(xiàn)鏈路層數(shù)據(jù)間的傳輸轉(zhuǎn)換。

      4)命令控制層是將用戶輸入讀寫的起始和結(jié)束地址轉(zhuǎn)換成命令幀的一系列命令值,無需CPU干預(yù),直接依靠硬盤與傳輸設(shè)備之間進(jìn)行數(shù)據(jù)傳輸。

      在該控制器下,設(shè)計觸發(fā)接口電路。

      1.1.2 觸發(fā)接口電路

      FPGA雖然有多種接口標(biāo)準(zhǔn),但是承載負(fù)載能力較差,因此,對于觸發(fā)接口驅(qū)動電流應(yīng)保持在100mA左右,才可滿足設(shè)計要求。

      主控單元在接收到觸發(fā)信號后,需立即觸發(fā)控制模塊,并監(jiān)測各模塊運行狀態(tài)。外觸發(fā)信號包括按鈕和外部觸發(fā)信號,無論信號上升或下降都可隨時觸發(fā)延時,因此,在FPGA程序中采用自體檢測狀態(tài)機實現(xiàn)觸發(fā)信號判斷,其原理如圖5所示。

      圖5 觸發(fā)接口電路

      為了防止數(shù)據(jù)丟失,設(shè)計穩(wěn)態(tài)觸發(fā)接口電路,其中S1為高電平時,C2釋放電量,LM393比較器輸出高電平;S1為低電平時,C2通過R2進(jìn)行充電,LM393比較器反相端電位升高,如果C2電壓比流經(jīng)LM393比較器電壓要高,那么LM393比較器旋轉(zhuǎn),輸出低電平,進(jìn)而達(dá)到觸發(fā)目的。

      1.1.3 高速流讀寫控制模塊

      一旦接口電路被觸發(fā),那么控制模塊可進(jìn)行高速流讀寫控制。高速流讀寫控制模塊中最重要的部分是緩沖單元,在每次寫入數(shù)據(jù)時,需重新對HALF_DEPTH進(jìn)行定義。通過用戶使用流讀寫操作,可完成存儲數(shù)據(jù)快速讀寫,對于大批量數(shù)據(jù)流處理具有重要作用。

      針對數(shù)據(jù)流讀寫,用戶需將提供的數(shù)據(jù)寫入模塊之中,等待模塊中數(shù)據(jù)量達(dá)到總?cè)萘?/2時,開始讀取將要存儲的數(shù)據(jù),將讀取后的數(shù)據(jù)存儲到存儲器之中;當(dāng)控制器接收到用戶讀取信號時,直接將讀取的數(shù)據(jù)寫入存儲器控制模塊之中。如果信號有效,則表示數(shù)據(jù)中存在未讀取數(shù)據(jù),用戶可再次讀??;如果信號無效,則需繼續(xù)等待。此時,用戶需提供數(shù)據(jù)起始和終止地址以及請求信號,實現(xiàn)跨時鐘域存儲控制。

      采用高速存儲SATA2.0接口為存儲介質(zhì)設(shè)計控制器,可在物理層、鏈路層、傳輸層和命令控制層中進(jìn)行數(shù)據(jù)間傳輸轉(zhuǎn)換,最大程度發(fā)揮固態(tài)硬盤優(yōu)勢,在該控制器下,設(shè)計觸發(fā)接口電路。觸發(fā)接口驅(qū)動電流保持在100 mA左右,為防止數(shù)據(jù)丟失,添加LM393比較器,防止電平輸出過高,達(dá)到高速流讀寫控制觸發(fā)目的,由此完成模塊結(jié)構(gòu)設(shè)計。

      1.2 模塊控制流程

      硬件采用Cyclone系列FPGA芯片,編譯環(huán)境為QuartusⅡ集成開發(fā)環(huán)境,使用LPC2214芯片,設(shè)計模塊功能。模塊功能設(shè)計主要包括主控單元、延時控制單元和通信單元,其中主控單元采用C語言進(jìn)行設(shè)計,該部分程序包括液晶顯示子程序、鍵盤操作子程序、數(shù)據(jù)存儲子程序和RS485通信子程序;延時控制單元包括輸出控制子程序、測試子程序;通信單元包括主控單元分別與主機通信和延時控制單元與主機通信的協(xié)議。

      數(shù)據(jù)存儲器控制模塊啟動時,需先自體檢查,如果需要參數(shù)設(shè)置,那么將該參數(shù)全部寫入存儲器之中;反之,如果不需要參數(shù)設(shè)置,則直接從數(shù)據(jù)器中讀取即可。軟件主流程設(shè)計如下所示:

      1)模塊初始化;

      2)功能選擇;

      3)啟動功能,觸發(fā)外接電路,查看延時是否結(jié)束?如果結(jié)束,則需及時記錄并存儲;如果沒有結(jié)束,則需顯示狀態(tài)數(shù)據(jù);

      4)功能設(shè)置,通道注冊管理,按照通道進(jìn)行參數(shù)設(shè)置,存儲相關(guān)參數(shù),并傳送至延時控制單元;

      5)通信功能負(fù)責(zé)直接與PC主機通信;

      重復(fù)步驟3)、4)、5)完成軟件主流程設(shè)計,根據(jù)該流程分別對FPGA時序和分時操作進(jìn)行控制,以此實現(xiàn)數(shù)據(jù)高效存儲。

      1.2.1 FPGA時序控制

      為了提高模塊控制效率采用FPGA時序控制,根據(jù)插入寄存器減小延遲,使觸發(fā)接口電路內(nèi)部所達(dá)到的最高傳輸頻率是由模塊本身時頻來決定,組合邏輯延時情況如圖6所示。

      圖6 組合邏輯延時

      圖中T1表示時鐘輸出時間;T2表示組合邏輯延遲;T3表示網(wǎng)線延遲;T4表示時序邏輯建立時間;T5表示時鐘信號偏斜。

      數(shù)據(jù)每存儲一次所經(jīng)歷的最小周期為:

      T=T1+T2+T3+T4-T5

      (1)

      其中:T5=TCD1-TCD2,在觸發(fā)接口電路設(shè)計中的網(wǎng)線延遲T3和時鐘信號偏斜T5出現(xiàn)概率極低,因此可以忽略不計,由此得到最小周期為:

      T=T1+T2+T4

      (2)

      在組合邏輯中插入寄存器使邏輯延遲,由2*25 ns降到25 ns,保證電路具有極高運行速率。

      1.2.2 分時控制

      為了有效實現(xiàn)過傳輸層完成幀的收發(fā),需要模塊進(jìn)行分時控制。在FPGA時序控制條件下,邏輯延遲由2*25 ns降到25 ns,使編程在加載過程中地址和命令的下發(fā)時間更為精準(zhǔn),通過FPGA自動編程可完成數(shù)據(jù)存儲。對命令層中控制器傳輸模式工作流程進(jìn)行設(shè)計,也就是對數(shù)據(jù)讀寫模式進(jìn)行控制,具體設(shè)計內(nèi)容如下所示:

      1)SATA2.0控制器接口命令為:

      邏輯區(qū)塊LBA地址X1——Xn&讀/寫命令&工作模式;

      2)邏輯區(qū)塊LBA讀/寫地址計算,需要的參數(shù)有:

      寄存器同步帶及內(nèi)存存取組建幀數(shù)量、數(shù)據(jù)幀數(shù)量、內(nèi)存存取初始化參數(shù)配置;

      3)讀/寫控制狀態(tài)機:

      命令層收發(fā)幀命令:數(shù)據(jù)幀組建命令、寄存器組建命令、幀接收正確命令、寄存器接收命令、內(nèi)存存取幀組建命令、協(xié)調(diào)幀組建命令;

      4)寄存器同步帶和寄存器設(shè)備反饋經(jīng)過組建命令,開始初始化整理,獲取初始化地址X1,調(diào)整數(shù)據(jù)幀,依次獲取寄存器同步帶邏輯區(qū)塊LBA地址Xn和寄存器設(shè)備反饋地址Xn。

      從SATA2.0控制器接口命令接口為出發(fā)點,經(jīng)過命令層控制最終實現(xiàn)傳輸層完成幀的收發(fā)。

      根據(jù)軟件主流程對FPGA時序和分時操作進(jìn)行控制,其中FPGA時序控制是在組合邏輯中插入寄存器使邏輯出現(xiàn)延遲,計算數(shù)據(jù)每存儲一次所經(jīng)歷的最小周期,使邏輯延遲由2*25 ns降到25 ns,提高電路運行速率。通過FPGA自動編程對數(shù)據(jù)讀寫模式進(jìn)行控制,采用分時操作方法,實現(xiàn)傳輸層完成幀的控制收發(fā),由此完成模塊軟件功能設(shè)計。

      2 測試與驗證

      通過 QuartusⅡ軟件開發(fā)平臺對基于FPGA的遙測系統(tǒng)數(shù)據(jù)存儲器控制模塊設(shè)計合理性進(jìn)行驗證,同時對控制后的實驗結(jié)果通過軟件編譯進(jìn)行分析。

      實驗參數(shù)界面設(shè)置如圖7所示。

      圖7 實驗參數(shù)界面設(shè)置

      針對命令層接口各個信號進(jìn)行標(biāo)記分析,為實驗研究提供支持,接口信號表如表1所示。

      表1 接口信號表

      通過觀察信號選擇命令,結(jié)合時序圖對數(shù)據(jù)的讀寫情況進(jìn)行分析。

      數(shù)據(jù)讀取與寫入過程時序如圖8所示。

      圖8 數(shù)據(jù)讀寫過程時序

      數(shù)據(jù)讀取時序:生成命令并輸入有效命令,下達(dá)命令并輸出有效命令,通過Data_ out輸出數(shù)據(jù),經(jīng)過Data_ outv輸出有效數(shù)據(jù)。

      數(shù)據(jù)寫入時序:生成命令并輸入有效命令,下達(dá)命令并輸出有效命令,通過Data_in輸入數(shù)據(jù),經(jīng)過Data_ inv輸入有效數(shù)據(jù)。

      通過命令接口輸入讀命令,用戶端通過啟動讀允許rd_en開始讀取控制器緩存數(shù)據(jù);而控制器通過寫允許wt_allow暫停數(shù)據(jù)接收。根據(jù)數(shù)據(jù)讀寫過程時序,分析數(shù)據(jù)存儲波形,如圖9所示。

      圖9 數(shù)據(jù)存儲波形圖

      圖9所示為實際環(huán)境中數(shù)據(jù)存儲波形圖,測試輸入為a0、a1、a2、a3、a4循環(huán)的一組數(shù)據(jù),經(jīng)過存儲器存儲后的數(shù)據(jù)為a0、a4、a8、a15、a27、a39、a48、a6...,說明該存儲器中還有其它存儲數(shù)據(jù),但不影響整體數(shù)據(jù)存儲都是以a種數(shù)據(jù)存儲的標(biāo)準(zhǔn)。在該條件下,將傳統(tǒng)模塊與基于FPGA的遙測系統(tǒng)模塊對數(shù)據(jù)存儲器控制情況進(jìn)行對比分析,結(jié)果如圖10所示。

      圖10 兩種模塊數(shù)據(jù)存儲器控制情對比分析結(jié)果

      由圖10可知:統(tǒng)一測試輸入為a0、a1、a2、a3、a4循環(huán)的一組數(shù)據(jù),經(jīng)過傳統(tǒng)模塊控制后的數(shù)據(jù)存儲結(jié)果為a0、b3、b6、a5、b35、b48、b52、a6...,而經(jīng)過基于FPGA模塊控制后的數(shù)據(jù)存儲結(jié)果為a0、a5、a8、a15、a65、a32、a41、a6...。傳統(tǒng)數(shù)據(jù)存儲器控制模塊中出現(xiàn)了除a以外的b種數(shù)據(jù)存儲標(biāo)準(zhǔn),而基于FPGA模塊只有a種數(shù)據(jù)存儲標(biāo)準(zhǔn)。由此說明,基于FPGA模塊對數(shù)據(jù)存儲器控制效果較為理想,為了精準(zhǔn)分析該模塊具有較高控制效果,對這兩種模塊控制效率進(jìn)行對比分析,結(jié)果如表2所示。

      表2 兩種模塊控制效率對比分析 %

      由表2可知:在無噪聲影響下,傳統(tǒng)模塊數(shù)據(jù)存儲器控制效率維持在65%以上,而基于FPGA模塊數(shù)據(jù)存儲器控制效率都在95%以上,且當(dāng)實驗次數(shù)為9次時,傳統(tǒng)模塊數(shù)據(jù)存儲器控制效率達(dá)到最高為74.3%,實驗次數(shù)為1次時,傳統(tǒng)模塊數(shù)據(jù)存儲器控制效率達(dá)到最高為98.7%。在有噪聲影響下,傳統(tǒng)模塊數(shù)據(jù)存儲器控制效率都低于45%,基于FPGA模塊數(shù)據(jù)存儲器控制效率仍然穩(wěn)定在95%以上,當(dāng)實驗次數(shù)為5次時,傳統(tǒng)模塊數(shù)據(jù)存儲器控制效率達(dá)到最低24.3%,實驗次數(shù)為6次時,傳統(tǒng)模塊數(shù)據(jù)存儲器控制效率達(dá)到最低為95.1%。詳細(xì)分析在噪聲影響下兩種模塊控制效率,對比結(jié)果如下所示:

      在實驗次數(shù)為1次時,基于FPGA模塊比傳統(tǒng)模塊控制效率高62.1%;實驗次數(shù)為2時,基于FPGA模塊比傳統(tǒng)模塊控制效率高59.5%;在實驗次數(shù)為3次時,基于FPGA模塊比傳統(tǒng)模塊控制效率高59.6%;在實驗次數(shù)為4次時,基于FPGA模塊比傳統(tǒng)模塊控制效率高68.3%;實驗次數(shù)為5時,基于FPGA模塊比傳統(tǒng)模塊控制效率高72.1%;在實驗次數(shù)為6次時,基于FPGA模塊比傳統(tǒng)模塊控制效率高66.4%;實驗次數(shù)為7時,基于FPGA模塊比傳統(tǒng)模塊控制效率高57.6%;實驗次數(shù)為8時,基于FPGA模塊比傳統(tǒng)模塊控制效率高56.4%;實驗次數(shù)為9時,基于FPGA模塊比傳統(tǒng)模塊控制效率高60.7%;實驗次數(shù)為10時,基于FPGA模塊比傳統(tǒng)模塊控制效率高64.8%。因此,采用基于FPGA模塊控制效率較高,說明該模塊控制效果較好。

      使用QuartusⅡ軟件開發(fā)平臺對輸入的數(shù)據(jù)進(jìn)行實驗分析,結(jié)果與理論一致,說明了基于FPGA的遙測系統(tǒng)數(shù)據(jù)存儲器控制模塊設(shè)計的合理性。通過對FPGA資源占用率可看出,該系統(tǒng)符合一般系統(tǒng)設(shè)計標(biāo)準(zhǔn)。

      3 總結(jié)

      圍繞基于FPGA的遙測系統(tǒng)展開的數(shù)據(jù)存儲器控制模塊設(shè)計,采用FPGA 芯片實現(xiàn)數(shù)據(jù)高效存儲。根據(jù)軟件工程原理以及硬件結(jié)構(gòu)功能,劃分各個模塊,并對模塊功能進(jìn)行詳細(xì)設(shè)計。利用QuartusⅡ編譯環(huán)境對硬件、軟件進(jìn)行編譯與調(diào)試,并得到一組實驗數(shù)據(jù)。由實驗結(jié)果可知,該模塊具有較高控制效率,為數(shù)據(jù)高效存儲提供支持。

      雖然基于FPGA的遙測系統(tǒng)數(shù)據(jù)存儲器控制模塊具有良好控制效果,但在硬件數(shù)據(jù)壓縮方便還需進(jìn)一步研究,使數(shù)據(jù)存儲器能夠在多元化壓縮條件下,降低芯片邏輯數(shù)量,提高整體可靠性。在航天和醫(yī)療領(lǐng)域,進(jìn)行數(shù)據(jù)存儲時,需先對數(shù)據(jù)進(jìn)行壓縮再存儲,進(jìn)一步減少電路體積,使系統(tǒng)擁有更廣闊應(yīng)用前景。

      猜你喜歡
      存儲器寄存器時序
      時序坐標(biāo)
      基于Sentinel-2時序NDVI的麥冬識別研究
      靜態(tài)隨機存儲器在軌自檢算法
      Lite寄存器模型的設(shè)計與實現(xiàn)
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      一種毫米波放大器時序直流電源的設(shè)計
      電子制作(2016年15期)2017-01-15 13:39:08
      存儲器——安格爾(墨西哥)▲
      DPBUS時序及其設(shè)定方法
      河南科技(2014年15期)2014-02-27 14:12:36
      基于Nand Flash的高速存儲器結(jié)構(gòu)設(shè)計
      高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
      高邮市| 抚远县| 垫江县| 永修县| 太仓市| 古田县| 衡阳市| 八宿县| 泗水县| 桐梓县| 桂林市| 蕉岭县| 临邑县| 自治县| 拜城县| 星子县| 万盛区| 平谷区| 民县| 滨海县| 渑池县| 延川县| 舒兰市| 洛隆县| 老河口市| 上蔡县| 石屏县| 柞水县| 喜德县| 文化| 永济市| 龙胜| 寿宁县| 丁青县| 太原市| 巴南区| 尖扎县| 南城县| 新乐市| 福清市| 永州市|