基于FPGA的高速實時數(shù)據(jù)采集系統(tǒng)設(shè)計
2.2.3 UART模塊
UART即為通用異步收發(fā)器,在發(fā)送時,將并行數(shù)據(jù)轉(zhuǎn)換成為串行數(shù)據(jù);而在接收端,是將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)。其傳送數(shù)據(jù)主要是以幀的形式進行傳輸?shù)模粋€基本的幀包含有一個起始位、7位或8位數(shù)據(jù)、奇偶校驗位和停止位組成,UART的結(jié)構(gòu)示意圖如圖9所示。本文引用地址:http://www.biyoush.com/article/190326.htm
起始位按照習慣,線路閑置時的邏輯值一般都是1,起始標志的邏輯值為0。對于奇偶校驗位的值是所有數(shù)據(jù)位的異或結(jié)果,并且隨著數(shù)據(jù)會一起傳輸?shù)?,如果采用偶校驗,當?shù)據(jù)中有奇數(shù)個1時,那么奇偶校驗位就設(shè)置為1;如果有偶數(shù)個1時,那么奇偶校驗位就設(shè)置為0。采用奇校驗,其結(jié)果恰恰相反。對于停止位的邏輯值,一般都是設(shè)置為0。
發(fā)送模塊中引腳功能為:din(7:0):8位并行數(shù)據(jù)的輸入端;sdo:并行數(shù)據(jù)轉(zhuǎn)串行數(shù)據(jù)輸出端;rst:復位信號輸入端,低電平有效;wrn:寫控制信號,高電平有效,高電平時寫入數(shù)據(jù);tsre:并串轉(zhuǎn)換過程標志信號,低電平有效,轉(zhuǎn)換過程中始終保持為0;clk16x:時鐘信號輸入端波特率發(fā)生器產(chǎn)生;tbre:整個工作過程標志信號。
UART模塊發(fā)送模塊在Modelsim中的仿真圖如圖10所示。
從Modelsim仿真圖可以看出,在并串轉(zhuǎn)換過程標志信號(tsre信號)有效時,即為低電平時,則8位并行數(shù)據(jù)就實現(xiàn)了并串轉(zhuǎn)換,然后通過USB接口傳輸給上位機顯示。
接收模塊中引腳功能:rxd:串行數(shù)據(jù)輸入端口;dout[7:0]:并行數(shù)據(jù)輸出端;rdn:寫控制端口,高電平有效,此時數(shù)據(jù)輸出;data_ ready:數(shù)據(jù)是否準備好的標志端口;parity_error:校驗位是否出錯的標志端口;framing_error:幀是否出錯的標志端口。UART模塊的接收模塊在Modelsim中的仿真圖如圖11所示。
從Modelsim仿真圖可以看出,當UART寫控制信號(rdn信號)為高電平,即有效時,則串行數(shù)據(jù)就實現(xiàn)了并串轉(zhuǎn)換,將上位機的反饋信號傳輸給系統(tǒng)。
3 結(jié)語
本文基于FPGA的高速實時數(shù)據(jù)采集系統(tǒng)的設(shè)計,能夠?qū)崿F(xiàn)數(shù)據(jù)的高速、實時地采集。系統(tǒng)能夠?qū)崿F(xiàn)6通道同步采集,并通過FIFO解決了A/D轉(zhuǎn)換速率和DSP處理數(shù)據(jù)的速率不匹配的問題,使系統(tǒng)具有高效、快速的特點。在仿真中驗證了所設(shè)計功能的正確性,因而在高速實時數(shù)據(jù)采集方面有著廣泛的應用空間。
評論