-
Notifications
You must be signed in to change notification settings - Fork 4
Audio
For Audio, we are currently centralizing everything at the camera with XLR cables often running across the room. The camera outputs the audio as part of its hdmi stream, and we need to capture that hdmi audio through i2s. The ADV7611 chip outputs audio over I2S and sends it to the A20 SoC i2s port, and we can capture it from there.
I2S pin functionality has been verified, and the necessary software changes were made.
The test capture was done between 2 Lime2 boards and 2 Lime2 UEXT Cables, and then some terminal wire in between. This capture was not very solid, and at 1.3x the normal speed, with lots of clicks and pitch shifts in between. This was either due to crosstalk/interference (~45cm cabling mess), or there is some an issue between DMA and FIFO handling (fifo interrupt levels might need to be changed).
Design choices for the daughterboard:
ADV7611 pin 48: "AP" -> Lime2 GPIO3-22: "PB12/I2S_DI"ADV7611 pin 49: "SCLK/INT2" -> Lime2 GPIO3-10: "PB06/I2S_BCLK"ADV7611 pin 50: "LRCLK" -> Lime2 GPIO3-12: "PB07/I2S_LRCLK"
We want to move to direct capture, and we also want to pipe the captured audio straight to the speaker outputs. We want to use the left and right headphone channels, and the two microphone channels of the A20, and the A20 can mix the microphone channels straight into the headphone channels.
We need to provide a header for a further analog audio daughterboard. This header should have:
- HPL/HPR
- HPCOM/HPCOM_FB
- VMIC
- MIC1
- MIC2
- 7-8 GPIO/EINTs: 1 for each connector (1xheadphone, 2x microphone, 4 XLRs)
- 1 I2C bus (as why not)
To be able to sense connectors being plugged, we will need special versions:
- 3.5mm jack connectors with extra switch: Cui devices SJ-3579AN: ~0.80EUR for 500 at mouser. We need 3 per board.
- 3-pin Male XLR connectors with extra switch: amphenol AC3MAH4-SW-B: ~2.50 for 500 at mouser, we need 2 per board.
- 3-pin Female XLR connectors with extra switch: these sadly do not exist. It is not clear why Amphenol is not producing those. We could have used 2 per board.
An Olimex A20 Olinuxino Micro will be used for testing, and since 1 special 3.5mm connector, with extra switchgear!, was scrapped from an broken active pc-speaker, the functionality of 1 headphone and microphone jack detection interrupt was tested:
[ 213.004477] sun4i-codec 1c22c00.codec: Microphone Jack: connected.
[ 215.104467] sun4i-codec 1c22c00.codec: Microphone Jack: disconnected.
[ 224.124227] sun4i-codec 1c22c00.codec: Headphone Jack: connected.
[ 226.494192] sun4i-codec 1c22c00.codec: Headphone Jack: disconnected.
Two new issues were opened, both to make the mixer more useful and to make the interrupts do something more useful.