主题中讨论的其他器件: LMK04821
您好!
ADS54J60转换器是否仅将 LMFC 计数器与初始化后的第一个 SYSREF 事件对齐、或在所有 SYSREF 事件上重新对齐?
感谢您的回答
此致、
Jiri
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
e2e.ti.com/.../6318.Link-Latency-in-JESD204B-devices_5F00_TI.pptxJiri、
您实际上是如何对此进行测试的? 连接是我们在另一个器件上所做的。 您的测试设置是否类似? 您是否尝试增加 RBD 值和/或 K 值? 在任一种情况下、请确保 RBD 始终= K 或小于 K。是否可以发送 ADC 寄存器映射信息?
此致、
Jim
Jim、
我们使用一种简化的方法来实现 Xilinx 强大的可重复延迟(www.xilinx.com/.../67442.html)。
我们有一个测试固件、该固件:
1.初始化 LMK04821时钟电路
2.在该周期内复位 Xilinx JESD204内核、重新初始化 ADS54J60并读取 JESD204寄存器
每次重新初始化后、缓冲器调整寄存器的值都是非常不同的。
例如:
RX_缓冲 器_ADJUST_REG0 0x0000000C
RX_缓冲 器_ADJUST_REG1 0x0000000C
RX_缓冲 器_ADJUST_REG2 0x00000010
RX_缓冲 器_ADJUST_REG3 0x0000000C
RX_缓冲 器_ADJUST_REG4 0x0000000C
RX_缓冲 器_ADJUST_REG5 0x0000000C
RX_缓冲 器_ADJUST_REG6 0x0000000C
RX_缓冲 器_ADJUST_REG7 0x0000000C
在下一次初始化之后:
RX_缓冲 器_ADJUST_REG0 0x00000000
RX_缓冲 器_ADJUST_REG1 0x00000004
RX_缓冲 器_ADJUST_REG2 0x00000000
RX_缓冲 器_ADJUST_REG3 0x00000004
RX_缓冲 器_ADJUST_REG4 0x00000000
RX_缓冲 器_ADJUST_REG5 0x00000000
RX_缓冲 器_ADJUST_REG6 0x00000000
RX_缓冲 器_ADJUST_REG7 0x00000000
我们的 ADC 寄存器:
AdcReg adcreg_init[]=
{
{ 0x0000、0x81 },//重置设备
{0x4001、0x00}、//清除任何不需要的内容
{0x4002、0x00}、
//*********
//主数字页
//*********
{ 0x4003、0x00 }、//页 SEL
{0x4004、0x68}、//页 SEL
{0x60F7、0x01}、// DIG 复位 A
{ 0x604B、0x20 }、//格式 SEL 启用 A
{0x6043、0x01}、//偏移二进制 A
{0x6052、0x00}、// bus_re顺序_EN1禁用
{ 0x6072、0x00 }、// bus_re顺序_EN2禁用
{ 0x6000、0x01 }、//脉冲复位 A
{ 0x6000、0x00 }、//脉冲复位 A
//*********
//主页
//*********
{ 0x0011、0x80 }、//页 SEL
//{0x0054、0x80}、//手动 SYSREF
//{0x0053、0x01}、// SYSREF 脉冲
//{0x0053、0x00}、
//{0x0053、0x01}、// SYSREF 脉冲
{ 0x0059、0x20 }、 //设置始终写入1位
//*********
//JESD 模拟页面
//*********
{ 0x4003、0x00 }、 //页 SEL
{0x4004、0x6A}、 //页 SEL
{ 0x6012、0x02 }, //设置始终写入1位
{0x6016、0x80}、 // JESD PLL 模式20X、每个 ADC 四条通道
{ 0x6017、0x40 }、 // PLL 复位
{ 0x6017、0x00 }、 // PLL 复位清零
//*********
// JESD 数字页面
//*********
{ 0x4003、0x00 }、//页 SEL
{0x4004、0x69}、//页 SEL
#ifndef ADC_TEST_pattern
{0x6000、0x80}、// CTRLK
{0x6001、0x01}、// 20xmode、每个 ADC 四条通道
{0x6002、0x00}、//正常 ADC 数据
其他
{ 0x6000、0x90 }、// CTRLK、测试模式
{0x6001、0x01}、// 20xmode、每个 ADC 四条通道
{0x6002、0x80}、// 12个八位位组 RPAT 抖动模式
#endif
//{0x6007、0x09}、//子类1
{0x6016、0x00}、//通道共享正常运行(每个通道使用一个通道)
{0x6031、0x00}、// DA_BUS_REORDER
{0x6032、0x00}、// DB_BUS_REORDER
//*********
//JESD 模拟页面
//*********
//{0x4003、0x00}、 //页 SEL
//{0x4004、0x6A}、 //页 SEL
//{0x6012、0x02}、 //设置始终写入1位
//{0x6016、0x00}、 // JESD PLL 模式20X、每个 ADC 四条通道
//{0x6017、0x40}、 // PLL 复位
//{0x6017、0x00}、 // PLL 复位清零
//*********
//主数字页
//*********
//{0x4003、0x00}、//页 SEL
//{0x4004、0x68}、//页 SEL
//{0x6052、0x00}、// bus_re顺序_EN1禁用
//{0x6072、0x00}、// bus_re顺序_EN2禁用
//{0x6000、0x01}、//脉冲复位
//{0x6000、0x00}、//脉冲复位
//*********
// JESD 数字页面
//*********
{ 0x4003、0x00 }、//页 SEL
{0x4004、0x69}、//页 SEL
{0x6006、0x1F} // K=32
};
我们尝试使用 ADS54J60数据表(表65)中的初始化序列、但它对我们不起作用。 我们必须在 JESD 数字页面之前配置 JESD 模拟页面和主数字页面。 您有什么想法吗?
谢谢你
此致、
Jiri
Jiri、
您的文件中有几个无效和不必要的写入。 请尝试附加的一个。 您能否详细解释一下上次有关 Xilinx Buffer_Adjust 寄存器的答复中显示的内容? 我猜、这些缓冲器会从各个通道捕获数据。 理想情况下、所有这些上的数据以及 执行系统复位后的数据都应该相同? 您是否在测试图形模式下使用 ADC? 如果是、这与系统复位如何同步? 您必须写入这些寄存 器以启用此测试模式、因此无法保证 Xilinx 器件在每个复位周期将同时捕获数据。
Xilinx 电路板使用的 RBD 值是多少?
此致、
Jim
Jim、
您能解释一下为什么寄存器写入其默认值无效、而不仅仅是不必要的? 为什么您的文件不尊重数据表中的初始化序列(表65)?
有关 Buffer_Adjust 寄存器的所有信息、请参阅文章 JESD204B -实现强大的可重复延迟的简化方法- www.xilinx.com/.../67442.html
我们现在在测试图形模式下使用 ADC。 当然、我们不会在复位后测试其值、因为它未定义。
此致、
Jiri
Jiri、
您可以写入所有寄存器。 我只是删除了您要写入的那些您没有太多的 SPI 开销的数据。 不过、有一个寄存器需要位7-2为"0"、您要向位7写入"1"。 这位于0x6A00地址0x16页。
我在初始化序列中执行所有操作。 它的顺序并不完全相同。 此外、我们的 GUI 使用 特殊的软件命令执行4-001、4-002、4-003和4-004写入、因此我在发送的文档中没有列出这些命令。
您是否让 SYSREF 持续运行?
您的 RBD 值是多少?
您能否从系统获得有效的输出音?
您是否使用12 个八位位组 RPAT 进行此测试?
此致、
Jim
Jim、
我们尝试通过 SYNC REG 位使用 SYNC 请求(用0xC1初始化0x6900页0x6001寄存器、并在一段时间后将其设置为0x41)、它的工作方式与我们预期的一样! 每次初始化后、缓冲器调整寄存器具有相同的值。 但是、当我们为同步请求使用 JESD204 Xilinx 内核同步输出时、每次初始化后、缓冲器调整寄存器的值都不同。
您对此有什么解释吗?
此致、
Jiri