Phone

    00852-6915 1330

mcu Related Articles

Stay Ahead with Expert Electronics Insights,
Industry Trends, and Innovative Tips

IC Chips

Future Trends in Microcontroller Technology

A lot has happened since the 1970s, when microcontroller (MCU) technology first emerged. Recently, numerous trends in the MCU industry have impacted how these devices are designed and work (function). Today, MCUs (essentially computers encased in an integrated circuit (IC), that can be configured (programmed) to carry out specific tasks) are the brains behind a plethora of modern electronic gadgets, ranging from automobile infotainment systems and home appliances to sophisticated medical equipment and SCADA systems used to control industrial processes. The basic microcontroller, which is just over half a century old, represents nearly all of the entire electronic-component market. Microcontrollers remain king of the semiconductor landscape for a valid reason: they are highly adaptable, versatile, and easy to implement (code). With MCUs being used in virtually all electronic devices/equipment from mobile phones and laser printers to dishwashers and air conditioners, the microcontroller shipment data offers a rational display of the state of the electronics market. Based on different applications and needs, there are various types of microcontrollers available.  Over time, MCU manufacturers have designed/developed tailored (application-specific) versions to address the needs of use cases, including motor control, cordless communication, and efficient power consumption. Arduino and STM32 are examples of microcontrollers widely used in many electronic projects. Some MCU technologies come with highly programmable A/D chucks, which draw architectural concepts from FPGAs rather than MCUs. Also, other MCU technologies are designed as general-purpose control devices, which include a variety of fixed-function modules ranging from Analog-to-Digital and Digital-to-Analog converters to serial communication devices, timers/counters, general-purpose input/output (GPIO), and cryptographic accelerators to enable a wide range of applications. MCU Market exhibits Persistent Growth According to Global Research Insights, the World microcontroller (MCU) market size was valued at USD 19.04 billion in 2022 and is expected to hit USD 26.54 billion by 2030, growing at a CAGR of 4.8 percent between 2023 and 2030. The impact of the COVID-19 pandemic and the ongoing Russia-Ukraine War were taken into account when evaluating market sizes. Key players in the global MCU market are Netherland-based semiconductor designer and manufacturer NXP Semiconductors; American corporation Microchip Technology; Japanese Renesas Electronics, Swiss STMicroelectronics, German Infineon Technologies, and others. The top five global producers control more than 55% of global market share. Asia-Pacific boasts the largest market share of more than 50%, while Europe and North America combined have around 40 of the market share. Regarding products, 32-bit Microcontrollers have the biggest segment of more than 50%. When it comes to application, the automotive industry tops the list of the sectors/fields where MCUs are highly used, while industrial, communication, and computer follow in that order. Future Trends of MCUs While the MCU market is expected to expand in the coming years, do the technical specifications and features of microcontroller technologies need to evolve to match customer demands? Are general-purpose MCUs being phased out in favor of application-specific versions? "Customers define the product requirements," states Joe Thomsen, VP of Microchip Technology's 16-bit MCU Business Unit. "One of the things we do regularly is to evaluate what our customers are putting on their boards and what else is being implemented alongside the microcontroller," he said. "Then we can determine how we can interface to those items more easily, more effectively, or [whether] we can actually integrate those features into the MCU itself," added Mr. Thomsen. Modern MCUs are often extremely practical, fully integrated chips meant to provide a one-chip solution for numerous designs. Modern and future MCUs are designed to meet evolving application use cases and contemporary customer needs. Here are features and specifications that characterize modern and future MCUs. 1. Small-sized MCUs designed for embedded technologies The increasing popularity of MCU applications in embedded technologies is a notable trend in the semiconductor industry. These microcontrollers have exceptionally low power consumption without sacrificing functionality. Manufacturers will employ a variety of techniques to reduce MCU power consumption, such as lower clock frequencies, per-device power control, clock gating, and dynamic scaling among other methods. Since these devices consume less power, this helps significantly reduce the size of the devices. A small battery can power a low-power gadget for a long period. Numerous MCU producers have been motivated by this trend to manufacture low-power-consuming, energy-efficient microcontrollers for embedded applications that are easy to configure. 2. Rugged and sturdy MCUs for industrial applications The growing popularity of microprocessors in the industrial field is a further development in the MCU market. Industrial MCUs are used for controlling a vast range of equipment and processes, such as autonomous robots, production systems, machine tools, conveyors, etc.  Industrial MCUs are usually designed to be exceedingly rugged and durable to resist extreme industrial conditions like high temperature and pressure. The widespread adoption of microcontrollers in "Industry 4.0," which describes the integration of cutting-edge technologies including, the Internet of Things (IoT), artificial intelligence (AI), and machine learning (ML) into convoluted, automated production processes, is one instance of this trend. Manufacturing is expected to go through a revolution thanks to Industry 4.0, and microcontrollers will be critical for making such developments possible. 3. Power-efficient MCUs for edge devices/technologies, smart devices, and wearable Manufacturers, tech commentators, and users have all their attention focused on one major trend: the increasing development of f low-power MCUs being used for edge technologies, wearables, home automation, smart construction, and Internet of Things (IoT) applications. Because of their extremely low power consumption, these microcontrollers are ideal for portable electronics and other gadgets that must run continuously for long periods without a power source. Since they offer the computational (processing) power and connectivity required for data collection, analysis, and transmission, microcontrollers are a crucial part of the Internet of Things and smart home technologies. The increasing popularity of cordless connectivity options, such as Wi-Fi, Bluetooth, and Zigbee, is one development associated with MCUs for the Internet of Things and smart home applications. These contemporary technologies facilitate the integration of MCUs into products. 4. Vast application of Healthcare MCUs Another significant trend in the MCU market is the increasing application of microcontrollers in the healthcare industry. Today, microcontrollers are used in an increasing variety of medical applications, including diagnostic instruments, patient monitoring infrastructure, and other medical devices. The increasing need for improved healthcare technology is predicted to drive an enormous rise in the application of microcontrollers in the medical field in the upcoming years. Modern medical equipment can be used to gather patient data and make decisions that can enhance care, medication, and results because of increased processing capacity. A handful of these technologies are replacing physicians in tasks like examining patients' symptoms. This is a significant development in the medical industry as it lowers treatment costs while increasing the standards of medical care provided. 5. Advanced MCU security  The increasing focus on MCU security is another area of concern and a trend. The rapid growth of IoT technologies, home automation, and numerous other connected devices/technologies increases the risk of cyberattacks and security breaches. Since MCUs are potentially susceptible to hacking and various other security risks, microcontrollers could experience disastrous consequences. Manufacturers of microcontrollers have been trying to address this issue by creating increasingly secure microprocessors that are impervious to hacking, data breaches, and other types of cyberattacks. One trend in MCU security is using encrypted communication protocols, such as secure sockets layer (SSL) and transport layer security (TLS). These technological advancements guarantee the security and privacy of sensitive data and assist in preventing data breaches. Using hardware-based security features, like secure boot, Time-Based One-Time Passwords (TOTPs), and hardware-based authentication, to provide protection against unauthorized access to systems is another trend. 6. Automobile MCUs with Advanced processing power Also, as technology advances, there is a vast variety of MCU applications requiring more sophisticated processing. As a result, manufacturers have designed/developed microcontrollers with powerful CPUs and greater memory capacity. Specifically, the growing use of MCUs in automobiles has resulted in the development of customized automobile MCUs with advanced technical features and specifications. With features like voice-controlled entertainment systems, autonomous driving abilities, and advanced driver assistance systems (ADAS), contemporary automobiles are becoming increasingly "intelligent." These developments have created massive business opportunities for innovators. The processing power needed for all of these functions is substantial, and it is provided by microcontrollers with cutting-edge processing capabilities that are approved and built for rigorous automotive applications. Automobile manufacturers are optimizing fuel consumption in response to rising fuel prices and global warming by using Electronic Control Units (ECUs). ECUs are essentially microcontrollers used to monitor vehicles' energy consumption and efficiency in real time. Modern automobiles are equipped with ECUs which serve as the primary controlling unit that also monitors a variety of other vehicular activities, including infotainment, remote functionality, self-driving functions, parking assistance, and electronic driving assistance (such as park-assist functions and lane-keep assist). Therefore, in order to run interoperable software and platforms and accomplish the necessary essentials, ECUs require extremely dependable and durable hardware. Final thoughts   With the MCU technology receiving so much transformation and widespread acceptance by users and tech commentators, one would wonder when this industry will come to an end and be replaced by another technology. The justifications in favor of or against this change go beyond technical details. For design purposes, engineers and developers invest a lot of time and finances when choosing an MCU family so they will want the architecture to stay for a long period. More importantly, MCUs are generally less expensive and consume less power compared to other technologies.
Kynix On 2023-10-20   432
LED

LCD Interface Types Explained with Details

