|
29 | 29 | 3. No external reference on 0-series and 1-series below 16k. |
30 | 30 | 4. 16k (1+series) parts are blessed with a number a boons. One of them is a second ADC. I think the intent was to provide a way to approximate having a differential ADC by triggering both at once (well, one of the intents, another one was because the ADC0 is taken over by the PTC if that is in use. |
31 | 31 | 5. The Dx-series differential ADC is a bad joke. First: The maximum absolute value both voltages is V<sub>ref</sub>, above that, wrong results are returned. And there's no amplification other than what you can press the opamps into service as. |
32 | | - **Unsubstantiated and slanderous speculation** My theory is this: The dual ADC on the 1+ series was to get dual ADC field tested because even then they could see that the new ADC was going to be an ordeal. They figured they can get away with 1 generation of chips without explicit differential ADC, but they still needed a way for some friendly customers to be able to do something like a differential ADC reading - and they were going to have to dothat inthe DX - I think the Dx-series parts's "differential mode" is equivalent to two single ended measurements and some simple math) |
| 32 | + **Unsubstantiated and slanderous speculation** My theory is this: The dual ADC on the 1+ series was to get dual ADC field tested because even then they could see that the new ADC was going to be an ordeal. They figured they can get away with 1 generation of chips without explicit differential ADC, but they still needed a way for some friendly customers to be able to do something like a differential ADC reading - and they were going to have to dothat in the DX - I think the Dx-series parts's "differential mode" is equivalent to two single ended measurements and some simple math) |
33 | 33 | 6. This is a REAL differential ADC. Max V<sub>Ain</sub> = Vdd + .1 or .2V and for useful readings their difference must be smaller than VREF. The tiny2 has some mysterious tunables, proper tuning of which is unclear. Offset error is disappointingly high, which Microchip noticed and introduced sign chopping (and removed a mysterious tunable or two) in the EA series, which should help significantly. |
34 | 34 |
|
35 | 35 | The differential ADC on the Dx-series is disappointing. |
@@ -358,7 +358,7 @@ Note that the numeric values, though not the names, of some of these were change |
358 | 358 | |Potentially valid reading |see previous | | 0 | analogCheckError() will return 0 when passed a 16-bit datatype with a number less than 4096, or a signed 32-bit datatype containing a number between |
359 | 359 | | - | . | . | - | -2,097,152 and 4,194,303, that is. 4095 * 1024 accumulated samples, or -2048 * 1024 accumulatted samples. (note, millions, 32-bit type can hold billions) |
360 | 360 |
|
361 | | -Unsigned column is provided for convenience for those not interested in using the helper function, The reason the numbers are in the middle of nowhere is so we didnt collide with negative differential readings, and they start just below a byte so I can subtract the LSB from 0 to get the error code. |
| 361 | +Unsigned column is provided for convenience for those not interested in using the helper function, The reason the numbers are in the middle of nowhere is so we didn't collide with negative differential readings, and they start just below a byte so I can subtract the LSB from 0 to get the error code. |
362 | 362 |
|
363 | 363 | These errors are mostly of the sort that point to a bug in user code or a designer misunderstanding key aspects of the functionality, or something silly like a pin selection issue, or a peripheral conflict trying to use the ADC for two different things. adjacent array in memory? Overclocking too hard such that the chip was doing math wrong?). |
364 | 364 |
|
|
0 commit comments