The Xilinx® LogiCORE™ IP CAN with Flexible
Data Rate (CAN FD) core is ideally suited for
automotive and industrial applications such as
automotive body control units, automotive test
equipment, instrument clusters, sensor
controls, and industrial networks. The core can
be used in standalone mode or connected to
Xilinx MicroBlaze™ processors or the Arm
Cortex-A9 processors in Zynq
®
-7000 SoCs.
®
Features
•Designed to ISO 11898-1/2015
specification [Ref 1]
•Supports both CAN and CAN FD frames
•Supports the CAN FD frame format
specified in the ISO 11898:2015
specification [Ref 1]
•Supports up to 64 byte CAN FD frames
•Supports flexible data rates up to 8 Mb/s
•Supports nominal data rates up to 1Mb/s
•Up to three data bit transmitter delay
compensation
•TX and RX mailbox buffers with
configurable depth
•Two 64-deep RX FIFOs with 32 ID
Filter-Mask pairs
•Message with lowest ID transmitted first
•Supports TX message cancellation
IMPORTANT: It is required to have a valid Bosch CAN
FD protocol license before selling a device containing
the Xilinx CAN FD IP core.
LogiCORE™ IP Facts Table
Core Specifics
UltraScale+™
Supported
Device Family
Supported User
Interfaces
ResourcesPerformance and Resource Utilization web page
(1)
Zynq UltraScale+ MPSoC Architecture
Zynq
®
UltraScale™
-7000 SoC, 7 Series,
AXI4-Lite, APB
Provided with Core
Design FilesEncrypted RTL
Example DesignVerilog
Test BenchVerilog
Constraints FileXDC
Simulation
Model
Supported
S/W Driver
(2)
Tested Design Flows
Design EntryVivado® Design Suite
Simulation
SynthesisVivado Synthesis
For supported simulators, see the
Xilinx Design Tools: Release Notes Guide.
Not Provided
Standalone and Linux
(3)
Support
Provided by Xilinx at the Xilinx Support web page
Notes:
1. For a complete listing of supported devices, see the Vivado IP
catalog
.
2. Standalone driver details can be found in the SDK directory
(\Xilinx\SDK\<release_version>\data\embeddedsw\XilinxPro
cessorIPLib\drivers\canfd_version). Linux OS and driver
support information is available from the Linux CAN FD
Driver Page.
3. For the supported versions of the tools, see the
Xilinx Design Tools: Release Notes Guide.
•Separate error logging for fast data rate
CAN FD v2.04
PG223 December 5, 2018www.xilinx.comProduct Specification
Other Features
SendFeedback
•Timestamp for transmitted and received messages
•Supports transmit event FIFO
•Supports the following modes:
Disable Auto-Retransmission (DAR) mode
°
Snoop (Bus Monitoring) mode
°
Sleep mode with Wake-Up Interrupt
°
Internal Loopback mode
°
Bus-Off Recovery mode
°
-Auto-Recovery
-User intervention for Auto-Recovery
Disable Protocol Exception Event mode
°
IP Facts
CAN FD v2.05
PG223 December 5, 2018www.xilinx.com
Overview
CAN FD Core
Host
Control
Object Layer/LLC
AXI4-Lite
I/F
TX Block
RAM
TBMM
Register Module
RX Block
RAM
RBMM
CDC
Sync
AXI Clock Domain
CAN FD Protocol Engine
Transfer Layer/MAC
CAN Clock Domain
PHY
CAN Bus
TX
RX
AXI4-Lite Bus
X14811-081418
SendFeedback
This product guide describes features of the CAN FD core and the functionality of the
various registers in the design. In addition, the core interface and its customization options
are defined in this document. Information on the CAN or CAN FD protocol is outside the
scope of this document, and knowledge of the relevant CAN and CAN FD specifications is
assumed. Figure 1-1 illustrates the high-level architecture of the CAN FD core and provides
the interface connectivity.
X-Ref Target - Figure 1-1
Chapter 1
CAN FD v2.06
PG223 December 5, 2018www.xilinx.com
Note:
Figure 1-1:CAN FD Core Layered Architecture and Connectivity
The core requires an external PHY to be connected to communicate on the CAN bus.
Chapter 1: Overview
SendFeedback
Core Description
The core functions are divided into two independent layers as shown in Figure 1-1. The
object layer interfaces with the host control through the AXI4-Lite/APB interface and works
in the AXI4-Lite/APB clock domain. The transfer layer interfaces with the external PHY and
operates in the CAN clock domain. Information exchange between the two layers is done
through the CDC synchronizers. The CAN FD object layer provides a state-of-the-art
transmission and reception method to manage message buffers.
Object Layer (Logical Link Layer)
The object layer is divided into the following submodules:
•Register Module – This module allows for read and write access to the registers
interfaces with the CAN FD protocol engine to provide storage for message reception
from the CAN bus. It manages the host access to the RX block RAM.
Transfer Layer (Medium Access Control Layer)
The transfer layer provides the following main functions:
•Initiation of the transmission process after recognizing bus idle (compliance with
inter-frame space)
Serialization of the frame
°
Bit stuffing
°
Arbitration and passing into receive mode in case of loss of arbitration
°
ACK check
°
Presentation of a serial bitstream to PHY for transmission
°
CRC sequence calculation including stuff bit count for FD frames
°
Bit rate switching
°
CAN FD v2.07
PG223 December 5, 2018www.xilinx.com
•Reception of a serial bitstream from the PHY
Deserialization and recompiling of the frame structure
°
Bit destuffing
°
Chapter 1: Overview
SendFeedback
Transmission of ACK
°
Bit rate switching
°
•Bit timing functions
•Error detection and signaling
•Recognition of an overload condition and reaction
Licensing and Ordering
IMPORTANT: It is required to have a valid Bosch CAN FD protocol license before selling a device
containing the Xilinx CAN FD IP core.
License Checkers
If the IP requires a license key, the key must be verified. The Vivado® design tools have
several license checkpoints for gating licensed IP through the flow. If the license check
succeeds, the IP can continue generation. Otherwise, generation halts with error. License
checkpoints are enforced by the following tools:
•Vivado synthesis
•Vivado implementation
•write_bitstream (Tcl command)
IMPORTANT: IP license level is ignored at checkpoints. The test confirms a valid license exists. It does
not check IP license level.
License Type
The core is provided under the terms of the CAN FD LogiCORE™ IP License Agreement for
Automotive or Non-Automotive applications. Click here for more information about
obtaining a CAN FD license.
For more information, visit the CAN FD product web page.
Information about other Xilinx LogiCORE IP modules is available at the Xilinx Intellectual
Property page. For information on pricing and availability of other Xilinx LogiCORE IP
modules and tools, contact your local Xilinx sales representative.
CAN FD v2.08
PG223 December 5, 2018www.xilinx.com
Product Specification
SendFeedback
Standards
The CAN FD core conforms to the ISO-11898-1/2015 standard specification [Ref 1].
Performance
For full details about performance, visit the Performance and Resource Utilization web
page.
Chapter 2
Resource Utilization
For full details about resource utilization, visit the Performance and Resource Utilization
web page.
Port Descriptions
The host interface of the CAN FD core is either the AXI4-Lite or the APB interface,
depending on the parameter selected in the Vivado™ IDE. Ta bl e 2-1 defines the core
interface signaling.
can_clk_x2ClockI-This is fully synchronous to the CAN clock and is
I–
CAN clock input. Oscillator frequency tolerance
according to the standard specification.
a multiple by 2 in frequency.
APB Interface Signals
apb_clkClockI-APB clock.
apb_resetnResetI-Active-Low synchronous reset.
apb_pwdata[31:0]APBI-Write data bus.
apb_paddr[14:0]I-Address bus.
apb_pwriteI-Read or Write signaling:
• 0 for Read Transaction.
• 1 for Write Transaction.
apb_pselI-Active-High select.
apb_penableI-Active-High enable.
apb_prdata[31:0]O0x0Read Data bus.
apb_preadyO0x0Active-High ready signal.
apb_perrorAPBO0x0Active-High R/W er ro r s ignal. Re served fo r f ut ure
use.
Notes:
1. The core does not support the wstrb signal on the AXI4-Lite interface.
2. The interrupt line is level-sensitive. Interrupts are indicated by the transition of the interrupt line logic from 0 to 1.
3. The AXI4-Lite interface signals and ip2bus_intrevent are synchronous to the s_axi_aclk clock.
Register Space
The CAN FD core requires a 32 KB memory mapped space to be allocated in the system
memory. Division of this addressable space within the core is shown in Tab le 2 -2.
Note:
and is not impacted by the AXI Write Data Strobe (*_wstrb) signal. For write access, both the AXI
Write Address Valid (*_awvalid) and AXI Write Data Valid (*_wvalid) signals should be asserted
together.
The AXI4-Lite write access register is updated by the 32-bit AXI Write Data (*_wdata) signal,
CAN FD v2.010
PG223 December 5, 2018www.xilinx.com
Chapter 2: Product Specification
SendFeedback
Table 2-2:CAN FD Address Space Division
Start Address End AddressSectionNotes
0x00000x00FFCore Registers Space
0x01000x1FFFTX Message Space
0x20000x7FFFRX Message Space
This space is implemented with flip-flops. See
Tabl e 2- 3 and Ta ble 2 -4.
This space is implemented with TX block RAM
and provides storage for a maximum 32 TX
buffers. For RX Sequential buffer mode (FIFO
mode), it also
provides storage for 32 ID Filter-Mask pairs. See
Tabl e 2- 30 .
This space is implemented with RX block RAM.
For RX Sequential buffer mode (FIFO mode), it
provides storage for two 64-deep message RX
FIFO's. See Table 2- 37 and Table 2 -38.
It provides storage for 32 deep TX Event FIFO.
See Tabl e 2- 34 .
For RX Ma il box buff er mo de, it provides storage
for maximum 48 RX Buffers and respective ID
Masks. See Ta bl e 2 -44.
Table 2-3:CAN FD Core Register Address Map
Start
Address
0x0000SRRRead, WriteSoftware Reset Register
NameAccessDescriptionNotes
0x0004MSRRead, WriteMode Select Register
0x0008BRPRRead, Write
0x000CBTRRead, WriteArbitration Phase Bit Register
Registers present in
both RX Mailbox
and RX Sequential/
FIFO buffer modes.
Registers present
only in RX Mailbox
buffer mode.
Otherwise reserved.
0x00E4Reserved–
0x00E8FSRRead, WriteRX FIFO Status Register
0x00ECWMRRead, WriteRX FIFO Watermark Register
0x00F00x00FF
Reserved–
Core Register Descriptions
Tab le 2 -4 shows the CAN FD core register space. The thick ruling represents the RX Mailbox
specific register bits and the gray represents the RX FIFO specific register bits. Register bits
tha t are us ed in both RX Ma ilbox a nd RX FI FO mode and dif fer in d escription a re show n with
a / separator.
Writing to the Software Reset register (SRR) places the core in Configuration mode. In
Configuration mode, the core drives recessive on the bus line and does not transmit or
receive messages. During power-up, the CEN and SRST bits are 0 and the CONFIG bit in the
Status register (SR) is 1. The Transfer Layer Configuration registers can be changed only
when the CEN bit in the SRR is 0. Mode Select register bits (except SLEEP and SBR) can be
changed only when the CEN bit is 0. If the CEN bit is changed during core operation, Xilinx
recommends resetting the core so that operation starts over.
Name
(Reset
Val ue)
Table 2-5:Software Reset Register
BitsNameAccess
31:2Reserved–0Reserved.
1CENR/W0
0SRSTWO0
Default
Value
CAN Enable.
This is the Enable bit for the core.
• 1 = The core is in Loopback, Sleep, Snoop, or Normal mode,
depending on the LBACK, SLEEP, and SNOOP bits in the MSR.
• 0 = The core is in Configuration mode.
Note:
If the CEN bit is cleared during core operation, Xilinx recommends
resetting the core so that operation starts over.
Reset.
This is the software reset bit for the core.
• 1 = Core is reset.
If a 1 is written to this bit, all core configuration registers
(including the SRR) are reset. Reads to this bit always return 0.
After performing a soft or hard reset, wait for 16 AXI4-Lite/APB
Note:
clock cycles before initiating next AXI4-Lite/APB transaction.
Mode Select Register (Address Offset + 0x0004)
Description
CAN FD v2.015
PG223 December 5, 2018www.xilinx.com
Writing to the Mode Select register (MSR) enables the core to enter Snoop, Sleep,
Loopback, or Normal modes. In Normal mode, the core participates in normal bus
communication. If the SLEEP bit is set to 1, the core enters Sleep mode. If the LBACK bit is
set to 1, the core enters Loopback mode. If the SNOOP mode is set to 1, the core enters
Snoop mode and does not participate in bus communication but only receives messages.
Chapter 2: Product Specification
SendFeedback
IMPORTANT: LBACK, SLEEP, and SNOOP bits should never be set to 1 at the same time. At any given
point, the core can either be in Loopback, Sleep, or Snoop mode. When all three bits are set to 0, the
core can enter Normal mode subject to other conditions.
Table 2-6:Mode Select Register
BitsNameAccess
31:16Reserved–0Reserved.
15:8Reserved–0Reserved.
7ABRR/W0
6SBRR/W0
5DPEER/W 0
Default
Value
Auto Bus-Off Recovery Request.
• 1 = Auto Bus-Off Recovery request.
• 0 = No such request.
If this bit is set, the node does auto Bus-Off Recovery
irrespective of the SBR bit setting in this register. This bit can be
written only when the CEN bit in SRR is 0.
Start Bus-Off Recovery Request.
• 1 = Start Bus-Off Recovery request.
• 0 = No such request.
Node stays i n Bus-Of f state until th e SBR bi t is set to 1 (pro viding
that the ABR bit in this register is not set).
This bit can be written only when node is in Bus-Off state.
This bit auto clears after node completes the Bus-Off Recovery
or leaves Bus-Off state due to hard/soft reset or CEN
deassertion.
• 1 = Disable Protocol Exception Event detection/generation by
CAN FD receiver if “res” bit in CAN FD frame is detected as 1.
In this case, CAN FD receiver generates Form error.
• 0 = PEE detection/generation is enabled. If the CAN FD
receiver detects th e res bit as 1, it go es to Bus In teg rat ion state
(PEE_config) and waits for Bus Idle condition (11 consecutive
nominal recessive bits). The error counter remains unchanged.
This bit can be written only when the CEN bit in SRR is 0.
Description
CAN FD v2.016
PG223 December 5, 2018www.xilinx.com
Disable Auto-Retransmission.
• 1 = Disable auto retransmission on the CAN bus to provide
4DARR/W0
• 0 = Auto retransmission enabled.
This bit can be written only when the CEN bit in SRR is 0.
CAN FD Bit Rate Switch Disable Override.
• 1 = Makes the core transmit CAN FD frames only in nominal
3BRSDR/W 0
• 0 = Makes the core transmit CAN FD frames as per BRS bit in
This bit can be written only when the CEN bit in SRR is 0.
single shot transmission.
bit rate (by overriding the TX Message element BRS bit
setting).
the TX Message element.
Table 2-6:Mode Select Register (Cont’d)
SendFeedback
Chapter 2: Product Specification
BitsNameAccess
2SNOOPR/W0
1LBACKR/W 0
Default
Value
Description
SNOOP Mode Select/Request.
This is the Snoop mode request bit.
• 1 = Request core to be in Snoop mode.
• 0 = No such request.
This bit can be written only when CEN bit in SRR is 0.
Make sure that Snoop mode is programmed only after system
reset or software reset. For the core to enter Snoop mode, LBACK
and SLEEP bits in this register should be set to 0. The features of
Snoop mode are as follows:
• The core transmits recessive bits onto the CAN bus.
• The core receives messages that are transmitted by other
node s but do es not AC K. St o res re ceived message s in RX b lock
RAM based on programmed ID filtering.
• Error counters are disabled and cleared to 0. Reads to the error
counter register return zero.
Loopback Mode Select/Request.
This is the Loopback mode request bit.
• 1 = Request core to be in Loopback mode.
• 0 = No such request.
This bit can be written only when the CEN bit in SRR is 0. For the
core to enter Loopback mode, SLEEP and SNOOP bits in this
register should be set to 0.
Sleep Mode Select/Request.
This is the Sleep mode request bit.
• 1 = Request core to be in Sleep mode.
0SLEEPR/W 0
• 0 = No such request.
Th is bit is cleare d when the core wakes up fr om Sleep m ode. Fo r
the core to enter Sleep mode, LBACK and SNOOP bits in this
register should be set to 0.
Arbitration Phase (Nominal) Baud Rate Prescaler.
These bits indicate the prescaler value.
The a c tual v alue is o ne more than the value w ritten t o the re gister.
These bits can be written only when the CEN bit in SRR is 0.
CAN FD v2.017
PG223 December 5, 2018www.xilinx.com
Chapter 2: Product Specification
SendFeedback
Arbitration Phase (Nominal) Bit Timing Register (Address Offset + 0x000C)
Table 2-8:Arbitration Phase Bit Register
BitsNameAccess
31:23Reserved–0Reserved.
22:16SJW[6:0]R/W0
15Reserved–0Reserved.
14:8TS2[6:0]R/W0
7:0TS1[7:0]R/W0
Default
Value
Synchronization Jump Width.
Indicates the Synchronization Jump Width as specified in the
standard for Nominal Bit Timing.
The actual value is one more than the value written to the register.
These bits can be written only when the CEN bit in SRR is 0.
Time Segment 2
Indicates the Phase Segment 2 as specified in the standard for
Nominal Bit Timing.
The actual value is one more than the value written to the register.
These bits can be written only when the CEN bit in SRR is 0.
Time Segment 1
Indicates the Sum of Propagation Segment and Phase Segment 1
as specified in the standard for Nominal Bit Timing.
The actual value is one more than the value written to the register.
These bits can be written only when the CEN bit in SRR is 0.
Error Count Register (Address Offset + 0x0010)
Description
The ECR is a read-only register. Writes to the ECR have no effect. The values of the error
counters in the register reflect the values of the transmit and receive error counters in the
core. The following conditions reset the Transmit and Receive Error counters:
•When 1 is written to the SRST bit in the SRR.
•When 0 is written to the CEN bit in the SRR.
•When the core enters Bus-Off state.
•During Bus-Off recovery until the core enters Error Active state (after 128 occurrences
of 11 consecutive recessive bits).
IMPORTANT: When in Bus-Off recovery, the Receive Error counter is advanced/incremented by 1 when
a sequence of 11 consecutive nominal recessive bits is seen.
Note: In SNOOP mode, error counters are disabled and cleared to 0. Reads to the Error Counter
register return 0.
CAN FD v2.018
PG223 December 5, 2018www.xilinx.com
.
SendFeedback
Table 2-9:Error Counter Register
Chapter 2: Product Specification
BitsNameAccess
31:16Reserved–0Reserved.
15:8REC[7:0]R0
7:0TEC[7:0]R0
Default
Value
Description
Receive Error Count.
Indicates the value of Receive Error Counter.
Transmit Error Count.
Indicates the value of Transmit Error Counter.
Error Status Register (Address Offset + 0x0014)
The Error Status register (ESR) indicates the type of error that has occurred on the bus. If
more than one error occurs, all relevant error flag bits are set in this register. The ESR is a
write 1 to clear register. Writes to this register do not set any bits, but clear the bits that are
set.
Table 2-10:Error Status Register
BitsName
31:12Reserved0Reserved
11F_BERR0
Default
Value
Description
Bit Error in CAN FD Data Phase
• 1 = Indicates a bit error occurred in Data Phase (Fast) data rate.
• 0 = Indicates a b it error h as not occurred in Data Phase (Fast) data rate
after the last write to this bit.
If this bit is set, writing a 1 clears it.
(1)
.
Stuff Error in CAN FD Data Phase.
• 1 = Indicates stuff error occurred in Data Phase (Fast) data rate.
10F_STER0
9F_FMER 0
8F_CRCER 0
7:5Reserved0Reserved.
• 0 = Ind icate s stu f f err o r has not occurred in Data Phase (Fast) data rate.
after the last write to this bit.
If this bit is set, writing a 1 clears it.
Form Error in CAN FD Data Phase.
• 1 = Indicates form error occurred in Data Phase (Fast) data rate.
• 0 = Indicates form error has not occurred in Data Phase (Fast) da ta rate .
after the last write to this bit.
If this bit is set, writing a 1 clears it.
CRC Error in CAN FD Data Phase.
• 1 = Indicates CRC error occurred in Data Phase (Fast) data rate.
• 0 = Indicates CRC error has not occurred in Data Phase (Fast) data rate
after the last write to this bit.
If this bit is set, writing a 1 clears it.
CAN FD v2.019
PG223 December 5, 2018www.xilinx.com
Table 2-10:Error Status Register (Cont’d)
SendFeedback
Chapter 2: Product Specification
BitsName
4ACKER 0
3BERR 0
2STER 0
Default
Value
Description
ACK Error.
Indicates an acknowledgment error.
• 1 = Indicates an acknowledgment error has occurred.
• 0 = Indicates an acknowledgment error has not occurred on the bus
after the last write to this bit.
If this bit is set, writing a 1 clears it.
Bit Error.
Indicates the received bit is not the same as the transmitted
bit during bus communication.
• 1 = Indicates a bit error has occurred.
• 0 = I ndi cat es a bit error ha s not oc cur red on t he b us after the last write
to this bit.
If this bit is set, writing a 1 clears it.
Stuff Error.
Indicates an error if there is a stuffing violation.
• 1 = Indicates a stuff error has occurred.
• 0 = Indicates a stuff error has not occurred on the bus after the last
write to this bit.
If this bit is set, writing a 1 clears it.
Form Error.
Indicates an error in one of the fixed form fields in the message frame.
1FMER 0
0CRCER 0
Notes:
1. In transmitter delay compensation phase, any error is reported as fast bit error (by the transmitter).
2. Fixed stuff bit errors are reported as form error.
3. In case of a CRC Error and a CRC delimiter corruption, only the FMER bit is set.
• 1 = Indicates a form error has occurred.
• 0 = Indicates a form error has not occurred on the bus after the last
write to this bit.
If this bit is set, writing a 1 clears it.
CRC Error
Indicates a CRC error has occurred.
• 1 = Indicates a CRC error has occurred.
• 0 = Indicates a CRC error has not occurred on the bus after the last
write to this bit.
If this bit is set, writing a 1 clears it.
(3)
.
CAN FD v2.020
PG223 December 5, 2018www.xilinx.com
Status Register (Address Offset + 0x0018)
SendFeedback
Table 2-11:Status Register
Chapter 2: Product Specification
BitsNameAccess
31:21Reserved–0Reserved.
22:16TDCV[6:0]R0
15:13Reserved–0Reserved.
12SNOOPR0
11Reserved–0Reserved.
10BSFR_CONFIGR0
9PEE_CONFIG R0
Default
Value
Transmitter Delay Compensation Value.
This field gives the position of secondary sample point
(d efined as sum of TDCOFF a nd measured del ay for FDF to
res bit falling edge from TX to RX in CAN FD frame) in CAN
clocks. This field is for status purposes.
Snoop Mode.
• 1 = Indicates controller is in Snoop mode provided
Normal mode bit is also set in this register.
Bus-Off Recovery Mode Indicator.
• 1 = Indicates the core is in Bus-Off Recovery mode (Bus
Integration State).
When this bit is set, the BBSY and NORMAL status bits in
this register do not mean anything.
PEE Mode Indicator.
• 1 = Indicates the core is in PEE mode (Bus Integration
State).
When this bit is set, the BBSY and NORMAL status bits in
this register do not mean anything.
Description
8:7ESTAT[1:0]R0
6ERRWRNR0
5BBSY R0
Error Status.
Indicates the error status of the core.
• 00 = Indicates Configuration mode (CONFIG = 1). Error
state is undefined.
• 01 = Indicates error active state.
• 11 = Indicates error passive state.
• 10 = Indicates Bus-Off state.
Error Warning.
Indicates that either the Transmit Error counter or the
Receive Error counter has exceeded a value of 96.
• 1 = one or more error counters have a value of 96.
• 0 = neither of the error counters has a value of 96.
Indicates the CAN bus status.
• 1 = Indicates that the core is either receiving a message
or transmitting a message.
• 0 = Indicates that the core is either in Configuration
mode or the bus is idle.
CAN FD v2.021
PG223 December 5, 2018www.xilinx.com
Table 2-11:Status Register (Cont’d)
SendFeedback
Chapter 2: Product Specification
BitsNameAccess
4BIDLE R 0
3NORMAL R0
2SLEEP R 0
1LBACK R 0
0CONFIG R 1
Default
Value
Description
Bus Idle.
Indicates the CAN bus status.
• 1 = Indicates no bus communication is taking place.
• 0 = In dica tes t he co re is eit her in Configuration mode or
the bus is busy.
Normal Mode.
Indicates that the core is in Normal mode.
• 1 = Indicates that the core is in Normal mode.
• 0 = Indicates that the core is not in Normal mode.
Sleep Mode.
Indicates that the core is in Sleep mode.
• 1 = Indicates that the core is in Sleep mode.
• 0 = Indicates that the core is not in Sleep mode.
Loopback Mode.
Indicates that the core is in Loopback mode.
• 1 = Indicates that the core is in Loopback mode.
• 0 = Indicates that the core is not in Loopback mode.
Configuration Mode Indicator.
Indicates that the core is in Configuration mode.
• 1 = Indicates that the core is in Configuration mode.
• 0 = Indicates that the core is not in Configuration mode.
Interrupt Status Register (Address Offset + 0x001C)
Interrupt status bits in the ISR can be cleared by writing to the Interrupt Clear register. For
all bits in the ISR, a set condition takes priority over the clear condition and the bit
continues to remain 1.
Table 2-12:Interrupt Status Register
BitsNameAccess
31TXEWMFLLR0
30TXEOFLWR0
Default
Value
Description
TX Event FIFO Watermark Full Interrupt.
• 1 = Indicates that TX Event FIFO is full based on watermark
programming.
The interrupt continues to assert as long as the TX Event FIFO Fill Level
is above TX Event FIFO Full watermark. This bit can be cleared by
writing to the respective bit in the ICR.
TX Event FIFO Overflow Interrupt.
• 1 = Indicates that a message has been lost. This condition occurs
when the core has successfully transmitted a message for which an
event store is requested but the TX Event FIFO is full.
This bit can be cleared by writing to the respective bit in the ICR.
This bit is also cleared when a 0 is written to the CEN bit in the SRR.
CAN FD v2.022
PG223 December 5, 2018www.xilinx.com
Table 2-12:Interrupt Status Register (Cont’d)
SendFeedback
Chapter 2: Product Specification
BitsNameAccess
29:24RXBOFLW_BIR0
23:18RXLRM_BIR0
17RXMNFR0
Default
Value
Description
RX Buffer Index for Overflow Interrupt (Mailbox mode).
Gives RX Buffer index for which overflow event is generated. This field
is automatically cleared to default if RXBOFLW bit is cleared in this
register. In case more than one overflow event happens (before Host
could clear RXBOFLW), RXBOFLW_BI shows the overflow index for the
last event. This field has meaning only if the overflow interrupt
RXBOFLW bit is set. This field is also cleared at hard/soft reset or when
a 0 is written to the CEN bit in the SRR.
RX Buffer Index for Last Received Message (Mailbox mode).
Gives the RX Buffer index for the last received message. This field has
meaning only if the RXOK bit is set in this register. This field is cleared
at hard/soft reset or when a 0 is written to the CEN bit in the SRR.
RX Match Not Finished.
• 1 = Indicates that Match process did not finish until the start of sixth
bit in EOF field and frame was discarded.
This bit can be cleared by writing to the respective bit in the ICR.
RX Buffer Overflow Interrupt (Mailbox mode).
• 1 = Indicates that a message has been lost due to buffer overflow
condition. Buffer index is captured in RXBOFLW_BI field.
This bit can be cleared by writing to the respective bit in the ICR.
16
15
14TXCRSR0
RXBOFLW/
RXFWMFLL_1
RXRBF/
RXFOFLW_1
R0
R0
RX FIFO 1 Watermark Full Interrupt (Sequential/FIFO Mode).
• 1 = Indicates that RX FIFO-1 is full based on watermark
programming.
This interrupt is only available when RX FIFO-1 is enabled.
Note:
The interrupt continues to assert as long as the RX FIFO-1 Fill Level is
above the RX FIFO-1 Full watermark.
This bit can be cleared by writing to the respective bit in the ICR.
RX Buffer Full Interrupt (Mailbox mode).
• 1 = Indicates that a receive buffer has received a message and
become full.
This bit can be cleared by writing to the respective bit in the ICR.
• 1 = Indicates that a message has been lost. This condition occurs
when a new message with ID matching to Receive FIFO 1 is received
and the Receive FIFO 1 is full.
This interrupt is only available when RX FIFO-1 is enabled.
Note:
This bit can be cleared by writing to the respective bit in the ICR.
This bit is also cleared when a 0 is written to the CEN bit in the SRR.
TX Cancellation Request Served Interrupt.
• 1 = Indicates that a cancellation request was cleared.
This bit can be cleared by writing to the respective bit in the ICR.
CAN FD v2.023
PG223 December 5, 2018www.xilinx.com
Table 2-12:Interrupt Status Register (Cont’d)
SendFeedback
Chapter 2: Product Specification
BitsNameAccess
13TXRRSR0
12RXFWMFLLR0
11WKUPR0
10SLPR0
9BSOFFR0
Default
Value
Description
TX Buffer Ready Request Served Interrupt.
• 1 = Indicates that a Buffer Ready request was cleared.
This bit can be cleared by writing to the respective bit in the ICR.
RX FIFO-0 Watermark Full Interrupt (Sequential/FIFO Mode).
• 1 = Indicates that RX FIFO-0 is full based on watermark
programming.
The interrupt continues to assert as long as the RX FIFO-0 Fill Level is
above RX FIFO-0 Full watermark.
This bit can be cleared by writing to the respective bit in the ICR.
Wake-Up Interrupt
• 1 = Indicates that the core entered Normal mode from Sleep mode.
This bit can be cleared by writing to the respective bit in the ICR. This
bit is also cleared when a 0 is written to the CEN bit in the SRR.
Sleep Interrupt.
• 1 = Indicates that the CAN core entered Sleep mode.
This bit can be cleared by writing to the respective bit in the ICR.
This bit is also cleared when a 0 is written to the CEN bit in the SRR.
Bus-Off Interrupt.
• 1 = Indicates that the CAN core entered the Bus-Off state.
This bit can be cleared by writing to the respective bit in the ICR.
This bit is also cleared when a 0 is written to the CEN bit in the SRR.
Error Interrupt.
• 1 = Indicates that an error occurred during message transmission or
8ERRORR0
7Reserved–0Reserved.
6RXFOFLWR 0
5TSCNT_OFLWR0
4RXOK(1)R0
reception.
This bit can be cleared by writing to the respective bit in the ICR.
This bit is also cleared when a 0 is written to the CEN bit in the SRR.
• 1 = Indicates that a message has been lost. This condition occurs
when a new message with ID matching to RX FIFO-0 is received and
the RX FIFO-0 is full.
This bit can be cleared by writing to the respective bit in the ICR.
This bit is also cleared when a 0 is written to the CEN bit in the SRR.
Timestamp Counter Overflow Interrupt.
• 1 = Indicates that Timestamp counter rolled over (from 0xffff to 0x0).
This bit can be cleared by writing to the respective bit in the ICR.
This bit is also cleared when a 0 is written to the CEN bit in the SRR.
New Message Received Interrupt
• 1 = Indicates that a message was received successfully and stored
into the RX FIFO-0 or RX FIFO-1 or RX Mailbox buffer.
This bit can be cleared by writing to the respective bit in the ICR.
This bit is also cleared when a 0 is written to the CEN bit in the SRR.
CAN FD v2.024
PG223 December 5, 2018www.xilinx.com
Table 2-12:Interrupt Status Register (Cont’d)
SendFeedback
Chapter 2: Product Specification
BitsNameAccess
3BSFRDR0
2PEER0
1TXOK(1)R0
0ARBLSTR0
Notes:
1. In Loopback mode, both TXOK and RXOK bits are set. The RXOK bit is set before the TXOK bit.
Default
Value
Description
Bus-Off Recovery Done Interrupt.
• 1 = Indicates that the core recovered from Bus-Off state.
This bit can be cleared by writing to the respective bit in the ICR.
This bit is also cleared when a 0 is written to the CEN bit in the SRR.
Protocol Exception Event Interrupt.
• 1 = Indicates that the core (CAN FD receive r) has detected PEE event.
This bit can be cleared by writing to the respective bit in the ICR.
This bit is also cleared when a 0 is written to the CEN bit in the SRR.
Transmission Successful Interrupt.
• 1 = Indicates that a message was transmitted successfully.
This bit can be cleared by writing to the respective bit in the ICR. This
bit is also cleared when a 0 is written to the CEN bit in the SRR.
Arbitration Lost Interrupt.
• 1 = Indicates that arbitration was lost during message transmission.
This bit can be cleared by writing to the respective bit in the ICR. This
bit is also cleared when a 0 is written to the CEN bit in the SRR.
The Interrupt Clear register (ICR) is used to clear interrupt status bits in the ISR register.
Table 2-14:Interrupt Clear Register
BitsNameAccess
31CTXEWMFLLW0
30CTXEOFLWW0
17CRXMNFW0
16
CRXBOFLW/
CRXFWMFLL_1
Default
Value
W0
Description
• 1 = Clears TX Event FIFO Watermark Full interrupt status bit.
Writing a 1 to this bit clears the respective bit in the ISR. Reads
always 0.
• 1 = Clears TX Event FIFO Overflow interrupt status bit.
Writing a 1 to this bit clears the respective bit in the ISR. Reads
always 0.
• 1 = Clears RX Match Not Finished interrupt status bit.
Writing a 1 to this bit clears the respective bit in the ISR. Reads
always 0.
• 1 = Cle ars RX Buffer Overflow inte rrupt statu s bit (Mailbox mode).
Writing a 1 to this bit clears the respective bit in the ISR. Reads
always 0.
• 1 = Clears RX FIFO-1 Watermark Full interrupt status bit
(Sequential/FIFO Mode).
Writing a 1 to this bit clears the respective bit in the ISR. Reads
always 0.
CAN FD v2.027
PG223 December 5, 2018www.xilinx.com
Table 2-14:Interrupt Clear Register (Cont’d)
SendFeedback
Chapter 2: Product Specification
BitsNameAccess
15
14CTXCRSW0
13CTXRRSW0
12CRXFWMFLLW0
11CWKUPW0
CRXRBF/
CRXFWMFLL_1
Default
W0
Value
Description
• 1 = Clears RX Buffer Bull Interrupt status bit (Mailbox mode).
Writing a 1 to this bit clears the respective bit in the ISR. Reads
always 0.
• 1 = Clears RX FIFO-1 Overflow interrupt status bit (Sequential/
FIFO Mode).
Writing a 1 to this bit clears the respective bit in the ISR. Reads
always 0.
• 1 = Clears TX Cancellation Request Served Interrupt status bit.
Writing a 1 to this bit clears the respective bit in the ISR. Reads
always 0.
• 1 = Clears TX Buffer Ready Request Served Interrupt status bit.
Writing a 1 to this bit clears the respective bit in the ISR. Reads
always 0.
• 1 = Clears RX FIFO-0 Watermark Full interrupt status bit
(Sequential/FIFO Mode).
Writing a 1 to this bit clears the respective bit in the ISR. Reads
always 0.
• 1 = Clears Wake-Up interrupt status bit.
Writing a 1 to this bit clears the respective bit in the ISR. Reads
always 0.
• 1 = Clears Sleep interrupt status bit.
10CSLPW0
9CBSOFFW0
8CERRORW0
7Reserved–0Reserved.
6CRFXOFLWW0
5ETSCNT_OFLWW 0
4CRXOKW0
3CBSFRDW0
Writing a 1 to this bit clears the respective bit in the ISR. Reads
always 0.
• 1 = Clears Bus-Off interrupt status bit.
Writing a 1 to this bit clears the respective bit in the ISR. Reads
always 0.
• 1 = Clears Error interrupt status bit.
Writing a 1 to this bit clears the respective bit in the ISR. Reads
always 0.
• 1 = Clears RX FIFO-0 Overflow interrupt status bit (Sequential/
FIFO Mode).
Writing a 1 to this bit clears the respective bit in the ISR. Reads
always 0.
• 1 = Clears Timestamp Counter Overflow Interrupt status bit.
Writing a 1 to this bit clears the respective bit in the ISR. Reads always 0.
• 1 = Clears New Message Received interrupt status bit.
Writing a 1 to this bit clears the respective bit in the ISR. Reads
always 0.
• 1 = Clears Bus-Off Recovery Done interrupt status bit.
Writing a 1 to this bit clears the respective bit in the ISR. Reads
always 0.
CAN FD v2.028
PG223 December 5, 2018www.xilinx.com
Table 2-14:Interrupt Clear Register (Cont’d)
SendFeedback
Chapter 2: Product Specification
BitsNameAccess
2CPEEW0
1CTXOKW0• 1 = Clears Transmission Successful interrupt status bit.
0CARBLOSTW0
Default
Value
Description
• 1 = Clears Protocol Exception Event interrupt status bit.
Writing a 1 to this bit clears the respective bit in the ISR. Reads
always 0.
• 1 = Clears Arbitration Lost interrupt status bit.
Writing a 1 to this bit clears the respective bit in the ISR. Reads
always 0.
Timestamp Register (Address Offset + 0x0028)
A 16-bit free running counter increments once every sixteen CAN clock cycles. A timestamp
is captured after the SOF bit; that is, when the ID field starts on the CAN bus. It is stamped
in DLC field of the message element when frame is successfully received or transmitted. The
timestamp counter can be reset by software. There is no register bit to indicate counter
rollover.
Table 2-15:Timestamp Register
BitsNameAccess
Default
Value
Description
Timestamp Counter Value.
31:16TIMESTAMP_CNT[15:0]R0
15:1Reserved–0Reserved
0CTSW0
This Status field gives running value of the timestamp counter.
This field is cleared when a 0 is written to the CEN bit in the
SRR.
Clear Timestamp Counter.
Internal free running counter is cleared to 0 when CTS = 1.
This bit only needs to be written once with a 1 to clear the
counter.
The bit always reads as 0.
Data Phase Baud Rate Prescaler Register (Address Offset + 0x0088)
IMPORTANT: The following boundary conditions are imposed on sum of measured loop delay and TDC
Offset:
Measured loop delay + TDCOFF < 3 bit times in the data phase
Default
Value
Description
Transmitter Delay Compensation Offset
Thi s offs et is s peci f ied i n CAN c lock c ycles and i s adde d to th e measured
transmitter delay to place the Secondary Sample Point (SSP) at
appropriate position (for example, set this to half data bit time in terms
of CAN clock cycles to place SSP in the middle of the data bit).
This bit can be written only when CEN bit in SRR is 0.
Data Phase Baud Rate Prescaler
These bits indicate the prescaler value for Data Bit Timing as specified
in the CAN FD standard.
The actual value is one more than the value written to the register.
This bit can be written only when CEN bit in SRR is 0.
Ensure that the boundary condition is respected while programming the offset and data
phase bit rate. In case this sum exceeds 127 CAN clock periods, the maximum value of 127
CAN clock periods is used by the core for transmitter delay compensation.
Note:
If loop delay is < 1 data phase bit time, then TDC/SSP method is not needed.
Data Phase Bit Timing Register (Address Offset + 0x008C)
Table 2-17:Data Phase Bit Timing Register
BitsNameAccess
31:20Reserved–0Reserved
19:16DP_SJW[3:0]R/W0
15:12Reserved–0Reserved
11:8DP_TS2[3:0]R/W0
Default
Val ue
Data Phase Synchronization Jump Width
Indicates the Synchronization Jump Width as specified in the CAN FD
standard for Data Bit Timing.
The actual value is one more than the value written to the register.
This bit can be written only when CEN bit in SRR is 0.
Data Phase Time Segment 2
Indicates the Phase Segment 2 as specified in the CAN FD standard for
Data Bit Timing.
The actual value is one more than the value written to the register.
This bit can be written only when CEN bit in SRR is 0.
Description
CAN FD v2.030
PG223 December 5, 2018www.xilinx.com
Loading...
+ 68 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.