TI论坛
直播中

梅利号

8年用户 1500经验值
擅长:可编程逻辑
私信 关注
[问答]

DAC38J82无数据输出,卡在CGS阶段怎么解决?

用的LMK04828给DAC和FPGA时钟
DAC配置LMF=421,K=20,子类1,用的link0
DAC38J82,无数据输出,卡在CGS阶段,确认FPGA一致在循环发k码,但是DAC的sync在发出同步请求后一直为低电平没有拉高,NCO验证有输出。
FPGA 368.64M
DAC 368.64M
SYSREF 18.432M
配置如下:
DAC38J82
0x00,0x0,
0x00,0x1,
0x00, 0x0218,
0x01, 0x0003,
0x02, 0x2082,
0x03, 0xA300,
0x04, 0xF0F0,
0x05, 0xFF07,
0x06, 0xFFFF,
0x07, 0x3100,
0x08, 0x0000,
0x09, 0x0000,
0x0A, 0x0000,
0x0B, 0x0000,
0x0C, 0x0400,
0x0D, 0x0400,
0x0E, 0x0400,
0x0F, 0x0400,
0x10, 0x0000,
0x11, 0x0000,
0x12, 0x0000,
0x13, 0x0000,
0x14, 0x0000,
0x15, 0x0000,
0x16, 0x0000,
0x17, 0x0000,
0x18, 0x0000,
0x19, 0x0000,
0x1A, 0x0023,
0x1B, 0x0000,
0x1E, 0x9999,
0x1F, 0x9980,
0x20, 0x8008,
0x22, 0x1B1B,
0x23, 0x01FF,
0x24, 0x0020,
0x25, 0x4000,
0x26, 0x0000,
0x2D, 0x0001,
0x2E, 0xFFFF,
0x2F, 0x0004,
0x30, 0x0000,
0x31, 0x1000,
0x32, 0x0000,
0x33, 0x0000,
0x34, 0x0000,
0x3B, 0x1800,
0x3C, 0x0228,
0x3D, 0x0088,
0x3E, 0x0108,
0x3F, 0x0000,
0x46, 0x1882,
0x47, 0x01C8,
0x48, 0x3143,
0x49, 0x0000,
0x4A, 0x0F3E,
0x4B, 0x1201,
0x4C, 0x1303,
0x4D, 0x0300,
0x4E, 0x0F0F,
0x4F, 0x1C61,
0x50, 0x0000,
0x51, 0x00DC,
0x52, 0x00FF,
0x53, 0x0000,
0x54, 0x00FC,
0x55, 0x00FF,
0x56, 0x0000,
0x57, 0x00FF,
0x58, 0x00FF,
0x59, 0x0000,
0x5A, 0x00FF,
0x5B, 0x00FF,
0x5C, 0x1133,
0x5E, 0x0000,
0x5F, 0x3210,
0x60, 0x5764,
0x61, 0x0211,
0x64, 0x0001,
0x65, 0x0001,
0x66, 0x0001,
0x67, 0x0001,
0x68, 0x7709,
0x69, 0x0000,
0x6A, 0x0000,
0x6B, 0xBD07,
0x6C, 0x0007,
0x6D, 0x0090,
0x6E, 0x0000,
0x6F, 0x0000,
0x70, 0x0000,
0x71, 0x0000,
0x72, 0x0000,
0x73, 0x0000,
0x74, 0x0000,
0x75, 0x0000,
0x76, 0x0000,
0x77, 0x0000,
0x78, 0x0000,
0x79, 0x0000,
0x7A, 0x0000,
0x7B, 0x0000,
0x7C, 0x0000,
0x7D, 0x0000,
0x3b,0x0000,
0x25,0x2000,
0x3c,0x228,
0x3c,0x228,
0x3e,0x128,
0x4c,0x1303,
0x4d,0x100,
0x4b,0x1200,
0x4d,0x100,
0x4e,0xf4f,
0x0,0x18,
0x4A,0x0F3e,//reset dac 204B IP core
0x4A,0x0F3e,
0x4A,0x0F3f,
0x4a,0x0f21,
0x02,0x2080,
0x2f,0x0,
LMK04828
0x0000, 0x90,
0x0000, 0x00,
0x0002, 0x00,
0x0003, 0x06,
0x0004, 0xD0,
0x0005, 0x5B,
0x0006, 0x00,
0x000C, 0x51,
0x000D, 0x04,
0x0100, 0x14,
0x0101, 0x55,
0x0102, 0x55,
0x0103, 0x04,
0x0104, 0x20,
0x0105, 0x00,
0x0106, 0xF8,
0x0107, 0x10,
0x0108, 0x08,
0x0109, 0x55,
0x010A, 0x55,
0x010B, 0x00,
0x010C, 0x20,
0x010D, 0x00,
0x010E, 0xF0,
0x010F, 0x11,
0x0110, 0x02,
0x0111, 0x55,
0x0112, 0x55,
0x0113, 0x00,
0x0114, 0x22,
0x0115, 0x00,
0x0116, 0xF9,
0x0117, 0x11,
0x0118, 0x08,
0x0119, 0x11,
0x011A, 0x55,
0x011B, 0x00,
0x011C, 0x20,
0x011D, 0x00,
0x011E, 0xF0,
0x011F, 0xFE,
0x0120, 0x00,
0x0121, 0x55,
0x0122, 0x55,
0x0123, 0x00,
0x0124, 0x22,
0x0125, 0x00,
0x0126, 0xF9,
0x0127, 0x01,
0x0128, 0x00,
0x0129, 0x55,
0x012A, 0x55,
0x012B, 0x00,
0x012C, 0x02,
0x012D, 0x00,
0x012E, 0xF1,
0x012F, 0x09,
0x0130, 0x06,
0x0131, 0x55,
0x0132, 0x55,
0x0133, 0x00,
0x0134, 0x02,
0x0135, 0x00,
0x0136, 0xF9,
0x0137, 0x33,
0x0138, 0x21,
0x0139, 0x02,
0x013A, 0x00,
0x013B, 0xA0,
0x013C, 0x00,
0x013D, 0x06,
0x013E, 0x03,
0x013F, 0x06,
0x0140, 0x82,
0x0141, 0x00,
0x0142, 0x00,
0x0143, 0x12,
0x0144, 0xFF,
0x0145, 0x7F,
0x0146, 0x18,
0x0147, 0x5F,
0x0148, 0x02,
0x0149, 0x42,
0x014A, 0x02,
0x014B, 0x16,
0x014C, 0x00,
0x014D, 0x00,
0x014E, 0xC0,
0x014F, 0x7F,
0x0150, 0x03,
0x0151, 0x02,
0x0152, 0x00,
0x0153, 0x00,
0x0154, 0x78,
0x0155, 0x00,
0x0156, 0x78,
0x0157, 0x00,
0x0158, 0x96,
0x0159, 0x00,
0x015A, 0x62,
0x015B, 0xD4,
0x015C, 0x20,
0x015D, 0x00,
0x015E, 0x00,
0x015F, 0x0B,
0x0160, 0x00,
0x0161, 0x01,
0x0162, 0x44,
0x0163, 0x00,
0x0164, 0x00,
0x0165, 0x0C,
0x0171, 0xAA,
0x0172, 0x02,
0x017C, 0x15,
0x017D, 0x33,
0x0166, 0x00,
0x0167, 0x00,
0x0168, 0x0C,
0x0169, 0x59,
0x016A, 0x20,
0x016B, 0x00,
0x016C, 0x00,
0x016D, 0x00,
0x016E, 0x13,
0x0173, 0x00,
0x0182, 0x00,
0x0183, 0x00,
0x0184, 0x00,
0x0185, 0x00,
0x0188, 0x00,
0x0189, 0x00,
0x018A, 0x00,
0x018B, 0x00,
0x1FFD, 0x00,
0x1FFE, 0x00,
0x1FFF, 0x53,

