原创:电视芯片setting调试总结

来源:互联网 发布:美国对华反倾销数据 编辑:程序博客网 时间:2024/05/21 11:07

                                             电视芯片setting调试总结

一、电视芯片的setting组合部分:

setting的调整主要分三个部分,第一个是时序调整;第二个是画质调整;第三个是功能调整。

 1、时序调整主要是让图像能正常显示出来,包括图像的缩放比率/ OVERSCAN比率/图像的颜色正常等。

2、画质调整主要是Deinterlace的motion/still/3:2pulldown/2:2pulldown,降噪、SHARPNESS、BCC的调整(BCC:brightness/contrast/color.)等。

 3、功能调整主要是让功能打开及正常的工作,如果TUNER、ADC通道、识别计算器、极性等等

二、如何调setting,调整思路和注意点有以下几点:

1、属性思路:如是功能、时序还是画质调整

2、模块思路:如是ADC、AFE、HDMI、AUDIO、MCU、GRAPHICS、VIDEO、OUTPUT_CONTROL、2D、3D、MEM、OSD等

3、信号流程思路:如端口捕获图象大小→ 写入SDRAM图象大小(Dowcscaling)→读到缓冲器的源图象大小→有效显示图象大小→实际显示图象大小(Upscaling)或是P(逐行) 通道、I(隔行)通道、B(直通)通道

4、固定和不固定思路:哪些REG在哪些状态是固定的不能修改,哪些不是固定的能修改,如在 逐行不能打去隔行不能开NR,只有在NTSC和PAL才有sharpness

5、硬件冲突思路:如我们调画质时,如果电路有问题使信号就不标准,不能使setting做好

 6、软件冲突思路:如我们做模式识别及解扰时,在一定状态下可以用setting和好的算法,去 解决 一定以好的算法为准

7、硬件特性冲突(属硬件冲突特类):如什么状态是做down什么状态是做up,什么状态要4:4:4, 什么状态要656输出,什么状态采用1:1采样,如采样只能最大是1024,是因为芯片里面的行缓存做的是最大1024深等

三、几个重要的公式:(还有很多不在这里列出来了如PLL)

1、de=vds_ext_hb&vds_ext_vb

2、Display Clock=H_Total*V_Total*Frame rate

3、 vds_dis_hb/vb_st/sp=vds_ext_hb/vb_sp/st    

ext_hb的st是从左开始的,ext_vb的st是从顶开始的    

dis_hb/vb 是内存抓数据的时序    

ext_hb/vb 是整个panel的blanking,产生DE的    

 vds_ext_hb/vb_st=vds_hsync/vsync_rst

4、 memory clock    

 隔行:MCLK  2.25 Iclk + 1.25 DCLK     

逐行:MCLK  1.25 Pclk + 1.25 DCLK    

Iclk 表法端口输入的隔行信号的 data clock    

Pclk 表法端口输入的逐行信号的 data clock    

 DISP_CLK=每帧图像像素*帧频

 

四、案例:

1、720p50为例如果我们DOWN到800个点,怎样算h down:(V down和h down一样的算法!)    

720p(bt705标准)的有效是1280,pll公式的ma是7bb。而实际按1280点采样的MD=1979(7bb)*1280/1280=7bb.

  ratio = 4095 * ((M-N) / N),  2457=4095((1280-800)/800)   4095=1024(最大的深度)x4(每个4个pix)

  DOWN的线路:ADC---AFE--Source De-interlaced---->V-Scale-down---->Write to Memory

2、从720x480 up到800x600的为例

==========================     H Scale Ratio ========================

When we read from memory 720 pixels from memory one line, we need H.scale up from 720 pxiels to 800 pixels to display!

firstly, set vds_hscale_byps = 0 to enable h-scale. vds_hscale = 720/800 * 1023 = 920 = 398 (hex)

When we read from memory 800 pixels from memory one line; we needn't do H.scale;

firstly, set vds_hscale_byps = 1 to disable h-scale. vds_hscalee = 1023 = 3ff(hex)

==========================     V Scale Ratio ========================== When we read from memory 480 lines from memory one frame, we need V.scale up from 480 lines to 600 lines to display!

firstly, set vds_vscale_byps = 0 to enable v-scale. vds_vscale = 480/600 * 1023 = 818 = 332 (hex)

When we read from memory 600 lines from memory one frame; we needn't do V.scale;

UP的线路---Read Data From Memory---->H/V-Scale-up---->Output to screen!

五、一些重要的参数:

 1、捕获区图象大小

2、捕获区图象偏移量

3、写入SDRAM(Downscaling)

 4、写入SDRAM图象偏移量

5、从帧缓冲器读源图象大小

 6、从帧缓冲器读源图象偏移量

7、有效显示图象大小

8、行同步宽、行数据延迟象素数

9、场同步宽、场数据延迟行数

10、有效显示图象行场周期

11、有效显示区隔行化时偶数场行数

12、SDRAM读出图象大小(Upscaling)

 13、输入端口信号格式

14、图象端口、通道选择

 15、有效显示区图象色空间

16、显示端口图象色空间

17、Memory时钟(MHz)

18、显示端口时钟

19、HV和SOG的关系

20、HV和DE的关系

21、Buffer

六:后端视频处理芯片setting通用结构:

      七、setting工具设计 :

1、能调试芯片所有的reg

2、直接生成C FILE

3、 能对所有的I2C器件进行读和写,包括8和16位的

4、 能配置REG(如增加和删除)和及说明文档(如URD工具和GRPO工具)

八、一些注意点:

 做UP和DOWN及去隔行都会带来很多一些问题点的。