Saturday, December 12, 2015

Microcontroller Wars -The (super) Low-End (Part 1/3)


This is the start of a little blog series reviewing various microcontroller architectures. We have an integrated consulting service division in the business. On the embedded side, we get approached a lot for prototyping, product demonstrators, board support packages, and finished solutions. Many designs we churned out over the years went into high-volume production. In that process we built good relationships with suppliers, semi-conductor vendors, and contract manufacturers around the world. We recently got approached by Microchip. Many know me as an ARM-(and Freescale in particular)-fan-boy.

When dealing with firmware and embedded engineers there is almost a religious adherence to various microcontroller architectures. Because of efficiencies in the silicon process an argument for and against particular microcontroller architecture can seldom be made purely on a cost-basis. In most cases the die-space spent on peripherals, SRAM, and flash outweighs by a fair margin the die-space spend on the core itself.  An additional cost-driver seems to be various design licenses that the manufacturer pays to various organizations (e.g. ARM-licenses or MIPS-licenses). In most cases the argument for or against a particular microcontroller architecture is made on experience, the existence of development tools for that microcontroller in the business, vendor support, or lastly customer requirements.

While being very happy about other Microchip parts (operational amplifiers, power solutions …), I have not touched a PIC in more than 10 years. Back in the day I had no support, very mixed impressions about the development tools and the architecture. For 8-bit solutions 10-years ago, I would have always chosen an Atmel AVR over a PIC purely based on technology and development tools. 10 years on the support for Atmel seems to be waning, we have much better relationships with other vendors (such as Freescale and others), and I have a friendly Microchip sales-person and a field-application engineer (FAE) walking to our office.

The availability of an FAE on a short notice can be the single biggest factor in choosing architecture to de-risk the design process, something we really learned to value with Freescale over the years. If you ever get stuck on a deadline, you can pick up the phone and get help from an experienced person rather than pulling an iron-man yourself. A lot of people will pride themselves to solve every problem, but when it really comes to crunch time nobody solves it all alone. So I decided to bury old misconceptions, prejudice and have a look at Microchips product line again and put the free development tools to use that they left behind.

Glancing over their Microcontroller product line and comparing it to what our other vendors offer, I have a hard time to choose a PIC over known parts from other vendors. From my perspective anything that PIC24s, and PIC32s offer can easily be covered by a Freescale Kinetis part. The dsPIC product line seems to have an edge over other motor controllers; but that area is too specialized not to count for general purpose comparison (someone should look into TIs C2000 line for comparison). Looking at the 8-bit microcontrollers, many of Microchips microcontrollers can be easily outrun in terms of performance by the KL-Kinetis series from Freescale, LPC8xx series from NXP, and the STM32F0xx series.

The good argument here for Microchip is that they seem to be more willing to hold inventory for volume production than other vendors. They will give you volume pricing for 100k parts, even if you only order them in smaller batches over the lifetime of your product. This is something we have a hard time negotiating with other vendors that sell through suppliers on first contact. That said budgetary prices at these volumes for PIC24s, many 8-bit PICs still are higher than lower-volumes of some Kinetis or LPC parts.

Although the 8-bit and 16-bit microcontrollers seem to be dying species, Microchip seems to be the Highlander of the super-low end, the PIC12Fxxx and PIC10Fxxx product lines. These products have been around for decades and retail at prices, where it does make little sense to pay a design-license to ARM for a Cortex-M0 or a Cortex-M0+ core, even though NXP attempts this with their LPC810-series. Those pieces are meant for simple control systems or reconfigurable switches in your design. The aim here is to bring volume pricing down to less than $0.40 per chip, minimise PCB-space usage by super-low pin-count devices (less or equal than 8-Pins). Other contenders in this segment are the Freescale RS08, and the Atmel AtTiny series. Since Atmel never came to our office with an FAE, I will limit this evaluation to the RS08KA-series and the PIC10F3xx.

In Microchips favour, they seem to have free samples for everything on their website. While writing the first piece of this blog I already ordered samples for some PICs including the PIC10F322, which promptly arrived in Canada from Thailand within five days. Because of the Freescale/NXP merger the availability for free samples seems to be limited at the moment. A quick phone call to our Freescale/NXP sales person and FAE would have solved that problem in a heart-beat. Unfortunately, this may not be an option for someone who does not have any existing relationships with Freescale and just browses through their website.

In the next article I will discuss the breadboard bring up of a PIC10F322. In a later article I will show how to do that with the RS08KA. In the last article I will show how a Cortex-M0 can solve similar problems in a little less margin sensitive environment. 

Other references

No comments:

Post a Comment