Datasheet
dsPIC30F4011/4012
DS70135G-page 134 © 2010 Microchip Technology Inc.
19.5.6 TRANSMIT INTERRUPTS
Transmit interrupts can be divided into 2 major groups,
each including various conditions that generate
interrupts:
• Transmit Interrupt
At least one of the three transmit buffers is empty (not
scheduled) and can be loaded to schedule a message
for transmission. Reading the TXxIF flags will indicate
which transmit buffer is available and caused the
interrupt.
• Transmit Error Interrupts
A transmission error interrupt will be indicated by the
ERRIF flag. This flag shows that an error condition
occurred. The source of the error can be determined by
checking the error flags in the CAN Interrupt Status reg-
ister, C1INTF. The flags in this register are related to
receive and transmit errors.
• Transmitter warning interrupt.
• The TXWAR bit indicates that the Transmit Error
Counter has reached the CPU warning limit of 96.
• Transmitter error passive.
• The TXEP bit (C1INTF<12>) indicates that the
Transmit Error Counter has exceeded the error
passive limit of 127 and the module has gone to
error passive state.
• Bus off.
• The TXBO bit (C1INTF<13>) indicates that the
Transmit Error Counter (TERRCNT<7:0>) has
exceeded 255 and the module has gone to bus off
state.
19.6 Baud Rate Setting
All nodes on any particular CAN bus must have the
same nominal bit rate. In order to set the baud rate, the
following parameters have to be initialized:
• Synchronization Jump Width
• Baud Rate Prescaler
• Phase Segments
• Length Determination of Phase2 Seg
• Sample Point
• Propagation Segment Bits
19.6.1 BIT TIMING
All controllers on the CAN bus must have the same
baud rate and bit length. However, different controllers
are not required to have the same master oscillator
clock. At different clock frequencies of the individual
controllers, the baud rate has to be adjusted by
adjusting the number of time quanta in each segment.
The nominal bit time can be thought of as being divided
into separate non-overlapping time segments. These
segments are shown in Figure 19-2.
• Synchronization segment (Sync Seg)
• Propagation time segment (Prop Seg)
• Phase segment 1 (Phase1 Seg)
• Phase segment 2 (Phase2 Seg)
The time segments and also the nominal bit time are
made up of integer units of time called time quanta or
T
Q. By definition, the nominal bit time has a minimum
of 8 TQ and a maximum of 25 TQ. Also, by definition,
the minimum nominal bit time is 1 μsec, corresponding
to a maximum bit rate of 1 MHz.
FIGURE 19-2: CAN BIT TIMING
Input Signal
Sync
Prop
Segment
Phase
Segment 1
Phase
Segment 2
Sync
Sample Point
TQ