Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

How to Enable

Source path for the driver:
https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/canps

Driver source code is organized into different folders. Below diagram shows the canps driver source organization

canps
|
-- Doc - Provides the API and data structure details
|
- Examples - Reference application to show how to use the driver APIs and calling sequence
|
- Source - Driver source files

Features Supported

Controller Features:

  • Compatible with the ISO 11898 -1, CAN 2.0A, and CAN 2.0B standards
  • Standard (11-bit identifier) and extended (29-bit identifier) frames
  • Bit rates up to 1 Mb/s
  • Transmit message FIFO (TxFIFO) with a depth of 64 messages
  • Transmit prioritization through one high-priority transmit buffer (TxHPB
  • Watermark interrupts for TxFIFO and RxFIFO
  • Automatic re-transmission on errors or arbitration loss in normal mode
  • Receive message FIFO (RxFIFO) with a depth of 64 messages
  • Four Rx acceptance filters with enables, masks and IDs
  • Loop back and snoop modes for diagnostic applications
  • Mask able error and status interrupts
  • 16-Bit time stamping for receive message
  • Readable Rx/Tx error counters

Driver Features:

  • Supports Standard and extended frames
  • Supports Config, Sleep, Normal and snoop modes
  • Supports Acceptance filter configurations
  • Supports Polled and interrupt modes
  • Water mark interrupt support for both Tx and Rx FIFOs
  • Supports Transmit prioritization through one high-priority transmit buffer (TxHPB)

Test cases

Canps polled mode test

https://github.com/Xilinx/embeddedsw/blob/master/XilinxProcessorIPLib/drivers/canps/examples/xcanps_polled_example.c
It configures the CAN controller in loop back mode with no interrupt enabled and verifies the data received with data sent
Code Block
themeMidnight
Polled Mode test::
CAN Polled Mode Example Test
Successfully ran CAN Polled Mode Example Test

Canps interrupt mode test

https://github.com/Xilinx/embeddedsw/blob/master/XilinxProcessorIPLib/drivers/canps/examples/xcanps_intr_example.c
It configures the CAN controller in loop back mode with interrupts enabled and verifies the data received with data sent
Code Block
themeMidnight
Interrupt Mode test:
CAN Interrupt Example Test
Successfully ran CAN Interrupt Example Test

Canps water mark interrupt test

https://github.com/Xilinx/embeddedsw/blob/master/XilinxProcessorIPLib/drivers/canps/examples/xcanps_watermark_intr_example.c
It configures the CAN controller in loop back mode with rx and tx water mark interrupts enabled with some RX and TX threshold.
Code Block
themeMidnight
Water Mark Test:
CAN Watermark Example Test
Successfully ran CAN Watermark Example Test

Known issues and Limitations

  • None

Change Log

  • 2017.1

    • None
  • 2017.2

    • None
  • 2017.3

    • None
  • 2017.4

    • None
  • 2018.1

    • None
  • 2018.2

    • None
  • 2018.3

    • None
  • 2019.1

    • None
  • 2019.2

    • None
  • 2020.1

    • None
  • 2020.2

    • Summary
      • canps : fixed MISRA-C violations
      • canps: Update Makefile for parallel make execution
    • Commits:
      • 6b9946 canps: Update Makefile for parallel make execution

Related Links