AD5372

大家好!

       本人正在使用16bit,32通道的DAC芯片AD5372进行相关开发,使用pic18f4431进行控制。SDI、SCLK、nSYNC、nLDAC等信号均和datasheet中的时序图一致,但是nBUSY信号始终未能出现时序图中指示的负脉冲,因此D/A转换始终未能实现。综上,本人有如下疑问:

       1、nBUSY信号的定义中解释为Digital Input/Open-Drain Output,请问该信号作为输入或者输出是否需要进行配置,如果需要配置应该在何处进行。

       2、该芯片若干寄存器的default值均能满足我的使用要求,是否仍需要进行初始化。

       希望各位使用过该类芯片的大神能够给小弟一些指点,在此先谢过大家!

attachments.zip
  • 0
    •  Analog Employees 
    on Nov 21, 2016 8:26 AM over 4 years ago

    感谢您的咨询。有关AD5372类型的问题请您直接发送到ADI英文技术论坛咨询,谢谢!

    Welcome | EngineerZone

  • 不用的,看你是怎么用了。每次向对应的X1、C或M寄存器写入新数据时,就会 计算X2(A或B)寄存器的值。在X2计算期间,BUSY输出变 为低电平。当BUSY为低电平时,用户可以继续向X1、M 或C寄存器写入新数据(详情参见寄存器更新速率部分),但 DAC输出无法更新。 BUSY引脚为双向引脚,具有50 kΩ内部上拉电阻。当一个系 统使用多个AD5372或AD5373器件时,可以将BUSY引脚连 在一起。这样就能满足以下应用需求:在所有DAC就绪之 前,任何器件的任一DAC都不能更新。每个器件完成X2(A 或B)寄存器更新时,就会释放BUSY引脚。如果有一个器件 没有完成X2寄存器的更新,它将使BUSY保持低电平,从 而推迟LDAC变为低电平的影响。 将LDAC输入拉低,即可更新DAC输出。如果在BUSY有效 时LDAC变为低电平,则将存储LDAC事件,并在BUSY变 为高电平后立即更新DAC输出。用户也可以使LDAC输入 永远保持低电平。这样,一旦BUSY变为高电平,DAC输 出就会更新。只要写入A/B选择寄存器,BUSY也会变为低 电平,并保持大约500 ns。 AD5372/AD5373的寻址非常灵活,允许将数据写入一个通 道、一组中的所有通道、第0组到第3组的同一通道、第1 组到第3组的同一通道或者器件中的所有通道。这意味着 可能需要计算并更新1、4、8或32个DAC寄存器值。由于 32个通道共用一个乘法器,因此该任务必须按顺序执行, 这就导致BUSY脉冲的长度随需更新的通道数不同而异。