完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 人间烟火123 于 2018-6-15 15:37 编辑
使用dm365,dvsdk4。电路图是按照瑞泰创新的图画的,但是有个不一样的地方 (1)买芯片的时候不知道有tvp5146m2pfp和tvp5146pfp,用了tvp5146pfp。 (2)因为莲花头放在面板上,所以使用的是莲花头进来之后用大约2跟15cm的线引到到的电路板上。 现在问题是tvp5146无法检测到视频输入,出错相关信息如下: (1)正常启动encode的出错信息 ./encode -v test.264 -y 2 -r 352x288 Encode demo started. Failed to detect video standard, video input connected? ... 对应的源代码如下: if (Capture_detectVideoStd(NULL, &videoStd, &cAttrs) < 0) [ ERR("Failed to detect video standard, video input connected?n"); cleanup(THREAD_FAILURE); ] (2)加入DMAI_DEBUG之后的出错信息 DMAI_DEBUG=2 ./encode -v test.264 -y 2 -r 352x288 Encode demo started. @0x000e5cdc:[T:0x4001f800] ti.sdo.dmai - [Dmai] Dmai log level set to '2'. Note that calling CERuntime_init after this point may cause unexpected change to . @0x000e6cc8:[T:0x40c29490] ti.sdo.dmai - [Capture] Composite input selected @0x0025d0dc:[T:0x40c29490] ti.sdo.dmai - [Capture] ERRNO (22) 《《出错 @0x0025d65d:[T:0x40c29490] ti.sdo.dmai - [Capture] Failed to set video input to 0 (Invalid argument) (3)内核启动的相关信息: root@dm365-evm:~/dm365# dmesg 。。。。。。 Linux video capture interface: v2.00 vpfe_init vpfe-capture: vpss clock vpss_master enabled vpfe-capture vpfe-capture: v4l2 device registered vpfe-capture vpfe-capture: video device registered EVM: switch to tvp5146 SD video input tvp514x 1-005d: tvp514x 1-005d decoder driver registered !! vpfe-capture vpfe-capture: v4l2 sub device tvp5146 registered vpfe_register_ccdc_device: DM365 ISIF DM365 ISIF is registered with vpfe. af major#: 251, minor# 0 AF Driver initialized aew major#: 250, minor# 0 AEW Driver initialized 。。。。。 (4)系统调用的相关信息 root@dm365-evm:~/dm365# cat /proc/kallsyms|grep tvp c001cfb8 t tvp514x_init c0025160 t __initcall_tvp514x_init6 c022ce64 t tvp514x_remove c022ce90 t tvp514x_g_fmt_cap c022cf18 t tvp514x_g_ctrl c022d030 t tvp514x_enum_fmt_cap c022d0d0 t tvp514x_read_reg c022d138 t tvp514x_get_current_std c022d190 t tvp514x_s_pARM c022d1f0 t tvp514x_try_fmt_cap c022d320 t tvp514x_s_fmt_cap c022d3ac t tvp514x_g_parm c022d428 t tvp514x_write_reg c022d494 t tvp514x_s_std c022d564 t tvp514x_s_ctrl c022d764 t tvp514x_write_regs c022d7ec t tvp514x_s_stream c022dba8 t tvp514x_querystd c022dcdc t tvp514x_s_routing c022deb4 t tvp514x_queryctrl c022dfd4 t tvp514x_probe c031d460 t tvp514x_dev c031d6e8 t tvp514x_ops c031d708 t tvp514x_id c031d780 t tvp514x_fmt_list c031d7c0 t tvp514x_core_ops c031d800 t tvp514x_video_ops c031d854 t tvp5146_init_reg_seq c031d8b4 t tvp514xm_init_reg_seq c031d8cc t tvp5147_init_reg_seq |
|
相关推荐
12个回答
|
|
找了n长时间,实在不知道问题在哪里,只好来这里请教大家了。不知道还可以提供什么信息?
|
|
|
|
1,请使用TVP5146M2,之前的TVP5146会有bug(但是它并不会出现你说讲的测不到信号的错误)。 2,请在选择好端口(register 0x00)后,直接读出register 0x3a,0x3f的值,通过寄存器判断tvp5146m2的工作状态。 |
|
|
|
asd005 发表于 2018-6-15 07:45 现在是芯片已经焊上去了,吹下来更麻烦啊,而且说不定会引起其他问题 |
|
|
|
我在瑞泰的评估板(tvp5146m2pfp)和我自己的板上(tvp5146pfp)上各走了1遍:先不接视频启动程序,然后再接视频启动程序 (1)tvp5146m2不解视频,程序输出如下: Encode demo started. EVM: switch to tvp5146 SD video input set[e8]=02 set[e9]=00 set[ea]=80 set[e0]=01 set[e8]=60 set[e9]=00 set[ea]=b0 set[e0]=01 set[e0]=00 set[03]=01 set[03]=00 get[80]=51 get[81]=46 get[70]=08 tvp514x_detect,497:81,70,8 tvp514x 1-005d: tvp5146 (Version - 0x08) found at 0xba (DaVinci I2C adapter) set[00]=05 set[01]=0f set[02]=00 set[03]=00 set[05]=10 set[06]=00 set[07]=00 set[08]=02 set[09]=80 set[0a]=80 set[0b]=80 set[0c]=00 set[0d]=00 set[0e]=0e set[10]=80 set[11]=80 set[12]=80 set[14]=80 set[32]=0c set[33]=00 set[34]=11 set[35]=ee set[36]=af set[37]=ff set[38]=ff set[39]=01 set[02]=00 tiMessage: main.c: hRendezvousCapStd waiting set[00]=05 get[33]=00 set[33]=00 set[39]=01 get[20]=00 get[3f]=81 get[3a]=11 tiError: Failed to detect video standard, video input connected? (2)然后tvp5146m2接上视频,再次启动程序,输出如下: Encode demo started. tiMessage: main.c: hRendezvousCapStd waiting set[02]=00 set[00]=05 get[33]=00 set[33]=00 set[39]=01 get[02]=00 get[3f]=82 get[3a]=6e set[02]=02 EVM: switch to tvp5146 SD video input set[02]=00 set[00]=05 get[33]=00 set[33]=00 set[39]=01 get[02]=00 get[3f]=82 get[3a]=6e set[02]=02 成功 (3)在我的板上tvp5146pfp,不接视频,输出如下: EVM: switch to tvp5146 SD video input Encode demo started. tvp5146:set[e8]=02 tvp5146:set[e9]=00 tvp5146:set[ea]=80 tvp5146:set[e0]=01 tvp5146:set[e8]=60 tvp5146:set[e9]=00 tvp5146:set[ea]=b0 tvp5146:set[e0]=01 tvp5146:set[e0]=00 tvp5146:set[03]=01 tvp5146:set[03]=00 tvp5146:get[80]=51 tvp5146:get[81]=46 tvp5146:get[70]=03 tvp514x 1-005d: tvp5146 (Version - 0x03) found at 0xba (DaVinci I2C adapter) tvp5146:set[00]=05 tvp5146:set[01]=0f tvp5146:set[02]=00 tvp5146:set[03]=00 tvp5146:set[05]=10 tvp5146:set[06]=00 tvp5146:set[07]=00 tvp5146:set[08]=02 tvp5146:set[09]=80 tvp5146:set[0a]=80 tvp5146:set[0b]=80 tvp5146:set[0c]=00 tvp5146:set[0d]=00 tvp5146:set[0e]=0e tvp5146:set[10]=80 tvp5146:set[11]=80 tvp5146:set[12]=80 tvp5146:set[14]=80 tvp5146:set[32]=0c tvp5146:set[33]=00 tvp5146:set[34]=11 tvp5146:set[35]=ee tvp5146:set[36]=af tvp5146:set[37]=ff tvp5146:set[38]=ff tvp5146:set[39]=01 tvp5146:set[02]=00 tiMessage: main.c: hRendezvousCapStd waiting tvp5146:set[00]=05 tvp5146:get[33]=00 tvp5146:set[33]=00 tvp5146:set[39]=01 tvp5146:get[02]=00 tvp5146:get[3f]=81 tvp5146:get[3a]=11 tvp5146:get[02]=00 然后提示没有连接 (4)在我的板上tvp5146pfp,接上视频,输出如下: Encode demo started. EVM: switch to tvp5146 SD video input tvp5146:set[02]=00 tiMessage: main.c: hRendezvousCapStd waiting tvp5146:set[00]=05 tvp5146:get[33]=00 tvp5146:set[33]=00 tvp5146:set[39]=01 tvp5146:get[02]=00 tvp5146:get[3f]=02 tvp5146:get[3a]=71 然后提示没有连接 说明:(1)上面信息中,其中一些不相关的或者重复的去掉了。 (2)因为每次开机第一次运行的时候,程序需要检测芯片和做一些初始化的工作,所以2个机器上第一次和第二次运行信息量差别比较大。 |
|
|
|
哥来也半步颠 发表于 2018-6-15 08:04 只看这几个寄存器的话,就是这样 m2不接视频-》: get[02]=00,get[3f]=81,get[3a]=11 m2接视频-》:get[02]=00,get[3f]=82,get[3a]=6e pfp不接视频-》:get[02]=00,get[3f]=81,get[3a]=11 pfp接视频-》:get[02]=00,get[3f]=02,get[3a]=71 |
|
|
|
asd005 发表于 2018-6-15 07:45 不知道这些信息能否有用? |
|
|
|
你有没有用其他的源来做过测试的?
这个芯片很容易做re-work啊,建议按照Leon的建议换片子试试 如果你确认自己的原理图设计并没有问题,建议和原版的硬件测量输入端信号对比看看 |
|
|
|
问题解决了。是因为晶振不起振。最后(1)将芯片换成了tvp5146M2(2)将无源的谐振器换成了有源的振荡器。但是还是没有搞明白,为什么晶振不起振?
|
|
|
|
哥来也半步颠 发表于 2018-6-15 08:47 you wang 于 2012-11-14 18:47 发表了以下帖子 : 问题解决了。是因为晶振不起振。最后(1)将芯片换成了tvp5146M2(2)将无源的谐振器换成了有源的振荡器。但是还是没有搞明白,为什么晶振不起振? 我遇到同样问题。检测晶振,发现不起振。有没有进一步研究,为什么不起振? 是否匹配的电容计算错误?我用33pF? 是否100K并联电阻有问题?EVM也是这样使用。 |
|
|
|
宋小辉1 发表于 2018-6-15 09:01 到正规渠道购买器件就对了。电路没有问题。匹配电容即使有点误差也不会导致晶振不起振。 |
|
|
|
问题解决了。 我这个情况,是由于 pin76 PLLA_1V8未连接导致。 |
|
|
|
补充一下, Crystal是无源的,所以要使之起振必须在振荡电路上加电压的。 所以电源没接->没有电压->Crystal不起振。 在排查Crystal不起振的问题时,最好测量下晶振端上是否有直流偏置加载上面。 而有源晶振,是自带电源输入管脚并集成了振荡电路的,换言之,只要加上电压(有些是存在EN脚)即可自行起振,和所接数字芯片没有关系。 |
|
|
|
只有小组成员才能发言,加入小组>>
351 浏览 1 评论
546 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
790 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
660 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1140 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
87浏览 29评论
321浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
262浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
210浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
69浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 01:34 , Processed in 1.044027 second(s), Total 69, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号