嵌入式視頻系統中SDRAM時序控制分析
AVIA9700 SDRAM
為了補償布線延時,滿足公式(1)和公式(2)的要求,AVIA9700的內置SDRAM控制器提供了兩個延時補償參數:SDRAM_CLK_IN和 SDRAM_CLK_OUT。這兩個參數都是8位的整數,可以提供不同的時鐘延時組合,解決各種復雜數字電視接收機系統中的SDRAM時序問題。
通過嵌入式應用軟件,開發人員可以調整SDRAM_CLK_IN的參數來控制讀入數據的時鐘延時。同樣,對SDRAM_CLK_OUT的設置也可以改變輸出時鐘的延時。通過設置SDRAM_CLK_OUT (OutTapSel=X)改變輸出的MCLK時鐘相位,補償各種不同的布線延時,可以解決高速數字電視系統的SDRAM時序問題。
在實際應用中,由于不同整機廠會采用不同廠家的SDRAM,PCB布線也會因為機器結構原因發生較大變化,時鐘工作頻率和選用器材的不一致性等,都會引起公式(1)、(2)中的參數發生變化。這些因素的組合,往往使布線延時問題變得復雜。
AVIA9700 SDRAM
時序診斷軟件及測試結果
為了方便開發人員快速解決問題,本文利用AVIA9700內置SDRAM控制器提供的時鐘延時補償機制,設計了一個診斷工具。
基于AVIA9700數字電視接收機,由于PCB、元器件、系統頻率都已經定型,影響布線延時的電氣特性已經固化。通過改變SDRAM_CLK_IN和 SDRAM_CLK_OUT組合,設計人員可以測試不同組合下的SDRAM訪問錯誤率,根據錯誤率統計數據制成統計圖,如圖3所示。圖中縱坐標為 SDRAM_CLK_IN,由于寄存器是8位,因此選取坐標取值范圍在0~255之間(28);橫坐標為SDRAM_CLK_OUT,取值范圍也在 0~255之間。對該范圍內的某一點所對應的寄存器設置,診斷軟件都要自動重復10000次讀寫操作。設計人員可以利用最后生成的圖形,快速準確地選定 SDRAM_CLK_IN和SDRAM_CLK _OUT的值,并將其固化在最終生產版本的軟件中。
圖3 SDRAM時序測試統計圖
這里,補償參數的選擇原則是,組合值需要在測試圖中無錯區域的中心,且距離邊界大于25。
結語
通過實驗發現,在高速數字系統設計中,通過SDRAM控制器來補償布線延時可以很好地解決SDRAM時序問題。■
參考文獻
1. Howard Honson, Martin Graham. 高速數字設計[ M ] . 電子工業出版社。 2004
2. AVIA9700 datasheet C-NOVA, Inc. 2004
3. AVIA9700 programming guide C-Nova, Inc. 2004
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論