雙口RAM在DSP與ICCD通信系統中的應用
3 信息處理系統與ICCD交換數據的仲裁方式
對于整個系統來說,兩個子系統之間合適的仲裁方式是極為重要的。處理不好數據交換的仲裁。就會使兩個系統之間發生沖突。比如當DSP系統對雙口RAM的一個存儲單元進行寫操作時,ICCD系統也對這個單元寫入數據,就必然導致寫操作的錯誤。抑或是當ICCD系統對雙口RAM的某一存儲單元進行讀取時,DSP也對這個單元讀操作,就會造成讀數據的錯誤。我們采取了三種有效的仲裁方式,用于解決兩個系統之間的通信爭端:
(1)中斷方式:雙口RAM提供了一種特殊的中斷方式,有別于其他芯片的中斷。
IDT7007左右兩端各提供一個中斷信號。存儲陣列中的FFEH和FFFH單元被用做通信的信令字和中斷源,左端口向FFFH寫入訪問的同時,右端口的中斷標志被設置,直到右端口進行讀取FFFH時清除,右端給左端的中斷方式與此類似。這樣就可以有效地協調通信雙方的讀寫操作。圖2為雙方接口的中斷邏輯。

(2)忙邏輯:當雙口RAM的兩個端口同時對某一個存儲單元進行操作時,IDT7007的忙邏輯(BUSY)將會有一個硬件的指示,允許對其中的一個端口進行操作,將另一個端口置于等待狀態。如果在接到BUSY信號時,已經進行寫操作,那么IDT7007的內部機制可以阻止寫操作的繼續進行。
系統中,為了提高系統的穩定性,保證通信數據的正確,我們對IDT7007原有的忙邏輯進行了修改。硬件方面將雙口RAM原有的兩個BUSY信號求邏輯或,這個結果再與中斷信號INT求邏輯或。這樣,只要通信雙方同時讀寫同一個存儲單元,系統就認為讀寫非法,同時中斷雙方的讀寫操作。這樣可以提高雙方交換數據的正確性。












評論