BBB DAC DEVELOPMENTS

March 2, 2015 1 comment

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].

No longer.

TWISTEDPAIR AUDIO

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]

The mockup 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.

tpabbb

These links explain the functionality of these boards [link], [link]

  • 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
  • Cronus is the clock board with two clocks: one for 44.1kH sample rate family and one for 48kHz sample rate family. Cronus also provides data realigning of the I2S signals (as opposed to FIFO reclocking)

IQAUDIO

The IQAudio product is aimed at a full I2S DAC solution. A photo of a prototype is shown here. I do not see external clocks, so possible the clocks are generated internally by the DAC chip. You may follow its development here [link].

Notice the I2S headers. Possibly you can use this board and tap the I2S signals and use them for another DAC board.

iqaudiobbb

Comparing with the RPi products, it seems it uses almost the same components. So a lot of the innovations must in in be in software (drivers and control of the DAC chip).

IQaudioDac

IQAudio’s main product are audio boards for Raspberry Pi. As I wrote here [link] their DAC board is one of my favorite for the Raspberry Pi.

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 ready-to-run software distribution for your embedded computer.

dam1021 R-2R DAC MODs

February 22, 2015 12 comments

INITIAL POWER MODS

The power on/off POP seems benign if listening through headphones. The power-on pop is not loud at all. The power off pop is loud. If connected directly to an amplifier, it can potentially damage the loud speakers.

During Power off, the positive rail drops faster than the negative rail and this creates a voltage imbalance resulting in a huge POP. At some point, the device is practically powered by the negative rail [link]. The effect can also be visually seen:

The left LED is on the positive supply. It goes dim first when cutting the external power.

DSC04938

I attempted to balance the power consumption for the two rails hoping to reduce the turn-off POP.

Adding capacitors to the positive rail

By trial and error, incrementally adding capacitors up to 13,000 uF I was able to balance the power decay between the positive rail and the negative rail by visually matching the turn-off rate of the two LEDs in the supply. The POP was somewhat reduced (using headphones) but not eliminated.

Adding resistors to the negative rail

I then tried to match the current consumption of the negative rail with the positive rail. The power consumption of the DAC is: [1130]

  • Positive Rail: .18A, 10V
  • Negative Rail: 0.06A, 10V

I added enough resistors to increase current consumption by 120 mA. I used 10 1 Kohm resistors on the -12V leg of the supply. Each would dissipate 12 mA of current and .144 W of power -they are rated at .25 W, so we are safe.

The result was better than adding capacitors to the positive rail, the POP at power off was further reduced but still not eliminated. I liked this mod better than adding capacitor, so I made it permanent in the supply.

DSC04947

Note: only tried with headphones. And yes it is a waste of energy, but it is only 1.4W :-)

BYPASS THE BRIDGE?

An apology to my readers for putting up wrong information.

I took a closer look at the J2 connections on the backside and the board and  the +/- analog power connections are connected to the power lines after the RC filter. If you power through J2, there will be a 12 ohm resistor to the filter/smoothing caps. This would not destroy the board, but it is not the right design either. Thus there is no good reason to power through J2.

PS1

DSC04952

ADDING CAPACITORS

While examining the back of the board and realizing that J2 cannot be used as input power, I figure it is the perfect place to add capacitors to the power lines. Decided to add 330 uF Oscons to the digital 1.2V and 3.3V and Panasonic FMs to the +/- analog lines. This mod is completely reversible. Just cut the leads. I first soldered a row of pins and the capacitors are soldered to the pins.

Adding capacitors to the analog lines further improves the filtering because it is an RC filter.

There is still the +/- 5V lines but there is no more space. I chose not to add capacitors these lines because the 5V regulators already have large output capacitors, and because I thought they would benefit the least: if you examine the backside of the board, you’ll notice that the connectors at J2 trace from different places in the board. The longest traces are from the +/- 5V regulators.

DSC04955

These power mods are “approved”: [link]

If you insist to improve the on-board power supply, try replacing the 6 electrolytic capacitors with aluminum polymer types, 1000u 16V exist in same 10mm SMD footprint and t.ex. digikey stock them at $2.20 each. Should be easy to replace.

You can also add a small polymer electrolytic on the 3.3V output, but please note that the clock oscillator power already have a filter, so I doubt it will make any difference.

Didn’t want to remove the existing capacitors and risk damaging something. It is too early to do any kind of surgery on the board :-). Plus the existing filter capacitors don’t seem quite easy to remove given that there is very little space between them.

FULL DIGITAL INPUT ISOLATION

These are the Silicon Labs digital isolators on the board [link]. I believe the original ones in the engineering board were TI isolators [link]. Both isolators use the same capacitive coupling technology. I suspect the Si parts have equivalent performance when it comes to noise isolation.

DSC04895-001

According to the diagram below, the parts can also be used for logic level translation and thus they can be powered with 5V on the input. This will make the input compatible and tolerant to 5V signals such as those present in a serial interface of a standard Arduino microcontroler.

5V tolerance is also needed if interfacing to the I2S/serial signals of older generation CD players when they used spend good engineering money in making CD-only players. I like older CD-only players as compared to modern multi-format players because they are better made, start up/play much faster and the drawer mechanism is also much faster. You don’t have to wait for the device to check the format, read the contents, etc before it starts playing. If you click “eject”, it immediately ejects; no need to wait for the device to do who knows what before it ejects the disc.

silabslogicTranslation

To reduce overall system power consumption, many of today’s high-speed logic devices (e.g. FPGAs) operate from supplies of 3V or less. Lower bias voltages (and consequently lower logic thresholds) complicate interface with 5 V devices, creating a need for a fast and robust logic level shifter… the Si86xx isolator (can be) used as a logic threshold level shifter where each side of the isolator is biased to match the local logic rails. Note the common ground on both sides of the isolator since all
logic supplies are assumed to be connected to a common ground.

However, I don’t have to assume that the logic supplies are connected to a common ground and instead I am going to isolate the two grounds as much as possible by powering the input side with a completely separate supply, including using a separate AC transformer.

I salvaged another transformer (this one gives 9V DC unloaded) and a 7805 series LDO regulator

DSC04967

I had to rearrange the supplies in order to fit them in the chassis. This arrangement is even better as the line voltage components and wires are confined to the left-most area of the case and as far as possible from the low voltage electronics.

DSC04966

FULL GROUND ISOLATION

To eliminate the ground loop I was experiencing with the external RCA connectors I had to isolate the RCA connectors from the chassis. That did not explain the source of the ground loop though, it merely eliminate the additional path to signal ground. I had no supply ground wires connected to chassis and the only ground connection to chassis was the safety EARTH ground, so where did the ground loop come from?

After some poking with a voltmeter, I figured the source of the ground loop. The mounting holes of the DAC board are encircled with ground pads. These short to the mounting posts and the mounting posts short to the chassis.

DSC04925-002

If you don’t have a second path (for the signal) to ground, then you don’t have a ground loop. Having signal ground connected to the chassis is probably a safety feature but I have built all my electronics with the signal ground (the supply ground) isolated from the chassis and for safety Iuse a 3-wire power cord with the EARTH ground connected to the chassis. If using the chassis to shield sensitive electronics, then it is a good idea to not share the chassis ground with the electronics ground.

To isolate the mounting posts, I used poly washers for the mounting screws and put them on the top side and bottom side of the board:

DSC04963

These were made from presentation transparencies (remember those?) with a regular 3-hole paper punch and a smaller craft punch. The came out very nice.

DSC04968

Soekris dam1021 Build

February 10, 2015 25 comments

DSC04943

Please also refer to:

  • The Soekris R-2R DAC: Technical Details [link]
  • R-2R DAC For The REST of US [link]

Here is my board (S/N 000003) and even personally signed by Soren :-). I will document my build in this post.

DSC04889

POWER SUPPLY

Just finished building a +/- 12V power supply and had it powered-on an entire day in order to ensure that  nothing was wrong with it. Most of the components are from my “pile of electronics”: some now, some recycled.

The transformers were taken from “surplus” unregulated wall supplies and are rated at 15V AC (which are too high of a voltage to use directly on the DAC board).

It is as basic and standard as a linear supply could be.

DSC04903

The AC rectifying part is basically the dam1021 input section

  • Two transformers (AC 15V)
  • Single bridge (2A)
  • Smoothing capacitors. In this case 35V, 2200 uF standard Nichicons, one per rail

The regulators are fixed output voltage LM7812 [link] and LM7912.[link]. Could have used adjusttable, but did not have a negative LM337 at hand.

DSC04907

The film caps are additional bypass close to the regulators.

DSC04915

The “hardest” part of the build was manually placing the components on the board for a good fit. Maybe a CAD layout tool would had been a great help.

DSC04913

DSC04911

Not very pretty, but works fine. The thicker wire in the center is GND.

DSC04912

If building the PS from scratch is too much of a hassle, there are many kits from eBay for very little money. (You still need to source the transformers). The most popular ones are the adjustable ones based on the LM317/LM337. One good example is the following kit [link].

POWER SUPPLY MODS

For now, I am not thinking about PS mods, but here is a post with a lot of good information and measurement on the DAC in general and particularly on the power section [link].

After reading the post, these are some of the things that come to mind:

Reducing Power On/Off POP

During Power off, the positive rail drops faster than the negative rail (remember that the positive power consumption is 3X negative power consumption) and this creates a huge POP when the device is practically powered by the negative rail. – Using the additional capacitance of the regulated supply would probably make this problem worse because the capacitors are equal in size between the positive rail and negative rail.

The left LED is on the positive supply. It goes off first when cutting the external power

DSC04938

