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

        ?

        基于FPGA的MEMS陀螺陣列信號(hào)采集系統(tǒng)

        2020-10-19 10:00:56周中鑫張印強(qiáng)李麗娟
        儀表技術(shù)與傳感器 2020年9期
        關(guān)鍵詞:信號(hào)系統(tǒng)

        周中鑫,張印強(qiáng),李麗娟,劉 琴

        (南京工業(yè)大學(xué)電氣工程與控制科學(xué)學(xué)院,江蘇南京 211800)

        0 引言

        MEMS(micro electromechanical system)陀螺儀與其他類(lèi)型的陀螺儀相比,具有體積小、價(jià)格低、質(zhì)量輕和集成度高等優(yōu)點(diǎn),已經(jīng)在工業(yè)和汽車(chē)等領(lǐng)域得到廣泛應(yīng)用[1-3]。但其精度較低,不能滿足高性能要求,而基于數(shù)據(jù)融合技術(shù)的MEMS陀螺陣列可以大幅度提高測(cè)量精度,其數(shù)據(jù)信號(hào)的實(shí)時(shí)采集是慣性導(dǎo)航系統(tǒng)的關(guān)鍵部分。現(xiàn)今采集系統(tǒng)的控制器大多使用單片機(jī)或DSP,完成任務(wù)的過(guò)程是將命令逐條執(zhí)行,若將其作為主控制器去讀取陀螺陣列的數(shù)據(jù),由于存在程序執(zhí)行延時(shí),難以得到陀螺陣列同一時(shí)刻的數(shù)據(jù)。因此,采集系統(tǒng)選用大容量、并行運(yùn)行、高速度的現(xiàn)場(chǎng)可編程邏輯門(mén)陣列(FPGA)作為主控芯片。

        本文設(shè)計(jì)了一種基于FPGA的MEMS陀螺陣列信號(hào)采集系統(tǒng)。搭建的系統(tǒng)由硬件設(shè)計(jì)與數(shù)據(jù)采集系統(tǒng)軟件實(shí)現(xiàn)這兩部分組成。以型號(hào)為EP4CE15F17C8N的FPGA為控制器,通過(guò)對(duì)SPI通訊協(xié)議模塊、存儲(chǔ)模塊、串口通信模塊等各個(gè)模塊的開(kāi)發(fā),實(shí)現(xiàn)對(duì)ADXRS810陀螺陣列的數(shù)據(jù)采集,并通過(guò)實(shí)驗(yàn)平臺(tái)進(jìn)行驗(yàn)證,確保系統(tǒng)的實(shí)時(shí)可靠性。

        1 FPGA信號(hào)采集系統(tǒng)硬件設(shè)計(jì)

        MEMS陀螺陣列采集系統(tǒng)是通過(guò)控制器同時(shí)對(duì)多個(gè)陀螺儀進(jìn)行數(shù)據(jù)采集[4]。選用Cyclone IV系列的FPGA最小系統(tǒng)為控制器,設(shè)計(jì)ADXRS810陀螺陣列的外圍電路,通過(guò)SPI協(xié)議與從機(jī)上的MEMS陀螺進(jìn)行通信,采用雙口RAM模塊給陣列陀螺分配不同的地址并通過(guò)MAX232串口實(shí)現(xiàn)和上位機(jī)的通訊。圖1為陣列陀螺采集系統(tǒng)硬件連接框圖。

        圖1 陣列陀螺采集系統(tǒng)硬件連接框圖

        1.1 MEMS陀螺儀模塊

        從機(jī)的MEMS陀螺儀選用ADXRS系列的810芯片。它是一款測(cè)量單軸(Z軸)角速度的傳感器且工作頻率最高可達(dá)8.8 MHz,通過(guò)SPI通信協(xié)議與主機(jī)實(shí)現(xiàn)命令接收與數(shù)據(jù)傳輸。ADXRS810工作電壓范圍為3.3~5 V,當(dāng)設(shè)計(jì)電路選取的供電電壓為3.3 V時(shí),選用AMS1117-3.3穩(wěn)壓器芯片,將5 V電源轉(zhuǎn)化為3.3 V。其中電容是用來(lái)濾除直流電源中不需要的交流成分,使直流電壓變的平滑。陀螺儀外圍電路如圖2所示,MOSI、SCLK、CS和MISO為SPI通信引腳,為了確保內(nèi)部升壓調(diào)節(jié)器正常工作,VX引腳應(yīng)使用560 μH的電感值,同時(shí)要保證電感能夠承受50 mA的峰值電流。

        圖2 ADXRS810電路圖

        1.2 FPGA控制模塊

        信號(hào)采集系統(tǒng)的處理器選用Cyclone iv系列芯片,該系列芯片相較于MAX系列功耗更低、集成度更高,數(shù)據(jù)處理的速度也顯著提高。芯片集成了收發(fā)器、DSP和PCle等硬件IP模塊,調(diào)用方便。芯片內(nèi)部的存儲(chǔ)容量大,邏輯單元豐富,可以滿足多種通信協(xié)議要求。FPGA內(nèi)部有4個(gè)PLL(鎖相環(huán))可通過(guò)其進(jìn)行倍頻或分頻,能夠滿足絕大部分外設(shè)備的時(shí)鐘要求[5-6]。

        本文選用型號(hào)為EP4CE15F17C8N的FPGA開(kāi)發(fā)板為下位機(jī)的控制器件,其硬件框圖如圖3所示。開(kāi)發(fā)板外接存儲(chǔ)芯片包括:SDRAM、并行FLASH、串行FLASH、SRAM和EEPROM,可緩存和處理大容量數(shù)據(jù)。串口芯片為MAX232,可通過(guò)它實(shí)現(xiàn)和上位機(jī)的通訊。開(kāi)發(fā)板有5路獨(dú)立按鍵,本文用其中一路給陀螺陣列做觸發(fā)信號(hào)。

        圖3 FPGA硬件框圖

        雙口RAM是在一個(gè)SRAM存儲(chǔ)器上的讀寫(xiě)的地址線、數(shù)據(jù)線和控制線是獨(dú)立的,讀和寫(xiě)互不干擾,允許對(duì)存儲(chǔ)單元同時(shí)異步地訪問(wèn),即共享式多端口存儲(chǔ)器。因?yàn)閿?shù)據(jù)可以共享,因而在訪問(wèn)過(guò)程中需要仲裁控制[7]。內(nèi)部的仲裁邏輯控制可以為調(diào)用IP核的用戶(hù)提供如下功能:對(duì)同一個(gè)地址單元進(jìn)行訪問(wèn)時(shí)的時(shí)序先后控制;對(duì)存儲(chǔ)單元數(shù)據(jù)塊的訪問(wèn)進(jìn)行權(quán)限的分配等。雙口RAM同樣可以作為實(shí)時(shí)的數(shù)據(jù)采集發(fā)送的緩沖器。

        2 數(shù)據(jù)采集系統(tǒng)軟件設(shè)計(jì)

        2.1 SPI通信協(xié)議

        控制器FPGA與陀螺儀之間的通信協(xié)議是串行外設(shè)接口(serion perpheral interface,SPI),由于SPI協(xié)議是全雙工的,因而可以快速實(shí)現(xiàn)主機(jī)與外圍設(shè)備之間的同步信息交互。它主要是主從方式通信,通常是一主對(duì)一從和一主對(duì)多從的通訊[8]。標(biāo)準(zhǔn)的SPI是四根線,通常只占用芯片的4個(gè)接線口,如圖4所示。當(dāng)只有3根線的時(shí)候MOSI和MISO共用一根線,只能用于單向傳輸。

        圖4 SPI總線時(shí)序

        以本文的主從通信為例,圖4各個(gè)引腳的意義是:

        (1)MOSI:FPGA(master,主機(jī))輸出命令,陀螺儀(slave,從機(jī))接收命令。

        (2)MISO:陀螺儀(slave,從機(jī))輸出數(shù)據(jù),F(xiàn)PGA(master,主機(jī))接收數(shù)據(jù)。

        (3)SCLK:時(shí)鐘信號(hào),由主機(jī)產(chǎn)生。

        (4)NSS:片選使能信號(hào),由主機(jī)控制。

        當(dāng)NNS為低電平時(shí),主機(jī)使能從機(jī),可以進(jìn)行主從之間的通訊,此時(shí)注意主機(jī)和從機(jī)數(shù)據(jù)交互的形式。同步通信中,數(shù)據(jù)的發(fā)送和采樣是在一個(gè)時(shí)鐘周期的上升沿或者下降沿進(jìn)行的。同時(shí),數(shù)據(jù)從產(chǎn)生到它能夠穩(wěn)定發(fā)送需要一定時(shí)間,所以,數(shù)據(jù)的接收最快只能在一個(gè)時(shí)鐘周期,如在上升沿發(fā)送數(shù)據(jù),那么接收數(shù)據(jù)最快只能是下降沿。反之如在下降沿發(fā)送數(shù)據(jù),那么接收最快只能是上升沿。

        因而SPI的通訊模式被分為4種,從模式0(CPHA=0;CPOL=0)到模式3(CPHA=1;CPOL=1),具體模式由CPHA(時(shí)鐘的相位)和CPOL(時(shí)鐘的極性)共同決定。通信過(guò)程分為空閑時(shí)刻和通信時(shí)刻,若SCLK在數(shù)據(jù)發(fā)送前后的空閑狀態(tài)是高電平,那么CPOL=1,若是低電平,那么CPOL=0。

        CPHA=1,表示數(shù)據(jù)是在一個(gè)時(shí)鐘的第一個(gè)沿輸出,若CPOL=0,數(shù)據(jù)在上升沿輸出;若CPOL=1,數(shù)據(jù)在下降沿輸出。

        CPHA=0,表示數(shù)據(jù)是在一個(gè)時(shí)鐘的第一個(gè)沿采樣,若CPOL=0,數(shù)據(jù)在上升沿采樣;若CPOL=1,數(shù)據(jù)在下降沿采樣。

        本文所采用的模式0,即CPHA=0;CPOL=0,如圖5所示,以8位數(shù)據(jù)傳輸為例,空閑狀態(tài)為低電平,且是在第一個(gè)時(shí)鐘的上升沿采集數(shù)據(jù)。

        圖5 CPHA=0,CPOL=0;SPI時(shí)序

        2.1.1 SPI通信狀態(tài)機(jī)的設(shè)計(jì)

        主要設(shè)計(jì)了SPI通信協(xié)議狀態(tài)機(jī),將32位的數(shù)據(jù)收發(fā)過(guò)程轉(zhuǎn)化為4次8位傳輸。以發(fā)送過(guò)程為例,分為idle、WAIT、r_mem、w_reg和stop 5個(gè)狀態(tài)。首先通過(guò)按鍵啟動(dòng)信號(hào)State~22,進(jìn)入idle狀態(tài),若接收到下降沿使能信號(hào),則進(jìn)入WAIT狀態(tài),并且將第一次的8位數(shù)據(jù)緩存,判斷依據(jù)為wait_cnt[3]==1′b1;發(fā)送結(jié)束后進(jìn)入r_mem緩存狀態(tài),再進(jìn)入w_reg將8位數(shù)據(jù)依次發(fā)后再重新進(jìn)入WAIT狀態(tài),重復(fù)4次至32位數(shù)據(jù)發(fā)送完成,最后進(jìn)入stop狀態(tài),此時(shí)片選為高。一次發(fā)送結(jié)束,重新返回idle,等待接收片選使能信號(hào),開(kāi)始下一輪的數(shù)據(jù)發(fā)送。SPI通信狀態(tài)機(jī)轉(zhuǎn)移圖如圖6所示。

        圖6 SPI通信狀態(tài)機(jī)轉(zhuǎn)移圖

        2.1.2 SPI時(shí)序仿真

        通過(guò)用時(shí)序模擬軟件Modelsim進(jìn)行仿真驗(yàn)證,可以直觀的觀察到各個(gè)節(jié)點(diǎn)的時(shí)序圖,能夠觀察到時(shí)鐘的上升沿或者下降沿時(shí),它們是否符合應(yīng)有的觸發(fā)關(guān)系,每一位的數(shù)據(jù)傳輸是否對(duì)應(yīng)。

        2.1.2.1 建立testbench測(cè)試文本

        利用for+forever循環(huán)實(shí)現(xiàn)50 MHz時(shí)鐘信號(hào)的模擬仿真程序。一開(kāi)始clk=0,10 ns后,clk會(huì)翻轉(zhuǎn)形成上升沿,再隔10 ns,clk又會(huì)翻轉(zhuǎn)形成下降沿,這樣就形成了周期為20 ns,頻率為50 MHz的時(shí)序。原程序中的觸發(fā)條件是按下開(kāi)始鍵給的觸發(fā)信號(hào),可以寫(xiě)為延時(shí)100 μs后形成一個(gè)上升沿觸發(fā)信號(hào)。同時(shí)源程序中的延時(shí)100 ms,50 ms, 1 ms都需要相應(yīng)的縮短為100 μs左右,這樣可以在接下來(lái)的view窗口中方便觀察,不會(huì)出現(xiàn)大面積的無(wú)數(shù)據(jù)現(xiàn)象。

        2.1.2.2 輸入賦值

        由于仿真時(shí)并不會(huì)由從機(jī)對(duì)其發(fā)送數(shù)據(jù),因而為了有效觀察,需要給MISO賦初值。本著簡(jiǎn)單的原則,同樣寫(xiě)了for+forever的循環(huán),使得MISO有規(guī)律的0,1變化,形成觀察中變化的輸入數(shù)據(jù)。

        最后將vt文本和v文本放入仿真環(huán)境進(jìn)行測(cè)試。在view窗口進(jìn)行觀察顯示的CLK時(shí)序,以及各個(gè)需要觀測(cè)的節(jié)點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。主要觀察SPI時(shí)序,觀察4個(gè)節(jié)點(diǎn)MOSI、MISO、SCLK、CS與給定的理想時(shí)鐘CLK之間的關(guān)系是否符合模式要求。

        由圖7的SPI協(xié)議的局部觀察可知,CLK時(shí)鐘上升沿計(jì)數(shù)25次后,SPI協(xié)議時(shí)鐘翻轉(zhuǎn),時(shí)長(zhǎng)為500 ns,一個(gè)周期為1 000 ns,剛好是20 ns周期的500倍,SCLK時(shí)鐘正確。同時(shí)從圖中的箭頭和所指直線可以觀察到MOSI是在SCLK為下降沿時(shí)產(chǎn)生變化,圖中三角形所顯示,當(dāng)SCLK為上升沿時(shí),MOSI不變的情況下,接收緩存in_data仍然為1,圖中橢圓形所顯示,只有在上升沿時(shí)才會(huì)采集MISO變化的數(shù)據(jù)。CS為低電平,片選情況也正確,因而說(shuō)明SPI的時(shí)序是符合

        圖7 SPI時(shí)序仿真

        模式0的。

        圖8是去掉CLK信號(hào)觀察整體時(shí)序,由圖8可知Start_sig置1后,整個(gè)采集過(guò)程開(kāi)始,當(dāng)CS低電平使能,圖中箭頭是初始化信號(hào)中MOSI高電位發(fā)送部分,發(fā)送完CS變?yōu)楦唠娖?,同時(shí)三角形所指是數(shù)據(jù)發(fā)送接收通訊部分結(jié)束,發(fā)送Spi_Done_sig高電平信號(hào),則Spi_Start_sig信號(hào)置低,橢圓是向FIFO發(fā)送數(shù)據(jù)命令,而后片選使能,開(kāi)始新一輪的數(shù)據(jù)通信。

        圖8 整體時(shí)序仿真

        2.2 陣列陀螺數(shù)據(jù)讀取

        基于Quartus ii軟件編程環(huán)境,陣列陀螺數(shù)據(jù)采集過(guò)程選用Verilog HDL作為輸入語(yǔ)言,通過(guò)控制每個(gè)時(shí)鐘來(lái)驅(qū)動(dòng)信號(hào)與寄存器傳輸。數(shù)據(jù)采集系統(tǒng)的流程圖如圖9所示。

        圖9 數(shù)據(jù)采集系統(tǒng)圖

        數(shù)據(jù)采集系統(tǒng)具體分為以下步驟:

        開(kāi)關(guān)鍵:FPGA實(shí)驗(yàn)板(主機(jī))和陀螺陣列(從機(jī))上電后,通過(guò)主機(jī)上的按鍵給從機(jī)一個(gè)初始Start信號(hào),并且也可以通過(guò)它關(guān)閉二者的通信。

        初始化:根據(jù)數(shù)據(jù)手冊(cè)的描寫(xiě),延時(shí)100 ms,向從機(jī)發(fā)送第一個(gè)32位命令2000_0003,將命令數(shù)據(jù)由Start_module發(fā)送給SPI_Module。之后再延時(shí)50 ms,發(fā)送命令2000_0000,重復(fù)3次。

        ID地址讀?。合蛲勇輧x的ID寄存器讀取地址來(lái)確定SPI的通信時(shí)序是否正確,ID寄存器是2個(gè)8位地址組成的16位的寄存器,但只需向首地址發(fā)送命令即可。發(fā)送讀取ID地址命令8018_0000,返回的32位數(shù)據(jù)中data20-data5的16位數(shù)據(jù)為ID數(shù)據(jù)。若接收到的數(shù)據(jù)為0x5201或者是0x5202,則認(rèn)為整個(gè)初始化正確。

        SPI通信:使用計(jì)數(shù)模塊為通信協(xié)議的SCLK提供1 MHz時(shí)鐘。由于晶振頻率為50 MHz,是SCLK時(shí)鐘頻率的50倍。那么當(dāng)晶振提供的時(shí)鐘完成25個(gè)周期時(shí),SPI協(xié)議的時(shí)鐘才會(huì)產(chǎn)生變化,每計(jì)數(shù)25個(gè)周期產(chǎn)生時(shí)鐘沿的變化,則可形成1 MHz時(shí)鐘頻率。Start_module發(fā)送命令的同時(shí),向SPI_Module發(fā)送片選信號(hào)和開(kāi)始信號(hào)。片選信號(hào)由高變低后,檢測(cè)到SCLK為上升沿,則將32位數(shù)由高到低依次發(fā)送至MOSI口;若檢測(cè)到SCLK為下降沿,則將MISO口接收數(shù)據(jù)放置buf中。

        雙口RAM:雙口RAM選取深度為64,寬度為32的存儲(chǔ)空間,并且對(duì)各個(gè)陀螺儀存儲(chǔ)地址進(jìn)行分配,Addr0-15、ADDR16-31、Addr32-47、Addr32-47分別分配給陀螺1、2、3和4。

        串口模塊:檢測(cè)雙口RAM的發(fā)送信號(hào),Tx_interface模塊讀出數(shù)據(jù),將數(shù)據(jù)存入TX_Control模塊。由于串口是8位數(shù)據(jù)進(jìn)行發(fā)送與接收,所以TX_Control模塊將32位數(shù)據(jù)由高位至低位分為4次發(fā)送至串口。設(shè)置串口波特率為9 600 bps,采用計(jì)數(shù)模塊,一個(gè)周期是5 208次,當(dāng)滿足2 604次,頻率時(shí)鐘翻轉(zhuǎn),當(dāng)檢測(cè)到波特率時(shí)鐘為上升沿時(shí),向TX_Pin_Out口由高至低發(fā)送數(shù)據(jù)。將RAM_module模塊發(fā)來(lái)的四組數(shù)據(jù)傳輸完成后,才會(huì)接收下一次的數(shù)據(jù),避免數(shù)據(jù)發(fā)送混亂。串口發(fā)送部分程序如圖10所示。

        圖10 串口發(fā)送部分程序圖

        圖11是整個(gè)陣列陀螺采集系統(tǒng)的RTL視圖。

        圖11 陣列陀螺RTL視圖

        3 實(shí)驗(yàn)測(cè)試

        實(shí)驗(yàn)系統(tǒng)測(cè)試:首先將MEMS陀螺陣列的電路板和FPGA實(shí)驗(yàn)板相連放置在桌面上,接通電源,連接上位機(jī);然后通過(guò)FPGA實(shí)驗(yàn)板的按鍵給從機(jī)一個(gè)初始化的信號(hào)開(kāi)始讀取數(shù)據(jù);最后在上位機(jī)串口顯示MEMS陀螺陣列的Z軸輸出的數(shù)據(jù)。圖12是測(cè)試電路實(shí)物工作圖。

        (a)串口數(shù)據(jù)

        4 結(jié)束語(yǔ)

        本文設(shè)計(jì)了MEMS陀螺陣列的信號(hào)采集系統(tǒng)。采用Cyclone IV系列的EP4CEF15F17C8最小系統(tǒng)作為信號(hào)采集的控制器,搭建了由4個(gè)ADXRS系列的MEMS陀螺儀組成的外圍電路,通過(guò)時(shí)序仿真驗(yàn)證了程序的可行性,并通過(guò)實(shí)驗(yàn)測(cè)試實(shí)現(xiàn)主機(jī)(FPGA)對(duì)從機(jī)(MEMS陀螺陣列)數(shù)據(jù)的實(shí)時(shí)讀取,具有一定的工程應(yīng)用價(jià)值。

        猜你喜歡
        信號(hào)系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        信號(hào)
        鴨綠江(2021年35期)2021-04-19 12:24:18
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        完形填空二則
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        孩子停止長(zhǎng)個(gè)的信號(hào)
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        基于LabVIEW的力加載信號(hào)采集與PID控制
        内射中出后入内射极品女神视频| 300部国产真实乱| 日本动态120秒免费| 音影先锋色天堂av电影妓女久久| 俺来也三区四区高清视频在线观看| 女人天堂av人禽交在线观看| 香蕉亚洲欧洲在线一区| 老司机在线免费视频亚洲| 国产不卡在线视频观看| 亚洲人成色7777在线观看| 国产精品厕所| 国产精品,在线点播影院| 我揉搓少妇好久没做高潮| 国产a在亚洲线播放| 中文字幕一区二区三区精彩视频| 加勒比黑人在线| 中文字幕一区二区三区综合网| 精品一区二区三区在线视频| 日躁夜躁狠狠躁2001| 激情人妻在线视频| 国产一区二区三区精品成人爱| 亚洲深深色噜噜狠狠网站| 中文字幕一区二区三区人妻少妇| 国产成人乱色伦区小说| 国产精品亚洲在钱视频| 米奇欧美777四色影视在线| 性生交大全免费看| 亚洲国产精品国语在线| 亚洲av推荐网站在线观看| 日日摸夜夜添夜夜添高潮喷水| 精品亚洲欧美无人区乱码| 国产目拍亚洲精品一区二区| 日韩av在线不卡一区二区三区| 国产午夜免费啪视频观看| 国产伦精品免编号公布| 91尤物视频在线观看| 国产精东一区二区三区| 国内自拍情侣露脸高清在线| 性生交大片免费看淑女出招 | 国产无套中出学生姝| 99久久久精品免费观看国产|