AD5761驱动问题
大家好!我遇到AD5761的驱动问题,首先将工程分为发送数据模块,AD5761时序控制模块。数据发送模块在SYNC变为高电平才发送指令或者数据always@(posedge clk)
begin
temp1 <= sync ;
temp2 <= temp1 ;
end
always@(posedge clk)
newcome <= (~temp1)&temp2 ;
检测newcome上升沿,用newcome做触发,一旦newcome变为高电平,则发送数据
寄存器数据按下面规则发送:
1.写软件完全复位命令,
2写控制寄存器命令,配置输出范围,内部基准源等
3写入和更新DAC寄存器命令(后面跟十六位数据)。
always @( posedge newcome )
begin
case(began)
3'd0:
begin
began <= 3'd1 ;
dout <=12'b0000_1111_0000_0000_0000_0000 ;//软件完全复位命令
end
3'd1:
begin
began <= 3'd2 ;
dout <= 24'b0000_0100_0000_0010_0000_1000 ;//写入控制寄存器命令
end
3'd2:
begin
began <= 3'd3 ;
dout <= 24'b0000_0100_1100_0010_0000_1000 ;//写入和更新DAC寄存器命令,后面接16位数据
end
endcase
end
4测试输出引脚电压,但是电压还是无法从Vout脚测到。而且无论我发什么数据都能实时在SD0脚检测到,但是我没有选择回读。发送的数据是按一帧一帧从SDI口子输入,同时sclk,SYNC,SDI,LDAC,都严格按照时序图写得,不知道我的问题出在哪里?
这是我在quartus上自带的SignalTAP上运行时序图:
https://ezchina.analog.com/servlet/JiveServlet/showImage/2-55363-21945/pastedImage_1.png <p>我也遇到了同样的问题,你的这个问题解决了吗?<br />
</p>
页:
[1]