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