User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 580
UG585 (v1.11) September 27, 2016
Chapter 18: CAN Controller
generator in the PS for both CAN controllers. If an MIO pins is used instead, the selected MIO_PIN
Mux register is programmed as an input.
Example: Configure and Route Internal Clock for Reference Clock
Configure the clock and disable MIO path. Assume the PLL is operating at 1000 MHz and the
required CAN reference clock is 24 MHz (23.8095 MHz).
1. Program the clock subsystem. Write 0x0030_0E03 to the slcr.CAN_CLK_CTRL register:
a. Enable both CAN reference clocks.
b. Divide the I/O PLL clock by 42 (0x02A): DIVISOR0= 0x0E and DIVISOR1=0x03 used by both
controllers.
2. Disable the MIO path. Write 0x0000_0000 to the slcr.CAN_MIOCLK_CTRL register to select the
clock from the internal clock subsystem/PLL for both controllers.
Example: Source Controller Clock from MIO Pin
This example uses MIO pin 45 as a controller clock reference.
1. Configure MIO device pin. Write 0x0000_1200 to the slcr.MIO_PIN_45 register:
a. Route MIO pin 45 to the GPIO controller (this is overridden in the next step).
b. Disable the output driver (TRI_ENABLE = 1).
c. LVCMOS18 (refer to the register definition for other voltage options).
d. Slow CMOS edge (benign setting).
e. Enable internal pull-up resistor.
f. Disable HSTL receiver.
2. Enable MIO path. Write to the slcr.CAN_MIOCLK_CTRL register to override the MIO PIN register
setting that was written in the previous step.
Write a 1 to slcr.CAN_MIOCLK_CTRL[CANx__REF_SEL] and write the desired MIO pin number into
the slcr.CAN_MIOCLK_CTRL[CANx_MUX] bit field to match the pin in the previous step.
18.4.2 Resets
The effects for each reset type are summarized in Table 18-7.
Table 18-7: CAN Reset Effects
Name
APB
Interface
Rx and Tx
FIFOs
Protocol
Engine
Control and
Status
Registers
Acceptance Filters
(ID and Mask)
Local CAN Reset
can.SRR[SRST]
Yes Yes Yes Yes No
PS Reset Subsystem
slcr.CAN_RST_CTRL[CANx_CPU1X_RST]
Yes Yes Yes Yes No