微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > DS90UB913/914 问题请教

DS90UB913/914 问题请教

时间:10-02 整理:3721RD 点击:

我目前使用UB913/914做了pcb,想用来增加数字cmos sensor的距离。

 电路板上,1.8V使用的是XC6206P182,万用表测量1.8V应该在1.76V左右,不超过+-5%的要求。

913/914 的VCCIO都是接3.3V

 

其中913: mode管脚,10K上拉,100K下拉,配置为使用image sensor的时钟。

                 PDB管脚上拉

其中914:mode管脚,10K上拉,0R下拉,配置为 12bit低速模式,应该跟913的默认工作模式是一致的

                 PDB管脚上拉,SEL下拉,OEN上拉,OSS_SEL上拉,BITEN下拉。RIN0+-输入差分信号。

连接到913的cmos sensor出来的时钟是48M,cmos sensor无需i2c配置,默认即可正常工作,已经测试过输出图像,正常。

 

lvds信号介质是2条8cm长的高温线(距离很短),后来又换成了30cm的双绞线(从五类网线上抽了一对出来)。

 

             上电后测试用示波器观察,差分对信号上有间断的400mv左右的信号。每1ms左右有20us左右的信号波形。

            然后在914端clk,hs,vs,data管脚无任何信号。    偶尔914的clk,hs,vs,data管脚有时候会有700多HZ的脉冲波形,占空比5%左右(高电平5%的时间)。LOCK信号输出低。

            PASS信号输出为高,在PASS管脚也能看到跟clk,hs,vs,data输出管脚相同的700多HZ的脉冲,只是极性反了。

 

          在这种情况下,i2c读写914 寄存器操作也无法成功。

           在这种情况下,请教TI的技术支持大哥,应该在哪儿去找问题。谢谢了。

 

        

 

               

继续:

      今天测试了PCLK信号波形比较美观,没有变形和毛刺,幅度在0.8V~1.9V之间,感觉还好。

      把913的mode脚下拉电阻改为4.7K(即外部时钟工作模式),然后把48M pclk再飞线飞到gpio/clkin (Pin18管脚)。症状仍然一样,测试gpio/clkout(Pin17管脚),没有clk输出。

      所以感觉应该是913没有正常工作,914自然也无法lock到时钟,i2c也就无法配置了。

 

      但是913的外围并不复杂,我的pcb上,电源过滤的电容都是严格按照PDF来的,一个滤波电容都没省。除此之外,913就是mode,idx,pdb管脚需要确定的电平。外围并不复杂,如果913都不工作,难道是  芯片货源不正。(我的芯片是淘宝上买的,33元一片)。

 

       请求TI的技术大神给予帮助,指条明路,谢谢了。

再请问一下TI大神,ds90ub913qsq,和ds90ub913sq有什么区别啊。我看913芯片上的标,后缀是sq,不是qsq。

后缀带Q的表明是用在汽车电子上的,满足AEC-Q100的等级标准。

您好,我的913/914不工作,查了一下,给的信号,电源都没啥问题。

现在完全没有头绪,能不能指导一下,应该检查一下哪些地方。

你描述了很多,那么现在的问题是,913,914都没有工作,那么913的I2C时序有吗?时序正常吗,把电路图发上来看下吧。

Kailyn,您好,目前913,914 i2c时序都不工作,不产生ACK信号。下图是913发起写操作的波形。第9个时钟,没有ACK将SDA拉低。i2c的clk频率是100K。

示波器只有1个探头,两次操作,把sck,sda信号叠到一起的。

应该是从机地址没写对导致没产生ACK信号,913的7位地址你写的是什么?如果你是类似于这个图的应用,那么913 的地址应该为remote serializer的地址。

Kailyn,您好,非常感谢这几天你们的解答和回复。

目前已经基本上通了,通过几天的调试,主要有几个问题。

1. 最早画板子的时候没有evm的原理图,是看的pdf, PDB,OEN……等信号上拉都是接的1.8V,而不是VDDIO,现在已经飞线解决。

2. 我在其他帖子上说到的lock不稳的问题,应该是pclk摆幅小导致的,换成晶振输出后lock就稳定了,目前已经有连续的信号输出,能够在cpu上捕捉到图像数据。

 

