Could this be used for additional audio I/O?


#1

while doing some other research, i came across this device, which supports a host of digital formats, namely I2S: https://www.minidsp.com/products/usb-audio-interface/mchstreamer

being no expert in this field, i started wondering, if this could be used (maybe via I2C) to add additional in/outs to the axoloti.

i´d be interested to hear some more knowledgable peoples opinions.

thanks hans


#2

looks very interesting, i briefly checked it and it seems like most of the other minidsp boards also can be accessed via i2c i/o.
https://www.minidsp.com/products/minidspkits/2-x-in-4-x-out

how do we get there from the axo? can i just take an s-rate frac (audio) stream and send it to the serial pin? What about bandwith/baud rate. I keep reading 100kit/s for standard mode, 400kbit/s as the fast mode, which would barely be enough for 8bit/48khz mono. can i somehow write s-rate signals to i2c in its fast mode plus or hihgh speed mode (up to 5mbit/s)?


#3

What kind of I/O are you hoping to add? Audio? Knobs/switches/displays? More DSP?

@weasel79 Are you confusing I2C with I2S? Very different things.

Another thought - while some hardware is easily supported by writing objects, patches, etc., in some case it just makes sense to implement hardware support in the firmware.


#4

no i am referring to i2c https://www.nxp.com/docs/en/user-guide/UM10204.pdf where did you get i2s from?

i agree it would be more efficient probably on the firmware level bbut that leaves the developement to the very few more advanced axo developers. so i'd be very happy if someone could look into a script/patch solution on the GUI-level.

@hwk clearly stated he wants more AUDIO i/o in the thread title, i was talking about the same.


#5

Yes, I missed audio in the title.

But I was wondering why you brought up the I2C clock rates. For additional audio ins and outs, I2S is more relevant.


#6

well all these minidsp board describe ready made communication via i2c, and obviously our little walking fish does too. not sure if/how i2s is implemented in either those or axoloti?

edit. oops my bad the boards actually do i2s haha nevermind all this


#7

unfortunately, i believe you are wrong, @weasel79.
at least in the part of the datasheets of mini dsp i see, its always I2S.
that was wishful misreading on my side, i apologize.

ah, you were faster...


#8

it was too good to be true if minidsp was compatible people would have known by now...


#9

@hwk : Axoloti has 2 channels of audio input and output. Do you feel a need for additional audio channels?


#10

don´t get me wrong, i love my (4) axolotis. but coming from a nord g2 background and also doing soundinstallations, i sometimes could make use of more I/O.
here : https://youtu.be/AdWX6HmDZgk?t=340
i used 3 axolotis to filter and control a feedback in 3 small rooms, where the doors opened and closed with some arduino controled motor and moved the microphones up and down.

so i keep on dreaming and researching....:slight_smile:


#11

@tele_player what got me over excited about this was the hope to get easy s/pdif i/o to chain several axo's w/o extra D/A/D conversion.
i agree though a device like the axo won't need more analog audio outputs for most use cases. if you want to build a mixer, audio interface or other I/O hungry things there's probably more suitable MCU platforms.


#12

The codec on the Axoloti board is hooked up to the SAI (serial audio interface) of the '427. AFAIR there is a SPI bus brought out on the pins that could be run in I2S mode to some other audio I/O board. There's also the assumption that you can handle two concurrent streams of audio DMA at what ever rate you are after. So- you could probably do it. Also: I2C is not a bus built for audio data.


#13

Thanks for the info, i'll try read up on it! But probably without my reach...


#14

what about this method, i2s via SPI:


could this work on the F407? i will read up on this more tomorrow and possibly edit this post if i learn anything myself.

and here is another idea for external SPI to i2s conversion


#15

@weasel79 Just saw your DM. I was going to give a similar answer to what @deadsy mentioned. The codec is on the SAI peripheral. SPI3 can be switched into an I2S mode. SPI3 is currently left free with the idea of using it for multiprocessor sync. See the latest schematic. SPI2 can also technically be switched into I2S mode, but there look to be a couple of pin conflicts with the existing configuration that might need to be adjusted (PC2/PC3 are currently assigned to ADC and PB10 to USART3TX). I don't have time at the moment to fully verify if there are any restrictions about what combination of these peripherals can be activated simultaneously. SPI3 (PC10, PC11, PC12, PA10) would be the quickest to get going with I2S I think without needing any external hardware. Just to be clear I'm talking specifically about Axo core and the 427 processor.

Expanding on that first datasheet:
"When the I²S feature (included in the SPI peripheral) is not available or is already used
(full-duplex or multiple audio codec system), it is possible to emulate the I²S protocol master
or slave using standard SPI and timer peripherals."
I don't believe this is the case for us because the SPI peripherals we're talking about have an explicit I2S mode. Manual emulation should not be necessary. That would be a last resort.

Edit: I meant to say 427. The 407 is really similar with respect to I2S being multiplexed on the SPI channels but it lacks a SAI. @weasel79 Did you mean 427?


#16

yeah sorry i keep confusing them cause my midibox platform uses the 407...

thanks for the explanation! i hopee i'll get around doing some reading and testing in this area soon..


#17

I get confused about that too. 407 is what's in that common stm32 discovery board. I'm using a 413 in a different project. ST tends to publish huge separate datasheets and reference manuals for each little variation even though they are really similar processors.