Possible solutions:

  • Increase the power draw of the negative supply to be equal of the positive supply: you can do this by adding resistors to ground on the output of the supply.
  • Adjust the amount of capacitance between the two rails so that during power off, the voltages on the two rails decay in approximately equal rate. This may or may not work, but it sounds that it could.
  • Separate the analog supply (opamp and voltage reference) from the digital supply which only uses the positive rail. This requires major surgery of the board.

Snubbers on the transformer

The shouty sound can be somewhat tamed by filtering the power line and using optimal snubbers for the power transformer. (Check the Quasimodo/Cheapomodo threads for an excellent snubber measurement jig by Mark Johnson.)

Bypass bridge rectifier (this also “skips” the smoothing capacitors)

Update: I took a closer look at the J2 connections on the backside and the board and  the +/- analog power connections are connected to the power lines after the RC filter. If you power through J2, there will be a 12 ohm resistor to the smoothing caps. This would not destroy the board, but not the right design. (It is actually safe [link]). This is probably only useful if you have a well filtered and regulated DC supply and you are operating near the headroom required by the 5V regulator which is around 7V. In any case, it is better to power through J1.

If using a regulated supply for input power, it is possible bypass the built-in bridge rectifier which is used for AC input. For DC input it is basically serves no function except it adds extra protection in case you inadvertently apply the wrong polarity.

I measured the PWR A+ and PWR A- connections in J2 against the + and – poles of the input filter caps and I measure continuity. 

It would be better to use the GND connections of the power input (the ones in J1)) since they provide a solid and hefty connection to the GND plane. The ground connections on J2 are through thin traces.

bypass

But I need to respect the manufacturer’s warning, so here it goes [link]:

I Repeat:

I can only recommend to supply any power on J1, the diode bridge used on the input is a low noise schottky type.

J2 is NOT for supplying power, it’s for testing or for sourcing small amount of power for external input circuits. Applying power will probably blow the board.

But on the other hand, just go ahead, I’ll be happy to sell you a couple of new boards :-)

Connecting the input power this way, bypasses the bridge rectifier (and skips the smoothing capacitors. I say “skip” because it does not bypass them since they are still connected through a 220 ohm resistor).

Replacing and adding on-board PS capacitor

This one is endorsed by Soren [link]

If you insist to improve the on-board power supply, try replacing the 6 electrolytic capacitors with aluminum polymer types, 1000u 16V exist in same 10mm SMD footprint and t.ex. digikey stock them at $2.20 each. Should be easy to replace.

You can also add a small polymer electrolytic on the 3.3V output, but please note that the clock oscillator power already have a filter, so I doubt it will make any difference.

Here is the 3.3V regulator. You may add a capacitor between Vout and GND (pins 1 adn 2)

DSC04895

3.3PS

At this time I would be doing a standard installation before thinking of any other mod.

CASE

Old electronics are excellent for these projects. Not only they are free, but at the minimum you get athe power cord/socket installed and some even come with power filters.

DSC04916

This one has a power socket for a detachable power cord and ground safety (the green wire)

DSC04920

Lots of useless buttons, but not bad looking at all :-)

DSC04918

Reusing the RCA connectors: one set for single-ended raw output and one set of single-ended buffered output

DSC04927

Perfect fit.

DSC04925

I like to use the analog-audio cable assemblies found inside (older) PCs. They have three leads (for left, right and ground) and are shielded.

DSC04926

OTHER COMPONENTS

Volume Potentiometer

It is recommended to use a 10K pot. (although a different value one might work as I beleive it is measuring voltage)

I am using one from a gutted Sony analog surround processor (when Japan used to make stuff :-)) which happens to be 10K potentiometer.

DSC04924

Toslink Module

I will be using what I think is the best Toslink Module: the original one from TwistedPear Audio. This one has the Toshiba TORX142 module (25Mb) with supports up 192KHz sample rate (data sheet: torx142l), but Toshiba stopped making them. I purchased this several years back with the OPUS DAC [link] (which got me started in this audio DIY thing). The current one that is on sale at the TwistedPear Audio store is specified to support up to 96KHz [link].

The module has an integrated 3.3V regulator [link] and thus it is compatible with the 3.3V input limit of the R-2R DAC. In addition, the regulator is specified to accept 5-12V DC (with a spec max of 18V). It can therefore be powered directly by the 12V supply. No need to pull the power from the DAC.

DSC04922

The case even has a cut-out for the Toslink module…

DSC04923

USB to I2S Module

I am going to use the original DIYINHK XMOS-based module [link]. This one is USB powered.

DSC04934

diyinhiXMOS

ALL TOGETHER

Wanted to first check out the DAC with a basic and default configuration: Toslink Input, volume control, and SE buffered output to headphones.

Power connections, volume control connections and SPDIF connection.

DSC04931

r2rvol

Single-ended buffered output to a front-panel headphone jack.

DSC04932

r2rSEOut

The output opamp, the LME49724 [link] can drive a high impedance headphone directly. It is specified to drive a 600 ohm load meeting full specification.

LME49724-thd

Since the Senn HD-580 I use has an impedance of 300 ohm, I expect only a slight deviation from the specification, if any.

Front panel: power LED (in the power button), toggle power switch, headphone jack and volume control

DSC04933

I also installed an RCA jack for coax SDPIF. The Toslink module is powered by the +12V supply. The USB-I2S is powered by USB.

DSC04929

Back panel: SPDIF Coax, SE Raw output, SPDIF Toslink and USB-I2S

DSC04930

DSC04941

DSC04945

Just powered it up, original filters. Denon Multiformat player, Toslink output. Senn HD-580 (300 ohm) and Fidelio X1 (30 ohm).

INITIAL POWER-ON

No sound

First there was no sound either from the raw outputs or the SE buffered outputs.

  • The signal lock LED was steady. In auto-input mode, the signal locks quite fast, as it should
  • The voltages on J2 were all correct
  • Removed the volume potentiometer connections, leaving just the SPDIF input
  • Double checked all the output connections

It turned out that I had soldered the wrong connectors on the RCA jacks and the Headphone jacks!

Signal lock LED

  • Steady on: signal lock
  • Blinking: no signal or no lock

DSC04936

Hum

Then there was a hum coming from the raw output connected to the RCA jacks (RCA-Head Amp-Headphones). I figure there got to be a ground loop. I measured continuity between the chassis and the RCA GND.

Had to remove the metal plate that was grounding the outer sleeve of the RCA jacks to the chassis (the little metal tabs on each RCA jack).

DSC04927-001

Volume control rustling/crackling noise

I hear a faint static-like click when adjusting the volume. It is like the old analog amps when the pot was dirty or worn out. But this is digital. I shall investigate this further…

I added a 0.1 uF capacitor between 3.3V and Gnd and between the wiper and Gnd. No improvement. I think the problem could be in software (the FPGA volume software)

DSC04951

HOW DOES IT SOUND

Using Toslink source from Denon multiformat player, single-ended buffered output to a Senn HD-580 headphone. Compared with the analog output of the same player through a Fiio top of the line headphone amp.

The immediate most noticeable thing in an A/B comparison with the Denon player is the larger soundstage of the R-2R DAC. Further listening indeed shows a more expansive soundstage, like each instrument and voice fills more of the space around it.

The bass is also more “full bodied” and more impactful. Beautiful bass. I am using the original filter and do not detect any “harshness” as others have.

Perhaps comparing with the Denon is not such a good comparison, but it was easy and shows the that DAC performs very well.

I shall try other filters. Perhaps then I would feel the original filter results in some harshness…

Also, with direct output, I prefer the HD-580 to the Fidelio X1.

DSC04935

GOT THE I2S GOING

Finally connected the DIYINHK XMOS I2S module (this is the original model, different from what Soren is using -I believe the current isolated one).

Listening with iTunes and having iTunes upsample everything to 176.4KHz. Sounds good…

DSC04957

The DAC automatically selects the active input right away. On the XMOS device, once you apply power, there is bitclock and the DAC locks to it.

I am still using original firmware, so the slight clicks when changing sample rate are there. The rustling/crackling sound of adjusting the volume is also still there. I am sure these will be fixed, it the meantime, they don’t bother the listening experience.

DSC04960

DSC04959

In order to power the input side of the isolator, I had to build a small supply with a 5V regulator and a 3.3V regulator (didn’t have anything else suitable). The 3.3V regulator is a surface mount device so I had to solder legs and small heatsink tab. Just a crude but effective job :-)

DSC04958

How does it sound?

