- 相關推薦
用CPLD實現單片機讀寫模塊
摘要:介紹實現單片機與Xilinx公司XC9500系列可編程邏輯器件的讀寫邏輯功能模塊的接口設計,以及Xilinx公司的XC9500系列可編程邏輯器件的開發流程。CPLD(復雜可編程邏輯電路)是一種具有豐富的可編程I/O引腳的可編程邏輯器件,具有在系統可編程、使用方便靈活的特點;不但可實現常規的邏輯器件功能,還可實現復雜的時序邏輯功能。把CPLD應用于嵌入式應用系統,同單片機結合起來,更能體現其在系統可編程、使用方便靈活的特點。CPLD同單片機接口,可以作為單片機的一個外設,實現單片機所要求的功能。例如,實現常用的地址譯碼、鎖存器、8255等功能;也可實現加密、解密及擴展串行口等單片機所要求的特殊功能。實現了嵌入式應用系統的靈活性,也提高了嵌入式應用系統的性能。
2 Xilinx公司的可編程邏輯器件
Xilinx公司的XC9500系列可編程邏輯器件是一款高性能、有特點的可編程邏輯器件。它的系統結構如圖1所示。從結構上看,它包含三種單元:宏單元、可編程I/O單元和可編程的內部連線。它的主要特點是:
①高性能。在所有可編程引腳之間pin-pin延時5ns;系統的時鐘速度可達到100MHz。
②容量范圍大。Xilinx公司的XC9500系列可編程邏輯器件的容量范圍為36~288個宏單元;可用系統門為800~6400個。
③5V在系統可編程?梢跃幊10000次。
④具有強大的強腳鎖定能力。
⑤每個宏單元都有可編程低功耗模式。
⑥沒有用的引腳有編程接地能力。
Xilinx的XC9500系列可編程邏輯器件的主要性能如表1所列。
3 CPLD同單片機接口設計
CPLD同單片機接口原理如圖2所示。
CPLD同單片機接口設計中,單片機采用Atmel公司的AT89C52,CPLD采用Xilinx公司的XC95216。該CPLD芯片結構及性能見圖1和表1。AT89C52通過ALE、CS、RD、WE、P0口(數據地址復用)同XC95216芯片相連接。
表1 Xilinx XC9500t系列器件
注:fCNT=16位計數器最高工作頻率;fSYSTEM=整個系統的最高工作效率。
ALE:地址鎖存信號。
CS:片選信號。
RD:讀信號。
WR:寫信號。
AD0~AD7:數據地址復用信號。
本例的設計思想是,在XC95216設置兩個控制寄存器,通過單片機對兩個控制寄存器的讀寫來完成對其它過程的控制。
XC95216設置的兩個控制寄存器,可以作內部寄存器,也可以直接是映射為I/O口。
圖2 XC9516同單片機接口原理圖
4 CPLD同單片機接口設置結果
本例中,使用Xilinx公司提供的Fundation ISE 4.2i Modelsim 5.5f軟件實現設計。實現設計的源文件模塊如下:
/**************************
//MCU和XC95216接口程序
//目的:MCU讀寫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; //單片機的寫信號
reg[7:0]LAMCU_DATA; //內部控制寄存器
r
【用CPLD實現單片機讀寫模塊】相關文章:
單片機實現對CF卡的讀寫03-18
基于FPGA的HDLC通信模塊的實現05-14
一種用CPLD實現視頻信號運動檢測的方法03-19
換體DMA高速數據采集電路的CPLD實現03-18
在CPLD管理下實現高效多串口中斷源03-19
專用鍵盤接口芯片的一種CPLD實現方案03-18