tvp5150 若干問題,很好的解答

作者:德州儀器半導體技術(上海)有限公司 通用DSP 技術應用工程師 喻雲峯

1.簡介

TVP5150系列是一顆使用簡易,超低功耗,封裝極小的數字視頻解碼器。使用單一14.31818MHz時鐘就可以實現PAL/NTSC/SECAM各種制式的解碼,輸出8-bit ITU-R BT.656數據,也可輸出分離同步。MCU通過標準I2C接口控制TVP5150的諸多參數,比如色調,對比度,亮度,飽和度和銳度等等。TVP5150內部的VBI處理器可以分離解析出VBI(Vertical Blanking Interval)裏面的teletext,closed caption等等信息。

TVP5151是TVP5150AM1的升級版本,其將TVP5150AM1的最新補丁固化在內部的program ROM,並擴大了內部RAM的空間。在硬件上唯一的改動就是時鐘的輸入頻率,爲單27MHz。其硬件和寄存器和TVP5150AM1完全兼容。

在新的設計當中,我們推薦使用TVP5151。 

2.硬件設計

1) 參考原理圖:(見附件中的graphic.pdf)

2) 參考gerber file: (見附件中的TVP5150EVM CAM.zip)

3) 硬件原理設計注意事項:

  • 晶體電路:參考時鐘頻率如果有非常小的誤差都可能導致顏色錯誤甚至沒有顏色。因此我們要注意:使用正確頻率的晶體

 

圖1

14.31818MHz,誤差在50ppm內爲佳;C1,C2的選擇應該根據晶體的負載電容,C1=C2=2Cload-Cstray,其中Cstray一般取3-8pF。

  • 上電時序:由於TVP5150AM1內部有多種電壓,爲了保障系統的正常工作,我們建議1.8v電壓先上,然後上3.3v電壓,最後相隔100ms後給系統復位。
  • 視頻輸入管腳及增益設置:在匹配電阻爲75歐姆情況下,最大的峯峯值爲1.24v,如下圖:

圖2

這時候就超過了TVP5150允許的最大輸入值0.75v,我們通常採用電阻分壓網路來解決該問題。

 

圖3

  • Anti-aliasing濾波器設計:爲了防止頻帶外的雜訊干擾,通常在模擬前端加入低通濾波器。如圖4,是給CVBS信號、S-Video的濾波器,它們不同主要是因爲TVP5150對這兩種信號的採樣頻率不同。

圖4

 

圖5.幅頻特性,頻響特性

4)TVP5150IBIS模型

請看鏈接:(見附件中的TVP5150Apbs IBIS Model.zip)

5)PCB layout注意事項:

  • 地的分割:建議分模擬地和數字地,並使它們在相應的電源層下。
  • 不要將任何信號放在電源層或地層上。
  • 確保電源層等於或小於相應地層的大小。
  • 不要使模擬信號靠近時鐘信號。
  • 不要將數字信號放在模擬區域。
  • 模擬信號走線越短越好。
  • 將去耦電容儘量靠近IC的電源管腳。        

3.軟件設計

1) TVP5150是通過I2C控制的,所以首先要保證I2C通訊正常。之後只需要寫幾個寄存器就可以是IC工作了,它們是0x00(video source input selection register),0x03(Miscellaneous Control register)。

2) 如何通過I2C下載補丁?

(0x7F) = 0x00;   // restart TVP5150 uP

(0x03) = 0x69;   // enable outputs

// unlock password for patch code download & register write

(0x21) = 0x51;

(0x22) = 0x50;

(0x23) = 0xFF;

(0x24) = 0x04;

// I2C Multi bytes write

I2CWrite(DEV_Addr,0x7E,sizeof(pPatch),pPatch);

// I2CWrite(unsigned char DEV_ADDR,unsigned char //SUB_ADDR,unsigned int size,unsigned char *pData);

// lock password for patch code download & register write

(0x21) = 0x00;

(0x22) = 0x00;

(0x23) = 0xFF;

(0x24) = 0x04;

然後讀取寄存器0x82,0x83確認版本號與補丁的版本號相同,證明補丁下載成功。

