Jump to content
  • 0

Pmod MIC3 with Zynq through Zedboard


KiuY

Question

Hello everyone, I’m a newbie on working on zedboard, and I want to use my Zedboard to communicate with Pmod MIC3 this time.
I did a few researches about how to use the Pmod MIC3, and I think I found something useful in another post,
link: https://forum.digilentinc.com/topic/19342-driver-code-for-pmod-acl2-and-pmod-mic3/
I’m really appreciate and thanks for their help, but unfortunately I still have no idea of how to make my Pmod MIC3 to run with my Zedboard.
I know Pmod MIC3 is using SPI communication protocol and I read what SPI is,
link: https://reference.digilentinc.com/learn/fundamentals/communication-protocols/spi/start
But I’m not sure is that Quad SPI is the same as SPI in Zedboard.
About the Pmod MIC3, I know that it used a MEMS Mic and an ADC, but I also don’t know how to implement it, like do I need a code or IP cores to handle these 2 components?

Here is a simply conclusion of my questions:
1. How to use SPI in Zedboard? (Any pin configuration is required?)
2. Do I need a code or something else to handle the ADC and MEMS Mic in Pmod MIC3?
3. Is it possible to make this project work in .vhdl? Or I need something else?
4. How to getting start with?
5. Importance of IP core

I know IP cores is an important thing, but I don’t get a clear idea about it and how it works with Vivado.
Any help and reference suggestions is appreciated! 
Thanks ? !!

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

Hello @KiuY,

A long time ago I created an IP for Pmod MIC3 with the intention to add it on GitHub IP repository, but I got stuck with something else and I didn't test it overall.

I'll give you the IP. The steps you need to follow:

1. Download the https://github.com/Digilent/vivado-library repository somewhere to your PC

2. Download PmodMIC3_v1_0.zip

3. Add the PmodMIC3_v1_0 folder to the vivado-library/ip/Pmods/

4. In Vivado add the IP repository path: Tools->Settings ->IP->Repository

5. In your block design, go to boards tab, select a Pmod header JA, JB and add the PmodMIC3 IP.

The steps are similar to this tutorial https://reference.digilentinc.com/learn/programmable-logic/tutorials/pmod-ips/2018.2 with the difference that you have to add this IP to the rest of the IPs, in the corresponding Pmods folder because this IP uses an interface which is defined in the vivado-library/if

I remember I recorded a sinus wave sound with PmodMIC3, used Tera Term to log the printed values and then in Matlab or Excel I plotted the wave using the results.

The DemoRun function from the main.c file (examples folder) looked something like this:

void DemoRun()
{
    xil_printf("Demo Run... ");

	u16 buff[1000];

	for(int i=0; i<1000;i++)
	{
/*		u16  data =  MIC3_Read(&device);
 */
		buff[i] =  MIC3_Read(&device);

/*		xil_printf("%04X\n\r",data);
*		xil_printf("%d\n\r",MIC3_Read(&device));
*/
		usleep(10);
	}
   for(int j=0; j<1000;j++)
   {
	  xil_printf("\n%d\r",buff[j]);
   }
}

Please tell me how it works after you test it.

 

 

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...