基于FPGA 的簡化UART 電路設(shè)計
發(fā)送模塊主要實現(xiàn)對并行數(shù)據(jù)的緩存,并串轉(zhuǎn)換,然后把串行數(shù)據(jù)按照既定數(shù)據(jù)幀格式進行輸出,其機構(gòu)如圖3 所示:
圖3 UART 發(fā)送模塊
a) data_input[7:0]是8 位并行數(shù)據(jù)的輸入端,轉(zhuǎn)換成串行數(shù)據(jù)后從txd 輸出;
b) wrn 是寫控制信號,為1 時禁止數(shù)據(jù)輸入,為0 時允許輸入;
c) reset 為系統(tǒng)復位輸入端,低電平有效;
d) clk 為系統(tǒng)時鐘信號輸入端,由波特率發(fā)生器產(chǎn)生;
e) tser 是并串轉(zhuǎn)換過程的標志:在沒有數(shù)據(jù)轉(zhuǎn)換時保持為1,在并串轉(zhuǎn)換開始時變成0,
并在轉(zhuǎn)換過程中保持為0; f) tbre 是整個工作過程的標志。實驗中串行數(shù)據(jù)結(jié)構(gòu)為1 位起始位,8 位數(shù)據(jù)位,1 位奇偶校驗位,1 位停止位。數(shù)據(jù) 的發(fā)送由外部接收模塊控制,接收模塊給出wrn 信號,UART 發(fā)送模塊根據(jù)此信號將并行數(shù)據(jù)data-input 鎖存進發(fā)送緩沖,并通過移位寄存器進行并串轉(zhuǎn)換,在轉(zhuǎn)換結(jié)束后加上奇偶校驗位,發(fā)送到端口txd 進行串行輸出。在整個工作過程中,輸出信號tbre 作為標志信號,在串行數(shù)據(jù)全部輸出完畢之后變成0, 并在發(fā)送模塊未工作時保持為0。
2.4 接收模塊
接收模塊的結(jié)構(gòu)如圖4 所示。接收模塊的作用是把收到的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)進行輸出,并判斷收到數(shù)據(jù)是否有錯。接收模塊的內(nèi)部結(jié)構(gòu)及工作過程與發(fā)送模塊類似,只不過接收模塊的工作和發(fā)送模塊的工作相反,是進行數(shù)據(jù)的串并轉(zhuǎn)換。
圖4 UART 接收模塊
a) rxd 接收串行數(shù)據(jù)輸入;
b) rdn 為輸入控制端,只有rdn 為0 時,并行數(shù)據(jù)才允許輸出;
c) data-ready 為數(shù)據(jù)是否準備好的標志;
d) parity-error 為校驗位是否出錯的標志;
e) framing-error 為幀是否出錯的標志;
f) data-out[7:0]為并行數(shù)據(jù)輸出端。
接收模塊從捕捉到數(shù)據(jù)串的第一個0 開始工作,然后把隨后依次輸入的8 個數(shù)據(jù)位通過移位在寄存器中完成竄并轉(zhuǎn)換,并將并行數(shù)據(jù)輸出至端口data-out 。將8 個數(shù)據(jù)位移位至寄存器后,接收模塊將檢測輸入數(shù)據(jù)串的最后一位是否為1(停止位)來判斷接收到的數(shù)據(jù)幀是否出錯,若不為1,就將輸出framing-error 置1。
3 仿真驗證在實驗中,作者選用Altera 公司的Cyclone 系列產(chǎn)品中的EP1C12Q240C8 芯片,硬件描述語言采用Verilog HDL,用Quartus 5.1 進行邏輯綜合,仿真工具則使用ModelSim6.0 。發(fā)送模塊和接收模塊的仿真結(jié)果分別如圖5 所示。發(fā)送的數(shù)據(jù)能夠嚴格按照串行通信協(xié)議進行傳輸;接收的數(shù)據(jù)也完全正確。通過仿真測試后,將程序下載到FPGA 芯片中運行,結(jié)果通信數(shù)據(jù)正確,電路工作穩(wěn)定、可靠。
圖5 發(fā)送和接收模塊仿真
4 結(jié)束語
用FPGA 實現(xiàn)了UART 通信功能,可以實現(xiàn)對數(shù)據(jù)的接收和發(fā)送,并可以在接收 數(shù)據(jù)時對其校驗位、停止位進行判斷,在發(fā)送數(shù)據(jù)時可以形成完整的一幀數(shù)據(jù)格式。本 文利用FPGA 設(shè)計實現(xiàn)了UART 的核心功能,可以和上位機進行異步串行通信。實驗 證明該UART 設(shè)計占用資源少,工作穩(wěn)定可靠。
本文作者創(chuàng)新觀點:本文對UART 系統(tǒng)結(jié)構(gòu)進行了模塊化分析,可以根據(jù)實際的需要可選擇地實現(xiàn)相應(yīng)的通信功能,簡化了電路設(shè)計,提高了系統(tǒng)的可靠性,可以靈活地嵌入到各個通信系統(tǒng)當中。
評論