資源描述:
《基于fpgacpld的通用異步通信接口uart建模與設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、目錄【內(nèi)容摘要】2【關(guān)鍵詞】2一、FPGA3(一)FPGA設(shè)計流程及概述3(二)自頂向下原理4二、UART4(一)UART簡述4(二)RS-232串口通信41.簡介42.實現(xiàn)方案5三、設(shè)計軟件5(一)Synplify的性能特點5(二)ModelSim的性能特點5四、UART實現(xiàn)原理6(一)UART各個小模塊的功能和實現(xiàn)程序61.信號監(jiān)測器62.移位寄存器73.波特率發(fā)生器84.奇偶校驗器95.總線選擇器106.計數(shù)器11(二)UART內(nèi)核模塊狀態(tài)機的實現(xiàn)111.有限狀態(tài)機(FSM)簡介112.數(shù)據(jù)接收過程123.數(shù)據(jù)加載
2、和發(fā)送過程124.UART內(nèi)核、電路圖及仿真圖13(三)UART工作流程151.接收過程152.發(fā)送過程16五、設(shè)計小結(jié)17[參考文獻及相關(guān)資料]17【Abstract】18【Keywords】19基于FPGA/CPLD的通用異步通信接口UART建模與設(shè)計電子信息工程2003080264廖澤雷指導(dǎo)教師馮昌昆【內(nèi)容摘要】FPGA/CPLD是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,是一種半定制的集成電路。結(jié)合計算機軟件技術(shù)(EDA技術(shù))可以快速、方便地構(gòu)建數(shù)字系統(tǒng)。FPGA是電子設(shè)計領(lǐng)域中最具有活力和發(fā)展前途的一項技術(shù),它的影響絲毫不
3、亞于20世紀70年代單片機的發(fā)明和使用??梢院敛豢鋸埖刂v,F(xiàn)PGA能完成任何數(shù)字器件的功能。隨著EDA軟件和硬件描述語言(HDL)的進步,FPGA的開發(fā)周期越來越短,產(chǎn)品功能越來越強。FPGA在復(fù)雜邏輯電路以及數(shù)字信號處理領(lǐng)域中扮演者越來越重要的角色。UART(通用異步接受/發(fā)送器)是一種短距離串行傳輸接口。在數(shù)字通信和控制系統(tǒng)中得到廣泛應(yīng)用。本設(shè)計采用了多模塊化實現(xiàn)方法,介紹了采用VerilogDHL硬件描述語言來開發(fā)基于FPGA/CPLD的通用異步通信接口UART的設(shè)計。系統(tǒng)結(jié)構(gòu)進行了模塊化分解,使之適應(yīng)自頂向下的設(shè)
4、計方法。核心部分采用有限狀態(tài)機(FSM)實現(xiàn),使控制邏輯直觀簡單,大幅度提高了設(shè)計效率。設(shè)計、綜合與仿真分別在Synplify8.1和ModelSim_SE_6.1b軟件開發(fā)環(huán)境下實現(xiàn)?!娟P(guān)鍵詞】FPGA/CPLD;UART;多模塊;有限狀態(tài)機隨著EDA技術(shù)的發(fā)展,F(xiàn)PGA/CPLD已經(jīng)在許多方面得到了廣泛的應(yīng)用,而UART(UniversalAsynchronousReceiver/Transmitter,通用異步接受/發(fā)送器),是一種廣泛使用的串行數(shù)據(jù)傳輸協(xié)議,它允許在串行鏈路上進行全雙工通信。串行外設(shè)中用到的如RS
5、232異步串行接口等,一般可以采用專用的集成電路即UART來實現(xiàn),比如8250、8251等芯片都是常見的UART器件,但這些芯片速度較慢,難以滿足一些高速應(yīng)用的場合,雖然也有新型的UART可以滿足高速的要求,但所有的UART芯片都存在引腳較多、體積較大的缺點、與其他器件的接口較為復(fù)雜等缺點,從而會使設(shè)計的成本和難度加大。因此可以將需要的UART功能集成到FPGA/CPLD內(nèi)部。利用VerilogDHL語言將UART核心功能集成,不僅可以解決傳統(tǒng)芯片的缺點,也使整個設(shè)計更加緊湊、穩(wěn)定且可靠。一、FPGA(一)FPGA設(shè)計流
6、程及概述總的來說,要實現(xiàn)一個數(shù)字系統(tǒng),有兩種常用的方式,一種基于PLD器件,另一種則采用ASIC來實現(xiàn)?;贔PGA/CPLD器件的EDA設(shè)計流程,主要包括設(shè)計輸入、綜合、FPGA/COLD適配、仿真等步驟。其中設(shè)計輸入是設(shè)計將所要設(shè)計的電路以開發(fā)軟件要求的某種形式表達出來,并輸入到相應(yīng)軟件中的過程,最常用的是原理圖方式和HDL文本方式兩種。綜合是一個很重要的步驟,指的是將較高層次的設(shè)計描述自動轉(zhuǎn)化為較低層次描述的過程。仿真是對設(shè)計電路的功能驗證,可以在設(shè)計的過程中對整個系統(tǒng)和各個模塊進行仿真,若有問題可以隨時進行修改。
7、仿真包括功能仿真(又稱前仿真)和時序仿真(又稱后仿真)。經(jīng)過設(shè)計輸入、綜合、仿真、布局布線后,再利用FPGA來具體實現(xiàn)。具體的流程圖如下:(1)設(shè)計定義(2)HDL實現(xiàn)邏輯仿真器(3)功能仿真邏輯綜合器(4)邏輯綜合邏輯仿真器(5)前仿真FPGA廠家工具(6)布局布線邏輯仿真器(8)靜態(tài)時序分析(7)后仿真(8)在系統(tǒng)測試說明:(1)邏輯仿真器主要指modelsim,Verilog-XL等。(2)邏輯綜合器主要指Snyplify、FPGAExpress/FPGACompiler等。(3)FPGA廠家工具指的是如Alter
8、a的Max+PlussⅡ、Xilinx的Foundation等。(二)自頂向下原理Top-down設(shè)計,即自頂向下的設(shè)計。這種設(shè)計方法首先從系統(tǒng)設(shè)計入手,在頂層進行功能方框圖的劃分和結(jié)構(gòu)設(shè)計。在功能級進行仿真、糾錯,并用硬件語言對高層次的系統(tǒng)行為進行描述,然后用綜合工具將設(shè)計轉(zhuǎn)化為具體問電路網(wǎng)表,其對應(yīng)的物理實現(xiàn)可以