Reply
Regular Visitor
Posts: 8
Registered: ‎02-24-2013
Accepted Solution

Interface with PMODAD2

Hi, all

 

I wonder if anyone had success with the Digilent PMODAD2 ? The pmodAD2 has a ADI AD7991 ADC with a I2C interface. However the demo provided by Digilent can not work with Lx9Micro board. Any Suggestions ? 

 

BTW : can I config the I2C using the diagram in the attachments ? 

 

Liu.

Avnet Employee (Star Contributor)
Posts: 180
Registered: ‎02-18-2010

Re: Interface with PMODAD2

This Pmod should have no problems interfacing to the MicroBoard.    I'm not aware of anyone porting the Nexys 3 design to MicroBlaze but it should be pretty straight forward.    I would open their design, which likely uses MicroBlaze, and see what peripherals are utilized.   Make a MicroBoard version of the same thing.   Then just import their SW project into SDK, that should be all you have to do.

Regular Visitor
Posts: 8
Registered: ‎02-24-2013

Re: Interface with PMODAD2

[ Edited ]

I unzipped the Nesys 3 demo file, convert the UCF to match the Microboard. However the Chipscope did not see any samples (with GND and VCC as input respectively). I tried to understant the TWICtl.vhd but it was too complicated. 

 

----

BTW: I am using the Lx9micro board as a data sample, compress and transmission prototyping board. The compression core had been implemented and tested using chipscope. I made it publicity available at https://bitbucket.org/liubenyuan/pycs

The detailed information can be seen in the readme file in the project.

 

However, as I am not a pro in the VHDL coding and implementation on FPGA, I want to share with the community and see if anyone can improve it, 

 

1. The code had been tested in the Lx9micro board. The implementation takes no more than 6% slice resources. you may use the code in your applications and share the results with us. If it happened to be usefull, please let me know. 

2. The code can and extended, for example, add an efficient sorting module to the DWT based compression method is benificial. And the optimization with respect to Spartan6 LX9, or any other device is also great.

3. The documentation addresses the implementation of these two module is attached in this post. I am keen to hear your advice, if there is any mis-definition, unclear point or some pitfalls, feel free to post it in this thread. It is part of my papers and I tried to make it as clear as possible, so I need your professional advices. Thanks in advance.

 

Liu Benyuan

 

Avnet Employee (Star Contributor)
Posts: 180
Registered: ‎02-18-2010

Re: Interface with PMODAD2

Simply changing the UCF may not be enough..  The Nexys 3 has a LX16 device, the Microboard has a LX9.  So you'll need to make sure their design fits.  You noted it takes 6%, thats too low..  I suspect things are getting optimized out of your design.  I would read through synthesis logs.

Regular Visitor
Posts: 8
Registered: ‎02-24-2013

Re: Interface with PMODAD2

yes! However I do not count on the BRAMs it utilized. 

Highlighted
Regular Visitor
Posts: 8
Registered: ‎02-24-2013

Re: Interface with PMODAD2

Dear all,

 

I have debugged the AD7991 module (the digilent PmodAD2 has a AD7991 4c ADC on it). And the design had been verified using Chipscope. Now Available at,

https://bitbucket.org/liubenyuan/pycs

see the core_pcg folder with

pmodAD2.vhd

sclkdiv.vhd

sdio_ad7991_8to1.vhd

sdio_ad7991_1to8.vhd

I implemented a BIG state machine (but with usefull comment), so it is very easy to read the code and modify it according to your own. Hope it would be helpfull to the one who want to equip ADC capability to Lx9micro.

 

Liu