• 0
ee439spr2015

Zybo board AUDIO CODEC

Question

Hey guys,

 

We are currently two students trying to use the Audio chip(SSM2603) on the Zybo board. Currently we are unsure on how to generate a proper block design(IP) that would allow us to generate a bitstream and take in input from the mic line and send out that audio output. We were also wondering what VHDL code was used for the audio codec package. We have been trying to use the axi_i2s_adi block but are unsure on how to use it due to the lack of documentation. Kindly help us by sharing projects or ideas!

Best Regards! 

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Hi, 

The CODEC is pretty simple as far as CODECs go (see http://www.analog.com/media/en/technical-documentation/data-sheets/SSM2603.pdf)

There are about a dozen registers to set, any you could most likely bit-bash the settings into it  (it would take about 256 bits if you have to change every register). If you have access to a Oscilloscope or LA that decodes I2C this could be pretty easy to achieve:

- build a register map on paper.

- convert the I2C write commands it to a stream of bits you will need to send

- write a bit of VHDL to send those bits out to a PMOD port.

- verify it with your scope or LA

- connect it to the codec pins.

The other option would be to stand up the entire ARM CPU and connect an I2C interface to the codec's control ports, as well as the I2S interface. Depending on your skillset and experience this might be either very easy or hard.

With the correct settings in the register map you should then be able to connect the REC signals to the Playback signals and have sound from the input going to the output (as long as you also turn off the mute pin!)

However, if that doesn't work out and you need a little test module to generate an I2S stream for debugging, you might find this of use: 
http://hamsterworks.co.nz/mediawiki/index.php/Pmodi2s

Share this post


Link to post
Share on other sites
  • 0

So we are trying to take the IP block methodology where we have an axi_i2s_adi  block connected to the zynq processing system. We are unsure how to get the MUTE_0 output HIGH as required by the SSM2603 chip to output the data. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now