Jump to content
  • 0

PMODAD5 test


Paul Chang

Question

Dear Sir,

I have tested zedboard and PMODAD5. (Refer as https://wiki.analog.com/resources/fpga/xilinx/pmod/ad7193)

But the status of PMODAD5 seems strange.

After download the bit and elf file . The putty show : 

>>> Initial Register Values for AD7193 <<<
Status Register: 0x1
Mode Register: 0xFFFFFF
Config Register: 0x3FD23F
ID Register: 0xA2
GPOCON Register: 0x0
Offset Register: 0x800000
Full scale Register: 0x554320
Press any key to continue...

When I push any key and I need to wait 2.5~4 min.

Is it normal?

 

My setting (IMG_1607.jpg)

I also use the AD2 to generate signal (square wave 1hz,500mv)
But the PMODAD5 seems capture the wrong data. (Please see the PMOD AD5.txt

 

Best Regards,

Paul

 

PMOD AD5.txt

AD2.png

 

 

 

 

 

IMG_1607.jpg

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

Hi @Paul Chang,

My understanding is that pre-generated bitstreams only work for a specific board. You would need to contact Analog devices about what board this project was made to work with.  What version of Vivado are you using? We also have an IP Core for the PmodAD5 here that works with the Microblaze and the ZYNQ processor. I would look at the Getting Started with the Vivado IP Integrator tutorial if you were wanting to use Digilent's IP Core for the PmodAD5. Did you install the board files here ? Are you using the board files made by Digilent or Avnet?

thank you,

Jon

Link to comment
Share on other sites

Hi Jon,

We also test the AD5 Arduino example project :

https://reference.digilentinc.com/reference/pmod/pmodad5/start#example_projects

https://www.hackster.io/56488/using-the-pmod-ad5-with-arduino-uno-b3527d

 

AD7193 library :

https://github.com/annem/AD7193/tree/master/examples

It can work,but ADC value is always zero .

We also change the board and it is same situation.

pmod_aduno.thumb.png.a7be3c232f752ae5256bb590f675aac3.png

AVDD & DVDD are 3.2v,input signal is 1V amplitude 。

 

Best Regards

Paul

Link to comment
Share on other sites

Hi @Paul Chang,

Here is a working project in Vivado 2018.2.1 for the Zedboard and the Pmod AD5. The project uses the Pmod AD5's IP Core from here. I added a 50 Mhz clock in the zynq processor to connect to the EXT_SPI_CLK. The  Getting Started with the Vivado IP Integrator tutorial should help if you were wanting to create your own project. Below are screen shots of the block design and parts of the setup, tera term with waveforms showing the voltage that is being applied to A1. There are pictures of the Zedboard and Pmod AD5 setup as well.

cheers,

Jon

zedboard_PmodAD5_2.jpg

zedboard_PmodAD5_3.jpg

zedboard_PmodAD5_1.jpg

zedboard_PmodAD5_4.jpg

zedboard_PmodAD5_5.jpg

zedboard_PmodAD5_6.jpg

zedboard_PmodAD5_7.jpg

PmodAD5_setup.jpg

Zedboard_AD5_setup.jpg

Link to comment
Share on other sites

Hello,

I am also using the PMOD AD5 to get the values of two sensor one is voltage and another is temperature , but the problem is i wanted to get the value of the  only voltage first then only temperature, what i did is i just added a function of the temperature to it with the same voltage code that is given in the example of the AD5 driver, i change the configuration register values to 

byte[1]=0x04

byte[2]=0x03

byte[3]=0x18

so that i can have the enable the  2 single channels and the value be in uni polar by doing this i am getting the values

voltage is: 2.5v (which what i set in the POT)

temperature is : 99.99 (which id taking the data of channel one  and giving me the value)

in next cycle

voltage is taking the value from the channel 2 and giving me the value , here the temperature what i am getting is almost correct 

so when i tried to access to change the set slave value to 2 in the file Pmodad5.c  i was not getting the values in the correct manner .

So can u please provide me with the code that will help me getting the values from the two different channel one after the other 

Thanks & Regards

     Akshay

Link to comment
Share on other sites

Hi @Akshay Bhat,

It looks the register bit that controls the temperature sensor is set to false so that the temperature sensor is not enabled, so you would need to enable bit 16 in the configuration register, so I'm not sure how you got an "almost correct temperature" value.

What do you mean by "access to change the set slave value to 2 in the file Pmodad5.c"?

Could you attach the project and code you are using so that we can better understand what you are trying to do?

Thanks,
JColvin

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...