在高速數字視頻系統應用中,使用大容量存儲器實現數據緩存是一個必不可少的環節。SDRAM就是經常用到的一種存儲器。 但是,在主芯片與SDRAM之間產生的時序抖動問題阻礙了產品的大規模生產。在數字電視接收機的生產實際應用中,不同廠家的PCB板布線、PCB材料和時鐘頻率的不同,及SDRAM型號和器件一致性不同等原因,都會帶來解碼主芯片與SDRAM間訪問時序的抖動問題。 本文利用C-NOVA公司數字電視MPEG-2解碼芯片AVIA9700內置的SDRAM控制器所提供的時序補償機制,設計了一個方便使用的內存時序測試軟件工具,利用這個工具,開發測試人員可在以AVIA9700為解碼器的數字電視接收機設計和生產中進行快速診斷,并解決SDRAM的時序問題。 數字電視系統 SDRAM時序控制 AVIA9700內集成了一個SDRAM控制器,該控制器提供一套完整的SDRAM接口。AVIA9700與SDRAM接口中的控制線、地址線和數據線都同步在MCLK時鐘上。圖1是用兩片16位SDRAM組合形成32位數據線的典型連接示意圖。 圖1 SDRAM與AVIA9700典型鏈接示意圖 SDRAM控制線 正確讀寫時序條件 AVIA9700解碼芯片訪問SDRAM的時序如圖2所示。 圖2 AVIA9700訪問SDRAM時序示意圖 要正確訪問SDRAM,建立時間和保持時間很關鍵。建立時間在觸發器采樣之前,在這段時間,數據必須保持有效的時間,否則會產生setup violation;保持時間在解發器開始采樣之后,數據必須保持有效的時間,否則會產生hold violation。因此,要正確讀寫SDRAM的時序條件,需要滿足以下兩個公式: SDRAM_Setup_time_min 圖3 SDRAM時序測試統計圖 這里,補償參數的選擇原則是,組合值需要在測試圖中無錯區域的中心,且距離邊界大于25。 結語 通過實驗發現,在高速數字系統設計中,通過SDRAM控制器來補償布線延時可以很好地解決SDRAM時序問題。 |