雙口RAM在DSP與ICCD通信系統(tǒng)中的應(yīng)用
3 信息處理系統(tǒng)與ICCD交換數(shù)據(jù)的仲裁方式
對于整個系統(tǒng)來說,兩個子系統(tǒng)之間合適的仲裁方式是極為重要的。處理不好數(shù)據(jù)交換的仲裁。就會使兩個系統(tǒng)之間發(fā)生沖突。比如當(dāng)DSP系統(tǒng)對雙口RAM的一個存儲單元進行寫操作時,ICCD系統(tǒng)也對這個單元寫入數(shù)據(jù),就必然導(dǎo)致寫操作的錯誤。抑或是當(dāng)ICCD系統(tǒng)對雙口RAM的某一存儲單元進行讀取時,DSP也對這個單元讀操作,就會造成讀數(shù)據(jù)的錯誤。我們采取了三種有效的仲裁方式,用于解決兩個系統(tǒng)之間的通信爭端:
(1)中斷方式:雙口RAM提供了一種特殊的中斷方式,有別于其他芯片的中斷。
IDT7007左右兩端各提供一個中斷信號。存儲陣列中的FFEH和FFFH單元被用做通信的信令字和中斷源,左端口向FFFH寫入訪問的同時,右端口的中斷標(biāo)志被設(shè)置,直到右端口進行讀取FFFH時清除,右端給左端的中斷方式與此類似。這樣就可以有效地協(xié)調(diào)通信雙方的讀寫操作。圖2為雙方接口的中斷邏輯。
(2)忙邏輯:當(dāng)雙口RAM的兩個端口同時對某一個存儲單元進行操作時,IDT7007的忙邏輯(BUSY)將會有一個硬件的指示,允許對其中的一個端口進行操作,將另一個端口置于等待狀態(tài)。如果在接到BUSY信號時,已經(jīng)進行寫操作,那么IDT7007的內(nèi)部機制可以阻止寫操作的繼續(xù)進行。
系統(tǒng)中,為了提高系統(tǒng)的穩(wěn)定性,保證通信數(shù)據(jù)的正確,我們對IDT7007原有的忙邏輯進行了修改。硬件方面將雙口RAM原有的兩個BUSY信號求邏輯或,這個結(jié)果再與中斷信號INT求邏輯或。這樣,只要通信雙方同時讀寫同一個存儲單元,系統(tǒng)就認為讀寫非法,同時中斷雙方的讀寫操作。這樣可以提高雙方交換數(shù)據(jù)的正確性。
評論