新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應用 > 基于CPLD的雙口模塊設(shè)計

基于CPLD的雙口模塊設(shè)計

作者: 時間:2012-08-02 來源:網(wǎng)絡(luò) 收藏

摘要:文章介紹了設(shè)計Multibus模塊的方法。通過采用技術(shù)來實現(xiàn)模塊內(nèi)部邏輯,簡化了模塊的邏輯電路設(shè)計,提高了整個模塊的穩(wěn)定性和可靠性。達到了優(yōu)化傳統(tǒng)Multibus總線模塊采用邏輯門電路和觸發(fā)器來實現(xiàn)內(nèi)部邏輯的目的。
關(guān)鍵詞:Multibus總線;復雜可編程邏輯器件;RAM

0 引言
Multibus總線自1974年INTEL公司推出以來,以其自身支持集中式并行多處理、可靠性、抗干擾能力強等特點被廣泛應用于工業(yè)控制領(lǐng)域和國防建設(shè)領(lǐng)域。但隨著電子計算機技術(shù)的飛速發(fā)展,電子器件自身工藝、信號完整性等各方面不斷提高,早期設(shè)計的Multibus總線模塊通過邏輯門電路和觸發(fā)器來實現(xiàn)內(nèi)部邏輯的方法顯然已經(jīng)不能滿足要求。隨著EDA技術(shù)的廣泛應用,技術(shù)己成為現(xiàn)代數(shù)字系統(tǒng)設(shè)計的主要手段,的時鐘延遲可達到ns級,結(jié)合其并行工作方式,在超高速、實時測控方面有非常廣闊的應用前景。并且CPLD具有高集成度、高可靠性,幾乎可將整個設(shè)計系統(tǒng)下載于同一芯片中,實現(xiàn)所謂片上系統(tǒng),從而大大縮小其體積。CPLD目前正朝著更高速、更高集成度、更強功能和更靈活的方向發(fā)展。采用CPLD來實現(xiàn)Multibus系統(tǒng)模塊的設(shè)計,不但節(jié)省電路開發(fā)費用,而且能提高設(shè)計效率,同時還能有效實現(xiàn)電路的數(shù)字化與微型化。

1 存儲器的概念
雙口,既可以通過Multibus總線訪問的存儲器,又可以通過局部總線訪問的存儲器。雙口RAM為硬件雙口芯片,有兩組獨立的數(shù)據(jù)線、地址線和控制線。一組總線與主模塊的局部數(shù)據(jù)、地址總線相連,另一組總線與Multibus數(shù)據(jù)、地址總線相連。主模塊可以像讀寫局部RAM一樣訪問雙口RAM,多總線上其他主設(shè)備也可通過該主模塊的總線接口對雙口RAM進行讀寫。兩條數(shù)據(jù)總線也可以同時對某一存儲單元進行訪問。雙口模塊功能框圖如圖1所示。

本文引用地址:http://2s4d.com/article/190079.htm

c.JPG


Multibus總線系統(tǒng)容易構(gòu)成多機系統(tǒng),連于總線上的各個模塊之間可以進行數(shù)據(jù)傳輸。在Multibus總線系統(tǒng)中,有著嚴格的時序要求,在控制信號啟動之前50ns,地址必須形成。
設(shè)計時要結(jié)合考慮模塊在現(xiàn)有系統(tǒng)中工作時,整個系統(tǒng)的時序,以及主從模塊交換數(shù)據(jù)時,競爭總線時沖突等問題。
在多處理器系統(tǒng)中,為提高系統(tǒng)的吞吐率,避免因多個微處理器和存儲器、I/O接口共用一組系統(tǒng)總線頻繁存取時,造成系統(tǒng)“阻塞”,建立局部總線。局部總線有兩個基本組件,一個是基板,一個是擴充模塊?;迨侵钢骺卦O(shè)備,擴充模塊的作用主要是給基板提供專用功能。通過局部總線可以完成很大一部分存儲器讀/寫操作和輸入/輸出操作。這樣,只有在訪問公共存儲器和公共輸入/輸出接口時,采用系統(tǒng)總線。于是,避免了“堵塞”現(xiàn)象,而且還提供了各個子系統(tǒng)并行工作的條件。
而兩路總線在一個系統(tǒng)中同時工作時,主模塊對擴充模塊可以從Multibus總線和局部總線兩路訪問,到底哪路總線訪問擴充設(shè)備,這就是我們需要考慮的兩路總線的優(yōu)先裁決問題。
早期的模塊中通過GAL器件編碼、和多個觸發(fā)器多總線仲裁電路。而應用中,對存儲器的雙口訪問存在競爭現(xiàn)象。那么怎么來解決雙口競爭問題呢?首先我們采用硬件雙口芯片RAM,它有兩組獨立的數(shù)據(jù)線、地址線和控制線。一組總線與主模塊的局部數(shù)據(jù)、地址總線相連,另一組總線與Multibus數(shù)據(jù)、地址總線相連,再就是采用CPLD技術(shù)實現(xiàn)內(nèi)部邏輯,主模塊可以像讀寫局部RAM一樣訪問雙口RAM,多總線上其他主設(shè)備也可通過該主模塊的總線接口對雙口RAM進行讀寫。兩條數(shù)據(jù)總線也可以同時對某一存儲單元進行訪問,而不產(chǎn)生競爭現(xiàn)象。

