Currently, 32-bit chips have the largest market share of microcontrollers used in embedded systems, yet 8- and 16-bit chips are also frequently used. Microcontrollers of this type are built using well-known cores, which have been extensively tested and refined thanks to their long presence on the market. The tools for these microcontrollers have also been improved over the years and designers now have a set of excellent compilers and function libraries at their disposal, greatly enhancing the software development process. In modern systems, additional functionalities are also implemented, extending the range of applications in which microcontrollers can be used.
An important factor contributing to the continuous development of “simpler” 8- and -16-bit microcontrollers is the *Internet of Things* market. Due to the large number of devices and applications operating in this segment, the systems are required to have low power consumption. This applies especially to smart sensors with wireless communication, wearables, information systems replacing traditional price tags in stores, Bluetooth beacons, etc. Very often devices of this type are battery powered, and users require maximum working time without having to replace the battery. For these applications, 8- and 16-bit microcontrollers are unrivalled, as they can be easily put (and quickly woken up) into a low-power mode, in which their peripherals and/or the core are in energy-saving mode and are activated / woken up only for the time needed to perform the necessary actions.
In modern microcontrollers, peripheral modules can work independently of the CPU and perform certain tasks (which, in the traditional sense, were executed by the CPU) independently. This promotes low power consumption and frees up the processing power of a relatively small microcontroller, whose core can thus be dedicated to performing application-critical tasks. With “easy to use” configuration tools. The use of these modules reduces the development time of a new application. Moreover, such peripheral modules, of various types, implemented in microcontrollers can be combined internally into larger functional blocks, allowing more complex functions to be performed intrusively (no Core execution). To help the designer configure Core Independent Peripherals (CIP), the manufacturer provides tools with a graphical, user-friendly interface.
The AVR128DB microcontroller family combines the low-power performance of the AVR® core with a set of Core Independent Peripherals (CIPs) and a number of embedded analogue peripherals. The ability to operate at a 5V supply voltage increases the immunity to interference. Below, we will discuss primarily the CIP peripherals available in the AVR128DB series, although the functionality of the systems themselves is much greater. The AVR128DB microcontrollers include, among others, A/D converters and 10-bit DACs (i.e., D/A converters), RTC system (real time clock), PWM generators (including 12-bit TCB timers adapted to work in power systems), USART, SPI, and TWI interfaces, reference voltage sources for precise measurements, comparators, and external interrupts on all I/O pins. The AVR128DB microcontrollers are also equipped with built-in operational amplifiers (up to 3 pieces). In combination with analogue-to-digital converters, they allow extensive and precise processing of the input signals. The microcontrollers also have an input-output port (MVIO) adapted to work with different logic levels (from 1.8V to 5.5V) that makes the use of external converters unnecessary, which is another step on the way to save the BOM and energy efficiency of circuits, which will use Microchip chips. Check out the full range.
Event System is a powerful tool minimizing the load on the microcontroller core. It allows you to establish simple dependencies between events. The conditional instructions will be executed without the core being involved (or even re-activating the core). An example is the button operation independent of the program code. Exceeding the set potential difference on the comparator may result in, e.g., triggering the peripheral on the pin, starting counting, etc. This functionality reduces the amount of code required to operate the device and increases the responsiveness of the microcontroller.
Configurable Logic Cell
Configurable logic cells (CLC) are similar tools, also active in the reduced power consumption mode. It allows you to perform logical operations on signals from external and internal sources (counter, register) and transfer the result of the operation to one of the peripherals or output pins. This allows you to avoid conditional statements in your program code. The CLC module performs the functions of logic gates (AND, OR, XOR, NOT and their combinations), latches or flip-flops without the energy-consuming wake-up procedure.
Zero Cross Detector
The ZCD module is used to trigger interrupts when an AC signal crosses through the ground potential or zero-volt threshold (against the GND of the microcontroller). The microcontroller’s built-in circuit can sample the voltage directly from the power line – the only passive components required are a current limiting resistor, connected in series, and (optionally) a pull-up resistor. An equivalent analogue circuit would require significantly more components. The ZCD functionality allows for effective triac control (dimming of lights, regulation of heating), monitoring of energy quality (period measurement) or limiting EMI in circuits controlling the AC supply of a given device (switching on when the sine wave is close to zero eliminates sudden voltage peaks and the EMI caused by them). Moreover, the periphery can be configured to signal a specific type of exceedance (rising curve, falling curve, or both). The ZCD signal does not need to be handled by software and can be connected to one of the I/O pins of the microcontroller.
Even the best-designed digital circuits that execute error-free and repeatedly revised code may “crash”. This problem can occur for many reasons, sometimes unrelated to the functions performed by the code. It may be exceeding the allowed operating temperature or disturbance on the power line. Watchdog timers (WDT) counters, which work independently of the program, are the primary protection against such situations. When instructions take longer to execute, WDT resets the microcontroller. In the case of the AVR128DB family, it is possible to program a “time window” ( Window Mode Watchdog Timer, WWDT ), which can be used to execute the program. In the event of such a check, the operation of the device will be interrupted and restarted from the beginning, both in the case of too long and too short a period between responses from the core. In the latter case, it is possible that part of the instruction was not carried out, which may have negative consequences – especially if the skipped operation was directly related to the protection of the circuit or the operator of the device (e.g., undetected signal from a limit switch).
Cyclic Redundancy Check (CRC/SCAN)
Checksum generation and verification is a commonly used way to ensure efficient communication between circuits in microprocessor systems. Unfortunately, the software implementation of such verification consumes a lot of the computing power of the circuits involved and can additionally slow down their operation. Especially with 8-bit units running at a limited (to save power) frequency. The latest microcontrollers from Microchip (both PIC and AVR) have been equipped with peripherals that automatically generate a checksum (even as a 32-bit polynomial) and place it in a register accessible to the program. The functionality known as SCAN allows the CRC to directly access the memory of the microcontroller, which further improves the checksum calculation efficiency.
Examples of the use of CIP modules in specific applications and the benefits that their use brings when creating circuits implementing complex functionalities are shown in the following videos prepared by the manufacturer.