在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于CPLD的異步串行收發(fā)器設(shè)計

            基于CPLD的異步串行收發(fā)器設(shè)計

            作者: 時間:2005-05-30 來源:網(wǎng)絡(luò) 收藏
            摘要:介紹了基于CPLD的的設(shè)計方案,著重敘述了用混合輸入(包括原理圖和VHDL)實現(xiàn)該設(shè)計的思想,闡述了在系統(tǒng)可編程(ISP)開發(fā)軟件的應(yīng)用方法與設(shè)計流程,并給出了VHDL源文件和仿真波形。

            關(guān)鍵詞:;混合輸入;在系統(tǒng)可編程;;ispLSI1016

            傳統(tǒng)數(shù)字系統(tǒng)的設(shè)計主要基于標(biāo)準(zhǔn)邏輯器件并采用“Bottom-Up”(自底向上)的方法構(gòu)成系統(tǒng)。這種“試湊法”設(shè)計無固定套路可尋,主要憑借設(shè)計者的經(jīng)驗。所設(shè)計的數(shù)字系統(tǒng)雖然不乏構(gòu)思巧妙者,但往往要用很多標(biāo)準(zhǔn)器件,而且系統(tǒng)布線復(fù)雜,體積功耗大,可靠性差,相互交流和查錯修改不便,設(shè)計周期也長。隨著電子技術(shù)的發(fā)展,采用先進(jìn)的CPLD ?復(fù)雜的可編程邏輯器件?器件取代傳統(tǒng)電路已經(jīng)成為技術(shù)發(fā)展的必然趨勢。Lattice公司的ispLSI是當(dāng)今世界上速度最快密度最高的CPLD之一。它采用先進(jìn)的ISP技術(shù),使器件無需拆卸即可在系統(tǒng)內(nèi)重新配置邏輯功能。數(shù)字系統(tǒng)設(shè)計的革命性變化,使得傳統(tǒng)的“固定功能集成塊+連線”的設(shè)計方法正逐步退出歷史舞臺,而基于芯片的設(shè)計正在成為電子系統(tǒng)設(shè)計方法的主流。

            本設(shè)計選用Lattice公司生產(chǎn)的ispLSI1016器件,并以“”為例,采用現(xiàn)代電路與系統(tǒng)中的設(shè)計思想來說明“基于芯片的設(shè)計”在實現(xiàn)數(shù)字系統(tǒng)的具體應(yīng)用方法。這種設(shè)計方法不僅可使硬件設(shè)計“軟件化”、縮短設(shè)計周期、提高效率,而且易于修改和“升級”。

            1 異步串行收發(fā)器的工作原理

            異步串行收發(fā)器的工作原理主要包括兩部分:第一是接收串行數(shù)據(jù)并將其轉(zhuǎn)化為并行數(shù)據(jù),第二是把并行數(shù)據(jù)以串行數(shù)據(jù)方式發(fā)送出去。由于接收和發(fā)送是異步的,所以接收部分和發(fā)送部分需要不同的時鐘。

            發(fā)送部分的系統(tǒng)工作原理如圖1所示,其中TXD?7?0?是并行數(shù)據(jù)輸入信號,TBITCLK是發(fā)送器時鐘信號,RESETF是發(fā)送器控制模塊內(nèi)部復(fù)位信號,MWDSLF是電平敏感鎖存器使能信號,TRSTF是一位鎖存器模塊復(fù)位信號,TXDATA是串行數(shù)據(jù)輸出信號。

            當(dāng)發(fā)送電路工作時,電平敏感鎖存器使能信號(MWDSLF)有效,并行數(shù)據(jù)被送入鎖存器,之后,控制模塊1產(chǎn)生并入串出移位寄存器裝入信號(STLD),以在時鐘信號(TBITCLK)的作用下,將并行數(shù)據(jù)裝入并入串出移位寄存器,然后,控制模塊1再產(chǎn)生并入串出移位寄存器移位信號(STLD),并在時鐘信號(TBITCLK)的作用下,將并行數(shù)據(jù)移出。

            接收部分的系統(tǒng)工作原理如圖2所示,其中RXDATA是串行數(shù)據(jù)輸入信號,RBITCLK是接收器時鐘信號,RE-SETF是接收器控制模塊內(nèi)部復(fù)位信號,MRDSLF為邊沿觸發(fā)鎖存器使能信號,RXD?7:0?是并行數(shù)據(jù)輸出信號,RDRDYF是并行數(shù)據(jù)準(zhǔn)備好信號。該部分電路工作時,首先在時鐘信號(RBITCLK)的作用下,串行數(shù)據(jù)(RXDATA)被串入并出移位寄存器轉(zhuǎn)化為并行數(shù)據(jù);同時,控制模塊2在行計數(shù)控制下,在一幀串行數(shù)據(jù)到并行數(shù)據(jù)轉(zhuǎn)換完成時,使邊沿觸發(fā)鎖存器使能信號MRDSLF有效;之后,在控制模塊產(chǎn)生的時鐘信號的作用下將并行數(shù)據(jù)鎖存到鎖存器,同時,使并行數(shù)據(jù)準(zhǔn)備好信號(RDRDYF)有效。

            2 異步串行收發(fā)器的具體實現(xiàn)

            硬件電路功能來用Lattice公司的CPLD來實現(xiàn),用ispLEVER3.0 進(jìn)行軟件設(shè)計。可利用原理圖和硬件描述語言VHDL完成源文件的設(shè)計。以下對其CPLD流程源文件及仿真波形作以介紹。

            2.1 用ispLEVER軟件設(shè)計CPLD的流程

            Lattice公司新的設(shè)計工具ispLEVER可支持isp-MACH、 ispLSI、 ispGDX、 ispGAL、 GAL器件以及具有革新意義的新的ispMACH 5000VG和ispMACH 4000 CPLD器件系列。用ispLEVER設(shè)計CPLD的源文件主要有硬件描述語言(VHDL、Verilog HDL和ABLE-HDL)、電路原理圖和網(wǎng)表五種方式。在利用該軟件設(shè)計數(shù)字電路與系統(tǒng)時,可采用原理圖、硬件描述語言以及混合輸入方式。本設(shè)計將采用混合輸入方式(原理圖與VHDL語言)。用ispLEVER軟件設(shè)計CPLD的基本流程如圖3所示。

            2.2 源文件輸入

            ispLEVER軟件的系統(tǒng)庫包括3部分:可編程大規(guī)模集成電路庫(pLSI)、通用電路庫(GENERIC)、用戶自己設(shè)計的元件庫(Local)。這些庫中又列出了若干子庫,而這些子庫都是以宏來定義的,如門(Gate)、寄存器(Regs)、算術(shù)運算器(Ariths)、I/O端口等。

            在原理圖輸入方式中,首先應(yīng)當(dāng)用這些宏來構(gòu)成電路符號,然后像邏輯元件那樣畫成原理圖,同時給出它們的連線以及各個輸入輸出緩沖器電路的具體配置。由此構(gòu)成的宏在原理圖上只是一些方框形的符號,沒有涉及其內(nèi)部具體邏輯,因而這種宏實際上是一種所謂的頂層原理圖。與頂層原理圖對應(yīng)的是底層原理圖,頂層原理圖實際上是一種由各種門和觸發(fā)器等基本邏輯器件組成的基本原理圖,可以說它是頂層原理圖的內(nèi)核。除了直接用基本邏輯器件構(gòu)成底層原理圖外,還可以用硬件描述語言編寫源文件模塊以作為宏,同時作為一種底層原理圖去充實、支持頂層原理圖。頂層模塊原理圖如圖4所示。

            頂層宏模塊中發(fā)送器部分?TRANSMITTERM_S?的原理圖如圖5所示,電平鎖存器、一位鎖存器模塊以及控制模塊1部分可調(diào)用系統(tǒng)庫內(nèi)的宏模塊,因為這一部分硬件電路已很成熟,而且并不是很復(fù)雜。調(diào)用庫內(nèi)宏模塊用相對于硬件描述語言而言,其占用系統(tǒng)資源較少。

            圖5中,圓圈部分的并入串出移位寄存器(PS_SHIFTREG)宏模塊可用硬件描述語言(VHDL)進(jìn)行功能描述。其VHDL源文件如下:

            LIBRARY ieee;

            USE ieee.std logic 1164.ALL;

            entity logic166 is

            Port ? A ? In std logic;

            B ? In std logic;

            C ? In std logic;

            CLK ? In std logic;

            D ? In std logic;

            E ? In std logic;

            F ? In std logic;

            G ? In std logic;

            H ? In std logic;

            SER ? In std logic;

            STLD ? In std logic;

            QH ? Out std logic ?;

            end logic166;

            architecture BEHAVIORAL of logic166 is

            signal t latch? std logic vector?7 downto 0?;

            begin

            process?STLD,CLK,SER,A,B,C,D,E,F,G,H?

            begin

            if?CLK'event and CLK=′1′? then

            if?STLD=′1′? then

            t latch?7?<=A;

            t latch?6?<=B;

            t latch?5?<=C;

            t latch?4?<=D;

            t latch?3?<=E;

            t latch?2?<=F;

            t latch?1?<=G;

            t latch?0?<=H;

            else

            t latch?0?<=t latch?1?;

            t latch?1?<=t latch?2?;

            t latch?2?<=t latch?3?;

            t latch?3?<=t latch?4?;

            t latch?4?<=t latch?5?;

            t latch?5?<=t latch?6?;

            t latch?6?<=t latch?7?;

            t latch?7?<=SER;

            end if;

            end if;

            end process

            QH<=t latch?0?;

            end BEHAVIORAL;

            圖5

            頂層宏模塊中接收器部分?RECEIVER_S?的原理圖如圖6所示,邊沿觸發(fā)鎖存器、串入并出移位寄存器以及控制模塊2部分可以調(diào)用系統(tǒng)庫內(nèi)的宏模塊。圖中圓圈部分的計數(shù)器(COUNTER9)宏模塊可用硬件描述語言(VHDL)進(jìn)行功能描述。VHDL源文件如下:

            LIBRARY vanmacro;

            USE vanmacro.components.ALL;

            LIBRARY ieee;

            LIBRARY generics;

            USE ieee.std logic 1164.ALL;

            USE ieee.numeric std.ALL;

            USE generics.components.ALL;

            entity counter9 is

            Port ? clk ? In std logic;

            cao ? Out std logic ?;

            end counter9;

            architecture behav of counter9 is

            signal counter? integer range 0 to 9;

            begin

            process?clk?

            begin

            圖6

            if?clk'event and clk=′0′? then

            if?counter=9? then

            counter<=0;

            else

            counter<=counter+1;

            end if;

            end if;

            end process;

            process?counter?

            begin

            if?counter=9? then

            cao<=′1′;

            else

            cao<=′0′;

            end if;

            end process;

            end behav;

            在上述源文件設(shè)計中,控制模塊1和控制模塊2都采用了調(diào)用宏模塊的方式。在此設(shè)計中,時序控制十分重要,而采用調(diào)用宏模塊的原理圖輸入方式能很好的控制延時參數(shù)。如果用硬件描述語言進(jìn)行時序功能描述,那么經(jīng)邏輯綜合、優(yōu)化后,其延時參數(shù)有時很難控制。而減小延時參數(shù)需要更多的資源來補(bǔ)償。

            2.3 仿真分析

            ispLEVER軟件提供了強(qiáng)大的功能仿真和時序仿真功能,其最高仿真頻率可達(dá)36MHz。圖7是接收器部分的仿真波形。預(yù)接收的串行數(shù)據(jù)為:“10101110”。而發(fā)送器部分的仿真波形如圖8所示。預(yù)發(fā)送的并行數(shù)據(jù)為:TXD0=‘1’,TXD1=‘0’,TXD2=‘1’,TXD3=‘0’,TXD4=‘1’,TXD5=‘1’,TXD6=‘1’,TXD7=‘0’。

            3 結(jié)論

            該設(shè)計充分體現(xiàn)了ISP技術(shù)的優(yōu)越性,使整個系統(tǒng)無論從最初方案的設(shè)計到編寫程序,還是從仿真調(diào)試到下載驗證,都顯得相當(dāng)快捷和方便。采用ISP技術(shù)具有流程簡單、無引腳損傷、可實現(xiàn)多功能硬件、并可為測試重構(gòu)邏輯等優(yōu)點。隨著網(wǎng)絡(luò)技術(shù)的日益完善,通過網(wǎng)絡(luò)來對遠(yuǎn)隔萬里的用戶系統(tǒng)進(jìn)行軟件版本的升級換代,無疑會給廠家與用戶帶來更多方便。該異步串行收發(fā)器接收和發(fā)送的bit數(shù)可根據(jù)具體需要進(jìn)行相應(yīng)的改動,而且只需改動底層模塊中的鎖存器、串入并出移位寄存器及并入串出移位寄存器的bit數(shù)和計數(shù)器的大小(控制模塊部分不需改動),然后再經(jīng)相關(guān)軟件的綜合和適配,即可重新下載到具體器件中。該設(shè)計中 bit數(shù)選擇8位,完全是出于所選器件的容量考慮。



            關(guān)鍵詞: CPLD 異步串行 收發(fā)器

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