<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實(shí)現單片機讀寫(xiě)模塊

用CPLD實(shí)現單片機讀寫(xiě)模塊

作者: 時(shí)間:2004-12-08 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:介紹實(shí)現與Xilinx公司XC9500系列可編程邏輯器件的讀寫(xiě)邏輯功能模塊的接口設計,以及Xilinx公司的XC9500系列可編程邏輯器件的開(kāi)發(fā)流程。

關(guān)鍵詞:復雜可編程邏輯電路 微處理器 在系統編程 現場(chǎng)可編程門(mén)陣列

1 概述

(復雜可編程邏輯電路)是一種具有豐富的可編程I/O引腳的可編程邏輯器件,具有在系統可編程、使用方便靈活的特點(diǎn);不但可實(shí)現常規的邏輯器件功能,還可實(shí)現復雜的時(shí)序邏輯功能。把應用于嵌入式應用系統,同結合起來(lái),更能體現其在系統可編程、使用方便靈活的特點(diǎn)。接口,可以作為單片機的一個(gè)外設,實(shí)現單片機所要求的功能。例如,實(shí)現常用的地址譯碼、鎖存器、8255等功能;也可實(shí)現加密、解密及擴展串行口等單片機所要求的特殊功能。實(shí)現嵌入式應用系統的靈活性,也提高了嵌入式應用系統的性能。

CPLD(復雜可編程邏輯電路)是一種具有豐富的可編程I/O引腳的可編程邏輯器件,具有在系統可編程、使用方便靈活的特點(diǎn);不但可實(shí)現常規的邏輯器件功能,還可實(shí)現復雜的時(shí)序邏輯功能。把CPLD應用于嵌入式應用系統,同單片機結合起來(lái),更能體現其在系統可編程、使用方便靈活的特點(diǎn)。CPLD同單片機接口,可以作為單片機的一個(gè)外設,實(shí)現單片機所要求的功能。例如,實(shí)現常用的地址譯碼、鎖存器、8255等功能;也可實(shí)現加密、解密及擴展串行口等單片機所要求的特殊功能。實(shí)現了嵌入式應用系統的靈活性,也提高了嵌入式應用系統的性能。

2 Xilinx公司的可編程邏輯器件

Xilinx公司的XC9500系列可編程邏輯器件是一款高性能、有特點(diǎn)的可編程邏輯器件。它的系統結構如圖1所示。從結構上看,它包含三種單元:宏單元、可編程I/O單元和可編程的內部連線(xiàn)。它的主要特點(diǎn)是:

①高性能。在所有可編程引腳之間pin-pin延時(shí)5ns;系統的時(shí)鐘速度可達到100MHz。

②容量范圍大。Xilinx公司的XC9500系列可編程邏輯器件的容量范圍為36~288個(gè)宏單元;可用系統門(mén)為800~6400個(gè)。

③5V在系統可編程??梢跃幊?0000次。

④具有強大的強腳鎖定能力。

⑤每個(gè)宏單元都有可編程低功耗模式。

⑥沒(méi)有用的引腳有編程接地能力。

Xilinx的XC9500系列可編程邏輯器件的主要性能如表1所列。

3 CPLD同單片機接口設計

CPLD同單片機接口原理如圖2所示。

CPLD同單片機接口設計中,單片機采用Atmel公司的AT89C52,CPLD采用Xilinx公司的XC95216。該CPLD芯片結構及性能見(jiàn)圖1和表1。AT89C52通過(guò)ALE、CS、RD、WE、P0口(數據地址復用)同XC95216芯片相連接。

表1 Xilinx XC9500t系列器件

項 目XC9536XC9572XC95108XC95144XC95216XC95288
寄存器/個(gè)3672108144216288
可用門(mén)數/個(gè)80016002400320048006400
宏單元數/個(gè)3672108144216288
fPD/ns57.57.57.51010
tSU/ns3.54.54.54.56.06.0
tCO/ns4.04.54.54.56.06.0
fCNT/MHz100125125125111.1111.1
fSYSTEM/MHz10083.383.383.366.766.7

注:fCNT=16位計數器最高工作頻率;fSYSTEM=整個(gè)系統的最高工作效率。

