999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA與STM32的低功耗數(shù)據(jù)采集系統(tǒng)

2016-11-22 07:41:54王毅男
化工自動化及儀表 2016年2期
關鍵詞:信號系統(tǒng)設計

林 偉 王毅男

(上海應用技術學院電氣與電子工程學院,上海 201418)

基于FPGA與STM32的低功耗數(shù)據(jù)采集系統(tǒng)

林 偉 王毅男

(上海應用技術學院電氣與電子工程學院,上海 201418)

設計了基于低功耗、低成本的FPGA與STM32芯片的數(shù)據(jù)采集系統(tǒng)。系統(tǒng)使用單片SDRAM實現(xiàn)“乒乓”緩存操作,增強數(shù)據(jù)采集的連續(xù)性。采用改進的SPI通信方式完成FPGA和STM32之間數(shù)據(jù)與命令的傳輸,實現(xiàn)了通過控鍵輸入實時、動態(tài)地配置系統(tǒng)采樣參數(shù)。軟件仿真和板上實測系統(tǒng)的采樣精度14bit,采樣速率80MS/s。

數(shù)據(jù)采集 FPGA STM32 SPI

在實現(xiàn)工業(yè)自動化測控的過程中,通常需要對被測對象的一些參數(shù)進行采集、分析和處理。在很多應用場合,都需要設計并應用高速數(shù)據(jù)采集系統(tǒng),以在極短的時間內(nèi)獲取大量數(shù)據(jù)[1]。隨著數(shù)據(jù)采集系統(tǒng)的最新發(fā)展,系統(tǒng)并/串行總線接口技術、系統(tǒng)通信的新技術也得到了不同程度的發(fā)展。數(shù)據(jù)采集模塊已成為測量控制領域的重要組成部分,目前國內(nèi)外常用的數(shù)據(jù)采集器和不同采集模塊的設計都有各自的特點和存在的問題[2,3]。在便攜式儀器儀表中,對數(shù)據(jù)處理速度的實時性、連續(xù)性要求更高。傳統(tǒng)的數(shù)據(jù)采集卡較為昂貴,而且使用靈活性較差。為此,設計了高速ADC、FPGA與STM32組合的數(shù)據(jù)采集系統(tǒng),在芯片選型上以高性能、低功耗、低成本為原則。

圖1為數(shù)據(jù)采集系統(tǒng)的總體結(jié)構(gòu),主要由電源、模擬信號調(diào)理運放電路、模數(shù)轉(zhuǎn)換電路、FPGA及其外設存儲器、STM32及其外設鍵控電路組成。模擬信號經(jīng)過前端電路的調(diào)理、運放后傳輸給ADC,完成模數(shù)轉(zhuǎn)換,將數(shù)字信號輸入FPGA內(nèi)嵌的FIFO中。FPGA作為ADC和SDRAM的控制器,控制整個系統(tǒng)的數(shù)據(jù)流,再將FIFO中的數(shù)據(jù)傳輸?shù)酵庠O的SDRAM中,實現(xiàn)了大數(shù)據(jù)量的緩存,解決了FPGA片上內(nèi)存不足的問題。再通過串行外圍接口(Serial Peripheral Interface,SPI)將數(shù)據(jù)傳給STM32處理。FPGA不但適合做高速數(shù)據(jù)接口和邏輯控制單元,而且有很強的信號處理能力,可以協(xié)助主處理器完成信號的預處理,能保證信號采集的精度與速度。STM32作為主控制器,內(nèi)嵌ARM Cotex-M3內(nèi)核,可以實時處理信號,也可以通過自帶的USB模塊將數(shù)據(jù)高速地傳輸?shù)缴衔粰C,實現(xiàn)更為復雜的處理。

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

2 FPGA系統(tǒng)

