一種基于FPGA的UART接口開發(fā)方案
本文引用地址:http://www.butianyuan.cn/article/262819.htm
![4.jpg](http://editerupload.eepw.com.cn/201409/ed53e4e0462895f7765fc1030e672304.jpg)
圖4 UART發(fā)送器符號圖
圖4 為UART發(fā)送器的符號圖,其中flag為輸入數(shù)據(jù)指示信號,rst為全局復位信號,clkin為輸入時鐘,din[70]為并行數(shù)據(jù)輸入端,tdo為串行數(shù)據(jù)輸出端。接收器在每個時鐘的上升沿檢測輸入數(shù)據(jù)指示信號,若檢測到其為高電平,則將并行輸入數(shù)據(jù)鎖存入內(nèi)部的8比特移位寄存器,接下來先送出一個低電平并保持16個時鐘,然后每隔16個時鐘將移位寄存器中的數(shù)據(jù)移出一位,最后送出高電平,返回初始狀態(tài)。
系統(tǒng)調(diào)試
UART接收器和發(fā)送器可根據(jù)實際需要單獨使用,但在調(diào)試時為了方便,將兩者對接起來,如圖5所示。UART接收器的輸出與UART發(fā)送器的輸入相連,復位信號和時鐘信號共用,時鐘信號由片外晶振提供,輸入FPGA后通過鎖相環(huán)轉(zhuǎn)換為需要的頻率。
![](http://editerupload.eepw.com.cn/201409/d56e20a8d3e944c187348a5136805f58.gif)
圖5 調(diào)試系統(tǒng)模塊圖
串口的調(diào)試需要借助于串口調(diào)試工具,可以用VC編程實現(xiàn),也可以直接使用網(wǎng)上已有的調(diào)試工具。直接選用網(wǎng)上的串口調(diào)試助手進行了測試,將數(shù)據(jù)從計算機送出,經(jīng)過UART接口接收后再送回計算機。經(jīng)過長達數(shù)十分鐘的不間斷接收和發(fā)送后,將送回計算機的數(shù)據(jù)與原始數(shù)據(jù)進行比較,多次測試均沒有發(fā)生任何錯誤,這充分說明了這一UART接口程序具有高度的可靠性和穩(wěn)定性,可以滿足設計要求。
結(jié)束語
基于FPGA設計和實現(xiàn)UART,可以用片上很少的邏輯單元實現(xiàn)UART的基本功能。與傳統(tǒng)設計相比,能有效減少系統(tǒng)的PCB面積,降低系統(tǒng)的功耗,提高設計的穩(wěn)定性和可靠性,并可方便地進行系統(tǒng)升級和移植。
本設計具有較大的靈活性,通過調(diào)整波特率發(fā)生器的分頻參數(shù),就可以使其工作在不同的頻率。采用16倍波特率的采樣時鐘,可以實時有效探測數(shù)據(jù)的起始位,并可對數(shù)據(jù)位進行“對準”中央采樣,保證了所采樣數(shù)據(jù)的正確性。該模塊可以作為一個完整的IP核移植進各種FPGA中,在實際應用時可嵌入到其他系統(tǒng)中,很容易實現(xiàn)和遠端上位機的異步通信。
電氣符號相關(guān)文章:電氣符號大全
fpga相關(guān)文章:fpga是什么
鎖相環(huán)相關(guān)文章:鎖相環(huán)原理
評論