一種基于FPGA的UART接口開(kāi)發(fā)方案
本文引用地址:http://dyxdggzs.com/article/262819.htm

圖4 UART發(fā)送器符號圖
圖4 為UART發(fā)送器的符號圖,其中flag為輸入數據指示信號,rst為全局復位信號,clkin為輸入時(shí)鐘,din[70]為并行數據輸入端,tdo為串行數據輸出端。接收器在每個(gè)時(shí)鐘的上升沿檢測輸入數據指示信號,若檢測到其為高電平,則將并行輸入數據鎖存入內部的8比特移位寄存器,接下來(lái)先送出一個(gè)低電平并保持16個(gè)時(shí)鐘,然后每隔16個(gè)時(shí)鐘將移位寄存器中的數據移出一位,最后送出高電平,返回初始狀態(tài)。
系統調試
UART接收器和發(fā)送器可根據實(shí)際需要單獨使用,但在調試時(shí)為了方便,將兩者對接起來(lái),如圖5所示。UART接收器的輸出與UART發(fā)送器的輸入相連,復位信號和時(shí)鐘信號共用,時(shí)鐘信號由片外晶振提供,輸入FPGA后通過(guò)鎖相環(huán)轉換為需要的頻率。

圖5 調試系統模塊圖
串口的調試需要借助于串口調試工具,可以用VC編程實(shí)現,也可以直接使用網(wǎng)上已有的調試工具。直接選用網(wǎng)上的串口調試助手進(jìn)行了測試,將數據從計算機送出,經(jīng)過(guò)UART接口接收后再送回計算機。經(jīng)過(guò)長(cháng)達數十分鐘的不間斷接收和發(fā)送后,將送回計算機的數據與原始數據進(jìn)行比較,多次測試均沒(méi)有發(fā)生任何錯誤,這充分說(shuō)明了這一UART接口程序具有高度的可靠性和穩定性,可以滿(mǎn)足設計要求。
結束語(yǔ)
基于FPGA設計和實(shí)現UART,可以用片上很少的邏輯單元實(shí)現UART的基本功能。與傳統設計相比,能有效減少系統的PCB面積,降低系統的功耗,提高設計的穩定性和可靠性,并可方便地進(jìn)行系統升級和移植。
本設計具有較大的靈活性,通過(guò)調整波特率發(fā)生器的分頻參數,就可以使其工作在不同的頻率。采用16倍波特率的采樣時(shí)鐘,可以實(shí)時(shí)有效探測數據的起始位,并可對數據位進(jìn)行“對準”中央采樣,保證了所采樣數據的正確性。該模塊可以作為一個(gè)完整的IP核移植進(jìn)各種FPGA中,在實(shí)際應用時(shí)可嵌入到其他系統中,很容易實(shí)現和遠端上位機的異步通信。
電氣符號相關(guān)文章:電氣符號大全
fpga相關(guān)文章:fpga是什么
鎖相環(huán)相關(guān)文章:鎖相環(huán)原理
評論