[aprssig] slightly OT talking about 9k6
ross at topwire.co.nz
Mon May 9 05:04:37 CDT 2016
No ETA at this stage (this is just a hobby for me...)
No, you can use multiple I2S audio devices on a Raspberry Pi. I believe
that the Raspberry pi only has a single I2S audio port, the short answer
is that this limits you to full-duplex stereo.
The long answer is that you might be able to do a dirty hack and
multiplex more than two channels over the I2S interface (eg run the
Raspberry pi's I2S interface in 32bit sample mode and use the high word
of a sample for one 16 bit channel and the low word for another) - this
of course would require special "non-standard" drivers to make ALSA etc
mux two logical sound cards to the one physical I2S interface, and some
custom logic between the I2S interface and the codec chips, so that the
16 bit samples from each codec are muxed/demuxed to/from the correct
word in each 32bit I2S sample.
Eliminating the VOX function (PTT control only by GPIO) would reduce the
requirements for the microcontroller on my audio adaptor to that of a
simple PTT watchdog timeout (I specified the STM32F301 as it has a fast
I2S port that can be used to snoop on the I2S stream to determine if a
channel is transmitting). At the cost of increasing complexity (add an
I2S clock generator and run the codec in slave mode), a true DC RX
response could be obtained (instead of rolling off below about 4 Hz).
If the isolation barrier between the Raspberry Pi and the codec was
removed, and instead an isolated 5V supply was provided to the Raspberry
Pi (eg isolated 13.8V to 5V PSU), then the design of my board would be
greatly simplified, with the downside that connection of any
non-isolated peripherals to the Raspberry Pi (eg a non-isolated
USB-RS232 converter, connected to say a hardware TNC) would risk
creating a ground loop. The Raspberry pi's ethernet interface would
probably be safe to use though, as it is transformer isolated. This is
of course quite similar to the UDRC:
that as far as I can tell (maybe I am wrong?), the UDRC does not have
balanced audio I/O, an isolated power supply, or good common mode rejection.
Another approach, which I have thought about, but have not expended any
design effort on, is to replace the Raspberry pi with a 32bit micro with
ethernet and I2S interface (eg STM32F4xx or LPC43xx). Run JACKAUDIO and
Ser2Net (RFC2217) servers on the embedded micro to allow software on
Linux/Windows/MacOSX machines (Raspberry Pi, Odroid, Beaglebone, or full
blown PC) to use the audio interface and control the PTT via ethernet.
This is similar to the SignaLink USB, except with better audio IO and
ethernet comms instead of USB. Of course, if someone was sufficiently
inclined, I am sure that it would be feasible to program the embedded
micro to function as a full-blown 1k2/9k6/56k/etc TNC with an ethernet
> Jason KG4WSV <kg4wsv at gmail.com>
> 09/05/16 02:26
> Brian D Heaton <ky9k-lists at ky9k.org>, TAPR APRS Mailing List
> <aprssig at tapr.org>
> Is the design such that the units can be stacked for multiple units on a single Pi?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the aprssig