MCP2517FD Click Board
MCP2517FD Click Board
Key Features
- Expands the existing MCU with the reliable and robust CAN connectivity option, support for both CAN 2.0B and CAN FD frames, high speed CAN communication up to 5 Mbps, integrated DE-9 connector, oscillator selection, and more
- Based on the MCP2517FD - external CAN FD controller with an SPI interface from Microchip ATA6563 - high-speed CAN transceiver from Microchip
- Can be used for developing a wide range of automotive diagnostic applications, even on MCUs that don’t support CAN interface
- mikroBUS: SPI, GPIO and PWM Interfaces
Overview
The MCP2517FD Click Board™ is a complete CAN solution that carries the MCP2517FD CAN FD controller and ATA6563 high-speed CAN transceiver from Microchip and a DB9 9-pin connector.
The MCP2517FD Click Board™ Click Board™ requires both 3.3V and 5V power supply. It communicates with the target microcontroller through the SPI interface, with additional functionality provided by the following pins on the MikroBUS socket: AN, PWM, INT, TX and RX.
The MCP2517FD Click Board™ is a complete CAN solution which carries the MCP2517FD CAN FD controller and ATA6563 high-speed CAN transceiver from Microchip, as well as a DB9 9-pin connector.
The click requires both 3.3V and 5V power supply. It communicates with the target microcontroller through the SPI interface, with additional functionality provided by the following pins on the mikroBUS™ socket: AN, PWM, INT, TX and RX.
Note: For selecting the interface voltage level, use the onboard jumper, and choose between the 3.3V and 5V. For more information, see the Jumpers and Settings table below.
MCP2517FD Features
The MCP2517FD is a cost-effective and small-footprint CAN FD controller that can be easily connected to a microcontroller over an SPI interface. Therefore, a CAN FD channel can be easily added to a microcontroller that is either lacking a CAN FD peripheral, or that doesn't have enough CAN FD channels.
The MCP2517FD supports both, CAN frames in the Classical format (CAN2.0B) and CAN Flexible Data Rate (CAN FD) format.
ATA6563 CAN TRANSCEIVER FEATURES
ATA6563 is a high-speed CAN transceiver that provides an interface between a controller area network (CAN) protocol controller and the physical two-wire CAN bus.
The transceiver is designed for high-speed ( up to 5Mbit/s ) CAN applications in the automotive industry, providing differential transmit and receive capability.
It offers improved electromagnetic compatibility (EMC) and electrostatic discharge (ESD) performance.
CONNECTOR FEATURES
This is a standard DB 9-pin male connector.
SPECIFICATIONS
Type | CAN |
Applications | Simple solution for adding CAN FD connectivity to your device |
On-board modules | 9-pin CAN connector, ATA6563 CAN transceiver |
Key Features | Communication speed up to 5Mbit/s, low electromagnetic emission (EME) and high electromagnetic immunity (EMI) |
Interface | SPI |
Compatibility | mikroBUS |
Click board size | L (57.15 x 25.4 mm) |
Input Voltage | 3.3V or 5V |
PINOUT DIAGRAM
This table shows how the pinout on MCP2517FD click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes | Pin | Pin | Notes | ||||
---|---|---|---|---|---|---|---|
Standby control IP | STBY | 1 | AN | PWM | 16 | CLKO | Clock OP |
NC | 2 | RST | INT | 15 | INT | Interrupt OP | |
Chip select | CS | 3 | CS | TX | 14 | INT0 | Int/GPIO 0 / ATA6563 StdBy |
SPI Clock | SCK | 4 | SCK | RX | 13 | INT1 | Int/GPIO 1 |
SPI data OP | MISO | 5 | MISO | SCL | 12 | NC | |
SPI data IP | MOSI | 6 | MOSI | SDA | 11 | NC | |
Power supply | +3.3V | 7 | 3.3V | 5V | 10 | +5V | Power supply |
Ground | GND | 8 | GND | GND | 9 | GND | Ground |
ADDITIONAL PINS
Name | I/O | Description |
---|---|---|
TX_CAN | I | CAN transmit |
RX_CAN | O | CAN receive |
CANL | I/O | CAN low line |
CANH | I/O | CAN high line |
JUMPERS AND SETTINGS
Designator | Name | Default Position | Default Option | Description |
---|---|---|---|---|
JP1 | VIO.SEL. | Left | 3V3 | Power Supply Voltage Selection 3V3/5V, left position 3V3, right position 5V |
JP2 | STBY | Right | ON | Select Stand by function, default ON, other takes the STBY SEL configuration |
JP3 | STBY SEL | Left | STBY | Takes STBY input from STBY pin or INT0 pin on mikroBUS™ |
JP4 | Right | 40MHz | Selects between 20 and 40 MHz clock |
LEDS AND BUTTONS
Designator | Name | Type | Description |
---|---|---|---|
CN1 | CONNECTOR | DB9 connector for CAN |
Software Support
Code examples for MCP2517FD click, written for MikroElektronika hardware and compilers are available on Libstock.
CODE SNIPPET
The following code snippet shows the transmission using MCP2517FD CAN FD controller.
01 void transmitMessage( char *msg ) 02 { 03 T_MCP2517FD_txFifoEvent txFlags; 04 T_MCP2517FD_txMsgObj txObj; 05 uint8_t txData[_MCP2517FD_MAX_DATA_BYTES]; 06 bool flush; 07 08 flush = true; 09 txObj.word[0] = 0; 10 txObj.word[1] = 0; 11 12 txObj.bF.id.SID = 0x300; 13 txObj.bF.id.EID = 0; 14 txObj.bF.ctrl.FDF = 1; 15 txObj.bF.ctrl.BRS = 1; 16 txObj.bF.ctrl.IDE = 0; 17 txObj.bF.ctrl.RTR = 0; 18 txObj.bF.ctrl.DLC = MCP2517FD_DLC_64; 19 txObj.bF.ctrl.SEQ = 1; 20 21 memset(txData, 0, _MCP2517FD_MAX_DATA_BYTES); 22 strcpy(txData, msg); 23 MCP2517FD_TransmitEventGet(MCP2517FD_IDX, &txFlags); 24 25 if( txFlags & MCP2517FD_TX_FIFO_NOT_FULL ) 26 { 27 MCP2517FD_TransmitChannelLoad(MCP2517FD_IDX, MCP2517FD_FIFO_CH1, &txObj, 28 txData, MCP2517FD_DlcToDataBytes(txObj.bF.ctrl.DLC), flush); 29 LOG( "rn MCP2517FD : Message sent! > " ); 30 LOG( txData ); 31 LOG( "rn" ); 32 } 33 else 34 { 35 LOG( "rn MCP2517FD : Message not sent! >rn" ); 36 } 37 }
Software Support
Code examples for MCP2517FD click, written for MikroElektronika hardware and compilers are available on Libstock.
CODE SNIPPET
The following code snippet shows the transmission using MCP2517FD CAN FD controller.
01 void transmitMessage( char *msg ) 02 { 03 T_MCP2517FD_txFifoEvent txFlags; 04 T_MCP2517FD_txMsgObj txObj; 05 uint8_t txData[_MCP2517FD_MAX_DATA_BYTES]; 06 bool flush; 07 08 flush = true; 09 txObj.word[0] = 0; 10 txObj.word[1] = 0; 11 12 txObj.bF.id.SID = 0x300; 13 txObj.bF.id.EID = 0; 14 txObj.bF.ctrl.FDF = 1; 15 txObj.bF.ctrl.BRS = 1; 16 txObj.bF.ctrl.IDE = 0; 17 txObj.bF.ctrl.RTR = 0; 18 txObj.bF.ctrl.DLC = MCP2517FD_DLC_64; 19 txObj.bF.ctrl.SEQ = 1; 20 21 memset(txData, 0, _MCP2517FD_MAX_DATA_BYTES); 22 strcpy(txData, msg); 23 MCP2517FD_TransmitEventGet(MCP2517FD_IDX, &txFlags); 24 25 if( txFlags & MCP2517FD_TX_FIFO_NOT_FULL ) 26 { 27 MCP2517FD_TransmitChannelLoad(MCP2517FD_IDX, MCP2517FD_FIFO_CH1, &txObj, 28 txData, MCP2517FD_DlcToDataBytes(txObj.bF.ctrl.DLC), flush); 29 LOG( "rn MCP2517FD : Message sent! > " ); 30 LOG( txData ); 31 LOG( "rn" ); 32 } 33 else 34 { 35 LOG( "rn MCP2517FD : Message not sent! >rn" ); 36 } 37 }
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.