回帖(2)

李舒桀

2024-11-19 11:01:34
FPGA 使用的serdes rate是多少? 将0x00写入地址0x6C 将其清零,然后读取。 请验证serdes PLL 是否已锁定。 如果未锁定,可能是FPGA 使用的时钟频率有问题,或者未使用正确的通道。
举报

caosurround

2024-11-19 18:04:57
DAC38J82无数据输出,卡在CGS阶段的问题可能由多种原因引起。以下是一些可能的解决方案和检查步骤:

1. **检查硬件连接**:
   - 确保DAC38J82与FPGA之间的连接正确无误,包括数据线、时钟线和控制线。
   - 检查电源是否稳定,确保DAC38J82和FPGA都得到了正确的供电。

2. **检查时钟配置**:
   - 确认FPGA和DAC的时钟频率是否匹配。你提到FPGA和DAC的时钟频率都是368.64MHz,这是一个好的开始。但是,还需要确认时钟信号是否稳定,没有抖动或失真。

3. **检查DAC配置**:
   - 确认DAC的配置寄存器设置是否正确。你提供的配置看起来是针对特定应用的,确保这些设置与你的硬件和需求相匹配。
   - 检查配置寄存器中的同步模式设置,确保同步信号(SYNC)的配置正确。

4. **检查FPGA代码**:
   - 确认FPGA代码中是否有错误,特别是在发送K码和处理同步信号的部分。
   - 使用FPGA的调试工具(如ILA或VIO)来监控信号,确保K码正确发送,并且同步信号(SYNC)在发出同步请求后能够正确地拉高。

5. **检查NCO输出**:
   - 你提到NCO验证有输出,这是好的。但是,需要确保NCO的输出与DAC的输入要求相匹配,包括数据格式和时序。

6. **检查DAC38J82的数据手册**:
   - 仔细阅读DAC38J82的数据手册,确认所有的配置参数和操作步骤都符合要求。

7. **软件模拟**:
   - 如果可能,使用软件模拟来验证FPGA代码和DAC配置的正确性。

8. **逐步调试**:
   - 逐步调试FPGA代码,从发送K码开始,逐步检查每个步骤,直到找到问题所在。

9. **考虑硬件故障**:
   - 如果以上步骤都无法解决问题,考虑DAC38J82或FPGA可能存在硬件故障,可能需要更换部件进行测试。

通过以上步骤,你应该能够逐步缩小问题范围,并找到导致DAC38J82无数据输出的原因。希望这些建议能帮助你解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分