但是还有俩问题:

1. 我现在是cpu的i2c直接跟913,914都连到一起。目前913可以i2c访问,914i2c没反应,已经确认地址无误,访问914的时候使用的地址跟913寄存器里读出来的DSE地址是一样的,然后又用所有914的可配地址都试了一遍,还是不行。但是913可以正常访问。

2. image sensor出来的pclk因为摆动,漂移等原因,可能影响lvds信号,因此你们前面有帖子说建议使用extern osc输入,而不使用pclk。但是很多sensor,pclk输出并不等于晶振输入的频率,而是有2倍频,2.5倍频或者其他非整数倍的频率。这种情况下如果使用晶振的频率,就只能采集到部分数据,也就是说,如果使用extern osc,用GPO2给sensor提供时钟,这种情况,sensor的pclk必须跟GPO2频率一致,可以这样理解么。

 

 

914的地址你配的什么?因为这两个器件比较特殊,CPU除了和914,还可以和913甚至远端的imager通信,所以写从机地址时一定要注意。

li shi

2. image sensor出来的pclk因为摆动,漂移等原因,可能影响lvds信号,因此你们前面有帖子说建议使用extern osc输入,而不使用pclk。但是很多sensor,pclk输出并不等于晶振输入的频率,而是有2倍频,2.5倍频或者其他非整数倍的频率。这种情况下如果使用晶振的频率,就只能采集到部分数据,也就是说,如果使用extern osc,用GPO2给sensor提供时钟,这种情况,sensor的pclk必须跟GPO2频率一致,可以这样理解么。

 

 

 这个问题其实在datasheet中有详细描述,总结下,如果使用外部时钟,那么经过913内部2分频后得到的输出GPO2给sensor提供时钟,而sensor的时钟频率大小要看913采用10bit模式还是12bit模式,如果是10bit,那么PCLK=2*外部时钟=4*GPO2,如果是12bit的话,PCLK=1.5*外部时钟=3*GPO2.比如外部晶振是48MHz,那么2分频出来的GPO2=24Mhz给sensor,sensor的Pixel Clock应该为96Mhz (10bit )或者72MHz(12bit)。

Kailyn Chen

914的地址你配的什么?因为这两个器件比较特殊,CPU除了和914,还可以和913甚至远端的imager通信,所以写从机地址时一定要注意。

 

913地址配置为 0xBA  访问正常。

914的地址配置为0xD8,0xDE两种都试过,都不能访问。

 

I2C总线出来的时序也用示波器看过,能读出正确的地址。

Kailyn Chen


这个问题其实在datasheet中有详细描述,总结下,如果使用外部时钟,那么经过913内部2分频后得到的输出GPO2给sensor提供时钟,而sensor的时钟频率大小要看913采用10bit模式还是12bit模式,如果是10bit,那么PCLK=2*外部时钟=4*GPO2,如果是12bit的话,PCLK=1.5*外部时钟=3*GPO2.比如外部晶振是48MHz,那么2分频出来的GPO2=24Mhz给sensor,sensor的Pixel Clock应该为96Mhz (10bit )或者72MHz(12bit)。

你好,Kailyn。请问你意思是不是给sensor的时钟需要先通过倍频电路对GPO2进行4(10b)或3(12b)的倍频?有推荐的倍频器件么?

谢谢。

我用的是EXT OSC模式。比如,我用的SENSOR是27MHz参考输入,27MHz像素时钟输出,8bit外宽的数据。这样,913的GPO3的EXT OSC输入应该是13.5MHz,GPO2输出应该是6.75MHz。那么,6.75MHz是否需要先4倍频至27MHz后再提供给SENSOR的参考输入时钟?

如果是,有无推荐的4倍频电路?

另外,市场上好像只有13.560MHz的晶振,有无关系?

谢谢!

Sphinxing

