BBB DAC DEVELOPMENTS
As many know, the BeagleBone Black I2S audio implementation is in a way superior to the I2S audio implementation of the Raspberry Pi primarily because the audio clocks can be derived from the on-board 24.576MHz clock and also through off board oscillators through an I/O pin. It its current implementation, the BBB supports the 48KHz family of sample rates with the on-board oscillator and can support the 44.1KHz family of sample rates with an off-board oscillator.
The current method of generating the clocks for digital audio in the Raspberry Pi are far from perfect. The best clocks are obtained by integer division of the on-board 19.2 MHz clock and works for 48K and 96K sample rates and only if the DAC can accept 40fs or 80fs. For anything else, the clocks are derived from the 500MHz PLL through fractional division as explained above. It has been reported that the 500MHz clock itself is derived from the on-board 19.2MHz clock through a clock multiplier.
Even with a “superior” audio clock implementation, I2S DAC development for the BBB has been painfully lagging that of the Raspberry Pi (so painful that there are no products shipping). The reason is because that there is a lot, lot more community development in the Pi than the Beagle. The RPi has just shipped its 5 millionth device [link] whereas the BBB has only shipped about 220K devices [link].
Twistedpair Audio has been busy designing and testing external components to allow the BBB access to lower jitter off-board oscillators and data reclocking for ultimate I2S signal fidelity. These boards are almost ready for general sale [link]
Update 3/26/15: they are available for sale [link], and pretty reasonably priced given the components. (The store says “introductory pricing” though)
The mockup photo below shows (from right to left) BBB, “Hermes”, “Cronus”, and Buffalo III DAC. The board on the top is the Hermes board for the Amanero interface. With Hermes-Cronus, Amanero can use better off-board clocks if so desired.
- BBB as the source of I2S/DSD digital audio, it needs external clocks in order to support all sample rates
- Hermes as the two-way signal isolator (clock signal into BBB, audio data signals out of BBB, and I2C in-out) and I2S/DSD switch. Hermes also has connections for a volume pot, push buttons, etc. that interfaces to I/O pins in the BBB -more details below (priced at $40 or $16 for the board only)
- Cronus is the clock board which can accommodate two clocks: one for 44.1KHz sample rate family and one for 48kHz sample rate family. Cronus also provides data realigning of the I2S signals (as opposed to FIFO reclocking) – more details below. (Priced at $50)
- Clock modules. The clock modules are available separately from the Cronus board with a choice of frequencies and are priced at $35 each. You need two.
- Total is $160 for Hermes+Cronus+Clocks. You don’t really need the Hermes if all you are interested in are the clocks, so the minimum investment is $120
Here is a photo of the updated Hermes board (the interface/isolator board between BBB and Cronus)
- Provides isolation for audio signals with 1 -8 channels of PCM – 1 – 4 channels of DSD output
- Provides I2C isolation
- SPDIF output is possible.
- Lots of headers: for Switches/Rotary encoder and drivers for indicator LEDs; USART header, ADC header for analog control; headers for external power/reset switches.
- Prototyping area (for fun!)
- Provision for backup battery to protect the BBB on shutdown by providing a soft shutdown(self regulating battery not included in the kit – but very easy/cheap to obtain).
Here is a photo of the updated Cronus
- Ultra low noise low impedance power supply for clocks (adm7150)
- A clock selection multiplexer to switch between 44.1 and 48Khz time bases (this means the source must output a clock selection signal). The clocks are isolated from each-other and the rest of the circuit by utilizing L/C filtering
- A selectable/bypassable ultra low phase noise clock divider to supply 1:2 or 1:4 clocks to a source
- A synchronous reclocker that re-clocks the audio from the source back to the master clock. This brings all signals back into alignment with the actual master clock regardless of source jitter. Uses Potato Semi flip-flops. To learn more, here is my crude attempt at reclocking [link]
- SMA and uFL connectors for external clock signals (both in or out), uFL connectors for PCM/DSD output.
IQAudio’s main products to date are audio boards for the Raspberry Pi. As I wrote here [link] their DAC board is one of my favorite for the Raspberry Pi. The DAC boards for the RPi are also very popular, often sold out at the Tindie store [link]
The IQAudio BBB DAC is aimed at a full I2S DAC solution for the Beagle. A photo of a prototype is shown below.As can be seen in the photo, there are no external clocks that can be fed to the BBB. Normally a DAC operates in Slave Mode. The DAC locks to the master clock or bit clock of the source and receives the data from the source device. In the IQAudio solution, the DAC instead is running in Master mode. The DAC generates the appropriate bit-clock frequencies in accordance to the sample rate of the track being played and it “pulls” the data from the BBB. You may follow its development here [link].
According the manufacturer, the board will be available in May at a target price of $45-$60. Please send your queries and comments to IQaudio at.
Notice also the I2S headers. Possibly you can use this board and tap the I2S signals and use them for another DAC board.
Comparing with the RPi DAC which is shown below, it seems the BBB DAC uses almost the same components. The innovations are in software: drivers in the BBB side and firmware to setup and control the DAC chip.
There is also an advantage of buying a product from iQAudio (and other similar companies such as HifiBerry) in that they invest in software development (drivers) and provide many ready-to-run software distributions for your embedded computer.
Acko is also planning to release a BBB cape that is derived from their current clock/isolator board which is already a working solution for the BBB. A nice photo from this post :
The “supercape” adds battery management to the capabilities of the current clock board in an integrated package. It will provide:
- UPS kicks in when external power is removed. On-board PWR_MON will continue to power the BBB (~1hr) or options to safely shutdown BBB immediately. Same shutdown action if battery level goes below operational level 
- High Speed Galvanic Isolation with -Synchronous or Asynchronous re-clocking.capability
- Ultra-low jitter Dual Synchronous Audio Clock (98.304MHz/90.3168MHz or 49.152MHz/45.1584MHz options) – Master Clock
- All buffered outputs with high drive capability
- GHz rated switching components
The following diagrams show the work-in-progress for this cape, starting with adding a USP and interface for the BBB and the clock board to the current configuration of a fully integrated cape.
SOEKRIS dam1021 DAC
The Soekris R2R DAC supports the BBB in synchronous slave mode by providing the required master clock frequency as selected by the BBB. BBB is in master mode, but the DAC provides the clock
- I2S MCLK OUT pin: Master clock output: 45.1584 and 49.152 Mhz (which can also be divided)
- I2S FSEL IN pin: Input signal at this pin selects between 45.1584 MHz and 49.152 MHz master clock output
It works in a similar fashion as the TwistedPair and Acko solutions but it has been incorporated into the DAC.
I have yet to experiment with it myself but has been reported to work: [link]
- Firmware v 0.99
- Soekris DAC: Modding VRef
- R2R DAC Benchmark Filters (for now)
- dam 1021 R2R More Mods…
- Digital Filters for Soekris R-2R DAC
- Soekris dam 1021 R-2R DAC ILLUSTRATED GUIDE
- BBB DAC DEVELOPMENTS
- dam1021 R-2R DAC MODs
- Soekris dam1021 Build
- Raspberry Pi 2
- The Soekris R-2R DAC: Technical Details
- INSIDE MARANTZ AV RECEIVER
- AKM Verita 4490EQ DAC
- Raspberry Pi B+ Digital Audio
- Raspberry Pi version B+