background image

CAN FD v2.0

6

PG223 December 5, 2018

www.xilinx.com

Chapter 1

Overview

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.

Note:

The core requires an external PHY to be connected to communicate on the CAN bus.

X-Ref Target - Figure 1-1

Figure 1-1:

CAN FD Core Layered Architecture and Connectivity

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

Send Feedback

Содержание CAN FD v2.0

Страница 1: ...CAN FD v2 0 LogiCORE IP Product Guide Vivado Design Suite PG223 December 5 2018...

Страница 2: ...source Utilization 9 Port Descriptions 9 Register Space 10 Chapter 3 Designing with the Core Operating Modes and States 63 Programming Model 68 Clocking 77 Resets 77 Interrupts 78 Chapter 4 Design Flo...

Страница 3: ...x B Upgrading Upgrading in the Vivado Design Suite 90 Appendix C Debugging Finding Help on Xilinx com 91 Debug Tools 93 Hardware Debug 93 Interface Debug 94 Appendix D Additional Resources and Legal N...

Страница 4: ...ast data rate IMPORTANT It is required to have a valid Bosch CAN FD protocol license before selling a device containing the Xilinx CAN FD IP core IP Facts LogiCORE IP Facts Table Core Specifics Suppor...

Страница 5: ...d 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 Rec...

Страница 6: ...levant 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 Note The core requires an external PHY to...

Страница 7: ...ement Module The TX Buffer Management Module TBMM interfaces with the CAN FD protocol engine to provide the next buffer to transmit on the CAN bus It manages the host access to the TX block RAM RX Buf...

Страница 8: ...rwise 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 ch...

Страница 9: ...nd 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 Table 2 1 de...

Страница 10: ...can_clk_x2 Clock I This is fully synchronous to the CAN clock and is a multiple by 2 in frequency APB Interface Signals apb_clk Clock I APB clock apb_resetn Reset I Active Low synchronous reset apb_pw...

Страница 11: ...Masks See Table 2 44 Table 2 3 CAN FD Core Register Address Map Start Address Name Access Description Notes 0x0000 SRR Read Write Software Reset Register Registers present in both RX Mailbox and RX S...

Страница 12: ...therwise reserved 0x00B4 RCS1 Read Write See RX Buffer Control Status Register 0 0x00B8 RCS2 Read Write 0x00BC Reserved Reserved space Write has no effect Read always returns 0 0x00C0 IERBF0 Read Writ...

Страница 13: ...BFL ERXFOFLW_1 ETXCRS ETXRRS ERXFWMFLL EWKUP ESLP EBSOFF EERROR RSVD ERXOFLW ETSCNT_OFLW ERXOK EBSFRD EPEE ETXOK EARBLST IER 0x0 0x0024 CTXEWMFLL CTXEOFLW RSVD CRXMNF CRXBOFLW CRXFWMFLL_1 CRXBFL CRXFO...

Страница 14: ...B26 HCB25 HCB24 HCB23 HCB22 HCB21 HCB20 HCB19 HCB18 HCB17 HCB16 RCS1 0x0 0x00B8 CSB47 CSB46 CSB45 CSB44 CSB43 CSB42 CSB41 CSB40 CSB39 CSB38 CSB37 CSB36 CSB35 CSB34 CSB33 CSB32 HCB47 HCB46 HCB45 HCB44...

Страница 15: ...ck 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 0x00F8 RSVD Reserved 0x00FC RSVD Reserved Notes 1 These fields...

Страница 16: ...t auto clears after node completes the Bus Off Recovery or leaves Bus Off state due to hard soft reset or CEN deassertion 5 DPEE R W 0 Disable Protocol Exception Event Detection Generation 1 Disable P...

Страница 17: ...r counters are disabled and cleared to 0 Reads to the error counter register return zero 1 LBACK R W 0 Loopback Mode Select Request This is the Loopback mode request bit 1 Request core to be in Loopba...

Страница 18: ...seen Note In SNOOP mode error counters are disabled and cleared to 0 Reads to the Error Counter register return 0 Table 2 8 Arbitration Phase Bit Register Bits Name Access Default Value Description 3...

Страница 19: ...FD Data Phase 1 1 Indicates a bit error occurred in Data Phase Fast data rate 0 Indicates a bit error has not occurred in Data Phase Fast data rate after the last write to this bit If this bit is set...

