Got a bit distracted with reading microcontroller datasheets and reference manuals for some projects, mostly for the ST Micro STM32F767ZI and for the Silicon Labs "Universal Bee" series (I'm using the EFM8UB3 for a project at the moment). But here's some "normal" datasheet reading.

## Find Those Elusive ADC Sparkle Codes and Metastable States (Analog MT-011)

"Sparkle codes" are rare random errors that arise in flash ADCs because of metastable states in the comparators used for determining input signal levels. These intermittent errors (which are separate from the errors due to the usual Gaussian noise in ADCs) can be a problem for some applications looking for intermittent events. They're called "sparkle" codes because they were discovered in video applications in early ADCs. Because of the way that flash ADCs work, even a single comparator ending up in a metastable state can lead to very large output errors.

The main lesson from this is that measuring the true bit error rate of an ADC is a laborious task when those error rates are low!

## BQ24157 Fully Integrated Switch-Mode Charger With USB Compliance and USB-OTG Support (TI)

This is a fairly standard single-cell USB battery charger, allowing up to about 1.5A charge current. It also has support for USB OTG, though I don't know anything about that.

There are what I'm now recognising as the usual layout guidelines: "put all the passives as close as you can!".

This thing is in a ridiculously tiny package: DSBGA (Die Scale Ball Grid Array), 2 x 2 mm, 0.4 mm ball pitch. I won't be using one of these any time soon...

## Precision Absolute Value Circuits (TI SBOA068)

This is pretty interesting, with some simple opamp (and in-amp) circuits for precision rectifiers.

## TLVx379 Low-Voltage Rail-to-Rail I/O Operational Amplifiers (TI)

Little packages, little current (microamps), low-voltage (1.8-5.5V).

The gain-bandwidth product for these things is only 90 kHz. That seems very low, but that may just be the price you pay for the low power.

The datasheet has some useful layout tips for these things, mostly to do with routing input signals away from power, and possibly using a guard ring. I have a circuit I'm designing at the moment where this might be useful to think about.

## Intermodulation Distortion Considerations for ADCs (Analog MT-012)

Intermodulation distortion (IMD) is a measure of linearity, looking at the mixing of nearby signals in a device. It's usually quoted for RF amplifiers, mixers, etc., but it can also be a useful characteristic for ADCs.

IMD is measured by applying two pure sine wave signals at nearby frequencies $f_1$ and $f_2$ ($f_1 < f_2$) and look at amplitudes of 2nd and 3rd order intermodulation products. In practical applications, the second order intermodulation products $f_2 - f_1$, $f_1 + f_2$, etc. are usually removed by filters, so most analysis concentrates on the 3rd order products like $2 f_1 - f_2$ or $2 f_2 - f_1$, which are close to the original pure signals.

IMD for each product is then quoted as dbC relative to either of the pure tone signals. When looking at amplifiers, IMD amplitudes increase in power more quickly than the pure tone signal power, so it can be useful to quote intercept points between the (linear extrapolations of) intermodulation products and the pure tone signals, usually denoted as IP2 and IP3. This isn't such a good approach for ADCs.

You can also look at multi-tone SFDR as a measure for intermodulatiokn distortion. This can be a better measure for applications involving broader spectra (e.g. mobile phone protocols).