您好,我是用FPGA与TLK313进行通信,发现只要复位结束,HSTL的接收端就一直在接收数据(发送端并没有发送任何数据),而且serdes的发送端与接收端也没有短接。之后,我将TLK3131的所有寄存器均在上电后读取了一遍(此时并没有任何配置,完全是默认状态)。发现以下几个寄存器的值与默认状态不符,不知是不是这个原因。
寄存器地址 手册中默认值 读取值
0x12 0x0000 0x4000
0x13 0x0000 0x8000
0x14 0x0000 0xC000
0X1C 0x0000 0x9000
0x1D 0xFFFD 0x0000
0x9013 0x0000 0x0004/0x0000
0x9014 0x0000 0x0004/0x0000
0x9200 0x0000 0x6300
0x9204 0x0000 0x1163
0x9205 0x0000 0xBB68
0x9206 0x0000 0x1102
0x9207 0x0000 0x100F
0x9208 0x0000 0x0100
硬件配置引脚配置如下:
serdes_sloop = 0; serdes_ploop = 0;
serdes_speed0 = 1; serdes_speed1 = 1;
serdes_code = 0; serdes_prbsen = 0; serdes_prtad = 5'b00000;
原理图添加在附件中,麻烦看一下是不是寄存器默认状态有问题导致的。