Louis-GUENEGO / NEXYS4ddr_microphone

An audio project with the NEXYS 4 ddr

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

# NEXYS4ddr_microphone
# GUENEGO Louis
# ENSEIRB-MATMECA, Electronique 2A, 2020

cons/ => constraints files
src/  => source files
tb/   => test benches
wcfg/ => waveform configuration file

This projet is about acquiring audio with the onboard microphne of 
the NEXYS 4 ddr. The language is VHDL.

there is a top entity (TOP_ENTITY.vhd) where everything is connected 
together. There is also a frequency generator (gest_frec.vhd).

Then there is a acquire section (acq_mic) with fir1.vhd and fir2.vhd, which 
decimate the 2.5Mhz PDM signal from the microphne at 39062.5Hz 
(100MHz /40 /64), with an intermediary of 312 500kHz (2.5MHz /8) 
between fir1 and fir2. Fir1 and 2 are lowpass filter that remove the 
high frequency noise of the PDM audio.

Between acq_mic.vhd and mod_out.vhd there is some audio effect filters.

Then there is mod_out, which consist of intfir1.vhd and intfir2 which
are oversampling the audio, in order to regenerate a PDM signal with 
a second order PDM modulator (dsmod2.vhd) to play the audio on the 
onboard audio amplifier of the NEXYS4.

So:

Micro -> acq_mic -> (some effects) -> mod_out -> Phone connector
                          ^
                          |
                          Here: 18bits @39062.5Hz audio sample


To compile the projet with Vivado, the files under src have to be imported
as sources, and the constraint file under cons/ as a constraint.
Then you should generate the bitstream, program your NEXYS4 ddr and you
should hear what the microphone gets.

The project was made with Vivado 2020.2

About

An audio project with the NEXYS 4 ddr

License:MIT License


Languages

Language:VHDL 100.0%