FPGA選用Cyclone IV系列的EP4CE10E144-C8N芯片,這是一款45nm的低功耗、低成本的FPGA。內(nèi)部含有10 320個邏輯單元、46個M9K的Block、414kbit/s嵌入式存儲、兩個通用PLL(每個PLL最多可以輸出5路不同頻率的時鐘,完全滿足系統(tǒng)設計的需求)。FPGA主要響應主控制器STM32的命令,完成ADC的控制配置和數(shù)據(jù)流的控制。

2.1ADC電路及其控制器

設計選用14bit、80MS/s的AD9245作為ADC芯片,3V單電源供電功耗360mW。信號差分輸入,保證了系統(tǒng)的信噪比。AD9245的電路設計如圖2所示。

圖2 AD9245電路設計

AD9245通過數(shù)據(jù)總線DATA將14bit數(shù)字信號傳輸給FPGA,通過OTR標志告知FPGA數(shù)據(jù)超量程范圍。FPGA為ADC提供工作時鐘,保證數(shù)據(jù)的同步性,也簡化了設計的復雜度。但是,F(xiàn)PGA與ADC的時鐘相位仍然存在差異。系統(tǒng)數(shù)據(jù)傳輸過程中如果存在相位差,會引起系統(tǒng)亞穩(wěn)態(tài)等問題的發(fā)生[4,5]。因此,F(xiàn)PGA內(nèi)部的寄存器中對模數(shù)轉(zhuǎn)換器輸出數(shù)據(jù)通過系統(tǒng)時鐘采樣后進行兩次寄存,以降低亞穩(wěn)態(tài)繼續(xù)傳播下去的概率,保證數(shù)據(jù)傳輸?shù)目煽啃浴?/p>

2.2單片“乒乓”緩存

在實時數(shù)據(jù)采集系統(tǒng)中,為了保證數(shù)據(jù)的穩(wěn)定性與連續(xù)性,一般使用存儲器“乒乓”法[6]。“乒乓”是指通過控制器對兩片存儲器做讀寫操作,被寫入的存儲器寫滿時,由控制器切換該存儲器的工作狀態(tài)。為了節(jié)約成本,降低功耗,系統(tǒng)采用單片SDRAM完成“乒乓”設計。SDRAM只有一組地址總線與數(shù)據(jù)總線,所以無法像兩片存儲器那樣同時進行讀寫操作。設計采用分時方法將讀寫操作分開控制,在控制器中設計一個工作指令計數(shù)器,通過計數(shù)標志來指示控制器切換讀寫操作。配置適當?shù)腟DRAM工作時鐘和計數(shù)器的設定值即可實現(xiàn)讀寫操作的連續(xù)切換[7,8]。SDRAM的工作狀態(tài)轉(zhuǎn)移如圖3所示。

圖3 SDRAM的工作狀態(tài)轉(zhuǎn)移

初始化SDRAM后,往SDRAM的1、2BANK寫入第一組數(shù)據(jù),寫完以后進入“乒乓”操作,這時,SDRAM的1、2BANK開始作為讀數(shù)據(jù)緩存,而3、4BANK開始作為寫數(shù)據(jù)緩存。第一步執(zhí)行讀數(shù)據(jù)緩存的行激活操作,然后開始讀取數(shù)據(jù),在開始讀數(shù)據(jù)操作的同時開啟指令計數(shù)器,每當進入下一條新的指令動作,指令計數(shù)器的計數(shù)就自動加一,執(zhí)行行激活命令與預充電命令時不做加一動作,當計數(shù)到達配置的設定值時就控制切換到寫數(shù)據(jù)狀態(tài),并且將指令計數(shù)器清零。進入寫數(shù)據(jù)狀態(tài)后,先判斷數(shù)據(jù)緩存區(qū)的行激活命令是否已經(jīng)執(zhí)行,如果沒有,先完成此操作,然后再開始寫數(shù)據(jù)。寫數(shù)據(jù)開始后,同樣執(zhí)行指令計數(shù)器的操作,完成狀態(tài)切換。像這樣反復切換讀寫操作直到讀完一組數(shù)據(jù)或者是寫完一組數(shù)據(jù)。當讀完一組數(shù)據(jù)時,馬上判斷在寫緩存區(qū)域中,一組數(shù)據(jù)是否寫好,如果寫好,就立刻切換BANK的讀寫工作狀態(tài)。反之,控制器立即進入寫數(shù)據(jù)狀態(tài),并且不再切換為讀數(shù)據(jù)狀態(tài),保持在寫數(shù)據(jù)狀態(tài)直到寫好一組數(shù)據(jù),才進入切換讀寫B(tài)ANK的工作狀態(tài)。如果是寫好了一組數(shù)據(jù),處理方式與讀完一組數(shù)據(jù)的情況相同,應該先判斷在讀數(shù)據(jù)緩存中是否已經(jīng)讀完一組數(shù)據(jù),然后依照獲得的判斷結(jié)果進行處理,最后再進入切換讀寫B(tài)ANK的狀態(tài)。在BANK的讀寫切換狀態(tài)中,SDRAM的3、4BANK作為讀數(shù)據(jù)緩存,1、2BANK切換為寫數(shù)據(jù)緩存。重復執(zhí)行以上流程,便實現(xiàn)了單片SDRAM的不同BANK間的“乒乓”操作。

