新聞中心

EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 高速嵌入式視頻系統(tǒng)中SDRAM時(shí)序控制分析

高速嵌入式視頻系統(tǒng)中SDRAM時(shí)序控制分析

——
作者: 時(shí)間:2007-10-09 來(lái)源:電子設(shè)計(jì)應(yīng)用 收藏

摘要:在高速設(shè)計(jì)中,SDRAM信號(hào)時(shí)序問(wèn)題至關(guān)重要。本文在AVIA9700方案基礎(chǔ)上,分析了高速嵌入式視頻系統(tǒng)由于各種原因引起的布線延時(shí)所產(chǎn)生的SDRAM訪問(wèn)時(shí)序問(wèn)題以及SDRAM控制器所提供的延時(shí)補(bǔ)償機(jī)制,并利用時(shí)序診斷軟件工具完成了SDRAM訪問(wèn)時(shí)序診斷測(cè)試。

關(guān)鍵詞;;;AVIA9700

在高速應(yīng)用中,使用大容量存儲(chǔ)器實(shí)現(xiàn)數(shù)據(jù)緩存是一個(gè)必不可少的環(huán)節(jié)。SDRAM就是經(jīng)常用到的一種存儲(chǔ)器。

但是,在主芯片與SDRAM之間產(chǎn)生的時(shí)序抖動(dòng)問(wèn)題阻礙了產(chǎn)品的大規(guī)模生產(chǎn)。在的生產(chǎn)實(shí)際應(yīng)用中,不同廠家的PCB板布線、PCB材料和時(shí)鐘頻率的不同,及SDRAM型號(hào)和器件一致性不同等原因,都會(huì)帶來(lái)解碼主芯片與SDRAM間訪問(wèn)時(shí)序的抖動(dòng)問(wèn)題。

本文利用C-NOVA公司數(shù)字電視MPEG-2解碼芯片AVIA9700內(nèi)置的SDRAM控制器所提供的時(shí)序補(bǔ)償機(jī)制,設(shè)計(jì)了一個(gè)方便使用的內(nèi)存時(shí)序測(cè)試軟件工具,利用這個(gè)工具,開發(fā)測(cè)試人員可在以AVIA9700為解碼器的數(shù)字電視接收機(jī)設(shè)計(jì)和生產(chǎn)中進(jìn)行快速診斷,并解決SDRAM的時(shí)序問(wèn)題。

數(shù)字電視系統(tǒng)

SDRAM時(shí)序控制

AVIA9700內(nèi)集成了一個(gè)SDRAM控制器,該控制器提供一套完整的SDRAM接口。AVIA9700與SDRAM接口中的控制線、地址線和數(shù)據(jù)線都同步在MCLK時(shí)鐘上。圖1是用兩片16位SDRAM組合形成32位數(shù)據(jù)線的典型連接示意圖。

圖1 SDRAM與AVIA9700典型鏈接示意圖
     
SDRAM控制線

正確讀寫時(shí)序條件

AVIA9700解碼芯片訪問(wèn)SDRAM的時(shí)序如圖2所示。

圖2 AVIA9700訪問(wèn)SDRAM時(shí)序示意圖

要正確訪問(wèn)SDRAM,建立時(shí)間和保持時(shí)間很關(guān)鍵。建立時(shí)間在觸發(fā)器采樣之前,在這段時(shí)間,數(shù)據(jù)必須保持有效的時(shí)間,否則會(huì)產(chǎn)生setup violation;保持時(shí)間在解發(fā)器開始采樣之后,數(shù)據(jù)必須保持有效的時(shí)間,否則會(huì)產(chǎn)生hold violation。因此,要正確讀寫SDRAM的時(shí)序條件,需要滿足以下兩個(gè)公式:
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時(shí)鐘周期,Control signal valid為控制信號(hào)從時(shí)鐘上升沿到輸出有效時(shí)間,delay為布線所引起的延時(shí)。

對(duì)于低頻設(shè)計(jì),線互連和板層的影響很小,可以不考慮。當(dāng)頻率超過(guò)50MHz或信號(hào)上升時(shí)間Tr小于6倍傳輸線延時(shí)時(shí),互連關(guān)系必須以傳輸線理論納入考慮之中,而在評(píng)定系統(tǒng)性能時(shí)也必須考慮PCB板材料的電參數(shù)。由于AVIA9700輸出時(shí)鐘信號(hào)MCLK工作在108MHz~148.5MHz之間,所以設(shè)計(jì)時(shí)必須考慮布線延時(shí)引起的SDRAM時(shí)序問(wèn)題。