Whereas in the previous comparison, the DAC showed a more expansive soundstage, and the bass was more “full bodied”, more impactful, using I2S input (Windows 7 laptop, iTunes 12 with upsampling to 176.4KHz 192KHz [Check my post on adjusting the iTunes playback sample rate [link] and diyinhk XMOS interface) results in another step forward towards better sound and a enjoyable experience. This time the improvement is presented as music with more clarity or “crispiness”  (more details?) as though the instruments give out a more “defined” sound. I think this reviewer gives a pretty good description of what I want to say: [link].

Raspberry Pi 2

February 4, 2015 4 comments

Just a few month after introducing the Raspberry Pi B+, there is a new Raspberry Pi 2. It was reported that the Raspberry Pi 2 would be introduced in 2017 [link]. Maybe someone funded the entire upgrade (Microsoft?)

Same price, much more power and memory (actually those are the only updates: a new SoC chip and more memory)

The 2:

Raspberry-Pi-2

The B+

DSC04829

The SoC has been upgraded from the BCM2835 to the BCM2836. I will have to wait until someone posts the datasheet to compare the internal clock and audio capabilities of the two chips.

However, the hardware clock remains the same. Thus, same problems as before supporting audio sample rate frequencies [link]

Pi_II_bottom_ORIG

The most interesting part perhaps is free Windows 10 for the on the Pi: [link].

Everyone and their grandmother are discussing the new RPI: I found these sites better than the rest…

Technical discussions on the RP1 2:

Audio related discussion on the RPi 2:

The Soekris R-2R DAC: Technical Details

January 30, 2015 46 comments

DSC04894

DSC04887

DSC04896-001

The Soekris R2R DAC is finally out, officially named

The Soekris dam1021 Sign Magnitude R-2R DAC

I will be collecting useful information here because as the thread at diyaudio gets longer, it would be difficult to find things…

INITIAL FEATURES

The initial release (“v1) of the firmware together enables the following features:

  1. I2S input up to 384KHz sample rate (tested to 192KHz)
  2. SPDIF input up to 192KHz (tested to 96KHz)
  3. Automatic De-emphasis for 44.1KHz material
  4. Built-in set of simple FIR filters for all sample rates
  5. Digital volume control through simple potentiometer
  6. Automatic input selection
  7. Data reclocking: s/w PLL with 0.02 Hz low pass filter
  8. S/W interface (serial interface) allows:
    1. Volume control (e.g. with Arduino)
    2. Input selection (e.g. with Arduino)
    3. Loadable FIR filters including bypass filter for NOS support (s/w utility included)
    4. Firmware update/upgrade

Upcoming features (through user-performed firmware upgrade)

  1. DSD support
  2. Filter cascading for digital crossover
  3. Filter cascading for balanced use
  4. Master clock output

Planned for “v2″ firmware [link], [link]

  • 4 FIR1 filters for each sample rate selectable through the serial port with a default selection (#2)
    • Linear Phase
    • Medium, optimized mix between Linear Phase and Minimum Phase
    • Soft, mostly Minimum Phase but not that good alias rejection
    • No filter, also called non oversampling, no alias rejection
  • Improved response for FIR2 filter which will be modified to be pretty soft….
  • Enabled serial port on the isolated side (3.3v)

DAC CONNECTIONS [901]

SPDIF Input Connections [1108]

The transformer for coax input is 1:1

spdif1-2-2

Note: You can take the 1.2v or 3.3v from another supply.

I2S Input Connections

  • Connect BCLK to I2S BCLK IN Pin
  • Connect LRCK to I2S LRCK IN Pin
  • Connect Data to I2S DAT IN Pin
  • Provide external 3.3V to ISO +3.3V Pin
  • AND connect I2S GND to ISO GND

The isolators are powered from both sides: a “dirty” side and a “clean” side. The power for the “dirty” or input side is provided by the input side electronics (your USB device for example)

Volume control connection [link]

Requires the use of a 10K linear potentiometer. Volume can be controlled -90 to +15 db

  • Connect low side of potentiometer to GND Pin (left pin when viewed from front)
  • Connect high side of potentiometer to +3.3V Pin (right pin when viewed from front)
  • Connect Volume Pot wiper to VOLUME POT Pin (center pin when viewed from front)

r2rvol

If nothing is connected, the volume level defaults to 0 db.

The advantage of using a potentiometer, as compared to using a rotary encoder (which at the moment is not supported anyway), the DAC always starts with the last volume setting.

Input Selection

 Input  INPSLCT0 Pin
 INPSLCT1 Pin
 Auto Selection  Open  Open DAC will search the 3 inputs for a valid signal and lock when found
 I2S  GND  GND Be aware that even when not used the USB-I2S interface might output a clock that the dam1021 lock on to….
 SPDIF 1  Open  GND Sensitive LVDS Receiver -used for Coax [1076]
 SPDIF 2  GND  Open Standard 3.3V digital level -used for Toslink

Serial port

For uP control, firmware update, etc. there is an RS232 serial port which is just like a PC serial port

  • Pins are: RS232_RXD, RS232_TXD and RS232_GND
  • Connect at 115200, 8, n, 1.

If your computer does not have a serial output, you might need a USB to serial cable such as this [link]

Notes on serial port [1176]

  • Best is running directly to a real PC serial port, but those are getting rare nowadays.
  • The serial port transceiver on the dam1021 R-2R DAC has power savings enabled, to reduce noise. Tt need valid RS-232 level on the RXD line to power up. If your USB-Serial dongle also have power saving then you have a problem….
  • 115200 is kinda pretty fast for RS-232, make sure you have a good but not too long cable, and if using a USB-Serial dongle, check if it can actually run 115200.

The RS232 serial port is enabled by the Intersil 3221ECVZ chip [link]

DSC04902

Master Clock Output Pin [848]

  • I2S MCLK OUT pin: Master clock output: 45.1584 and 49.152 Mhz (which can also be divided)
  • I2S FSEL IN pin: Selects between 45.1584 MHz and 49.152 MHz

Same master clock output is also used when connecting multiple DAC’s, for example for digital crossover applications.

R2RcONNECT

Power Rails Connector/Header [1144]

J2 is a connector with all the power rails, for testing or for supplying (limited) power to other things. There is 1.2V  that can be used to bias the LVDS for Coax SPDIF input

vbus

Outputs

Note: in the diagram, the signal polarity is correct, but the left/right channel is reversed [1147]

I think I have the channel assignment correct in the photo below. (If you install the board with the XLR connectors in a back panel, the left channel would be on the left side and the right channel on the right side)

R2ROut

Single Ended Output Connection

You may choose the raw output or the buffered output. The raw output comes straight from the resistor ladder through a low pass RC filter (625R Zout, capacitor is 1200 pf ceramic NP0, -3db is then at 212 Khz. NP0/C0G types are supposed to be fine, especially when their effect are way out of the audio band…. [link]). The buffered output is out of the opamps (schematic below).

R2RRCA

Balanced Outputs

The only choice for balanced output is buffered output from the opamps. There is already a footprint to install the included XLR connectors or you can use wires to connect to a panel mount XLR jack or directly to a XLR cable.

r2r.XLR

Output Buffer Schematic

R2ROutput

DESIGN

(This is an updated information from my previous post: R-2R DAC FOR THE REST OF US [link])

POWER [link], [link], [link]

Main Power Section

PS1

  • Designed to be powered by a single dual 7-8V AC, 5W transformer (since it has has a bridge rectifier installed)
  • Can also take an external +/- 7-15V DC supply. (See section above on power supply requirements for further details)
  • Actual power consumption has been measured to be 2.4W.
  • Filter capacitors are Nichicon 820uF 16V CL series [link]
  • Negative voltage is required for the output opamps and other parts of the circuit [link]
  • A DC-DC converter (switch mode) provides the 1.2V for the FPGA core. Every other supply is low noise linear [link]
  • “The LME output buffers are powered via an additional large RC filter after the main capacitors, no active regulators. With a typical PSRR of 125 db I didn’t worry much about 100/120 hz ripple, only worried about higher frequency noise on the power rails….”

Input Voltage [901]

  • DC: +/- 7 to +/-15V DC; preferable 9-12V DC
  • AC: 2x 7-8V AC
  • Power goes though a diode bridge so polarity doesn’t matter. Connector is MTA156 type.

Maximum and Minimum Input Voltage [848]

  • Upper limit of 16.5V, based on capacitor voltage and also to limit loss in linear regulators.
  • Lower limit of 7.5V, based on loss though diode bridge and 5V linear regulators.
  • Taking into account line voltage tolerance and transformer no/low load voltage, this results in the  7-8V AC requirement for transformers.

Power Consumption [1130]

  • Positive Rail: .18A, 10V
  • Negative Rail: 0.06A, 10V
  • Total: 2.4W
  • The positive supply draw about 3 times as much current as the negative; the current is almost independent of input voltage.

1.2V Supply

The DC-DC regulators is the TI TPS562209 [link]

Here is the reference circuit taken from the datasheet:

R2R1.2v

3.3V Supply

A 3.3V LDO Powers the Clock [link]

DSC04895

3.3PS

It is a pretty hefty regulator. And it seems the only 3.3v regulator on the board. It must also supply 3.3V to:

  • 3.3V needs to the FPGA
  • Clean side of signal isolators
  • SPDIF LVDS receivers
  • Microprocessor
  • Flash memory
  • Other components (like the shift registers?)

Good thing it is implemented next to the clock of all places.

Reference Voltage Supply

The most critical supply is the +/- 4V reference for the resistor ladder.  This is generated by a “two step, first to +- 5V (by linear regulators), then to +-4V by precision low noise medium current opamps”; “-4V reference is sent though an inverter with 0.01% resistors generating the +4 reference”. The references are further  “filtered and buffered for each rail and channel”.

The 8L05A and 9L05A are +5 and -5 Linear regulators [link]. Input to these regulators are the +/- rails (which could be 7 to 15V regulated or unregulated) . The outputs are filterd by 100uF capacitors.

DSC04901

5vps

DIGITAL FILTERS [1285]

Original (current) digital filters:

  • FIR1, upsampling from incoming sample rate to 352/384 KHz in one step, with different filter length based on incoming sample rate. All FIR1 filters are basic Parks-McClellan “brick-wall” types, designed with http://t-filter.appspot.com/fir/index.html, but still shorter than your regular DAC.
  • FIR1 is automatically bypassed if feeding 352/384 KHz data.
  • IIR, bank of 15 bi-quads operating at 352/384 KHz, with one used for the CD de-emphasis filter, none otherwise used for the basic DAC.
  • FIR2, upsampling from 352/384 KHzto 2.8/3.1 MHz, reasonable short and soft but still using same design as FIR1.
  • All filters are using 32 bit coefficients, with up to 67 bit MAC accumulator.

I’m not a believer in no filters (non oversampling), but also don’t like the sharp “brick-wall” filter types with the pre-ringing. The goal is to work towards filter types that remove just enough to not cause problems with aliasing. It’s pretty easy with higher sampling rates, but is long and hard work and listening tests with 44.1 KHz, which still are the sample rate mostly used….

Further details on the filters [link]

FIR1

FIR1 is operating at 352.8K/384K (output frequency of the filter and this is set in hardware [link]) and each filter can have up to:

  • 1016 tabs at 44.1K/48K input sample rate
  • 508 tabs at 88.2K/96K input sample rate
  • 252 tabs at 176.4K/192K input sample rate
  • 124 tabs at 352.8K/384K input sample rate, but normally bypassed

This also means that:

  • 44.1K/48K input sample rate, the oversampling filter must be 8X
  • 88.2K/96K input sample rate, the oversampling filter must be 4X
  • 176.4K/192K input sample rate, the oversampling filter must be 2X
  • 352.8K/384K input sample rate, , the oversampling filter must be 1X, but normally bypassed

All upsampling is done by zero insertion, therefore gain needs to be set to match oversampling rate.

  • For 44.1KHz/48KHz sample rate the upsampling is 8X, thus the gain should be 8
  • For 88.2KHz/96KHz sample rate the upsampling is 4X, thus the gain should be 4
  • For 176.4KHz/192KHz sample rate the upsampling is 2X, thus the gain should be 2
  • For 352.8KHz/384KHz sample rate the upsampling is 1X, thus the gain should be 1 (But this filter is normally bypassed

Headroom for clipping prevention due to oversampling and the required applied gain [link]

The dam1021 have 2-4 bit of headroom though the digital filters, all the way until the volume control. So any clipping would be because of incorrect filters.

Why not one step oversampling to 2.8/3.1 MHz? [1557]

Not that practical, would require > 3000 taps. In addition, the intermediate frequency is good to have for the CD de-emphasis and crossover filters.

352K/384K is as a good compromise for the intermediate rate, so there is space for enough IIR filters for crossover use and room correction. If you go up you get less IIR filters. # filters = 45M/49M divided with intermediate rate divided with 8 = 16.

FIR2

FIR2 is operating at 2.822M/3.072M and can have up to 120 tabs, with input sample rates 352.8K/383K.

The FIR2 filter don’t require much, I’m looking into doing a bessel or butterworth type filter there.

dam1021 FPGA fixed point format [link]

The format used in the FPGA of the dam1021 it’s 2.30 fixed point format for the FIR filters and 3.29 fixed point format for IIR filters. (2 bits for the integer part, 30 bit for the fractional part =32 bits). The mkrom utility (part of the filter tools) reads and process the input .txt parameter files as 64 bit floats, including the multiplier, then convert to the 2.30/3.29 fixed formats in the final step, which are pretty good. (The SigmaDSP chips use fixed 4.24 format for coefficients….)

The filter file 1021filt.txt

There can be multiple of each filters in the 1021filt.txt filter file (part of the filter tools), but at least one (filter) needs to be there for each input sample rate. Currently just the first one for a given sample rate is used, in later firmware releases you will be able to choose between different filters

Filter tools

Filter tools and documentation will be shortly available for users to upload custom filters to the FPGA.  The tools are already available here: [link]

__________________

UPDATING THE FIRMWARE [1116]

  • Download and unzip attached file 1021fpga_090.zip
  • Connect the dam1021 serial port to a PC serial port with a terminal program (I use HyperTerminal), set for 115200,n,8,1, no handshake. (DAC must be powered up)
  • Enter uManager on dam1021 by typing “+++” followed by a 1 second pause.
  • Type “download” and start sending file from the terminal program using 1K X-modem protocol.
  • Power cycle when done, you can verify by entering uManager again, FPGA revision should then be 0.9.

Great that the firmware can be user-upgradable. Using standard serial port makes it even more convenient.

JITTER

Here is a comparison jitter measurement between the Soekris DAC and other DACs [link], [link], [link]

Jitter

Further details here:

R-2R DAC For The REST of US [link]

INSIDE MARANTZ AV RECEIVER

January 6, 2015 11 comments

DSC04869

Picked up a huge Marantz receiver (SR8200) at the local donation center for not very much money.

FAULTY VOLUME KNOB

Even though the donation center has a 7-day return policy for non-working electronics, the receiver was worth more than I paid (to me) in parts alone. I quickly discovered that the volume knob was “stuck”. It is a rotary encoder type (not a potentiometer type). The volume setting would barely move when turning the knob,

Thanks to my familiarity with rotary encoders, I quickly recognized this problem as “noisy transitions” within the rotary encoder. In other words, it needed (more) debouncing. What I did was to install some capacitors to the signal pins and viola! it works almost as new. There is still a bit of debouncing problem but does not affect the responsiveness of the rotary encoder. If I experiment with different value capacitors, I would likely solve the problem, but for now this is good enough.

DSC04871

Other than this, the unit seems to be working properly. The only disadvantage is that now I cannot justify gutting it for parts :-)

QUALITY CONSTRUCTION

From the golden era of Made in Japan audio electronics. Things are put together with more screws than seemingly necessary. Plus, this is the first device where I find the use of copper (or some copper allow) screws. The chassis is made of traditional stamped steel.

IMG_1151

Nice brushed aluminum front panel (but the knobs are “metal looking” plastic)

DSC04866

The most ELNA capacitors in one place!

DSC04875

One of the last through-hole, hand-crafted audio components…

DSC04864

POWER SUPPLY

This receiver, old enough to be powered by a liner supply, is rated at 6x130W (780W for the amplifier section).

It uses a large EI transformer with a copper flux band. These bands are used In order to reduce the radiated flux from the transformer core,  acting as a shorted turn to the leakage flux (only), greatly reducing magnetic interference to adjacent equipment.

IMG_1158-001

There are two 27,000 uF “Marantz” filter capacitors. Incredibly good looking! I believe they are made by ELNA (as every other capacitor is also ELNA). The heatsink behind the capactors is for the bridge rectifier. .

(Update: a reader alerted me that the caps are made by Nippon Chemicon. The logo is in plain sight)

IMG_1153

ncc_gross_2

IMG_1154

There is space for two additional capacitors. A nice mod would be to add a couple of Panasonic 4-lead capacitors such as these: Panasonic T-HA 10,000-18,000 uF, 63V [link][link] (with care not to blow the fuse due to in-rush current during power-up)

IMG_1152

The SR9200 uses 4 capacitors with higher voltage rating but lower capacity as shown in the photo below  [link]

sr9200-002

ANALOG VOLUME CONTROL

The volume control is provided by two 6-channel Toshiba TC9482N volume control [link]

DSC04878

DSC04877

These devices control up to 8 analog channels (7.1 multichannel) that area available as pre-out but only 6 of them connect to power amplifiers

The input and outputs are buffered by NJM 2068DD opamps [link]. The “DD” grade devices exhibit lower noise specification. Where have we heard about these NJM2068?… From the development of the famous O2 headphone amp [link]

BOTTOM LINE: For those wanting to skip the Tech Section, the conclusions can be summed up as follows:

At gains less than 4X nothing overall could beat the $0.39 NJM2068 in the O2’s gain stage. This is especially true if you’re concerned about power consumption for battery operation.

DSC04878-001

Current prices of the 2068DD are $0.60 in quantity 1 orders [link]

DIGITAL TO ANALOG BOARD

Stereo D/A board uses CS4396 D/A (3 of them).

DSC04873

AMPLIFIER MODULE

A 6-channel module with forced cooling.

DSC04882

DSC04881

DSC04883

Local power supply bypass capacitors. Notice the space for larger size capacitors (the higher model SR9200 uses larger capacitors). Replacing these capacitors with larger ones (a 1000 uF nichicon KW [link] for example -maximum diameter is 16mm) would be an easy mod.

IMG_1159

Local PS bypass capacitors in the SR9200

sr9200-2

Output transistors: SANKEN A1492 (PNP) and C3856 (NPN)

DSC04884

DIRECT AUDIO PATH

There is an 8-channel analog input option (7.1 input) that bypasses all the digital processing. They are controlled by the analog volume chips and the output is available through the 8-channel pre-out. Six of those 8 channels are connected to the  6-channel power amplification module. This receiver can be used as a stereo tri-amp setup.

 

 

AKM Verita 4490EQ DAC

December 7, 2014 49 comments

(12/22/14- Updated with information from AKM support engineers -see register section)

It has been a long time semiconductor houses invested in a flagship product. Wolfson announced the WM8471 in 2007 and ESS announced the Sabre DAC in 2008. Recent investment has been concentrated in DACs for the broad consumer industry especially for the mobile segment. It is good to see a company still interested in investing resources for the “audiophile” segment.

DSC04853

AKMAK4490

AMK introduced the AK4490 this year and has recently made it available in production quantities. It differs upon the AK 4399 DAC in the following areas (yes, the spec for Dynamic Range is lower in the new chip):

Parameter AK4490
AK4399
 THD  -112 dB  -105 dB
 S/N (Mono)  123 dB  126 dB
 Max Sample Rate  768KHz  216 KHz
 Built-in Digital Filters  5  2
 Direct DSD (No conversion to PCM)  Yes  No
 AVDD Max operating voltage  7.2V  5.25V

Here is an overlay of the FTT measurement between the AK4490 and AK4399 (graph slightly shifted to the right to show the comparison) from the  evaluation board data sheets. As seen, the AK4490 has a slight edge over the AK4399:

ak4490-4399

Increasing S/N by 3 dB

In order to “recover” the lost S/N in the new device as compared with the old device, The AK4490 can be operated with an analog supply of up to 7.2V. At 7V  we gain 3dB S/N resulting in 126 dB for mono operation and therefore meeting the best specification of the old A4399 part.

Even though this is not documented in the current version of the AK4490 data sheet, it is documented in the AK4495 data sheet:

ak4495DR

Thus one of the “mods” that can be made in this DAC is to run the DAC at the higher-end of the analog voltage operating spectrum.

KEY FEATURES

Built-in Digital Filters

(images taken from Ayre’s paper [link]):

The built-in digital filters consist of 5 selectable filters. They include all the “popular” filters developed so far by different vendors plus one additional filter with undisclosed response (super slow roll-off). The filters are described as follows:

LPSRLinear phase Sharp Roll-off (AKM notation: “no delay”): this is the “standard” sharp roll-off filter found is all DACs. It is also known as the “brickwall” filter. It is said that pre-ringing sounds unnatural.

LPSlRLinear phase Slow Roll-off (AKM notation: “no delay”): this is also a “standard” filter found in all DACs. As in the linear phase sharp roll-off filter, it also generates pre-ringing, but trading lower amounts of pre-ringing with letting more aliased image through (theoretically increasing harmonic distortion).

MPSRMinimum delay Sharp Roll-off (AKM notation: “short delay”): this is also called the “minimum phase” or “apodizing” filter that was the rage a few years back. Whereas in the past audio engineers have insisted in phase linearity (meaning all frequencies have equal phase or delay), More recent research have shown that a “minimum phase” filter sacrifices some of the phase linearity (adds some phase distortion) for better time response. This filter removes all the “unnatural” pre-ringing but “dumps” all that energy to post-ringing. Implementation of this filter is also found in the Wolfson WM8741/8742 DACs

MPSlRMinimum delay Slow Roll-off (AKM notation: “short delay”): this is a “more modern” type of filter also found in the Wolfson WM8741/8742 DACs. In addition to eliminating pre-ringing, this filter also incorporates slow roll-off and this reduces post ringing as well.

The properties of this filter are similar to the “MP filter” found in Ayres latest CD player.

Super Slow Roll-off: this filter is the differentiating feature (in terms of built-in filters) that this DAC provides. The AKM literature says “super slow roll-off filter with emphasized characteristics” (which really means nothing). There is some information in the marketing page as shown below.

The marketing information says the following [link]

SoundColor

Native DSD Support

Supports 2.8MHz (64fs), 5.6MHz (126fs) and 11.2MHz (256fs) DSD

According to AKM, the volume control module and the delta-sigma modulator can be bypassed for DSD resulting in “direct” DSD rendering. The AK4490 contains an integrated low-pass filter specifically for DSD data. The ultimate specified performance for SACD (as described in the Scarlet Book) can be easily realized with a simple external analog filter.

AK4490Block

Notice the bypass path for DSD Data. The DSD data is received by the DSD interface and sent directly to the “SCF” (Switched Capacitor Filter) block. DSD filter can be selected at 50KHz, 100KHz or 150KHz cut-off.

Other Comparative Features

Resolution32 bit32 bit32 bit24 bit24 bit

Parameter AK4490EQ  ES9018 ES9018K2M WM8741 PCM1794
DR (Mono) 123 dB 135 dB 127 dB 128 dB 132 dB
THD -112 dB -120 dB -120 dB -100 dB -108 dB
Max SR 768KHz 384KHz 384KHz 192KHz 192KHz
Output Mode Voltage V or I (best) V or I (best) Voltage Current
Resolution 32 bit 32 bit 32 bit 24 bit 24 bit
DSD Mode DSD Direct and DSD to PCM DSD to PCM DSD to PCM DSD Direct and DSD to PCM

Just like the WM8741, the AK4490 supports “direct DSD” processing bypassing the volume control and delta-sigma modulator. And like the WM8741, there is no automatic switching between PCM and DSD.

I2S and DSD shared lines

In order to facilitate the playing of both PCM and DSD content, it is desirable to have the same lines transmit PCM and DSD data. We find that in the AK4490, the I2S and DSD signals are shared. Here is a post I write earlier concerning shared I2S/DSD signal lines: [link]

The table below shows compatible DACs (DACs that share that use the same lines for DSD and PCM) and interfaces showing how the DSD pins are mapped to the PCM/I2S pins:

I2S Pins
ESS9018 [link]
PCM1795 [link]
AK4399 [link]
Amanero [link]
SDTrans [link]
XMOS Ref [link]
BCLK DSD Clock DSD Clock DSD Clock DSD Clock DSD Clock DSD Clock
LRCLK DATA Left DATA Right DATA Right DATA Left DATA Left DATA Left
DATA DATA Right Data Left Data Left Data Right DATA Right DATA Right

The AK4490 DAC follows the mapping of the AK4399 which switches channels with the “conventional” channel mapping of USB interfaces. Likely it was the USB interface designers that took notice of the ESS9018 DAC and conformed the channel mapping to that chip.

Fortunately, there is channel remapping in at least the Amanero interface and there is channel remapping in the DAC itself as specified in the following table of the data sheet:

ChannelMap

MONO=0, SELLR=1 says:

  • Right channel input is mapped to Left channel output
  • Left channel input is mapped to Right channel output

DIYINHK IMPLEMENTATION

I Just received diyinhk’s implementation of AKM’s new flagship DAC, the AKM AK4490EQ [link]. This is the first available diy board in the market (that I know of):

DSC04854

POWER SUPPLY LINES

The Diyinhk implementation follows (mostly) the AKM evaluation board and data sheet [link] but maximizes performance whenever possible (like in the selection of capacitor type and value). The board is powered by: 5V line, 3.3V line and +/- 12V line (for the output opamp).

ak4490Sch

The general layout of the power traces, decoupling capacitors and ground planes also follows the data sheet:

Grounding and Power Supply Decoupling:

To minimize coupling by digital noise, decoupling capacitors should be connected to AVDD and DVDD respectively. VREFHL/R and VDDL/R are supplied from analog supply in system, and AVDD and DVDD are supplied from digital supply in system. Power lines of VREFHL/R and VDDL/R should be distributed separately from the point with low impedance of regulator etc. AVSS, DVSS, VSSL and VSSR must be connected to the same analog ground plane. Decoupling capacitors for high frequency should be placed as near as possible to the supply pin.

Analog 5V supply lines (can operate up to 7.2V according to spec)

The 5V supply connects to VDD (5V Analog supply input) and Reference Voltage High (VREFH) -as recommended in the data sheet.

The differential voltage between VREFH-L/R and VREFL-L/R sets the analog output range. The VREFH-L/R pin is normally connected to VDD (analog 5V supply), and the VREFL-L/R pin is normally connected to VSS1/2/3 (analog ground). VREFH-L/R and VREFL-L/R should be connected with a 0.1µF ceramic capacitor as near as possible to the pin to eliminate the effects of high frequency noise…All signals, especially clocks, should be kept away from the VREFH-L/R and VREFL-L/R pins in order to avoid unwanted noise coupling into the AK4490.

In addition, according to the eval board manual, a large value capacitor between VREFH-L/R (Analog 5v) and VREFL-L/R (GND) improves the THD performance in accordance to the following graph:

VrefCap

VrefPS

The Diyinhk board is implemented with 2200 uF capacitors, achieving the best THD numbers. (The larger capacitor  holds the reverence voltage stable -perhaps an even larger capacitor would further improve the low frequency THD numbers).

There is an option to use separate supplies for right and left VREF and VDD. This also follows the scheme implemented in the official evaluation board where the left VREF is separately powered from the right VREF.

DSC04856-001

Further, the AKM literature states:

Special designs techniques for sound quality are applied to each blocks for achieving balanced, smooth and powerful signal flow. In addition to L/R perfectly symmetrical layout, more than 5x trace width is used for signal line compared existing products, supplying rich current to analog signal output blocks. To achieve low impedance, two analog power supply pins and two signal reference pins are assigned for each channel, allowing the system to utilize thick PCB trace pattern giving low impedance sources.

The board takes advantage of this feature to use thicker lines for VREF and VDD

All 0.1 uF decoupling ceramic capacitors are C0G

DSC04854-001

The official evaluation board has a provision to separate the VREF from the Analog 5V VDD which is not implemented in this board. However, it is easy to mod and use separate supplies for VREF and Analog 5V VDD.

The evaluation board implements VREF with the following circuit:

AK4490VREF

3.3 V Supply Line (Analog 3.3V and Digital 3.3V)

There is a 3.3V analog supply pin and a 3.3V digital supply pin in the chip. The default implementation of the diyinhk board uses the same supply line but filters them with a ferrite bead. By removing the ferrite bead, the user can use separate supplies for the analog and digital 3.3V.

DSC04861

In the evaluation board, AVDD and DVDD are powered by separate regulators:

AK4490DVDD

AK4490AVDD

GROUND PLANE

The ground planes follows the recommended separation between analog and digital sides (along pins 17-18 and 45-46)

ak4490Sch

DSC04862

DSC04863

SOFTWARE INTERFACE

The older device, the AK4399 supported a 3-wire serial interface. This seemed a not too widely supported protocol (it was not SPI and could not find a similar protocol in Arduino libraries , but one could code the protocol “by hand” as it was just a serial protocol -never tried it though)

Fortunately the new DAC supports I2C protocol (and maintains support for the original 3-wire serial interface found in older DACs). This greatly facilitating the interface to a microcontroller such as Arduino because of their built-in support for more standard protocols such as I2C and SPI.

The advantage of using the S/W interface is that it supports features such as volume control and DSD which are not available through the H/W interface.

The following table summarizes these features that are available in H/W interface (parallel interface -by pulling hardware pins up or down) and S/W interface (serial interface -microcontroller control).

AK4490SWinterface

Not indicated in the table is the “super slow roll-off” filter which is enabled by a register setting in s/w mode.

REGISTER DEFINITION SUMMARY

(Updated with information from AKM support engineer)

Here I summarize the register settings and the different functions that can be programmed. I also attempt to do some “translating” of AKM’s vocabulary to more “traditional” vocabulary.

I was able to communicate with AKM to clarify the functionality of certain sections.

Register address: 00 (Control 1)
 7 6 5 4 3 2 1 0
|_|_|_|_|_|_|_|x| Reset chip without initializing registers
|_|_|_|_|x|x|x|_| Interface mode: 16bit, 24bit, 32bit, I2S, LJ... (1)
|_|_|x|_|_|_|_|_| External digital filter clock: 768KHz/384KHz
|_|x|_|_|_|_|_|_| Enable/disable external digital filter mode 
|x|_|_|_|_|_|_|_| Master Clock frequency Setting: auto/manual (2)(3)

NOTES:
(1)- The only requirement for bitclock is >= 2x bit depth. Bitclock could be
32fs, 48fs or 64fs. Not limited to always be 64fs as in ESS DACs
(2)- Auto: detects master clock frequency and sampling frequency (44.1KHz,
96KHz, ...) automatically; sets oversampling rate (1x, 2x, 4x...) according to
input MCKL (this is kind of obvious).
Note: AKM calls sample rate "sampling speed" and assigns names to typical
sample rates: 44-48KHz="normal", 88-96KHz="double", 175-192KHz="quad"...  
(3)- Manual: manually set the sampling rate (44.1KHz, 96KHz...) Use reg 01 and
reg 05 for sampling rate setting. This means, in its simplest form, manually 
matching the sampling rate to the incoming data sample rate to use the highest
oversampling rate allowed by the system and thus obtain best noise performance.
This feature can also be used to select a different sampling rate (typically a
lower oversampling rate); for example, if selecting "normal" for 44.1KHz allows
8x oversampling (512fs), selecting "double" results in 4x oversampling (256fs).
This allows for experimentation with different oversampling rates and can be
used to tailor the sound for those inclined to lower oversampling or even no
oversampling. The use of lower oversampling results in higher noise for these 
kind of DACs. AKM indicates in the datasheet that using a lower oversampling
rate (512fs to 256fs) results in a decrease of S/N of 3dB.

Register address: 01 (Control 2)
 7 6 5 4 3 2 1 0
|_|_|_|_|_|_|_|x| Mute/unmute
|_|_|_|_|_|x|x|_| De-emphasis: Off, 32KHz, 44.1KHz, 48KHz
|_|_|_|x|x|_|_|_| Manual setting of sampling speed: "normal", "double"... (1)
|_|_|x|_|_|_|_|_| Short Delay/Traditional filter (Minimum/Linear phase)
|_|x|_|_|_|_|_|_| Zero data detect mode: Separate channels or ANDed channels
|x|_|_|_|_|_|_|_| Zero data detect ON/OFF

NOTES:
(1)- Manual sampling speed setting uses 3 bits. The third bit is in reg 05. 
See notes on register 00 for additional info on manual settings 

Register address: 02 (Control 3)
 7 6 5 4 3 2 1 0
|_|_|_|_|_|_|_|x| Filter cutoff slope: fast/slow
|_|_|_|_|_|_|x|_| MONO mode: left/right
|_|_|_|_|_|x|_|_| Invert output pin level on zero detect
|_|_|_|_|x|_|_|_| MONO/STEREO mode
|_|_|_|x|_|_|_|_| DSD Data on clock falling/rising edge
|_|x|_|_|_|_|_|_| DSD master clock frequency:512KHz/768KHz 
|x|_|_|_|_|_|_|_| PCM/DSD mode

Register address: 03 (Left Channel Attenuation)
 7 6 5 4 3 2 1 0
|x|x|x|x|x|x|x|x| Attenuation (1)
NOTES:
(1)- 256 levels, 0.5 dB each. 00=mute; ff=max volume

Register address: 04 (Right Channel Attenuation)
 7 6 5 4 3 2 1 0
|x|x|x|x|x|x|x|x| Attenuation (1)
NOTES:
(1)- 256 levels, 0.5 dB each. 00= mute; ff= max volume

Register address: 05 (Control 4)
 7 6 5 4 3 2 1 0
|_|_|_|_|_|_|_|x| Super Slow filter on/off
|_|_|_|_|_|_|x|_| Bit 3 of the manual sampling speed setting (see reg 01)
|_|x|_|_|_|_|_|_| Left channel phase invert ON/OFF
|x|_|_|_|_|_|_|_| Right channel phase invert ON/OFF

Register address: 06 (control 5)
 7 6 5 4 3 2 1 0
|_|_|_|_|_|_|_|x| DSD bit 0 of sampling speed selection (bit 1 is in reg 9)(1)
|_|_|_|_|_|_|x|_| DSD Mode: Direct/Convert to PCM (2)
|_|_|_|_|x|_|_|_| DSD Automute release when Automute release is in "hold"
|_|_|_|x|_|_|_|_| Automute release: Auto/hold (3)
|_|_|x|_|_|_|_|_| Right Channel DSD flag when detecting full scale signal
|_|x|_|_|_|_|_|_| Left Channel DSD flag when detecting full scale signal
|x|_|_|_|_|_|_|_| DSD AutoMute: ON/OFF (4)

NOTES:
(1)- There is no facility for setting auto sample rate detection for DSD. The
use must detect the incoming DSD sample speed and match the sampling speed. 
Will have to experiment to see what is the effect of sample speed mismatch.
(2)- In DSD direct mode, the volume control and delta-sigma modulator are
bypassed. In PCM mode, it converts to PCM and uses volume control block and 
delta-sigma modulator. DSD direct with a combination of the internal filter
and simple output filter meets the filter specification of the SACD Scarlet
Book.
(3)- Automute condition disappears when data becomes under full scale
(4)- Automute condition is when data is full scale

Register address: 07 (Control 6)
 7 6 5 4 3 2 1 0
|_|_|_|_|_|_|_|x| Synchronize ON/OFF (1)

NOTES:
(1) Synchronizes multiple DACs when used together in the same system. Read
data sheet for more information.

Register address: 08 (Control 7)
 7 6 5 4 3 2 1 0
|_|_|_|_|_|_|x|x| Sound Quality Control Setting (1)

NOTES:
(1): Sound Control has 3 settings: "1", "2", "3". The AK4495 data sheet shows
additional settings "4" and "5". These setting refer to the 5 different filters
that are available in the DAC. They serve the same function as the filter 
selection bits specified in the other registers. What is unclear is which
register takes precedence.

Register address: 09 (Control 8)
 7 6 5 4 3 2 1 0
|_|_|_|_|_|_|_|x| DSD bit 1 of sample speed selection (see also reg 5)
|_|_|_|_|_|_|x|_| DSD filter selection when in DSD direct mode

Raspberry Pi B+ Digital Audio

November 13, 2014 5 comments

I2S AUDIO

Although the Raspberry Pi has built-in analog audio output, the interest here is in digital audio output in particular I2S output signals for direct connection to digital to analog converters. I explored a bit the digital audio capabilities of the Raspberry Pi a while ago [link]. Here is an update with more accurate information.

The digital audio capabilities of the Raspberry Pi B+ have not changed from previous versions. The I2S audio is supported by the Broadcom BCM2835 [link]  peripheral SoC chip. The datasheet shows that the PCM audio interface consist of 4 signals, notice that there is no Master Clock signal:

  • PCM_CLK – bit clock.
  • PCM_FS – frame sync signal. Frames can be up to 32 bit wide
  • PCM_DIN  – serial data input.
  • PCM_DOUT – serial data output.

In addition, for more advanced configurations, the device can be configured as master or slave: “the direction of the PCM_CLK and PCM_FS signals can be individually selected, allowing the interface to act as a master or slave device”. In normal operation, it is configured as a master device.

BCMI2S

In the Raspberry Pi B+, The I2S output are assigned to the following pins:

I2SPins-001

EXTERNAL CLOCK

The audio frequencies (the PCM _MCLK) are supposedly generated by the use of a discrete 0n-board 19.2 MHz crystal. Unlike the BeagleBone Black, where there are facilities (pins) to feed an external master clock.

DSC04833

The frequency that is generated at any of the I/O pins, say the bit clock, is obtained by dividing the source clock (19.2 MHz oscillator) by configuring a clock division register with an integer part and a fractional part as indicated by the datasheet excerpt shown below:

bcmClock2

The Datasheet indicates that the clocks are generated by “noise-shaping MASH dividers” which are fractional dividers. It also says that “The fractional dividers operates by periodically dropping source clock pulses”. I believe this post has an example on how this is actually implemented [link].

The way that a 3.25x clock divider is implemented is by dividing by 3x for some periods and 4x for other periods, with the average being 3.25x. In this case the repeating pattern will be (3, 3, 3, 4). That is shown in the following scope capture. Note that the first three periods are divided by 3 and then the next is divided by 4.
FractionalScope
The way this is implemented in the device is to divide by the smaller divider and then extend the high pulse width by one clock cycle periodically.

We can find the integer divider and fractional divider based on MASH 1 (see above) and determine what is the maximum and minimum output frequency:

  • Source clock: 19,200,000 Hz
  • Sample rate: 44,100 Hz; bit clock (64fs)=2,822,400 Hz
  • Actual divisor: 6.8027. Integer part=6
  • Fractional divisor: =0.8027×1024=822 (round off)
  • Maximum frequency: 19,200,000/6=3,200,000 Hz (50 KHz sample rate)
  • Minimum frequency: 19,200,000/7=2,742,857 Hz (42.9 KHz sample rate)
  • Average frequency: 19,200,000/(6+(822/1024))=2,822,394 Hz (44.1 KHz sample rate)

Well, aiming at 44.1KHz sample rate frequency and getting a frequency variation from 42.9 KHz to 50KHz, this can’t really work for digital audio. Clearly there has to be a better way to generate these clock frequencies.

GENERATION OF DIGITAL AUDIO FREQUENCY CLOCKS

Much of the credit for enabling I2S output in the RPi (and the proper generation of clock frequencies) is due to the discussion in the Raspberry Pi forums [link] and work of Florian Meier in his master thesis “Low-Latency Audio over IP on Embedded Systems” [link] who subsequently developed the basic “ALSA SoC I2S Audio Layer for Broadcom BCM2708 SoC” audio kernel driver [link]

There it is explained that in order to get good clocks, one has to use integer division but with a 19.2 MHz clock, it is impossible to arrive at 32fs or 64fs bitclocks (e.g. 64x48KHz=3.072 MHz). Therefore other internal clocks must be used.

According to this post [link] the clocks sources are:

0     0 Hz     Ground
1     19.2 MHz oscillator
2     0 Hz     testdebug0
3     0 Hz     testdebug1
4     0 Hz     PLLA
5     1000 MHz PLLC (changes with overclock settings)
6     500 MHz  PLLD
7     216 MHz  HDMI auxiliary
8-15  0 Hz     Ground

The logical choices are the external 19.2MHz and the highest stable frequency clock which is the 500 MHz clock (highest frequency generates a more accurate clock after fractional clock division)

The author presents two solutions:

  • Use the 19.2 MHz oscillator with integer division for DACs that do not require a specific ratio of bit clock to frame sync (e.g. 32fs for 16 bit data) as long as there are at most enough bit clock cycles within a frame sync cycle to contain the desired word length
  • Use the 500 MHz internal PLL with fractional division for DACs that do require a specific ratio of bit clock to frame synch (e.g 32fs or 64fs)

The first solution says that it is possible to use, say 40fs, to sent 16 bit samples (16bitx2=32bit per frame) because you can transfer all 32 bits in a 40 bit frame. If you can use 40fs for the bitclock, then 40x48KHz= 1.920 MHz which is 19.2 MHz/10. The following excerpt from the thesis explains these two approaches:

bmcClock3

We notice that integer division of the external 19.2 MHz clock only works for 48KHz and 96 KHz and for DACs that can operate at 40fs (80fs if we want to pass 32×2 bits per frame). The current version of the code is using 50fs and 100fs which also works.

For the 44.1KHz sample rate or for bitclock requiring 32fs or 64fs, then the first solution with fractional division is used on the 500 MHz PLLD clock

WHY 19.2 MHz CLOCK?

The fact that no clean clocks can be generated in the digital audio frequency range, tells us that this oscillator was not really meant to be used for digital audio. Now why did the designers of RPi use a 19.2 MHz clock?

I have searched extensively and cannot find a “reason” for the 19.2 MHz frequency. If it were digital audio, a more logical selection would have been 24.576 MHz in order to cleanly support 64fs 48KHz sample rate (like the BeagleBone Black).

A better reason is to use this clock for the on-board PWM audio. One can easily generate a 48KHz carrier frequency (19.2MHz/40) and a resolution of 16 bit would require a frequency of approx 64 KHz (19.2MHz/30). In actually, it has been reported that the resolution is in the neighborhood of 11 bit or 2048 levels which can be obtained by dividing 19.2MHz by a factor of 9375.

SLAVING THE RPi

A better solution is to configure RPi as a slave device and the DAC as a master device.

The DAC can provides a much more accurate clock to the RPi by feeding the Bitclock. I don’t think is being done by the current crop of DACs (the ones based on the PCM5122)  but the capability is there for both in the RPi (“clock slave mode” and “frame synch slave mode”) and the PCM5122 as shown in the following excerpt from the datasheet:

pcm5122Master

Here is what is required to set the DAC in Master Mode, say for example the PCM5122.

  1. RPi detects the sample rate of the clicked-to-play track.
  2. RPi has a way to indicate the sample rate (for example using GPIO pins).
  3. Microcontroller reads sample rate.
  4. Microcontroller programs the appropriate frequency by generating an appropriate master frequency from the PLL and setting the appropriate divider to generate the bitclock.

Other considerations:

  • Timing of the different events. For example, wait until the microcontroller programs the DAC to the appropriate clock frequency before staring the data stream (DMA) in the RPi.
  • Selection of external clock. For example use a single frequency clock, say a multiple of 44.1KHz in order to take advantage of integer divider only when dealing with frequencies multiple fo 44.1KHz.

COMPARISON WITH OTHER DEVICES

Here is the previous comparison table with some updated observations (italics)

Parameter Rasberry Pi
BeagleBone Black
Comments
Native I2S support Yes Yes Both platforms can support I2S output, Custom drivers have been developed by the audio community
I2S Sample Rate limitation Up to 192KHz (because the on-board clock is 19.2MHz) Only 48KHz family (because the on-board clock is 24.576MHz and integer clock dividers) BBB supports 48KHz, 96KHz, 192KHz and 384KHz. RPi supports 44.1KHz, 48KHz, 88.2KHz, 96KHz, 176.4KHz and 192KHz (in theory). RPi uses “fractional clock dividers” to generate the 44.1KHz sample rate family as explained above
Support for USB DAC Yes (LAN9512 chip [link]) Yes (Built-in in the main processor) USB in the RPi goes through a built-in HUB and it is shared with the LAN controller within the USB/LAN chip. USB in the BBB is natively supported by the main processor; LAN has a separate chip
Support for external, low jitter clocks Not possible unless you replace the on board oscillator and modify the driver Yes with custom boards and custom s/w: [link] The master clock in BBB may be provided externally by disabling the on-board audio-freq clock.The Master clock in the RPi seems internally generated and there is no I/O pin to feed an external master clock
Master clock output No Yes (from on-board clock) The Master clock in BBB is provided by the on-board 24.576MHz and fixed at this frequency and can be directly accessed from the outside. The Master clock of RPi seems internally generated but un-accessible from the outside. Without Master Clock, you can only use DACs that can operate asynchronously without a Master Clock input such as the ESS DACs or DACs that can operate with the master clock = bit clock
Built-in rechargeable battery operation No Yes [link]. Maybe Rechargeable Battery operation in BBB would disable the 5V supply to the USB. Thus for USB operation, where the USB adapter takes the power from USB, BBB must be powered with 5V DC
Built-in Storage No.  But the new model has plenty of USB ports for USB memory sticks 2 GB eMMC Flash BBB can boot from the internal storage freeing the SD card for music storage. RPi requires that the OS be stored in the SD card (although it may be possible to also store music in the SD card)
Looks The latest model looks Good Good :-)
Audio H/W and S/W community support Large Small
Price $35 $55

Here is a summary of the phase noise measurements from this post [link]:

I2SPhaseNoise 2

Observations

  • The ESS9023 implements a “jitter eliminator” (asynchronous sample rate converter) but cannot eliminate all the jitter
  • The clocks on the embedded boards have a lot of jitter. It also makes sense that the BBB has better measurement than the RPi. In the BBB, the 48KHz sample rate frequency is derived by integer division of the external clock. In the RPi, the 44.1KHz sample rate frequency is derived from the 500MHz clock which is derived from the external clock as explained above
  • The “lowly” CD player is still a pretty good playback device in terms of jitter
  • I would guess (and only a guess since the author does not identify these interfaces) USB-I2S-2 is an XMOS-based device based on how the clocks are generated and that USB-I2S-1 is a device based on an FPGA or CPLD using two external audio frequency clocks (where straight integer division is used)

SUMMARY

The current method of generating the clocks for digital audio in the RPi are far from perfect. The best clocks are obtained by integer division of the external 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 19.2MHz external clock through a clock multiplier.

However imperfect as these clocks might be, there are a good number of DAC boards that have been developed and reported to work well with the RP1. As these products are being developed by audio fanatics, we can expect continuous improvements and enhanced approaches to better clock generation such as external reclocking and slave configurations.

For additional info, you can check the Raspberry Pi I2S discussion thread here: [link]

Raspberry Pi version B+

November 12, 2014 11 comments

Previously I wrote:

I had ordered a BBB for no other reason that it’s better looking than the Rpi :-)

