请问我在DVRRDK 4.0里,可以检查到5158,download patch也可以成功。但是检测视频的时候检测不到信号。我获取reg value,值如下所示,会改变:
regValue[0]=16 regValue[1]=40
regValue[2]=129 regValue[3]=0
regValue[0]=16 regValue[1]=40
regValue[2]=129 regValue[3]=0
regValue[0]=16 regValue[1]=8
regValue[2]=129 regValue[3]=0
regValue[0]=16 regValue[1]=8
regValue[2]=129 regValue[3]=0
regValue[0]=16 regValue[1]=24
regValue[2]=129 regValue[3]=0
regValue[0]=16 regValue[1]=24
regValue[2]=129 regValue[3]=0
regValue[0]=16 regValue[1]=56
regValue[2]=129 regValue[3]=0
regValue[0]=16 regValue[1]=56
regValue[2]=129 regValue[3]=0
regValue[0]=16 regValue[1]=24
regValue[2]=129 regValue[3]=0
。。。。。
请问为什么呀?在DVR 模式怎样才可以不出现这个情况呀?
Eason Wang:
是自己的板子吗?是说TVP5158检测不到信号?
TVP5158你去看那几个关于检测信号的寄存器,有看sync是否lock住的,看当前输入的制式的,查询一下便知。。。
寄存器名为:
Status 1
Video Standard Status
Changsheng Li:
回复 Eason Wang:
请问是用类似这样的命令看吗?
../bin/i2c_rdwr.out -r 58 0x8 2
Changsheng Li:
回复 Changsheng Li:
Hi Eason Wang
寄存器的值分别如下:
./bin/i2c_rdwr.out -r 58 0x0 50 I2C (0x58): 0x00 = 0x10 I2C (0x58): 0x01 = 0x08 I2C (0x58): 0x02 = 0x99 I2C (0x58): 0x03 = 0x00 I2C (0x58): 0x04 = 0x02 I2C (0x58): 0x05 = 0x03 I2C (0x58): 0x06 = 0x02 I2C (0x58): 0x07 = 0x00 I2C (0x58): 0x08 = 0x51 I2C (0x58): 0x09 = 0x58 I2C (0x58): 0x0a = 0x0d I2C (0x58): 0x0b = 0x02 I2C (0x58): 0x0c = 0x81 I2C (0x58): 0x0d = 0x00 I2C (0x58): 0x0e = 0xff I2C (0x58): 0x0f = 0x03 I2C (0x58): 0x10 = 0x80 I2C (0x58): 0x11 = 0x80 I2C (0x58): 0x12 = 0x00 I2C (0x58): 0x13 = 0x80 I2C (0x58): 0x14 = 0x00 I2C (0x58): 0x15 = 0x00 I2C (0x58): 0x16 = 0x10 I2C (0x58): 0x17 = 0x0a I2C (0x58): 0x18 = 0x40 I2C (0x58): 0x19 = 0x21 I2C (0x58): 0x1a = 0x00 I2C (0x58): 0x1b = 0x00 I2C (0x58): 0x1c = 0x0c I2C (0x58): 0x1d = 0x00 I2C (0x58): 0x1e = 0x00 I2C (0x58): 0x1f = 0x00 I2C (0x58): 0x20 = 0x00 I2C (0x58): 0x21 = 0x00 I2C (0x58): 0x22 = 0x04 I2C (0x58): 0x23 = 0x80 I2C (0x58): 0x24 = 0x00 I2C (0x58): 0x25 = 0xf5 I2C (0x58): 0x26 = 0x00 I2C (0x58): 0x27 = 0x00 I2C (0x58): 0x28 = 0x00 I2C (0x58): 0x29 = 0x06 I2C (0x58): 0x2a = 0x1e I2C (0x58): 0x2b = 0x04 I2C (0x58): 0x2c = 0x00 I2C (0x58): 0x2d = 0xf2 I2C (0x58): 0x2e = 0x08 I2C (0x58): 0x2f = 0x04 I2C (0x58): 0x30 = 0xff I2C (0x58): 0x31 = 0xff
请问正常吗?我该如何让系统可以detect video?
谢谢
Eason Wang:
回复 Changsheng Li:
Status 1寄存器很清楚的指明,你目前是lock lost detect,换言之,是说芯片抓不到CVBS上面的同步头。
对此问题你需要: 1.检查TVP芯片的模拟供电 2. 用电视去接你的视频源 3. 换视频源再试 4. 因为目前的配置是autoswitch,你可以换其他已知格式的源。
2和3是为了排除你的视频源不对,是否是非标信号。
还有就是0c寄存器表示你应该是用的NTSC,看看是不是你的源的确是这个?
Changsheng Li:
回复 Eason Wang:
Hi Eason Wang:
Thanks very much!
我对比了下2.0的reg value,结果0x0c 0x0d的值是一样的。
由于我的板上只有一片5158。而4.0缺省有4片,是否没正确选择5158导致的?
如果是这样,我该如何选择这片5158?
Eason Wang:
回复 Changsheng Li:
2.0和4.0指的是什么?DVRRDK版本号?应该不是吧。
0c起码你得是在snyc lock住的前提下看还算比较可信的,所以比较无意义了,只能作为一个佐证。
0d就是强行选定一种视频格式,在这边也没有意义。
所以你好歹得去做完前面帖子里建议你做的那些实验,光对比代码意义不大因为5158的配置已经很成熟,据我所知没有改过。
你说的没有配置正确,有可能但是可能性不大。你可以按照驱动的方式去写寄存器再回读试试。 PS你对比的value是从代码里抠的还是不同软件下回读的?
Changsheng Li:
回复 Eason Wang:
Hi Eason Wang:
我说的2.0以及4.0是指SDK版本。因为板子不变,运行2.0是正确的。然后我想转4.0SDK。所以才出现上述情况。
所有的Value,都是运行之后读取的结果。不是从其他地方拷贝的。
所以很需要您的帮助与指导,我希望可以解决这个问题。我看了一段时间了。呵呵
Eason Wang:
回复 Changsheng Li:
是DVRRDK而不是EZSDK,对吧。
既然你可以正确的读取,那我觉得写入操作很难会出问题。大不了你按照2.0的版本再半手动地去配置一遍?
还有一点是, TVP5158通常还是要下载patch文件的,是否check过有所不同?但是这个东西只是一个优化,原则上不至于影响采集。
前面提到的试验还是要做,很能说明问题。比谈代码要靠的住。
Changsheng Li:
回复 Eason Wang:
Hi Eason Wang:
感谢您的回答。
是DVRRDK。
配置方面貌似看不出问题。请问这个问题需要注意什么配置呢?
TI中文支持网

