本文转载自:十年老鸟的CSDN博客
注:本文由作者授权转发,如需转载请联系作者本人
一般来说,如果在IPcore配置正确的话,不太需要通过AXI指令来进行参数的修改,不过如果能够支持AXI指令,在射频transceiver芯片配置改变时,则有可能能通过AXI指令直接进行配置,而不需要重新修改IPcore的配置并且要重新编译
下面列出来一些比较常用的寄存器
1、
版本寄存器,主要用于验证AXI总线是否通路
2、
Reset寄存器只要关注第0bit。再任何通过AXI指令更新参数后,最后都要执行以下复位的操作,只要向这个寄存器写1即可,复位完成后自动恢复为0.复位为重新开始建链的流程。
3、
子类1这里必须写1
4、
是否加扰码,看交互双方是否有
5、SYSREF Handling
1、 设定在重新同步的时候,是否还需要SYSREF
2、 设定SYSREF delay,主要是用于补偿各个器件延迟不一致的问题
3、 LMFC计数器是否总在SYSREF来的时候重新校准
目前我们对于JESD的处理时,一旦掉链,则要重新配置芯片,这样比较耗时,可能通过这里的设置可以不用重新配置芯片在偶然掉链的情况下能够快速恢复。
6、
ILA多帧数,这个一般来说就是4。
7、
测试用。例如在调试的时候,如果一开始发射不能建链,那可以一直发K28.5,看看对端给过来的SYNC能不能拉高,排除一些链路问题
8、
这个主要用于检测是否收到了非法字符
调试的时候没怎么用到过,我觉得如果这里有问题,则说明链路的质量很差
9、
每帧多少个字节,这个一般在IP核设置了就行了,根据transceiver芯片的配置而设置
10、
每个多帧是多少个帧,这个一般在IP核设置了就行了,根据transceiver芯片的配置而设置
11、
这里用处不大, IP核直接有SYNC引脚输出
12、
这里在查问题的时候有用,主要看到哪一步出问题的