- 相關(guān)推薦
用CPLD實(shí)現(xiàn)單片機(jī)讀寫模塊
摘要:介紹實(shí)現(xiàn)單片機(jī)與Xilinx公司XC9500系列可編程邏輯器件的讀寫邏輯功能模塊的接口設(shè)計(jì),以及Xilinx公司的XC9500系列可編程邏輯器件的開發(fā)流程。CPLD(復(fù)雜可編程邏輯電路)是一種具有豐富的可編程I/O引腳的可編程邏輯器件,具有在系統(tǒng)可編程、使用方便靈活的特點(diǎn);不但可實(shí)現(xiàn)常規(guī)的邏輯器件功能,還可實(shí)現(xiàn)復(fù)雜的時(shí)序邏輯功能。把CPLD應(yīng)用于嵌入式應(yīng)用系統(tǒng),同單片機(jī)結(jié)合起來,更能體現(xiàn)其在系統(tǒng)可編程、使用方便靈活的特點(diǎn)。CPLD同單片機(jī)接口,可以作為單片機(jī)的一個(gè)外設(shè),實(shí)現(xiàn)單片機(jī)所要求的功能。例如,實(shí)現(xiàn)常用的地址譯碼、鎖存器、8255等功能;也可實(shí)現(xiàn)加密、解密及擴(kuò)展串行口等單片機(jī)所要求的特殊功能。實(shí)現(xiàn)了嵌入式應(yīng)用系統(tǒng)的靈活性,也提高了嵌入式應(yīng)用系統(tǒng)的性能。
2 Xilinx公司的可編程邏輯器件
Xilinx公司的XC9500系列可編程邏輯器件是一款高性能、有特點(diǎn)的可編程邏輯器件。它的系統(tǒng)結(jié)構(gòu)如圖1所示。從結(jié)構(gòu)上看,它包含三種單元:宏單元、可編程I/O單元和可編程的內(nèi)部連線。它的主要特點(diǎn)是:
①高性能。在所有可編程引腳之間pin-pin延時(shí)5ns;系統(tǒng)的時(shí)鐘速度可達(dá)到100MHz。
②容量范圍大。Xilinx公司的XC9500系列可編程邏輯器件的容量范圍為36~288個(gè)宏單元;可用系統(tǒng)門為800~6400個(gè)。
③5V在系統(tǒng)可編程?梢跃幊10000次。
④具有強(qiáng)大的強(qiáng)腳鎖定能力。
⑤每個(gè)宏單元都有可編程低功耗模式。
⑥沒有用的引腳有編程接地能力。
Xilinx的XC9500系列可編程邏輯器件的主要性能如表1所列。
3 CPLD同單片機(jī)接口設(shè)計(jì)
CPLD同單片機(jī)接口原理如圖2所示。
CPLD同單片機(jī)接口設(shè)計(jì)中,單片機(jī)采用Atmel公司的AT89C52,CPLD采用Xilinx公司的XC95216。該CPLD芯片結(jié)構(gòu)及性能見圖1和表1。AT89C52通過ALE、CS、RD、WE、P0口(數(shù)據(jù)地址復(fù)用)同XC95216芯片相連接。
表1 Xilinx XC9500t系列器件
注:fCNT=16位計(jì)數(shù)器最高工作頻率;fSYSTEM=整個(gè)系統(tǒng)的最高工作效率。
ALE:地址鎖存信號(hào)。
CS:片選信號(hào)。
RD:讀信號(hào)。
WR:寫信號(hào)。
AD0~AD7:數(shù)據(jù)地址復(fù)用信號(hào)。
本例的設(shè)計(jì)思想是,在XC95216設(shè)置兩個(gè)控制寄存器,通過單片機(jī)對(duì)兩個(gè)控制寄存器的讀寫來完成對(duì)其它過程的控制。
XC95216設(shè)置的兩個(gè)控制寄存器,可以作內(nèi)部寄存器,也可以直接是映射為I/O口。
圖2 XC9516同單片機(jī)接口原理圖
4 CPLD同單片機(jī)接口設(shè)置結(jié)果
本例中,使用Xilinx公司提供的Fundation ISE 4.2i Modelsim 5.5f軟件實(shí)現(xiàn)設(shè)計(jì)。實(shí)現(xiàn)設(shè)計(jì)的源文件模塊如下:
/**************************
//MCU和XC95216接口程序
//目的:MCU讀寫XC95216
/**************************/
module mcurw(MCU_DATA,ALE,CS,RD,WE,CONREG1,CONREG2);
inout[7:0]MCU_DATA;//單片機(jī)的地址數(shù)據(jù)復(fù)用信號(hào)
output[7:0]CONREG1,CONREG2;//內(nèi)部控制寄存器
input ALE; //單片機(jī)的地址鎖存信號(hào)
input CS; //單片機(jī)的片選信號(hào)
input RD; //單片機(jī)的讀信號(hào)
input WE; //單片機(jī)的寫信號(hào)
reg[7:0]LAMCU_DATA; //內(nèi)部控制寄存器
r
【用CPLD實(shí)現(xiàn)單片機(jī)讀寫模塊】相關(guān)文章:
一個(gè)嵌入式系統(tǒng)的Petri網(wǎng)模型與CPLD實(shí)現(xiàn)05-29
用Verilog HDL實(shí)現(xiàn)I2C總線功能06-01
模塊化開題報(bào)告范文10-24
都市頻道制作網(wǎng)的設(shè)計(jì)與實(shí)現(xiàn)05-29
初中藝術(shù)校本課程“模塊”式教學(xué)研究05-14
基于minigui的網(wǎng)真機(jī)界面的實(shí)現(xiàn)08-05
城市旅游網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)論文(精選6篇)05-07
構(gòu)筑企業(yè)數(shù)據(jù)中心 實(shí)現(xiàn)理性分析決策06-04