Introduction There are many kinds of LCD interfaces, with wide range of applications. The classification criteria mainly depends on the driving mode and control mode of the LCD. At present, there are generally several connection modes for color LCDs on mobile phones: MCU mode, RGB mode, SPI mode, VSYNC mode, MDDI mode, DSI mode, etc. and only the TFT module has RGB interface. Basics of LCD Interfacing Catalog Introduction Ⅰ LCD Interface Modes 1.1 MCU Mode 1.2 VSYNC Mode 1.3 M6800 Mode 1.4 Intel 8080 Mode 1.5 RGB Mode 1.6 SPI (Serial Peripheral Interface) Mode 1.7 MDDI (Mobile Display Digital Interface) Mode 1.8 DSI (Display Serial Interface) Mode Ⅱ MCU Mode vs RGB Mode Ⅲ TFT-LCD Interface Explained 3.1 TTL Interface 3.2 LVDS 3.3 EDP (Embedded Display Port) 3.4 MIPI Interface Ⅳ FAQ Ⅰ LCD Interface Modes The following is a detailed explanation of the different interface modes: 1.1 MCU Mode It is mainly used in the field of single-chip microcomputers. Later, it is widely used in low-end mobile phones, and its main feature is that it is cheap. The standard term for the MCU-LCD interface is the 8080 bus standard proposed by Intel. Figure 1. Intel 8080 Therefore, 8080 is used to refer to the MCU-LCD screen in many documents. It can be mainly divided into 8080 mode and 6800 mode, and the difference between the two is mainly the timing. There are 8 bits, 9 bits, 16 bits, 18 bits, and 24 bits for data bit transfer. Connections are divided into: CS/, RS (register selection), RD/, WR/, and data lines. The advantages are: the control is simple and convenient, no clock and synchronization signals are required. The disadvantage is: it consumes GRAM, so it is difficult to achieve a large screen (above 3.8). For LCM with MCU interface, the internal chip is called LCD driver. The main function is to transform the data/command sent by the host into the RGB data of each pixel, so that it can be displayed on the screen. This process does not require point, line, frame clocks.The LCD Driver IC of the MCU interface is equipped with GRAM. As a co-processor of the MCU, it accepts the Command/Data sent by the MCU and can work relatively independently. Pay attention to, the internal chip of LCD Module (LCM) is called the LCD driver. The main function is to transform the data/commands sent by the host computer into the RGB data of each pixel, so that it can be displayed on the screen. This process also does not require point, line, frame clocks. 1.2 VSYNC Mode In fact, this mode is to add a VSYNC signal to the MCU mode and applied to the update of the moving picture, which is very different from the above interface. This mode supports the function of direct animation display. It provides a solution for animation display with minimal changes to the MCU interface. In this mode, the internal display operation is synchronized with the external VSYNC signal. Animation display at a higher rate than internal operations can be achieved. However, due to the difference in its operation mode, this mode has a limit on the speed, that is, the write speed to the internal SRAM must be greater than the speed of the display read internal SRAM. 1.3 M6800 Mode The M6800 mode supports selectable bus widths of 8/9/16/18-bit (the default is 8 bits). The actual design idea is the same as that of Intel 8080. The main difference is the bus control read and write signals in this mode. Combined on one pin (with a latch signal (E) data bit transmission has 8, 9, 16 and 18 bits). Figure 2. M6800 Mode 1.4 Intel 8080 Mode Intel 8080 LCD interface is divided into: CS/, RS (register selection), RD/, WR/, and the data line. Advantage: Simple and convenient control, no clock and synchronization signals are required. Disadvantage: It consumes GRAM, so it is difficult to achieve a large screen (above QVGA). Figure 3. Intel 8080 Mode 1.5 RGB Mode The large screen adopts more modes, and the data bit transmission also has the 6-, 16- and 18-, 24-bit. The connections are generally: VSYNC, HSYNC, DOTCLK, CS, RESET, some also need RS, and the rest is the data line. Its advantages and disadvantages are just the opposite of MCU mode. The main difference between the MCU-LCD screen and the RGB-LCD screen is the location of the video memory. The video memory of RGB-LCD is acted by system memory, so its size is only limited by the size of system memory. Where RGB-LCD can be made larger, such as 4.3" can only be regarded as entry-level, and 7" in MID, 10" screens have begun to be widely used. At the beginning of the design of MCU-LCD, it was only necessary to consider that the memory of the single-chip microcomputer was small, so the video memory was built into the LCD module, and then the software updated the video memory through special display commands with small MCU screen. At the same time, the display update speed is slower than RGB-LCD. The display data transmission mode is also different. RGB screen only needs to organize the data in the video memory. After starting the display, the LCD-DMA will automatically transfer the data in the video memory through the RGB interface to the LCM, while the MCU screen needs to send a drawing command to modify the internal RAM of the MCU (that is, the RAM of the MCU screen cannot be directly written).Therefore, the RGB display speed is significantly faster than that of the MCU, and the MCU-LCD is also slower in terms of video playback. For the LCM of the RGB interface, the host directly outputs the RGB data of each pixel without conversion (except for GAMMA correction, etc.). For this interface, an LCD controller is required in the host part to generate RGB data and sync signals. Figure 4. RGB Mode Here gives a note. The color TFT LCD screen mainly has 2 kinds of interfaces: TTL interface (RGB color interface), and LVDS interface (differential signal transmission). The TTL interface is mainly used for small-sized TFT screens below 12.1 inches, and the LVDS interface is mainly used for large-sized TFT screens above 8 inches. The TTL interface has many lines and the transmission distance is short, while the LVDS interface has a long transmission distance and a small number of lines. The large screen adopts more modes, the control pins are VSYNC, HSYNC, VDEN, VCLK, S3C2440 supports up to 24 data pins, and the data pin is VD[23-0].The image data sent by the CPU or graphics card is a TTL signal (0-5V, 0-3.3V, 0-2.5V, or 0-1.8V), and the LCD itself also receives a TTL signal, which is transmitted at a high rate over long distances. However, its performance is poor, and the anti-interference ability is relatively poor. With the time goes by, a variety of transmission modes were proposed, such as LVDS, TDMS, GVIF, P&D, DVI and DFP. They actually just encode the TTL signal sent by the CPU or graphics card into various signals for transmission, and decode the received signal on the LCD side to obtain the TTL signal. No matter what transmission mode is used, the essential TTL signal is the same. Note: TTL/LVDS are two signal transmission modes: TTL is a mode in which high level means 1, and low level means 0; LVDS is the difference of a positive and negative corresponding waveform used to indicate the 1 or 0. 1.6 SPI (Serial Peripheral Interface) Mode It is less used. There are 3-wire and 4-wire, the connection is CS/, SLK, SDI, and SDO, and the software control is more complicated. 1.7 MDDI (Mobile Display Digital Interface) Mode  Qualcomm's MDDI, which can improve the reliability of mobile phones and reduce power consumption by reducing wiring. It will replace SPI mode as a high-speed serial interface in the mobile field. The main connection is host_data, host_strobe, client_data, client_strobe, power, and GND. 1.8 DSI (Display Serial Interface) Mode This mode is a serial bidirectional high-speed command transmission mode, with D0P, D0N, D1P, D1N, CLKP, CLKN connected.   Ⅱ MCU Mode vs RGB Mode Among them, there are more applications in MCU mode and RGB mode. The differences are as follows:1) MCU interface: it will decode commands, generate timing signals by timing generator, and drive COM and SEG.RGB interface: When writing LCD register setting, it is no different from MCU interface. The difference is only in how the image is written.2) When using the MCU mode, since the data can be stored in the IC's internal GRAM first and then written to the screen, the LCD in this mode can be directly connected to the memory bus. It is different when using RGB mode, and has no internal RAM, HSYNC, VSYNC, ENABLE, CS, RESET, RS can be directly connected to the GPIO port of memory, and use the GPIO port to simulate waveforms.3) MCU Interface vs RGB InterfaceThe main differences between the MCU interface and the RGB interface are:MCU interface mode: display data is written into DDRAM, often used for still picture display.RGB interface mode: The display data is not written into DDRAM, but directly written to the screen, which is fast and often used to display video or animation.   Ⅲ TFT-LCD Interface Explained The commonly used interfaces of TFT-LCD, including TTL (RGB), LVDS, EDP, and MIPI. Here roughly talk about the basic principles of the signal composition of these interfaces. Figure 5. TTL (Transistor-Transistor Logic) Schematic 3.1 TTL Interface 🔺Interface OverviewTTL is transistor-transistor logic, and TTL level signals are generated by TTL devices. TTL devices are a large category of digital integrated circuits. They are manufactured by bipolar technology and have the characteristics of high speed, low power consumption and many varieties.The TTL interface is an interface for transmitting data in parallel. When using it, it is not necessary to use a dedicated interface circuit at the driver board end and the LCD panel end of the liquid crystal display, but the TTL data signal output by the main control chip of the driver board is transmitted through the cable. It is directly transmitted to the input interface of the LCD panel. Due to the high signal voltage, many connections and long transmission cables of the TTL interface, the anti-interference ability of the circuit is relatively poor, and it is easy to generate electromagnetic interference (EMI). In practical applications, TTL interface circuits are mostly used to drive small-size (below 15in) or low-resolution LCD panels. The highest pixel clock of TTL is only 28MHz.TTL is the only signal that TFT-LCD can recognize. Early digital processing chips are all TTL, that is, RGB is directly output to TFT-LCD.🔺Signal TypesThe TTL output interface of the driver board generally includes three types of signals: RGB data signal, clock signal and control signal. As shown below:(1) RGB Data-Signala. Single Channel6-BitAs for it, there are 18 RGB data lines in total, including 6 R0~R5 red primary color data lines, 6 G0~G5 green primary color data lines, 6 B0~B5 blue primary color data lines, a total of 18 strips. Since the primary color RGB data is 18bit, it is also called 18-bitTTL interface.8-BitFor it, there are a total of 24 RGB data lines, including 8 R0~R7 red primary color data lines, 8 B0~B7 green primary color data lines, 8 BO~B7 blue primary color data lines, a total of 24 strips. Since the primary color RGB data is 24-bit, it is also called 24-bit TTL interface.b. Dual ChannelDual channels, that is, two sets of RGB data, which are divided into odd channels and even channels. Some clocks are also divided into OCLK/ECLK, and some share one. The following figure has two, as shown below:6-BitIt has 36 RGB data lines in total, including 18 odd RGB data lines, 18 even RGB data lines. Since the primary color ROB data is 36-bit, it is also called 36-bitTTL interface.8-BitIt has 48 RGB data lines, including 24 odd RGB data lines and 24 even RGB data lines. Since the primary color RGB data is 48bit, it is also called 48-bit TTL interface.(2) Clock SignalIt refers to the pixel clock signal, which is the benchmark for transmitting data and reading the data signal. When using odd/even pixel dual way to transmit RGB data, different output interfaces use different methods of pixel clock. Some output interface odd/even pixel dual data share a pixel clock signal, and the others set odd pixel data clock and even pixel two clock signals to meet the needs of different LCD panels.(3) Control SignalThe control signals include a data enable signal (or an effective display data strobe signal) DE, a horizontal sync signal HS, and a vertical sync signal VS. 3.2 LVDS 🔺Overview of LVDS InterfaceLVDS is a low-voltage differential signaling technology interface. A digital video signal transmission method developed to overcome the shortcomings of large power consumption and large EMI electromagnetic interference when transmitting broadband high bit rate data in TTL level mode. The LVDS output interface uses a very low voltage swing (about 350mV) to transmit data differentially on two PCB traces or a pair of balanced cables, that is, low-voltage differential signaling. Using the LVDS output interface, the signal can be transmitted at a rate of several hundred Mbit/s on the differential PCB line or balanced cable. Due to the low-voltage and low-current driving method, low noise and low power consumption are achieved.🔺Composition of LVDS Interface CircuitIn a liquid crystal display, the LVDS interface circuit includes two parts, the LVDS output interface circuit (LVDS transmitter) on the motherboard side and the LVDS input interface circuit (LVDS receiver) on the LCD panel side. The LVDS emitter converts the TTL signal into an LVDS signal, and then transmits the signal to the LVDS decoding IC on the receiving end through the flexible cable (line) between the driver board and the LCD panel, and the LVDS receiver then serializes the serial signal which is converted into a parallel signal of TTL level, and sent to the LCD screen timing control and row and column drive circuit. In other words, TFT only recognizes TTL (RGB) signals.🔺Signal type of LVDS interfaceLVDS signals are composed of data differential and clock differential signals. As shown below:(1) Single Channel6-Bit DataThere are 4 sets of differential lines, 3 sets of signal lines, and one set of clock lines, including Y0M, Y0P, Y1M, Y1P, Y2M, Y2P, CLKOUT_M, CLKOUT_P.8-Bit DataThere are 5 groups of differential lines, 4 groups of signal lines, and a group of clock lines. They are Y0M, Y0P, Y1M, Y1P, Y2M, Y2P, CLKOUT_M, CLKOUT_P.(2) Dual ChannelWhen LVDS transmits data with higher resolution, the anti-interference ability is relatively strong. But when the resolution is higher than 1920×1080, the single channel is overwhelmed, so there is a dual interface. Its purpose is very simple, speed up and enhance anti-interference ability.6-Bit DataIt is exactly twice as long as the single channel, and the clock is also two channels. The red part: the two sets of signals: Y3M, Y3P, Y3M1, and Y3M1 are not connected.8-Bit DataSimilar to the previous comparison. 3.3 EDP (Embedded Display Port) EDP is a communication interface of the computer display screen. The resolution of the computer using the EDP display interface will be higher than that of the LVDS interface. Generally, high-definition screens use this communication interface. It is a fully digital interface based on the DisplayPort architecture and protocol. It can transmit high-resolution signals with simpler connectors and fewer pins, and can achieve simultaneous transmission of multiple data, so the transmission rate is much higher than LVDS. 3.4 MIPI Interface Compared with the LVDS interface, the MIPI interface is rare, but in fact, it has many advantages. The MIPI interface module has the advantages of high speed, large amount of data transmission, low power consumption, and good anti-interference when compared with the parallel port. It is more and more favored by customers and is growing rapidly. For example, an 8M module with both MIPI and parallel port transmission requires at least 11 transmission lines and an output clock of up to 96M to achieve a full pixel output of 12FPS when using an 8-bit parallel port. Channel 6 transmission lines can achieve a frame rate of 12FPS at full pixels, and the current consumption will be about 20MA lower than that of parallel port transmission. Since MIPI uses differential signal transmission, the design needs to be strictly designed according to the general rules of differential design. The key is to achieve differential impedance matching. The MIPI protocol stipulates that the differential impedance of the transmission line is 80-125 ohms.   Ⅳ FAQ 1. What is LCD interface?16x2 LCD means that there are two rows in which 16 characters can be displayed per line, and each character takes 5X7 matrix space on LCD. ... In this tutorial we are going to connect 16X2 LCD module to the 8051 microcontroller (AT89S52). 2. What is LCD parallel interface?LCD Displays that use a parallel interface include Character, Graphic and TFT. ... The initial step is to energize the LCD. Reads and Writes are sent via 8 data lines and 3 control lines. These control lines are Read/Write (R/W), Enable (E) and Register Select (RS). 3. What is TFT interface?A TFT LCD display module consists of a TFT LCD panel, one or more COG (chip-on-glass) or COB (chip-on-board) driver ICs, a backlight, and an interface. Several TFT display interface technologies exist today. Picking the right interface depends on specific end-product concerns. 4. What are the different types of LCDs?Different Types of LCD PanelsTwisted Nematic (TN) Twisted Nematic LCDs are the most commonly manufactured and used types of monitors across a wide range of industries. ...IPS Panel TechnologyVA PanelAdvanced Fringe Field Switching 5. What is MCU interface?The MCU interface has two standard types, the Intel-8080 and Motorolla-6800 series. These interfaces communicate through read, write and chip-select signals to address registers or display RAM. The slight difference between the two pertains to the direction and separation of the write and read signals. 6. What is MCU interface LCD?These interfaces communicate through read, write and chip-select signals to address registers or display RAM. Depending on color depth (8, 9, 16 or 18-bit), MCU sends RGB signals directly to LCM's display memory. 7. Is TFT an LCD?TFT is a kind of LCD. The TFT(Thin Film Field-effect Transistor) is a video in which every single pixel in the liquid crystal display is actuated by a Thin Film Transistor embedded in the rear. Thus can achieve high speed, high brightness, high contrast display screen information.
kynix On 2022-01-18   2963
Resistors