Well, no longer. I ordered the new version B+ because it is as good looking as the BeagleBone Black :-)

DSC04829

DSC04367

Not really. The reason is because that there is a lot, lot more community development in the Pi than the Beagle. In fact if we just look at shipments, the Raspberry Pi sells almost 20 times the amount of BeableBone Black (over 3.8 million [link] vs 200,000 devices [link]). This is a huge advantage in the popularity front.

I had been a fan of the BeagleBone board [link] mainly because it is a higher performance board and had local storage. In addition (by design or by accident) the audio master clock uses an on-board 24.576 MHz clock from which it derives the frequencies for 48KHz sample rate material with integer division. There is also the capability of receiving the master clock from external sources and thus it is possible to feed it a higher quality 24.576 MHz and 22.5792 MHz clocks. There has been a clock board (and corresponding drivers) in the works since early this year, but nothing available yet as of this writing [link]

In contrast, there has been a much larger development effort in the RPi front as testified by the numerous I2S DAC boards that have become commercially available. Many of these companies are dedicated to building audio solutions first for the Raspberry Pi and then possible for other embedded platforms.

Here is a list of DAC boards available for the Raspberry Pi (versus none for the BeagleBone Black as of this writing)

COMPANY PRODUCT
PRICE DAC CHIP
COMMENTS
G2 Labs BerryNOS 1543 RED $125 Philips TDA1543 Balanced design, discrete output stage, power supply
BerryNOS mini $60 Philips TDA1543 Balanced design, discrete output stage
HIFIBerry HiFiBerry DAC €25 TI PCM5102A
HiFiBerry DAC+ €30 TI PCM5122 DAC volume control
IQAudio PiDAC $38 TI PCM5122 DAC volume control
PiDAC+ $42 TI PCM5122 DAC volume control, headphone amp
Saparel RaspiPlay3 $40 TI PCM5102A From Serbia
RaspiPlay4 [link] TBD TI PCM5122 DAC volume control, IR remote
Audiophonics I-Sabre DAC €25 ESS ES9023
I-Sabre DAC+ €43 ESS ES9023
Element 14 Wolfson Audio Card $35 Wolfson WM5102 Available through resellers. WM5102 is a complete audio system. The board implements line-in, line-out, speaker and headphone output and mic input. The board also includes a WM8804 providing SPDIF input and output, a digital microphone and expansion header for other Wolfson devices
TekDevice DACBerry2+ $45 TI PCM5102A
DACBerry3+ $51 ESS ES9023
HIFImeDIY ES9023 DAC $19 ESS ES9023 Lowest price!
DurioSound DurioSound $45 TI PCM5102A Has ultra low noise regulator (TPS7a47)
DurioSound Pro $70 TI PCM5102A Has ultra low noise regulator (TPS7a47) and Local Power Supply