SDRAM芯片選擇HYNIX H57V51262GTR芯片,512MByte存儲空間,工作時鐘100MHz,通過使用Quartus II軟件自帶的Signal Tap II(嵌入式邏輯分析儀)配合系統(tǒng)設計的硬件采集板卡對BANK的切換和讀寫操作進行觀測。當讀數(shù)據(jù)操作完成,判斷寫數(shù)據(jù)操作也已經(jīng)完成,于是切換BANK讀寫狀態(tài),配置寫數(shù)據(jù)緩存地址。

2.3FPGA與STM32通信

串口RS232通信速度過慢,無法保證系統(tǒng)采樣的實時性與連續(xù)性;USB協(xié)議比較復雜,F(xiàn)PGA內(nèi)部完成USB接口過于困難,外設USB接口芯片又增加了功耗、成本和電路板的體積;并口總線連接方式雖然數(shù)據(jù)傳輸速度快,但是資源利用過大,而且亞穩(wěn)態(tài)現(xiàn)象嚴重。綜合成本、穩(wěn)定性及設計復雜度等因素,設計采用改進的SPI方式完成FPGA與STM32的通信[9]。

SPI為主從式接口,該模式的優(yōu)點是可以有多個從器件。SPI包含MOSI、MISO、SCLK和CS共4個接口。實際應用中,主器件可能需要與多個從器件進行數(shù)據(jù)傳輸,理論上可以增加多根片選使能信號。

系統(tǒng)設計的SPI通信模塊針對多個從器件需要多根片選的問題進行了改進。圖4所示為SPI通信方式連接圖。SPI通信模塊的主器件是STM32,從器件是FPGA。SPI通信模塊引腳定義如下:通信時鐘spi_scl、主器件數(shù)據(jù)傳輸線spi_sdi、主器件數(shù)據(jù)輸入線spi_sdo、模塊選擇片選線spi_cs_cmd和數(shù)據(jù)發(fā)送片選線spi_cs_data。其工作原理為:模塊選擇片選信號spi_cs_cmd低電平有效后,先利用主器件數(shù)據(jù)傳輸線spi_sdi發(fā)送8位模塊選擇信號(可以選擇256個模塊通信)。模塊選擇信號發(fā)送完,數(shù)據(jù)發(fā)送片選線spi_cs_data低電平有效后,利用主器件數(shù)據(jù)傳輸線spi_sdi發(fā)送16位數(shù)據(jù)到選中模塊。

圖4 SPI通信方式