Popularization of Science - MCU

CatalogIntroductionⅠ What is a Microcontroller(MCU)?Ⅱ The History of the Microcontroller (MCU)Ⅲ The Classification and Application of MCUⅣ China MCU Technology and Well-known ManufacturersⅤ  The Basic Functions of MCUⅥ Learning Methods - Using MCUⅦ Six Main Dimensions of MCU Products for Future ImprovementⅧ Programming of MCUⅨ Summary of the MCU Programming EngineerⅩ How to Develop MCU Ⅺ 5 Tips to Solve the Questions About the MCU CrystalⅫ Summary of Chip OperationFAQIntroductionA microcontroller (MCU) is a small computer built on a single metal-oxide-semiconductor (MOS) integrated circuit (IC) chip. A microcontroller is made up of a CPU  (processor core), memory, and programmable input/output peripherals. On chip, a small amount of RAM, as well as ferroelectric RAM, NOR flash, or OTP ROM , is commonly included. Microcontrollers  , in contrast to microprocessors  used in personal computers  or other general-purpose applications, are designed for embedded applications and are made up of a number of discrete chips. This article will delve deeper into the MCU.Ⅰ What is a Microcontroller(MCU)? Microcontroller UnitThe microcontroller unit (MCU) appropriately reduces the frequency and specifications of the CPU  and integrates peripheral interfaces such as memory, counter, USB, A/D conversion, UART, PLC, and DMA. At the same time, even the LCD driver circuit is integrated on a single chip to form a chip-level computer, which can be controlled in different combinations for different applications, such as mobile phones, PC peripherals, remote controls, automotive electronics, industrial stepping motors, machines The control of the arm, etc., can be seen in the MCU.Figure 1 MCU componentsⅡ The History of the Microcontroller (MCU)Microcontroller Unit has a short history, but it has evolved quickly. Its generation and development are roughly synchronized with that of microprocessors  (CPUs). Since Intel Corporation of the United States first introduced 4-bit microprocessors  in 1971, its evolution can be roughly divided into five stages. The following is an overview of the development of Intel's MCU.1971-1976  The initial stage of MCU developmentIn November 1971, Intel introduced the Intel 4004, a 4-bit microprocessor with an integration level of 2000 transistors/chips and equipped with RAM, ROM, and shift registers, which served as the first MCS-4 microprocessor. The Intel 8008 8-bit microprocessor was introduced, followed by other 8-bit microprocessors  from various companies.1976-1980  Low-performance MCU stageThe MCS-48 series, introduced by Intel Corporation in 1976, has a monolithic structure that integrates an 8-bit CPU.  an 8-bit parallel I/O interface, an 8-bit timer/counter, RAM, and ROM on a semiconductor chip. Its addressing range is limited (no more than 4 KB), there is no serial I/O, the RAM and ROM capacity is limited, and the interrupt system is simple, but its functions can meet the needs of general industrial control and intelligent instruments and meters.1980~1983  High-performance MCU stageHigh-performance 8-bit microcontrollers introduced at this stage typically include serial ports, multi-level interrupt processing systems, and multiple 16-bit timers/counters. The capacity of the on-chip RAM and ROM  is increased, and the addressing range can reach 64 KB. A/D conversion interfaces are also available on individual chips. 1983~late 1980s  16-bit microcontroller stage.In 1983, Intel introduced a high-performance 16-bit microcontroller MCS-96  series. The chip integration level was as high as 120,000 transistors/chips due to the use of the most recent manufacturing process.1990sCPUs are developing to a higher level in all directions, such as integration, function, speed, reliability, and application fields. Ⅲ The Classification and Application of MCUMCUs are classified into two types based on their memory type: those with no on-chip ROM  and those with on-chip ROM,  The chip without on-chip ROM  must be used externally with EPROM (typically 8031); the chip with on-chip ROM  is classified as on-chip EPROM (typically 87C51), MASK on-chip mask ROM  (typically 8051), on-chip Flash (typically 89C51), and other types.MCUs are classified into two types based on their intended use: general-purpose and special-purpose. It is classified into4, 8, 16, and 32-bit MCUs based on the width of the data bus and the number of data bytes that can be processed at the same time.Figure 2 MCU product category At present, the most widely used MCU market in China is in the consumer electronics  field, followed by the industrial field and the automotive electronics  market. Consumer electronics  include home appliances, televisions, game consoles, and audio and video systems. Industrial fields include smart homes, automation, medical applications, and new energy generation and distribution. The automotive field includes automotive powertrains and safety control systems. Industrial MCU Industrial MCU products  are primarily used for motor control operation, data acquisition control, and other functions in motor control, instrumentation, low-voltage power distribution, power tools, industrial robots, and other application scenarios.Figure 3 Electric-Vehicle-ChargerThe number of MCU devices is increasing as the complexity of industrial equipment increases. Consider industrial robots: at least ten MCU products  are used in a single industrial robot.Home Appliance MCU MCU is widely used in household appliances, mainly used to realize system control, motor control, panel display control, and other functions.The home appliance market is mainly divided into small household appliances and everyone electricity, small household appliances including kitchen appliances (microwave oven, induction cooker, soybean milk machine, etc.), household appliances (vacuum cleaner, electric fan, electric heater, etc.), personal life small household appliances (electric toothbrush, hairdryer, etc.), everyone electricity mainly for air conditioning, refrigerator, washing machine, and other white appliances.Figure 4 Induction-heating-cooker-app-block-diagramAt the moment, 32-bit MCUs have become the market's mainstream due to their higher specifications and performance, as well as their constantly decreasing cost, and are widely used in automotive electronics.  industrial control/medical, and other fields; however, there are still a large number of application scenarios requiring simple control, and low-value MCUs have cost advantages, so they continue to occupy a large market.BitApplication4Calculator, auto instrument, auto anti-theft device, pager, wireless phone, CD player, LCD dynamic controller, children's toys, scales, chargers, Tire gauge, thermometer, remote control, etc8Electrical appliances, ammeter, motor controller, electric toy machine, pager, fax machine, telephonograph, keyboard and USB, etc16Mobile phones, digital cameras and video recorders, etc32Smart home, IoT, motor and frequency conversion control, security monitoring, fingerprint identification, touch keys, Modem, GPS, STB, Workstation, ISDN telephone, laser printer and color fax machine, etc64Advanced workstation, multimedia interactive system, advanced TV game instrument, advanced terminal, etc.According to IC Insights, the global MCU market is about 16.4 billion dollars in 2019 and could reach about 20 billion dollars by 2023.The scale of China's MCU market was about 25.6 billion yuan in 2019, accounting for about 26% of the global market, with a compound growth rate of 9% from 2015 to 2019.In terms of the global market, the auto circuit accounts for 33% of the global MCU market. According to IC Insights data, the automotive MCU market space will reach $8.1 billion in 2023, the overall growth rate is considerable; At the moment, 32-bit MCUs have become the market's mainstream due to their higher specifications and performance, as well as their constantly decreasing cost, and are widely used in automotive electronics.  industrial control/medical, and other fields; however, there are still a large number of application scenarios requiring simple control, and low-value MCUs have cost advantages, so they continue to occupy a large market.Figure 5  MCU Market StructureFrom the perspective of pattern, the top five global automotive MCU market shares in 2020 were Renesas, NXP, Infineon, Texas Instruments and Microchip, accounting for 87% in total.Ⅳ China MCU Technology and Well-known ManufacturersMCU market is still dominated by overseas leaders, and Chinese high-quality manufacturers are gradually making breakthroughs in the segmented fields, and their share is expected to increase rapidly under the background of accelerated localization in China.The global MCU market is expected to grow further, with the global MCU market size reaching $16.4 billion in 2019 and $20 billion in 2023.On the demand side, improvements in automotive electrification, accelerated IoT  penetration, increased demand for intelligent frequency conversion in home appliances, rapid iteration of wearable devices, and steady growth in industrial control continue to drive the rapid growth of the MCU industry. (Using MCU as an example, the global market compound growth rate from 2020 to 2023 is 7.7 percent, and the market space is expected to be 8.1 billion dollars by 2023)On the supply side, the MCU industry is experiencing a continuous shortage due to the epidemic in 2020. Infineon, NXP.  and ST  , as well as other overseas MCU large factories, have appeared several times to dozens of times the price, with delivery times of more than 50 weeks; persistent shortages are expected to last at least through the end of 2021 and the first quarter of 2022.In terms of circuit barriers, the requirements of automobile circuits in the MCU downstream field are the highest, followed by industrial and home appliance circuits, and the relative requirements of consumer electronics  are slightly lower, according to MCU product environmental temperature, yield, and service life, and other parameters.According to the industry competition pattern, Chinese MCU manufacturers have a low market share, benefit from accelerated replacement due to stock shortages in the short term, and have ample room for improvement in the long term:The global MCU market is more concentrated, with a microchip, ST  MICROELECTRONICS, Renesas, TI, NXP  , Infineon, and other manufacturers occupying more than 80% of the market share; China's MCU market is approximately 25 billion yuan, and the total market share of domestic MCU manufacturers is less than 12%, primarily concentrated in the consumer market, which has ample room for expansion.The shortage of goods leads to the acceleration of the pace of China's MCU manufacturers, in the automotive, industrial, and consumer circuit, the pace of China's MCU certification continues to accelerate. Renesas Electronics - the world's first automotive MCU manufacturer Renesas was founded in 2003 by the merger of Hitachi Semiconductor division and Mitsubishi Electric Semiconductor division. Its main business covers automotive, industrial, communications, and other fields. Renesas is the world's first automotive MCU manufacturer, accounting for 30% of the automotive MCU market in 2020.Renesas MCU has a complete product line covering EV/HEV, powertrain, electric vehicle, vehicle dashboard, vehicle network, chassis control, ADAS, and other application fields.Microchip technology -8 bit MCU main features, acquisition of Atmel to supplement the strength of 32 bit MCUMicrochip Technology Corporation (Microchip) was founded in 1989, Microchip technology is the world's leading supplier of single-chip and analog semiconductors. The company's main business is the microcontroller, memory products, analog interface, and mixed information products, technology licensing, and so on.The products are mainly used in embedded control systems and IoT-related industries, including data processing, Medical Internet + (IoT), smart city, Industry 4.0, intelligent healthcare, etc. Major customers include Intel, Dell, Lockheed Martin, HP, Boeing, etc. STST -ARM architecture MCU king ST was founded in 1987, its products are mainly used in automotive products, computer peripherals, communication systems, consumer products, industrial automation control systems, and other aspects. Its major customers include Apple, blackberry, Bosch, Cisco, Conti, HP, Nokia, Obata, Samsung, and Western Digital.MCU vehicle grade products accounted for 32.13% of the company's revenue. St holds 8.5% of the current MCU market and is the leader in the segmented 32bitMCU  market.ST has been deeply engaged in the automotive semiconductor field for many years, and the company has a complete industrial chain, its products have a very high-cost performance ratio, and occupy a dominant position in the MCU of vehicle regulation level. Its customers include Nissan, Audi, SAIC, Tesla, and many other companies. NXP - the world's leading automotive MCU manufacturer NXP Semiconductor was founded in 2006. It was formerly the semiconductor division of Philips. NXP's main business is MCU, MPU, and other products, which can be widely used in automotive electronics  , industrial control, smart city, smart home, and wearable products. Its MCU/MPU based on the S32 automotive platform has obvious advantages in safety and efficiency and has been adopted by mainstream OEMs around the world.The industry's first crossover MCU was independently developed by NXP: I. MX RT series. Such products have been recognized by many Internet platforms (such as Amazon) for their high integration, cost performance, and security.NXP's acquisition of Freescale (founded by MOTOROLA) in 2015 gives it a deeper presence in the automotive industry. In 2020, 47% of its revenue came from vehicle MCU. At present, the company accounts for 27.8% of the global automotive MCU industry, ranking second in the world. NXP  provides complete semiconductor solutions for intelligent vehicles including automotive entertainment systems, Advanced Driver Assistance Systems (ADAS). Sino Wealth Electronics - China's largest home appliance MCU manufacturer Sino Wealth Electronic Ltd. is an MCU integrated circuit design company, the main products include 8-bit Flash MCU, 8-bit OTP/Mask MCU, 16-bit  DSP , 4-bit OTP/Mask MCU, widely used in household appliances, automotive, industrial control, security, and other fields;In the field of small household appliances, the company's competitors are mainly ABOV from Korea and Holtek from Taiwan. In the field of white household appliances, the company's competitors are mainly from Europe and America, including Renesas, NEC, TI, STM, and so on. Ⅴ The Basic Functions of MCUInternal-function diagramFor most MCUs, the following functions are the most common and basic. The description methods for different MCUs may differ, but the essence is essentially the same.1. Timer: Although there are many different types of Timers, they can be divided into two categories. The first is a Timer with a fixed time interval, which means that its timing is set by the system and cannot be controlled by the user program. The system only provides a few different types of Timers. The user program is given a fixed time interval, such as 32Hz, 16Hz, 8Hz, and so on. Because Timers of this type are relatively common in 4-bit MCUs,they can be used to implement clock, timing, and other related functions.The other type is Programmable Timer. The timing of this type of Timer can be controlled by the user's program. The control methods include the selection of the clock source, the selection of the prescale number, and the setting of the preset number, etc. There are Most MCUs have all three at the same time, and some may have one or both of them. This kind of Timer application is very flexible, and the actual use is also ever-changing. One of the most common applications is to use it to achieve PWM  output.Since the clock source can be freely selected, such Timers are generally combined with the Event Counter.2. IO port: Any MCU has a certain number of IO ports. Without IO ports, the MCU will lose the channel of communication with the outside world. According to the configurable situation of the IO port, it can be divided into the following types:Pure input or pure output : This type of IO port is determined by the MCU hardware design, and can only be input or output, and cannot be set in real-time by software.3. Directly read and write IO port: For example, the IO port of MCS-51 belongs to this type of IO port. When the read IO port command is executed, it is an input port; when the write IO port command is executed, it is automatically an output port.Program programming to set the direction of input and output: the input or output of this type of IO port is set by the program according to the actual needs, the application is more flexible, and can realize some bus-level applications, such as12C bus, various LCD, LED Driver control bus, etc.When using the IO port, this point must be kept in mind: for the input port, there must be a clear level signal to ensure that it cannot be floated (this can be achieved by adding a pull-up or pull-down resistor); and for the output port, the output state level must be Considering its external connection, it should be ensured that there is no source current or sink current in Standby or static state.External interrupts: External interrupts are a basic function of most MCUs. They are commonly used for real-time signal generation, data sampling, and state detection. Rising edge, falling edge, and level triggering are all interrupting methods. In most cases, the external interrupt is handled via the input port. If it is an IO port, the interrupt function will only be enabled when it is set as an input port; if it is set as an output port, the external interrupt function will be automatically closed (with some exceptions in ATMEL's ATiny series, where the output port can also trigger the interrupt function). The application of external interrupt is as follows:Detection of external trigger signals: One is based on real-time requirements, such as thyristor control, detection of sudden signals, and so on, while the other is based on power savings.Measurement of signal frequency:: To ensure that the signal is not missed, an external interrupt is the best option.Decoding data: To reduce design costs in the field of remote control applications, it is frequently necessary to use software to decode various encoded data, such as Manchester and PWM encoding.Button detection and system wake-up: In order for the MCU to enter the Sleep state, it must be woken up via an external interrupt. The most basic form is a button, and the level change is caused by the button's action.4. Communication interface: The communication interface provided by MCU generally includes SPI interface, UART. I2C interface, etc., which are described as follows:SPI interface: This type of interface is the most basic communication method provided by most MCUs. Its data transmission is controlled by a synchronous clock. The signals include SDI (serial data input), SDO (serial data output), SCLK (serial clock), and Ready signal; in some cases, there may be no Ready signal; this type of interface can work in Master mode or Slave mode, the popular saying is to see who provides the clock signal, the party providing the clock is the Master, and the opposite party It is Slaver.UART(Universal Asynchronous Receive Transmit):It belongs to the most basic asynchronous transmission interface. Its signal lines only have two Rx and Tx lines. The basic data format is: Start Bit + Data Bit(7-bits/8-bits) + Parity Bit(Even, Odd or None) + Stop Bit(1~2Bit). The time occupied by one bit of data is called Baud Rate .For most MCUs, the length of data bits, data check mode (odd check, even check or no check), Stop Bit length and Baud Rate can be flexibly set through program programming. Certainly. The most common way of this type of interface is to communicate with the serial port of the PC.I2C interface: I2C  is a data transmission protocol developed by Philips. It also uses two signals to implement: SDAT (serial data input and output) and SCLK (serial clock). The biggest advantage is that multiple devices can be attached to this bus, and they can be identified and accessed through addresses; one of the biggest advantages of the I2C  bus is that it is very convenient to use software to implement through the IO port, and the data rate of its transmission is completely controlled by SCLK. To control, it can be fast or slow, unlike the UART  interface, which has strict rate requirements.5. Watchdog: Watchdoga basic configuration of most MCUs, can only allow the program to reset it but not close it (some are set when the program is burned in, such as Microchip PIC  series MCUs), while some MCUs are It is determined by a specific method whether it is turned on or not. For example, in Samsung's KS57 series, as long as the program accesses the Watchdog  register, it is automatically turned on and cannot be turned off again. Generally speaking, the reset time of the watchdog can be set by the program. The most basic application of Watchdog  is to provide a self-recovery ability for the MCU to crash due to unexpected failure.Ⅵ Learning Methods - Using MCUThe basic principles and functions of any MCU are similar. The only difference is the configuration and quantity of its peripheral function modules and the instruction system.For the instruction system, although it seems to be different in form, it is only a difference in symbols, and the meanings it represents, the functions to be completed, and the addressing modes are similar.To learn about an MCU, the first thing you need to know is its ROM space, RAM space, number of IO ports, number of timers and timing methods, peripheral function modules (Peripheral Circuit) provided, interrupt sources, operating voltage, and power consumption, etc.After understanding these MCU Features, the next step is to compare the functions of the selected MCU with the required functions of the actual project development and clarify which resources are currently required and which are not used in this project.For the functions that need to be used in the project but are not provided by the selected MCU, it is necessary to carefully understand the relevant information of the MCU, to use an indirect method to achieve it. For example, the developed project needs to communicate with the COM port of the PC, and If the selected MCU does not provide a UART  port, it can be implemented through external interrupts.For the resources needed for project development, you need to carefully understand and read the Manua*, while for the unneeded function modules, you can ignore or browse. For MCU learning, the application is the key and the main purpose.For beginners or designers who use this MCU for the first time, they may encounter a lot of ambiguous descriptions of the functions of the MCU. For this kind of problem, there are two ways to solve it, one is to write a special verification program to understand the functions described in the data; the other can be ignored for the time being. Leave it to modify and improve when debugging. The former method is suitable for projects with loose time and beginners, while the latter method is suitable for those who have some experience in single-chip development or when the project schedule is more urgent.Don't take the time to learn the command system in particular. The instruction system is simply a logical description symbol. During programming, you can only check the relevant instructions in accordance with the logic requirements of the program. As your programming skills improve, you will become more proficient in the instruction system.Ⅶ Six Main Dimensions of MCU Products for Future ImprovementStronger computing performance: MCU towards 500Mhz main frequency, MPU increase more processor cores;Additional wireless connection functions: More RF modules have been integrated.Low power consumption, high energy efficiency ratio: integrated analog chip, and low power analog peripheralsContinued support for hardware accelerators: high integration of algorithms and toolsSafety: improve anti-interference ability and safetyCost-effective: reduce costⅧ Programming of MCUThe programming of MCUs and PCs differ significantly. Although C-based MCU development tools are becoming more popular, assembly language remains the most concise and efficient programming language for designers who are efficient program code and like to use assembly.Circuit diagram to build your own microcontroller programmerThe basic framework for MCU programming is roughly the same, divided into the initialization part (the biggest difference between MCU programming and PC programming), the main program loop body, and the interrupt handler. as shown below:1.Initialization: The most basic and important step in the design of all MCU programs is an initialization, which generally includes the following:Mask all interrupts and set the stack pointer to In general, the initialization section does not want any interruptions to occur.Clearing the system's RAM and displaying the Memory: Although it is not always necessary, it is recommended to develop good programming habits for the sake of reliability and consistency, particularly to avoid accidental errors.IO port initialization: Set the input and output modes of the relevant IO port based on the project's application requirements. Set the pull-up or pull-down resistance for the input port, and the initial resistance for the output port.Interrupt setup: Enable and set interrupt trigger conditions for all interrupt sources required by the project, and close unnecessary interrupts that are not used.Initialization of other functional modules: For all peripheral functional modules of MCU that need to be used, corresponding Settings must be carried out according to the application requirements of the project. For example, Baud Rate, data length, verification mode and Stop Bit length should be set for communication of UART  , and clock source should be set for Programmer Timer. Frequency and Reload Data, etc.Initialization of parameters: after completing the initialization of MCU hardware and resources, the following is the initialization of some variables and data used in the program. This part of initialization needs to be designed according to the specific project and the overall arrangement of the program. For some applications that use EEPROM to store the number of prefab items, it is recommended to copy the relevant data to THE RAM of MCU during initialization to improve the speed of data access and reduce the power consumption of the system (in principle, access to the external EEPROM will increase the power consumption of the power supply).2.Main program loop body: Most MCUs run continuously for a long time, so their main program bodies are basically designed in a looping manner. For applications with multiple working modes, there may be many Each loop body is converted between each other through state flags. For the main program body, the following modules are generally arranged:Calculation procedures: Calculation procedures are generally time-consuming, so it is strongly opposed to processing in any interrupt, especially multiplication and division operations.Processing programs with low or no real-time requirements;Display transfer program: mainly for applications with external LED and LCD Driver.3. Interrupt handler: The interrupt program is mainly used to handle tasks and events with high real-time requirements, such as detection of external sudden signals, detection, and processing of buttons, timing counting, LED display scanning, etc.Under normal circumstances, the interrupt program should keep the code as concise as possible. For functions that do not need to be processed in real-time, the trigger flag can be set in the interrupt, and then the main program executes the specific transaction - this is very important, especially for low-power, low-speed MCUs, is necessary to ensure timely responses to all interrupts.4. There are various MCU processing methods for various task bodies.For example, for low-speed, low-power MCU (Fosc=32768Hz) applications, considering that such projects are handheld devices and use ordinary LCD, the response to buttons and display response requires high real-time performance, so generally Timed interrupts are used to process button actions and data display; for high-speed MCUs, such as Fosc>1MHz applications, since the MCU has enough time to execute the main program loop body at this time, it can only be interrupted at the corresponding Various trigger flags are set in the program, and all tasks are executed in the main program body.5. In MCU programming, special attention should be paid to:Avoid situations where the same variable or data is accessed or set in both the interrupt and the main body. The effective prevention method is to arrange the processing of such data in a module, and decide whether to execute the relevant operation of the data by judging the trigger flag; In other bodies (mainly interrupts), only the trigger flag is set where the processing of the data is required. This ensures that data execution is predictable and unique.Ⅸ Summary of the MCU Programming EngineerTo develop a good habit of summarizing, summarizing is not only a summary of their learning, but also a review and deepening of the learning process, but also to avoid the second error.Before writing the program, we should have a solid understanding of the project so that we can start with a solid idea and a general framework. It is critical to consider the layout and what makes the most sense. To determine which module should be completed first, specific steps for the module, how to name each function, and the relationship with other modules. Take a piece of paper and scribble down significant progress.For C language modular programming, we should first divide each module, a module programming, determine a sequence, and then write the next module based on the success of the previous one. When it comes to header files, write the module's header file after you've finished writing the module.Do not ignore the fact that the program must be unreasonable to comprehend its origins and find a solution. When looking for a source, it should be pertinent; you can search for relevant data on the Internet or consult with others. For example, the primary function of another project was incorporated into this project. Some functions are named multiple times. Step by step analysis of the cause, also according to the experimental phenomenon. When defining the port, the incorrect interface was selected. When you can't solve a problem, it's sometimes good to take a break. Things can go wrong no matter how simple they seemThe problems of code utilization efficiency, anti-interference, and MCU reliability continue to plague MCU application development. Ⅹ How to Develop MCU 1How to reduce program bugsThe following are the over-arching management parameters that should be considered during system operation in order to reduce program bugs.Physical parameters: These are primarily system input parameters that include excitation parameters, acquisition and processing operating parameters, and result parameters at the end of processing.Resource parameters: These are primarily the resources of the system's circuits, devices, and functional units, such as memory capacity, storage unit length, and stacking depth.These application parameters are frequently expressed as the application conditions of some single-chip microcomputers and functional units. The term "process parameter" refers to a parameter that changes in an orderly manner during the system's operation.2How to improve the efficiency of C language programming codeIt is an inevitable trend of the development and application of MCU to use C language to design MCU. If you are programming in C, it is best to be familiar with the C compiler you are using to achieve maximum efficiency. First test the number of statement lines in the assembly language corresponding to each C language compilation, so that you can clearly know the efficiency. When programming in the future, use the statement with the highest compilation efficiency. Each C compiler will have certain differences, so the compilation efficiency will also be different. The code length and execution time of an excellent embedded system C compiler is only 5-20% longer than the same functional degree written in assembly language.C language can be used for complex and time-critical projects, but the premise is that you are very familiar with the C language and C compiler of the MCU system and that you pay special attention to the data types and algorithms that the C compiler system can support. Although C is the most commonly used high-level language, the C language compilation system varies due to MCU manufacturer differences, particularly in the operation of some special function modules. As a result, if you don't understand these features, you'll have a lot of trouble debugging, which will result in lower execution efficiency than assembly language.3 How to Solve the MCU Anti-Interference ProblemThe most effective way to prevent interference is to remove interference sources and cut off interference paths, but this is often difficult to do, so we can only conclude that MCU's anti-interference ability is insufficient. While improving the anti-interference capability of hardware systems, software anti-interference has received increasing attention due to its flexible design, ability to save hardware resources, and high reliability.As for the program run fly, in fact, can also use software trap and watchdog to pull the program back to reset state, so the MCU software anti-interference is the most important to deal with the reset state.In most cases, MCU will have some sign registers that can be used to determine the reason for the reset; alternatively, you can bury some tokens in RAM yourself. Different reset causes can be determined in each program reset by judging these signs. You can also use different flags to jump directly to the corresponding program. In this manner, the program will run indefinitely, and the user will be unaware that it has been reset.4How to test the reliability of the MCU systemWhen a MCU system design is completed, there will be different test items and methods for different MCU system products, but some must be tested:lTest the completeness of the software functions of the MCUlPower-on and power-off testlAging testlTests such as ESD and EFT Sometimes, we can also simulate the damage that may occur in human use. For example, the contact port of the MCU system is intentionally rubbed with the human body or clothing fabric, thereby testing the antistatic ability. Use a high-power electric drill to work close to the MCU system to test the anti-electromagnetic interference ability.To sum up, the MCU has become an important aspect of the development and application of the computer.Most of the functions that must be realized by analog circuits or digital circuits in the past can now be realized by software methods using a single-chip microcomputer. This control technology in which software replaces hardware is also called micro-control technology, which is a revolution of traditional control technology.In addition, in the process of development and application, we must master the skills and improve the efficiency, so as to facilitate its wider use.Ⅺ 5 Tips to Solve the Questions About the MCU CrystalCrystal oscillator for MCUCommon causes of the crystal can not vibratePCB wiring error;Microcontroller quality issues;Crystal vibration quality issues;The load capacitance or matching capacitance does not match the crystal oscillator or the capacitor quality is incorrect;PCB board damp, resulting in impedance mismatch and inability to vibrate;The crystal oscillator circuit is too long;There is a line between the feet of crystal;Influence of peripheral circuit.You are advised to rectify faults one by one as follows: 1Remove the possibility of circuit error so that you can compare the recommended circuit of the corresponding type of microcontroller.2 Rule out the possibility of poor peripheral components; because peripheral components are nothing more than resistance and capacitance.3Rule out the possibility of using a crystal oscillator as a stop oscillator because you will not be experimenting with just one or two crystal oscillators.4Try changing the capacitor at both ends of the crystal; perhaps the crystal oscillator will begin to vibrate; please refer to the crystal oscillator capacitor size instructions.5In PC  B wiring, crystal oscillator circuit wiring should be as short as possible and as close to IC as possible, not between crystal oscillator feet. Ⅻ Summary of Chip OperationThe operation of the chip is mainly the operation of the registers in the chip. The registers in the chip have their unique address mapped on the memory, which is the operation of the corresponding address. To learn the chip, first look at the sequence diagram, then understand the corresponding registers, understand how to operate, define the required port (the program can recognize), write and read the operation program.Cross-sectional-views-of-chip-operationHow data is written to the chip, how it is read out, and through which port it is input or read.When connecting a chip through a bus, the first step is to understand the protocol of the bus. The chip connected to the I2c bus is controlled by the bus.1One 74HC595 lattice is used for column selection, and the other two are used for color selection. The lattice is equivalent to a set of diodes.The diode lights up only when one end is switched to a high level and the other to a low level. Just one end of the selection of different, bright different colors.Timer working mode selection: Set timer T1 in the high four digits and timer T0 in the low four digits. Then the last two characters of each mode set the working mode. When using interrupts, note that after entering the interrupt, the reset should be reset.2Serial port transceiver: Baud rate is generally set in mode 2 (automatic reloading initial value) because different devices have different data processing capabilities, the baud rate is set mainly to take care of low-speed devices and for communication between each other. The interrupt flag bit should be cleared by the software. When setting the serial port interrupt, either sending or receiving can enter the interrupt function, so pay attention to setting the interrupt function. (Self-sense generally sets a function, as the upper machine or lower machine).If you send interrupts, you have to figure out how to enter interrupts the first time, so you send them once and then you can enter interrupts. Only one byte can be sent at a time, and only after TI is set to one can the next byte be sent.3Pcf8591ad conversion, there are four channels of input, read PC  F8591, which channel, read is that channel input voltage, after the conversion of data stored in the chip, then read. Read to write the address of the chip, the son writes device address (0 x40 | channel number) and then reads the data.4Da conversion is to write the device address into the chip first, then write the sub-address (0x40) and then write the digital quantity to be converted. Device address chip information is introduced.5For the liquid crystal display, write data display, he will always display, do not continue to refresh, to change, only re-input.6For THE DS1302 clock chip, reading data is read out of the first data at the falling edge of the eighth clock when writing data, and then prepare for the next output. Pay attention to the writing of the program, but also pay attention to the position of the return value.7In Ds1302, the register is specified first, and then data is written to it. The registers on the chip data indicate the address. 8Initialization is best to write, in case you forget later. When reading or writing, the first operation is the lowest or highest bid, which can be judged according to the sequence diagram.9For the infrared transceiver, receiving, he is according to the length of time between the two falling edges to determine the high level or low level, write a program, first with the timer to determine the length of time, save, and then into binary (the program written to see more, very good).10Stepper motor: mainly used as switches, stepper motor torque decreases with the increase of speed. It is mainly used for automatic feeding of parts processing on machine tools. It can also be used in high-precision control places.Stepper motor is an open-loop control element stepper motor that converts electric pulse signal into angular displacement or linear displacement. In the case of the overload, motor speed, stop position depends only on the pulse signal frequency and pulse number, and are not affected by load change, when the stepper driver receives a pulse signal, it is driving a stepper motor according to set the direction of a fixed Angle, known as the "step Angle", its rotation is based on the Angle of the fixed step by step. The angular displacement can be controlled by controlling the number of pulses to achieve accurate positioning. At the same time, the speed and acceleration of the motor can be controlled by controlling the pulse frequency, achieving the purpose of speed regulation.11Servo motor : Servo motor refers to the engine that controls the operation of mechanical components in a servo system. It is an indirect transmission device for auxiliary motors. Servo motors can control speed, position accuracy is very accurate, voltage signal can be converted into torque and speed to drive the control object. Servo motor rotor speed is controlled by the input signal, and can respond quickly, in the automatic control system, used as an executive element, and has the characteristics of mechanical and electrical time constant is small, high linearity, starting voltage, etc., can receive the electrical signal into the motor shaft angular displacement or angular velocity output. It is divided into DC and AC servo motors. Its main characteristic is that when the signal voltage is zero, there is no rotation phenomenon, and the speed decreases uniformly with the increase of torque.12Chinese Characters overview: To output Chinese characters on display or printer, Chinese characters are designed into a dot matrix graph according to graphic symbols, and corresponding dot matrix codes (glyphs) are obtained.The unified encoding for the representation of Chinese characters in the computer is called the internal code (such as national code), and the internal code is unique (equivalent to the id number of the character). The encoding of Chinese characters formed to facilitate the input of Chinese characters is the input code, which belongs to the external code of Chinese characters. The input code varies with the encoding mode and is diverse. The Chinese character code formed for displaying and printing Chinese characters is the character code, and the computer finds the character code in the character library through the character code and realizes its conversion.Machine code: According to the GB code, each Chinese character has a certain binary code, but this code will conflict with THE ASCII code when handled internally by the computer. To solve this problem, the first byte of each GB code is incremented by 1. Because ASCII code only uses 7 bits, the "1" on the first digit can be used as a symbol to identify Chinese character codes. When the computer processes the code with the first digit of "1", it will be interpreted as the information of Chinese characters, and when it processes the code with the first digit of "0", it will be interpreted as the ASCII code. After such processing, the national code (internal code) is the machine's internal code.If put this "mouth" word graphic "." With "0" instead, you can very vividly get the "mouth" glyphs :0000H 0004H 3FFAH 2004H2004H 2004H2004H 2004H2004H 2004H2004H 2004H 3FFAH 2004H 0000H 0000H. Computer to output "mouth", find shows that character first address, according to the "mouth" machine code after calculation, to find a "mouth" glyph code, and then according to the glyph code (to) in binary character generator, in turn, scan control on the screen, which is where the "0" of the binary empty, is a place where "1" swept out of the window, Then you get the character graph of the mouth.Chinese characters are arranged according to the order of national standard codes and stored in the memory in the form of binary files, which constitute the Chinese character font library, also known as the Chinese character font library, called the Chinese character library1312864 liquid crystal: Each display point corresponds to a binary number, with 1 indicating on and 0 indicating off. The RAM that stores this lattice information is called the display data memory. To display a graph or Chinese character is to write the corresponding lattice information into the corresponding storage unit.When the horizontal address = 0FH, it will be reset to 00H, but it will not automatically add one to the vertical address. Therefore, when writing multiple data in a row, the program needs to determine whether the vertical address needs to be reset14GDRAM: Drawing display RAM provides 128×8 bytes of memory space. When changing the drawing RAM, the horizontal and vertical coordinate values are successively written, and then two bytes of data are written to the drawing RAM. The address counter (AC) will automatically increment the horizontal address (X address) and reset to 00H when the horizontal address is 0XFH. Vertical addresses will not be carried automatically plus 1. The drawing display must be turned off during writing to the drawing RAM,For C, a defined variable is automatically allocated space and its address is the name of the variable. Through this name, the data can be recruited in memory, and the new data can be obtained through an operation. In assembly, the programmer needs to define the storage space and send the data to the accumulator for operation, and the programmer needs to operate every step. In C, this is done by the compiler.FAQ1. What is the main function of microcontroller?Microcontroller is a compressed micro computer manufactured to control the functions of embedded systems in office machines, robots, home appliances, motor vehicles, and a number of other gadgets. A microcontroller is comprises components like - memory, peripherals and most importantly a processor.2. What is an example of a microcontroller?The examples of 8-bit microcontrollers are Intel 8031/8051, PIC1x, and Motorola MC68HC11 families. The 16-bit microcontroller performs greater precision and performance as compared to the 8-bit.3. What are the elements of a microcontroller?Therefore, the microcontroller must also satisfy the five basic elements of input, calculation, storage, output, and control. These are called five elements of microcontrollers.4. Which is best microprocessor or microcontroller?If you need access to large amounts of really fast memory then a microprocessor is likely your best option. A microcontroller is already embedded with memory so the memory choices are fewer than with a microprocessor. The maximum amount of FLASH memory available with most microcontrollers is usually around 2MB.5. What is difference between BIOS and CMOS?The BIOS is the program that starts a computer up, and the CMOS is where the BIOS stores the date, time, and system configuration details it needs to start the computer. ... CMOS is a type of memory technology, but most people use the term to refer to the chip that stores variable data for startup.6. Is CMOS a RAM or ROM?RAM and ROM are the products, but Complimentary Metal Oxide Semiconductor (CMOS) is the process they are built in. CMOS uses two different types of transistors to achieve a lower overall power consumption.7. Whats an RTC battery?The Real Time Clock (RTC) battery provides power for the internal clock/calendar and for maintaining system configuration settings. This error can occur when a machine has been left turned-off for an extended period of time (approximately one to four months), and it is the result of a depleted RTC battery.            
kynix On 2022-01-12   1712
Motors, Solenoids, Driver Boards/Modules

