The token response (or feedback) includes token values and a response bit field.
There are eight response bits for each byte-write to the watchdog timer. The response bit is calculated using a modulus-2 based arithmetic to get a single bit result (example: 1 ⊕ 1 ⊕ 1 = 1).
- The 4-bit feedback value is from the Token_FB [FDBK] bit field.
- The 4-bit token value is from the Token_FB [TVAL] bit field.
- The 2-bit count value is from the Enable_and_Status [ACNT] bit field.
Software writes the 8-bit response value in proper succession to the Token_Resp [ANS] bit field.
Token | Token value written to SWDT.Token_FP [9:8] | |||
---|---|---|---|---|
00 | 01 | 10 | 11 | |
Token[0] |
LFSR[1] ⊕ |
LFSR[3] ⊕ Token_Cnt[3] |
LFSR[2] ⊕ |
LFSR[1] ⊕ |
Token[1] |
LFSR[3] ⊕ |
LFSR[2] ⊕ |
LFSR[3] ⊕ |
LFSR[3] ⊕ |
Token[2] |
LFSR[0] ⊕ |
LFSR[1] ⊕ |
LFSR[0] ⊕ |
LFSR[0] ⊕ |
Token[3] |
LFSR[2] ⊕ |
LFSR[0] ⊕ |
LFSR[1] ⊕ |
LFSR[2] ⊕ |
Response | Token value written to SWDT.Token_FP [11:10] | |||
---|---|---|---|---|
00 | 01 | 10 | 11 | |
Ans[0] |
Count[1] ⊕ Token[0] ⊕ |
Count[1] ⊕ Token[0] ⊕ |
Count[1] ⊕ Token[1] ⊕ |
Count[1] ⊕ Token[2] ⊕ |
Ans[1] |
Count[1] ⊕ Token[0] ⊕ |
Count[1] ⊕ Token[0] ⊕ |
Count[1] ⊕ Token[2] ⊕ |
Count[1] ⊕ Token[1] ⊕ |
Ans[2] |
Count[1] ⊕ Token[0] ⊕ |
Count[1] ⊕ Token[0] ⊕ |
Count[1] ⊕ Token[2] ⊕ |
Count[1] ⊕ Token[1] ⊕ |
Ans[3] |
Count[1] ⊕ Token[0] ⊕ |
Count[1] ⊕ Token[0] ⊕ |
Count[1] ⊕ Token[1] ⊕ |
Count[1] ⊕ Token[3] ⊕ |
Ans[4] |
Count[0] ⊕ Token[1] |
Count[0] ⊕ Token[0] |
Count[0] ⊕ Token[2] |
Count[0] ⊕ Token[3] |
Ans[5] |
Count[0] ⊕ Token[3] |
Count[0] ⊕ Token[0] |
Count[0] ⊕ Token[1] |
Count[0] ⊕ Token[2] |
Ans[6] |
Count[0] ⊕ Token[0] |
Count[0] ⊕ Token[1] |
Count[0] ⊕ Token[2] |
Count[0] ⊕ Token[3] |
Ans[7] |
Count[0] ⊕ Token[2] |
Count[0] ⊕ Token[0] |
Count[0] ⊕ Token[1] |
Count[0] ⊕ Token[2] |