Hi, I have two devices connected on the I2Cbus: OLED and DAC and have tested with the I2handler to scan and detect devices on:
0x3c - OLED
0x6c - DAC
I would like to:
a) Write display data to OLED - 0x3c
b) Send waves out to the MPC4728 DAC - 0x60
I have found out the the display handler in libDaisy references 0x3c so this just works, have yet to test.
The 4728 DAC does need to use the I2C handler and am following the 4728 DAC example and would like to apadt this to send out waveforms to 4 audio output channels of the DAC.
Hi,
this will not be possible because of timing. I2C works for example at a bitrate of 400kHz, which is low for audio, and the OLED driver will block the I2C bus until it has sent a entire screen buffer.
So you need independent busses and it will have to be faster than I2C.
The audio DACs use I2S bus and DMA transfer, so they can work fully in parallel to OLED.
I was told - You can use the display and the quad DAC, on a single I2C bus, without if the OLED and the quad DAC have different I2C addresses. I’m getting conflicting information.
What do you suggest is the best approach for setting up a OLED and DAC. I want to design a 4 voice digital oscillator and have have 4 separate outs for the waverforms.
So 4 output channels is the goal?
As far as I understand, there should be a possibility to attach a second Pcm3060 chip over I2S bus, see datasheet of Daisy? That would give 4 channels in total.
It might also be possible to use the 2 onboard Dac pins, if you learn how to write code for timer interrupt or dma…