PYNQ ZU External Analog Input

I am trying to give an external analog input to the PYNQ zu board. I am using the SYSMON IP from Vivado. I do not know to which pin I should give the analog input or in what manner I should give them. In the user manual of PYNQ ZU, it is mentioned as AB7, but cannot find the pin on the board.

Hi @Sai,

it is mentioned as AB7, but cannot find the pin on the board.

If you check the schematics, you’ll find that the 3-pin header is labeled as J14. This is the header between the fan and the SYZYGY Port A.

Mario

If i give the input through that, where do i check the output?

You’ll have to instantiate the XADC IP and configure it to read the analog value

Mario

I did that, I am reading the output from the ‘adc_master_out’ port, but I just keep getting junk values. Even when no input is connected, the values keep changing randomly

system_management_wiz_0 your_instance_name (
.di_in(16’d0), // input wire [15 : 0] di_in
.daddr_in({{3’b000},muxaddr_out}), // input wire [7 : 0] daddr_in
.den_in(eoc_out), // input wire den_in
.dwe_in(1’b0), // input wire dwe_in
.drdy_out(drdy_out), // output wire drdy_out
.do_out(do_out), // output wire [15 : 0] do_out
.dclk_in(dclk_in), // input wire dclk_in
.reset_in(reset_in), // input wire reset_in
.vp(vp), // input wire vp
.vn(vn), // input wire vn
.vauxp14(vauxp14), // input wire vauxp14
.vauxn14(vauxn14), // input wire vauxn14
.user_temp_alarm_out(user_temp_alarm_out), // output wire user_temp_alarm_out
.vccint_alarm_out(vccint_alarm_out), // output wire vccint_alarm_out
.vccpsintlp_alarm_out(vccpsintlp_alarm_out), // output wire vccpsintlp_alarm_out
.vccpsintfp_alarm_out(vccpsintfp_alarm_out), // output wire vccpsintfp_alarm_out
.vccpsaux_alarm_out(vccpsaux_alarm_out), // output wire vccpsaux_alarm_out
.vccaux_alarm_out(vccaux_alarm_out), // output wire vccaux_alarm_out
.ot_out(ot_out), // output wire ot_out
.channel_out(channel_out), // output wire [5 : 0] channel_out
.muxaddr_out(muxaddr_out), // output wire [4 : 0] muxaddr_out
.eoc_out(eoc_out), // output wire eoc_out
.alarm_out(alarm_out), // output wire alarm_out
.eos_out(eos_out), // output wire eos_out
.busy_out(busy_out), // output wire busy_out
.adc_data_master(adc_data_master) // output wire [15 : 0] adc_data_master
);

is this the proper way?

i am reading both do_out and adc_data_master, but still not able to read the converted data of the input

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.