AMC131M02: AMC131M02:写寄存器怎么操作

Part Number: AMC131M02


image.png发送写命令然后发送写入的值这样对吗?
应该是24'h000100?
写入之后再读还是0,我是想启动DCDC_EN

  • 您好,
    已经收到了您的案例,调查需要些时间,感谢您的耐心等待。

  • 您好,

          写寄存器命令: " 8.5.3.8 WREG (011a aaaa annn nnnn)" ,时序图 Figure 8-27. Writing Registers。

          DCDC_CTRL地址:  "8.6.17 DCDC_CTRL Register (Address = 31h)" ,即a aaaa a = 110001b

         只写一个寄存器:nnn nnnn  : 000 0000b

         DCDC_EN=1, 设置值(1st register's data) ):0000 0000 0000 0001b

         写成功后,response :010 110001 000 0001b

  • 'd0:InitData <= {3'b011, 6‘h31’, 7'd0, 8'h00};所以我这个没问题啊。
    发送完这24个字紧跟着发'd1:InitData <= 24‘h000100’;因为是MSB,手册说他会自己截除后8位,所以这是没问题的吧?为什么写进去再读还是没反应呢

  • 我现在RESET引脚接到了DVDD,现在读status寄存器,现在复位的位是1,要刚上电就给MODE 的复位寄存器写0吗? 这个很重要

  • 您好,

          如果您使用的word是默认的24位,若寄存器地址或是寄存器数值是16位的,那么就将LSB补足8位0,以凑够24位。

          比如 DCDC_EN=1, 设置值(1st register's data) ):0000 0000 0000 0001b; 实际发送0000 0000 0000 0001 0000 0000b

           response的值也是同样原理。      

    我现在RESET引脚接到了DVDD,现在读status寄存器,现在复位的位是1,要刚上电就给MODE 的复位寄存器写0吗?

          不用。请参考数据手册“8.4.2 Start-Up Behavior After Power-Up”

          建议参考此芯片的驱动,Energy Metrology Guide中的ADS/AMC Module 

  • 所以现在要怎么写,我是发送完写命令然后发送24'h000100;但是读这个dcdc_ctrl寄存器还是24‘h000000