Is Raspberry Pi a MCU? Uses Analysis

Introduction Do you use Raspberry Pi? or What are doing with it? Is it a microcontroller (MCU for microcontroller unit) or microcomputer? or SoC (system-on-chip)? As a beginner, is it better to buy a microcontroller or a Raspberry Pi? Look at the following content. Raspberry Pi Explained Catalog Introduction Ⅰ Basic Definition Ⅱ Raspberry Pi vs MCU Ⅲ What Can We Do with Raspberry Pi? Ⅳ Where do I start to Learn Raspberry Pi? Ⅴ FAQ Ⅰ Basic Definition Raspberry Pi is actually a tiny embedded computer. It uses ARM microcontroller chip, and linux operating system or windows. It can regard as a small desktop computer when connects with a monitor, keyboard, and network (network port or wifi). With the release of Windows 10 IoT, Raspberry Pi can also run Windows.The single-chip microcomputer refers to the central processing unit core with some peripheral interface circuits on it, which is also called the microcontroller unit (MCU), or SoC. 8051 chips, avr chips, arm chips, etc. are all called single-chip microcontrollers, while Intel’s 80x86 series are central processing unit (CPU) and cannot be called MCU.It uses very large-scale integrated circuit technology to integrate the central processing unit CPU with data processing capabilities, RAM, ROM, multiple I/O ports and interrupt systems, timers/counters and other functions (may also include display driving circuits, pulse width modulation circuits, analog multiplexers, A/D converters and other circuits) are integrated on a silicon chip to form a small and complete microcomputer system. It is widely used in the field of industrial control. Figure 1. Raspberry Pi Setting Ⅱ Raspberry Pi vs MCU Next, let's take a look at the difference between the Raspberry Pi and the MCU and introduce in detail what can we do with the Raspberry Pi?The single-chip microcomputer is an microcontroller, and the Raspberry Pi is a single-board computer with arm-architecture processor. Early MCUs were peripherals for ROM and IO with slow speed, and it could not run time-sharing operating systems such as Linux or Windows. But the Raspberry Pi can run an operating system like Linux, or deploy servers or cloud computing. That is, the Raspberry Pi can perform many operations that cannot be done by a single-chip microcomputer.The size of the single-chip microcomputer is relatively small, and the internal chip is used as a computer system. Its structure is simple, but the function is perfect, it is very convenient to use, and it can be modularized. The most important thing is that although the development cycle of the single-chip microcomputer is relatively short, it is basically based on a specific task and the code must be re-programmed every time, which is very troublesome.The Raspberry Pi is actually a computer motherboard. It can be programmed, compiled, and run directly locally. If you want to add or delete functions to the original program, or switch from the current task to a different new task, you do not need to burn programs like a single-chip microcomputer according to different tasks or updates. Use Raspberry Pi to control peripherals by operating GPIO basically through various libraries, and if you connect it to the Internet, you can operate it remotely. Figure 2. Raspberry Pi GPIO In general, each has its own advantages. The MCU is cheap and suitable for general consumer products. After all, the Raspberry Pi is a card-type computer with an embedded operating system running on it. That is, a low-power general-purpose computer. For electronic geeks, the back-end data processing and GUI for complex control systems are still very good for satisfying embedded learning. Ⅲ What Can We Do with Raspberry Pi? After reading the above, since Raspberry Pi has the features of a computer, this means you’re able to do most things a desktop computer can do such as document editing, playing HD video, playing games, coding and much more.Obviously it won’t have as much power as a desktop PC but since it is a lot cheaper they make for great little computers you can play around with.Here lists some items you can do:1) Wireless HotspotUsing the Internet cable and USB wireless network card, after configuration, it can be used as a wireless hotspot.2) Mechanical ProsthesesMIT Media Lab researchers use it as a controller for mechanical prostheses.3) Easy Homemade NotebookConnect the Raspberry Pi to the LCD panel, add the mouse, keyboard and power supply, and find a beautiful case and put it on, finally it becomes a simple homemade notebook.4) WiFi CarAn IBM engineer installed it on a model car, and then used WiFi signals to control the car’s actions.5) Send Dynamics RemotelyWeather enthusiasts tied it to a detection balloon and used it to send a tweet in the stratosphere.6) Control Door SwitchThere are also people who use the Raspberry Pi to control the garage door and combine it with Siri to remotely control the garage switch.7) Surveillance ShootingA camera is connected as a small shooting device, which is small in size and easy to hide.8) Back Up EmailsOne of the most important functions of my Raspberry Pi is to back up emails. Use a software called getmail to check every mail using POP or IMAP protocol, and check the mail of each account regularly. Then save the email to an mbox file, which can be copied to another computer at any time for long-term email archiving.9) Build a RSS ReaderMiniflux, a self-hosted web-based RSS client that can be installed on the Raspberry Pi. Like many people, when Google announced that it would close Google Reader on July 1st, I also started to migrate personal data. I used rss2email for a while and let it send every item of RSS to my mailbox. But in fact, I don't like this method very much, so I spent some time looking for alternatives to Google Reader and tried rss2email and found miniflux finally. Installing miniflux on the Raspberry Pi is very simple, you only need to install PHP and a web server software in advance, such as nginx or Apache.10) Build a WebsiteOne obvious use of Raspberry Pi is as a backend server for websites. Because it has enough capacity to handle static websites, some web frameworks are not a problem. I built a Flask framework on it, and I even heard that some people built a Wordpress directly on the Raspberry Pi.11) Home Network StorageOnly consumes very low power, Raspberry Pi can become a perfect NAS (Network Attached Storage). Before I connected a 500GB laptop hard drive to the Raspberry Pi and installed an operating system on it. I can store many files on it that need to be transferred between different computers. Then connect via SFTP, you can access it on any machine at home (even if you are not at home, it will not be a problem as long as the routing settings are correct). You can also install Samba on your Pi so that both Mac and PC can access it more easily.12) Site MonitoringUse Raspberry Pi is to detect websites that are important to me. I wrote a Python script and ran it regularly to make sure that these websites responded with a 200 status code (which means everything is normal). If the script determines that there is a problem with the website or cannot be accessed, it will email me the overall situation of the incident. The Python module I use is Requests, and the email module is smtplib.13) Event ReminderUse Raspberry Pi to email me important events that I need to remember. I used Google Calendar before, but I only use it for simple events. So I replaced it with a Raspberry Pi, and a Python script for timed tasks is enough. I set the date, time, and message to remember. These parameters will be passed to my Python script, and on that day it will send the message to my mailbox to remind me of the day’s events.14) Family AlbumMy Raspberry Pi also supports a private website that contains all my family photos. I set up verification information so only people I want them to see can enter the site. This is much more reliable than your Facebook photo album, because your account on Facebook may be deleted, and the photos will be seen by strangers by chance. Here is a method, just use PHP to get the photos in a folder on the Raspberry Pi.15) JukeboxI mentioned above that I use Pi as a network storage, so all my music is also on it. I connected a stereo speaker to my Pi and used mpg123 to play music on the command line of the Raspberry Pi. Although there are many other mp3 players and graphical interfaces, I still choose mpg123 because it is easy to install and use. Figure 3. Raspberry Pi Projects Ⅳ Where do I start to Learn Raspberry Pi? If you are really interested in it and want to get started. How, and what do you need? 1) A Raspberry Pi. So, obviously you’ll need he actual board. If you don’t have it, you cant really do what you want. So find a website or store and buy one. Depending on the type and model you get, they can range from as low as 10$ to 50$. Pretty affordable.2) A monitor. So, you don’t actually need a monitor. But it is going to be so much easier. You can actually buy displays the Pi company has made specifically made for the Pi. These however are a little more expensive.You could also use your TV as a monitor, providing both the TV and the Pi can be hooked up via HDMI. VGA to HDMI would work too. Many different solutions can be used when it comes to the cable you use for a monitor, or all around screen. Adapters come in all shapes, sizes and forms. 3) A power source. You’ll need to power the Pi to use it. Most of the time, you will get a little charger to use with the Pi. Using this specific charger will probably be the best, as it will always pull enough power from the wall into your Pi.4) A mouse, and keyboard. You will need a mouse and keyboard. This is pretty much mandatory. Well, only for the actual screen portion of the Pi. Models 3 B+ and up have built in Bluetooth, so you can have cordless mouse and keyboard if you would like. That’s pretty cool.5) Depending on the model, you will need an Ethernet cable to have internet. Models 3 B+ and up have a built in WiFi chip. So you can have a wireless internet connection if you so please.6) A microSD card with the image you want to use. When you buy the Pi, you will need to have an SD card. The newer models use microSD cards. Putting the SD card into the Pi without anything on it wont do anything though, you'll need an image. Images for the Pi can be found along the internet for downloads. The standard image used for the Pi right now is NOOBS Debian.7) Time, patience and dedication. These are very important when working with the Pi. Why? Because the Pi is powerful, yet it can be confusing at times, especially for a “noob”.   Ⅴ FAQ 1. What is Raspberry Pi mainly used for?The Raspberry Pi is a low cost, credit-card sized computer that plugs into a computer monitor or TV, and uses a standard keyboard and mouse. It is a capable little device that enables people of all ages to explore computing, and to learn how to program in languages like Scratch and Python. 2. What are some good Raspberry Pi projects?Best Raspberry Pi Projects for BeginnersMusic Streaming.Security System.Weather Station.Arcade Machine.NAS.Digital Photo Frame.Retro Handheld Console.Robot. 3. Can a Raspberry Pi run Windows?The Raspberry Pi 4 can handle Microsoft Edge, the calculator app, and more, all via the power of Windows 11. It can even run Minecraft, albeit in an undesirable state. 4. Can Raspberry Pi go on Internet?If you want to connect your Raspberry Pi to the internet, you can plug an Ethernet cable into it (if you have a Raspberry Pi Zero, you'll need a USB-to-Ethernet adapter as well). If your model is a Raspberry Pi 4, Raspberry Pi 3, or Raspberry Pi Zero W, you can also connect to a wireless network. 5. How do I setup a Raspberry Pi network?Configuring the Raspberry Pi Ethernet Port With a Static IP.Step 1: Review Current Network Settings.Step 2: Backup the Current Network Configuration.Step 3: Modify the Network Settings. To edit the network setting you must edit the dhcpcd.Step 4: Restart the Raspberry Pi.Step 5: Test the New Network Setup. 6. How is Raspberry Pi different from microcontroller?The main difference between them is: Arduino is microcontroller board, while Raspberry Pi is a microprocessor based mini computer (SBC). The Microcontroller on the Arduino board contains the CPU, RAM and ROM. 7. Is Raspberry Pi zero a microcontroller?A Raspberry Pi is not a microcontroller, it is a single board computer. Neither. The chip itself is an SOC or system on chip, so it has almost all the parts of a computer on a single die. 8. Is the Raspberry Pi a system on a chip?Raspberry Pi SBCs feature a Broadcom system on a chip (SoC) with an integrated ARM-compatible central processing unit (CPU) and on-chip graphics processing unit (GPU), while Raspberry Pi Pico has a RP2040 system on chip with an integrated ARM-compatible central processing unit (CPU). 9. Can you use a microcontroller with a Raspberry Pi?Meet the Raspberry Pi Pico, a tiny little microcontroller that lets you build hardware projects with some code running on the microcontroller. Unlike computers, microcontrollers don't run traditional operating systems. 10. Is Raspberry Pi 3b a microcontroller?The Raspberry Pi is a single board computer with Microprocessor whereas Arduino is considered as Microcontroller unit. The Raspberry Pi can run an OS (Linux Distribution) and also consumes more power. Since Arduino is microcontroller device it has no operating system and can only run a single program or sketch. 11. What is Raspberry Pi used for in IoT?How can IoT Applications use Raspberry Pi? With an in-built quadcore processor, Raspberry Pi can serve as the “Internet Gateway” for IoT devices. Powered by a cloud network, Pi acts as a web server for uploading and transiting sensor data on IoT platforms. 12. What is the difference between microprocessor and microcontroller?KEY DIFFERENCESMicroprocessor consists of only a Central Processing Unit, whereas Micro Controller contains a CPU, Memory, I/O all integrated into one chip. ... Microprocessor uses an external bus to interface to RAM, ROM, and other peripherals, on the other hand, Microcontroller uses an internal controlling bus. 13. What kind of computer is Raspberry Pi?The Raspberry Pi is a low cost, credit-card sized computer that plugs into a computer monitor or TV, and uses a standard keyboard and mouse. It is a capable little device that enables people of all ages to explore computing, and to learn how to program in languages like Scratch and Python. 14. Can I use a Raspberry Pi as my main computer?Aside from the hard drive crash, the Raspberry Pi was a perfectly serviceable desktop for web browsing, writing articles, and even some light image editing. ... 4 GB of ram is just enough for a desktop. My 13 Chromium tabs, including a Youtube video, are using just over half of the 4 GB of available memory. 15. Which OS is better for Raspberry Pi?Raspbian. Raspbian is a Debian-based engineered especially for the Raspberry Pi and it is the perfect general-purpose OS for Raspberry users.
kynix On 2021-12-30   1160
General electronic semiconductor

