采用CPLD增強(qiáng)單片機(jī)P89C669外部設(shè)備擴(kuò)展能力
出處:沈周義,許克濱 發(fā)布于:2007-09-27 09:21:49
| P89C669是PHILIPS半導(dǎo)體一款51MX(存儲(chǔ)器擴(kuò)展)內(nèi)核的微處理器,其指令執(zhí)行速度2倍于標(biāo)準(zhǔn)的80C51器件,線性地址經(jīng)擴(kuò)展后可支持高達(dá)8 MB的程序存儲(chǔ)器和8 MB的數(shù)據(jù)存儲(chǔ)器,這是他相對(duì)于標(biāo)準(zhǔn)51內(nèi)核的優(yōu)點(diǎn)。目前的單片系統(tǒng)越來(lái)越復(fù)雜,擴(kuò)展的外部設(shè)備也更多,如果能充分利用P89C669的豐富的線性地址資源,將能大大增強(qiáng)系統(tǒng)能力。在一個(gè)嵌入式系統(tǒng)開發(fā)中,筆者采用ALTERA公司的CPLD芯片EPM7032利用這款單片機(jī)的線性地址擴(kuò)展了豐富的外部設(shè)備資源。
1 P89C669的存儲(chǔ)器結(jié)構(gòu) 1.1 存儲(chǔ)結(jié)構(gòu) P89C669的存儲(chǔ)器結(jié)構(gòu)為哈佛結(jié)構(gòu),地址分配如表1所示。
從表1可見,P89C669對(duì)傳統(tǒng)的51內(nèi)核的3部分存儲(chǔ)結(jié)構(gòu)進(jìn)行了相應(yīng)的擴(kuò)展,各個(gè)部分的片內(nèi)存儲(chǔ)空間也增加了,如內(nèi)部數(shù)據(jù)空間有1 280 B在片內(nèi),外部數(shù)據(jù)空間有768 B在片內(nèi),有96 kB的片內(nèi)程序存儲(chǔ)空間等。 尋址指令除了傳統(tǒng)的MOV,MOVX,MOVC外,EMOV指令與24位的通用指針寄存器EPTR可尋址16MB的全部空間,但是所占用的指令周期也較長(zhǎng)。 擴(kuò)展外部數(shù)據(jù)存儲(chǔ)空問(wèn)HDATA除了768 B在片內(nèi)外,其余地址空間可以用來(lái)擴(kuò)展外部設(shè)備(其實(shí)只要把片內(nèi)的768 B通過(guò)指令將其屏蔽,也可以用來(lái)擴(kuò)展外部設(shè)備)。 1.2 P2口的讀寫時(shí)序分析 尋址8 MB的數(shù)據(jù)存儲(chǔ)空間,需要有23 b的地址尋址能力,P89C669將傳統(tǒng)51內(nèi)核的P2高位地址時(shí)分復(fù)用,從而得到23 b地址尋址能力,時(shí)序圖如圖1所示,即當(dāng)使用23 b地址時(shí),ALE為高時(shí),地址位A16~A22輸出到P2.0~P2.6;ALE為低時(shí),地址位A8~A14輸出到P2.0~P2.6。無(wú)論ALE為何值,位地址A15都從P2.7輸出。
2 系統(tǒng)外部設(shè)備擴(kuò)展需求 EPM7032具有32個(gè)邏輯單元,約600個(gè)門級(jí)單元,可用IO口36個(gè),內(nèi)置IEEE std.1149.1 JTAG,方便可編程。 在滿足系統(tǒng)資源的前提下,選用EPM7032,將P89C669的P2口作為處理單元輸入信號(hào),經(jīng)過(guò)CPLD的內(nèi)部邏輯進(jìn)行譯碼或數(shù)據(jù)鎖存,以獲得各個(gè)外部設(shè)備資源的選擇信號(hào)及少量的控制信號(hào)。 在本設(shè)計(jì)中,共需要得到設(shè)備選擇信號(hào)如SRAM芯片M68AF127B的片選CS_RAM,2個(gè)FLASH ROM芯片SST29SF040的片選CS_ROM0,CS_ROM1,模擬多路選擇器SN74LV4052的使能信號(hào)線CS_4052,另外還有一些控制信號(hào)線,這里就不一一介紹。 實(shí)際上,P2口引入CPLD,就P89C669的23 b地址線而言,用來(lái)地址譯碼和少量的控制信號(hào)等主要是利用的幾位,在本設(shè)計(jì)中,由于SST29SF040用到地址線A0~A18,所以CPLD的地址譯碼處理只能是利用剩下的A19~A22,這將在下文的CPLD的譯碼單元可以看到。 3 EPM7032S的邏輯設(shè)計(jì) CPLD的設(shè)計(jì)采用原理圖的方法進(jìn)行設(shè)計(jì),簡(jiǎn)便快捷,采用74374模塊鎖存P2口的輸入信號(hào),ALE反向后得到_ALE作為74374的鎖存時(shí)鐘線輸入。 如果不是對(duì)SST29SF040進(jìn)行讀寫,則高位地址線A16~A18仍然可以利用,這里將其作為74HC4052的3個(gè)輸入控制線A,B,INH,即圖8中的A_4052,B_4052,CS_4052。 4 KeilC51平臺(tái)的外部設(shè)備測(cè)試 編寫設(shè)備驅(qū)動(dòng)程序是在KeilC51的平臺(tái)上,由于利用了P89C669的23 b地址線,在C51的平臺(tái)上采用指針讀寫設(shè)備很方便,這里給出讀寫SRAM芯片M68AF127B的C源代碼例子,以供參考。
以上3句為測(cè)試SRAM的測(cè)試代碼,START_EX-TRAM為SRAM芯片的起始地址(可根據(jù)CPLD的內(nèi)部設(shè)計(jì)進(jìn)行相應(yīng)的修改),第2,3句分別是寫、讀數(shù)據(jù)的宏。 5 結(jié) 語(yǔ) 利用P89C669的23 b的線性地址并采用CPLD擴(kuò)展外部設(shè)備資源可以說(shuō)是不錯(cuò)的一個(gè)方法,對(duì)外部設(shè)備的訪問(wèn)將顯得更加簡(jiǎn)便,當(dāng)然,在成本方面系統(tǒng)設(shè)計(jì)工程師也要加以考慮,并終尋找一個(gè)性價(jià)比的方案。 | |||
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(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)等問(wè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)疑難問(wèn)題排查與深度優(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
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測(cè)量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問(wèn)題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見問(wèn)題分析











