In various single-chip microcomputer application systems, the normality of the memory is directly related to the normal operation of the system. In order to improve the reliability of the system, it is necessary to test the reliability of the system . Through testing, the damage caused by memory failure to the system can be effectively discovered and solved. This article specifically introduces several commonly used single-chip microcomputer system RAM testing methods, and on this basis, proposes a RAM fault testing method based on seed and bit-by-bit inversion .
1 RAM test method review
(1) Method 1
This method is to check in two steps: #00H and #FFH are sent to the entire data area successively, and then read out successively for comparison. If they are different, it means an error.
(2) Method 2
Method 1 cannot completely check the RAM errors. A standard algorithm for RAM detection, MARCH-G, is introduced. MARCH-G algorithm can provide excellent fault coverage, but the required testing time is very large. MARCH-G algorithm needs to traverse the entire address space three times. Assuming the address line is "root", the CPU needs to access the RAM 6×2n times.
(3) Method 3
A method for completing a test by shifting an address signal. On the basis that the address signal is all 0, the signal of the address line Ai is only inverted once each time, while the signals of other non-detection address lines Aj (i≠j) are kept at 0, and the process is performed bit by bit from low to high; then on the basis that the address signal is all 1, the signal of the address line Ai is only inverted once each time, while the signals of other non-detection address lines Aj (i≠j) are kept at 1, and the process is performed bit by bit from low to high. Therefore, the shift of the address signal is actually nonlinear addressing according to 2K (K is an integer, and the maximum value is the width of the address bus), and the entire required address range can be regarded as generated by shifting with all 0 and all 1 as the background. Different pseudo-random data is written to the corresponding storage unit at the same time as the address changes. After the above write unit operation is completed, the address signal is shifted in reverse order to read the written pseudo-random data and perform detection. If there are n address lines, the CPU only accesses 2n+2 storage units in the system RAM.
2 RAM testing method based on seed and bit-by-bit inversion
The test method based on seed and bit-by-bit inversion is further improved on the basis of method 3. Method 3 mainly uses two background numbers of all 0 and all 1 for shift expansion. Compared with the MARCH-G algorithm, the fault coverage obtained is slightly lower, but fewer address units are used. Here we call the background number in method 3 "seed". Taking the RAM with 8 address lines as an example, the seeds are 00000000 and 11111111, 0000llll and llll0000, 00000000, 111111111, 0000llll and llll0000, and 00000000, 111111111, 00001111, 11110000, 00110011, 1100llOO, 01010101 and 10101010 for shift expansion test. The fault coverage achieved is different. The improved method with 2 seeds has a lower fault coverage than the MARCH-G algorithm, the improved method with 4 seeds is equivalent to the MARCH-G algorithm, and the improved method with 8 seeds can exceed the effect of the MARCH-G algorithm. Overall, the improved method based on seeds and bit-by-bit inversion can replace the MARCH-G algorithm, but the number of addressing times required is different for different seed numbers. Assuming that there are n address lines, when the number of seeds is 2, the RAM needs to be accessed a total of 4"+4 times, when the number of seeds is 4, the RAM needs to be accessed a total of 8n+8 times, when the number of seeds is 8, the RAM needs to be accessed a total of 16n+16 times, and the MARCH-G algorithm needs to access the RAM a total of 6×2n times. It can be seen that the improved method based on seeds and bit-by-bit inversion has a much lower test time overhead than the MARCH-G algorithm. At the same time, the fault coverage will increase with the increase of the number of seeds. Of course, the test time overhead required for different seed numbers is also different. In actual test applications, the appropriate number of seeds should be selected according to the requirements of test time and test fault coverage to achieve satisfactory results.
3 Conclusion
This paper introduces the general method of RAM testing in single-chip microcomputer systems, and proposes a RAM fault testing method based on seeds and bit-by-bit inversion. It has the characteristics of short diagnosis time and high fault coverage, so it has high application value.
Previous article:Application of single chip microcomputer ADuC812 in storage test system
Next article:Research on intelligent online detection system of special-shaped curved surface based on single chip microcomputer control
Recommended ReadingLatest update time:2024-11-16 14:55
- 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)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- 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
- If I give you a...
- Using C6748 and C5509A to drive nRF24L01 for data transmission
- Dual-band Wi-Fi 6 front-end modules are here, and the era of Wi-Fi 6 is coming soon
- Free gifts! 11 popular Maxim development boards are waiting for you!
- Learn about PI's new PowiGaN switching power supply IC and answer questions to win prizes!
- MSP430 MCU Development Record (28)
- [nRF52840 DK Review] Custom BLE Services
- Download and get a gift | Keysight Technologies [Cheats on how to choose and use oscilloscope probes]
- Correct timing
- msp430g2553 microcontroller