3) 如果補丁下載成功後,而MCU又通過硬件復位了TVP5150,此時原先ROM的代碼開始運行。爲了讓補丁重新工作,我們只需寫入如下寄存器:

// unlock password for patch code download & register write

(0x21) = 0x51;

(0x22) = 0x50;

(0x23) = 0xFF;

(0x24) = 0x04;

(0x10) = 0x05;

// lock password for patch code download & register write

(0x21) = 0x00;

(0x22) = 0x00;

(0x23) = 0xFF;

(0x24) = 0x04;

4) 如何操作TVP5150的隱藏寄存器?

TVP5150xxx有一些隱藏寄存器,當我們要寫它們的時候:

將數據的高字節寫入寄存器0x21.

將數據的低字節寫入寄存器0x22.

將寄存器的低字節地址寫入寄存器0x23.

將寫鎖存字節寫入寄存器0x24。具體參數見表1

當我們要讀它們的時候:

將寄存器的低字節地址寫入寄存器0x23.

將讀鎖存字節寫入寄存器0x24。具體參數見表1

從寄存器0x21讀出數據的高字節。

從寄存器0x22讀出數據的低字節。 

表1

4.FAQ

4-1 TVP5150xxx技術指標相關問題

4-1-1 TVP5150,TVP5150A,TVP5150AM1都有什麼區別?

4-1-2 TVP5150xxx都支持哪些輸入?

4-1-3 TVP5150xxx都支持哪些video 格式?

4-1-4 Auto switch和auto detect是什麼概念?有何區別?

4-1-5 TVP5150xxx支持哪些輸出格式?

4-1-6 RESETB最小時間是多少?

4-1-7 TVP5150AM1上電後需要多長時間去完成內部初始化工作?

4-1-8 TVP5150AM1支持OSD疊加嗎?

4-1-9在Powerdown模式下,TVP5150AM1的功耗是多少?

4-1-10 Datasheet講TVP5150AM1支持SECAM (B, D, G, K, K1, L), TVP5150AM1支持SECAM(H)和SECAM(V)嗎?

4-1-11在復位狀態,Yout,SCLK,HS和VS是什麼狀態?

4-1-12 /RESET腳和PDN腳對應的高電平應該是多少v?       

 

4-2 TVP5150xxx補丁相關問題

4-2-1爲什麼我使用了048C22版本的補丁,我的系統輸出沒有顏色,而去掉該     補丁,就好了?

4-2-2爲什麼download 補丁需要大約2秒的時間?

4-2-3  我在哪裏可以得到最新的patch?

 

4-3 TVP5150xxx視頻輸出相關問題

4-3-1爲什麼我的系統裏看到很嚴重的重影?

4-3-2如何調整TVP5150輸出的位置?

4-3-3我現在使用的攝像頭有白天模式和夜間模式,從夜間模式轉換到白天模式,爲什麼有時TVP5150AM1輸出沒彩色?

4-3-4爲什麼我偶爾在我的視頻輸出看到水平白線或暗線?

4-3-5 爲什麼TVP5150AM1輸出白屏?

4-3-6爲什麼當用day/night攝像頭的時候TVP5150AM1會沒有彩色?

4-3-7 爲什麼我偶爾在我的視頻輸出看到藍屏或綠屏?

4-3-8 爲什麼我的視頻輸出上下閃動?

4-3-9 在帶圓的信號裏,我能看到圓的邊緣有彩色閃動。怎麼改?

4-3-10 我如果減少飛彩現象?

4-3-11爲什麼我係統輸出的顏色是反的?

4-3-12爲什麼我係統輸出沒有顏色,而TVP5150又鎖住了色度負載波?

4-3-13爲什麼我的系統有時輸出的顏色不穩定?

4-3-14當輸入畫面靜止時,我們系統輸出是正常的;但圖像一動,我的系統輸出就有很嚴重的鋸齒。爲什麼?

4-3-15當輸入畫面靜止時,我們系統輸出是正常的;但圖像一劇烈運動,我的系統輸出就有比較明顯方塊狀。爲什麼?

4-3-16爲什麼我直接給HUE設定一個較大的值TVP5150AM1的圖像就會亂掉?

