尊敬的 TI:
我已经在测试卡上测试了 DS110DF410。 这是12个 DS110DF410、以10.5GHz 的频率传输48通道的 PRBS31数据。 这些通道输出到光收发器的短轨道上、并由目标器件上的 FPGA 接收。
所有 DS110DF410上的所有通道均通过 I2C 从 MCU 器件进行编程、R/W 寄存器可读回以确认值正确。 下面提供了这些寄存器设置。
编程过程是作为一个寄存器转储中止发送到器件上的所有通道。
我已经使用 SigCon Architect GUI 工具确认了 DS110DF410EVM 上的寄存器设置。
我已确定端点器件不是问题、因为连接到重定时器的输出连接器上的通道交换可以使目标器件上的所有通道正常工作、但 DS110DF410测试卡上的一半输出不工作 (连接到重定时器器件的 TX0和 TX1的所有通道)。
每个器件上两个通道的输出进入 TX0和 TX1时锁定到信号、但显示饱和 BER 为1.55E-2。
其他两个通道的输出无错误锁定和运行。
所有12个 DS110DF410器件都是这种情况、并在审阅了原理图和布局之后、P 和 N 是正确的方向、所有通道之间的布线方法非常相似、而且 TX2和 TX3运行良好、配置方式相同 我认为在对器件进行编程时可能会出现问题。
编程到所有通道上所有器件的寄存器如下所示:
ds110df410ProgramListEntry_t ds110df410ProgramTable[]={
{0x00、0x00、0xFF}、
{0x01、0x00、0xFF}、
{0x02、0xD8、0xFF}、//从 DC
{0x03、0xA5、0xFF}、
{0x04、0x00、0xFF}、
{0x05、0x00、0xFF}、
{0x06、0x00、0xFF}、
{0x07、0x00、0xFF}、
{0x08、0x00、0xFF}、
{0x09、0x20、0xFF}、
{0x0A、0x10、0xFF}、
{0x0B、0x0F、0xFF}、
{0x0C、0x00、0xFF}、//从0x08开始
{0x0D、0x20、0xFF}、
{0x0E、0x93、0xFF}、
{0x0F、0x69、0xFF}、
{0x10、0x3A、0xFF}、
{0x11、0x20、0xFF}、
{0x12、0xA0、0xFF}、
{0x13、0x30、0xFF}、
{0x14、0x00、0xFF}、
{0x15、0x10、0xFF}、//为0x10、然后为0x53、
{0x16、0x7A、0xFF}、
{0x17、0x36、0xFF}、
{0x18、0x40、0xFF}、
{0x19、0x23、0xFF}、
{0x1A、0x00、0xFF}、
{0x1B、0x03、0xFF}、
{0x1C、0x24、0xFF}、
{0x1D、0x00、0xFF}、
{0x1E、0x99、0xFF}、
{0x1F、0x55、0xFF}、
{0x20、0x00、0xFF}、
{0x21、0x00、0xFF}、
{0x22、0x00、0xFF}、
{0x23、0x40、0xFF}、
{0x24、0x00、0xFF}、
{0x25、0x00、0xFF}、
{0x26、0x00、0xFF}、
{0x27、0x3C、0xFF}、//之前为0x3E
{0x28、0x93、0xFF}、//之前为0x9C
{0x29、0x40、0xFF}、
{0x2A、0x30、0xFF}、
{0x2B、0x00、0xFF}、
{0x2C、0x72、0xFF}、
{0x2D、0x80、0xFF}、
{0x2E、0x00、0xFF}、
{0x2F、0x06、0xFF}、
{0x30、0x0A、0xFF}、
{0x31、0x20、0xFF}、
{0x32、0x11、0xFF}、
{0x33、0x88、0xFF}、
{0x34、0xBF、0xFF}、
{0x35、0x1F、0xFF}、
{0x36、0x31、0xFF}、
{0x37、0x1f、0xFF}、//之前为0x00
{0x38、0x00、0xFF}、
{0x39、0x00、0xFF}、
{0x3A、0xA5、0xFF}、
{0x3B、0x00、0xFF}、
{0x3C、0x00、0xFF}、
{0x3D、0x00、0xFF}、
{0x3E、0x80、0xFF}、
{0x3F、0x00、0xFF}、
{0x40、0x00、0xFF}、
{0x41、0x01、0xFF}、
{0x42、0x04、0xFF}、
{0x43、0x10、0xFF}、
{0x44、0x40、0xFF}、
{0x45、0x08、0xFF}、
{0x46、0x02、0xFF}、
{0x47、0x80、0xFF}、
{0x48、0x03、0xFF}、
{0x49、0x0C、0xFF}、
{0x4A、0x30、0xFF}、
{0x4B、0x41、0xFF}、
{0x4C、0x50、0xFF}、
{0x4D、0xC0、0xFF}、
{0x4E、0x60、0xFF}、
{0x4F、0x90、0xFF}、
{0x50、0x88、0xFF}、
{0x51、0x82、0xFF}、
{0x52、0xA0、0xFF}、
{0x53、0x46、0xFF}、
{0x54、0x52、0xFF}、
{0x55、0x8C、0xFF}、
{0x56、0xB0、0xFF}、
{0x57、0xC8、0xFF}、
{0x58、0x57、0xFF}、
{0x59、0x5D、0xFF}、
{0x5A、0x69、0xFF}、
{0x5B、0x75、0xFF}、
{0x5C、0xD5、0xFF}、
{0x5D、0x99、0xFF}、
{0x5E、0x96、0xFF}、
{0x5F、0xA5、0xFF}、
{0x60、0x80、0xFF}、
{0x61、0xB4、0xFF}、
{0x62、0x80、0xFF}、
{0x63、0xB4、0xFF}、
{0x64、0xFF、0xFF}、
{0x65、0x00、0xFF}、
{0x66、0x00、0xFF}、
{0x67、0x20、0xFF}、
{0x68、0x00、0xFF}、
{0x69、0x0A、0xFF}、
{0x6A、0x44、0xFF}、
{0x6B、0x00、0xFF}、
{0x6C、0x00、0xFF}、
{0x6D、0x00、0xFF}、
{0x6E、0x00、0xFF}、
{0x6f、0x00、0xFF}、
{0x70、0x03、0xFF}、
{0x71、0x20、0xFF}、
{0x72、0x00、0xFF}、
{0x73、0x00、0xFF}、
{0x74、0x00、0xFF}、
{0x18、0x00、0xFF}、
{0x09、0x24、0xFF}、
{0x1E、0x10、0x10}、/*设置位4 */
{0x30、0x00、0x08}、/*清除位3*/
{0x30、0x08、0x08}、/*设置位3*/
{0x0D、0x20、0x20}、//*设置位5 */
{0x09、0x20、0x20}、/*设置位5 */
{0x1E、0x80、0xE0}、/*将0x04写入位7:5 *
{0xFF、0xFF、0xFF}、
};
我们确认可以写入的所有值都已取回并可以读回。 无论如何、以这种方式对4个通道进行编程是否会导致2个通道工作、2个通道不工作?
谢谢、
Sean Suttie。