Notes:

  1. Notice that the DAC chips used are the ones that can cope without a Master Clock. RPi I2S does not Master Clock, so the DACs synch on bitclock and generate their own master clock.
  2. Products using PCM 5122 can use the DAC’s internal volume control and therefore can be connected directly to an amplifier.
  3. There are companies such as diyinhk and curryman that are not listed because they do not specifically make DAC boards that conform to the RPi footprint but are fully functional as I2S DACs. Any I2S DAC that does not require master clock will work.

My Favorite ones are the HIFIBerry DAC+ and the IQAudio PiDAC+, both based on the PCM 5122 with “hardware” volume control (meaning using the volume control in the DAC itself)

hifiberrydacplus

[link]

pi-dac_plus

[link]

WHAT IS NEW IN THE B+

In the two years since we launched the current Raspberry Pi Model B, we’ve often talked about our intention to do one more hardware revision to incorporate the numerous small improvements people have been asking for. This isn’t a “Raspberry Pi 2″, but rather the final evolution of the original Raspberry Pi. Today, I’m very pleased to be able to announce the immediate availability, at $35 – it’s still the same price, of what we’re calling the Raspberry Pi Model B+. [link]

There are a million reviews on the Raspberry Pi. Here is one more but with a slant towards diyaudio…

New Layout (and more I/O pins)