Core Competencies of MCU Applications

DescriptionIt's not weird to discover that applications are becoming more complex,with connectivity just one of the drivers. And,as it become more complex.the number of sensors grows,as does the need for more capable user interfaces. At the same time,algoriths need more processing power,wireless stacks mandate larger memories and power budgets are shrinking.In order to coping with the growing list of demands, a great number of leading MCU manufacturers have recently launched Micro Controller Unit built around the ARM Cortex-M4 core. BodyThe M3 is general purpse and the M0+is low cost but the M4 is a more capable core in general if look at the Cortex range. Oivind Loe,a senior strategic marketing manager with Sillicon Laboratories said. Microchip's product marketing manager--Anand Rangara commented:“Something that sat around without the need to communicate now needs connectivity. When that happens, you need more flash and RAM, as well as graphics capability and perhaps the ability to support a touch interface. All this has to be offered at good power/performance and an attractive price.”  'Industrial Strength' MCUsSilicon Labs has expanded its EFM32 Gecko portfolio with what it calls ‘industrial strength’ MCUs. It says the EFM32GG11 Giant Gecko MCU family offers the ‘most advanced’ feature set available in the low-power MCU market.Loe noted that MCU development isn’t just about power. “It’s also about executing tasks efficiently. A simple program with a few clocks will run efficiently on an M0+ core. But if the workload is larger, the M4 core has some special instructions that can allow it to use less energy than the M0+ and more efficiently than some larger cores – and that's crucial for a range of application.” GG11 Geckos offer up to 2Mbyte of flash and 512kbyte of RAM to accommodate more code and comms stacks, such as a 10/100 Ethernet MAC and a dual CAN interface. Looking to meet power budgets, the parts boast an active power consumption of 77μA/MHz, while drawing 1.6μA in deep sleep mode. FPU to Increase System EffiencyMicrochip’s SAM D5x/E5x MCUs also take advantage of the Cortex-M4’s floating point unit (FPU) to increase system efficiency. Running at up to 120MHz, the D5x and E5x MCUs come with up to 1Mbyte of dual-panel flash and up to 256kbyte of SRAM. Rangarajan noted: “We’ve listened to our customers, so we’ve included more connectivity in these MCUs. But it's not just about adding memory , it’s also about more performance and the ability to provide more flexible peripherals, interfaces and connectivity options.” Meanwhile,he  pointed out that the original SAM D MCUs – developed by Atmel prior to its acquisition by Microchip – were based on the Cortex-M0+. “But we’ve always wanted to take the product line to the next level of performance. This allows Microchip to address a broader range of consumer and industrial automation applications.” Limited the Clock RateBucking the trend to a certain extent, both Silicon Labs and Microchip have limited the clock rate in their latest MCUs. Giant Geckos, for example, have a maximum clock of 72MHz. “These products are focused on energy efficiency,” Loe claimed. “If you build an MCU to run at 200MHz, for example, then each clock cycle will consume more energy than in an MCU running at 72MHz. A lot of MCUs will be used in battery powered apps, so we need to be energy efficient and to enable the CPU to sleep a lot.” Rangarajan agreed that clock rate is not always the primary factor when it comes to developing MCU portfolios. “We hear our customers saying don’t give me faster clock rates, make sure the MCUs meet my requirements. An app that runs from a battery requires a power efficient MCU. If you want a fast MCU, then you have to make trade offs.” In Loe’s views, MCU selection is all about the ability to perform certain tasks at a particular power efficiency. “That is always going to involve trade offs, but an M4 based MCU will generally be good for embedded applications with challenging energy consumption requirements.” Adopt the Concept of Smart PeripheralsBoth companies have adopted the concept of smart peripherals in their recent products. Loe explained: “Twenty years ago, most MCUs saw the CPU doing everything. That took a lot of CPU cycles, which meant you couldn’t do as much as you might have liked.“Today, most apps will take advantage of DMA, which offloads the CPU. In turn, this allows the CPU to do more.” Rangarajan said Microchip provides what he called ‘sleepwalking’ peripherals. “If there’s a requirement for them to do small numbers of transactions, this can be done without waking the CPU.” On the other hand,Sillicon Loe Noted that It’s all about when you have to wake up the M4 core. We’re trying to allow it to sleep for as much as possible. More than half of the peripherals in a Giant Gecko can run autonomously in deep sleep mode. Both Companies are Keen to Highlight Their Provision Silicon Labs has launched a starter kit to support Giant Gecko based application development(following picture) With this approach, a Giant Gecko’s A/D converter can operate while the CPU is in deep sleep mode. “It can sample and use DMA to pull the data into RAM,” Loe continued.Loe highlighted a couple of aspects. “We have included a cyrotimer that runs in shut off; the lowest energy mode. It’s a simple timer that’s useful when you need the CPU to be asleep for minutes. there’s the Peripheral Reflex System, which allows peripherals to talk. For example, the real time clock could tell the A/D converter to take a sample. It gives a level of determinism which you don’t get from a CPU.  Microchip's Product brings better power efficiency How does an MCU developer differentiate their products from similar devices with an M4 core? Rangarajan pointed to the integration of a buck regulator. “This brings better power efficiency,” he claimed, “which means lower active power consumption; as little as 65µA/MHz. The parts also support flexible pin options.”“We’re offering the best integrated security features,” Rangarajan contended. “SAM Dx/Ex MCUs have crypto hardware acceleration – symmetrical and asymmetrical – and public key encryption, amongst other features. It’s something Microchip has taken to heart and has made sure it’s all in the MCU.“We’re offering the best integrated security features,” Rangarajan contended. “SAM Dx/Ex MCUs have crypto hardware acceleration – symmetrical and asymmetrical – and public key encryption, amongst other features. It’s something Microchip has taken to heart and has made sure it’s all in the MCU.  EndLoe pointed to the security management unit (SMU) as an ‘upgrade’ to the memory protection unit (MPU) associated with the M4’s core. “While the MPU allows you to segment memory into eight regions, the SMU takes that further. The MPU is restricted to eight regions, so there is limited granularity. The SMU allows you to selectively say which pieces of code can access each peripheral.” “All of this is important,” Rangarajan concluded, “as security will become standard in the next few years.” 
kynix On 2017-11-24   288
General electronic semiconductor

