[time-nuts] Good (cheap) PIC chip choice for project?

Attila Kinali attila at kinali.ch
Sun May 26 03:18:11 EDT 2013

On Sun, 26 May 2013 00:12:58 +0000
lists at lazygranch.com wrote:

> If you go arm cortex

A little note here: Arm Cortex are multiple families of processors for
different uses. And they vary a lot!

This family is ment to replace the old ARM7TDMI chips that are so ubiquitous.
They are microcontrollers optimized for low power consumption with still a
lot of peripherals and enough computation power to do things that recently
needed a much larger and power hungry chip. They usually are run with the
application writtend directly for the bare metal, ie without an OS. Or at
most with a very thin layer of an RTOS. This family currently splits
into three types of cores: 
Cortex-M3: this is the wast majority of todays new Arm uC chips. General
purpose, does fit for most of the projects that require an uC.
Cortex-M4: an upgraded version of the M3 that can run at higher clocks
(i've seen up to 180MHz) and contains a single precision floating point unit.
Mainly thought for projects that need a little bit more computing power or
those that would benefit from floating point arithmetic.
Cortex-M0: This can be seen as a shrunk down version of the M3. It is optimized
for lower power applications than the M3 and meant to replace the 16bit uCs
with a more versatile and easier to code for 32bit uC.

This family are the so called "application processors" and are the
replacement for the venerable ARM9 and ARM11 families. They are supposed
to run Linux, QNX or something similar, and on top of that your application.
These parts start from 500MHz clock and go to 1.5GHz, from single core to
quad core. So you have a damn lot of computation power. The usual use case
for those is to control a user interface on an LCD with touch screen, do
complex network protocols and stuff like that. Anything you wouldnt want
to code yourself but a modern OS provides you for free. Big disadvantage
of those cores is, that they are only available in BGA cases (i've not
yet seen one available in QFP, if you are limited to that, choose from
an ARM9), hence you usually want to buy a board that contains such a 
processor including its power supply and basic peripherals. E.g. the
beaglebone black.

This family goes also into the category of application processors, but
are optimized for real time applications. I did not have the chance to
have a deeper look into them, yet. Thus i cannot say much about them.

> and linux, you will need to make your code a "service."
> You will want it to start up by itself and if for some reason it crashes,
> you will want it to restart itself. The buzzword is "harden" and the
> techniques vary depending on the distribution.

The advantage of running within an OS is that you can do that easily.
You don't have to rely on external components like watchdogs to catch
you in case something goes wrong. Also debugging is a lot easier as you
are working in user space instead of on bare metal. Unfortunately, this
makes people to code more sloppy, and together with more code that is
run on such systems, the application gets a lot more fragile. But if
you keep writing clean code, such applications are as stable and "hard"
as on microcontrollers.

> You should check the architecture of the system. I didn't realize many of 
> these boards run the ethernet off the usb hub. My recollection is the a10
> used by Allwinner does not do that.

I think you mean the Raspberry Pi here. It's the only one i'm aware of
that provides an ethernet interface on board, although it doesn't have
an ethernet MAC on-chip. I especially want to point out here that the
processor of the RPI was originally designed as a setop box processor.
That's why it looks like a huge GPU with a tinsy CPU attached. It also
explains the lack of documentation (everything is under NDA) and why the
interfaces are so quirky.

For most projects, i would advise against the use of the RPI unless
you are building something that relies heavily on a GPU and needs little
else. There are other, better boards to choose from that are in the same
price range or even cheaper. Examples are the aformentioned
beaglebone black (using an Ti AM3359), or the two olixino boards 
(one featuring a Freescale i.MX23 and the other an AllWinner A10).

			Attila Kinali

The people on 4chan are like brilliant psychologists
who also happen to be insane and gross.
		-- unknown

More information about the time-nuts mailing list