DSC04828

I2SPins-001

Notice that the I2S pins are right next to a GND pin. This is particularly good as you can easily use twisted pairs (for noise immunity) when connecting to a DAC

List of integrated circuits [link]

Label Device Description
U1 BCM2835 SoC comprising ARM Processing core and Video Core. Data Sheet
U2 LAN9514 4 USB 2.0 Hub and 10/100 Ethernet controller. Data Sheet
U3 PAM2306AYPKE Dual DC-DC Switching converter. Data Sheet
U4 APX803-46SAG Brownout detector (reset generator)  Data Sheet
U5 AP7115-25SEG 150 mA Linear Regulator. 50 uV noise (Video DAC)  Data Sheet
U6 N.U.
U7 N.U.
U8 ESD5384 ESD protection for HDMI. Data Sheet
U9 AP2331W Current limited switch (for HDMI hot plug) Data Sheet
U10 AP7115-25SEG 150 mA Linear Regulator. 50 uV noise. (PWM Audio Driver supply) Data Sheet
U11 NC7WZ16 Ultra High Speed dual buffer. (PWM Driver) Data Sheet
U12 N.U.
U13 AP2553W6 USB current limited power switch (for hot plug). Data Sheet
U14 DMMT5401 Matched PNP transistors. Data Sheet

