基于有限狀態(tài)機(jī)實(shí)現(xiàn)全雙工可編程UART
(作者未知) 2012/1/15
摘 要:異步協(xié)議是廣泛應(yīng)用于數(shù)據(jù)鏈路層的串行通信協(xié)議,文中基于該協(xié)議用VHDL 設(shè)計(jì)了全雙工可編程UART(Uni2versal Asynchronous Receiver Transmitter ,通用異步收發(fā)器) 。重點(diǎn)討論了使用FSM(有限狀態(tài)機(jī)) 技術(shù)進(jìn)行接收器和發(fā)送器兩大核心模塊的設(shè)計(jì)實(shí)現(xiàn),以及接收器能夠正常工作的關(guān)鍵技術(shù)———倍頻采樣技術(shù);此外本設(shè)計(jì)在采樣的同時(shí)實(shí)現(xiàn)串并轉(zhuǎn)換,它比傳統(tǒng)的方法能少一個(gè)周期的時(shí)鐘消耗。設(shè)計(jì)的UART 在Quartus II 4. 0 中通過(guò)了全部功能仿真。
關(guān)鍵詞:有限狀態(tài)機(jī);VHDL ;UART ;異步通信
0 引 言
隨著VLSI 技術(shù)的發(fā)展和電路復(fù)雜性的迅速提高,數(shù)字系統(tǒng)的設(shè)計(jì)方法發(fā)生了很大的變化, EDA 技術(shù)得到了飛速的發(fā)展。目前,基于EDA 技術(shù)的芯片設(shè)計(jì)正在成為數(shù)字系統(tǒng)設(shè)計(jì)的主流,其中利用硬件描述語(yǔ)言進(jìn)行可編程ASIC 設(shè)計(jì)是EDA 技術(shù)的一個(gè)重要應(yīng)用。基于HDL 的系統(tǒng)設(shè)計(jì)采用自頂向下的設(shè)計(jì)方法,在更抽象的層次上把握并描述了系統(tǒng)的功能特性及電路結(jié)構(gòu),具有設(shè)計(jì)周期短、設(shè)計(jì)成本低、易于修改、不受工藝限制等特點(diǎn)。隨著電路規(guī)模和復(fù)雜度的進(jìn)一步增加,硬件描述語(yǔ)言愈顯其優(yōu)越性。
眾所周知,任何數(shù)字系統(tǒng)都可以分為相互作用的控制單元( control unit ) 和數(shù)據(jù)通道( data path) 兩部分[1 ,2 ] 。數(shù)據(jù)通道通常由組合邏輯構(gòu)成,而控制單元通常由時(shí)序邏輯構(gòu)成,任何時(shí)序電路都可以用有限狀態(tài)機(jī)( Finite State Machine ,FSM) 來(lái)實(shí)現(xiàn)。FSM 是一種應(yīng)用于時(shí)序邏輯電路設(shè)計(jì)中的建模技術(shù),它在對(duì)時(shí)序要求較高的系統(tǒng)(比如數(shù)字控制) 設(shè)計(jì)中非常有用。數(shù)字系統(tǒng)控制部分的每一個(gè)控制態(tài)可以看作一種狀態(tài),與每一控制相關(guān)的轉(zhuǎn)換條件指定了狀態(tài)的下一個(gè)狀態(tài)和輸出。根據(jù)有限狀態(tài)機(jī)的輸出與當(dāng)前狀態(tài)和當(dāng)前輸入的關(guān)系,可以將有限狀態(tài)機(jī)分成Moore 型有限狀態(tài)機(jī)和Mealy 型有限狀態(tài)機(jī)兩種。Moore FSM 的輸出只與有限狀態(tài)機(jī)的當(dāng)前狀態(tài)有關(guān),與輸入信號(hào)的當(dāng)前值無(wú)關(guān)。與Moore 機(jī)不同,Mealy FSM 的輸出同時(shí)與當(dāng)前狀態(tài)和輸入信號(hào)的當(dāng)前值有關(guān)。但不管哪一種FSM ,都可以很容易地用VHDL 實(shí)現(xiàn)并在現(xiàn)有的EDA環(huán)境下綜合出來(lái)。
文中采用自頂向下[3 ] 的設(shè)計(jì)方法, 設(shè)計(jì)了該UART ,探討了利用VHDL 描述可編程ASIC 的方法,
通過(guò)分析UART 的功能,提出利用有限狀態(tài)自動(dòng)機(jī)來(lái)描述UART 核心控制邏輯的方法。
.......
附件下載:點(diǎn)擊下載查閱全文
|