Kinetis, Freescale’s new line of ARM-based microcontrollers is finally out.
Part of my job as a Freescale application engineer was validation, and let me tell you, it has been fun. Coming from an 8-bit microcontroller background, I’ve usually dealt with small microcontrollers, slow bus speeds and limited memories. Kinetis, while not a high-end processor, is a big difference. I’ve worked with some other 32-bit devices, mainly Coldfires. Now I’ve gotten to dive deeper into the world of 32 bits, it’s fantastic. ARM is also fantastic, and the amount of integration in Kinetis is also fantastic, I can’t wait to get my hands into an actual, full-on project. Validation is a different job than developing an actual finished product, the software is not as complex and is focused on bringing out features rather than using one or two features and building on them. For me, it was al about the touch sensing functions embedded into Kinetis. Being touch sensing such a big thing right now (read all about it in the Embedded Insights blog, mainly in Robert Cravotta’s blog posts, highly recommended) it was important for Kinetis to include a fully functional and robust touch sensing interface, and we did it. The touch sensing input module (TSI) is a 16 electrode, 1 pin-per-electrode module that takes care of capacitive touch sensing from the analog signaling all the way to the scanning and outputting of interrupt signals. User software only needs to worry about waiting for interrupts and storing measurements. Post processing can be as simple as comparing measurements to a baseline capacitance, consider the electrode touched if the capacitance goes above a certain threshold. Most applications will want to do baseline tracking (constantly measure the electrodes to check if capacitance varies over time, mainly from environmental changes) and filtering. For that purpose, Freescale also provides the touch sensing software library (TSS), which in Kinetis supports both the TSI module and the GPIO scanning mode based on RC measurements driven by an external pull-up.
Of course, Kinetis doesn’t end there, as I wrote above, the amount of integration is amazing:
- Lots of serial ports (including I2S for audio codecs)
- Lots of timers (including the FTM module, ready to do motor control)
And so much more. Plus the whole ARM ecosystem at your disposal. Kinetis also includes new Freescale IP for flash technology, the TFS (thin film storage), which could (and probably will) take several blog posts to talk about, but I’ll just tell you it’s highly reliable, fast and, mounted on top of it is a module called FlexMemory that allows programmers to assign sections of the memory as code memory and as data memory, including EEPROM emulation (so no more awkward memory drivers, the FlexMemory takes care of it). Visit the Kinetis site for more information, reference manuals, etc.
On a personal, blogger note: the reason I hadn’t posted was that I was just so busy, no excuses, I know I could have posted on a Sunday night as I’m doing right now, but I didn’t, cause I was just so busy and wanted to use my Sunday nights for sleeping and playing guitar and that sort of stress relieving activities. More posts will come, Kinetis-themed, and in other themes as well.