新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 在DSP與ICCD通信系統(tǒng)中雙口RAM的應(yīng)用

在DSP與ICCD通信系統(tǒng)中雙口RAM的應(yīng)用

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


0 引言

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

增強(qiáng)型電荷耦合器件(Intensified Charge Coupled Device,簡稱ICCD)作為一種數(shù)據(jù)采集部件,因其采集光譜數(shù)據(jù)量大,快門時間達(dá)ns級,采集速率高的特點(diǎn),在高時間分辨率光譜系統(tǒng)中應(yīng)用較廣。在高分辨率光譜測量分析系統(tǒng)中,為了與ICCD子系統(tǒng)實(shí)時通信,及時處理IC-CD子系統(tǒng)采集到的信息,作為實(shí)時信息處理器件的子系統(tǒng)必須與ICCD子系統(tǒng)采取一種高速的并行接口方案,常用的串口通信不可能滿足這樣的要求,而USB口通信模式則顯得比較復(fù)雜,系統(tǒng)中常用的FIFO存儲器不能滿足雙向讀取的需求。因此在實(shí)際的雙機(jī)通信系統(tǒng)中,一般通過實(shí)現(xiàn)并口通信。具有以下優(yōu)越的性能特點(diǎn):

(1)兩套完全獨(dú)立的數(shù)據(jù)線、地址線、讀/寫控制線,允許兩個CPU對雙端口存儲器的同一單元進(jìn)行同時存?。?br />(2)有兩套完全獨(dú)立的中斷邏輯來實(shí)現(xiàn)兩個CPU之間的握手控制信號;
(3)具有兩套獨(dú)立的“忙”邏輯,保證兩個CPU同時對同一單元進(jìn)行讀/寫操作的正確性;
(4)兼容性強(qiáng),讀/寫時序與普通單端口存儲器完全一樣,存取速度幾乎可以滿足各種CPU的要求。

因此。我們采用了來實(shí)現(xiàn)子系統(tǒng)與ICCD子系統(tǒng)之間的高速通信。

1 雙口RAM器件IDT7007介紹

1.1 器件簡介

IDT7007是美國IDT公司采用高性能的CMOS工藝生產(chǎn)的高速32 k×8 bit雙端口靜態(tài)RAM,典型功耗850 mW;最大存取時間:15 ns;工作環(huán)境:-45℃~+85℃;工作電壓:5 V±10%。它可以作為8位雙口RAM單獨(dú)使用,也可以進(jìn)行位擴(kuò)展,將數(shù)據(jù)線擴(kuò)展到16 Bit,甚至更寬。這樣組成的雙口RAM系統(tǒng)可以全速運(yùn)行,而且無須任何額外的附加邏輯。IDT7007提供的地址線,控制線以及I/O線是完全獨(dú)立的兩個接口,支持對器件的任何存儲空間進(jìn)行完全異步的讀寫操作。

1.2 器件使用

單片使用、不進(jìn)行位擴(kuò)展時,IDT7007的真值表如表1:


X:無關(guān);H:邏輯高;L:邏輯低。

2 接口電路設(shè)計

系統(tǒng)中,ICCD子系統(tǒng)負(fù)責(zé)數(shù)據(jù)采集,DSP子系統(tǒng)負(fù)責(zé)信息處理。ICCD采集光譜數(shù)據(jù),將數(shù)據(jù)寫入到雙口RAM的指定存儲單元。DSP再將雙口RAM中的數(shù)據(jù)轉(zhuǎn)移入內(nèi)存儲器,進(jìn)行分析處理,以及其他運(yùn)算。
雙口RAM與DSP芯片之間,我們采取8位數(shù)據(jù)線的接口寬度,地址線12位,可尋址空間應(yīng)為32 k×8 bit。
ICCD通過一條數(shù)據(jù)線與信息處理系統(tǒng)上的擴(kuò)展接插板相連。二者間接口信號定義如表2:

二者之間的電路框圖如圖1。

如圖1所示,雙口RAM的左端與DSP相連,作為DSP系統(tǒng)的擴(kuò)展存儲器,共同構(gòu)成了信息處理系統(tǒng)。雙口RAM的右端,與ICCD子系統(tǒng)相連,也可以認(rèn)為是ICCD子系統(tǒng)的一個外存儲器。為了保護(hù)ICCD子系統(tǒng)的處理器,我們在雙口RAM和ICCD之間加了總線收發(fā)器SN74LVCC3245,對信號進(jìn)行隔離與調(diào)理電平。

3 信息處理系統(tǒng)與ICCD交換數(shù)據(jù)的仲裁方式