Board schematic here: [link]

The audio jack is also a composite AV jack

avjack

More USB Ports

DSC04830

New USB/Network Chip (to support the 4 USB ports)

DSC04831

The USB powerchain has a proper limiting switch and will not brown out the board if USB devices are plugged in when powered (or even if they try to take too much current or there is a fault like a power short). Default allowed USB current across 4 ports is 600mA, but can be increased to 1.2A via a config.txt parameter if a good quality 2A PSU is used. I have tried a few different USB hard disks and they all power fine directly from the Pi at the 1.2A setting. [link]

To increase power to 1.2A you add the following line in /boot/config.txt[link]

  • max_usb_current=1 (newer software)
  • safe_mode_gpio=4 (older software)

The 5V for the USB ports is provided directly by the 5V of the input supply. The schematic below shows the 5V sourced from Power In. There is a 2A fuse a diode-like low-drop polarity protection circuit and an over-voltage zener.

RPiPower2

Therefore a better quality power supply is required. Here is an excellent post on choosing and evaluating 5V charger/supply [link]

I like the Orico DCX-2U. It has two USB outputs: 1×2.4A, 1×1.5A. The 2.4A output is plenty for a “fully loaded” RPi

High Efficiency Switching Supply (power consumption is reduced by between 0.5W and 1W)

