<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

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

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

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

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

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

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

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

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

2 異步串行收發(fā)器的具體實(shí)現

硬件電路功能來(lái)用Lattice公司的CPLD來(lái)實(shí)現,用ispLEVER3.0 進(jìn)行軟件設計??衫迷韴D和硬件描述語(yǔ)言VHDL完成源文件的設計。以下對其CPLD流程源文件及仿真波形作以介紹。

2.1 用ispLEVER軟件設計CPLD的流程

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

2.2 源文件輸入

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

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

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

圖5中,圓圈部分的并入串出移位寄存器(PS_SHIFTREG)宏模塊可用硬件描述語(yǔ)言(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部分可以調用系統庫內的宏模塊。圖中圓圈部分的計數器(COUNTER9)宏模塊可用硬件描述語(yǔ)言(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;

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

2.3 仿真分析

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

3 結論

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



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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>