Microchip users, it’s time for your big-boy pants.
The company has launched a new 32-bit chip that tops its range of ubiquitous microcontrollers. It’s got grown-up features that could entice the company’s legions of 8-bit and 16-bit users to move up into the 32-bit world and experience life in the semi-big leagues.
“Thirty-two bits for 5 bucks” could be the headline here, as the new chips combine a 32-bit MIPS M4K core – a processor for real men—with an average price of $5. As usual for Microchip, the device is crammed to overflowing with peripherals and interfaces for most conceivable applications. In this case, the key gee-whiz features are CAN (controller-area network), 10/100 Ethernet, and USB.
There are really multiple chips in the new range, and they come in three flavors: the MX5, MX6, and MX7. The MX5 has CAN, the MX6 has Ethernet, and the MX7 has both. They all have quite a bit of I/O in addition, including USB, 512K of flash, 128K of SRAM, five I2C ports, six UARTs, four SPI interfaces, a bunch of timers, two analog comparators, and more. I like that the USB interfaces can do host mode, device mode, and on-the-go (OTG) mode. OTG is particularly useful because you can do peer-to-peer USB connections instead of going through a PC or USB hub. It turns USB into a convenient high-speed connection between any two devices.
Recognizing that most of its customers are probably new to Ethernet, Microchip supplies the TCP/IP stack software for free. In fact, you get two stacks (a lightweight version and a more fully featured version), both in source code. Object code would be pointless, since Microchip doesn’t know what operating system you might be using. Same goes for the USB drivers, which can be daunting if you’ve never written USB code before.
Most of these peripherals have shown up on various Microchip chips before, but never in the high-end PIC32 family. As such, the new chips are kinda, sorta compatible with lesser PIC chips, in the sense that the peripherals and their drivers are the same, and (in some cases) the new chips are pin-compatible with some existing chips. That doesn’t mean you can uproot your old 8-bit PIC device and replace it with one of these, but it’s nice that Microchip made the effort to preserve as much compatibility as it could.
What sets these processors apart is that they’re based on the he-man MIPS M4K 32-bit processor. That’s a big deal for Microchip, a company that made its name supplying dirt-cheap 8- and 16-bit microcontrollers to the masses. The strategy has worked extremely well for the company, which has moved up the sales charts for years and now ranks among the world’s biggest chip vendors. The only thing it needed was a range-topping 32-bit family, but there was no way to extend the 16-bit architecture to 32 bits.
Cue MIPS, the second most-popular 32-bit architecture after ARM. Although MIPS isn’t binary compatible with Microchip’s other controllers, it does use the same development tools, so it looks the same to programmers. Unless you peek under the hood at the object code, it appears that the 8-, 16-, and 32-bit families are all extension of one another. Nicely done.
Performance-wise, the M4K processor is in the same ballpark as an ARM9, AVR32, or Cortex-M3. In Microchip’s new MX5, MX6, and MX7 devices, the processor runs at 80 MHz. They don’t have floating-point units, but Microchip provides an FP library that does a good job of faking it.
Reality check: Keep in mind that this is pretty much the same RISC processor that was driving Silicon Graphic workstations not so long ago. The special effects in Jurassic Park were rendered with this processor. And now it occupies a small corner of a $5 microcontroller. Awesome.
At around $5 in quantity, these new MXx parts aren’t as cheap as Luminary Micro’s famous “32 bits for a buck,” nor as inexpensive as NXP’s new Cortex-M0 chip. But they’re also faster than either of those chips, and they come with a ton more peripherals. There’s obviously a lot of headroom for growth in the MIPS architecture, so once a Microchip customer makes the jump from a 16-bit PIC to the PIC32 family, it’s clear sailing from then on. Of course, the same could be said for ARM-based chips, and they have even broader software support than MIPS has. Microchip’s new MX5, MX6, and MX7 occupy that hotly contested middle ground where low-end microcontrollers meet high-end 32-bit embedded processors.