FPGA接收數(shù)據(jù)時,首先模塊片選信號spi_cs_cmd變成低電平,等到通信時鐘spi_scl上升沿到來時,F(xiàn)PGA通過主器件數(shù)據(jù)傳輸線spi_sdi,利用左移移位寄存器讀取模塊選擇信號,8個通信時鐘后,即可讀取完模塊選擇信號,并存儲在8位模塊選擇寄存器中,同時模塊選擇信號接收結(jié)束標志位產(chǎn)生高電平。同理,在數(shù)據(jù)發(fā)送片選線spi_cs_data為低電平的情況下,等到通信時鐘spi_scl上升沿到來時,F(xiàn)PGA通過主器件數(shù)據(jù)輸出線spi_sdi,利用左移移位寄存器讀取數(shù)據(jù)信號,16個通信時鐘后,即可讀取完數(shù)據(jù)信號,并存儲在16位數(shù)據(jù)接收寄存器中,同時數(shù)據(jù)接收結(jié)束標志位產(chǎn)生高電平。當信號接收結(jié)束標志位和數(shù)據(jù)接收結(jié)束標志位為高電平時,模塊選擇寄存器和數(shù)據(jù)接收寄存器才是有效的。

FPGA發(fā)送數(shù)據(jù)時,首先數(shù)據(jù)發(fā)送片選spi_cs_data為高電平時,等到通信時鐘spi_scl下降沿到來,將FPGA要發(fā)送的數(shù)據(jù)存入數(shù)據(jù)發(fā)送寄存器中;當spi_cs_data為低電平時,等到spi_scl下降沿到來時,數(shù)據(jù)發(fā)送寄存器通過左移移位寄存器,從主器件數(shù)據(jù)輸入線spi_sdo發(fā)送數(shù)據(jù)給單片機,經(jīng)過16個通信時鐘后,數(shù)據(jù)發(fā)送完畢。

3 STM32系統(tǒng)

選用32位微控制器STM32F103ZET6,內(nèi)部嵌有ARM Cotex-M3內(nèi)核,最高工作時鐘72MHz,在運行速度、功率消耗及穩(wěn)定性等功能特性方面都比較強大。其內(nèi)部集成有3個SPI控制接口,SPI最高通信速率可以達到36Mbit/s,完全可以與FPGA實現(xiàn)高速數(shù)據(jù)、命令通信,并配合控鍵完成參數(shù)配置[10]。

3.1FPGA控制模塊

FPGA控制模塊實現(xiàn)STM32對FPGA的實時控制,以動態(tài)方式配置采樣參數(shù),如采樣頻率、采樣深度及采樣時間等。同時,接收FPGA傳輸回來的信號數(shù)據(jù)和命令標志。 圖5所示為動態(tài)配置采樣參數(shù)的流程。首先,初始化并使能SPI接口,然后判斷鍵控命令,并先將命令標志通過SPI接口發(fā)送給FPGA,再發(fā)送調(diào)節(jié)參數(shù)值。FPGA收到SPI數(shù)據(jù)先進行譯碼,解析命令類型,選定寄存器,根據(jù)再次接收的數(shù)據(jù)信號重新配置該寄存器。例如:當FPGA收到0Xa1,經(jīng)過譯碼就得知需要重新配置采樣速率寄存器,判斷再次收到數(shù)據(jù)為正確格式的數(shù)據(jù)信號,即將采樣速率寄存器配置為該數(shù)值。

3.2采樣系統(tǒng)工作流程

采樣系統(tǒng)的整體工作流程如圖6所示。系統(tǒng)上電后,STM32開始進行整個系統(tǒng)的初始化設置,初始化SPI接口、外部控鍵,配置FPGA采樣參數(shù),配置AD9245的工作模式。初始化和配置參數(shù)完成后,系統(tǒng)處于命令等待狀態(tài),當收到開始采樣信號之后,通過SPI接口將采樣命令傳給FPGA,F(xiàn)PGA接到該命令后,控制ADC開始采樣,同時實時地將采集的連續(xù)數(shù)據(jù)信號傳給STM32。同時,系統(tǒng)進入命令檢測等待狀態(tài),當FPGA收到停止采樣信號就關閉采集模塊,完成單次采樣。當沒有收到停止信號,就檢測采樣參數(shù)配置的鍵控輸入,STM32檢測到鍵控,便將命令信號通過SPI接口通知FPGA停止讀寫操作,重新配置采樣參數(shù),使用新參數(shù)進行數(shù)據(jù)采集,并重復上一輪操作。

