[MyHosting.com]   [KO4BB Home Page]   [Manuals Home Page]   [KO4BB Wiki]
 

Silabs 8051 Family

This was a posting to a mailing list that never made it (vagaries of Internet email)

I thought I would post my current favorites and some rationale for it in case the question would come up again.


The way the 8051 addresses various areas of memory using different types of calls is strange, and probably not very efficient, but it has served the 8051 architecture well, and if you use a C compiler (there are several C compilers for the 8051, including a free one), that is largely transparent (see below)

When I went from the Motorola 6805 programmed in assembly to the 8051 (assembly also), what a headache, but as soon as I started using C on the 8051, what a pleasure. There was no going back.

While it is useful to know enough of the assembly language for the processor you are using, the main reason is not to code some critical sections in assembly as some people may have told you. The main reason is to understand how the compiler translates the code you write, so that you can write efficient code directly in C. If your needs do not strain the processor you are using, you can simply ignore the assembly. Unless you need to do things that the C compiler simply would not let you write (and that is probably a bad idea from a maintainability standpoint), I recommend C against assembly any day. A good C compiler will manage memory much more efficiently than assembly, particularly for a large project for a fraction of the hassle.

Regarding performance, Silabs (http://www.silabs.com) has a large family of 8051 variants, some of them run at 100 MHz with about 1 instruction/cycle, so that's 100 MIPS for an 8051. Compare that to ~1 MIP for the original 8051 (11 MHz and 12 clocks/cycle), or even the latest PIC microcontrollers which run at 40 MHz (64 MHz parts have been announced for 2008). It will be a while before I find that limiting…

All their chips have a precision internal oscillator so that you can run the UART and other serial peripherals without a crystal, but a crystal is supported if you need it. The fast chips have a PLL so that you can run the chip very fast with a lower frequency crystal (cheaper and lower EMI).

Their development system is USB/JTAG based and very effective, with source level debugging in C, single stepping and all the debug facilities you would expect from a top of the line system. For the low-pin-count chips, Silabs has a 2 pin variant of the JTAG (they call it C2) which provides all the same debugging capabilities using only two pins, one is the Reset pin and the other can even be used for normal I/O once you are done debugging. All this is completely transparent.

I have two favorites in that family, the C8051F133 (or 123), which is close to the top of the line, with a 64 pin package, 100 MIPS and lots of flash, RAM and on-chip peripherals, and the C8051F587, which is a 32 pin SOIC with 96k of flash and a 12 bit A/D converter that runs from anything between 2.7 and 5V (and two UARTs, and a voltage reference, and a built-in voltage regulator, and …) Being a standard half-pitch SOIC, it can be soldered by hand without too much difficulty.

Silabs used to have a couple of their chips in DIP package for prototyping and hobby applications, and I have made a few projects with those too, but that is no longer the case. Silabs has a wide range of fully functional eval/prototype kits that sell for $20 to $150, check their Toolstick line (http://www.silabs.com/toolstick). I have no interest in Silabs other than being a very satisfied customer.

Check my Synthesized Audio Generator page http://www.ko4bb.com/Test_Equipment/AFSignalGenerator/SigGen.php for an example of what you can do for $28.00 ($18 being the programmer which you will reuse with your next project) in one evening.

To find what development tools are available for the Silabs 8051 microcontrollers, see Tools for the Silabs (and other) 8051 micro controllers

Didier KO4BB

 
silicon_labs_silabs_c8051f_familly.txt · Last modified: 2015/01/25 09:30 by ko4bb
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Except as noted, this entire site Copyright © 2002-2017. KO4BB All rights reserved.