The Interrupts and Times about MSP430

Today,let's talk something about MSP430 interrupts and times.   About "Interrupt"   Do you know what is an "interrupt"? Interrupt is a signal that informs our MCU that a certain event has happened,causing the interruption of the normal flow of the main program and the execution of an "interrupt routine",that handles the event and takes a specified action. Interrupts are essential to avoid wasting the processor's valuable time in polling loops, waiting for external events (in fact they are used in Real-Time Operating Systems, RTOS).   In the MSP430 architecture, there are several types of interrupts: timer interrupts, port interrupts, ADC interrupts and so on. Each one of them needs to be enabled and configured to work, and there is a separate "service routine" for every interrupt.   About code  Now let's see how to use timer and port interrupts to flash some LEDs,we will keep the ADC interrupt for the next turorial. So,let's write some code!   #include "msp430g2231.h" void main(void){  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT   You should recognize those lines,we used them in the last tutorial to add the definition file for our MCU, declare the main function and stop the watchdog timer.  CCTL0 = CCIE;                             // CCR0 interrupt enabled  TACTL = TASSEL_2 + MC_1 + ID_3;           // SMCLK/8, upmode    CCR0 =  10000;                           // 12.5 Hz   Here's some interesting stuff. These lines configure the timer interrupt. We first enable it by setting the CCIE bit in the CCTL0 register. Then we set the clock for the timer module in the TimerA control register. If you have a look at the msp430g2231.h file, you can see that: TASSEL_2 selects the SMCLK (supplied by an internal DCO which runs at about 1 MHz); MC_1 selects the "UP mode", the timer counts up to the number stored in the CCR0 register; ID_3 selects an internal 8x divider for the supplied clock (in our case we have SMCLK/8).   Finally, we set the CCR0 register. We configured the TimerA module to count up to the number stored in this register before overflowing and triggering the interrupt. By setting it at 10000, we get an overflow-frequency of 12,5 Hz. In fact we have (SMCLK/8)/10000 = 12,5 . You may obtain several frequencies by changing this number (remember that the MSP430 has a 16-bit timer, so the value stored in the CCR0 register must not be higher than 65535), changing the dividers or adding an if-else block with a counter in the interrupt routine. Let's go ahead.    P1OUT &= 0x00;               // Shut down everything  P1DIR &= 0x00;                P1DIR |= BIT0 + BIT6;       // P1.0 and P1.6 pins output the rest are input  P1REN |= BIT3;                 // Enable internal pull-up/down resistors  P1OUT |= BIT3;                 //Select pull-up mode for P1.3     These lines should be familiar too, but there are some additions: firstly, we clear the PORT1 output and direction registers. Then we set the P1.0 and P1.6 pins as outputs and the rest as inputs. The last two lines enable the pull-up resistor on the switch (BIT3) so that the normal state (button not pressed) will be "1".  P1IE |= BIT3;                    // P1.3 interrupt enabled  P1IES |= BIT3;                  // P1.3 Hi/lo edge  P1IFG &= ~BIT3;               // P1.3 IFG cleared With these lines of code, we first tell the MCU to listen to the P1.3 pin for logic-state changes (effectively enabling the interrupt on that particular pin). Then we select the edge when the interrupt is raised (from High to Low or Low to High); remember that the button on the LaunchPad connects the input pin to GND when pushed and to VCC when not. For this reason we seletct Hi/Lo edge. Finally we clear the interrupt flag for that pin. The interrput flag register P1IFG reports when an interrupt is raised, and it should be cleared at the end of the interrupt service routine.  _BIS_SR(CPUOFF + GIE);        // Enter LPM0 w/ interrupt    while(1)                      //Loop forever, we do  everything with interrupts!  {}} With this line, as you can remember, we shut down the CPU to spare some power while keeping the interrupts enabled. Then we enter a loop to be sure the MCU does nothing else, as we do our job with interrupts. // Timer A0 interrupt service routine#pragma vector=TIMERA0_VECTOR__interrupt void Timer_A (void){  P1OUT ^= BIT0;                            // Toggle P1.0} This is the TimerA interrupt service routine. Every time the TimerA overflows, the code inserted in this routine (note the special declaration) is executed. As you can see we only toggle the P1.0 pin (red led on LaunchPad), then we return to normal execution. // Port 1 interrupt service routine#pragma vector=PORT1_VECTOR__interrupt void Port_1(void){       P1OUT ^= BIT6;                        // Toggle P1.6     P1IFG &=~BIT3;                        // P1.3 IFG cleared    } This is the Port1 interrupt service routine. Every time the we push the P1.3 button, the code inserted in this routine (note the special declaration) is executed. We toggle the P1.6 pin (greenled on LaunchPad), clear the P1.3 interrupt flag (very important) and then we return to normal execution. Compile and program the LaunchPad, you should see the red led blink, and the green led toggle when you press the P1.3 button. Here's the full code, enjoy! #include "msp430g2231.h"    void main(void){  WDTCTL = WDTPW + WDTHOLD;     // Stop WDT    CCTL0 = CCIE;                             // CCR0 interrupt enabled  TACTL = TASSEL_2 + MC_1 + ID_3;           // SMCLK/8, upmode  CCR0 =  10000;                     // 12.5 Hz    P1OUT &= 0x00;               // Shut down everything  P1DIR &= 0x00;                P1DIR |= BIT0 + BIT6;            // P1.0 and P1.6 pins output the rest are input  P1REN |= BIT3;                   // Enable internal pull-up/down resistors  P1OUT |= BIT3;                   //Select pull-up mode for P1.3  P1IE |= BIT3;                       // P1.3 interrupt enabled  P1IES |= BIT3;                     // P1.3 Hi/lo edge  P1IFG &= ~BIT3;                  // P1.3 IFG cleared  _BIS_SR(CPUOFF + GIE);          // Enter LPM0 w/ interrupt  while(1)                          //Loop forever, we work with interrupts!  {}}  // Timer A0 interrupt service routine #pragma vector=TIMERA0_VECTOR __interrupt void Timer_A (void) {     P1OUT ^= BIT0;                          // Toggle P1.0 } // Port 1 interrupt service routine#pragma vector=PORT1_VECTOR__interrupt void Port_1(void){       P1OUT ^= BIT6;                      // Toggle P1.6   P1IFG &= ~BIT3;                     // P1.3 IFG cleared }  
kynix On 2017-10-14   327

Kynix

Kynix was founded in 2008, specializing in the electronic components distribution business. We adhere to honesty and ethics as our business philosophy and have gradually established an excellent reputation and credibility in our international business. With the accurate quotation, excellent credit, reasonable price, reliable quality, fast delivery, and authentic service, we have won the praise of the majority of customers.

Follow us

Join our mailing list!

Be the first to know about new products, special offers, and more.

Kynix

  • How to purchase

  • Order
  • Search & Inquiry
  • Shipping & Tracking
  • Payment Methods
  • Contact Us

  • Tel: 00852-6915 1330
  • Email: info@kynix.com
  • Follow Us

authentication

Kynix

© 2008-2026 kynix.com all rights reserve.