圖5 動態(tài)配置參數(shù)流程

4 系統(tǒng)測試

測試FPGA和STM32使用SPI方式的通信速度。SDRAM的工作時鐘為100MHz,F(xiàn)PGA的工作時鐘可以達到200MHz,所以SPI的數(shù)據(jù)傳輸速度決定整個系統(tǒng)的數(shù)據(jù)吞吐能力。在STM32的SPI通信模塊中設置一個定時器,在開始從FPGA讀取數(shù)據(jù)時開啟該定時器,在讀完N個數(shù)據(jù)后關閉該定時器,通過仿真軟件查看該定時時間的計數(shù)值M,根據(jù)N和M的值即可估計SPI的傳輸速度。經(jīng)過測試,STM32的SPI時鐘為18MHz、FP-GA的系統(tǒng)時鐘為100MHz時,測得SPI的通信速度為3.975Mbit/s;當STM32的SPI時鐘為36MHz時,測得SPI的通信速度為6.565Mbit/s。無論在實時處理,或者需要上傳PC的工作情況下,該速度都是夠用的。

圖6 采樣系統(tǒng)工作流程

系統(tǒng)測試使用RIGOL DG1022信號發(fā)生器,分別輸出頻率為100kHz、峰峰值為5V的三角波、正弦波、方波和高斯脈沖波,配置AD9245以50MHz的速率進行采樣,通過嵌入式邏輯分析儀得到輸出到STM32端SPI接口的波形數(shù)據(jù)如圖7所示,得到的采樣數(shù)據(jù)連續(xù)且穩(wěn)定。

5 結(jié)束語

采用FPGA與STM32設計了功耗低、成本低、體積小的數(shù)據(jù)采集系統(tǒng)。使用單片SDRAM的“乒乓”存儲式設計增強了系統(tǒng)的存儲能力和數(shù)據(jù)采集的連續(xù)性。使用改進式的SPI方式完成FPGA與STM32的通信,實現(xiàn)了數(shù)據(jù)采集參數(shù)的動態(tài)、實時化配置。數(shù)據(jù)采集系統(tǒng)操作簡單、靈活性強、使用范圍廣,可以滿足電子、工業(yè)領域中對信號采集的精度、速度和實時處理的要求。FPGA有強大的數(shù)據(jù)處理功能,可以利用FPGA進行數(shù)據(jù)的預處理,STM32也內(nèi)嵌了豐富的外設接口,所以設計的數(shù)字采集系統(tǒng)可應用于不同的領域,通過軟件設計即可滿足工作需求,有很強的推廣應用價值。

圖7 嵌入式邏輯分析儀仿真曲線

[1] 黃志文,邵平,扈曉蘭.基于FPGA的PXI高速數(shù)據(jù)采集系統(tǒng)設計[J].化工自動化及儀表,2010,37(5):60~63.

[2] 劉薇,張彥軍,鄭燕露,等.基于FPGA的多通道高精度采集傳輸系統(tǒng)的設計[J].化工自動化及儀表,2011,38(3):335~338.

[3] 李偉,劉齊飛,馬景蘭,等.基于USB存儲技術的管道定位數(shù)據(jù)采集系統(tǒng)[J].化工機械,2014,41(5):618~622.

[4] 常高嘉,馮全源.基于FPGA的高速數(shù)據(jù)采集系統(tǒng)的設計與實現(xiàn)[J].電子器件,2012,35(5):615~618.

[5] 丁海飛,王紅亮,張會新,等.基于ADS8365的多路數(shù)據(jù)采集存儲系統(tǒng)設計[J].化工自動化及儀表,2012,39(1):81~84.

