Signal testing system and method of a printed circuit board

A signal testing method of a printed circuit board (PCB) applies a robot arm and an oscilloscope to test the PCB. The method controls the robot arm to move to test points of electronic signals of the PCB. The method further controls the oscilloscope connected to the robot arm to measure the electronic signals.

BACKGROUND

1. Technical Field

Embodiments of the present disclosure relate to circuit testing, and particularly to a signal testing system and method of a printed circuit board.

2. Description of Related Art

Signal testing of a printed circuit board (PCB), such as a motherboard, is an important phase in the manufacturing process and is closely interrelated to product quality. Currently, the signal testing of PCBs is manually operated using an oscilloscope. Because the signal testing of the PCBs involves numerous electronic signals, the manual testing can be very inconvenient and time consuming. Additionally, test points of the electronic signals in the PCBs are sometimes difficult to reach due to increasing complexity of the PCBs. A robot arm can be controlled to move to specified locations accurately and efficiently. Therefore, prompt and accurate signal test of the printed circuit board using the robot arm is desirable.

DETAILED DESCRIPTION

All of the processes described below may be embodied in, and fully automated via, functional code modules executed by one or more general purpose computers or processors. The code modules may be stored in any type of computer-readable medium or other computer storage device. Some or all of the methods may alternatively be embodied in specialized computer hardware.

FIG. 1is a block diagram of one embodiment of a signal testing system10of a printed circuit board (PCB)101. The PCB101(e.g., a motherboard) may include a bare board and various electronic components, such as resistors, capacitors, and integrated circuits. In one embodiment, the signal testing system10includes a robot arm102, a robot arm controller103, an oscilloscope104, and a host computer105. The PCB101may be placed on a test rack106. The host computer105is connected to the robot arm controller103and the oscilloscope104via input/output (I/O) interfaces, such as serial ports, general purpose interface bus (GPIB) ports, or local area network (LAN) ports, for example. The robot arm controller103is further connected to the robot arm102. The oscilloscope104is connected to the robot arm102via a pair of oscilloscope probes108.

The host computer105may include a test system11. The test system11may control the robot arm102to move to test points of electronic signals, and control the oscilloscope104to measure the electronic signals. The host computer105may further include a storage system12and a processor13. One or more computerized codes of the test system11may be stored in the storage system12and executed by the processor13.

In one embodiment, each electronic signal of the PCB101to be tested corresponds a pair of test points in the PCB101. For example, a single-ended signal has a signal test point and a ground test point. A differential signal has a pair of differential signal test points. The robot arm102may be equipped with a pair of robot arm probes107at a front end, where the robot arm probes107are connected to the oscilloscope probes108. The robot arm probes107are moved to the pair of test points when the electronic signal is tested. Depending on the embodiment, the robot arm102may hold the oscilloscope probes108and position the oscilloscope probes108to the pair of test points.

In one embodiment, the host computer105may control the robot arm102via the robot arm controller103. Depending on the embodiment, the host computer105may control the robot arm102directly.

FIG. 2is a block diagram of one embodiment of the test system11comprising function modules. In one embodiment, the test system11may include a parameter setting module200, a correcting module210, a transforming module220, a testing module230, and an analyzing module240.

The correcting module210is operable to correct an initial position of the robot arm102, so as to ensure a location accuracy of the robot arm102.

The transforming module220is operable to determine a transformational relationship between the first coordinate system of the PCB101and a second coordinate system of the robot arm102. Further details of the transformational relationship will be explained below.

The testing module230is operable to select the electronic signals to be tested one by one and test the selected electronic signal. For each selected electronic signal, the testing module230first calculates coordinates of the test points of the selected signal in the second coordinate system according to the transformational relationship between the first coordinate system and the second coordinate system. The testing module230controls the robot arm102to move to the test points of the selected electronic signal, and control the oscilloscope104to measure the test items, such as a period, a positive pulse width, a negative pulse width, a rise time, and a fall time, of the selected electronic signal. Finally, the testing module230receives measured values of the test items from the oscilloscope104, and stores the measured values into the storage system12.

