📜 ⬆️ ⬇️

Handbook "beekeeper" or answer questions on the EFM8 Bee microcontrollers

Microcontrollers of the EFM8 Bee family are becoming more and more popular every day and a list of frequently asked questions has been accumulated that you have to answer regularly. I decided to post them here so that people who are embarrassed to ask questions to the engineers of EFO can find the answers through a search engine.

For readers who are not familiar with EFM8 Bee microcontrollers, I will briefly present the main features of these crystals, answering the question that has already arisen: What is special about EFM8 Bee microcontrollers?

EFM8 Bee microcontrollers are represented by four “bee” families: Busy Bee, Sleepy Bee, Universal Bee and Laser Bee, each of which has its own distinctive features. The basis
EFM8 Bee is based on the CIP-51 processor core with the 51-processor processor instruction set, in contrast to which more than 70% of the instructions are executed in 1-2 clocks of the system clock frequency - the same as in the well-known C8051Fxxx microcontrollers.

Without going into the intricacies of branding and analogy with the bees, consider the key features of these crystals and their technical characteristics:

1. EFM8 Busy Bee Series


The most budgetary series of crystals, where the key emphasis is placed on the cost of microchips. The cost of the cheapest microcontroller is $ 0.21 excluding VAT ($ 0.25 including VAT) for projects with an annual volume of 10 thousand or more.
')
The series is divided into three lines, summing up the following characteristics:

And what is offered for the stated $ 0.21?

At a price of $ 0.21 (excluding VAT), the EFM8BB10F2G-A-QFN20 microcircuit is offered, which includes:
  • processor core with a performance of up to 25 MIPS at a clock frequency of 25 MHz;
  • Flash memory 2 kB;
  • RAM 256 bytes;
  • two built-in clock oscillators for the frequencies of 24.5 MHz and 80 kHz;
  • SMBus / I2C interface;
  • SPI interface;
  • UART interface;
  • 16 general purpose I / O lines;
  • 3-channel programmable counters array;
  • four 16-bit timers / counter;
  • two analog comparators with built-in DAC for flexible setting of thresholds;
  • 12-bit ADC with a multiplexer of 15 channels, a reference voltage source and a temperature sensor;
  • 16-bit CRC block;
  • built-in UART loader.


2. EFM8 Sleepy Bee Series


A series of crystals focused on battery-powered applications. It has similar power settings with 32-bit EFM32 microcontrollers of the same manufacturer, but “intelligent” modes of operation and much less peripherals are not implemented. The benefit of EFM8 Sleepy Bee is the lower cost of crystals and their simpler mastering.

The series is divided into two lines and has the following distinctive features:

Analog and digital peripherals are similar to the EFM8 Busy Bee.

About prices.
The low-end chip EFM8SB10F2G-A-QFN20, similar to the "stuffing" of the minimum chip from the EFM8 Busy Bee series, is offered at a price of $ 0.32 + VAT.
A more functional and more convenient for many QSOP24 package chip EFM8SB10F8G-A-QSOP24 with 8 KB of flash-memory and 512 bytes of RAM offered at a price of $ 0.48 + VAT
Prices are valid for projects with an annual consumption of about 10 thousand pieces. in year.

3. EFM8 Laser Bee Series


A series of EFM8 Laser Bee crystals is focused on applications with analog measurements - the crystals of this series are equipped with a 14-bit ADC that provides a typical signal-to-noise + distortion value (SNDR) at 72 dB, total harmonic distortion (THD) -74 dB and dynamic range harmonic free (SFDR) 74 dB. In addition, EFM8 Laser Bee crystals are applicable in applications where an inexpensive microcontroller with a high operating frequency is required.

The characteristics of EFM8 Laser Bee crystals in the dry presentation are as follows:

And the uniqueness of this series lies in the combination of the presented characteristics and prices.

For example
The “minimum configuration” includes the EFM8LB10F16E-B-QFN24 microcircuit, which has 16 kB of flash memory and 1.25 kB of RAM. Its price is $ 0.54 + VAT. A more versatile version of the EFM8LB10F16E-B-QFP32 in the QFP32 package is offered at a price of $ 0.70 + VAT.
The most functional version of the series - EFM8LB12F64E-B-QSOP24 - with 64 Kbytes of flash memory, 4.25 Kbytes of RAM and four DACs are available at a price of $ 0.94 + VAT.
Prices based on 10 thousand pieces. in year.

4. EFM8 Universal Bee Series


The name of the series comes from the name of the USB interface, which is supplied with the crystals of this series.

Among the features of the line are:

The power-down mode of the USB interface in the EFM8 Universal Bee is necessary for working with stand-alone devices, data exchange with which should take place without mutual load on the power supply.

Prices please
A device with a minimum of external components (without external quartz and a voltage regulator) can be built on an EFM8UB10F8G-C-QFN20 chip priced at $ 0.43 + VAT, which in addition to the USB interface is equipped with 8 kBytes of flash memory, 2304 Bytes of RAM, 12-bit ADC and typical units of the microcontroller, which are in other series of EFM8.

