當(dāng)前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]介紹實現(xiàn)單片機(jī)與Xilinx公司XC9500系列可編程邏輯器件的讀寫邏輯功能模塊的接口設(shè)計,以及Xilinx公司的XC9500系列可編程邏輯器件的開發(fā)流程。


    摘要:介紹實現(xiàn)單片機(jī)與Xilinx公司XC9500系列可編程邏輯器件的讀寫邏輯功能模塊的接口設(shè)計,以及Xilinx公司的XC9500系列可編程邏輯器件的開發(fā)流程。

    關(guān)鍵詞:復(fù)雜可編程邏輯電路 微處理器 在系統(tǒng)編程 現(xiàn)場可編程門陣列

1 概述

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

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

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

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

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

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

③5V在系統(tǒng)可編程??梢跃幊?0000次。

④具有強(qiáng)大的強(qiáng)腳鎖定能力。

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

⑥沒有用的引腳有編程接地能力。

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

3 CPLD同單片機(jī)接口設(shè)計

CPLD同單片機(jī)接口原理如圖2所示。

CPLD同單片機(jī)接口設(shè)計中,單片機(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系列器件

項  目 XC9536 XC9572 XC95108 XC95144 XC95216 XC95288
寄存器/個 36 72 108 144 216 288
可用門數(shù)/個 800 1600 2400 3200 4800 6400
宏單元數(shù)/個 36 72 108 144 216 288
fPD/ns 5 7.5 7.5 7.5 10 10
tSU/ns 3.5 4.5 4.5 4.5 6.0 6.0
tCO/ns 4.0 4.5 4.5 4.5 6.0 6.0
fCNT/MHz 100 125 125 125 111.1 111.1
fSYSTEM/MHz 100 83.3 83.3 83.3 66.7 66.7

注:fCNT=16位計數(shù)器最高工作頻率;fSYSTEM=整個系統(tǒng)的最高工作效率。

ALE:地址鎖存信號。

CS:片選信號。

RD:讀信號。

WR:寫信號。

AD0~AD7:數(shù)據(jù)地址復(fù)用信號。

本例的設(shè)計思想是,在XC95216設(shè)置兩個控制寄存器,通過單片機(jī)對兩個控制寄存器的讀寫來完成對其它過程的控制。

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

圖2 XC9516同單片機(jī)接口原理圖

4 CPLD同單片機(jī)接口設(shè)置結(jié)果

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

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

//MCU和XC95216接口程序

//目的:MCU讀寫XC95216

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

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

inout[7:0]MCU_DATA;//單片機(jī)的地址數(shù)據(jù)復(fù)用信號

output[7:0]CONREG1,CONREG2;//內(nèi)部控制寄存器

input ALE; //單片機(jī)的地址鎖存信號

input CS; //單片機(jī)的片選信號

input RD; //單片機(jī)的讀信號

input WE; //單片機(jī)的寫信號

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 //寄存器初始化

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寄存器讀數(shù)據(jù)

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

//從地址為1的CONREG2寄存器讀數(shù)據(jù)

else LAMCU_DATA<=8'bzzzzzzzz;

end

else

LAMCU_DATA<=8'bzzzzzzzz;

End

Endmodule

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

圖3 CONREG1寫過程 圖4 CONREG1讀過程

    圖3是CONREG1寫過程。首先,在ALE信號的下降沿,鎖存MCU_DATA的數(shù)據(jù)到ADDRESSREG內(nèi)部地址鎖存寄存器。然后,在WE信號的上升沿,把MCU_DATA(0XAA)的數(shù)據(jù)鎖存到寄存器CONREG1。

圖4是CONREG1讀過程。首先,在ALE信號的下降沿,鎖存MCU_DATA(0X00)的數(shù)據(jù)到ADDRESSREG內(nèi)部地址鎖存寄存器。然后,在RD信號的低電平期間,把MCU_DATA(0XAA)的數(shù)據(jù)鎖存到寄存器CONREG1。

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

結(jié)語

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