[6] 馬培嬌,張宇光,姚永興,等.高速大容量存儲系統(tǒng)的關鍵技術實現(xiàn)[J].化工自動化及儀表,2011,38(7):869~872.

[7] 張文濤,王瓊?cè)A,李大海,等.實時視頻采集系統(tǒng)的SDRAM控制器設計[J].現(xiàn)代電子技術,2009,32(20):57~59.

[8] 楊海濤,蘇濤,巫幪.基于FPGA的SDRAM控制器的設計和實現(xiàn)[J].電子科技,2007,(1):8~12.

[9] 王玨文,金偉,蔡一兵,等.基于FPGA的SPI總線接口的實現(xiàn)[J].現(xiàn)代電子技術,2010,33(14):102~104.

[10] 馬宗驥,李佩玥,章明朝,等.基于FPGA+ARM的數(shù)據(jù)采集系統(tǒng)設計[J].化工自動化及儀表,2012,39(9):1187~1189.

TH865

B

1000-3932(2016)02-0210-05

2015-05-18(修改稿)

猜你喜歡
信號系統(tǒng)設計
Smartflower POP 一體式光伏系統(tǒng)
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
完形填空二則
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
基于FPGA的多功能信號發(fā)生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
主站蜘蛛池模板: 亚洲精品中文字幕午夜| 国产日本一区二区三区| 四虎亚洲精品| 久久综合激情网| 乱系列中文字幕在线视频| 久久久久人妻一区精品色奶水| 国产女人喷水视频| 亚洲国产综合自在线另类| 欧美一区二区精品久久久| 色网站在线视频| 国产成人亚洲日韩欧美电影| 精品久久久久无码| 天天激情综合| 国产污视频在线观看| 欧美激情第一欧美在线| 成人午夜久久| 日日碰狠狠添天天爽| 日韩欧美91| 最新加勒比隔壁人妻| 国产精品无码翘臀在线看纯欲| 国产成人免费视频精品一区二区| 免费亚洲成人| 真实国产乱子伦视频| 五月天综合婷婷| 国产精品美女网站| 高清无码一本到东京热| 亚洲综合18p| 欧美不卡视频一区发布| 久久久久九九精品影院| 精品视频在线观看你懂的一区| 国产一级毛片yw| 亚洲不卡影院| 精品视频第一页| 日韩东京热无码人妻| 久久精品国产免费观看频道| 国产在线精彩视频论坛| 精品久久国产综合精麻豆| 无遮挡一级毛片呦女视频| 538精品在线观看| 色欲国产一区二区日韩欧美| 亚洲人成色77777在线观看| 中文字幕人妻无码系列第三区| 国产欧美日本在线观看| 欧美日本在线观看| 国产乱人免费视频| 久久精品只有这里有| 国产香蕉97碰碰视频VA碰碰看 | 91口爆吞精国产对白第三集| 欧美久久网| 在线看片中文字幕| 国产成人高清在线精品| 制服丝袜一区二区三区在线| 亚洲综合18p| 无码AV高清毛片中国一级毛片| 92午夜福利影院一区二区三区| 久久综合色视频| 一级毛片在线播放| 欧美日韩高清| 国产97视频在线观看| 色综合狠狠操| 久久久久青草大香线综合精品| 亚洲精品无码在线播放网站| 精品丝袜美腿国产一区| 欧美精品在线免费| 欧美激情综合| 久996视频精品免费观看| 人妻中文字幕无码久久一区| 国产麻豆福利av在线播放| 日本午夜三级| 成人免费黄色小视频| 美女被操91视频| 国产精品美乳| 精品福利国产| 26uuu国产精品视频| 91精品人妻一区二区| 亚洲国产黄色| 亚洲无限乱码一二三四区| 欧美亚洲激情| 日韩视频福利| 欧美激情伊人| 91外围女在线观看| 国产高清在线丝袜精品一区|