As the complexity of automotive body control applications increases, the performance requirements for 16-bit microcontrollers (MCUs) are also increasing. Door control, seat adjustment, interior lighting and air conditioning systems that were previously controlled mechanically are now electronically controlled. A large number of dedicated semiconductor solutions provided by many semiconductor manufacturers, including Motorola, make these new electronic control applications possible. These new solutions not only provide the necessary control functions, but also provide advanced diagnostic capabilities that old mechanical systems cannot provide. Consumers hope that the control system in new cars can promptly issue alarm information for any system failures in the car.
This article introduces Motorola's MC9S12DP256 16-bit MCU and several peripheral IC products that are designed to withstand the harsh environments common in automotive systems. In addition, the advanced diagnostic functions provided by these products are discussed in detail. Figure 1 shows a block diagram of the solution used.
Figure 1
Power System
The power system is one of the most important subsystems in any automotive system design. Overall power consumption, battery reverse polarity protection, vehicle tripping, vehicle noise and vehicle sleep power are all factors that must be considered. Even the best system will not function properly if the power design is poor. Motorola provides intelligent power semiconductor products that can well manage all aspects of the power subsystem.
Motorola's system-on-chip (SBC) MC33989 has two power rectifiers to provide power for the MCU and peripheral devices. The chip also provides a CAN interface with a speed of 1 megabit, 4 high-voltage wake-up inputs and system protection functions. This intelligent semiconductor device can provide all the necessary system voltages. It has a low-noise 200mA rectifier inside to power the MCU subsystem. In addition, there is a device to control the external pass transistor to power the peripheral devices. This external pass transistor allows the secondary power supply to be adjusted to meet the power consumption limit requirements required for each special application. The secondary power supply can also cut off the power supply of the selected peripheral devices as required, thereby achieving the purpose of reducing power consumption.
The input power comes directly from the vehicle battery. Only an external diode is needed to achieve the purpose of battery polarity protection. SBC can complete protection actions under all overvoltage conditions. The application of power MOSFET process technology also enables this device to work normally when the battery voltage is as low as 4.5V, and it can output a battery fault alarm signal when the battery voltage is as low as 3V. The power system also has an over-temperature protection function. When the temperature reaches 160 degrees Celsius, it will perform internal thermal shutdown processing, and an alarm signal will be output when the temperature is 130 degrees Celsius. In addition, SBC can also provide a low-power sleep mode, in which the system current can be reduced to 40μA.
CAN transceiver
In addition to providing system power, the SBC also integrates a 1-Mbaud CAN transceiver. The transceiver has functions such as master state timeout detection, internal thermal protection, and CAN+ and CAN- input short circuit protection. The transceiver also has protection for the CAN+ and CAN- inputs against jump start, reverse battery connection, and short circuit to power or ground.
The 4 high-voltage wake-up inputs provide a powerful wake-up function. The maximum withstand voltage of these wake-up inputs can reach 40V. The pull-up source of the input can be generated on the chip. Since only the pull-up source is needed to detect the change of the switch input at any time, the power consumption can be reduced. The device also has a periodic wake-up function. In addition, the SBC also provides reset regulation and low-voltage detection functions for the MCU.
Multi-switch detection interface
Due to the need for special contact wetting currents and circuit fault detection functions, automotive electronic equipment requires highly complex input sensing circuits to detect switch states. Motorola's multi-switch detection interface (MSDI) device MC33993 is designed for this purpose.
Systems that require a large number of switch interfaces have many discrete components that take up a lot of space on standard printed circuit boards and must be tested for solder joint integrity. Integrated solutions can reduce the number of solder joints, take up less space, and provide a wider operating voltage, so they have greater flexibility. MSDI devices perform switch detection functions and can detect the open and closed states of up to 22 switch contacts. These detected open and closed states are then transmitted to the MCU through a high-speed serial link. Protection against transient interference can be achieved by adding a suitable electrostatic discharge capacitor at the input. Similarly, all inputs have reverse battery, jump start and load removal protection functions.
The MSDI also features selectable wetting currents. These internal current sources significantly reduce system component count and enable the use of metal or rubber switches. The large wetting currents used to detect metal switches can be selectively used during the detection process, thereby reducing power consumption. The internal current sources allow the inputs to be used as power supplies for light loads such as sensors, LEDs, or MOSFET gates. This approach further enhances system design performance by allowing these inputs to be used for other purposes when switch detection is not required.
High-impedance analog circuits are particularly susceptible to noise from other signals on the circuit board. Shortening the analog signal path and allowing the device to buffer the signal can reduce this effect. The MC33993 has powerful analog interface capabilities. Compared with traditional systems, this approach can reduce system wiring and failure modes. In addition, the MC33993 also integrates a 22-to-1 analog multiplexer to improve device performance. Channel selection is achieved through a high-speed serial link. The device not only provides advanced switch diagnostics, but also allows the use of analog sensor interfaces and ladder impedance interfaces.
MCU output circuits cannot directly drive automotive loads, and integrated circuits such as lamps, relays, motors, range meters, and LED drivers are also required. These special input interface devices also provide protection and error detection functions.
Output system
After the power system and input adjustment are confirmed, the output system must be considered. Many automotive loads cannot be directly driven by MCU or low current interface devices, including motors and lights. Relays or mechanical switches are the main high current switching devices in today's automotive body control structures. Due to the low cost and mature design of electromagnetic systems, many system architects are still happy to use them. However, the use of electromagnetic systems will cause many problems, such as:
1. The limited life of mechanical contacts limits the switching frequency of the relay. Since the contacts have a certain inertia when opening or closing, there will be a certain degree of jump before stabilizing to the next state. This jump limits the maximum operating frequency. If this frequency is exceeded, the life of the relay will be greatly shortened.
2. The electromagnetic system does not have diagnostic capabilities. The reliability of these devices is a big issue in the harsh automotive environment.
These loads can be easily integrated into the system using drivers designed specifically for these loads. The MC33888 switch with 4 high-side and 8 low-side switches provided by Motorola is designed specifically for driving automotive loads. This device can directly control 4 high-side loads with a power of up to 60W and 8 low-side loads with a small current (2.5W). The MC33888 device also has built-in functions for handling surge currents associated with incandescent lamps. As can be seen from Figure 2, the surge current caused by incandescent lamps can reach 10 to 15 times the normal operating current, which will cause great problems for systems that do not have these large surge current handling circuits. The most common measure for this type of load is to trigger the overcurrent protection circuit to cut off these loads.
Figure 2
[page]
MC33888 solves this problem well. It uses a startup timer to allow the incandescent lamp to preheat before the overcurrent protection circuit works. The startup of the overcurrent protection circuit requires detecting the state and pulse width signal of adjusting the output driver to the acceptable level of the device. Figure 3 shows the action waveform of the overcurrent protection. Complete battery reverse polarity protection, load dumping protection and low power consumption characteristics all help to reduce system complexity and reduce the number of external components. Diagnostic functions include load open circuit detection, short circuit detection and overtemperature detection. As an additional protection function, the device also has a built-in watchdog timer that can be used to shut down the device when the communication between the device and the MCU is interrupted. The control of the device is implemented through a high-speed serial interface, thus greatly reducing the number of MCU pins required.
Electronic Motor Control
The last issue to consider is electronic motor control. The MC33887 motor driver is well suited for this task. It is a complete H-bridge driver. The device has a continuous current drive capability of more than 5A, making it ideal for lock motors, antenna motors, or wiper pumps. The MC33887 also features high-side current sensing feedback. The high-side current sensing feedback function can correct the motor drive frequency and duty cycle based on real-time motor current feedback. Just like the lamp driver, it can automatically pulse-width modulate the output when an overcurrent condition is detected.
Figure 3
The MC33887 device provides full control over the H-bridge activation direction and interrupt control of the load.
Embedded emulator
Specifically designed for complex automotive electronic applications, the MC33993, MC33887 and MC33888 devices provide solutions with advanced performance and diagnostic capabilities.
Complex multi-pin MCUs often cause development problems. The MC9S12DP256 provides a single-wire background debug interface that facilitates extensive debugging in an automotive environment without the difficulties commonly encountered when using traditional circuit embedded emulators. This interface can also be used to program the main flash memory at the end of the production line or even to perform reprogramming operations in the vehicle.
Modern automotive microcontrollers often use flash memory to store the main operating program. The best way to program flash memory is to program the main program into the complete electronic control module after final assembly, which can effectively avoid the risks and delays compared to having a third party program the main program into the MCU before the module is assembled. Programming the main program into the MCU through a simple serial interface is completed after the module is assembled, usually during final testing. Some manufacturers use inexpensive stand-alone programmers to complete this operation, while others integrate the programming operation into the test equipment at the end of the production line.
Motorola's related devices provide a single-wire background debugging interface for flash programming, verification and general debugging operations. When the device is working normally, the serial communication pin is pulled high during reset, so the background system is not activated. When a programmer or debugging system is connected to this pin, the pin will be pulled low during reset, forcing the MCU to enter an active background mode instead of starting the application. To facilitate debugging, a host system can be connected to the target MCU system when the device is working normally, so that the contents of the flash memory or registers can be monitored without interfering with the operation of the device. The connected debugging system can also replace the control of the MCU to read and write CPU registers, set hardware breakpoints or trace single instructions.
Traditional circuit embedded emulators usually require 30 to 40 connections to the target system, while the background debug interface mentioned above only requires 2 to 4 connections. A single BKGD communication signal and a common ground are required. Adding a reset signal makes it easier for the host to force and control the system reset, and in some cases adding VDD allows the debug fixture to "steal" power from the target system. This simple interface provides automotive electronics designers with debug access to the MCU installed in the electronic control module of a sports car. Many problems can only be discovered through debugging when the car is running under normal road conditions.
Memory Programming
The most important factors associated with flash programming are speed and convenience. Programming speed depends on the programming time of the flash cells and the data transfer speed from the programmer to the target MCU, of course, there are some other factors, such as the time to erase the array before programming, and the time to verify the success of the programming operation. The MC9S12DP256 takes 45ms to program any 16-bit word, but a burst programming operation allows any additional words in the same row of 32 words of flash to be programmed at a speed of 20ms. In theory, a single-wire background debug interface can transmit a word of information in 27ms, which is slightly slower than the actual programming time of flash. Actual programming also requires additional task overhead, such as verification overhead. The stand-alone programmer tool SCBDMPGMR12 can complete the erase, program and verify operations of 256KB flash in slightly less than 10s.
Verification is one of the major factors that cause overhead. Retransmitting all the data to perform word-by-word verification will double the programming time. A quick way is to perform a CRC calculation when the data is programmed into the flash, and then reread the flash contents after the entire flash is programmed to verify the CRC value. This operation can be performed at full bus speed and does not require retransmitting data.
Separating the data transfer to the target so that it is done before the data is programmed into the flash memory will also double the programming time. A better approach is to perform the data transfer in parallel with the programming operation. Typically, the programming algorithm is sent to the target MCU first, which manages the received data and puts it into a RAM buffer, which then controls the erase and programming operations. The programming algorithm uses two data buffers to receive the data to be programmed into the flash memory. When the first buffer is full of data, the programming algorithm begins programming the data into the flash memory while the new data is loaded into the second buffer. A background interface can be used to receive the data and write it to the RAM without interfering with the work of the target CPU, which reads the data from the other buffer and programs it into the flash memory.
The flash memory in the MC9S12DP256 is divided into four independent 64KB blocks, so erase and program operations can be performed independently on the four blocks. In the case of background debug-based flash programming, it is not practical to try to interleave programming operations of independent arrays because the data transfer speed is slightly slower than the average word programming speed of flash memory, but it is feasible to perform bulk erase operations on all four blocks in parallel.
Background access provides an extremely convenient way to program the flash memory for the first time, but some users still want to use other system buses such as CAN, J1850 or serial interface buses to complete all field reprogramming operations. This can be easily done by including a suitable bootloader program in the main application. In response to some special code from one of the buses in the finished car, the bootloader should be able to erase the flash memory and accept new programming data.
Previous article:A car door lock hardware and software design based on fingerprint recognition technology
Next article:Design and Analysis of Inverter Circuit in Automotive HID Electronic Ballast
Recommended ReadingLatest update time:2024-11-16 20:37
- Popular Resources
- Popular amplifiers
- Wireless Sensor Network Technology and Applications (Edited by Mou Si, Yin Hong, and Su Xing)
- Modern Electronic Technology Training Course (Edited by Yao Youfeng)
- Modern arc welding power supply and its control
- Small AC Servo Motor Control Circuit Design (by Masaru Ishijima; translated by Xue Liang and Zhu Jianjun, by Masaru Ishijima, Xue Liang, and Zhu Jianjun)
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- LE audio, Bluetooth positioning, Bluetooth mesh... Where will the next technological explosion point of Bluetooth be? ?
- RAM is equivalent to the computer's running memory. Can the memory stick also be expanded?
- LPS25HB Barometric Pressure Sensor PCB Package and Code
- Can the glass fiber effect be quantified through simulation?
- In Cadence, I want to reserve space for components in PCB design. How do I do it in the principle?
- Does anyone know about the FDS9435 chip?
- Button control water flow light: press key1, LED1-8 will flow in sequence, press key2, LED1/3/5/7 (4 intervals)...
- Tips: Quickly locate components in Altium Designer
- MSP430+DMA
- Can vias be placed on pads?