通用異步收發(fā)器(Universal Asynchronous Receiver Transmitter,UART)是一種能同時支持短距離和長距離數(shù)據(jù)傳輸?shù)拇型ㄐ沤涌冢粡V泛應(yīng)用于微機和外設(shè)之間的數(shù)據(jù)交換。像8251、NS8250、NS16550等都是常用的UART芯片,但是這些專用的串行接口芯片的缺點是數(shù)據(jù)傳輸速率比較慢,難以滿足高速率數(shù)據(jù)傳輸?shù)膱龊希匾木褪撬鼈兌季哂胁豢梢浦残裕虼艘眠@些芯片來實現(xiàn)PC機和FPGA芯片之間的通信,勢必會增加接口連線的復(fù)雜程度以及降低整個系統(tǒng)的穩(wěn)定性和有效性。 本課題就是針對UART的特點以及FPGA設(shè)計具有可移植性的優(yōu)勢,提出了一種基于FPGA芯片的嵌入式UART設(shè)計方法,其中主要包括狀態(tài)機的描述形式以及自頂向下的設(shè)計方法,利用硬件描述語言來編制UART的各個子功能模塊以及頂層模塊,之后將其集成到FPGA芯片的內(nèi)部,這樣不僅能解決傳統(tǒng)UART芯片的缺點而且同時也使整個系統(tǒng)變得更加具有緊湊性以及可靠性。 本課題所設(shè)計的LIART支持標(biāo)準(zhǔn)的RS-232C傳輸協(xié)議,主要設(shè)計有發(fā)送模塊、接收模塊、線路控制與中斷仲裁模塊、Modem控制模塊以及兩個獨立的數(shù)據(jù)緩沖區(qū)FIFO模塊。該模塊具有可變的波特率、數(shù)據(jù)幀長度以及奇偶校驗方式,還有多種中斷源、中斷優(yōu)先級、較強的抗干擾數(shù)據(jù)接收能力以及芯片內(nèi)部自診斷的能力,模塊內(nèi)分開的接收和發(fā)送數(shù)據(jù)緩沖寄存器能實現(xiàn)全雙工通信。除此之外最重要的是利用IP模塊復(fù)用技術(shù)設(shè)計數(shù)據(jù)緩沖區(qū)FIFO,采用兩種可選擇的數(shù)據(jù)緩沖模式。這樣既可以應(yīng)用于高速的數(shù)據(jù)傳輸環(huán)境,也能適合低速的數(shù)據(jù)傳輸場合,因此可以達到資源利用的最大化。 在具體的設(shè)計過程中,利用Synplify Pro綜合工具、ModelSim仿真工具、ISE集成的軟件開發(fā)環(huán)境中對各個功能模塊進行綜合優(yōu)化、仿真驗證以及下載實現(xiàn)。各項數(shù)據(jù)結(jié)果表明,本課題中所設(shè)計的UART滿足預(yù)期設(shè)計目標(biāo)。
標(biāo)簽:
FPGA
異步收發(fā)器
上傳時間:
2013-08-02
上傳用戶:rocketrevenge