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