xilinx对输入信号延时
有没有朋友指导一下方法啊!
1.idelay可以调整延时,每个step是几十ps
2.可以使用动态相位调整技术,idelay自动调整
我也尝试着加ideley,但是不知道为什么加上会报错,应该是用idelay模块的原语对输入信号进行延时吧,具体的不太会用!
xilinx 的select io ip核有示例程序
大师,我现在的问题就在使用模块的时候,串行进入的数据的顺序是不定的,可能进入ISERDES的数据是从串行8位数据中的任何一位,而我从采样过来的数据是从d0,d1,d2....d7,这样的数据,数据是有序的。所以我每次使用的时候,锁存都不一定正确,我如何做能使从串行进来的第一个数据就是d0呢?或者能有什么方法使得我数据从不对齐变对齐呢?然而我现在苦恼的就是没有判定对齐的条件。
你传输数据的时候加一个字节帧头,iserdes输出并行的数据,紧接着做一个帧同步,找帧头,去掉,后面应该就是d0。不麻烦。
iodelay 以及 iserdes怎么用,可查user guide,讲得很清楚,我只做过virtex5和7的,没做过spartan的,差别应该不大。
你好,你说的问题是字边界调整的问题。xilinx的select io有字边界调整的功能,就是bitslip信号,该信号有效一次,字边界就调整一次。
首先输入的信号要有同步字才可以,一般来说,串行输入的数据,应该都会有同步字。
嗯,谢谢您,是这样的,可以通过bitslip来调节同步,你说的同步字就是发送一个固定的序列将ISERDES输出做同步,但是我现在的串行数据是从ADC采样过来的,难道需要我的ADC发送一个固定的同步序列来训练同步吗?这样需要设置ADC的输出值,这个需要设置一个固定值比较困难吧!有没有同步检测的方法呢!因为我ADC过来的只有串行数据,位时钟,帧时钟。能否从帧时钟考虑判断需要同步的条件能?因为帧时钟输出和串行数据是对齐的!我现在了解的方法就是ADC发送同步数据,完成同步之后,才能正常采样。
你用的哪一款adc?
HMCAD1511
HMCAD1511 datasheet v03.0711
Figure 5: Dual channel - LVDS timing 8-bit output
从这幅图可以看出 LCLK是采样时钟,FCLK是周期性的波形,1111000011110000
把FCLK也作为解串的一个通道,当FCLK解串后的数据是11110000时,就认为对齐了
大师就是大师!只需一句话就可以道破真谛!
客气,我之前做过类似的。经验而已。
如果是发送串行数据的芯片,芯片本身一定提供了定位边界的方法的,还是要多看芯片手册
问题还在吗?能否贴个波形图看看?
大师,我现在遇到一个问题,因为我的差分输入有8对,画pcb的设计人员为了不走过孔将8对差分线分二组,分别在同一个bank的上下二个halfbank中,而我的帧对齐信号和一个组差分线在同一个halfbank中,这样我的时钟输入的时候我就通过bufio2生成二个时钟给二组selectIO模块,现在就是我同步过程中和帧对齐信号不在同一个halfbank的差分数据有时候就会没有对齐,但是和帧对齐信号在同一个halfbank的差分线就可以同步,不知道是不是我过bufio2的原因呢/
您好
1.spartan6的解串有2种方式,第一种是bufpll,第二种是bufio2.
2.如果是bufio2,则串行数据必须在一个halfbank中,且时钟和数据要在同一个halfbank
3.如果是bufpll,则串行数据必须在一个bank中,时钟可以在任意bank,但是推荐在同一个bank,因为此时走线最近
4.你现在的情况,可以考虑bufpll的解串方法,具体的时钟结构可以参考ug382
刚看到您的回复!谢谢大师!我再去看看!