English
Language : 

AK7746 Datasheet, PDF (57/62 Pages) Asahi Kasei Microsystems – Audio DSP with 5-channel 24-bit ADC and Input Mux
[ASAHI KASEI]
[AK7746]
5) Simple error check for communication
The AK7746 has a simple CRC error check function.
(Note: Its main purpose is checking against the noise effects during writes from microprocessor to the AK7746. This check CANNOT
guarantee 100% error detection on the AK7746.
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 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)
[MS0369-E00]
- 57 -
2004/12