English
Language : 

AK7744VT Datasheet, PDF (44/50 Pages) Asahi Kasei Microsystems – 24bit 3ch ADC + 24bit 4ch DAC with Audio DSP
[ASAHI KASEI]
[AK7744]
5) Simple error check for communication
The AK7744 has a simple CRC error check function.
(Note: Its main purpose is checking against the noise effects during ata writes from microprocessor to the AK7744.
This check CANNOT guarantee 100% error detection on the AK7744, because this CRC (cyclic redundancy
check) is before writing internal AK7744’s RAM or its register.
Explanation:
* Serial data(X): Input SI data from RQ fall to rise up.
* Generator polynomial G(x) =x16+x12+x5+1 (X.25 of CCITT standard order of hexadecimal is 11021h).
* The rest of D(x) divides by G(x) is R(x).
This division is using exclusive-or instead of subtraction during this calculation.
It makes good 16-bit zero data after translated serial data D(X) and the rest R(X) of
this division comes out 16bit data.
In order to do simple error check is as following:
1) Use the command code B6h and write the R(x) (the rest result of serial data D(x) divided by G(x)).
2) Then use the command code D6h and read out R(x) to check whether the R(x) is correct or not. (Unless this read
out, CRC check itself works.)
3) If the result of the rest D(x) divided by G(x) is equal to R(x), SO outputs “H” from the next rising edge of RQ
to falling edge of RQ . (However, SO read out from micro-controller is prior to this signal. Refrain from a
runtime read out while doing CRC check.) If R(x) is not equal to the result, it outputs “L”.
4) If you want to check other serial data, then repeat action form 1) to 3).
Note) In the case of detecting CRC error in runtime “CRAM rewrite” (A4h) or “OFRAM rewrite“(94h), the
possibility of writing data to the wrong address exists.
* Specific order of data translates.
1) Write the register
The rest R(x) data writing is using 3-byte/unit (24bit)
Data translate order.
cCommand code
B6h
dUpper 8bit of R(x) (D15 * * * * * * D8)
eLower 8bit of R(x) ( D7 * * * * * * D0)
2) Read out the register
The rest R(x) data reading out is 3-byte/unit (24bit)
Data translate order
cCommand code
D6h
dUpper 8bit of R(x) (D15 * * * * * * D8)
eLower 8bit of R(x) ( D7 * * * * * * D0)
<MS0167-E-00>
- 44 -
2002/10