Engineering:C8051
C8051 is a microcontroller (MCU) core produced by Silicon Laboratories, Inc. It is based on a patented implementation of the 8051 instruction set architecture.[1]
Overview
The C8051 is a ‘hard wired’ implementation of the 8051 microcontroller CPU, as opposed to the original micro-coded version. The instruction set is mapped to a basic two-stage pipeline to increase throughput while maintaining an 8-bit program memory width. The result is a high-performance 8051 microcontroller architecture that executes most instructions within 1 or 2 clock cycles and delivers 20 to 25 times the performance of the original 8051 core.[1]
Families
Analog Intensive
ADC resolutions range from 10 to 24 bits, and other on-chip analog peripherals include DACs (resolutions to 12-bits), a voltage reference, comparators, a temperature sensor, programmable gain array (PGA) and oscillators. Digital peripherals can include external memory interface, timers, programmable counter array (PCA) modules, UART, USART, SPI, I²C/SMBus, I2S and more.[2]
Part Number | Flash Memory | MIPS | RAM | Packages | Other |
---|---|---|---|---|---|
C8051F00x/1x | 16-32 kB | 20-25 | 0.25-2 kB | QFP32, QFP48, QFP64 | 16x PGA |
C8051F02x | 64 kB | 25 | 4.25 kB | TQFP64, TQFP100 | - |
C8051F04x | 32-64 kB | 25 | 4.25 kB | TQFP64, TQFP100 | 60V PGA |
C8051F06x | 32-64 kB | 25 | 4.25 kB | TQFP64, TQFP100 | DMA |
C8051F12x/3x | 64-128 kB | 50-100 | 8.25 kB | TQFP64, TQFP100 | 16x16 MAC |
C8051F35x | 8 kB | 50 | 0.75 kB | QFN28, LQFP32 | - |
Ultra low power
The ultra-low power C8051 MCUs are designed to minimize power consumption across active and sleep modes and to provide the fastest wake-up times possible.[3]
Part Number | Flash Memory | MIPS | RAM | Packages | Active/Sleep Power | Other |
---|---|---|---|---|---|---|
C8051F90x/1x | 8-16 kB | 25 | 0.75 kB | QSOP24, QFN24 | 160 µA/MHz / 50 nA | dc-dc; RTC |
C8051F92x/3x | 64 kB | 25 | 4.25 kB | QFN24, QFN32, LQFP32 | 170 µA/MHz / 50 nA | dc-dc; RTC |
C8051F96x | 16-128 kB | 25 | 8.25 kB | QFN40, DQFN76, TQFP80 | 110 µA/MHz / 50 nA | AES; LCD; dc-dc |
C8051F98x/9x | 2-8 kB | 25 | 0.5 kB | QFN20, QFN24, QSOP24 | 150 µA/MHz / 10 nA | Touch; RTC |
Automotive and industrial
Silicon Labs' automotive and industrial microcontrollers (MCUs) are auto-grade products qualified and tested to the AEC-Q100 specification with high temperature operation up to 125 °C. The C8051F5xx industrial and automotive microcontrollers include a CAN 2.0B interface, LIN 2.1 interface, an integrated precision oscillator (±0.5%) that allows full spec operation without an external crystal oscillator and 1.8 to 5.25 V supply voltage. Both the C8051F5xx and C8051F85x/6x families feature a 12-bit ADC and are implemented in small form factor packages.[4]
Part Number | Flash Memory | MIPS | RAM | Packages | Other |
---|---|---|---|---|---|
C8051F85x/6x | 2-8 kB | 25 | 0.25-0.5 kB | SOIC16, QFN20, QSOP24 | LFO |
C8051F50x/1x | 32-64 kB | 50 | 4.25 kB | QFN32, QFP32, QFN40, QFN48, QFP48 | LIN2.1 + CAN2.0B; ±0.5% osc |
C8051F52x/3x | 2-8 kB | 25 | 0.25 kB | DFN10, QFN20, TSSOP20 | LIN2.1; ±0.5% osc |
C8051F54x | 8-16 kB | 50 | 1.25 kB | QFN24, QFN32, QFP32 | LIN2.1; ±0.5% osc |
C8051F55x/6x/7x | 16-32 kB | 50 | 2.25 kB | QFN24, QFN32, QFP32, QFN40 | CAN2.0B; ±0.5% osc |
C8051F58x/9x | 96-128 kB | 50 | 8 kB | QFN32, QFP32, QFN40, QFN48, QFP48 | CAN 2.0B; ±0.5% osc |
Broad based/small form factor
These small MCUs include up to 100 MIPS CPU, 12-bit ADC, 12-bit DACs and other vital analog peripherals such as integrated precision oscillator (±2%) and precision temperature sensor (±2 °C). Cost-sensitive pin-compatible one-time programmable (OTP) options are also available.[5]
Part Number | Flash Memory | MIPS | RAM | Package | Other |
---|---|---|---|---|---|
C8051F85x/6x | 2–8 kB | 25 | 0.25–0.5 kB | SOIC16, QFN20, QSOP24 | Vref; LFO; 105 °C |
C8051F2xx | 8 kB | 25 | 0.25-1.25 | TQFP48 | - |
C8051F30x* | 2–8 kB | 25 | 0.25 kB | QFN11, SOIC14 | - |
C8051F31x* | 8–16 kB | 25 | 1.25 kB | QFN28, LQFP32 | - |
C8051F33x* | 2–16 kB | 25 | 0.75 kB | QFN20, QFN24 | Vref; LFO; DAC |
C8051F36x | 16–32 kB | 50–100 | 1.25 kB | QFN28, LQFP32, TQFP48 | Vref; EMIF; 16x16 MAC |
C8051F37x/9x | 8–16 kB | 50 | 1 kB | QFN24, QFN20 | Vref; 105 °C; EEPROM; ±2 °C temp. sensor; DACs |
C8051F41x | 16–32 kB | 50 | 2.25 kB | QFN28, LQFP32 | Vref; RTC; DACs |
* C8051F30x, C8051F31x, and C8051F33x are also available with one-time-programmable memories as C8051T60x, C8051T61x, and C8051T63x respectively.
USB
These devices feature an on-board universal serial bus (USB) 2.0 function controller with an integrated transceiver and on-chip clock recovery, and are available in a wide range of packages. No external resistors, crystal, voltage regulator, EEPROM or other components are required.[6]
Part Number | Flash Memory | MHz | RAM | Packages | Other |
---|---|---|---|---|---|
C8051F32x** | 16 kB | 48 | 1.25-2.25 kB | QFN28, LQFP32 | Crystal-less |
C8051F34x* | 32-64 kB | 48 | 2.25-4.25 kB | QFN32, LQFP32, TQFP48 | Crystal-less; EMIF |
C8051F38x** | 32-64 kB | 48 | 1.25-4.25 kB | QFN32, LQFP32, TQFP48 | Crystal-less; EMIF |
* Legacy product, replaced by C8051F38x.
** C8051F32x and C8051F38x are also available with one-time-programmable memories as C8051T32x and C8051T632x respectively.
Capacitive touch sensing
Silicon Labs' capacitive touch sense microcontrollers (MCUs) enable implementation of touch buttons, sliders, wheels, capacitive proximity sensing and liquid level sensing.[7]
Part Number | Flash Memory | MHz | RAM | Packages | Other |
---|---|---|---|---|---|
C8051F7xx | 8-32 kB | 25 | 0.5-8 kB | QFN24, QFN32, QFN48, QFP48, QFP64 | 18-38 touch ch. |
C8051F8xx | 4-16 kB | 25 | 0.25-0.5 kB | SOIC16, QFN20, QFN24, QSOP24 | 8-16 touch ch. |
C8051F99x | 8 kB | 25 | 0.5 kB | QFN20, QFN24, QSOP24 | 13-14 touch ch. |
Wireless
The Si10xx wireless MCU family offers single-chip solutions that combines an MCU and an integrated sub-GHz RF transceiver. These products are designed to address the specific requirements of low-power embedded systems requiring an RF bidirectional communication link.[8]
Part Number | Flash Memory | MHz | RAM | Package | Other |
---|---|---|---|---|---|
Si100x | 32-64 kB | 25 | 4.25 kB | LGA42 | CRC; dc-dc; RTC |
Si101x | 8-16 kB | 25 | 0.75 kB | LGA42 | CRC; dc-dc; RTC |
Si102x/3x | 128 kB | 25 | 4.25-8.25 kB | LGA85 | 128 LCD segments |
USB connectivity bridges
The CP21xx family offers a plug-and-play interface solution that support VCP, USBXpress, HID, and USB Audio driver suites on Windows, Linux, and OSX. These devices support Crystal-less operation and in-system programming memory.[9]
Part Number | Description | Driver Type | GPIOs | Package | Other |
---|---|---|---|---|---|
CP2101* | USB to Dual UART Bridge | VCP, USBXpress | - | QFN28 | 5 V regulator |
CP2102** | USB to UART Bridge | VCP, USBXpress | - | QFN28 | 5 V regulator |
CP2103* | USB to UART Bridge | VCP, USBXpress | 4 | QFN28 | 5 V regulator; RS-485 |
CP2104 | USB to UART Bridge | VCP, USBXpress | 4 | QFN24 | 5 V regulator; RS-485; Split Vio |
CP2105 | USB to Dual UART Bridge | VCP, USBXpress | 5 | QFN24 | 5 V regulator; RS-485; Split Vio |
CP2108 | USB to Quad UART Bridge | VCP, USBXpress | 16 | QFN64 | 5 V regulator; RS-485; Split Vio |
CP2109 | USB to UART Bridge | VCP, USBXpress | - | QFN28 | 5 V regulator |
CP2110 | HID USB to UART Bridge | HID | 10 | QFN24 | 5 V regulator; RS-485; Split Vio |
CP2112 | HID USB to SMBus/I²C Bridge | HID | 8 | QFN24 | 5 V regulator; Split Vio |
CP2114 | USB to I2S Audio Bridge | USB Audio | 12 | QFN32 | 5 V regulator; Split Vio |
CP2130 | USB to SPI Bridge | WinUSB, LibUSB | 11 | QFN24 | 5 V regulator; Split Vio |
* Legacy product, replaced by CP2104.
** Lower cost alternatives available as CP2104 and CP2109 (footprint compatible).
Nonfree Development tools
Silicon Labs offers both software and hardware development tools to support their C8051 MCUs. A complete list of development boards and kits is available on the company's website.
ToolStick
The Silicon Labs ToolStick is a development system that allows designers to develop and debug application firmware directly on the target microcontroller using the Silicon Labs Integrated Development Environment (IDE). Once complete, designers can replace the Daughter Card with a Programming Adapter and program blank devices for use in their actual system.[10]
Silicon Labs IDE
The Silicon Labs Integrated Development Environment (IDE) is a complete, stand-alone software program that includes a project manager, source editor, source-level debugger and other utilities. The IDE interfaces to third party development tool chains to provide system designers a complete embedded software development environment. The IDE supports the entire 8-bit microcontroller (MCU) portfolio.
Keil® PK51 Developer’s Kit
The Keil PK51 Developer’s Kit includes an industry-leading 8051 C compiler, linker and assembler for use with Silicon Labs’ 8-bit microcontrollers and Studio. This toolchain package provides the build support for 8051 projects, while the IDE provides editing and debugging support. This free toolchain comes without a time or code size limit.[10]
Other tools and utilities
Configuration Wizard
The Configuration Wizard 2 utility helps accelerate development by automatically generating initialization source code to configure and enable the on-chip resources needed by most design projects. In just a few steps, the wizard creates complete startup code for a specific Silicon Labs MCU.[10]
Flash Programming Utilities
The Flash Programming Utilities allow designers to download code to a device and perform other memory operations without needing to use the Silicon Labs IDE. These utilities are static examples of the C8051Fxxx On-Chip Interface Utilities DLL detailed in application note AN117. The downloaded installation utility installs both the Windows Flash Programming Utility and the Command-line (32-bit) Flash Programming Utility.[10]
Debug Driver for Keil µVision Software
The µVision debug driver allows the Keil µVision IDE to communicate with Silicon Labs on-chip debug logic. In-system Flash memory programming integrated into the driver allows you to rapidly update target code. The µVision IDE can be used to start and stop program execution, set breakpoints, check variables, inspect and modify memory contents and single-step through programs running on your actual target hardware.[10]
Free Development tools
The C8051 is also supported by FOSS tools.
Small Device C Compiler
The Small Device C Compiler is an optimizing standard (ANSI C89, ISO C90, ISO C99, ISO C11) C compiler. It supports the C8051 via the mcs51 backend.
ec2drv
ec2drv provides Linux support for the serial debug adapter. In particular, it can be used for programming the flash memory of the C8051.
References
- ↑ 1.0 1.1 Silicon Laboratories, Inc.
- ↑ Silicon Laboratories, Inc. - High-Performance, Analog-Intensive Microcontrollers
- ↑ Silicon Laboratories, Inc. - Ultra-Low-Power Microcontroller ICs
- ↑ Silicon Laboratories, Inc. - Automotive and Industrial Microcontrollers
- ↑ Silicon Laboratories, Inc. - Small Form Factor Microcontrollers
- ↑ Silicon Laboratories, Inc. - USB Microcontrollers
- ↑ Silicon Laboratories, Inc. - Capacitive Touch Sense MCUs
- ↑ Silicon Laboratories, Inc. - Wireless Microcontrollers (MCUs)
- ↑ Silicon Laboratories, Inc. - USB Connectivity Bridges
- ↑ 10.0 10.1 10.2 10.3 10.4 Silicon Laboratories, Inc. - 8-bit Microcontroller Studio, Individual Components