4-3-17爲什麼當我設置contrast/brightness很大的值時,TVP5150AM1會水平白線出現?

 

4-4 TVP5150xxx弱信號相關問題

4-4-1 TVP5150AM1如何判斷弱信號?

4-4-2 TVP5150AM1檢測到弱信號後會做什麼處理?

4-4-3 面對弱信號,我有什麼好方法來處理?

4-4-4如何判斷弱信號和非標信號?


4-5 TVP5150xxx I2C相關問題

4-5-1爲什麼我的I2C速度一快,TVP5150AM1有時就會沒響應?

 

4-6其它問題

4-6-1爲什麼我的板子有很多的noise?

4-6-2當我將PIN27設計成INTQ功能,設計需要注意哪些事情?

4-6-3 Power Down模式和Reset模式有什麼區別?

4-6-4 Data pins和SCLK pin在正常工作模式、reset模式和powerdown模式下各是什麼狀態?

4-6-5系統在視頻方面出了問題,通常的思路是怎樣的?

 

4-1-1 TVP5150,TVP5150A,TVP5150AM1都有什麼區別?

An: 下面是它們的主要區別:

5150:支持601和square 採樣。

5150A: 支持601採樣。

5150AM1: 支持601採樣。

5150:內含scaler。

5150A: 不含scaler。

5150AM1: 不含scaler。

5150:不支持SECAM。

5150A: 支持SECAM(缺省不能自動識別)。

5150AM1: 支持SECAM(缺省能自動識別)。

5150:一般弱信號處理能力。

5150A: 加強弱信號處理能力。

5150AM1: 加強弱信號處理能力。

5150:較快的鎖定速度。

5150A: 一般的鎖定速度。

5150AM1: 較快的鎖定速度。

5150:輸出支持ITU-R BT.656-3。

5150A: 輸出支持ITU-R BT.656-4。

5150AM1: 輸出支持ITU-R BT.656-3和ITU-R BT.656-4。

TVP5150A是TVP5150的硬件升級版本。TVP5150AM1是TVP5150A的軟件升級版本。

4-1-2 TVP5150xxx都支持哪些輸入?

An: 支持CVBS和S-Video輸入,但不能同時。通過寄存器0x00來設置。

4-1-3 TVP5150xxx都支持哪些video 格式?

An: TVP5150A/AM1支持以下格式:

NTSC(J,M,4.43)

PAL(B,D,G,H,I,M,N,Nc)

SECAM(B,D,G,K,K1,L)

TVP5150支持以下格式:

NTSC(J,M,4.43)

PAL(B,D,G,H,I,M,N,Nc)

4-1-4 Auto switch和auto detect是什麼概念?有何區別?

An: Auto switch指decoder自動檢測輸入信號的制式並處於該模式的狀態下。而auto detect僅僅是自動檢測輸入信號的制式,其它的需要後端CPU來初始化。

4-1-5 TVP5150xxx支持哪些輸出格式?

An:可通過編程實現以下格式:

  • 內嵌同步的8-bit ITU-R BT.656 4:2:2 YCbCr。
  • 分離同步的8-bit 4:2:2 YCbCr。

4-1-6 RESETB最小時間是多少?

An: RESETB最小要保持低200ns。同時,PDN必須爲高。

4-1-7 TVP5150AM1上電後需要多長時間去完成內部初始化工作?

An:最快是128us。時間是依據輸入信號的格式和執行auto switch的video format的多少。

4-1-8 TVP5150AM1支持OSD疊加嗎?

An: 不支持。

4-1-9在Powerdown模式下,TVP5150AM1的功耗是多少?

An: 軟件Powerdown模式下典型功耗爲60mW。硬件Powerdown模式下典型功耗小於1mW。具體參數見下表:

4-1-10 Datasheet講TVP5150AM1支持SECAM (B, D, G, K, K1, L), TVP5150AM1支持SECAM(H)和SECAM(V)嗎?

An: 支持的

4-1-11在復位狀態,Yout,SCLK,HS和VS是什麼狀態?

An:在復位狀態,除了Xtal2,所有的輸出信號都是高阻。

