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