我们这个板子需要的时钟比较多,采用的是CDCL6010时钟转发芯片,采用的是IIC总线进行配置,在对时钟使能上电后,以及CDCL6010上电后,通过S3进行配置,开始没有反应,总线没有应答,很诡异,开始他们都以为我硬件设计有问题,或者芯片坏了,我觉得没问题,FPGA是好使的,IIC总线就两根线怎么可能会错,还有CDCL6010芯片可能有问题,但是我查看PCB也是可以的,找的一搏做的PCB和焊接,我觉得应该也没有问题,他们各自查,各种试,我始终是觉得可能是软件的问题,昨天重新找了我之前写的IIC的代码试了下,能读回来数据,CDCL6010寄存器的数据能读到,我就更确定是软件的问题了,他们说我软件可能不稳定,有些问题,就又各种读里面的寄存器,还进行配置,发现CDCL6010的lock信息没锁住,说我的不行,我觉得还是软件问题,因为这是我加进去的,里面有好多上电顺序的,还有就是1.8V的电给CDCL6010就给几十毫秒就给断了,我就上电就开始采集lock信号,配置完后,采到了,点灯亮了,又说我这样采不对,让改程序 试,反正试了好多次,他们觉得可能不稳定,怕一会好使一会不好使,我是觉得这东西肯定是可以重现,还采集SCL SDA的各种信号。昨天采到的信号确实不太好,后来师兄把他的IIC的程序又修改了一天,调好了,确定他下进去能读,能lock,才说我的好使,芯片没问题,
反正最后是好了,结果不错,在硬件调试时,我觉得首先要检查软件的正确性,确保软件是正确的,尤其是各种逻辑,有可能软件就是对的,只是你里面的逻辑有冲突,或者逻辑不对,造成的结果不对,当然这里面也有我的问题,SCL加上拉1K电阻后,我根据CDCL6010手册又加了一个0.1uf的下拉电容,确实这个电容有点大了,有点影响,也确实我对这个电容没有理解好,不加也可以,但是加个小点的会更好的。可能加的大了点,采的波形不太好,总结 经验继续征战。
这个板的调试电和时钟基本都调好了,各种曲折,呵呵,不过感觉走了好多弯路。。还有我的SIFT要实现,各种没时间啊。不扯了就。
对了再说一句,再按逻辑写的时候一定要按芯片要求的时序, 地址 命令 数据去往里写。。。切记。。