4-1-12 /RESET腳和PDN腳對應的高電平應該是多少v?

An:3.3v。可參考原理圖。

4-2-1爲什麼我使用了048C22版本的補丁,我的系統輸出沒有顏色,而去掉該補丁,就好了?

An: 因爲048C22版本的補丁對時鐘要求更高,但要求還是在我們datasheet要求的範圍了。具體解決方法參考硬件設計的晶體電路部分。 

4-2-2爲什麼download 補丁需要大約2秒的時間?

An: 你可以加快I2C的速度和採取塊寫的方式。比如一個5.3KB的補丁,我們只需要(1/(400K/9))*5375 = 121ms,算上20%的餘量,也就146ms。

4-2-3 我在哪裏可以得到最新的patch?

An: http://software-dl.ti.com/dsps/dsps_public_sw/dsps_swops_houston/ANALOG_VIDEO/Analog_Video_Decoder_Versions.htm

4-3-1 爲什麼我的系統裏看到很嚴重的鋸齒?

An: 鋸齒是由於奇、偶場造成的。首先應該檢查是否你後端CPU的de-interlace出了問題。然後檢查後端CPU的奇、偶場順序反了。

4-3-2如何調整TVP5150輸出的位置?

An:需要通過修改隱藏寄存器來修改。先解鎖TVP5150,(0x2FF) = 0x5150,然後將新值寫入對應的寄存器(0x329) = 0xxxxx(VSYNC start),(0x32A) = 0xxxxx(VSYNC stop),(0x323) = 0xxxxx(HSYNC start) (0x324) = 0xxxxx(HSYNC stop)。

4-3-3我現在使用的攝像頭有白天模式和夜間模式,從夜間模式轉換到白天模式,爲什麼有時TVP5150AM1輸出沒彩色?

An: 首先要看攝像頭輸出是否有彩色,我們可以通過TVP5150AM1的寄存器88h的bit3,color subcarrier lock status,來判斷。如果是0,我們應該去找模擬前端的問題,包括攝像頭。如果是1,我們可以通過如下方法來解決:先強制TVP5150AM1處於某種制式下,比如PAL制攝像頭就寫0x04到寄存器0x28。然後寫0x015A到0x2B1, 0x85E3到0x2B2, 0Xfef0到0x2B3, 0x7A07到0x2B4。 或者使用補丁也可解決該問題,詳細見補丁說

4-3-4 爲什麼我偶爾在我的視頻輸出看到水平白線或暗線?

An:  首先我們關掉white peak protection 或composite peak protection看看(0x02寄存器,具體看datasheet)。如果不行,請聯繫TI FAE要分析具體信號。

4-3-5 爲什麼TVP5150AM1輸出白屏?

An: 可能是輸入信號超過TVP5150AM1的輸入門限,請檢查輸入電路。

4-3-6爲什麼TVP5150AM1會沒有彩色,當用day/night攝像頭的時候?

An: 補丁048c22可以解決這個問題。

4-3-7爲什麼我偶爾在我的視頻輸出看到藍屏或綠屏?

An:  這可能是由非標信號造成的。先要判斷是否是非標信號,如果是,則要調整F bit和V bit的設置,具體參看寄存器0x15。如果不是,請用標準信號源測試。

4-3-8爲什麼我的視頻輸出上下閃動?

An: 仍然可能是非標信號造成的,參考4-3-7。

4-3-9在帶圓的信號裏,我能看到圓的邊緣有彩色閃動。怎麼改?

An: 這是由於梳妝濾波器的特性造成的。我們可以嘗試修改隱藏寄存器0x33A的值爲0x000F.

4-3-10我如果減少飛彩現象?

An: 爲了減少false color現象,我們只有減少色度的帶寬。修改如下:

Register                         Default Value                        New Value

0x0E                    0x00                              0x03

0x1B                                  0x14                              0x13 

4-3-11爲什麼我係統輸出的顏色是反的?

An:通常該問題是由TVP5150和後端的時序配合造成的。我們用一彩條很容易判斷。

4-3-12爲什麼我係統輸出沒有顏色,而TVP5150又鎖住了色度負載波?

