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

This is an old revision of the document!


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 C8051F530, which is an 18 pin SOIC with 8k of flash and a 12 bit A/D converter (and a UART, and a voltage reference, and a built-in voltage regulator, and …) Being a standard half-pitch SOIC, it can be soldered by hand without difficulty.

Silabs does have a couple of their chips in DIP package for prototyping and hobby applications, and I have made a few projects with those too. Digikey sells them, so they are just an Internet purchase away. 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.

While all Silabs kits come with a fully usable (but size limited) demo version of the excellent (and expensive) Keil compiler, there are cheaper alternative. The SDCC compiler for the 8051 is good and free (http://sdcc.sourceforge.net/). The SDCC compiler is supported by the Silabs IDE, so you don't have the excuse that the compiler is too expensive to do an 8051 project.

Didier KO4BB

 
silicon_labs_silabs_c8051f_familly.1422194065.txt.gz · Last modified: 2015/01/25 08:54 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.