...
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.cIt configures the CAN controller in loop back mode with no interrupt enabled and verifies the data received with data sent
Code Block | ||
---|---|---|
| ||
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.cIt configures the CAN controller in loop back mode with interrupts enabled and verifies the data received with data sent
Code Block | ||
---|---|---|
| ||
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.cIt configures the CAN controller in loop back mode with rx and tx water mark interrupts enabled with some RX and TX threshold.
Code Block | ||
---|---|---|
| ||
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
- Summary