An: 如果時鐘電路有誤差,會導致該問題。具體設計參考硬件的時鐘電路參數設計。

4-3-13爲什麼我的系統有時輸出的顏色不穩定?

An:可能由以下原因造成的:

  • 可能是時鐘電路,參考4-3-12.
  • 也可能是PIN27的設計造成的。嘗試加4.7K下拉電阻或當該PIN設置成GPIO output時,使其輸出高。

也可能是與後端的CPU配合造成的,最簡單就是寫寄存器0x15爲0x05,看是否有變化,如果顏色丟失了,寫回0x01。參考4-3-11。

4-3-14當輸入畫面靜止時,我們系統輸出是正常的;但圖像一動,我的系統輸出就有很嚴重的鋸齒。爲什麼?

     An: 應該是後端DSP的奇偶場搞反了。

 4-3-15 當輸入畫面靜止時,我們系統輸出是正常的;但圖像一劇烈運動,我的系統輸出就有比較明顯方塊狀。爲什麼?

An: 應該是後端DSP編碼造成的。

4-3-16爲什麼我直接給HUE設定一個較大的值TVP5150AM1的圖像就會亂掉?

An: 這是TVP5150AM1的一個Bug,我們可以用補丁048c22 來解決這個問題。如果不用補丁需要限定hue的範圍爲+/-80。

4-3-17 爲什麼當我設置contrast/brightness很大的值時,TVP5150AM1會水平白線出現?

An: 補丁048c22可以解決這個問題。

4-4-1 TVP5150AM1如何判斷弱信號?

An: TVP5150AM1依據水平同步上的jitter數量。

4-4-2 TVP5150AM1檢測到弱信號後會做什麼處理?

An: 當檢測到弱信號,TVP5150AM1強制進入TV模式以減少jitter。TV信號的時基很穩定,所以5150內部可以用較慢的時間常數,也就是較慢的PLL響應來減少jitter。

4-4-3面對弱信號,我有什麼好方法來處理?

An: Patch 048c22對弱信號有更爲增強的處理。

4-4-4如何判斷弱信號和非標信號?

An:  通過寄存器0x88的bit0可以判斷是TV還是VCR模式,如果是VCR說明是非標信號;通過寄存器0x89的bit6可以判斷是否是弱信號。

4-5-1 爲什麼我的I2C速度一快,TVP5150AM1有時就會沒響應?

An: TVP5150AM1的I2C速度可以達到400Kbps,所以出現這種問題可能是由於後端CPU造成的。建議用額外的GPIO口去模擬I2C通訊。

4-6-1 爲什麼我的板子有很多的noise?

An: 這些noise都是PCB layout或電源干擾造成的。下面提供一些找問題的思路。

  • 將信號直接飛到濾波電路的前端。是否有改善?
  • 跳過模擬前端的濾波電路,將信號直接飛到匹配電阻的前端。是否有改善?
  • 檢查電源,用頻譜分析儀檢測是否有低頻干擾。或用好的直流穩壓電源供電。是否有改善?

4-6-2 當我將PIN27設計成INTQ功能,設計需要注意哪些事情?

An:當我們將定義成INTREQ輸出時,如果定義爲高有效,此時是一普通IO口。如果定義爲低有效,此時需要一上拉電子,其值一般爲4.7K~10K。

4-6-3 Power Down模式和Reset模式有什麼區別?

An: PowerDown模式下TVP5150AM1內部CPU仍然工作,所有寄存器的值仍然保持,但ADC被關掉,內部時鐘降到最小頻率。而Reset模式下,ADC、PLL所有部分都被關掉,重新到正常工作模式,需要重寫寄存器。

4-6-4 Data pins和SCLK pin在正常工作模式、reset模式和powerdown模式下各是什麼狀態?

An:

正常工作模式: SCLK和YOUT可以是高阻或正常輸出狀態,依寄存器0x03的設置而定。

Reset工作模式:SCLK和YOUT都是高阻狀態。

PowerDown工作模式:爲了省電,在進入powerdown模式前,需要通過寄存器0x03將SCLK和YOUT設置成高阻狀態。