DSC04839

The DC-DC Switching supply is the PAM2306AYPKE. This device supplies the 3.3v and 1.8v supplies. The switching frequency is 1.5MHz (which can easily removed by the LC filters on the outputs).

RPiPower1

MicroSD Card Slot

There are many theories as to why the SD card was replaced with the micro SD card. I think it is probably lower cost.

DSC04834

BETTER ANALOG AUDIO

According to the people from Raspberry Pi, the audio in the B+ model has been improved. The audio circuit (AUDIO out) incorporates a dedicated low-noise power supply (the input to this power supply is the external 5V supply). According to this comment [link]:

The B+ does not use use a switching regulator for its PWM driver, that would indeed be a bad design choice, instead it uses the AP7115-25SEG [link] low drop regulator with high power supply rejection ratio. It creates a noise free 2.5V for the NC7WZ16 PWM driver, the output of which is attenuated and filtered with two 100 Ohm resistors, and a 100 nF capacitor, so the output is 50 Ohm, and can reach 1.25Volt p/p.

U10 is the linear regulator and U11 is the “PWM Driver”

DSC04836

Whether this audio is “better” or not, it does not concern us. Take a look at this post [link].

WHAT’S THE SAME?

Same SoC (Same ARM processor and GPU and 512MB of RAM)

512MB

Unlike the BeagleBone Black, there is no local memory for storage. The s/w runs out of the microSD card.

Same external 19.2 MHz crystal

DSC04833

First One Build: Adjusting Operating Parameters

November 11, 2014 4 comments

This should be the last info gathering post for building the First One Amp. Now I need to get a drill press in order to drill the holes on the heatsink…

The module is set to the correct operating parameters and tested at the factory. In case you need to check and readjust, most of the instructions can be found in this post [link] and following. The trimpots and test points are clearly maked on the board

DSC04822

 

OUTPUT BIAS CURRENT

The bias current when the amp is in idle (no input) is 220 mA for the output stage  [link] (200 mA absolute minimum if you have heat problems [link]), plus 60 mA for the rest of the circuit. This is a fixed value regardless of the supply voltage [link]. Trimpot TR3 is used to set the output bias current.Thus:

  • Output bias current = 280 mA. (minimum 260 mA)

How to measure output bias current

The simplest way to measure the output bias current is with a digital voltmeter in current measurement mode. Connect the meter in series with the positive power supply wire. Alternatively you can connect a low value (1 ohm) resistor in series with the positive supply wire and measure the voltage across the power resistor. [link]

DC OFFSET AND VAS BIAS CURRENT

The DC offset and VAS bias are set as follows:

  • DC offset = 0v (+/- 10 mv)
  • VAS bias = 12 mA when cold or 15 mA when idle for 20 minutes

How to adjust DC offset and VAS bias

TR1 and TR2 sets DC offset and VAS bias current at the same time. Both works in pairs reciprocally as best explained by this post from the VAAS thread [link]:

VSSA-Calibration

  • Adjust (both together) TR1 and TR2 clockwise: increase VAS bias current
  • Adjust (both together) TR1 and TR2 counter-clockwise: decrease VAS bias

How much to turn TR1 and TR2 depends on the DC offset, so you must adjust both to arrive at the correct VAS bias and zero DC offset. Using two DMM would make the adjustment easier.

How to measure DC offset

  • To measure the offset short the amp’s inputs and measure DC at the outputs.[link]

How to measure VAS bias

  • Amp cold: 12 mA bias: measure 120 mV between TP1(+) and TP2(-) or between TP3-TP4 (doesn’t matter which pair of test points).
  • Amp idle for 20 minutes: 15 mA bias: measure 150 mV between TP1(+) and TP2(-) or between TP3-TP4

PICTORIAL VIEW

Here is a diagram of the 3 parameters that can be adjusted:

  • Use TR3 to adjust DC Bias to 280 mA
  • Use TR1 and TR2 to adjust DC Offset to 0 V and VAS current by measuring voltage of 120 mV (cold) or 150 mV (warm)

FOAdjust