beautypg.com

Maxim Integrated High-Speed Microcontroller Users Guide: DS80C390 Supplement User Manual

Page 146

background image

High-Speed Microcontroller User’s Guide: DS80C390 Supplement

146 of 158

6. CAN waits for Software to read message center and determine the fact that EXTRQ = 1.
7. Software disables message center and converts message center into transmit message center.
8. Software clears MSRDY = 0 to disable message center. Software leaves EXTRQ = 1.
9. Software then forces message center to transmit mode, T/R = 1.
10. Software writes MSRDY = 0, DTUP = 0 and TIH = 1 in preparation to load data.
11. Software loads data into message center.
12. Software writes MSRDY = 1, MTRQ = 1, DTUP = 1 and TIH = 0 in same instruction.
13. Note that Software leaves EXTRQ = 1.
14. CAN will automatically transmit data (as per RFR DTBYC) in respective message center.
15. CAN clears EXTRQ = 0 and MTRQ =0.

Case 4: Software-Initiated Reply (Reply by same different center, using TIH as Gating Control)

CAN Controller wishes to receive an RFR in a message center (denoted MC1) configured also be able to
receive data (T/ R = 0) and to wait for software to select another message center (denoted MC2) to send
data back to remote request node.

1. Software sets T/ R = 0, MSRDY = 1, and DTUP = 0 in MC1 and awaits either data frame or RFR.

Note: Software does not change MTRQ = 0 in MC1 from previous completed transmission.

2. CAN successfully receives RFR in MC1.
3. CAN forces EXTRQ = 1 and DTUP = 1 in MC1.

MTRQ can not be written to a 1 by the CAN when T/ R = 0 and is left as MTRQ = 0

4. CAN loads DTBYC from RFR and ID into arbitration registers in MC1.
5. CAN waits for Software to read message center and determine the fact that EXTRQ = 1.
6. Software disables in MC1 to transfer information to MC2.
7. Software clears MSRDY = 0 to disable MC1. Software leaves EXTRQ = 1.
8. Software clears MSRDY = 0 in a MC2.
9. Software forces MC2 to transmit mode T/ R = 1.
10. Software loads ID and DTBYC value from MC1 into ID and DTBYC value for MC2.
11. Software writes MSRDY = 0, DTUP = 0 and TIH = 1 in MC2 in preparation to load data to MC2.
12. Software loads data into MC2.
13. Software writes MSRDY = 1, MTRQ = 1 EXTRQ = 0, DTUP = 1 and TIH = 0 in MC2 in same

instruction.
Note that CAN has not set EXTRQ in MC2, and is not required to be set for transmission of data
from MC2.

14. CAN will automatically transmit data (as per RFR DTBYC) in MC2.
15. CAN clears MTRQ =0 (leaving previous EXTRQ = 0 cleared).
16. Software sets T/ R = 0, MSRDY = 1, EXTRQ = 0, and DTUP = 0 in MC1 and awaits either next

RFR or data frame.
Note that MTRQ is still cleared in MC1 since MC1 has not been set to a transmit mode.