AD1940 AnalogDevices
AD1940 AnalogDevices
Silicon Kernel
Revision Revision Silicon
Identifier Identifier Chip Marking Status Anomaly Sheet No. of Reported Anomalies
All silicon branded Release Rev. 0 2
AD1940YST
AD1941YST
Rev. 0
Information furnished by Analog Devices is believed to be accurate and reliable.
However, no responsibility is assumed by Analog Devices for its use, nor for any
infringements of patents or other rights of third parties that may result from its use.
Specifications subject to change without notice. No license is granted by implication One Technology Way, P.O. Box 9106, Norwood, MA 02062-9106, U.S.A.
or otherwise under any patent or patent rights of Analog Devices. Trademarks and Tel: 781.329.4700 www.analog.com
registered trademarks are the property of their respective owners. Fax: 781.461.3113 © 2005 Analog Devices, Inc. All rights reserved.
AD1940/AD1941
ANOMALIES
Rev. 0 | Page 2 of 4
AD1940/AD1941
2. Data Capture Readback [er002]
Background: Internal signals can be read back from any point in the signal flow with the data capture registers.
Issue: A read from the data capture registers using the control port readback (Addresses 2634 to 2639) may read back
portions of multiple data-words from the SigmaDSP. In most cases, this is not a problem for slowly changing signals
(such as from a level detector), but may cause unexpected jumps in read data. The data capture registers are each
updated at the rate of fs (usually 44.1 kHz or 48 kHz). The control port (SPI or I2C) reads back the data from the DSP core
byte by byte. If the control port is running slower than fs or is not synchronized with fs, then bytes from two or three
different 24-bit words may be read back as one word. The worst case of where this problem will manifest itself is when
a bit transition occurs at the byte crossing. The example below shows a slowly decreasing value from subsequent data
capture reads, as might be read from a level detector.
First word: 00000001 01010101 01010101
Second word: 00000001 00100000 00000000
Third word: 00000001 00000010 00000000
Fourth word: 00000000 11111111 01010101
Fifth word: 00000000 11100101 01010101
Between the third and fourth words that are read, there is a bit transition between the 8th and 9th MSBs, which results in
a significant change in level if individual bytes are taken from subsequent reads to create the complete read word. In
this example, if the first byte of the third word is read back, along with the second byte of the fourth word and the third
byte of the fifth word, then the resultant read word is 00000001 11111111 01010101, which has a value much higher
than any of the individual words from which it was read. This example shows the worst possible error that could be
encountered because of this anomaly.
Workarounds: 1. In the SigmaDSP program, scale the data to be captured so it fits in a single byte. Then, when the data is read
back, use only one of the three bytes. If this is done, then just the first byte can be read and the control port
transaction can be ended without reading the last two bytes.
2. Before reading back from the data capture registers, disable these registers by writing an illegal program count
value. This illegal count should be written after the desired data capture address has been written to the data
capture register. The address portion of the data capture control register is 11 bits long. The program has a
maximum length of 1535, so any address values from 1536 to 2048 (211) disables the register. The proper
sequence of events is to first write an address >1535 to the data capture program count field. Second, read all
three bytes from the data capture register. In this setup, it is okay to read three bytes because the data in the
register is static and is not updated at the rate of fs. These three bytes will be the last word that was saved into the
data capture register before the illegal count was written. Lastly, write the correct desired program count back to
the data capture registers to re-enable the data capture.
Solution two takes more control port bandwidth, but is cleaner and allows all 24 bits of the data to be read.
Related Issues: None.
Rev. 0 | Page 3 of 4
AD1940/AD1941
NOTES
Rev. 0 | Page 4 of 4