Datasheet
dsPIC30F3014/4013
DS70138G-page 116 2010 Microchip Technology Inc.
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
available 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 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.
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
T
Q. By definition, the nominal bit time has a minimum
of 8 T
Q 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 17-2: CAN BIT TIMING
Input Signal
Sync
Prop
Segment
Phase
Segment 1
Phase
Segment 2
Sync
Sample Point
TQ