2 設(shè)計實現(xiàn)
內(nèi)部時序及邏輯控制電路主要由CPLD器件編程實現(xiàn)。采用的CPLD芯片為ALTERA公司的EPM7256SRI208-10芯片,其最高運行頻率為227.3 MHz。采用MAX+PLUSII 10.0軟件工具開發(fā)。設(shè)計完成板內(nèi)地址總線、數(shù)據(jù)總線的控制信號;雙口RAM的讀寫訪問、片選信號、邏輯延遲應答信號等。設(shè)計輸入完成后,進行整體的編譯和邏輯仿真,然后進行轉(zhuǎn)換、延時仿真生成配置文件,最后下載至CPLD器件,完成結(jié)構(gòu)功能配置,實現(xiàn)其硬件功能。其中CLK時鐘端口采用了常時鐘信號/CCLK。/CCU是一個10MHz時鐘,在應答生成邏輯上使用。
雙口存儲器可以通過Multibus總線和局部總線兩路總線訪問。由于采用硬件雙口芯片,避免了兩路總線同時在系統(tǒng)中工作時的競爭沖突問題。還可以在不同的用戶環(huán)境中,只需更改跨接線的配置就可以滿足,不需再重新編碼,更改芯片配置。
在本設(shè)計中采用的雙口存儲器芯片為RAMIDT7027S25PF,是IDT公司研制的32k×16位的雙口靜態(tài)RAM。計算機主模塊可以通過Local bus接口或Multibus接口對雙口RAM進行讀寫。兩組數(shù)據(jù)總線也可以同時對某一存儲單元進行訪問,而不產(chǎn)生競爭現(xiàn)象。設(shè)計實現(xiàn)如圖2所示。

a.JPG


在雙口RAM的兩套控制線中,各有一個BUSY引腳。當兩端的CPU對雙口RAM的不同地址單元存取時,BUSYL=H、BUSYR=H,可正常存儲;當兩端的CPU對雙口RAM同一地址單元存取時,哪個端口的存取請求信號出現(xiàn)在后,則其對應的BUSY=L,禁止其存取數(shù)據(jù);在無法判定兩個端口存取請求信號出現(xiàn)的先后順序時,控制線BUSYL、BUSYR只有一個為低電平。這樣,就能夠保證對應于BUSY=H的端口能進行正常存取,對應于BUSY=L的端口不能存取,從而避免了兩個CPU同時競爭地址資源而引發(fā)錯誤的可能。具體邏輯和電狀態(tài)關(guān)系見表1。

b.JPG



3 需注意解決的問題
(1)輸入、輸出匹配問題。Multibus總線上所有信號都是低電平為現(xiàn)役的。器件輸入輸出電平在特定電壓范圍內(nèi)為邏輯0或為邏輯1。
(2)測試需充分。必須用測試臺對它的功能做到充分準確的測試。對該存儲模塊的容量和數(shù)位在單地址和連續(xù)地址下實現(xiàn)讀、寫功能。能正確實現(xiàn)對32k×16為存儲單元寫入任何數(shù),完成數(shù)據(jù)正確性檢查,進行可靠性連續(xù)考核試驗。運行于多機環(huán)境中,通過兩路總線隨時訪問任何單元,讀寫準確無誤。
(3)時序問題。采用雙口RAM來設(shè)計存儲器模塊時,會產(chǎn)生邏輯控制,讀、寫邏輯上的差異。因此在設(shè)計時應該嚴格控制模塊的時序關(guān)系。
(4)配置可選。根據(jù)應用環(huán)境的不同,可靈活更改相應的配置。在本中就是通過配置跨接線來達到不同用戶的需求。通過修改跨接線,即可調(diào)整存儲器的地址空間,也可以根據(jù)需要來選擇開放或關(guān)閉雙口存儲器,可根據(jù)多總線主設(shè)備的性能調(diào)整存儲器的訪問延遲時間。

4 結(jié)束語
經(jīng)過實際測試,本模塊通過采用硬件雙口芯片及CPLD技術(shù)控制內(nèi)部時序關(guān)系,解決了存儲器訪問競爭問題,通過可選跨接線配置,解決了多用戶使用環(huán)境問題。提高了整個應用系統(tǒng)的可靠性。



關(guān)鍵詞: CPLD 雙口 模塊設(shè)計

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