MCP2517FD click 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.
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 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.
This is a standard DB 9-pin male connector.
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 |
Input Voltage | 3.3V or 5V |
Compatibility | mikroBUS |
Click board size | L (57.15 x 25.4 mm) |
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).
Name | I/O | Description |
---|---|---|
TX_CAN | CAN transmit | |
RX_CAN | CAN receive | |
CANL | CAN low line | |
CANH | CAN high line |
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 |
Designator | Name | Type | Description |
---|---|---|---|
CN1 | CONNECTOR | DB9 connector for CAN |
Code examples for MCP2517FD click, written for MikroElektronika hardware and compilers are available on Libstock.
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 }