4-6-5 系統在視頻方面出了問題,通常的思路是怎樣的?

An:以上Q&A基本上包含了大部分涉及IC的問題,但實際產品應用中總會遇到各種各樣的,千奇百怪的問題。通常我會按以下幾種來分類:圖像品質類、硬件設計類、系統設計類、特殊信號類和IC損壞類。這些分類並不是固定不變的,有時會有些交叉問題出現。最核心的部分還是需要對視頻要有足夠的理解。以下通過圖片的形式來舉例。

EX1:爲什麼我的圖像會有黑色部分出現?

An:圖像的信號進入到後端的CPU,不管是內嵌同步還是外嵌同步,這中間都有一個協議去保障video decoder的輸出是在什麼位置,具體來講就是奇偶場,行消隱,場消隱,有效數據等等。從圖片上看,明顯是沒有能保障場的同步。所以思路應該從CPU的場同步處理去分析,甚至包含數據的存儲和搬運。屬於系統設計問題。

 

EX1

 

EX2:爲什麼我的圖像晚上有網格出現,而白天正常?

 

EX2

An:Video decoder最主要的功能之一就是將複合視頻信號進行YC分離,色度信號是根據色度副載波的頻率依附在亮度信號當中。在確認CPU後端處理沒問題後,基本可以判斷是video decoder的chrominance 處理出了問題。經過測試原始信號,發現攝像頭此時沒有輸出色度副載波,但依然輸出色度信號的數據。屬於特殊信號問題。經過新的補丁,可解決該問題。這也是TI video decoder的最大優勢。因爲沒有任何人可以保證下一個非標信號是怎樣的。

EX3:我們發現5150採集出來的圖像存在彩色條紋,有方法可以改進嗎?

An:這種問題就是我們通常講的flase color,4-16有其解決方法。根本原因是2D的comb filter不可能將所有頻道的YC分離的很乾淨,而目前的電視是3D 的濾波器,對靜止畫面可以處理的非常乾淨。實際工程中判斷該類問題就是看該彩色是否和畫面的頻率相關。屬於圖像品質類問題。

 

EX3

EX4:爲什麼我之前用的其他decoder圖像正常,而更換5151後圖像異常?我的driver應該如何改?

An:從圖像內容來看,不應是模擬信號造成的,問題應出在數字部分。通常一顆器件的driver,應從以下幾個方面入手。屬於系統設計問題。

 

EX4-1,EX4-2

5146、5150、5151的輸出格式都可以配置成內嵌同步的BT656。對於驅動層,我的建議是:

      1,你首先要知道每款video decoder和CPU的視頻接口是什麼,比如是8bit還是16bit的寬度,是內嵌同步還是行場分離;你只有瞭解了這些,你才能決定後面該如何配置。這很關鍵。

      2,如果你能保證他們的接口一樣,我認爲CPU的VP口和buffer端是基本不需要修改的。因爲,他們的輸出都是按照標準來的。

      3,剩下的工作就是對每款video decoder的具體寄存器配置。通常寄存器的配置是放在單獨的一個文件裏面。

EX5:如何改進視頻的通透性?

 

EX5

An:所謂的通透性其實是一個很主觀的認識,當你的對比度過大時,你自然會覺得其通透性好。比如上圖,你將對比度調大,亮度調低,主觀上覺得其通透性好。比如

WR_REG,VID_DEC,1,0x10,0x1C           // Brightess =28 on WinVcc Prop Sheet

WR_REG,VID_DEC,1,0x11,0x89           //Contrast =137 on WinVcc Prop Sheet

但其是有副作用的,必然會影響層次感(最簡單的測試方法是測試標準灰階)。

EX6:爲什麼我的圖像上鋸齒、重影很嚴重?

An:該類問題通常是由於場的處理造成的,屬於系統設計問題。一是看是否分靜止和運動。如果靜止圖像也有嚴重的鋸齒,比如你輸入一標準信號,看看水平交界的地方是否有明顯的錯行問題。如果有,應該是後端CPU奇偶場不分造成的。如果只有運動畫面有,應該是後端CPU的de-interlace造成的。

 

EX6

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章