ALE:地址鎖存信號。

CS:片選信號。

RD:讀信號。

WR:寫(xiě)信號。

AD0~AD7:數據地址復用信號。

本例的設計思想是,在XC95216設置兩個(gè)控制寄存器,通過(guò)單片機對兩個(gè)控制寄存器的讀寫(xiě)來(lái)完成對其它過(guò)程的控制。

XC95216設置的兩個(gè)控制寄存器,可以作內部寄存器,也可以直接是映射為I/O口。

圖2 XC9516同單片機接口原理圖

4 CPLD同單片機接口設置結果

本例中,使用Xilinx公司提供的Fundation ISE 4.2i+Modelsim 5.5f軟件實(shí)現設計。實(shí)現設計的源文件模塊如下:

/**************************

//MCU和XC95216接口程序

//目的:MCU讀寫(xiě)XC95216

/**************************/

module mcurw(MCU_DATA,ALE,CS,RD,WE,CONREG1,CONREG2);

inout[7:0]MCU_DATA;//單片機的地址數據復用信號

output[7:0]CONREG1,CONREG2;//內部控制寄存器

input ALE; //單片機的地址鎖存信號

input CS; //單片機的片選信號

input RD; //單片機的讀信號

input WE; //單片機的寫(xiě)信號

reg[7:0]LAMCU_DATA; //內部控制寄存器

reg[7:0]ADDRESSREG; //內部地址鎖存寄存器

reg[7:0]CONREG1; //內部控制寄存器

reg[7:0]CONREG2; //內部控制寄存器

assign MCU_DATA=RD?8'bzzzzzzzz:LAMCU_DATA;

initial //寄存器初始化

begin

LAMCU_DATA=0;

ADDRESSREG=0;

CONREG1=0;

CONREG2=0;

end

always@(negedge ALE)

begin

ADDRESSREG=MCU_DATA; //地址鎖存

End

always@(posedge WE)

begin

if(!CS ADDRESSREG[0]= =0)) LAMCU_DATA

=CONREG1; //從地址為0的CONREG1寄存器讀數據

else if(!CS(ADDRESSREG[0]= =1))LAMCU_DATA=CONREG2;

//從地址為1的CONREG2寄存器讀數據

else LAMCU_DATA=8'bzzzzzzzz;

end

else

LAMCU_DATA=8'bzzzzzzzz;

End

Endmodule

使用Modelsim 5.5f仿真結果如圖3和圖4所示。圖中ALE、CS、RD、WE、MCU_DATA是測試激勵源信號,代表AT89C52接口信號;CONREG1和CONREG2的內部寄存器;ADDRESSREG是內部地址鎖存寄存器。

圖3 CONREG1寫(xiě)過(guò)程 圖4 CONREG1讀過(guò)程

圖3是CONREG1寫(xiě)過(guò)程。首先,在A(yíng)LE信號的下降沿,鎖存MCU_DATA的數據到ADDRESSREG內部地址鎖存寄存器。然后,在WE信號的上升沿,把MCU_DATA(0XAA)的數據鎖存到寄存器CONREG1。

圖4是CONREG1讀過(guò)程。首先,在A(yíng)LE信號的下降沿,鎖存MCU_DATA(0X00)的數據到ADDRESSREG內部地址鎖存寄存器。然后,在RD信號的低電平期間,把MCU_DATA(0XAA)的數據鎖存到寄存器CONREG1。

從圖3和圖4可以看出,對CONREG1寄存器的讀、寫(xiě)過(guò)程完全滿(mǎn)足進(jìn)序要求,CONREG2的讀寫(xiě)過(guò)程同CONREG1一樣,也完全滿(mǎn)足時(shí)序要求,實(shí)現了期望的功能。

結語(yǔ)

本文實(shí)現CPLD與單片機接口設計是筆者設計的高速采樣設備的一部分,經(jīng)實(shí)際驗證完全正確。簡(jiǎn)單地修改該模塊,筆者已成功地將其應用于多個(gè)CPLD或FPGA與單片機接口的項目中。



關(guān)鍵詞: CPLD 單片機 讀寫(xiě)模塊

評論


相關(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>