[

你好,Kailyn。请问你意思是不是给sensor的时钟需要先通过倍频电路对GPO2进行4(10b)或3(12b)的倍频?有推荐的倍频器件么?

谢谢。

我的意思是如果使用外部时钟的话,sensor的时钟和GPO2输出的时钟大小的倍数关系。

谢谢Kailyn。那请问我面临的情况如何解决?需要倍频电路么?

我用的SENSOR是27MHz参考输入,27MHz像素时钟输出,8bit外宽的数据。这样,913的GPO3的EXT OSC输入应该是13.5MHz,GPO2输出应该是6.75MHz。

你理解错了,27MHz外部时钟输入给GPO3,913内部2分频电路输出GPO2,GPO2输出的频率为27/2=13.5Mhz。 如果采用10bit模式,那么sensor的参考时钟为4*GPO2=2*EXT OSC=54MHz。

Kailyn, 请注意,我现在用的SENSOR输入时钟只能是27MHz,像素时钟也是固定的27MHz,数据位宽是8Bit。有没有办法解决?

Kailyn  你好!

                我也采用外部始终,但是发现GPIO2没有时钟输出,我用i2C配置914是正确的,并可以读取到913的寄存器,设置913都没有问题。目前就是给Sensor的时钟出不来,所以无法访问Sensor。

             我的原理图如下:是否有问题?

               是否需要

您好,kailyn,我的913/914已经调通一段时间了,近期测试了5款摄像头,发现时钟对于913?914的使用还真是个问题。我目前使用的sensor,大部分时钟输出都是在600mv~2000mv之间摆动,5个sensor稍有差异,有些高1,200mv,有的低100mv。然后有3款sensor,都出现了914端lock不住信号的问题,lock持续的跳变,用示波器观察时高时低,如果换一个pclk摆幅大100mv的sensor,就完全没问题,信号和图像都稳定输出。

类似这样的情况,有什么办法解决么。大部分sensor都是2.8V的IO电平,我的913是3.3V的IO电压,但是我把913的IO电压改为2.8V,症状也是差不多的。就是有个别摄像头,总是在914端不能稳定的lock信号。当然,也有可能是别的原因,但是我这边观察,我感觉可能是913的pclk对时钟的摆幅和抖动有要求。

请指导一下,如果遇上这样的情况,但是又没法改为extclk,有什么办法么?或者应该在那儿去找解决方法。

你好,kailyn,再请教一下。

     我的913/914已经调好很久了,也陆陆续续测试了5个sensor了,在这个过程中,发现913有些调sensor,有些sensor无法建立稳定连接,有些就可以。我开始怀疑是pclk摆幅的问题(我的913/914工作模式是 10bit,pclk作为913时钟输入)。昨天又测试了一下,找了一款摄像头,pclk输出是400mv~240mv,比我前边测试的大部分摄像头输出的pclk摆幅都大(前边测得5个sensor,pclk摆幅在600mv~2000mv之间)。结果发现新找的这款sensor接上之后,914那边的pclk输出还是时断时续,lock信号不停跳动。也就是说,问题不应该是信号幅度,而是处在pclk抖动原因了,现在唯一的理解就是不同的sensor,输出的pclk稳定度是不一样的,如果漂移和抖动比较大的,913这边可能就没法持续正常倍频,914端就不能持续lock。

      现在想请教的是,

1.   现在这种情况,有什么解决方案么?

2.   我一直没理解extclk模式到底应该怎么设置时钟倍数。现在我的sensor是27M晶振输入,74.25Mpclk输出,同时913以pclk作为工作始终。如果913要改为extclk,那时钟信号应该怎么给,是需要给27*4=108M的extclk么,如果这样的话,913的108M时钟又如何对sensor的数据进行采样呢。

 

调913914也有一阵了,这些问题一直没有解决,还请各位大哥给予指导。

li shi


2.   我一直没理解extclk模式到底应该怎么设置时钟倍数。现在我的sensor是27M晶振输入,74.25Mpclk输出,同时913以pclk作为工作始终。如果913要改为extclk,那时钟信号应该怎么给,是需要给27*4=108M的extclk么,如果这样的话,913的108M时钟又如何对sensor的数据进行采样呢。

看来你这个sensor只能用PCLK作913时钟了。913手册里有个问题没说清,很折磨人,就是:在10bit时,913总是假设sensor的像素输出时钟PCLK是sensor参考输入时钟的4倍。手册还举了例子,48MHz的GPIO3在913内部2分频后,从GPIO2输出24MHz给Sensor做输入,Sensor最后输出96MHz的PCLK再给913。你的sensor是27M入74M出,显然没办法用EXT OSC模式了。

Sphinxing,您好,谢谢你的解答。我大概明白了,就是说913的extclk模式,倍频数是定死的。如果是10bit模式,就必须把sensor配置为   pclk = 4 * refclk; 然后输入2 * refclk 给913, 913输出refclk给sensor。 如果是12bit模式,就必须把sensor配置为 pclk = 3* refclk; 然后输入1.5 * refclk给913, 913输出refclk给sensor。 如果不能把sensor配置为这种固定的时钟关系,那几没法工作。

 

另外,再请教一下,我在前一个帖子里说到的,913 挑 sensor ,有sensor接上之后就不能稳定工作的情况,有什么解决方法或者建议么。

li shi


……如果是12bit模式,就必须把sensor配置为 pclk = 3* refclk; 然后输入1.5 2 * refclk给913, 913输出refclk给sensor。 ……

我专门建了一个913/914的QQ群SerDes,ID:432840868,欢迎大家讨论。

li shi,你好,我现在开始调试913,914,但是914的lock信号一直低,请问要从哪些地方检查了,完全没头绪了

913,914只要电路连接好之后,无需要配置,913,914之间应该会自动建立连接。如果你的914pclk没有输出,你把bisten接高,试试,看是914是否lock正常,并且输出bist内建的时钟。如果没问题,说明913,914都是工作的。

另外,要注意,除了IDX,MODE是上拉1.8V之外,其余的配置管脚都是上拉到VDDIO。如果这些都对,你可以找个环境接个频率适中,波形完美的晶振给pclk,如果正常工作了,那就去查一查你的sensor输出的pclk信号,是不是波形质量很差。

我不是专职的硬件工程师,更专业的,我也不懂了。

我是来结贴的,网上很多论坛里的帖子,楼主得到答案后,帖子就太监了。后来的人在网上总是搜索到一大堆没有答案的问题贴。

913,914调通后,又出现一个恶心问题,就是有的sensor能通,有的sensor时断时续。lock会跳变,周期在几微秒到几时微秒之间不等,输出pclk也是时有时无。开始认为是sensor输出的pclk摆幅不够,后来很快排出了摆幅的原因。自然就只能怀疑是sensor输出的pclk 波形质量不好,抖动和漂移超出913的要求了。但是手头没有利器可以测试。于是这两天盲目的用各种sensor测试,也盲目的改电压配置,甚至换电源片子,希望能过改善电源质量解决问题,但是中间都没有发现规律性的现象。后来终于观察到,有一款sensor,改pclk频率的过程中,频率越高,unlock越严重,频率低到30M左右,就完全稳定了。这样基本上问题确定在pclk质量上了,于是尝试通过修改sensorpll的参数,来优化pclk的信号质量,减少了抖动和漂移,这样修改后,914输出时断时续问题解决。

从这个测试结果来看,913,914其实挺好用的,对电源和外围不是特别敏感。但是sensor厂家这么多,所以913挑sensor的情况一定会存在,而且会比较明显,如果想要正常工作,sensor也得做一些设置,确保良好的pclk质量。

好了,结贴。

你好,我按照你说的操作,电源、IDX、MODE配置没有问题,目前的状态使,913使用外部时钟模式,外部晶振为48M(GPO3),能输出24M时种(GPO2),感觉913是正常工作了,但是对于914,把Bisten拉低或者拉高,pclk都没有输出,lock信号一直未低状态,而在bisten低时,PASS为高,而在bisten高时,PASS为低,不知道你还有什么建议吗,调了好长时间了,一直连接不上

我专门建了一个913/914的QQ群SerDes,ID:432840868,欢迎大家讨论。 li shi 也在群中。

@li shi,请问下,你的sensor 是如何初始化的,我这边在调试Sony imx322时,怎么初始化imx322 总是失败?

 你好,你是在linux平台开发的吗?哪里可以获得913/914的参考代码

913一直不能I2C访问,报IO Error的错误,不知道是哪个寄存器配置的问题

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top