Страница 20: ...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 1 FMER 0 Form Error Indicates an error in one of the fixed form fields in the messag...

Страница 21: ...ration State When this bit is set the BBSY and NORMAL status bits in this register do not mean anything 9 PEE_CONFIG R 0 PEE Mode Indicator 1 Indicates the core is in PEE mode Bus Integration State Wh...

Страница 22: ...e is in Loopback mode 0 Indicates that the core is not in Loopback mode 0 CONFIG R 1 Configuration Mode Indicator Indicates that the core is in Configuration mode 1 Indicates that the core is in Confi...

Страница 23: ...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 RX FIFO 1 Watermark Full Interrupt Sequenti...

Страница 24: ...n the ICR This bit is also cleared when a 0 is written to the CEN bit in the SRR 8 ERROR R 0 Error Interrupt 1 Indicates that an error occurred during message transmission or reception This bit can be...

Страница 25: ...a 0 is written to the CEN bit in the SRR 0 ARBLST R 0 Arbitration Lost Interrupt 1 Indicates that arbitration was lost during message transmission This bit can be cleared by writing to the respective...

Страница 26: ...t Enable 1 Enables interrupt generation if TXRRS bit in the ISR is set 0 Disables interrupt generation if TXRRS bit in the ISR is set 12 ERXFWMFLL R W 0 RX FIFO 0 Watermark Full Interrupt Enable Seque...

Страница 27: ...rupt generation if TXOK bit in the ISR is set 0 Disables interrupt generation if TXOK bit in the ISR is set 0 EARBLOST R W 0 Arbitration Lost Interrupt Enable 1 Enables interrupt generation if ARBLST...

Страница 28: ...ars the respective bit in the ISR Reads always 0 10 CSLP W 0 1 Clears Sleep interrupt status bit Writing a 1 to this bit clears the respective bit in the ISR Reads always 0 9 CBSOFF W 0 1 Clears Bus O...

Страница 29: ...ost interrupt status bit Writing a 1 to this bit clears the respective bit in the ISR Reads always 0 Table 2 14 Interrupt Clear Register Cont d Bits Name Access Default Value Description Table 2 15 Ti...

Страница 30: ...le of the data bit This bit can be written only when CEN bit in SRR is 0 7 0 DP_BRP 7 0 R W 0 Data Phase Baud Rate Prescaler These bits indicate the prescaler value for Data Bit Timing as specified in...

Страница 31: ...7 R W Host writes 1 and core clears 0 TX Buffer_0 Ready Request This is control bit corresponds to TB0 message in TX block RAM Host writes 1 to indicate buffer is ready for transmission Core clears th...

Страница 32: ...X Buffer_0 Cancel Request This is cancellation request bit corresponds to RR0 bit in TRR register Host writes 1 to indicate cancellation request of corresponding buffer ready request that is RR0 bit i...

Страница 33: ...ISR does not set if CR0 bit in TCS register clears 6 ECRS6 5 ECRS5 4 ECRS4 3 ECRS3 2 ECRS2 1 ECRS1 0 ECRS0 Table 2 22 TX Event FIFO Status Register Bits Name Access Default Value Description 31 14 Res...

Страница 34: ...ed if CEN bit is cleared RI gets reset to 0 if soft or hard reset is asserted Table 2 23 TX Event FIFO Watermark Register Bits Name Access Default Value Description 4 0 TXE_FWM R W 0xf TX Event FIFO F...

Страница 35: ...ffer ID CSBx HCBx 11 Buffer is full it has received message CSBx HCBx 10 Buffer is invalid This condition can happen when core updates CS0 bit to indicate Buffer is full and at the same time Host trie...

Страница 36: ...16 ERBF31 ERBF16 R W 0 Note These bits exist based on the number of RX buffers 15 ERBF15 R W 0 RX Buffer_15 1 Full Interrupt Enable Description same as ERBF0 RX Buffer_0 Full Interrupt Enable is for...

Страница 37: ...If the UAF bits are changed from a 1 to 0 during reception of a message then that message might or might not be stored 0 ERBF32 R W 0 RX Buffer_32 Full Interrupt Enable 1 Enables setting RXBFL bit in...