The analyzing module240is operable to analyze the measured values of the test items of each selected electronic signal, and store the analysis result into the storage system12. The analysis of the measured values may include determining if the measured value of each test item is acceptable.

FIG. 3is a flowchart of one embodiment of a signal testing method of the PCB101. The method may control the robot arm102to move to test points of electronic signals, and control the oscilloscope104to measure the electronic signals. Depending on the embodiments, additional blocks may be added, others removed, and the ordering of the blocks may be changed.

In one embodiment, the test points include via holes, pads, and pins in the PCB101. The test items include various time and voltage measurements, such as overshot, undershot, period, positive pulse width, negative pulse width, rise time, and fall time. The theoretical value may be a certain value, such as 25 ns, or a range of value, such as a range of [10 ns, 12 ns].

In block S302, the correcting module210corrects an initial position of the robot arm102, so as to ensure a location accuracy of the robot arm102. In one embodiment, the correcting module210sends a correction command to the robot arm controller103. In respond to the correction command, the robot arm controller103controls the robot arm102to correct the initial position.

In block S303, the transforming module220determines a transformational relationship between the first coordinate system of the PCB101and a second coordinate system of the robot arm102. In one embodiment, the transforming module220calculates a transition matrix from the first coordinate system to the second coordinate system to represent the transformational relationship. It may be understood that coordinates of a point in the second coordinate system may be obtained by multiplying the coordinates of the point in the first coordinate system by the transition matrix.

In block S304, the testing module230selects one of the electronic components to be tested.

In block S305, the testing module230selects one of the electronic signals to be tested of the selected electronic component.

In block S306, the testing module230transforms the coordinates of the test points of the selected electronic signal in the first coordinate system into coordinates of the test points of the selected electronic signal in the second coordinate system. The transformation may be done according to the transformational relationship between the first coordinate system and the second coordinate system. In one embodiment, the transformational relationship is represented as a transition matrix from the first coordinate system to the second coordinate system. The testing module230may multiply the coordinates of the test points of the selected electronic signal in the first coordinate system by the transition matrix, so as to obtain the coordinates of the test points of the selected electronic signal in the second coordinate system.

In block S307, the testing module230controls the robot arm102to move to the test points of the selected electronic signal according to the calculated coordinates. As such, the selected electronic signal transmits from the PCB101to the oscilloscope104. In one embodiment, the testing module230sends a location command that contains the calculated coordinates to the robot arm controller103. In response to the location command, the robot arm controller103drives the robot arm102to move to the test points of the selected electronic signal.

In block S308, the testing module230controls the oscilloscope104to measure the test items of the selected electronic signal.

In block S309, the testing module230receives measured values of the test items of the selected electronic signal from the oscilloscope104, and stores the measured values into the storage system12. In one embodiment, the measured values may be stored in a first predetermined storage path, such as F:\PCBTest\Result.

In block S310, the analyzing module240analyzes the measured values, and stores the analysis result into the storage system12. The analysis of the measured values may include determining if the measured values are acceptable. In one example, a theoretical value of a period of a clock signal is set as 25 ns. If the measured value of the period of the clock signal is 24 ns, the analyzing module240may determined that the measured value of the period of the clock signal is unacceptable. In one embodiment, the analysis result may be stored in a second predetermined storage path, such as F:\PCBTest\Analysis.

In block S311, the testing module230determines if there are any other electronic signals of the selected electronic components that have not been selected. If there are any other electronic signals that have not been selected, then the flow may return to block S305. If there are no any other electronic signal to be selected, then the flow goes block S312as described below.

In block S312, the testing module230determines if there are any other electronic components of the PCB101that have not been selected. If there are any other electronic components that have not been selected, then the flow may return to block S304. If there are no any other electronic component of the PCB101to be selected, then the flow ends.