雙口RAM在PCI總線與AVR接口設計中的應用
3 雙口RAM的讀/寫程序
為了達到用低速模塊處理高速數據流的效果,在雙口RAM的程序處理上采用乒乓操作的技巧。乒乓操作的最大特點是通過“輸入數據選擇單元”和“輸出數據選擇單元”按節拍、相互配合的切換,將經過緩沖的數據流沒有停頓地送到“數據流運算處理模塊”進行運算與
處理。把乒乓操作模塊當作一個整體,站在這個模塊的兩端看數據,輸入數據流和輸出數據流都是連續不斷的,沒有任何停頓,因此非常適合對數據流進行流水線式處理。所以乒乓操作常應用于流水線式算法,完成數據的無縫緩沖與處理。
設計中將雙口RAM分為A,B兩個部分,各占8 KB空間。通過9052和AVR交替對兩個存儲器進行讀/寫操作到達交換數據的目的。在雙口RAM的仲裁方式選擇上選取中斷和硬件仲裁結合的方式,中斷仲裁在硬件電路設計上比較簡單,只要將雙口RAM兩側的INT引腳連接到AVR和PCI90 52的中斷引腳上,軟件設計上只要編寫雙口RAM操作程序和中斷服務程序兩部分。具體過程是:
(1)數據下行(PCI9052寫,AVR讀)。在首次發起數據傳輸時,通過握手信號告訴AVR本次數據傳輸共多少個字節。然后發起本次數據傳輸,如果數據傳輸長度小于8 KB,9052向雙口RAM的A區寫入數據,并在數據全部寫完之后對地址3FFFH(右端口信箱)執行一個寫操作,這樣引腳變為低電平,該引腳連至PCI9052的局部中斷引腳,通知9052讀取寫入的數據,9052在讀取數據之后會對左端口信箱3FFEH地址執行一個讀操作,這樣引腳恢復為高電平,使之退出中斷響應程序。整個數據傳輸程序流程和下行相似,具體的流程如圖8所示。本文引用地址:http://www.j9360.com/article/172431.htm
4 結語
高性能雙口RAM可以有效解決上位機和下位機之間的復雜數據處理問題,實現時序的粘連;乒乓操作是一個常應用于數據流控制的處理技巧,是解決高速設備和低速設備交換數據的常用方法。實踐證明本文的設計方法是解決高低速設備的傳輸瓶頸問題,提高PCI總線與AVR單片機之間的數據傳輸速度的有效途徑。
評論