• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 消費電子 > 設計應用 > 高速嵌入式視頻系統中SDRAM時序控制分析

    高速嵌入式視頻系統中SDRAM時序控制分析

    ——
    作者: 時間:2007-10-09 來源:電子設計應用 收藏

    摘要:在高速設計中,SDRAM信號時序問題至關重要。本文在AVIA9700方案基礎上,分析了高速嵌入式視頻系統由于各種原因引起的布線延時所產生的SDRAM訪問時序問題以及SDRAM控制器所提供的延時補償機制,并利用時序診斷軟件工具完成了SDRAM訪問時序診斷測試。

    關鍵詞;AVIA9700

    在高速應用中,使用大容量存儲器實現數據緩存是一個必不可少的環節。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 < T_cycle-control_signal_valid_max-control_signal_Delay_max+ clock_delay_min (1)
    SDRAM_Hold_time_min < control_signal_valid_min + control_signal_delay_min- clock_delay_m_ax     (2)

    這里,T_cycle 為SDRAM時鐘周期,Control signal valid為控制信號從時鐘上升沿到輸出有效時間,delay為布線所引起的延時。

    對于低頻設計,線互連和板層的影響很小,可以不考慮。當頻率超過50MHz或信號上升時間Tr小于6倍傳輸線延時時,互連關系必須以傳輸線理論納入考慮之中,而在評定系統性能時也必須考慮PCB板材料的電參數。由于AVIA9700輸出時鐘信號MCLK工作在108MHz~148.5MHz之間,所以設計時必須考慮布線延時引起的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



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 扎兰屯市| 遂川县| 延津县| 三门峡市| 清丰县| 普兰店市| 杭州市| 北川| 望城县| 读书| 淮南市| 遵义县| 酒泉市| 金昌市| 洛南县| 岗巴县| 田阳县| 攀枝花市| 南川市| 祁东县| 秦皇岛市| 冕宁县| 盱眙县| 祁东县| 长海县| 新野县| 华安县| 汝州市| 孝义市| 永康市| 巴中市| 武城县| 南华县| 耒阳市| 宜城市| 中阳县| 巧家县| 承德县| 木里| 苍南县| 中山市|