Skip to content

Louis-GUENEGO/NEXYS4ddr_microphone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# 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