CANbus Research - Jacob-Dixon/MysticWhip GitHub Wiki
For our project we will likely be using the ATmega328P which will require that we use an external CAN controller. In the case that we go with a different microcontroller with an internal CAN controller then we would simply place the CAN controller block inside of the MCU block and everything else will remain unchanged. The CAN controller will then communicate to a CAN transceiver which will output CAN high and CAN low Signals to the CAN bus which will then communicate to the HIU.
Primary Approach
For our primary approach I will use the MCP25625 which is a CAN controller with a built in CAN transceiver. It is advantageous to go with the MCP25625 due to the built in transceiver which will help reduce the board space necessary to implement the CAN bus protocol in our project.
##Alternate Approach
The alternative CAN controller I have chosen for our project is the MCP2515. This controller was chosen based on the observation that the MCP2515 was often chosen when a stand-alone CAN controller was needed for a project. This controller also has low power consumption and is relatively inexpensive. The controller will communicate to the MCU via industry standard Serial Peripheral Interface (SPI).
The CAN transceiver I have chosen for the project is the MCP2551. We chose this transceiver based on the fact that it has been used successfully before on multiple senior design projects and it is rather inexpensive. The main downside to the MCP2551 is its relatively high power consumption.
An alternate CAN transceiver that could be used for the project is Texas Instruments’ SN65HVD231QDRG4Q1 which is quite similar to the MCP2551 except it runs at 3.3 volts. The downfall to this is that currently all of the components for our project run at 5 volts and having the transceiver run at a different voltage will require more circuitry to step the voltage down, which in turn takes up unnecessary board space. One advantage this transceiver does have though is its low power consumption, drawing a maximum supply current of 17mA.