Страница 38: ...eptance Filter Mask Pair 18 Description same as UAF0 17 UAF17 R W 0 Use Acceptance Filter Mask Pair 17 Description same as UAF0 16 UAF16 R W 0 Use Acceptance Filter Mask Pair 16 Description same as UA...

Страница 39: ...Indicates Acceptance Filter Mask register 0 AFMR0 or M0 and Acceptance Filter ID register 0 AFID0 or F0 pair is used for acceptance filtering 0 Indicates AFMR0 and AFID0 pair is not used for acceptan...

Страница 40: ...ts from location 0x4100 RI 0x1 Next message read starts from location 0x4148 RI is maintained if CEN bit is cleared RI gets reset to 0 if soft or hard reset is asserted 15 Reserved 0 Reserved 14 8 FL...

Страница 41: ...ption 31 21 Reserved 0 Reserved 20 16 RXFP R W 0x1f Receive Filter Partition Received messages which match Filter Mask pairs from 0 to RXFP are stored in RX FIFO 0 Received messages which match Filter...

Страница 42: ...art Address Name Access Description Notes 0x0100 TB0 ID Read Write TB ID Register TB0 Message space inside memory mapped TX block RAM Only required DW locations needs to be written as per FDF and DLC...

Страница 43: ...d Write TB8 to TB15 Message Space 0x0340 0x0384 TB8 Read Write Reserved if number of TX buffers 8 In this case core does not allow any write access to this address space and read access returns 0 0x03...

Страница 44: ...0x07BC TB23 Read Write 0x07C0 0x0804 TB24 Read Write 0x0808 0x084C TB25 Read Write 0x0850 0x0894 TB26 Read Write 0x0898 0x08DC TB27 Read Write Reserved if number of TX buffers 8 or 16 In this case co...

Страница 45: ...its indicate the Standard Frame ID This field is valid for both CAN and CAN FD Standard and Extended Frames 20 SRR RTR RRS Control N A Substitute Remote Transmission Request For Extended CAN frames an...

Страница 46: ...me Control Status Default Value Description 31 28 DLC 3 0 Control N A Data Length Code This is the data length code of the control field of the CAN and CAN FD frame 27 EDL FDF Control N A Extended Dat...

Страница 47: ...eeds to be transmitted with CAN or CAN FD frame based on the DLC control field 23 16 Data bytes1 7 0 N A Data Byte 1 Data byte needs to be transmitted with CAN or CAN FD frame based on the DLC control...

Страница 48: ...and CAN FD Standard and Extended Frames 20 SRR RTR RRS Status N A Substitute Remote Transmission Request For Extended CAN frames and Extended CAN FD frame this bit is transmitted at SRR position of t...

Страница 49: ...here are no CAN FD remote frames Table 2 36 TXE FIFO TB DLC Register Bits Name Control Status Default Value Description 31 28 DLC Status N A Data Length Code This is the data length code of the contro...

Страница 50: ...core for status purpose for successfully transmitted message Table 2 37 CAN FD RX Message Space Sequential FIFO Buffers RX FIFO 0 Start Address Name Access Description Notes 64 Message Deep Sequentia...

Страница 51: ...B0 DW8 Read Only 0x212C RB0 DW9 Read Only 0x2130 RB0 DW10 Read Only 0x2134 RB0 DW11 Read Only 0x2138 RB0 DW12 Read Only 0x213C RB0 DW13 Read Only 0x2140 RB0 DW14 Read Only 0x2144 RB0 DW15 Read Only RB...

Страница 52: ...n message IMPORTANT Ensure no unintended writes are done from Host interface to RX block RAM message space core does not block writes to RX block RAM message space 0x4104 RB0_1 DLC Read Only RB DLC Re...

Страница 53: ...18 Status N A Standard Message ID The Identifier portion for a Standard Frame is 11 bits These bits indicate the Standard Frame ID This field is valid for both CAN and CAN FD Standard and Extended Fra...

Страница 54: ...Transmission Request This bit differentiates between CAN extended data frames and CAN extended remote frames 1 Indicates the received message is a CAN Remote Frame 0 Indicates the received message is...

Страница 55: ...as no meaning if the received frame is a CAN frame 24 21 Reserved N A N A Reserved Read from this field return 0 20 16 Matched_Filter _Index 4 0 Status N A This status field is written by the core in...