If we talk about all EFM8 Bee microcontrollers, then in general it can be noted that the “filling” of crystals of all series is sufficiently saturated, as can be clearly seen in the summary table under the spoiler.

EFM8 summary table
EFM8 summary table
EFM8 summary table

And there are a number of important features inherent in all series of microcontrollers:

Busy Bee and Sleepy Bee microcontrollers are available in both industrial temperature ranges and automotive versions that meet the requirements of the AEC-Q100 standard.

The cases are very compact - the largest crystal comes in a 48-pin QFP package:
EFM8 enclosures

Case breakdown by family and part number
Cases with the same name (QFN24 and QFN32) are presented in different sizes - marked in separate colors.
EFM8 summary table


Well, perhaps, the answer to the first question was “What are the special features of the EFM8 Bee microcontrollers?” And you can begin to answer the typical questions of the developers, who decided to use the crystals of this family in their developments.

Why is EFM8 much cheaper than C8051Fxxx, the continuation of which EFM8 crystals are?


Architecturally, the EFM8 continues the C8051Fxxx line, but they are produced according to design standards - 0.18 µm, i.e. less than C8051Fxxx, most of which is produced using 0.35 micron technology. However, under the new project standards, the C8051F7xxx, C8051F8xx, and C8051F9xx series are available, the prices of which are lower than those in this family.

Also, the low price of EFM8 crystals is part of the strategy of the manufacturer, which positions this family for budgetary tasks.

Where to begin?


You can start mastering the EFM8 Bee from the stage of assessing the key capabilities of the selected microcontroller. This can be done on a proprietary debug board , which is available for each EFM8 series. The cost of these boards ranges from $ 45 to $ 55, including VAT.

On each board, the senior microcontroller from the family is soldered and an emulator / programmer is implemented, which provides full access to all the resources of this microcontroller.

As a software tool for most development stages using EFM8 and their proprietary debug boards, it is best to use the integrated development platform Simplicity Studio. An overview of its components is provided in YouTube videos .

To evaluate the selected crystal, you can use any of the available resources in Simplicity Studio:


What development environment to use? Is there a free C compiler?


The tool offered by the manufacturer is the Simplicity Studio development platform mentioned above. After watching the video demonstrations, it is much easier to start mastering it.
At the time of writing, two versions of Simplicity Studio are available for download on the manufacturer’s website: version 3 and new version 4 . Version 3 is less difficult to master, but its components are no longer updated, and all new software components and documentation are integrated into version 4. With each new release of Simplicity Studio version 4, there are less and less difficulties in work.

After installing Simplicity Studio of any version, you need to install the required components as shown in the videos for version 3 and for version 4 .

As a result, Simplicity Studio will be installed with all the components necessary for work. For EFM8, this will include the Keil professional compiler, which is the de facto standard for the 8051 architecture, the command system of which is embedded in the core of the CIP-51 EFM8 microcontroller. An unlimited license for EFM8 Bee microcontrollers is available free of charge after registering with Keil.

To obtain a license in Simplicity Studio version 3, you need to go to the registration form after installing the components for the EFM8 Bee in the “Setup tasks” dialog box. This may not be necessary if before installing Simplicity Studio licenses for Keil were already installed and they were successfully “pulled” by Simplicity Studio. As a test, you can run a compilation of any project and see the output of the compiler - a license is not required if the Output window includes the following entry in the Output lines: “C51 COMPILER V9.53.0.0 - SN: xxxxxxxxxxxxx”.

In Simplicity Studio version 4, the license obtaining dialog box will appear when the project is first compiled, in case the compiler in Simplicity Studio does not find an existing license that is sufficient for operation.

As an alternative approach to project implementation, Silicon Labs also offers the use of the mbed platform, the capabilities of which were described earlier in our corporate blog .

What are software libraries?


For all EFM8 Bee crystal lines, a set of libraries is offered, including drivers for the internal periphery of the crystals and the BSP to support components placed on the branded debugging boards.

When you create a project from scratch or load it from an example in Simplicity Studio, you need to select the latest version of the SDK (if there are already several), then you can use the features of the graphical shell Simplicity Studio in the future to add the necessary modules to the project - by ticking the required components in the properties the project in the [C / C ++ Build]> [Project Modules] section - as shown in the figure under the spoiler.

Adding EFM8 SDK components to a project.

All existing components in the selected SDK version are listed and added / removed by ticks.


Documentation on the EFM8 SDK is available online at devtools.silabs.com .

Where to find documentation on chips, debugging tools, software?


The most complete and up-to-date list of documentation with filtering is available on the manufacturer's website . Here, the list includes documentation created not only for EFM8 series crystals, but also C8051Fxxx microcontrollers that are similar in internal organization.

To facilitate the search for documentation on the used chip and debug kit, the manufacturer also organized access to them directly from the Simplicity Studio shell. But at the time of this writing, there are some reservations about this:


