AnsweredAssumed Answered

CAN interface stack for STM32F0 series controllers

Question asked by MacDonald.Tom on Jan 24, 2017
Latest reply on Jan 25, 2017 by Clive One

I am building a peripheral device that will use an STM32 microcontroller.  This peripheral device will communicate with a master/supervisory device over a CAN interface.  We have tentatively chosen the STM32F091CC as the controller of the peripheral device.  This MCU has a hardware CAN module integrated into it.


I have been reading through documentation on the various CAN protocols and looking through various datasheets and community forums regarding CAN implementation on STM32 microcontrollers.


I am now scared that we chose the wrong microcontroller, since I am having an extremely hard time finding CAN libraries that are written for STM32F0 series microcontrollers. There appears to be a fair amount of CAN library stuff out there for STM32F1 and STM32F2 series, however I don't see anything for STM32F0 series.


For example, there are CANopen stacks for sale for F1,F2, and F4 series microcontrollers that cost about $10,000 and up.  The fact that these stacks don't seem to be available for the F0 series worries me.


  In my case, I don't need to use a high-level protocol like CANopen, I just need to be able to communicate serially with the master/supervisory device.  Incorporating other nodes onto the CAN network can be left to future product development/refinement.


I believe I only need some kind of hardware abstraction layer and limited CAN stack to coordinate communication over the CAN bus.  The stack I envision would allow me to receive, transmit, and filter CAN messages.


Having never delved much into the world of microcontroller HAL programming, I am wondering if I should stop the presses and change our selected MCU to a STM32F1 or F2 series.


Does anyone know of an open-source CAN stack that I could use on the F0 series?