AVIA9700 SDRAM

時(shí)序控制機(jī)制

為了補(bǔ)償布線延時(shí),滿足公式(1)和公式(2)的要求,AVIA9700的內(nèi)置SDRAM控制器提供了兩個(gè)延時(shí)補(bǔ)償參數(shù):SDRAM_CLK_IN和SDRAM_CLK_OUT。這兩個(gè)參數(shù)都是8位的整數(shù),可以提供不同的時(shí)鐘延時(shí)組合,解決各種復(fù)雜數(shù)字電視接收機(jī)系統(tǒng)中的SDRAM時(shí)序問(wèn)題。

通過(guò)嵌入式應(yīng)用軟件,開發(fā)人員可以調(diào)整SDRAM_CLK_IN的參數(shù)來(lái)控制讀入數(shù)據(jù)的時(shí)鐘延時(shí)。同樣,對(duì)SDRAM_CLK_OUT的設(shè)置也可以改變輸出時(shí)鐘的延時(shí)。通過(guò)設(shè)置SDRAM_CLK_OUT (OutTapSel=X)改變輸出的MCLK時(shí)鐘相位,補(bǔ)償各種不同的布線延時(shí),可以解決高速數(shù)字電視系統(tǒng)的SDRAM時(shí)序問(wèn)題。

在實(shí)際應(yīng)用中,由于不同整機(jī)廠會(huì)采用不同廠家的SDRAM,PCB布線也會(huì)因?yàn)闄C(jī)器結(jié)構(gòu)原因發(fā)生較大變化,時(shí)鐘工作頻率和選用器材的不一致性等,都會(huì)引起公式(1)、(2)中的參數(shù)發(fā)生變化。這些因素的組合,往往使布線延時(shí)問(wèn)題變得復(fù)雜。

AVIA9700 SDRAM

時(shí)序診斷軟件及測(cè)試結(jié)果

為了方便開發(fā)人員快速解決問(wèn)題,本文利用AVIA9700內(nèi)置SDRAM控制器提供的時(shí)鐘延時(shí)補(bǔ)償機(jī)制,設(shè)計(jì)了一個(gè)診斷工具。

基于AVIA9700數(shù)字電視接收機(jī),由于PCB、元器件、系統(tǒng)頻率都已經(jīng)定型,影響布線延時(shí)的電氣特性已經(jīng)固化。通過(guò)改變SDRAM_CLK_IN和SDRAM_CLK_OUT組合,設(shè)計(jì)人員可以測(cè)試不同組合下的SDRAM訪問(wèn)錯(cuò)誤率,根據(jù)錯(cuò)誤率統(tǒng)計(jì)數(shù)據(jù)制成統(tǒng)計(jì)圖,如圖3所示。圖中縱坐標(biāo)為SDRAM_CLK_IN,由于寄存器是8位,因此選取坐標(biāo)取值范圍在0~255之間(28);橫坐標(biāo)為SDRAM_CLK_OUT,取值范圍也在0~255之間。對(duì)該范圍內(nèi)的某一點(diǎn)所對(duì)應(yīng)的寄存器設(shè)置,診斷軟件都要自動(dòng)重復(fù)10000次讀寫操作。設(shè)計(jì)人員可以利用最后生成的圖形,快速準(zhǔn)確地選定SDRAM_CLK_IN和SDRAM_CLK _OUT的值,并將其固化在最終生產(chǎn)版本的軟件中。

圖3 SDRAM時(shí)序測(cè)試統(tǒng)計(jì)圖

這里,補(bǔ)償參數(shù)的選擇原則是,組合值需要在測(cè)試圖中無(wú)錯(cuò)區(qū)域的中心,且距離邊界大于25。

結(jié)語(yǔ)

通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),在高速數(shù)字系統(tǒng)設(shè)計(jì)中,通過(guò)SDRAM控制器來(lái)補(bǔ)償布線延時(shí)可以很好地解決SDRAM時(shí)序問(wèn)題。■

參考文獻(xiàn)
1. Howard Honson, Martin Graham. 高速數(shù)字設(shè)計(jì)[ M ] . 電子工業(yè)出版社. 2004
2. AVIA9700 datasheet  C-NOVA, Inc. 2004
3. AVIA9700 programming guide C-Nova, Inc. 2004



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