I'm using an Arty A7-35 board with a Pmod AD2 module.
The design includes a a Microblaze running at 83MHz and the Pmod interface.
To build the system (block design in Vivado and Microblaze code in SDK) and I've followed the guidelines in this tutorial and in this example.
The conversion works well but it's very slow (i.e. the maximum rate at which I can read samples in Microblaze is extremely low).
I've added a timer to the design and I noticed the function AD2_ReadConv() takes about to 0.00036 sec to return (an eternity!!!), while the AD7991 on the AD2 has a conversion time of only 1us. In particular I noticed that most of the time is spent into the XIic_Recv().
I suspect that the bottleneck is the I2C (I may be wrong). According to the PmodAD2_axi_iic_0_0.xci file the I2C frequency is 100 kHz (IIC_FREQ and IIC_FREQ_KHZ). I tried to change these value to 400 but I did not notice any speedup. I didn't find any setting in the xilinx iic library (xiic) to change the speed of the I2C.
I'm wondering if is possible (and how) to speed up the I2C frequency or if there's any other way to reduce the Pmod AD2 sample aquisition time.
Question
Stefan0
I'm using an Arty A7-35 board with a Pmod AD2 module.
The design includes a a Microblaze running at 83MHz and the Pmod interface.
To build the system (block design in Vivado and Microblaze code in SDK) and I've followed the guidelines in this tutorial and in this example.
The conversion works well but it's very slow (i.e. the maximum rate at which I can read samples in Microblaze is extremely low).
I've added a timer to the design and I noticed the function AD2_ReadConv() takes about to 0.00036 sec to return (an eternity!!!), while the AD7991 on the AD2 has a conversion time of only 1us. In particular I noticed that most of the time is spent into the XIic_Recv().
I suspect that the bottleneck is the I2C (I may be wrong). According to the PmodAD2_axi_iic_0_0.xci file the I2C frequency is 100 kHz (IIC_FREQ and IIC_FREQ_KHZ). I tried to change these value to 400 but I did not notice any speedup. I didn't find any setting in the xilinx iic library (xiic) to change the speed of the I2C.
I'm wondering if is possible (and how) to speed up the I2C frequency or if there's any other way to reduce the Pmod AD2 sample aquisition time.
Thanks
Stefano
Link to comment
Share on other sites
7 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.