對于整個系統(tǒng)來說,兩個子系統(tǒng)之間合適的仲裁方式是極為重要的。處理不好數(shù)據(jù)交換的仲裁。就會使兩個系統(tǒng)之間發(fā)生沖突。比如當(dāng)DSP系統(tǒng)對雙口RAM的一個存儲單元進(jìn)行寫操作時,ICCD系統(tǒng)也對這個單元寫入數(shù)據(jù),就必然導(dǎo)致寫操作的錯誤。抑或是當(dāng)ICCD系統(tǒng)對雙口RAM的某一存儲單元進(jìn)行讀取時,DSP也對這個單元讀操作,就會造成讀數(shù)據(jù)的錯誤。我們采取了三種有效的仲裁方式,用于解決兩個系統(tǒng)之間的通信爭端:

(1)中斷方式:雙口RAM提供了一種特殊的中斷方式,有別于其他芯片的中斷。

IDT7007左右兩端各提供一個中斷信號。存儲陣列中的FFEH和FFFH單元被用做通信的信令字和中斷源,左端口向FFFH寫入訪問的同時,右端口的中斷標(biāo)志被設(shè)置,直到右端口進(jìn)行讀取FFFH時清除,右端給左端的中斷方式與此類似。這樣就可以有效地協(xié)調(diào)通信雙方的讀寫操作。圖2為雙方接口的中斷邏輯。

(2)忙邏輯:當(dāng)雙口RAM的兩個端口同時對某一個存儲單元進(jìn)行操作時,IDT7007的忙邏輯(BUSY)將會有一個硬件的指示,允許對其中的一個端口進(jìn)行操作,將另一個端口置于等待狀態(tài)。如果在接到BUSY信號時,已經(jīng)進(jìn)行寫操作,那么IDT7007的內(nèi)部機(jī)制可以阻止寫操作的繼續(xù)進(jìn)行。

系統(tǒng)中,為了提高系統(tǒng)的穩(wěn)定性,保證通信數(shù)據(jù)的正確,我們對IDT7007原有的忙邏輯進(jìn)行了修改。硬件方面將雙口RAM原有的兩個BUSY信號求邏輯或,這個結(jié)果再與中斷信號INT求邏輯或。這樣,只要通信雙方同時讀寫同一個存儲單元,系統(tǒng)就認(rèn)為讀寫非法,同時中斷雙方的讀寫操作。這樣可以提高雙方交換數(shù)據(jù)的正確性。

圖3即為通信雙方接口的BUSY邏輯時序。

(3)軟件協(xié)調(diào):對于任何一個雙機(jī)系統(tǒng)來講,雙方的軟件設(shè)計都是避免爭端沖突的重要環(huán)節(jié)。軟件方案將在下一節(jié)詳細(xì)介紹。

4 軟件設(shè)計方案

系統(tǒng)中,ICCD(右方)主要負(fù)責(zé)發(fā)送數(shù)據(jù),信息處理系統(tǒng)(左方)主要負(fù)責(zé)接受數(shù)據(jù)。信息處理系統(tǒng)的軟件基于TI的TMS320C6713,用C語言與線性匯編語言進(jìn)行編程。通信部分的軟件主要包括了兩方面的內(nèi)容:(1)系統(tǒng)自檢,即右方向信令字單元0xFFFH寫入“5AH”,左方接到中斷后,到0xFFFH中讀取數(shù)據(jù),如果是“5AH”,說明通信正常,反之亦然。(2)傳輸數(shù)據(jù),右方向信令字單元FFFH寫入‘A5H’,在左方產(chǎn)生中斷后,左方讀信令字單元FFFH,如果是‘A5H’,說明在傳輸數(shù)據(jù),讀完數(shù)據(jù)后,向信令字單元FFEH寫入‘AAH’,表示讀完。右方接到中斷后,讀信令字單元FFEH,如果是‘AAH’,表示傳數(shù)據(jù)成功。

圖4為基于DSP的通信程序流程。

5 結(jié)論

基于雙口RAM芯片IDT7007實(shí)現(xiàn)DSP系統(tǒng)與ICCD并行接口的設(shè)計方案,實(shí)現(xiàn)了ICCD和信息處理系統(tǒng)的高速通信,保證了整體系統(tǒng)的實(shí)時性。文中所涉及的中斷,忙邏輯,軟件協(xié)調(diào)三種模式,可有效解決兩個系統(tǒng)之間的通信爭端。整體系統(tǒng)已經(jīng)通過調(diào)試,信息處理系統(tǒng)與ICCD可良好協(xié)調(diào)工作,系統(tǒng)運(yùn)行穩(wěn)定,構(gòu)成合理,對相關(guān)系統(tǒng)設(shè)計有一定的參考價值。



關(guān)鍵詞: 雙口RAM DSP ICCD通信

評論


相關(guān)推薦

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

關(guān)閉