Jump to content

C8051

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Artoria2e5 (talk | contribs) at 17:07, 28 November 2020. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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 and 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; ±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