我使用 ADC3660以25MSPS 的速率对一些数据进行采样。 我正在尝试让命令/时钟接口与 FPGA 一起运行、我可以可靠地写入/读取 ADC 中的寄存器。 我尝试使用以下设置。
- 采样率:25MSPS
- 输出模式:2线抽取旁路、16位分辨率
- 采样时钟:差分
- 电压基准:外部1.6V
我 正在 FPGA 中的软内核处理器上运行以下函数。WRITE_a2d_SPI (destination、value)将其"value"写入 ADC 中的"destination"寄存器。 我已经确认可以读回我写的值、因此我相信我会正确地命令它。
u32 configure_ti_a2d (void)
{
//请参阅 TI 3660数据表第8.3.5.4.1节(配置示例)
WRITE_a2d_SPI (0x7、0x4b);// 16位、2线
WRITE_a2d_SPI (0x13、0x01);//加载 efuse 步骤1.
usleep (1000);//等待1ms
WRITE_a2d_SPI (0x13、0x00);//加载 efuse 步骤2.
WRITE_a2d_SPI (0x0A、0x7F);//配置 CMOS 输出缓冲区步骤1
WRITE_a2d_SPI (0x0B、0xEE);//配置 CMOS 输出缓冲区步骤2
WRITE_a2d_SPI (0x0C、0xFC);//配置 CMOS 输出缓冲区步骤3
WRITE_a2d_SPI (0x18、0x10);//启用 DCLKIN
WRITE_a2d_SPI (0x1B、0x08);//选择16位分辨率
WRITE_a2d_SPI (0x1F、0x50);//启用 DCLKIN 和 DCLK 输出缓冲器
返回0;
}
我尚未实施任何逻辑来解码来自 DA5/6和 DB5/6通道的数据、但我在这些通道上看到数据、并使用我的逻辑分析仪(均为100MHz)查看我对 DCLK 和 DCLKIN 的预期结果。 但是、FCLK 似乎在比预期长半个时钟的时间内处于高电平。 我在示波器上验证了这一点、该示波器测量的 FCLK 占空比为~62%。
从理论上讲、只要一个新字在 FCLK 的上升沿开始、我就可以对 DCLK 进行计数、并使用它来跟踪开始和每个数据字、 但是、我想知道我是否在 ADC 配置中做了一些错误来更改 FCLK 的占空比。 我正在尝试使用逻辑分析仪读回一个恒定的测试模式、我只能在每个 FCLK 周期的前16位看到测试模式、 接下来的16位看起来完全不同、这让我相信有些设置不正确。
我可以发送命令或设置来将 FCLK 占空比更改为50%吗? 这是否是其他问题的迹象?