Arthur, and others,
I’m hitting roadblock after roadblock with these automotive microcontrollers. The chips are expensive, but we could live with that. However, the bigger issue is development environments. It seems that none of the free and open development environments support these automotive processor cores (and a development environment free of encumbrance and easy to get into is one of the fundamental requirements for this project). Kind of frustrating, but when looking at US$30 for a processor, when the Cortex M4 ones are US$7, makes me rethink things.
I am kind of narrowing down on the Kinetics range from NXP. In particular, MK66FN2M0VLQ18 seems to give us what we need:
- ARM Cortext M4, at 180MHz max
- Kinetics free development environment
- 2MB flash
- 256KB RAM
- 2x CAN
- 6x UART
- 3x SPI
- USB
- Ethernet
Couple it with a CMSIS-DAP (I’m looking closely at
IBDAP as a base for this because of their free open source approach based on a simple US$4 LPC11U35FHI33 and gcc-compileable firmware) for firmware loading, serial over USB console, and low-cost debugging.
Should work fine with Kinetics Design Studio (KDS). Windows and Linux support is complete, and OSX is basic but ok. Includes a RTOS (MQX), but also supports FreeRTOS.
That gives us two full high-speed CANs directly on the processor. Extras would be via MCP2515 SPI on an expansion card.
The above seems like a workable plan. I’ve already got some FRDM-K64F boards, which are pretty close to the above and readily available to start the software development work on. At the moment, I’m trying out the Kinetics Design Studio, to see how it behaves with this arrangement and to make sure it will give us what we need in a simple development environment freely available. I should know in the next few days whether that is ok, and then we can start to nail things down. If anyone else wants to look at KDS and let me know what you think, that would be appreciated. From my understand, it is just GCC with an eclipse plugin GUI built on top.
Regards, Mark.
Speaking of modularity, how about having 1 or 2 CAN buses standard built-in, and additional CAN buses being optional add-ons? The additional CANs could be MCP2515 based via SPI, like
http://www.mikroe.com/click/can-spi-3.3v/.
With plenty of speed, flash, RAM and I/O pins, the software can tidily abstract the SPI comms so that CAN rx/tx functions appear the same whether built-in or module-based.
The advantage I see is that it doesn't constrain the primary MCU selection so much, and there are plenty of options available today. Many people will be happy with 1 or 2 CAN channels, and those who want 6 CAN channels will happily pay an extra $100 for the additional hardware.
-Arthur
_______________________________________________
OvmsDev mailing list
OvmsDev@lists.teslaclub.hkhttp://lists.teslaclub.hk/mailman/listinfo/ovmsdev