CP3BT26

ity is combined by the 4-bit TXPRI value and the 4-bit buffer number (0...14) as shown below. The lowest resulting num- ber results in the highest transmit priority.

7

4

3

0

 

TXPRI

 

BUFFER #

 

 

 

 

Table 47 shows the transmit priority configuration if the pri- ority is TXPRI = 0 for all transmit buffers:

Table 47 Transmit Priority (TXPRI = 0)

TXPRI

Buffer

PRI

TX Priority

Number

 

 

 

 

 

 

 

0

0

0

Highest

 

 

 

 

0

1

1

 

 

 

 

 

:

:

:

:

:

:

:

:

 

 

 

 

0

14

14

Lowest

 

 

 

 

Table 48 shows the transmit priority configuration if TXPRI is different from the buffer number:

Table 48 Transmit Priority (TXPRI not 0)

TXPRI

Buffer

PRI

TX Priority

Number

 

 

 

 

 

 

 

14

0

224

Lowest

 

 

 

 

13

1

209

 

 

 

 

 

12

2

194

 

 

 

 

 

11

3

179

 

 

 

 

 

10

4

164

 

 

 

 

 

9

5

149

 

 

 

 

 

8

6

134

 

 

 

 

 

7

7

119

 

 

 

 

 

6

8

104

 

 

 

 

 

5

9

89

 

 

 

 

 

4

10

74

 

 

 

 

 

3

11

59

 

 

 

 

 

2

12

44

 

 

 

 

 

1

13

29

 

 

 

 

 

0

14

14

Highest

 

 

 

 

Note: If two buffers have the same priority (PRI), the buffer with the lower buffer number will have the higher priority.

19.6.3Transmit Procedure

The transmission of a CAN message must be executed as follows (see also Figure 57)

1. Configure the CNSTAT status field as TX_NOT_ACTIVE. If the status is TX_BUSY, a previ- ous transmit request is still pending and software has no access to the data contents of the buffer. In that case, software may choose to wait until the buffer be- comes available again as shown. Other options are to exit from the update routine until the buffer has been transmitted with an interrupt generated, or the trans- mission is aborted by an error.

2.Load buffer identifier and data registers. (For remote frames the RTR bit of the identifier needs to be set and loading data bytes can be omitted.)

3.Configure the CNSTAT status field to the desired value:

TX_ONCE to trigger the transmission process of a single frame.

TX_ONCE_RTR to trigger the transmission of a sin- gle data frame and then wait for a received remote frame to trigger consecutive data frames.

TX_RTR waits for a remote frame to trigger the trans- mission of a data frame.

Writing TX_ONCE or TX_ONCE_RTR in the CNSTAT sta- tus field will set the internal transmit request for the CAN module.

If a buffer is configured as TX_RTR and a remote frame is received, the data contents of the addressed buffer will be transmitted automatically without further CPU activity.

Write_buffer

Write

TX_NOT_ACTIVE

Yes

TX_BUSYx?

No

Write ID/data

Write

TX_ONCE

or

TX_ONCE_RTR

or

TX_RTR

Exit

DS041

Figure 57. Buffer Write Routine

www.national.com

124

Page 124
Image 124
National CP3BT26 manual Txpri, Pri