User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 573
UG585 (v1.11) September 27, 2016
Chapter 18: CAN Controller
Rx/Tx Bit Timing Logic
The primary functions of the bit timing logic (BTL) module include:
Generate the Rx sampling clock for the bitstream processor (BSP)
Synchronize the CAN controller to CAN traffic on the bus
Sample the bus and extracting the data stream from the bus during reception
Insert the transmit bit stream onto the bus during transmission
The nominal length of the bit time clock period is based on the CAN_REF_CLK clock frequency, the
baud rate generator divider (can.BRPR register) and the segment lengths (can.BTR register).
The bit timing logic module manages the re-synchronization function for CAN using the sync width
parameter in the can.BTR[SJW] bit field. The CAN bit timing is shown in Figure 18-6.
Sync Segment count always equals one time quanta period.
The TS 1 and TS 2 period counts are programmable using the can.BTR[TS1, TS2] bit fields. These
registers are written when the controller is in Configuration mode. The width of the propagation
segment (PROP_SEG) must be less than the actual propagation delay.
Time Quanta Clock
The time quanta clock (TQ_CLK) is derived from the controller reference clock (CAN_REF_CLK) divided
by the baud rate prescaler (BRP).
tTQ_CLK = tCAN_REF_CLK * (can.BRPR[BRP] + 1)
freqTQ_CLK = freqCAN_REF_CLK / (can.BRPR[BRP] + 1)
tSYNC_SEGMENT = 1 * tTQ_CLK
tTIME_SEGMENT1 = tTQ_CLK * (can.BTR[TS1] + 1)
tTIME_SEGMENT2 = tTQ_CLK * (can.BTR[TS2] + 1)
X-Ref Target - Figure 18-6
Figure 18-6: CAN Bit Time
...
...
Nominal Bit Time
Sync
Segment
Propagation
Segment
Phase
Segment 1
Phase
Segment 2
UG585_c18_04_073012
TS1 TS2
Sample
Point
Time Quanta
Clock (TQ_CLK)