Embedded systems developers can spend a lot of time trying to locate a microcontroller that has the peripheral set they need without a lot of surplus that adds cost but no value. Then, they need to do it again on the next project, hoping to find something that lets them leverage the tools, expertise, and software they previously acquired. It would be nice if there was something available that had enough flexibility that a single device would meet the needs of many projects.
Cypress Semiconductor has developed what seems like just the thing. They recently announced the PSoC 4 L-series, the latest in a family of programmable systems on chip with a lot to offer. Based on the widely-supported ARM M0 architecture, the PSoC 4 family provides an almost bewildering degree of configurability.
Fixed resources on the L-series PSoC-4 chip, for example, include 98 general purpose IOs, a USB device controller, DMA, LCD drive, and a CAN interface. There is also a dual-mutual capacitive touch controller with 94 channel capacity. But it's the 33 programmable blocks that allow customization to fit a wide range of needs. Both digital and analog resources can be counted in this mix.
The 20 digital blocks come in three varieties: counter/timer/PWMs, serial communications, and what Cypress calls universal digital blocks (UDBs). The counter/timer/PWMs, as you might expect, can be configured as whichever of the three you need, with 16-bit resolution in each block. The serial communications blocks can be set up as I2C, SPI, or UART interfaces as well as an EZI2C interface that emulates an EEPROM interface.