dsPIC30F3014/4013
17.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. The TXnIF flags are
read to determine which transmit buffer is avail-
able and caused the interrupt.
• Transmit Error Interrupts:
A transmission error interrupt is 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 register, CiINTF. 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 (CiINTF<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 (CiINTF<13>) indicates that the
Transmit Error Counter (TERRCNT<7:0>)has
exceeded 255 and the module has gone to the
bus off state.
FIGURE 17-2:
CAN BIT TIMING
Input Signal
17.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 Phase Segment 2
• Sample Point
• Propagation Segment bits
17.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 17-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
TQ. 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.
Prop
Sync Segment
TQ
Phase
Segment 1
Sample Point
Phase
Segment 2
Sync
DS70138E-page 110
© 2007 Microchip Technology Inc.