Страница 56: ...are equal the message is stored in RX FIFO 0 5 Acceptance filtering is processed by each of the defined filters If the incoming identifier passes through any acceptance filter the message is stored i...

Страница 57: ...0 is full the message is dropped irrespective of RX FIFO 1 status and RX FIFO 0 overflow is indicated Similarly if the incoming message fulfills condition 5 and RX FIFO 1 is full the message is droppe...

Страница 58: ...fier stored in the acceptance filter ID register The mask bits define which identifier bits stored in the Acceptance Filter ID register are compared to the incoming message identifier for CAN or CAN F...

Страница 59: ...0 Identifier Extension Mask Used for masking the IDE bit 1 Indicates the corresponding bit in Acceptance Mask ID register is used when comparing the incoming message identifier 0 Indicates the corres...

Страница 60: ...xtended frames Table 2 44 CAN FD RX Message Space Mailbox Buffers Start Address Name Access Description Notes Mailbox Buffer Space 0x2100 RB0 ID Read Write See RB ID Register Only required DW location...

Страница 61: ...es not allow any write access to this address space and read access returns 0 0x25C8 0x260C RB17 Read Write 0x29B8 0x29FC RB31 Read Write RB32 to RB47 Message Space 0x2A00 0x2A44 RB32 Read Write Reser...

Страница 62: ...te access outside the respective address space and read access returns 0 0x2F04 MRB1 Read Write See Acceptance Filter Mask Register Mask for mailbox buffer RB1 0x2F08 MRB2 Read Write See Acceptance Fi...

Страница 63: ...e designing with the core Operating Modes and States The CAN FD core supports the following modes and states Configuration Normal Loopback Sleep Snoop Protocol Exception PEE state Bus Off Recovery Sta...

Страница 64: ...uration mode after detecting 11 consecutive recessive bits on the CAN bus Core Operating Modes X14812 081518 Table 3 1 CAN FD Core Operating Mode Transitions System Hard Reset SRR Register Bits MSR Re...

Страница 65: ...es not mean anything 2 Transition to Bus Off state depends on Transmit Error Count value as per standard specification Recovery from Bus Off state depends on SBR and ABR bit settings in the MSR regist...

Страница 66: ...when normal operation is resumed Message cancellation is permitted New messages can be added for transmission provided the SNOOP bit is not set in the MSR register If there are new received messages...

Страница 67: ...rs or sequential FIFO buffers in Loopback mode It does not participate in normal bus communication and does not receive any messages transmitted by other CAN nodes the external TX line is ignored It d...

Страница 68: ...in the CAN FD frame provided the DPEE bit is not set in the MSR register It comes out of this state after detecting a sequence of 11 nominal recessive bits on the CAN bus and as per protocol specific...

Страница 69: ...hase sample point position Program the Arbitration Phase Nominal Baud Rate Prescaler register and Arbitration Phase Nominal Bit Timing register with the value calculated for the particular arbitration...

Страница 70: ...BACK SLEEP and SNOOP bits should never be set to 1 at the same time Message Transmission Cancellation and Reception Transmission All messages written in the TX buffer must follow the required message...

Страница 71: ...ccessful transmission on the CAN bus or due to Cancellation or due to DAR based transmission 4 If enabled through the IETRS and IER the TXRRS bit is set in the ISR register and interrupt is generated...

Страница 72: ...r the transmission succeeds or fails arbitration loss or error b When the core is performing a scheduling round to find out the next buffer for transmission In this case cancellation is performed afte...

Страница 73: ...pair a has corresponding UAF bit to control enable disable Filtering when RX FIFO 1 is absent or disabled Filtering is performed in the following sequence 1 The incoming Identifier is masked with the...

Страница 74: ...n any RX FIFO a Filter pair registers are stored in the block RAM memory Host has to ensure each used filter pair is properly initialized Asserting a software reset or system reset does not clear thes...

Страница 75: ...back to Active if you wish to continue with the same ID Mask or Inactive if you wish to reprogram the ID Mask Note The CAN FD can read the ID field of the Full buffer for the current match process so...

Страница 76: ...k RAM asserting a software reset or system reset does not clear these register contents Host has to properly initialize them before use Notes on the ID Match Process 1 It is expected that the AXI4 Lit...

