Research on the test method of single chip microcomputer system memory

Publisher:EtherealHeartLatest update time:2015-11-02 Source: eefocus Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere
    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 seeds and bit-by-bit inversion.
1. Review of RAM testing methods
     Method 1: The reference gives a method for testing system RAM. This method is to check in two steps, first sending #00H and #FFH to the entire data area, and then reading them out for comparison. If they are different, it means an error.
     Method 2: Method 1 cannot completely check the RAM error. The reference analyzes and introduces a standard algorithm for RAM detection, MARCH-G. The MARCH-G algorithm can provide excellent fault coverage, but the required testing time is very large. The MARCH-G algorithm needs to traverse the entire address space three times. Assume that the address line is "root", then the CPU needs to access the RAM 6×2n times.
     Method 3: The reference gives a method to complete the test by shifting the address signal. On the basis of the address signal being 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 this is done bit by bit from low to high; then on the basis of the address signal being 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 same It is done 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). The entire required address range can be regarded as generated by shifting with all 0s and all 1s 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 out the written pseudo-random data and perform detection. Assuming that there are n address lines, the CPU only accesses 2n+2 storage units in the system RAM.
2. RAM test method based on seeds and bit-by-bit inversion
     The test method based on seeds and bit-by-bit inversion is obtained by further improving Method 3. Method 3 mainly uses two background numbers of all 0s and all 1s 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 a RAM with 8 address lines as an example, the seeds are 00000000 and 11111111, 0000llll and llll0000, and 00000000, 11111111, 00001111, 11110000, 00110011, 1100llOO, The fault coverage achieved by shifting and testing the eight numbers 01010101 and 10101010 is different. The improved method with a seed number of 2 has a lower fault coverage than the MARCH-G algorithm, the improved method with a seed number of 4 is equivalent to the MARCH-G algorithm, and the improved method with a seed number of 8 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 for different seed numbers is also different. Assuming that there are n address lines, when the seed number is 2, the RAM needs to be accessed a total of 4"+4 times, when the seed number is 4, the RAM needs to be accessed a total of 8n+8 times, when the seed number 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 test time and the test fault coverage requirements to achieve satisfactory results.
Conclusion
     This article introduces the general method of RAM testing in microcontroller 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.
Reference address:Research on the test method of single chip microcomputer system memory

Previous article:Application of single chip microcomputer in motor protection
Next article:Working principle of single chip microcomputer controlled stepper motor driver

Latest Microcontroller Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号