(16)EXECUTE DEVICE DIAGNOSTIC (X'90')
This command performs an internal diagnostic test
If device 1 is present:
∙Both devices shall execute
∙The device 0 waits for up to 5 seconds until device 1 asserts the PDIAG- signal.
∙If the device 1 does not assert the PDIAG- signal but indicates an error, the device 0 shall append X‘80’ to its own diagnostic status.
∙The device 0 clears the BSY bit of the Status register and generates an interrupt. (The device 1 does not generate an interrupt.)
∙A diagnostic status of the device 0 is read by the host system. When a diagnostic failure of the device 1 is detected, the host system can read a status of the device 1 by setting the DV bit (selecting the device 1).
When device 1 is not present:
∙The device 0 posts only the results of its own
∙The device 0 clears the BSY bit of the Status register, and generates an interrupt.
Table 5.7 lists the diagnostic code written in the Error register which is
If the device 1 fails the
| Table 5.7 Diagnostic code | |
|
|
|
Code |
| Result of diagnostic |
|
|
|
X‘01’ |
| No error detected. |
X‘02’ |
| HDC Register compare error |
X‘03’ |
| Data buffer compare error |
X‘05’ |
| ROM sum check error |
X‘06’ |
| MPU internal RAM compare error |
X‘8x’ |
| Failure of device 1 |
|
|
|
5 - 37 |