![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-ooCLFI8kJ45AE-tuMgblG6eqFNv9Ug0Zq6PsEnhC5laEwvthsoP6bMdnMW7u6NIMV0rh6W7Nl8A0l7SemTjudREMGzKWOoSXNVZCHe5qk-NCm2MhVbeotdHLJ6otStaDdUiadqZwlaK3/s200/ATmega64M1.jpg)
At this point we have demonstrated the basic of the porting effort, SPI has been demonstrated to functions - as well as I2C using one of the SoftI2C libs. The advanced PCS (Power Stage Controller - think really smart PWM) is working, as is the amplified differential ADC inputs. And a 1st step at utilizing the built in CAN subsystem was accomplished, via a rather ugly rough-n-ready porting of the Atmel AT90CAN lib.
IDE.
Over the coming months I am looking to create a more 'Arduino like' library for the CAN subsystem, and may also look at a like one for the PCS subsystem. If anyone is interested in helping out, feel free to contact me!
Curious... Why drive the power stage with outputs from your microcontroller instead of using an off-the-shelf PWM controller? Most of them will have nice features like pulse by pulse current limiting, leading edge blanking, slope compensation, etc. Takes a lot of the load off your mcu plus adds some nice safety features if the cpu locks up. Plus the obvious advantage of higher frequency switching.
ReplyDeleteHi, great question - in fact the AtmegaxxM1 has a built in advanced PWM controller called a Power Stage Controller with many of those features you talked about.
ReplyDeleteIt is one of the reasons I selected this chip.