The experimental method of the electromagnetic effect of the electromagnetic pulse on the electric pre-system is simply to place the electronic system under test in the electromagnetic pulse radiation field, receive the electromagnetic pulse, and study the interference and damage of the system under test under the electromagnetic pulse irradiation. Happening.
The experimental configuration is shown in Figure 1. It is mainly composed of Gigatron electromagnetic transmission room (GTEM Cell), Marx generator, console and test system. The Marx generator is used to generate high voltages that, in conjunction with the GTEM chamber, produce a uniform electromagnetic field within the GTEM chamber. The console consists primarily of an oscilloscope, an optical receiver, and a Marx control panel. The optical receiver and the electric field sensor form an analog fiber field measurement system, which is mainly used to convert the radiation electromagnetic field into a voltage signal; the oscilloscope is used to display the electric field waveform; the Marx control panel is used to control the charge and discharge operation of the Marx generator and the steepening gap. Adjustment.
Fault reproduction principle
Fault recurrence concept Computer systems can cause hardware damage, increased data acquisition errors, memory data changes, program jumps, restarts, and crashes under electromagnetic pulse. These fault phenomena are the aggregates of fault phenomena that occur after a large number of different computers are disturbed in different environments and at different times. If you take out any computer to do experiments, you can only produce a few faults. Because these computers do not have automatic detection function, some faults are not observed even if they occur. If the fault phenomenon is not fully observed, it is impossible to find out the law and cause of the fault, let alone the research on the protection technology. Therefore, it is necessary to design a computer system dedicated to electromagnetic pulse effect experiments, which has the following functions:
Automatically detect and display faults in the system itself;
· The most common fault occurs when interference occurs;
· The most types of failures occur;
· Has a fault reproduction function.
Fault recurrence refers to actively taking certain technical means to make the fault recurring. I want to see which kind of fault can occur, and I want to see it happen several times. This is quite different from the design idea of ​​taking effective measures to prevent interference in general circuits.
Failure to reproduce is not a computer software for fault simulation, but a true reproduction of the fault. In order to reproduce the fault, in addition to the amplitude of the radiation field is strong enough, the system under test must have the necessary hardware circuit and software environment. The software environment refers to the running of the program that controls the function circuit when the interference occurs, that is, the time alignment. For example, if you want to examine the effect of electromagnetic pulse on the conversion accuracy of the A/D conversion circuit, you must first have an ADC, and secondly ensure that the ADC is working when illuminated.
Technical means to achieve fault recurrence
The requirements for the intensity of the radiation field and the hardware circuit are relatively easy to implement, and the difficulty is to ensure time alignment. Of course, the recurrence of some faults is very lenient for time alignment, such as crashes and restarts, and both of these failures may occur when the computer is running almost any program.
The solution to this difficulty is to adopt program modularity and loop-waiting techniques. The modularity of the program makes each type of fault (effect) correspond to a program module. If you want to see which kind of fault, you run the corresponding program module. If you want the fault to occur multiple times, the effect experiment is repeated. The loop waiting technique is to let the computer always run a certain segment or a certain program, which can greatly improve the probability of successful interference, making the fault most likely to occur.
This system uses 51 series single chip microcomputer. In order to facilitate the study of the effect of the program memory, the 8031 ​​without EPROM is selected as the central processing unit, and the program is solidified in the external program memory. Here, the E2PROM (2864 or 28C64) is easy to erase and write. Since the 8031 ​​contains CTC and SIO, there is no additional external CTC and SIO. In order to enable the system to reproduce as many faults as possible, the peripheral chips used are: external data memory (6264) and ADC (AD0809). In addition, a 4-digit digital tube is added for information display, and the display data is saved by 4 latches (74LS373). The above hardware circuit performs both a certain function and a test object. The system composition is shown in Figure 2.
Program execution flow
The system software consists of 8 program modules: a program module indicating the restart of the single-chip microcomputer; a program module for checking the operation of the CTC; a serial communication function checking program module; a program module for judging whether the external RAM content is changed and whether the reading and writing is erroneous; Whether the internal RAM content changes the program module; checks whether the A/D conversion circuit conversion error increases the program module; determines whether the external interrupt is falsely triggered by the program module; and displays the program module for whether the E2PROM content is rewritten.
The working process of the system is also the running process of the above eight program modules, which are sequentially executed under the control of the execution switch K. Figure 3 shows the flow chart. Almost every effect experiment corresponds to a program module. Since the hardware damage fault has little to do with the software operation, and the fault phenomenon is obvious, there is no need to specifically set the program module. The heavy shoulder motion experiment can work on any program module except the program module that indicates the microcontroller restart. The crash effect experiment can work in any program module, because the fault phenomenon is obvious, no need to detect the program. The specific implementation of fault recurrence and detection has different recurrence and detection methods. Due to the limited space, only three methods for fault recurrence and detection are given.
External RAM effect
This part of the experiment consists of three parts: one is to check whether the external RAM content is rewritten when no reading and writing operations are performed; the second is to check whether the read operation is wrong; the third is to check whether the write operation is wrong.
In the first part of the experiment, the RAM content was rewritten due to the interference of the RAM chip, and only the detection program was prepared. First write the same data ("AA") in the 0000H to 1FFFH unit of the RAM, and then wait for the execution of the switch K to be pressed, and wait for the impact test. After the impact is completed, the RAM content is read and judged whether it has changed.
The second and third parts of the experiment, check whether the RAM read and write operations are wrong due to interference. Let the interference pulse with a duration of only microseconds interfere with the read and write instructions that execute only a few microseconds. The probability of such an event occurring is almost zero. It is a good idea that the source of interference can work in a repetitive manner, allowing it to work in a repetitive manner. However, since the repetition frequency of the repeated work mode cannot be made very high, the maximum can only reach about 1 kHz, so the effect is not obvious. The most efficient way is to make the program repeat a read or write instruction, although there are several instructions between the two reads or writes to determine whether the read or write data is correct, but the time interval between two reads or writes. It is also on the order of tens of microseconds, which is equivalent to letting the read and write instructions interfere with the electromagnetic pulse, thus greatly increasing the probability of being disturbed.
At the beginning of the second and third parts of programming, in order to make it more representative, read or write all the cells of the RAM, first clear the 0000H~1FFFH units of the RAM, then let the program loop through the units, or These units cyclically write data "AA" and check in real time whether the data read or written is correct. In the experiment, it was found that the number of errors in the second and third parts of the experiment was more than that in the first part of the experiment. Despite the above-mentioned loop waiting technique, the possibility of an instruction being disturbed is still small. Many experiments could not be solved. Later, when reading the experiment to display the error message, the contents of each unit of the RAM were checked. It was found that the content of a part of the RAM unit was wrong every time, and the error of the read operation could not cause the RAM content to change, so it was not or not It is a read/write operation error, but it is misinterpreted as a read or write error after the RAM content is rewritten. The solution to this problem is to make the read and write operations only for a fixed RAM unit. Since the probability of a unit being rewritten is 1 / 2 of the probability of rewriting all units, this greatly reduces the probability of false alarms.
The serial port SIO effect experiment is mainly to see if the serial communication is wrong. To observe this kind of fault phenomenon, you must let the microcontroller run the serial communication program. Since the 51-type MCU has only one serial port, and it is necessary to communicate with it, at least two serial ports are required. This requires at least two sets of single-chip microcomputer systems, which complicates the equipment and experiments. After seriously studying the working principle of the serial port, I finally found a solution to simulate serial communication with only one single-chip microcomputer: short-circuit the TXD and RXD of the CPU, and send the data sent by the TXD terminal directly to the RXD for receiving, so that the single-chip microcomputer works in spontaneous self-receiving. Status, judge whether the communication is normal by checking whether the received and sent data are equal. Of course, it is still necessary to adopt a loop waiting technique to make the communication cycle. When the operation is normal, a pulse signal is generated at the P1.1 port to make the red LED light. If an abnormality occurs overnight, the digital tube will display an error message and turn off the LED.
In order to make the CTC work fault recurring, an instruction that allows the CTC interrupt can be added to the main program, so that when the program is running, the CTC is always working, waiting for the electromagnetic pulse to interfere. The timer uses the CPU internal timer 0, and the working mode is mode 1. Write the CTC0 interrupt subroutine, cooperate with the software counter R0, generate a square wave signal at the P1.1 port, drive the LED to flash. The main program waits for K to press the command and waits for the interference experiment. If the LED flashes abnormally, it indicates that the CTC is not working properly. The following is the interrupt subroutine for Timer 0:
Before designing the single-chip system, an effect experiment was performed using a single-chip microcomputer minimum application system, and only a crash phenomenon was observed. After the system was used in the effect experiment, hardware damage, A/D conversion error increase, memory data change, program jump, crash, CTC work error, serial communication error, and program memory E2PROM content were observed. Failure phenomenon. Through a large number of repeated experiments, the thresholds of various faults were measured, and the causes of the faults were analyzed.
Figure 4 shows the interference waveforms of the normal signal and communication error on the serial port RXD pin recorded by the oscilloscope. Figure 4 shows that there is a strong interference signal on RXD, and the low level is stretched by 3-4 times.
According to the experimental data and the working principle of the serial port, there are two reasons for the error of the application communication:
1. Interference causes the SIO circuit to work incorrectly, such as the serial control register SCON content changes, sending or receiving SBUF content changes, etc., which may cause the received data and the transmitted data to be inconsistent, thereby making communication errors;
2. Interference signals on the RXD line confuse the serial data, causing errors in the received data.
Shenzhen Xcool Vapor Technology Co.,Ltd , http://www.xcoolvapor.com