How to debug a project on your layout?


Debugging a project on your own layout is possible using a proprietary debugging board for any EFM8 series, or using an in-circuit USB Debug Adapter emulator / programmer worth $ 55, which has been produced for many years for C8051Fxxx crystals and someone even has it in the “bins”.

Proper connection of signal lines must be done according to the AN124 application guide .

Here, for debugging an external processor, signals of the C2 debugging interface are needed - the C2D, C2CK and GND lines. The Reset pin in the EFM8 is always the C2CK signal line at the same time — the C2 interface was designed for reasons of saving I / O ports. For stable operation of the interface, the connecting wires should be made as short as possible.

In order not to invent power for your own layout, you can use the debugger power supply lines - the USB Debug Adapter is 5V from the 10th pin of the connector, and the debugging board is 3.3V and 5V from the EXP connector.

When debugging your own layout using a proprietary debugging board, you need to configure it to work with an external processor — for this you need to set the OUT mode in the Kit Manager utility in Simplicity Studio version 3 or in the main window Simplicity Studio version 4 in the Debug Mode section - the LED should light up next to the dbg connector.

There is one more non-standard way to work with EFM8 microcontrollers on your own layout - for debugging use a proprietary debugging board for EFM32 microcontrollers, connecting the C2D and C2CK signals of the microcontroller to the 7 and 9 pins of the Debug Out connector of the debugging board, and also connecting the power supply line and the common wire with the line VTARGET and GND of this connector. Next, you need to configure the debugging board in the Debug: OUT mode and manually specify the target microcontroller in the connection properties.

Branded debug board does not work correctly. I can not establish a connection with the processor. What to do?


The primary cause of any problems in the operation of debugging boards for EFM8 is the outdated “firmware” of the debugging board. To update it you need:

The lack of communication with the board may indicate a violation of its firmware. In this case, you need to initialize the board and update the firmware in accordance with the instructions for "revitalizing" branded boards for EFM8 and EFM32 microcontrollers .

If there is a connection with the board, and the connection with the microcontroller on the board cannot be established, then the cause may be the program running in the microcontroller, which immediately after power-up takes it to a state in which the processor cannot respond to requests from the debugger. For example, the transfer of the microcontroller to a deep sleep mode or an incorrect clock setting leads to a failure of the debugger to work with the processor. To revive the microcontroller in this case, you need a USB Debug Adapter . The algorithm of actions is described in the knowledge base on the site community.silabs.com .

If Simplify Studio doesn’t erase the USB Debug Adapter, you can do this in the Flash Programming Utilities application, where you need to perform the operation on the Flash Erase tab to erase the entire contents of the Flash memory . The algorithm of the erase function in this program works more reliably than in other applications for EFM8 and C8051Fxxx, and allows the microcontroller to be taken out of a deep “comatose” state.

I have something [everything, nothing, I don’t understand what] doesn’t work. Where to look for answers to questions?


For EFM8 microcontrollers, the largest amount of information can be found on the community website, organized by the manufacturer at community.silabs.com. There is both a knowledge base from the manufacturer, as well as answers to questions from users on the chips and software , which are answered by the staff of the manufacturer’s technical support.

How to program EFM8 microcontrollers in mass production?


With the release of devices in a small series of chips can be programmed in the finished product using an in-circuit emulator / programmer DEBUGADPTR1-USB , cost $ 55. As a program shell, you can use the Flash Programming Utilities toolkit or the Production Programmer . Flash Programming Utilities can work in graphical mode in a ready-made shell or in the command line mode, which is useful in cases of creating programming scripts that are placed in a .bat file.

As a cheaper version of the programmer, you can use the unpackaged version of the above programmer, called ToolstickBA , which you can buy at a price of $ 30, including VAT. With it, it is even more economical to perform a plug-in connection, since This programmer has an end connector, the counterpart for which can be provided on the printed circuit board without additional connectors.

With the volume of serial production, when the labor costs and the cost of programming overheads exceed reasonable values, you can use the programming service of crystals in the production of Silicon Labs. Cost of service in batches of 5000 pcs. is 0.06 $ / pcs. - 0.1 $ / pcs. including VAT depending on the amount of Flash-memory.

You also need to remember that in EFM8 microcontrollers there is a built-in loader and if there is a connector in the product for connecting an interface that is supported by the loader, you can organize the programming of the microcontroller before the final testing of the assembled product - without a programmer. For details on the boot loader, refer to the AN945 application manual and its software .

And there is still a classic way - using a parallel programmer for programming chips before installing on the board. Programmers firm Fiton ChipProg series support the entire line of microcontrollers EFM8.

This is perhaps the entire list of the main issues that arise for most developers who start working with EFM8 Bee microcontrollers. Other questions can be addressed to us - specialists of the EFO company or you can find the answers yourself on the website community.silabs.com .

Source: https://habr.com/ru/post/327780/


All Articles