Страница 77: ...can be 8 to 200 MHz The core has another clock can_clk_x2 which is fully synchronous to can_clk and is a multiple by two of can_clk in frequency The can_clk_x2 clock is used to drive two CAN interface...

Страница 78: ...ng AXI4 Lite APB transaction might terminate abruptly In general the system reset pulse should be greater than at least two CAN clock cycles IMPORTANT Because the Transfer layer is reset asynchronousl...

Страница 79: ...r ICR Two conditions cause the interrupt line to be asserted If a bit in the ISR is 1 and the corresponding bit in the IER is 1 Changing an IER bit from a 0 to 1 when the corresponding bit in the ISR...

Страница 80: ...ivado Design Suite If you are customizing and generating the core in the IP integrator see the Vivado Design Suite User Guide Designing IP Subsystems using IP Integrator UG994 Ref 8 for detailed infor...

Страница 81: ...name must begin with a letter and be composed of the following characters a to z A to Z 0 to 9 and _ Processor Interface This parameter determines if the AXI4 Lite or APB interface is used to communi...

Страница 82: ...is parameter determines if the IP has a second RX FIFO It is valid and applicable only when the selected RX Mode is Sequential RX FIFO 1 Depth This parameter defines the depth of RX Buffer FIFO 1 It i...

Страница 83: ...CAN clock and AXI4 clock can be asynchronous or clocked from the same source When both clocks are asynchronous to each other the AXI4 clock is required to run at a higher frequency The CAN clock freq...

Страница 84: ...ction is not applicable for this IP core Simulation For comprehensive information about Vivado simulation components as well as information about using supported third party tools see the Vivado Desig...

Страница 85: ...erator and checker modules This example design includes the following modules Clock Generator The clocking wizard is used to generate two clocks one for the register interface AXI4 Lite and the other...

Страница 86: ...t Completed Successfully If the test fails the following message is displayed ERROR Test Failed If the test hangs the following message is displayed ERROR Test did not complete timed out Example Seque...

Страница 87: ...r Partner to receive two packets and compares data for correct reception DUT packets are of higher priority than Partner Waits for DUT to receive two packets If DUT is configured in FIFO mode the pack...

Страница 88: ...Suite Figure 6 1 shows the test bench for the CAN FD example design The top level test bench generates a 200 MHz clock and drives an initial reset to the example design X Ref Target Figure 6 1 Figure...

Страница 89: ...e programmed to have the following a Same Arbitration Phase bit rate b Same Data Phase bit rate c Same Arbitration Phase Sample Point Position d Same Data Phase Sample Point Position Requirements c an...

Страница 90: ...IFO 1 Depth parameters define the depths of RX Buffer FIFO 0 and RX Buffer FIFO 1 respectively Port Changes See Table B 1 for a list of new and changed ports in v2 0 Table B 1 New Ports Port Name Note...

Страница 91: ...her product support Documentation This product guide is the main document associated with the CAN FD This guide along with documentation related to all products that aid in the design process can be f...

Страница 92: ...s Master Answer Record for the CAN FD AR 65142 Technical Support Xilinx provides technical support at the Xilinx Support web page for this LogiCORE IP product when used as described in the product doc...

Страница 93: ...ons VIO 2 0 and later versions See the Vivado Design Suite User Guide Programming and Debugging UG908 Ref 12 Hardware Debug These are some common issues that might be encountered 1 The desired baud ra...

Страница 94: ...N FD protocol and other recommendations see the standard specification and other white paper references in the References page 97 If any of the listed requirements are not met various frame errors can...

Страница 95: ...e met The s_axi_aclk and can_clk inputs are connected and toggling The interface is not being held in reset and s_axi_areset is an active Low reset The interface is enabled and s_axi_aclken is active...

Страница 96: ...filter and search to find information To open the Xilinx Documentation Navigator DocNav From the Vivado IDE select Help Documentation and Tutorials On Windows select Start All Programs Xilinx Design T...

Страница 97: ...ate Specification version v1 0 Robert Bosch GmbH 4 CAN version 2 0A and B Specification Robert Bosch GmbH 5 Mutter Dr Arthur Robustness of a CAN FD Bus System About Oscillator Tolerance and Edge Devia...

Страница 98: ...ty and support terms contained in a license issued to you by Xilinx Xilinx products are not designed or intended to be fail safe or for use in any application requiring fail safe performance you assum...

Отзывы: