用CPLD實(shí)現(xiàn)單片機(jī)讀寫模塊
出處:tyw 發(fā)布于:2007-04-28 11:49:04
摘要:介紹實(shí)現(xiàn)單片機(jī)與Xilinx公司XC9500系列可編程邏輯器件的讀寫邏輯功能模塊的接口設(shè)計(jì),以及Xilinx公司的XC9500系列可編程邏輯器件的開發(fā)流程。 關(guān)鍵詞:復(fù)雜可編程邏輯電路 微處理器 在系統(tǒng)編程 現(xiàn)場(chǎng)可編程門陣列 1 概述 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)的性能。 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)的性能。 Xilinx公司的XC9500系列可編程邏輯器件是一款高性能、有特點(diǎn)的可編程邏輯器件。它的系統(tǒng)結(jié)構(gòu)如所示。從結(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)可編程??梢跃幊?0000次。 ④具有強(qiáng)大的強(qiáng)腳鎖定能力。 ⑤每個(gè)宏單元都有可編程低功耗模式。 ⑥沒有用的引腳有編程接地能力。 Xilinx的XC9500系列可編程邏輯器件的主要性能如表1所列。 3 CPLD同單片機(jī)接口設(shè)計(jì) CPLD同單片機(jī)接口原理如所示。 CPLD同單片機(jī)接口設(shè)計(jì)中,單片機(jī)采用Atmel公司的AT89C52,CPLD采用Xilinx公司的XC95216。該CPLD芯片結(jié)構(gòu)及性能見和表1。AT89C52通過ALE、CS、RD、WE、P0口(數(shù)據(jù)地址復(fù)用)同XC95216芯片相連接。
注: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口。 本例中,使用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)部控制寄存器 reg[7:0]ADDRESSREG; //內(nèi)部地址鎖存寄存器 reg[7:0]CONREG1; //內(nèi)部控制寄存器 reg[7:0]CONREG2; //內(nèi)部控制寄存器 assign MCU_DATA=RD?8'bzzzzzzzz:LAMCU_DATA; initial //寄存器初始化 LAMCU_DATA<=0; ADDRESSREG<=0; CONREG1<=0; CONREG2<=0; always@(negedge ALE) ADDRESSREG<=MCU_DATA; //地址鎖存 always@(posedge WE) if(!CS &&ADDRESSREG[0]= =0)) LAMCU_DATA <=CONREG1; //從地址為0的CONREG1寄存器讀數(shù)據(jù) else if(!CS&&(ADDRESSREG[0]= =1))LAMCU_DATA<=CONREG2; //從地址為1的CONREG2寄存器讀數(shù)據(jù) else LAMCU_DATA<=8'bzzzzzzzz; LAMCU_DATA<=8'bzzzzzzzz; 使用Modelsim 5.5f仿真結(jié)果如和所示。圖中ALE、CS、RD、WE、MCU_DATA是測(cè)試激勵(lì)源信號(hào),代表AT89C52接口信號(hào);CONREG1和CONREG2的內(nèi)部寄存器;ADDRESSREG是內(nèi)部地址鎖存寄存器。 是CONREG1讀過程。首先,在ALE信號(hào)的下降沿,鎖存MCU_DATA(0X00)的數(shù)據(jù)到ADDRESSREG內(nèi)部地址鎖存寄存器。然后,在RD信號(hào)的低電平期間,把MCU_DATA(0XAA)的數(shù)據(jù)鎖存到寄存器CONREG1。 從和可以看出,對(duì)CONREG1寄存器的讀、寫過程完全滿足進(jìn)序要求,CONREG2的讀寫過程同CONREG1一樣,也完全滿足時(shí)序要求,實(shí)現(xiàn)了期望的功能。 結(jié)語 本文實(shí)現(xiàn)CPLD與單片機(jī)接口設(shè)計(jì)是筆者設(shè)計(jì)的高速采樣設(shè)備的一部分,經(jīng)實(shí)際驗(yàn)證完全正確。簡(jiǎn)單地修改該模塊,筆者已成功地將其應(yīng)用于多個(gè)CPLD或FPGA與單片機(jī)接口的項(xiàng)目中。 |
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- EDA技術(shù)工具鏈與全流程設(shè)計(jì)運(yùn)維指南2026/1/5 10:28:51
- PLC程序現(xiàn)場(chǎng)疑難問題排查與深度優(yōu)化指南2025/12/24 14:36:36
- PLC程序現(xiàn)場(chǎng)調(diào)試與優(yōu)化實(shí)操指南2025/12/24 14:29:57
- 工業(yè)PLC模擬量信號(hào)采集:調(diào)理技術(shù)與抗干擾工程方案2025/12/15 14:39:08
- PLC設(shè)備如何選型2025/9/5 17:15:14
- 物聯(lián)網(wǎng)節(jié)點(diǎn)低功耗設(shè)計(jì):信號(hào)鏈中的濾波與功耗管理
- 同步整流中MOSFET的應(yīng)用要點(diǎn)
- 輸出短路對(duì)電源芯片的影響
- 連接器壽命評(píng)估與可靠性設(shè)計(jì)
- PCB電源完整性(PI)設(shè)計(jì)核心實(shí)操規(guī)范
- 多層PCB疊層設(shè)計(jì)核心實(shí)操規(guī)范
- 提高M(jìn)OSFET效率的電路優(yōu)化方法
- 電源管理IC在智能家居中的應(yīng)用
- 差分信號(hào)連接器設(shè)計(jì)要點(diǎn)
- PCB焊盤與過孔設(shè)計(jì)核心實(shí)操規(guī)范(含可焊性與可靠性保障)









