WO1999036881A1 - Method and apparatus for three-dimensional inspection of electronic components - Google Patents

Method and apparatus for three-dimensional inspection of electronic components Download PDF

Info

Publication number
WO1999036881A1
WO1999036881A1 PCT/US1999/000714 US9900714W WO9936881A1 WO 1999036881 A1 WO1999036881 A1 WO 1999036881A1 US 9900714 W US9900714 W US 9900714W WO 9936881 A1 WO9936881 A1 WO 9936881A1
Authority
WO
WIPO (PCT)
Prior art keywords
ball
image
grid array
side perspective
lead
Prior art date
Application number
PCT/US1999/000714
Other languages
French (fr)
Inventor
Elwin M. Beaty
David P. Mork
Original Assignee
Beaty Elwin M
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=21730545&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO1999036881(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Beaty Elwin M filed Critical Beaty Elwin M
Priority to KR1020007007825A priority Critical patent/KR20010040339A/en
Priority to EP99902217A priority patent/EP1046127A4/en
Priority to JP2000540517A priority patent/JP2002509259A/en
Publication of WO1999036881A1 publication Critical patent/WO1999036881A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K13/00Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
    • H05K13/08Monitoring manufacture of assemblages
    • H05K13/081Integration of optical monitoring devices in assembly lines; Processes using optical monitoring devices specially adapted for controlling devices or machines in assembly lines
    • H05K13/0818Setup of monitoring devices prior to starting mounting operations; Teaching of monitoring devices for specific products; Compensation of drifts during operation, e.g. due to temperature shifts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30152Solder
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/10Bump connectors; Manufacturing methods related thereto
    • H01L2224/12Structure, shape, material or disposition of the bump connectors prior to the connecting process
    • H01L2224/13Structure, shape, material or disposition of the bump connectors prior to the connecting process of an individual bump connector

Definitions

  • This invention relates to a method and apparatus for three dimensional inspection and, more particularly, a method and apparatus for three dimensional inspection of solder balls on ball grid arrays and solder bumps on wafer and die, and to a calibration method.
  • Prior art three dimensional inspection systems have involved laser range finding technology, moire interferometry, structured light patterns or two cameras.
  • the laser range finding method directs a focused laser beam onto the Ball Grid Array, BGA, and detects the reflected beam with a sensor.
  • Elements of the BGA are determined in the X, Y and Z dimensions utilizing a triangulation method. This method requires a large number of measurement samples to determine the dimensions of the BGA resulting in longer inspection times. This method also suffers from specular reflections from the smooth surfaces of the solder balls resulting in erroneous data.
  • Moire interferometry utilizes the interference of light waves generated by a diffraction grating to produce a pattern of dark contours on the surface of the BGA. These contours are of known distance in the Z dimension from the diffraction grating. By counting the number of contours from one point on the BGA to another point on the BGA, the distance in the Z dimension between the two points can be determined. This method suffers from the problem of low contrast contour lines resulting in missed counting of the number of contours and resulting in erroneous data. This method also suffers from the contour lines merging at surfaces with steep slopes, such as the sides of the balls on the BGA, resulting in an incorrect count of the number of contours and resulting in erroneous data.
  • Structured light systems project precise bands of light onto the part to be inspected.
  • the deviation of the light band from a straight line is proportional to the distance from a reference surface.
  • the light bands are moved across the part, or alternately the part is moved with respect to the light bands, and successive images are acquired.
  • the maximum deviation of the light band indicates the maximum height of a ball.
  • This method suffers from specular reflections due to the highly focused nature of the light bands resulting in erroneous data. This method further suffers from increased inspection times due to the number of images required.
  • Two camera systems utilize one camera to view the BGA device in the normal direction to determine X and Y dimensions and the second camera to view the far edges of the balls from an angle.
  • the two images are combined to determine the apparent height of each ball in the Z dimension utilizing a triangulation method.
  • This method suffers from the need for a higher angle of view of the ball from the second camera resulting in looking at a point significantly below the top of the ball for BGA' s having fine pitch.
  • This method also suffers from limited depth of focus for the second camera limiting the size of BGA's that can be inspected.
  • This system can only inspect BGA's and not other device types such as gullwing and J lead devices.
  • the prior art does not provide two separate and opposite side views permitting larger BGA' s to be inspected or nonlinear optics to enhance the separation between adjacent ball images in the side perspective view.
  • the invention provides a calibration and part inspection method and apparatus for the inspection of BGA devices.
  • the invention includes two cameras to image a precision pattern mask with dot patterns deposited on a transparent reticle to be inspected and provides information needed for calibration.
  • a light source and overhead light reflective diffuser provide illumination that enhances the outline of the ball grid array.
  • a first camera images the reticle precision pattern mask from directly below.
  • An additional mirror or prism located below the bottom plane of the reticle reflects the reticle pattern mask from a side view, through prisms or reflective surfaces, into a second camera.
  • a second additional mirror or prism located below the bottom plane of the reticle reflects the opposite side view of the reticle pattern mask through prisms or mirrors into a second camera.
  • the missing state values of the system can be resolved using a trigonometric solution.
  • the reticle with the pattern mask is removed after calibration and a BGA to be inspected is placed with the balls facing downward, in such a manner as to be imaged by the two cameras .
  • the scene of the part can thus be triangulated and the dimensions of the BGA are determined.
  • the system optics are designed to focus images for all perspectives without the need for an additional focusing element.
  • the optics of the side views may incorporate a nonlinear element to stretch the image in one direction to increase the apparent spacing between adjacent ball images allowing a lower angle of view and inspection of BGA's with closely spaced balls.
  • the invention provides an apparatus for inspecting a ball grid array, wherein the apparatus is calibrated using a precision pattern mask with dot patterns deposited on a calibration transparent reticle.
  • the apparatus for inspecting a ball grid array comprises a means for mounting the ball grid array and a means for illuminating the ball grid array to provide an outline of the ball grid array.
  • a first camera is positioned to image the ball grid array to provide a first image of the ball grid array.
  • a first means for light reflection is positioned to reflect the ball grid array through a second means for light reflection into a second camera, wherein the second camera provides a second image of the ball grid array.
  • a third means for light reflection is positioned to reflect an opposite side view of the ball grid array into a fourth means for light reflection and into the second camera as part of the second image of the ball grid array.
  • a means for image processing such as a computer, microprocessor or digital signal processor, processes the first image and second image of the ball grid array to inspect the ball grid array.
  • the invention also provides a method for three dimensional inspection of a lead on a part mounted on a reticle.
  • the method comprises the steps of: locating a first camera to receive an image of the lead; transmitting an image of the lead to a first frame grabber; providing fixed optical elements to obtain two side perspective views of the lead; locating a second camera to receive an image of the two side perspective views of the lead; transmitting the two side perspective views of the lead to a second frame grabber; operating a processor to send a command to the first frame grabber and second frame grabber to acquire images of pixel values from the first camera and the second camera; and processing the pixel values with the processor to obtain three dimensional data about the lead.
  • Z is computed based on the angle; computing an offset E as the difference between the virtual point defined by the intersection of the bottom view ray and the side perspective view ray and a crown of a ball at a crown point that is defined by the intersection of the bottom view ray with the crown of the ball, and can be calculated from a knowledge of the angle and ideal dimensions of the ball where a final value of Z for the ball is:
  • the invention also provides a method for finding a location and dimensions of a ball in a ball grid array from a bottom image comprising the steps of : defining a region of interest in the bottom image of an expected position of a ball where a width and a height of the region of interest are large enough to allow for positioning tolerances of the ball grid array for inspection; imaging the ball, wherein the ball is illuminated to allow a spherical shape of the ball to present a donut shaped image, wherein the region of interest includes a perimeter of the ball wherein the bottom image comprises camera pixels of higher grayscale values and where a center of the bottom image comprises camera pixels of lower grayscale value and wherein a remainder of the region of interest comprises camera pixels of lower grayscale values; finding an approximate center of the ball by finding an average position of pixels having pixel values that are greater than a predetermined threshold value; converting the region of lower grayscale pixel values to higher grayscale values using coordinates of the approximate center of the ball; and finding the center of
  • the invention also provides a method for finding a reference point on a ball in an image of a side perspective view of a ball grid array comprising the steps of: defining a region of interest in the image from an expected position of a ball wherein a width and a height of the region of interest are large enough to allow for positioning tolerances of the ball grid array; imaging the ball, wherein the ball is illuminated to allow a spherical shape of the ball to present a crescent shaped image having camera pixels of higher grayscale values, and wherein a remainder of the region of interest comprises camera pixels of lower grayscale values; computing an approximate center of the crescent shaped image by finding an average position of pixels that are greater than a predetermined threshold value; using coordinates of the approximate center of the crescent; determining a camera pixel as a seed pixel representing a highest edge on a top of the crescent shaped image; and determining a subpixel location of the reference point based on the camera pixel coordinates of the seed pixel that define coordinates of a region of interest
  • Figure 1A shows the apparatus of the invention for system calibration.
  • Figure IB shows an example calibration pattern and example images of the calibration pattern acquired by the system.
  • Figure 2A shows a flow chart of a method of the invention used for calibration of the bottom view.
  • Figure 2B shows a flow chart of a method of the invention used for determining the state values, and the X and Y world coordinates, of the bottom view of the system.
  • Figure 2C shows a flow chart of a method of the invention used for calibration of the side perspective views.
  • Figure 2D shows a flow chart of a method of the invention used for determining the state values of the side perspective views of the system.
  • Figure 2E shows the relationship of a side perspective angle to the ratio of the perspective dimensions to the non-perspective dimensions .
  • Figure 2F shows a bottom view and a side perspective view of precision dots used in the method for determining a side perspective view angle.
  • Figure 3A shows the apparatus of the invention for part inspection.
  • Figure 3B shows example images of a part acquired by the system.
  • Figure 4 shows a method of the invention for the three dimensional inspection of balls on a ball grid array .
  • Figures 5A and 5B together show a flow chart of the three dimensional inspection method of the invention.
  • Figures 6A and 6B show an example ball of a ball grid array and associated geometry used in a method of the invention for determining the Z position of the ball.
  • Figure 7A shows one example of an image used in the grayscale blob method of the invention.
  • Figure 7B shows one example of an image used with the method of the invention to perform a subpixel measurement of the ball reference point.
  • Figure 8A shows a side perspective image of the calibration pattern magnified in one dimension.
  • Figure 8B shows a side perspective image of the balls on a BGA, magnified in one dimension.
  • Figure 9 shows an apparatus for presenting a BGA for inspection.
  • Figures 10A and 10B show an example ball of a ball grid array with associated geometry as used with a method of the invention for determining the Z position of a ball using two side perspective views.
  • Figure 11A shows the apparatus of the invention for system calibration, utilizing a single side perspective view.
  • Figure 11B shows an example calibration pattern and example images of a calibration pattern acquired by the system, utilizing a single side perspective view, of the invention.
  • Figure 12A shows the apparatus of the invention for ball inspection utilizing a single side perspective view.
  • Figure 12B shows an example ball grid array and example images of the ball grid array for three dimensional inspection, utilizing a single side perspective view.
  • Figure 13 shows the apparatus of the invention for the three dimensional inspection of ball grid array devices, gullwing devices and J lead devices.
  • Figure 14 shows the apparatus of the invention for the three dimensional inspection of parts utilizing three cameras.
  • the method and apparatus disclosed herein is a method and apparatus for calibrating the system by placing a pattern of calibration dots of known spacing and size on the bottom plane of a calibration reticle. From the precision dots the missing state values of the system are determined allowing for three dimensional inspection of balls on ball grid array devices, BGA devices or balls on wafers or balls on die. In one embodiment of the invention the system may also inspect gullwing and J lead devices as well as ball grid arrays .
  • FIG. 1A shows the apparatus of the invention configured with a calibration reticle for use during calibration of the state values of the system.
  • the apparatus obtains what is known as a bottom image 50 of the calibration reticle 20.
  • the apparatus includes a camera 10 with a lens 11 and calibration reticle 20 with a calibration pattern 22 on the bottom surface.
  • the calibration pattern 22 on the reticle 20 comprises precision dots 24.
  • the camera 10 is located below the central part of the calibration reticle 20 to receive an image 50 described in conjunction with Figure IB.
  • the camera 10 comprises an image sensor.
  • the image sensor may be a charged coupled device array.
  • the camera 10 is connected to a frame grabber board 12 to receive the image 50.
  • the frame grabber board 12 provides an image data output to a processor 13 to perform a two dimensional calibration as described in conjunction with Figure 2A.
  • the processor 13 may store an image in memory 14.
  • the apparatus of the invention obtains an image of a pair of side perspective views and includes using a camera 15 with a lens 16 and a calibration reticle 20.
  • the camera 15 is located to receive an image 60, comprising a pair of side perspective views, described in conjunction with Figure IB.
  • Fixed optical elements 30, 32 and 38 provide a first side perspective view and fixed optical elements 34, 36, 38 for a second side perspective view.
  • the fixed optical elements 30, 32, 34, 36 and 38 may be mirrors or prisms. As will be appreciated by those skilled in the art additional optical elements may be incorporated.
  • the camera 15 is connected to a frame grabber board 17 to receive the image 60.
  • the frame grabber board 17 provides an image data output to a processor 13 to perform a two dimensional inspection as described in conjunction with Figure 2B.
  • the processor 13 may store an image in memory 14.
  • the apparatus may contain a nonlinear optical element 39 to magnify the side perspective image 60 in one dimension as shown in Figure 8A.
  • optical element 38 may be a nonlinear element.
  • the nonlinear optical elements 38 and 39 may be a curved mirror or a lens .
  • Figure IB shows an example image 50 from camera 10 and an example image 60 from camera 15 acquired by the system.
  • the image 50 a bottom view of dot pattern 22, shows dots 52 acquired by camera 10.
  • the dot pattern contains precision dots 24 of known dimensions and spacing.
  • the precision dots 24 are located on the bottom surface of the calibration reticle 20.
  • the image 60 shows two side perspective views of the dot pattern 22.
  • a first side perspective view in image 60 contains images 62 of dots 24 and is obtained by the reflection of the image of the calibration reticle dot pattern 22 off of fixed optical elements 30, 32 and 38 into camera 15.
  • a second side perspective view in image 60 contains images 66 of dots 24 and is obtained by the reflection of the image of the calibration reticle dot pattern 22 off of fixed optical elements 34, 36 and 38 into camera 15.
  • Optical element 36 is positioned to adjust the optical path length of a second side perspective view to equal the optical path length of a first side perspective view.
  • the maximum depth of focus of a side perspective view includes an area of the reticle including the center row of dots . This allows for a fixed focus system to inspect larger parts, with one perspective view imaging half of the part and the second perspective view imaging the other half of the part .
  • FIG. 2A shows a flow diagram for the calibration of the bottom view of the system.
  • the method starts in step 101 by providing a transparent reticle 20 having a bottom surface containing a dot pattern 22, comprising precision dots 24 of known dimensions and spacing.
  • the method in step 102 provides a camera 10 located beneath the transparent reticle 20 to receive an image 50.
  • the processor 13 sends a command to a frame grabber 12 to acquire an image 50, comprising pixel values from the camera 10.
  • the method then proceeds to step 104 and processes the pixel values with a processor 13.
  • Figure 2B shows a flow diagram for determining the state values of the bottom view of the system.
  • the method begins by finding the dots 52 in image 50, corresponding to the calibration dots 24.
  • the processor finds a dimension and position for each dot visible in image 50 in subpixel values using well known grayscale methods and stores these values in memory 14. By comparing these results to known values stored in memory, the processor calculates the missing state values for the bottom calibration in steps 112 and 113.
  • the processor 13 calculates the optical distortion of lens 11 and the camera roll angle with respect to the dot pattern 22.
  • Step 113 calculates the pixel width and pixel height by comparing the subpixel data of dots 52 with the known dimensions of the precision dot pattern 22. The pixel aspect ratio is determined from the pixel width and pixel height.
  • FIG. 2C shows a flow diagram for the calibration of the side perspective views of the system.
  • the method starts in step 121 by providing a transparent reticle 20 having a bottom surface containing a dot pattern 22, comprising precision dots 24 of known dimensions and spacing.
  • the method in step 122 provides fixed optical elements 30, 32, 34, 36 and 38 to reflect two perspective images of the precision dot pattern 22 into camera 15.
  • the method in step 123 provides a camera 15 located to receive an image 60.
  • the processor 13 sends a command to a frame grabber 12 to acquire an image 60, comprising pixel values from the camera 15.
  • the method then proceeds to step 125 and processes the pixel values with a processor 13.
  • Figure 2D shows a flow diagram for determining the state values of the side perspective views of the system.
  • the method begins by finding dots 62 in image 60, corresponding to the calibration dots 24.
  • the processor finds a dimension and position for each dot visible, comprising the group of dots 62, in image 60 for a first side perspective view in subpixel values and stores these values in memory 14. By comparing these results to known values stored in memory, the processor calculates the missing state values for a side perspective view, comprising the group of dots 62, in steps 132 and 133.
  • the processor 13 calculates the optical distortion of lens 16 and the camera roll angle with respect to the dot pattern 22.
  • step 133 the processor 13 calculates the pixel width and pixel height by comparing the subpixel data of dots 62 with the known dimensions of the precision dots 24. The pixel aspect ratio is determined from the pixel width and pixel height.
  • step 135 the method of the invention computes the side view angle.
  • step 136 the method is repeated for a second side perspective view using the dots 66 in image 60.
  • Figure 2E shows the relationship of a side perspective angle to the ratio of the perspective dimension to the non-perspective dimension.
  • Ray 171, 172, and 173 defining point 181 is parallel to ray 174, 175 and 176 defining point 182.
  • Point 181 and point 182 lie on a plane 170 parallel to a plane 180.
  • the intersection of ray 175 and ray 176 define point 186.
  • the intersection of ray 176 and ray 172 define point 184.
  • the intersection of ray 173 and ray 172 define point 187.
  • the intersection of ray 174 and ray 172 define point 183.
  • the reflecting plane 179 intersecting plane 180 at an angle D is defined by ray 172 and ray 175 and the law of reflectance.
  • Ray 172 and ray 175 intersect plane 170 at an angle 177. Referring to Figure 2E it can be shown:
  • Figure 2F shows a bottom view and a side perspective view of precision dots used in the method for determining a side perspective view angle 177 as shown in Figure 2E of the system.
  • a bottom view image 200 comprising precision dots 201, 202 and 203 of known spacing and dimensions from the calibration method described earlier can be used to provide a reference for determination of a side perspective view angle 177.
  • the value D H and D B are known from the bottom view calibration.
  • a side perspective view image 210 comprising precision dots 211, 212 and 213, corresponding to bottom view dots 201, 202 and 203 respectively, of known spacing and dimensions D s and D h from the calibration method described earlier, can be used to determine the side view perspective angle.
  • Figure 3A shows the apparatus of the invention for a three dimensional inspection of the balls of a ball grid array.
  • the apparatus of the invention includes a part 70 to be inspected.
  • the apparatus further includes a camera 10 with a lens 11, located below the central area of part 70, to receive a bottom image 80, described in conjunction with Figure 3B, of part 70.
  • the camera 10 is connected to a frame grabber board 12 to receive the image 80.
  • the frame grabber board 12 provides an image data output to a processor 13 to perform a two dimensional inspection as described in conjunction with Figure 3A.
  • the processor 13 may store an image in memory 14.
  • the apparatus of the invention obtains an image of a pair of side perspective views with a camera 15 and a lens 16.
  • the camera 15 is located to receive an image 90, comprising a pair of side perspective views, described in conjunction with Figure 3B and utilizing fixed optical elements 30, 32 and 38 for a first side perspective view and fixed optical elements 34, 36 and 38 for a second side perspective view.
  • the apparatus may contain a nonlinear optical element 39 to magnify the side perspective image 60 in one dimension as shown in Figure 8B .
  • optical element 38 may be the nonlinear element.
  • the fixed optical elements 30, 32, 34, 36 and 38 may be mirrors or prisms. As will be appreciated by those skilled in the art additional optical elements may be incorporated without deviating from the spirit and scope of the invention.
  • the camera 15 is connected to a frame grabber board 17 to receive the image 90.
  • the frame grabber board 17 provides an image data output to a processor 13 to calculate the Z position of the balls, described in conjunction with Figure 3B.
  • the processor 13 may store an image in memory 14.
  • Figure 3B shows an example image 80 from camera 10 and an example image 90 from camera 15 acquired by the system.
  • the image 80 shows the bottom view of the balls located on the bottom surface of a part 70.
  • the image 90 shows two side view perspectives of the balls located on part 70.
  • a first side perspective view in image 90 contains images of balls 91 and is obtained by the reflection of the image of the part 70 off of fixed optical elements 30, 32 and 38 into camera 15.
  • a second side perspective view in image 90 contains images of balls 92 and is obtained by the reflection of the image of the part 70 off of fixed optical elements 34, 36 and 38 into camera 15.
  • Optical element 36 is positioned to adjust the optical path length of a second side perspective view to equal the optical path length of a first side perspective view.
  • the maximum depth of focus of a side perspective view just includes an area of the part including the center row of balls. This allows for a fixed focus system to inspect larger parts, with one perspective view imaging at least half of the part and the second perspective view imaging at least the other half of the part .
  • all of the balls are in focus from both side perspective views resulting in two perspective views for each ball. This permits two Z calculations for each ball as shown in conjunction with Figures 10A and 10B.
  • Figure 4 shows a flow diagram for the three dimensional inspection of balls on a ball grid array. The method starts in step 141 by providing a part 70 having balls 71 facing down.
  • step 142 provides a camera 10 located beneath the part 70 to receive an image 80.
  • a frame grabber 12 is provided to receive the image 80 from camera 10.
  • fixed optical elements are provided for obtaining two side perspective views of the part 70.
  • a first optical path is provided by optical elements 30, 32 and 38.
  • a second optical path is provided by optical elements 34, 36 and 38.
  • a second camera 15 receives an image 90 of two side perspective views in step 145.
  • a second frame grabber board 17 is provided to receive the image 90 from camera 15.
  • a processor 13 sends a command to frame grabbers 12 and 17 to acquire images 80 and 90 comprising pixel values from cameras 10 and 15.
  • the method then proceeds to step 147 and processes the pixel values with a processor 13 to obtain three dimensional data about part 70.
  • the invention contemplates the inspection of parts that have ball shaped leads whether or not packaged as a ball grid array.
  • the invention also contemplates inspection of leads that present a generally curvilinear profile to an image sensor.
  • FIGS 5A and 5B together show a flow chart of the three dimensional inspection method of the invention.
  • the process begins in step 151 by waiting for an inspection signal. When the signal changes state, the system initiates the inspection.
  • the processor 13 sends a command to frame grabber boards 12 and 17 to acquire images 80 and 90 respectively of part 70 having balls 71.
  • camera 10 captures an image 80 comprising pixel values and camera 15 captures an image 90 comprising pixel values and the processor stores the images in memory 14.
  • the images comprise information from both a bottom view and two side perspective views as shown in Figure 3B.
  • step 153 the inspection system sends a signal to a part handler shown in Figure 9 to allow the part handler to move the part out of the inspection area and allows the next part to be moved into the inspection area.
  • the handler may proceed with part placement while the inspection system processes the stored image data.
  • the inspection system processes the pixel values of the stored image 80 in step 154 to find a rotation, and X placement and Y placement of the part relative to the world X and Y coordinates.
  • the processor determines these placement values finding points on four sides of the body of the part.
  • the processor employs a part definition file that contains values for an ideal part.
  • the processor calculates an expected position for each ball of the part for the bottom view contained in image 80.
  • the processor employs a search procedure on the image data to locate the balls 81 in image 80.
  • the processor determines each ball's center location and diameter in pixel values using grayscale blob techniques as described in Figure 7A.
  • the results are stored in memory 14.
  • the processor proceeds in step 156 to calculate an expected position of the center of each ball in both side perspective views in image 90 using the known position of each side view from calibration.
  • the processor employs a subpixel edge detection method described in Figure 7B to locate a reference point on each ball in step 157.
  • the results are stored in memory 14.
  • step 158 the processor converts the stored pixel values from steps 154 and 157 into world locations by using pixel values and parameters determined during calibration.
  • the world locations represent physical locations of the balls with respect to the world coordinates defined during calibration.
  • step 159 the Z height of each ball is calculated in world coordinates in pixel values.
  • the method proceeds by combining the location of the center of a ball from the bottom view 80 with the reference point of the same ball from a side perspective view in image 90 as described in Figures 6A and 6B .
  • the processor then converts the world values to part values using the calculated part rotation, and X placement and Y placement in step 160 to define part coordinates for the ideal part.
  • the part values represent physical dimensions of the balls such as ball diameter, ball center location in X part and Y part coordinates and ball height in Z world coordinates .
  • step 161 these part values are compared to the ideal values defined in the part file to calculate the deviation of each ball center from its ideal location.
  • the deviation values may include ball diameter in several orientations with respect to the X and Y part coordinates, ball center in the X direction, Y direction and radial direction, ball pitch in the X direction and Y direction and missing and deformed balls.
  • the Z world data can be used to define a seating plane, using well known mathematical formulas, from which the Z dimension of the balls with respect to the seating plane can be calculated. Those skilled in the art will recognize that there are several possible definitions for seating planes from the data that may be used without deviating from the spirit and scope of the invention.
  • step 162 the results of step 161 are compared to predetermined thresholds with respect to the ideal part as defined in the part file to provide an electronic ball inspection result.
  • the predetermined tolerance values include pass tolerance values and fail tolerance values from industry standards. If the measurement values are less than or equal to the pass tolerance values, the processor assigns a pass result for the part. If the measurement values exceed the fail tolerance values, the processor assigns a fail result for the part. If the measurement values are greater than the pass tolerance values, but less than or not equal to the fail tolerance values, the processor designates the part to be reworked. The processor reports the inspection result for the part in step 163, completing part inspection. The process then returns to step 151 to await the next inspection signal.
  • Figures 6A and 6B show an example ball of a ball grid array and associated geometry used in a method of the invention for determining the Z position of the ball.
  • the method determines the Z position of a ball with respect to the world coordinates defined during calibration.
  • the processor uses parameters determined from the calibration procedure as shown in Figures 2B and 2D to define a world coordinate system for the bottom view and the two side perspective views, comprising world coordinate plane 250 with world coordinate origin 251 and world coordinate axis X 252, Y 253 and Z 254 shown in Figure 6A, and a pair of images 80 and 90 as shown in Figure 3B, the processor computes a three dimensional location.
  • the processor locates a point 258 on the world plane 250 determined by a bottom view ray 255 passing through the center 257 of a ball 71 on a part 70.
  • the processor locates a side perspective view point 260 on the world plane 250 determined by a side perspective view ray 256 intersecting a ball reference point 259 on ball 71 and intersecting the bottom view ray 255 at a virtual point 261.
  • Ray 256 intersects the world plane 250 at an angle 262 determined by the reflection of ray 256 off of the back surface 263 of prism 30. The value of angle 262 was determined during the calibration procedure .
  • Figure 6B The value of angle 262 was determined during the calibration procedure .
  • the value Z is defined as the distance between world point 261 and 258 and is related to x as follows:
  • Z can be computed by processor 13 since the angle 262 is known from calibration.
  • the offset E 265 is the difference between the virtual point 261 defined by the intersection of ray 255 and ray 256 and the crown of ball 71 at point 264, defined by the intersection of ray 255 with the crown of ball 71, and can be calculated from the knowledge of the angle 262 and the ideal dimensions of the ball 71.
  • the final value of Z for ball 71 is:
  • Figure 7A shows one example of an image used in the grayscale blob method of the invention.
  • the image processing method finds the location and dimensions of a ball 71 from a bottom image 80. From the expected position of a ball 71, a region of interest in image 80 is defined as (XI, Yl) by (X2,Y2) . The width and height of the region of interest are large enough to allow for positioning tolerances of part 70 for inspection. Due to the design of the lighting for the bottom view, the spherical shape of balls 71 of part 70 present a donut shaped image where the region 281, including the perimeter of the ball 71, comprises camera pixels of higher grayscale values and where the central region 282 comprises camera pixels of lower grayscale values. The remainder 283 of the region of interest 280 comprises camera pixels of lower grayscale values.
  • the processor 13 implements image processing functions written in the C programming language .
  • the C language function " FindBlobCenter” is called to find the approximate center of the ball 71 by finding the average position of pixels that are greater than a known threshold value. Using the coordinates of the approximate center of the ball 71, the region 282 of lower grayscale pixel values can be converted to higher grayscale values by calling the C language function "FillBallCenter” , as described below. The exact center of the ball 71 can be found by calling the C language function "FindBallCenter” which also returns an X world and Y world coordinate .
  • Figure 7B shows one example of an image used with the method of the invention to perform a subpixel measurement of the ball reference point .
  • the method of the invention finds a reference point on a ball 71 in an image 90 of a side perspective view as shown in Figure 3B. From the expected position of a ball 71, a region of interest 290 in image 80 is defined as (X3, Y3 ) by (X4,Y4). The width and height of the region of interest are large enough to allow for positioning tolerances of part 70 for inspection.
  • the spherical shape of balls 71 of part 70 present a crescent shaped image 291 comprising camera pixels of higher grayscale values and where the remainder 293 of the region of interest 290 comprises camera pixels of lower grayscale values .
  • the C language function "FindBlobCenter” is called to compute the approximate center of the crescent image 291 by finding the average position of pixels that are greater than a known threshold value. Using the coordinates of the approximate center of the crescent image 291, the C language function "FindCrescentTop” is called to determine the camera pixel, or seed pixel 292 representing the highest edge on the top of the crescent. The camera pixel coordinates of the seed pixel are used as the coordinates of a region of interest for determining the subpixel location of the side perspective ball reference point .
  • Grayscale blob analysis and reference point determination implemented in the C language is presented as follows:
  • Figure 8A shows a side perspective image of the calibration pattern magnified in one dimension.
  • Figure 8A shows a side perspective image 300 of a reticle calibration pattern where the space 303 between dot 301 and dot 302 is magnified, increasing the number of lower value grayscale pixels when compared to a non magnified image.
  • Figure 8B shows a side perspective image of the balls on a BGA, magnified in one dimension.
  • a side perspective image 310 of two views are shown where the space 313 between ball image 311 and ball image 312 is magnified, increasing the number of lower value grayscale pixels when compared to a non magnified image. The increased number of lower grayscale value pixels allows for the successful application of the subpixel algorithm.
  • the method and apparatus disclosed herein is a method and apparatus for calibrating the system by placing a pattern of calibration dots of known spacing and dimensions on the bottom plane of a calibration reticle and for providing for two side perspective views of each ball for the three dimensional inspection of parts.
  • FIG. 9 shows an example apparatus for presenting a BGA to the system for inspection.
  • An overhead light reflective diffuser 5 includes a vacuum cup assembly 6.
  • the vacuum cup assembly may attach to a BGA part 70 having balls 71 and suspend the BGA part 70 below the overhead light reflective diffuser 5.
  • Figures 10A and 10B show an example ball on a ball grid array and associated geometry for use with the method of the invention for determining the Z position of a ball with respect to the world coordinates defined during calibration, using two perspective views for each ball.
  • Figure 3B the processor computes a three dimensional location.
  • the processor locates a point 709 on the world plane 700 determined by a bottom view ray 705 passing through the center 708 of a ball 717.
  • the processor locates a first side perspective view point 711 on the world plane 700 determined by a side view ray 706 intersecting a ball reference point 710 on ball 717 and intersecting the bottom view ray 705 at a virtual point 714.
  • Ray 706 intersects the world plane 700 at an angle 715 determined by the reflection of ray 706 off of the back surface of prism 30. The value of angle 715 was determined during the calibration procedure.
  • the processor locates a second side perspective view point 713 on the world plane 700 determined by a side view ray 707 intersecting a ball reference point 712 on ball 717 and intersecting the bottom view ray 705 at a virtual point 718.
  • Ray 707 intersects the world plane 700 at an angle 716 determined by the reflection of ray 707 off of the back surface of prism 34. The value of angle 716 was determined during the calibration procedure.
  • the distance L x is calculated by the processor as the distance between world point 709 and world point 711.
  • the distance L 2 is calculated by the processor as the distance between world point 713 and world point 709.
  • the value Z x is defined as the distance between world point 714 and 709 and is related to L x as follows:
  • the value Z 2 is defined as the distance between world point 718 and 709 and is related to L 2 as follows:
  • the average of Z x and Z 2 are calculated and used as the value for Z of the ball. This method is more repeatable and accurate than methods that use only one perspective view per ball.
  • the method and apparatus disclosed herein is a method and apparatus for calibrating the system by placing a pattern of calibration dots of known spacing and dimensions on the bottom plane of a calibration reticle and for providing a single side perspective view for the three dimensional inspection of parts. From the precision dots the missing state values of the system are determined allowing for three dimensional inspection of balls on BGA devices or balls on wafers or balls on die.
  • Figure 11A shows the apparatus of the invention for system calibration, utilizing a single side perspective view.
  • the method and apparatus for calibration of the bottom view is identical to the method and apparatus described earlier in Figure 2A and 2B for the two side perspective views method.
  • the apparatus for an image of a side perspective view includes a camera 15 with a lens 18 and a calibration reticle 20.
  • the camera 15 is located to receive an image 64 of a side perspective view comprising dots 65, described in conjunction with Figure 11B, and utilizing fixed optical elements 40 and 42.
  • the fixed optical element 40 may be a mirror or prism.
  • the fixed optical element 42 is a nonlinear element that magnifies the image in one direction. In another embodiment fixed optical element 40 may be this nonlinear element.
  • the camera 15 is connected to a frame grabber board 17 to receive the image 64.
  • the frame grabber board 17 provides an image data output to a processor 13 to perform a two dimensional inspection as described in conjunction with Figure 2B.
  • the processor 13 may store an image in memory 14.
  • Figure 11B shows an example calibration pattern and example images of a calibration pattern acquired by the system, utilizing a single side perspective view, of the invention.
  • Figure 11B shows an example image 50 from camera 10 and an example image 64 from camera 15 acquired by the system.
  • the image 50 showing dots 52 acquired by camera 10 includes a bottom view of the dot pattern 22, containing precision dots 24 of known dimensions and spacing, located on the bottom surface of the calibration reticle 20.
  • the image 64 shows a side perspective view of the dot pattern 22, containing precision dots 24 of known dimensions and spacing, located on the bottom surface of the calibration reticle 20.
  • a side perspective view in image 64 contains images of dots 65 and is obtained by the reflection of the image of the calibration reticle dot pattern 22 off of fixed optical element 40, passing through nonlinear element 42 and into camera 15.
  • the side perspective calibration is identical to the method shown in Figure 2C except the fixed optical elements may have different properties.
  • the determination of the state values for the side perspective view is identical to the method shown in Figure 2D except the fixed optical elements may be different and there is only one side perspective view.
  • the principles and relationships shown in Figure 2E and Figure 2F apply.
  • the invention does not include the nonlinear element 42.
  • Figure 12A shows the apparatus of the invention for ball inspection utilizing a single side perspective view.
  • the apparatus of the invention includes a part 70 to be inspected.
  • the apparatus further includes a camera 10 with a lens 11, located below the central area of part 70, to receive a bottom image 80, described in conjunction with Figure 12B, of part 70.
  • the camera 10 is connected to a frame grabber board 12 to receive the image 80.
  • the frame grabber board 12 provides an image data output to a processor 13 to perform a two dimensional inspection as described in conjunction with Figure 12B.
  • the processor 13 may store an image in memory 14.
  • the apparatus for an image of a single side perspective view includes a camera 15 with a lens 18.
  • the camera 15 is located to receive an image 94, comprising a single side perspective view, described in conjunction with Figure 12B and utilizing fixed optical element 40 and nonlinear, fixed optical element 42, to magnify the side perspective view in one dimension.
  • optical element 40 may be the nonlinear element.
  • the fixed optical element 40 may be a mirror or prism.
  • additional optical elements may be incorporated.
  • the camera 15 is connected to a frame grabber board 17 to receive the image 94.
  • the frame grabber board 17 provides an image data output to a processor 13 to calculate the Z position of the balls, described in conjunction with Figure 12B.
  • the processor 13 may store an image in memory 14.
  • Figure 12B shows an example ball grid array and example images of the ball grid array for three dimensional inspection, utilizing a single side perspective view.
  • Figure 12B shows an example image 80 from camera 10 and an example image 94 from camera 15 acquired by the system.
  • the image 80 shows the bottom view of the balls 71 located on the bottom surface of a part 70.
  • the image 94 shows a side perspective view of the balls 71 located on part 70.
  • the side perspective view in image 94 contains images of balls 95 and is obtained by the reflection of the image of the part 70 off of fixed optical element 40 and passing through the nonlinear fixed element 42 into camera 15.
  • the system can be used to inspect other types of electronic parts in three dimensions, such as gullwing and J lead devices.
  • other devices such as gullwing and J lead devices.
  • the advantage of being able to inspect different devices with the same system includes savings in cost, and floor space in the factory. Additionally this design allows more flexibility in production planning and resource management .
  • Figure 13 shows the apparatus of the invention for the three dimensional inspection of ball grid array devices, gullwing devices and J lead devices. The apparatus described in Figure 13 allows the inspection of BGA, gullwing and J lead devices all on the same system.
  • the apparatus includes a part 402 to be inspected located over the central area of a transparent reticle 400 with prisms 401 glued to the top surface to receive side perspective views of part 402.
  • a gullwing and J lead inspection device 21 may be integrated into the ball grid array inspection device.
  • One example embodiment of such a gullwing and J lead inspection device is the "UltraVim" scanner from Scanner Technologies of Minnetonka, Minnesota.
  • the apparatus further includes a camera 10A with a lens 11A, located below the central area of part 402 and reticle 400 to receive a bottom view and side perspective views of part 402.
  • the camera 10A is connected to a frame grabber board 12A to receive an image .
  • the frame grabber board 12A provides an image data output to a processor 13A to perform a three dimensional inspection of part 402.
  • the processor 13A may store an image in memory 14A.
  • These components comprise the hardware of the gullwing and J lead inspection device 21 and are shared by the ball grid array inspection device as described herein.
  • the system may use three cameras to image directly the bottom view and two side perspective views as shown in Figure 14.
  • Figure 14 may use three cameras to image directly the bottom view and two side perspective views as shown in Figure 14.
  • the apparatus 14 shows the apparatus of the invention for a three dimensional inspection of the balls of a BGA.
  • the apparatus of the invention includes a part 70, with balls 71 to be inspected.
  • the apparatus further includes a camera 10 with a lens 11, located below the central area of part 70, to receive a bottom image 80, described in conjunction with Figure 12B, of part 70.
  • the camera 10 is connected to a frame grabber board 12 to receive the image 80.
  • the frame grabber board 12 provides an image data output to a processor 13 to perform a two dimensional inspection as described in conjunction with Figure 12B.
  • the processor 13 may store an image in memory 14.
  • the apparatus for an image of a first side perspective view includes a camera 15 with a lens 19.
  • the camera 15 with a lens 19.
  • the camera 15 is located to receive an image 94, comprising a single side perspective view, described in conjunction with Figure 12B and utilizing fixed optical element 38, to magnify the side perspective view in one dimension.
  • the camera 15 is connected to a frame grabber board 17 to receive the image 94.
  • the frame grabber board 17 provides an image data output to a processor 13 to calculate the Z position of the balls, described in conjunction with Figure 12B.
  • the processor 13 may store an image in memory 14.
  • the apparatus for an image of a second side perspective view includes a camera 15 with a lens 19.
  • the camera 15 is located to receive an image similar to 94, comprising a single side perspective view, described in conjunction with Figure 12B and utilizing fixed optical element 38, to magnify the side perspective view in one dimension.
  • the camera 15 is connected to a frame grabber board 17 to receive the image similar to 94.
  • the frame grabber board 17 provides an image data output to a processor 13 to calculate the Z position of the balls, described in conjunction with Figure 12B.
  • the processor 13 may store an image in memory 14.
  • the nonlinear fixed optical element 38 may be missing.
  • only one side perspective view may be utilized.

Abstract

A calibration and part inspection method and apparatus for the inspection of ball grid array, BGA, devices (70). Two cameras (10, 15) image a precision pattern mask (22) with dot patterns deposited on transparent reticle (20). The precision pattern mask (22) is used for calibration of the system. A light source and overhead light reflective diffuser (5) provide illumination. A first camera (10) images the reticle precision pattern mask (22) from directly below. An additional mirror (32, 36) or prism (30, 34) located below the bottom plane of the reticle (20) reflects the reticle pattern mask (22) from a side view, through prisms (30, 34) or reflective surfaces (32, 36, 38), into a second camera (15) and a second additional mirror (32, 36, 38) or prism (30, 34) located below the bottom plane of the reticle (20) reflects the opposite side view of the reticle pattern mask (22) through prisms (30, 34) or mirrors (32, 36, 38) into a second camera (15).

Description

METHOD AND APPARATUS FOR THREE DIMENSIONAL INSPECTION OF ELECTRONIC COMPONENTS NOTICE RE COPYRIGHT
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
FIELD OF THE INVENTION This invention relates to a method and apparatus for three dimensional inspection and, more particularly, a method and apparatus for three dimensional inspection of solder balls on ball grid arrays and solder bumps on wafer and die, and to a calibration method.
BACKGROUND OF THE INVENTION Prior art three dimensional inspection systems have involved laser range finding technology, moire interferometry, structured light patterns or two cameras. The laser range finding method directs a focused laser beam onto the Ball Grid Array, BGA, and detects the reflected beam with a sensor. Elements of the BGA are determined in the X, Y and Z dimensions utilizing a triangulation method. This method requires a large number of measurement samples to determine the dimensions of the BGA resulting in longer inspection times. This method also suffers from specular reflections from the smooth surfaces of the solder balls resulting in erroneous data.
Moire interferometry utilizes the interference of light waves generated by a diffraction grating to produce a pattern of dark contours on the surface of the BGA. These contours are of known distance in the Z dimension from the diffraction grating. By counting the number of contours from one point on the BGA to another point on the BGA, the distance in the Z dimension between the two points can be determined. This method suffers from the problem of low contrast contour lines resulting in missed counting of the number of contours and resulting in erroneous data. This method also suffers from the contour lines merging at surfaces with steep slopes, such as the sides of the balls on the BGA, resulting in an incorrect count of the number of contours and resulting in erroneous data.
Structured light systems project precise bands of light onto the part to be inspected. The deviation of the light band from a straight line is proportional to the distance from a reference surface. The light bands are moved across the part, or alternately the part is moved with respect to the light bands, and successive images are acquired. The maximum deviation of the light band indicates the maximum height of a ball. This method suffers from specular reflections due to the highly focused nature of the light bands resulting in erroneous data. This method further suffers from increased inspection times due to the number of images required.
Two camera systems utilize one camera to view the BGA device in the normal direction to determine X and Y dimensions and the second camera to view the far edges of the balls from an angle. The two images are combined to determine the apparent height of each ball in the Z dimension utilizing a triangulation method. This method suffers from the need for a higher angle of view of the ball from the second camera resulting in looking at a point significantly below the top of the ball for BGA' s having fine pitch. This method also suffers from limited depth of focus for the second camera limiting the size of BGA's that can be inspected. This system can only inspect BGA's and not other device types such as gullwing and J lead devices.
The prior art does not provide two separate and opposite side views permitting larger BGA' s to be inspected or nonlinear optics to enhance the separation between adjacent ball images in the side perspective view.
It is therefore a motivation of the invention to improve the accuracy of the measurements, the speed of the measurements, the ability to measure all sizes and pitches of BGA' s and to measure other devices including gullwing and J lead parts in a single system.
SUMMARY OF THE INVENTION The invention provides a calibration and part inspection method and apparatus for the inspection of BGA devices. The invention includes two cameras to image a precision pattern mask with dot patterns deposited on a transparent reticle to be inspected and provides information needed for calibration. A light source and overhead light reflective diffuser provide illumination that enhances the outline of the ball grid array. A first camera images the reticle precision pattern mask from directly below. An additional mirror or prism located below the bottom plane of the reticle reflects the reticle pattern mask from a side view, through prisms or reflective surfaces, into a second camera. A second additional mirror or prism located below the bottom plane of the reticle reflects the opposite side view of the reticle pattern mask through prisms or mirrors into a second camera. By imaging more than one dot pattern, the missing state values of the system can be resolved using a trigonometric solution. The reticle with the pattern mask is removed after calibration and a BGA to be inspected is placed with the balls facing downward, in such a manner as to be imaged by the two cameras . The scene of the part can thus be triangulated and the dimensions of the BGA are determined.
The system optics are designed to focus images for all perspectives without the need for an additional focusing element. The optics of the side views may incorporate a nonlinear element to stretch the image in one direction to increase the apparent spacing between adjacent ball images allowing a lower angle of view and inspection of BGA's with closely spaced balls.
The invention provides an apparatus for inspecting a ball grid array, wherein the apparatus is calibrated using a precision pattern mask with dot patterns deposited on a calibration transparent reticle. The apparatus for inspecting a ball grid array comprises a means for mounting the ball grid array and a means for illuminating the ball grid array to provide an outline of the ball grid array. A first camera is positioned to image the ball grid array to provide a first image of the ball grid array. A first means for light reflection is positioned to reflect the ball grid array through a second means for light reflection into a second camera, wherein the second camera provides a second image of the ball grid array. A third means for light reflection is positioned to reflect an opposite side view of the ball grid array into a fourth means for light reflection and into the second camera as part of the second image of the ball grid array. A means for image processing, such as a computer, microprocessor or digital signal processor, processes the first image and second image of the ball grid array to inspect the ball grid array. The invention also provides a method for three dimensional inspection of a lead on a part mounted on a reticle. The method comprises the steps of: locating a first camera to receive an image of the lead; transmitting an image of the lead to a first frame grabber; providing fixed optical elements to obtain two side perspective views of the lead; locating a second camera to receive an image of the two side perspective views of the lead; transmitting the two side perspective views of the lead to a second frame grabber; operating a processor to send a command to the first frame grabber and second frame grabber to acquire images of pixel values from the first camera and the second camera; and processing the pixel values with the processor to obtain three dimensional data about the lead.
The invention also provides a method to inspect a ball grid array device comprising the steps of: locating a point on a world plane determined by a bottom view ray passing through a center of a ball on the ball grid array device; locating a side perspective view point on the world plane determined by a side perspective view ray intersecting a ball reference point on the ball and intersecting the bottom view ray at a virtual point where the side perspective view ray intersects the world plane at an angle determined by a reflection of the side perspective view ray off of a back surface of a prism where a value of the angle was determined during a calibration procedure; calculating a distance Lx as a difference between a first world point, defined by an intersection of the bottom view ray with a Z=0 world plane, and a second world point, defined by the intersection of the side perspective view ray and the Z=0 world plane, where a value Z is defined as a distance between a third world point and is related to x as follows:
tanθ, = — L*
Z = E-tanθ.
wherein Z is computed based on the angle; computing an offset E as the difference between the virtual point defined by the intersection of the bottom view ray and the side perspective view ray and a crown of a ball at a crown point that is defined by the intersection of the bottom view ray with the crown of the ball, and can be calculated from a knowledge of the angle and ideal dimensions of the ball where a final value of Z for the ball is:
Spinal - Z - E . The invention also provides a method for finding a location and dimensions of a ball in a ball grid array from a bottom image comprising the steps of : defining a region of interest in the bottom image of an expected position of a ball where a width and a height of the region of interest are large enough to allow for positioning tolerances of the ball grid array for inspection; imaging the ball, wherein the ball is illuminated to allow a spherical shape of the ball to present a donut shaped image, wherein the region of interest includes a perimeter of the ball wherein the bottom image comprises camera pixels of higher grayscale values and where a center of the bottom image comprises camera pixels of lower grayscale value and wherein a remainder of the region of interest comprises camera pixels of lower grayscale values; finding an approximate center of the ball by finding an average position of pixels having pixel values that are greater than a predetermined threshold value; converting the region of lower grayscale pixel values to higher grayscale values using coordinates of the approximate center of the ball; and finding the center of the ball. The invention also provides a method for finding a reference point on a ball in an image of a side perspective view of a ball grid array comprising the steps of: defining a region of interest in the image from an expected position of a ball wherein a width and a height of the region of interest are large enough to allow for positioning tolerances of the ball grid array; imaging the ball, wherein the ball is illuminated to allow a spherical shape of the ball to present a crescent shaped image having camera pixels of higher grayscale values, and wherein a remainder of the region of interest comprises camera pixels of lower grayscale values; computing an approximate center of the crescent shaped image by finding an average position of pixels that are greater than a predetermined threshold value; using coordinates of the approximate center of the crescent; determining a camera pixel as a seed pixel representing a highest edge on a top of the crescent shaped image; and determining a subpixel location of the reference point based on the camera pixel coordinates of the seed pixel that define coordinates of a region of interest for the seed pixel. BRIEF DESCRIPTION OF THE DRAWINGS To illustrate this invention, a preferred embodiment will be described herein with reference to the accompanying drawings .
Figure 1A shows the apparatus of the invention for system calibration.
Figure IB shows an example calibration pattern and example images of the calibration pattern acquired by the system.
Figure 2A shows a flow chart of a method of the invention used for calibration of the bottom view.
Figure 2B shows a flow chart of a method of the invention used for determining the state values, and the X and Y world coordinates, of the bottom view of the system.
Figure 2C shows a flow chart of a method of the invention used for calibration of the side perspective views.
Figure 2D shows a flow chart of a method of the invention used for determining the state values of the side perspective views of the system.
Figure 2E shows the relationship of a side perspective angle to the ratio of the perspective dimensions to the non-perspective dimensions .
Figure 2F shows a bottom view and a side perspective view of precision dots used in the method for determining a side perspective view angle. Figure 3A shows the apparatus of the invention for part inspection.
Figure 3B shows example images of a part acquired by the system.
Figure 4 shows a method of the invention for the three dimensional inspection of balls on a ball grid array .
Figures 5A and 5B together show a flow chart of the three dimensional inspection method of the invention. Figures 6A and 6B show an example ball of a ball grid array and associated geometry used in a method of the invention for determining the Z position of the ball.
Figure 7A shows one example of an image used in the grayscale blob method of the invention.
Figure 7B shows one example of an image used with the method of the invention to perform a subpixel measurement of the ball reference point.
Figure 8A shows a side perspective image of the calibration pattern magnified in one dimension.
Figure 8B shows a side perspective image of the balls on a BGA, magnified in one dimension.
Figure 9 shows an apparatus for presenting a BGA for inspection. Figures 10A and 10B show an example ball of a ball grid array with associated geometry as used with a method of the invention for determining the Z position of a ball using two side perspective views. Figure 11A shows the apparatus of the invention for system calibration, utilizing a single side perspective view.
Figure 11B shows an example calibration pattern and example images of a calibration pattern acquired by the system, utilizing a single side perspective view, of the invention.
Figure 12A shows the apparatus of the invention for ball inspection utilizing a single side perspective view.
Figure 12B shows an example ball grid array and example images of the ball grid array for three dimensional inspection, utilizing a single side perspective view.
Figure 13 shows the apparatus of the invention for the three dimensional inspection of ball grid array devices, gullwing devices and J lead devices. Figure 14 shows the apparatus of the invention for the three dimensional inspection of parts utilizing three cameras.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT In one embodiment of the invention, the method and apparatus disclosed herein is a method and apparatus for calibrating the system by placing a pattern of calibration dots of known spacing and size on the bottom plane of a calibration reticle. From the precision dots the missing state values of the system are determined allowing for three dimensional inspection of balls on ball grid array devices, BGA devices or balls on wafers or balls on die. In one embodiment of the invention the system may also inspect gullwing and J lead devices as well as ball grid arrays .
Refer now to Figure 1A which shows the apparatus of the invention configured with a calibration reticle for use during calibration of the state values of the system. The apparatus obtains what is known as a bottom image 50 of the calibration reticle 20. To take the bottom image 50 the apparatus includes a camera 10 with a lens 11 and calibration reticle 20 with a calibration pattern 22 on the bottom surface. The calibration pattern 22 on the reticle 20 comprises precision dots 24. The camera 10 is located below the central part of the calibration reticle 20 to receive an image 50 described in conjunction with Figure IB. In one embodiment the camera 10 comprises an image sensor. The image sensor may be a charged coupled device array. The camera 10 is connected to a frame grabber board 12 to receive the image 50. The frame grabber board 12 provides an image data output to a processor 13 to perform a two dimensional calibration as described in conjunction with Figure 2A. The processor 13 may store an image in memory 14. The apparatus of the invention obtains an image of a pair of side perspective views and includes using a camera 15 with a lens 16 and a calibration reticle 20. The camera 15 is located to receive an image 60, comprising a pair of side perspective views, described in conjunction with Figure IB. Fixed optical elements 30, 32 and 38 provide a first side perspective view and fixed optical elements 34, 36, 38 for a second side perspective view. The fixed optical elements 30, 32, 34, 36 and 38 may be mirrors or prisms. As will be appreciated by those skilled in the art additional optical elements may be incorporated. The camera 15 is connected to a frame grabber board 17 to receive the image 60. The frame grabber board 17 provides an image data output to a processor 13 to perform a two dimensional inspection as described in conjunction with Figure 2B. The processor 13 may store an image in memory 14. In one embodiment of the invention, the apparatus may contain a nonlinear optical element 39 to magnify the side perspective image 60 in one dimension as shown in Figure 8A. In another embodiment of the invention optical element 38 may be a nonlinear element. The nonlinear optical elements 38 and 39 may be a curved mirror or a lens .
Figure IB shows an example image 50 from camera 10 and an example image 60 from camera 15 acquired by the system. The image 50, a bottom view of dot pattern 22, shows dots 52 acquired by camera 10. The dot pattern contains precision dots 24 of known dimensions and spacing. The precision dots 24 are located on the bottom surface of the calibration reticle 20. The image 60 shows two side perspective views of the dot pattern 22. A first side perspective view in image 60 contains images 62 of dots 24 and is obtained by the reflection of the image of the calibration reticle dot pattern 22 off of fixed optical elements 30, 32 and 38 into camera 15. A second side perspective view in image 60 contains images 66 of dots 24 and is obtained by the reflection of the image of the calibration reticle dot pattern 22 off of fixed optical elements 34, 36 and 38 into camera 15.
Optical element 36 is positioned to adjust the optical path length of a second side perspective view to equal the optical path length of a first side perspective view. Those skilled in the art will realize that any number of perspective views can be utilized by the invention. In one embodiment of the invention, ' the maximum depth of focus of a side perspective view includes an area of the reticle including the center row of dots . This allows for a fixed focus system to inspect larger parts, with one perspective view imaging half of the part and the second perspective view imaging the other half of the part .
Figure 2A shows a flow diagram for the calibration of the bottom view of the system. The method starts in step 101 by providing a transparent reticle 20 having a bottom surface containing a dot pattern 22, comprising precision dots 24 of known dimensions and spacing. The method in step 102 provides a camera 10 located beneath the transparent reticle 20 to receive an image 50. In step 103 the processor 13 sends a command to a frame grabber 12 to acquire an image 50, comprising pixel values from the camera 10. The method then proceeds to step 104 and processes the pixel values with a processor 13. Figure 2B shows a flow diagram for determining the state values of the bottom view of the system. In step 111 the method begins by finding the dots 52 in image 50, corresponding to the calibration dots 24. The processor finds a dimension and position for each dot visible in image 50 in subpixel values using well known grayscale methods and stores these values in memory 14. By comparing these results to known values stored in memory, the processor calculates the missing state values for the bottom calibration in steps 112 and 113. In step 112 the processor 13 calculates the optical distortion of lens 11 and the camera roll angle with respect to the dot pattern 22. Step 113 calculates the pixel width and pixel height by comparing the subpixel data of dots 52 with the known dimensions of the precision dot pattern 22. The pixel aspect ratio is determined from the pixel width and pixel height. In step 114 the processor defines the X and Y world coordinates and the Z=0 plane from the image 50 of the precision dot pattern 22. The processor then stores these results in memory. These results provide conversion factors for use during analysis to convert pixel values to world values . Figure 2C shows a flow diagram for the calibration of the side perspective views of the system. The method starts in step 121 by providing a transparent reticle 20 having a bottom surface containing a dot pattern 22, comprising precision dots 24 of known dimensions and spacing. The method in step 122 provides fixed optical elements 30, 32, 34, 36 and 38 to reflect two perspective images of the precision dot pattern 22 into camera 15. The method in step 123 provides a camera 15 located to receive an image 60. In step 124 the processor 13 sends a command to a frame grabber 12 to acquire an image 60, comprising pixel values from the camera 15. The method then proceeds to step 125 and processes the pixel values with a processor 13. Figure 2D shows a flow diagram for determining the state values of the side perspective views of the system. In step 131 the method begins by finding dots 62 in image 60, corresponding to the calibration dots 24. The processor finds a dimension and position for each dot visible, comprising the group of dots 62, in image 60 for a first side perspective view in subpixel values and stores these values in memory 14. By comparing these results to known values stored in memory, the processor calculates the missing state values for a side perspective view, comprising the group of dots 62, in steps 132 and 133. In step 132 the processor 13 calculates the optical distortion of lens 16 and the camera roll angle with respect to the dot pattern 22. In step 133 the processor 13 calculates the pixel width and pixel height by comparing the subpixel data of dots 62 with the known dimensions of the precision dots 24. The pixel aspect ratio is determined from the pixel width and pixel height. In step 134 the processor defines the X and Y world coordinates and the Z=0 plane from the dots 62 in image 60 of the dot pattern 22. The processor then stores these results in memory. These results provide conversion factors for use during analysis to convert pixel values to world values. In step 135 the method of the invention computes the side view angle. In step 136 the method is repeated for a second side perspective view using the dots 66 in image 60.
Figure 2E shows the relationship of a side perspective angle to the ratio of the perspective dimension to the non-perspective dimension. Ray 171, 172, and 173 defining point 181 is parallel to ray 174, 175 and 176 defining point 182. Point 181 and point 182 lie on a plane 170 parallel to a plane 180. The intersection of ray 175 and ray 176 define point 186. The intersection of ray 176 and ray 172 define point 184. The intersection of ray 173 and ray 172 define point 187. The intersection of ray 174 and ray 172 define point 183. The reflecting plane 179 intersecting plane 180 at an angle D is defined by ray 172 and ray 175 and the law of reflectance. Ray 172 and ray 175 intersect plane 170 at an angle 177. Referring to Figure 2E it can be shown:
tanθ = — r r
Therefore: C = L
Figure imgf000017_0001
D< D, cosθ =
D, cosθ
Substituting:
D cosθ D tanθ =
DB DBcosθ
Dc
(tanθ) (cosθ) - - - sinθ
>„
Figure imgf000018_0001
Figure 2F shows a bottom view and a side perspective view of precision dots used in the method for determining a side perspective view angle 177 as shown in Figure 2E of the system. A bottom view image 200 comprising precision dots 201, 202 and 203 of known spacing and dimensions from the calibration method described earlier can be used to provide a reference for determination of a side perspective view angle 177. The value DH and DB are known from the bottom view calibration. A side perspective view image 210 comprising precision dots 211, 212 and 213, corresponding to bottom view dots 201, 202 and 203 respectively, of known spacing and dimensions Ds and Dh from the calibration method described earlier, can be used to determine the side view perspective angle. The ratio of (Dh / DH) from the bottom image 200 and the side perspective image 210 can be used in the bottom view to calibrate DB in the same units as the side perspective view as follows: DBcal= DB(Dh/DH)
Substituting into the equation for the side perspective view angle 177 described earlier yields:
Figure imgf000019_0001
.
θ = arcsin
Figure 3A shows the apparatus of the invention for a three dimensional inspection of the balls of a ball grid array. The apparatus of the invention includes a part 70 to be inspected. The apparatus further includes a camera 10 with a lens 11, located below the central area of part 70, to receive a bottom image 80, described in conjunction with Figure 3B, of part 70. The camera 10 is connected to a frame grabber board 12 to receive the image 80. The frame grabber board 12 provides an image data output to a processor 13 to perform a two dimensional inspection as described in conjunction with Figure 3A. The processor 13 may store an image in memory 14. The apparatus of the invention obtains an image of a pair of side perspective views with a camera 15 and a lens 16. The camera 15 is located to receive an image 90, comprising a pair of side perspective views, described in conjunction with Figure 3B and utilizing fixed optical elements 30, 32 and 38 for a first side perspective view and fixed optical elements 34, 36 and 38 for a second side perspective view. In one embodiment of the invention, the apparatus may contain a nonlinear optical element 39 to magnify the side perspective image 60 in one dimension as shown in Figure 8B . In another embodiment of the invention optical element 38 may be the nonlinear element. The fixed optical elements 30, 32, 34, 36 and 38 may be mirrors or prisms. As will be appreciated by those skilled in the art additional optical elements may be incorporated without deviating from the spirit and scope of the invention. The camera 15 is connected to a frame grabber board 17 to receive the image 90. The frame grabber board 17 provides an image data output to a processor 13 to calculate the Z position of the balls, described in conjunction with Figure 3B. The processor 13 may store an image in memory 14.
Figure 3B shows an example image 80 from camera 10 and an example image 90 from camera 15 acquired by the system. The image 80 shows the bottom view of the balls located on the bottom surface of a part 70. The image 90 shows two side view perspectives of the balls located on part 70. A first side perspective view in image 90 contains images of balls 91 and is obtained by the reflection of the image of the part 70 off of fixed optical elements 30, 32 and 38 into camera 15. A second side perspective view in image 90 contains images of balls 92 and is obtained by the reflection of the image of the part 70 off of fixed optical elements 34, 36 and 38 into camera 15. Optical element 36 is positioned to adjust the optical path length of a second side perspective view to equal the optical path length of a first side perspective view. In one embodiment of the invention, the maximum depth of focus of a side perspective view just includes an area of the part including the center row of balls. This allows for a fixed focus system to inspect larger parts, with one perspective view imaging at least half of the part and the second perspective view imaging at least the other half of the part . Those skilled in the art will realize that any number of perspective views can be utilized by the invention. In another embodiment of the invention, all of the balls are in focus from both side perspective views resulting in two perspective views for each ball. This permits two Z calculations for each ball as shown in conjunction with Figures 10A and 10B. Figure 4 shows a flow diagram for the three dimensional inspection of balls on a ball grid array. The method starts in step 141 by providing a part 70 having balls 71 facing down. The method in step 142 provides a camera 10 located beneath the part 70 to receive an image 80. In step 143 a frame grabber 12 is provided to receive the image 80 from camera 10. In step 144, fixed optical elements are provided for obtaining two side perspective views of the part 70. A first optical path is provided by optical elements 30, 32 and 38. A second optical path is provided by optical elements 34, 36 and 38. A second camera 15 receives an image 90 of two side perspective views in step 145. In step 146 a second frame grabber board 17 is provided to receive the image 90 from camera 15. A processor 13 sends a command to frame grabbers 12 and 17 to acquire images 80 and 90 comprising pixel values from cameras 10 and 15. The method then proceeds to step 147 and processes the pixel values with a processor 13 to obtain three dimensional data about part 70.
The invention contemplates the inspection of parts that have ball shaped leads whether or not packaged as a ball grid array. The invention also contemplates inspection of leads that present a generally curvilinear profile to an image sensor.
Figures 5A and 5B together show a flow chart of the three dimensional inspection method of the invention. The process begins in step 151 by waiting for an inspection signal. When the signal changes state, the system initiates the inspection. The processor 13 sends a command to frame grabber boards 12 and 17 to acquire images 80 and 90 respectively of part 70 having balls 71. In step 152, camera 10 captures an image 80 comprising pixel values and camera 15 captures an image 90 comprising pixel values and the processor stores the images in memory 14. The images comprise information from both a bottom view and two side perspective views as shown in Figure 3B. In step 153, the inspection system sends a signal to a part handler shown in Figure 9 to allow the part handler to move the part out of the inspection area and allows the next part to be moved into the inspection area. The handler may proceed with part placement while the inspection system processes the stored image data.
The inspection system processes the pixel values of the stored image 80 in step 154 to find a rotation, and X placement and Y placement of the part relative to the world X and Y coordinates. The processor determines these placement values finding points on four sides of the body of the part. In step 155, the processor employs a part definition file that contains values for an ideal part.
By using the measurement values from the part definition file and the placement values determined in step 154, the processor calculates an expected position for each ball of the part for the bottom view contained in image 80. The processor employs a search procedure on the image data to locate the balls 81 in image 80. The processor then determines each ball's center location and diameter in pixel values using grayscale blob techniques as described in Figure 7A. The results are stored in memory 14. The processor proceeds in step 156 to calculate an expected position of the center of each ball in both side perspective views in image 90 using the known position of each side view from calibration. The processor employs a subpixel edge detection method described in Figure 7B to locate a reference point on each ball in step 157. The results are stored in memory 14.
Now refer to Figure 5B . In step 158 the processor converts the stored pixel values from steps 154 and 157 into world locations by using pixel values and parameters determined during calibration. The world locations represent physical locations of the balls with respect to the world coordinates defined during calibration.
In step 159 the Z height of each ball is calculated in world coordinates in pixel values. The method proceeds by combining the location of the center of a ball from the bottom view 80 with the reference point of the same ball from a side perspective view in image 90 as described in Figures 6A and 6B . The processor then converts the world values to part values using the calculated part rotation, and X placement and Y placement in step 160 to define part coordinates for the ideal part. The part values represent physical dimensions of the balls such as ball diameter, ball center location in X part and Y part coordinates and ball height in Z world coordinates .
In step 161 these part values are compared to the ideal values defined in the part file to calculate the deviation of each ball center from its ideal location. In one embodiment of the invention the deviation values may include ball diameter in several orientations with respect to the X and Y part coordinates, ball center in the X direction, Y direction and radial direction, ball pitch in the X direction and Y direction and missing and deformed balls. The Z world data can be used to define a seating plane, using well known mathematical formulas, from which the Z dimension of the balls with respect to the seating plane can be calculated. Those skilled in the art will recognize that there are several possible definitions for seating planes from the data that may be used without deviating from the spirit and scope of the invention. In step 162 the results of step 161 are compared to predetermined thresholds with respect to the ideal part as defined in the part file to provide an electronic ball inspection result. In one embodiment the predetermined tolerance values include pass tolerance values and fail tolerance values from industry standards. If the measurement values are less than or equal to the pass tolerance values, the processor assigns a pass result for the part. If the measurement values exceed the fail tolerance values, the processor assigns a fail result for the part. If the measurement values are greater than the pass tolerance values, but less than or not equal to the fail tolerance values, the processor designates the part to be reworked. The processor reports the inspection result for the part in step 163, completing part inspection. The process then returns to step 151 to await the next inspection signal.
Figures 6A and 6B show an example ball of a ball grid array and associated geometry used in a method of the invention for determining the Z position of the ball. The method determines the Z position of a ball with respect to the world coordinates defined during calibration. Using parameters determined from the calibration procedure as shown in Figures 2B and 2D to define a world coordinate system for the bottom view and the two side perspective views, comprising world coordinate plane 250 with world coordinate origin 251 and world coordinate axis X 252, Y 253 and Z 254 shown in Figure 6A, and a pair of images 80 and 90 as shown in Figure 3B, the processor computes a three dimensional location.
Now refer to Figure 6A. The processor locates a point 258 on the world plane 250 determined by a bottom view ray 255 passing through the center 257 of a ball 71 on a part 70. The processor locates a side perspective view point 260 on the world plane 250 determined by a side perspective view ray 256 intersecting a ball reference point 259 on ball 71 and intersecting the bottom view ray 255 at a virtual point 261. Ray 256 intersects the world plane 250 at an angle 262 determined by the reflection of ray 256 off of the back surface 263 of prism 30. The value of angle 262 was determined during the calibration procedure . Now refer to Figure 6B. The distance x is calculated by the processor as the difference between world point 258, defined by the intersection of ray 255 with the Z=0 world plane 250, and world point 260, defined by the intersection of ray 256 and the Z=0 world plane 250. The value Z is defined as the distance between world point 261 and 258 and is related to x as follows:
tanθ. = —
Z = .tanθ-
Z can be computed by processor 13 since the angle 262 is known from calibration. The offset E 265 is the difference between the virtual point 261 defined by the intersection of ray 255 and ray 256 and the crown of ball 71 at point 264, defined by the intersection of ray 255 with the crown of ball 71, and can be calculated from the knowledge of the angle 262 and the ideal dimensions of the ball 71. The final value of Z for ball 71 is:
^Fmal = Z - E
Figure 7A shows one example of an image used in the grayscale blob method of the invention. The image processing method finds the location and dimensions of a ball 71 from a bottom image 80. From the expected position of a ball 71, a region of interest in image 80 is defined as (XI, Yl) by (X2,Y2) . The width and height of the region of interest are large enough to allow for positioning tolerances of part 70 for inspection. Due to the design of the lighting for the bottom view, the spherical shape of balls 71 of part 70 present a donut shaped image where the region 281, including the perimeter of the ball 71, comprises camera pixels of higher grayscale values and where the central region 282 comprises camera pixels of lower grayscale values. The remainder 283 of the region of interest 280 comprises camera pixels of lower grayscale values.
In one embodiment of the invention the processor 13 implements image processing functions written in the C programming language .
The C language function " FindBlobCenter" , as described below, is called to find the approximate center of the ball 71 by finding the average position of pixels that are greater than a known threshold value. Using the coordinates of the approximate center of the ball 71, the region 282 of lower grayscale pixel values can be converted to higher grayscale values by calling the C language function "FillBallCenter" , as described below. The exact center of the ball 71 can be found by calling the C language function "FindBallCenter" which also returns an X world and Y world coordinate . The diameter of the ball 71 can be calculated by the C language function, "Radius=sqrt (Area/3.14) " . The area used in the diameter calculation comprises the sum of pixels in region 281 and 282. Figure 7B shows one example of an image used with the method of the invention to perform a subpixel measurement of the ball reference point . The method of the invention finds a reference point on a ball 71 in an image 90 of a side perspective view as shown in Figure 3B. From the expected position of a ball 71, a region of interest 290 in image 80 is defined as (X3, Y3 ) by (X4,Y4). The width and height of the region of interest are large enough to allow for positioning tolerances of part 70 for inspection. Due to the design of the lighting for a side perspective view, the spherical shape of balls 71 of part 70 present a crescent shaped image 291 comprising camera pixels of higher grayscale values and where the remainder 293 of the region of interest 290 comprises camera pixels of lower grayscale values .
The C language function "FindBlobCenter" is called to compute the approximate center of the crescent image 291 by finding the average position of pixels that are greater than a known threshold value. Using the coordinates of the approximate center of the crescent image 291, the C language function "FindCrescentTop" is called to determine the camera pixel, or seed pixel 292 representing the highest edge on the top of the crescent. The camera pixel coordinates of the seed pixel are used as the coordinates of a region of interest for determining the subpixel location of the side perspective ball reference point . One example of grayscale blob analysis and reference point determination implemented in the C language is presented as follows:
/////////////////////////////////////////////////////
// // FindBlobCenter - finds the X,Y center of the pixels that have a value greater than THRESHOLD in the region (xl,yl) to (x2,y2)
/////////////////////////////////////////////////////
// long FindBlobCenter (int xl,int yl,int x2 , int y2 , double* pX, double* pY)
{ int x,y; long Found = 0 , long SumX = 0 long SumY = 0 for (x=xl;X<=x2;X++)
{ for (y=yl;y<=y2;y++)
{ if (Pixel [x] [y] > THRESHOLD)
{
SumX += x; SumY += y;
Found ++;
}
) ' if (Found > 0)
*pX = (double) SumX / (double) Found; *pY = (double) SumY / (double) Found;
} return Found; ///////////////////////////////////////////////////// //
// FillBallCenter - fills the center of the BGA "donut" ///////////////////////////////////////////////////// // void FillBallCenter (double CenterX, double CenterY, double Diameter)
{ int x,y; int xl = (int) (CenterX - Diamter / 4.0) int x2 = (int) (CenterX + Diamter / 4.0) int yl = (int) (CenterY - Diamter / 4.0) int y2 = (int) (CenterY + Diamter / 4.0) for (x=xl;X<=x2 ;X++)
{ for (y=yl,-y<=y2;y++)
{ Pixel [x] [y] = 255;
11111 / II Il' l 11111111 II ! 11 / 1 ill HI 1111111111111 / 1 III 111 //
// FindBallCenter - finds the X,Y center of the a BGA // ball using the grayscale values
///////////////////////////////////////////////////// // long FindBallCenter (int xl,int yl,int x2 , int y2 , double* pX, double* pY, double* pRadius)
{ int x,y; long Found = 0 long Total = 0 long SumX = 0 long SumY = 0 for (x=xl;x<=x2;x++)
{ for (y=yl;y<=y2;y++)
{ if (Pixel [x] [y] > THRESHOLD) {
SumX += x*Pixel [x] [y] ;
SumY += y*Pixel [x] ϊyϊ ;
Total += Pixel [x] [y] ;
Found ++ ; }
} } if ( Found > 0 !
{
*pX (double) SumX / (double) Total ;
*pY (double) SumY / (double) Total ;
*pRadius sqrt ( (double) Found / 3.14159279);
return Found;
} ///////////////////////////////////////////////////// //
// FindCresentTop - finds the X,Y top position of a BGA cresent
///////////////////////////////////////////////////// // void FindCresentTop (int CenterX, int CenterY, int Diameter, int* pX,int* pY)
{ int x, y, Edge , Max, TopX, TopY; int xl = CenterX - Diamter / 2 int x2 = CenterX + Diamter / 2 int yl = CenterY - Diamter / 2, int y2 = CenterY;
*pY = 9999; for (x=xl ;x<=x2 ;x++)
{
Max = -9999; for (y=yl;y<=y2;y++)
{ Edge = Pixel [x] [y] - Pixel [x] [y-1] ; if (Edge > Max)
{
Max = Edge ;
TopY = y; TopX = x;
}
} if (TopY < *pY)
{ *pX = TopX;
*pY = TopY;
(c) 1997 Scanner Technologies Inc. Figure 8A shows a side perspective image of the calibration pattern magnified in one dimension. Figure 8A shows a side perspective image 300 of a reticle calibration pattern where the space 303 between dot 301 and dot 302 is magnified, increasing the number of lower value grayscale pixels when compared to a non magnified image.
Figure 8B shows a side perspective image of the balls on a BGA, magnified in one dimension. In Figure 8B a side perspective image 310 of two views are shown where the space 313 between ball image 311 and ball image 312 is magnified, increasing the number of lower value grayscale pixels when compared to a non magnified image. The increased number of lower grayscale value pixels allows for the successful application of the subpixel algorithm. In another embodiment of the invention, the method and apparatus disclosed herein is a method and apparatus for calibrating the system by placing a pattern of calibration dots of known spacing and dimensions on the bottom plane of a calibration reticle and for providing for two side perspective views of each ball for the three dimensional inspection of parts. From the precision dots the missing state values of the system are determined allowing for three dimensional inspection of balls on BGA devices or balls on wafers or balls on die. Figure 9 shows an example apparatus for presenting a BGA to the system for inspection. An overhead light reflective diffuser 5 includes a vacuum cup assembly 6. The vacuum cup assembly may attach to a BGA part 70 having balls 71 and suspend the BGA part 70 below the overhead light reflective diffuser 5.
Figures 10A and 10B show an example ball on a ball grid array and associated geometry for use with the method of the invention for determining the Z position of a ball with respect to the world coordinates defined during calibration, using two perspective views for each ball. Using parameters determined from the calibration procedure as shown in Figures 2B and 2D to define a world coordinate system for the bottom view and the two side perspective views, comprising world coordinate plane 700 with world coordinate origin 701 and world coordinate axis X 702, Y 703 and Z 704 shown in Figure 10A and Figure 10B, and a pair of images 80 and 90 as shown in
Figure 3B, the processor computes a three dimensional location.
Now refer to Figure 10A. The processor locates a point 709 on the world plane 700 determined by a bottom view ray 705 passing through the center 708 of a ball 717. The processor locates a first side perspective view point 711 on the world plane 700 determined by a side view ray 706 intersecting a ball reference point 710 on ball 717 and intersecting the bottom view ray 705 at a virtual point 714. Ray 706 intersects the world plane 700 at an angle 715 determined by the reflection of ray 706 off of the back surface of prism 30. The value of angle 715 was determined during the calibration procedure. The processor locates a second side perspective view point 713 on the world plane 700 determined by a side view ray 707 intersecting a ball reference point 712 on ball 717 and intersecting the bottom view ray 705 at a virtual point 718. Ray 707 intersects the world plane 700 at an angle 716 determined by the reflection of ray 707 off of the back surface of prism 34. The value of angle 716 was determined during the calibration procedure.
Now refer to Figure 10B. The distance Lx is calculated by the processor as the distance between world point 709 and world point 711. The distance L2 is calculated by the processor as the distance between world point 713 and world point 709. The value Zx is defined as the distance between world point 714 and 709 and is related to Lx as follows:
tan θ, = — Zι
Zj = Lj tan θj
The value Z2 is defined as the distance between world point 718 and 709 and is related to L2 as follows:
tan θ„ =
Z2 = I2 tan θ2
The average of Zx and Z2 are calculated and used as the value for Z of the ball. This method is more repeatable and accurate than methods that use only one perspective view per ball.
In still another embodiment of the invention, the method and apparatus disclosed herein is a method and apparatus for calibrating the system by placing a pattern of calibration dots of known spacing and dimensions on the bottom plane of a calibration reticle and for providing a single side perspective view for the three dimensional inspection of parts. From the precision dots the missing state values of the system are determined allowing for three dimensional inspection of balls on BGA devices or balls on wafers or balls on die.
Figure 11A shows the apparatus of the invention for system calibration, utilizing a single side perspective view. The method and apparatus for calibration of the bottom view is identical to the method and apparatus described earlier in Figure 2A and 2B for the two side perspective views method. The apparatus for an image of a side perspective view includes a camera 15 with a lens 18 and a calibration reticle 20. The camera 15 is located to receive an image 64 of a side perspective view comprising dots 65, described in conjunction with Figure 11B, and utilizing fixed optical elements 40 and 42. The fixed optical element 40 may be a mirror or prism. The fixed optical element 42 is a nonlinear element that magnifies the image in one direction. In another embodiment fixed optical element 40 may be this nonlinear element. As will be appreciated by those skilled in the art additional optical elements may be incorporated. The camera 15 is connected to a frame grabber board 17 to receive the image 64. The frame grabber board 17 provides an image data output to a processor 13 to perform a two dimensional inspection as described in conjunction with Figure 2B. The processor 13 may store an image in memory 14.
Figure 11B shows an example calibration pattern and example images of a calibration pattern acquired by the system, utilizing a single side perspective view, of the invention. Figure 11B shows an example image 50 from camera 10 and an example image 64 from camera 15 acquired by the system. The image 50 showing dots 52 acquired by camera 10 includes a bottom view of the dot pattern 22, containing precision dots 24 of known dimensions and spacing, located on the bottom surface of the calibration reticle 20. The image 64 shows a side perspective view of the dot pattern 22, containing precision dots 24 of known dimensions and spacing, located on the bottom surface of the calibration reticle 20. A side perspective view in image 64 contains images of dots 65 and is obtained by the reflection of the image of the calibration reticle dot pattern 22 off of fixed optical element 40, passing through nonlinear element 42 and into camera 15.
The side perspective calibration is identical to the method shown in Figure 2C except the fixed optical elements may have different properties. The determination of the state values for the side perspective view is identical to the method shown in Figure 2D except the fixed optical elements may be different and there is only one side perspective view. The principles and relationships shown in Figure 2E and Figure 2F apply.
In still another embodiment employing a single side perspective view, the invention does not include the nonlinear element 42.
Figure 12A shows the apparatus of the invention for ball inspection utilizing a single side perspective view. The apparatus of the invention includes a part 70 to be inspected. The apparatus further includes a camera 10 with a lens 11, located below the central area of part 70, to receive a bottom image 80, described in conjunction with Figure 12B, of part 70. The camera 10 is connected to a frame grabber board 12 to receive the image 80. The frame grabber board 12 provides an image data output to a processor 13 to perform a two dimensional inspection as described in conjunction with Figure 12B. The processor 13 may store an image in memory 14. The apparatus for an image of a single side perspective view includes a camera 15 with a lens 18. The camera 15 is located to receive an image 94, comprising a single side perspective view, described in conjunction with Figure 12B and utilizing fixed optical element 40 and nonlinear, fixed optical element 42, to magnify the side perspective view in one dimension. In another embodiment of the invention optical element 40 may be the nonlinear element. The fixed optical element 40 may be a mirror or prism. As will be appreciated by those skilled in the art additional optical elements may be incorporated. The camera 15 is connected to a frame grabber board 17 to receive the image 94. The frame grabber board 17 provides an image data output to a processor 13 to calculate the Z position of the balls, described in conjunction with Figure 12B. The processor 13 may store an image in memory 14. Figure 12B shows an example ball grid array and example images of the ball grid array for three dimensional inspection, utilizing a single side perspective view. Figure 12B shows an example image 80 from camera 10 and an example image 94 from camera 15 acquired by the system. The image 80 shows the bottom view of the balls 71 located on the bottom surface of a part 70. The image 94 shows a side perspective view of the balls 71 located on part 70. The side perspective view in image 94 contains images of balls 95 and is obtained by the reflection of the image of the part 70 off of fixed optical element 40 and passing through the nonlinear fixed element 42 into camera 15.
In an alternate embodiment of the invention, the system can be used to inspect other types of electronic parts in three dimensions, such as gullwing and J lead devices. By utilizing only one camera and adding an additional set of prisms on the reticle 400 these other devices may be inspected. The advantage of being able to inspect different devices with the same system includes savings in cost, and floor space in the factory. Additionally this design allows more flexibility in production planning and resource management . Figure 13 shows the apparatus of the invention for the three dimensional inspection of ball grid array devices, gullwing devices and J lead devices. The apparatus described in Figure 13 allows the inspection of BGA, gullwing and J lead devices all on the same system. The apparatus includes a part 402 to be inspected located over the central area of a transparent reticle 400 with prisms 401 glued to the top surface to receive side perspective views of part 402. A gullwing and J lead inspection device 21 may be integrated into the ball grid array inspection device. One example embodiment of such a gullwing and J lead inspection device is the "UltraVim" scanner from Scanner Technologies of Minnetonka, Minnesota. The apparatus further includes a camera 10A with a lens 11A, located below the central area of part 402 and reticle 400 to receive a bottom view and side perspective views of part 402. The camera 10A is connected to a frame grabber board 12A to receive an image . The frame grabber board 12A provides an image data output to a processor 13A to perform a three dimensional inspection of part 402. The processor 13A may store an image in memory 14A. These components comprise the hardware of the gullwing and J lead inspection device 21 and are shared by the ball grid array inspection device as described herein.
The UltraVim is described in United States patent application Serial Number 08/850,473 entitled THREE DIMENSIONAL INSPECTION SYSTEM by Beaty et al . , filed May 5, 1997 which is incorporated in its entirely by reference thereto.
Refer now to Figure 14. In still another embodiment of the invention, the system may use three cameras to image directly the bottom view and two side perspective views as shown in Figure 14. Figure
14 shows the apparatus of the invention for a three dimensional inspection of the balls of a BGA. The apparatus of the invention includes a part 70, with balls 71 to be inspected. The apparatus further includes a camera 10 with a lens 11, located below the central area of part 70, to receive a bottom image 80, described in conjunction with Figure 12B, of part 70. The camera 10 is connected to a frame grabber board 12 to receive the image 80. The frame grabber board 12 provides an image data output to a processor 13 to perform a two dimensional inspection as described in conjunction with Figure 12B. The processor 13 may store an image in memory 14. The apparatus for an image of a first side perspective view includes a camera 15 with a lens 19. The camera
15 is located to receive an image 94, comprising a single side perspective view, described in conjunction with Figure 12B and utilizing fixed optical element 38, to magnify the side perspective view in one dimension. The camera 15 is connected to a frame grabber board 17 to receive the image 94. The frame grabber board 17 provides an image data output to a processor 13 to calculate the Z position of the balls, described in conjunction with Figure 12B. The processor 13 may store an image in memory 14. The apparatus for an image of a second side perspective view includes a camera 15 with a lens 19. The camera 15 is located to receive an image similar to 94, comprising a single side perspective view, described in conjunction with Figure 12B and utilizing fixed optical element 38, to magnify the side perspective view in one dimension. The camera 15 is connected to a frame grabber board 17 to receive the image similar to 94. The frame grabber board 17 provides an image data output to a processor 13 to calculate the Z position of the balls, described in conjunction with Figure 12B. The processor 13 may store an image in memory 14. In another embodiment, the nonlinear fixed optical element 38 may be missing. In still another embodiment of the invention, only one side perspective view may be utilized.
The invention has been described herein in considerable detail in order to comply with the Patent Statutes and to provide those skilled in the art with the information needed to apply the novel principles and to construct and use such specialized components as are required. However, it is to be understood that the invention can be carried out by specifically different equipment and devices, and that various modifications, both as to the equipment details and operating procedures, can be accomplished without departing from the scope of the invention itself . What is claimed is:

Claims

1. An apparatus for inspecting a ball grid array
(70) , wherein the apparatus is calibrated using a precision pattern mask (22) with dot patterns (24) deposited on a calibration transparent reticle (20) , the apparatus for inspecting a ball grid array (70) comprising: (a) a means for mounting the ball grid array
(70) ; (b) a means for illuminating the ball grid array (70) to provide an outline of the ball grid array;
(c) a first camera (10) positioned to image the ball grid array to provide a first image (80) of the ball grid array (70) ;
(d) a first means for light reflection (34) positioned to reflect the ball grid array through a second means for light reflection (36) into a second camera (15) , wherein the second camera (15) provides a second image
(90) of the ball grid array (70) ;
(e) a third means for light reflection (30) positioned to reflect an opposite side view of the ball grid array into a fourth means for light reflection (32) and into the second camera (15) as part of the second image (90) of the ball grid array (70) ; and
(f) a means for image processing (13) the first image (80) and second image (90) of the ball grid array (70) to inspect the ball grid array (70) .
2. The apparatus of claim 1 wherein the means for illuminating the ball grid array (70) further comprises a light source for illuminating the ball grid array (70) , and an overhead light reflective diffuser (5) provides illumination of the ball grid array from the light source.
3. The apparatus of claim 1 wherein the first means for light reflection further comprises a mirror
(32, 36) .
. The apparatus of claim 1 wherein the first means for light reflection further comprises a prism (30, 34) .
5. The apparatus of claim 1 wherein the first means for light reflection further comprises a curved mirror (38) .
6. The apparatus of claim 1 wherein the second means for light reflection further comprises a mirror (32, 36) .
7. The apparatus of claim 1 wherein the second means for light reflection further comprises a prism (30 , 34) .
8. The apparatus of claim 1 wherein the second means for light reflection further comprises a curved mirror (38) .
. The apparatus of claim 1 wherein the ball grid array (70) further comprises balls on a wafer.
10. The apparatus of claim 1 wherein the ball grid array (70) further comprises balls on a die.
11. The apparatus of claim 1 wherein the first camera (10) is connected to a frame grabber board (12) to receive the first image (80) .
12. The apparatus of claim 11 wherein the frame grabber board (12) provides an image data output to a processor (13) to perform a two dimensional inspection.
13. The apparatus of claim 1 further comprising a nonlinear optical element to magnify the second image in one dimension (39) .
14. The apparatus of claim 1 wherein an optical path length (34, 36, 38) of a second side perspective view is equal to an optical path length (30, 32, 38) of a first side perspective view.
15. The apparatus of claim 1 wherein a maximum depth of focus of a side perspective view allows for a fixed focus system to inspect larger ball grid arrays, with one perspective view (80) imaging one portion of the ball grid array and a second perspective view (90) imaging a second portion of the ball grid array (70) .
16. The apparatus of claim 15 wherein one portion of the ball grid array is at least a first half of the ball grid array and the second portion of the ball grid array is at least a second half of the ball grid array (90) .
17. The apparatus of claim 1 wherein a maximum depth of focus of a side perspective view includes an area of the ball grid array including a center row of balls (90) .
18. The apparatus of claim 1 wherein all of the balls on the ball grid array are in focus from both side perspective views resulting in two perspective views for each ball (90) .
19. The apparatus of claim 1 further comprising a third camera, wherein the first camera (10) enables direct imaging of a bottom view, wherein the first camera is located below a central area of the ball grid array (70) , wherein the third camera (15) is located to receive an image of a single side perspective view and uses fixed optical elements (19, 38) to magnify the single side perspective view in one dimension, wherein the second camera (15) is positioned to image a second side perspective view and uses fixed optical elements (19, 38) to magnify the second side perspective view in one dimension, and wherein the means for image processing (13) calculates a Z position of a ball on the ball grid array from the bottom view, first side perspective view and second side perspective view.
20. The apparatus of claim 1 further comprising a means for inspecting gullwing and J lead devices (402) .
21. A method for three dimensional inspection of a lead on a part mounted on a reticle, the method comprising the steps of :
(a) locating a first camera to receive an image of the lead (142) ;
(b) transmitting an image of the lead to a first frame grabber (143) ; (c) providing fixed optical elements to obtain two side perspective views of the lead
(144) ;
(d) locating a second camera to receive an image of the two side perspective views of the lead (145) ;
(e) transmitting the two side perspective views of the lead to a second frame grabber
(146) ; (f) operating a processor to send a command to the first frame grabber and second frame grabber to acquire images of pixel values from the first camera and the second camera (147) ; and (g) processing the pixel values with the processor to obtain three dimensional data about the lead (147) .
22. The method of claim 21 wherein the lead is a curved surface lead.
23. The method of claim 21 wherein the lead is a ball (71) .
24. The method of claim 21 wherein the part is a ball grid array (70) .
25. The method of claim 21 wherein the step of processing the pixel values with the processor (144) further comprises the step of sending a signal to a part handler to allow the part handler to move the part out of an inspection area and allow a next part to be moved into the inspection area (153) .
26. The method of claim 21 wherein the processor processes the pixel values to find a rotation, an X placement value and a Y placement value of the part relative to world X and Y coordinates by finding points on four sides of the part
(154) .
27. The method of claim 26 further comprising the steps of :
(a) using a part definition file that contains measurement values for an ideal part (155) ;
(b) calculating an expected position for each lead of the part for a bottom view using the measurement values from the part definition file and the X placement value and Y placement value (155) .
28. The method of claim 21 further comprising the step of using a search procedure (Fig. 7A) on the image data to locate the lead (155) .
29. The method of claim 21 further comprising the step of determining a lead center location and a lead diameter in pixels and storing the lead center location and lead diameter in memory
(155) .
30. The method of claim 29 further comprising the step calculating an expected position of a center of each lead in both side perspective views in the image using a known position of each side view from calibration (156) .
31. The method of claim 21 further comprising the step using a subpixel edge detection method (Fig. 7B) to locate a reference point on each lead (157) .
32. The method of claim 27 further comprising the step of converting the pixel values into world locations by using pixel values and parameters determined during calibration wherein the world locations represent physical locations of the lead with respect to world coordinates defined during calibration (15) .
33. The method of claim 32 wherein a Z height of each lead is calculated in world coordinates in pixel values by combining a location of a center of a lead from a bottom view with a reference point of the same lead from a side perspective view (159) .
34. The method of claim 33 further comprising the step of converting the world values to part values using the rotation, the X placement value and the Y placement value to define part coordinates for the ideal part where the part values represent physical dimensions of the lead including lead diameter, lead center location in X part and Y part coordinates and lead height in Z world coordinates (160) .
35. The method of claim 34 further comprising the step of comparing ideal values defined in the part file to calculate deviation values that represent a deviation of the center of the lead from its ideal location (161) .
36. The method of claim 35 wherein the deviation values may include lead diameter in several orientations with respect to the X placement value and Y placement value, lead center in the X direction, Y direction and radial direction, lead pitch in the X direction and Y direction and missing and deformed leads, further comprising the step of calculating the Z dimension of the lead with respect to the seating plane based on the Z world data (161) .
37. The method of claim 35 further comprising the step of comparing the deviation values to predetermined tolerance values with respect to an ideal part as defined in the part definition file to provide a lead inspection result (162) .
38. The method of claim 37 wherein the predetermined tolerance values include pass tolerance values and fail tolerance values from industry standards (162) .
39. The method of claim 38 further comprising the steps of:
(a) determining if the deviation values are less than or equal to the pass tolerance values, wherein the processor assigns a pass result for the part (162) ; (b) determining if the deviation values exceed the fail tolerance values, wherein the processor assigns a fail result for the part (162) ; and (c) determining if the deviation values are greater than the pass tolerance values, but less than or equal to the fail tolerance values, wherein the processor designates the part to be reworked (162) .
40. The method of claim 38 further comprising the step of reporting a part inspection result for the part (163) .
41. A method to inspect a ball grid array device comprising the steps of:
(a) locating a point (258) on a world plane (250) determined by a bottom view ray (255) passing through a center (257) of a ball (71) on the ball grid array device (70) ;
(b) locating a side perspective view point
(260) on the world plane (250) determined by a side perspective view ray (256) intersecting a ball reference point (259) on the ball (71) and intersecting the bottom view ray (255) at a virtual point
(261) where the side perspective view ray (256) intersects the world plane (250) at an angle (262) determined by a reflection of the side perspective view ray (256) off of a back surface (263) of a prism (30) where a value of the angle (262) was determined during a calibration procedure;
(c) calculating a distance Lx as a difference between a first world point (258) , defined by an intersection of the bottom view ray (255) with a Z=0 world plane (250) , and a second world point (260) , defined by the intersection of the side perspective view ray (256) and the Z=0 world plane (250) , where a value Z is defined as a distance between a third world point (261) and first world point (258) and is related to h as follows tan╬╕, = ΓÇö 1
Lj tan╬╕,
wherein Z is computed based on the angle; (d) computing an offset E (265) as the difference between the virtual point (261) defined by the intersection of the bottom view ray (255) and the side perspective view ray (256) and a crown of a ball (71) at a crown point (264) that is defined by the intersection of the bottom view ray (255) with the crown of the ball (71) , and can be calculated from a knowledge of the angle (262) and ideal dimensions of the ball (71) where a final value of Z for the ball (71) is:
Spinal = Z - E .
42. A method for finding a location and dimensions of a ball in a ball grid array from a bottom image, the method comprising the steps of:
(a) defining a region of interest (280) in the bottom image of an expected position of a ball (71) where a width and a height of the region of interest are large enough to allow for positioning tolerances of the ball grid array (70) for inspection;
(b) imaging the ball (71) , wherein the ball (71) is illuminated to allow a spherical shape of the ball (71) to present a donut shaped image, wherein the region of interest (280) includes a perimeter (281) of the ball (71) wherein the bottom image comprises camera pixels of higher grayscale values and where a center (282) of the bottom image comprises camera pixels of lower grayscale value and wherein a remainder of the region of interest (283) comprises camera pixels of lower grayscale values;
(c) finding an approximate center of the ball (71) by finding an average position of pixels having pixel values that are greater than a predetermined threshold value;
(d) converting the region of lower grayscale pixel values to higher grayscale values using coordinates of the approximate center of the ball (71) ; and
(e) finding the center of the ball (71) .
43. The method of claim 42 further comprising the step of determining a diameter of the ball (71) .
44. The method of claim 43 wherein the diameter of the ball (71) is equal to (2 * sqrt ( Area/3.14)) wherein the Area is equal to a sum of pixels in the region.
45. A method for finding a reference point on a ball
(71) in an image (90) of a side perspective view of a ball grid array, the method comprising the steps of :
(a) defining a region of interest (290) in the image (80) from an expected position of a ball wherein a width and a height of the region of interest are large enough to allow for positioning tolerances of the ball grid array (70) ; (b) imaging the ball, wherein the ball is illuminated to allow a spherical shape of the ball to present a crescent shaped image
(291) having camera pixels of higher grayscale values, and wherein a remainder
(293) of the region of interest (290) comprises camera pixels of lower grayscale values;
(c) computing an approximate center of the crescent shaped image (291) by finding an average position of pixels that are greater than a predetermined threshold value;
(d) using coordinates of the approximate center of the crescent (291) ; (e) determining a camera pixel as a seed pixel
(292) representing a highest edge on a top of the crescent shaped image (291) ; and
(f) determining a subpixel location of the reference point based on the camera pixel coordinates of the seed pixel (292) that define coordinates of a region of interest (290) for the seed pixel.
46. The method of claim 45 wherein in a side perspective image (90) of a reticle calibration pattern (22) , space between dot images is magnified, increasing a number of higher value grayscale pixels when compared to a nonmagnified image .
PCT/US1999/000714 1998-01-16 1999-01-13 Method and apparatus for three-dimensional inspection of electronic components WO1999036881A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020007007825A KR20010040339A (en) 1998-01-16 1999-01-13 Method and apparatus for three dimensional inspection of electronic components
EP99902217A EP1046127A4 (en) 1998-01-16 1999-01-13 Method and apparatus for three-dimensional inspection of electronic components
JP2000540517A JP2002509259A (en) 1998-01-16 1999-01-13 Method and apparatus for three-dimensional inspection of electronic components

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/008,243 US6072898A (en) 1998-01-16 1998-01-16 Method and apparatus for three dimensional inspection of electronic components
US09/008,243 1998-01-16

Publications (1)

Publication Number Publication Date
WO1999036881A1 true WO1999036881A1 (en) 1999-07-22

Family

ID=21730545

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/000714 WO1999036881A1 (en) 1998-01-16 1999-01-13 Method and apparatus for three-dimensional inspection of electronic components

Country Status (6)

Country Link
US (5) US6072898A (en)
EP (1) EP1046127A4 (en)
JP (1) JP2002509259A (en)
KR (1) KR20010040339A (en)
CN (1) CN1287643A (en)
WO (1) WO1999036881A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7293855B2 (en) * 1997-07-15 2007-11-13 Silverbrook Research Pty Ltd Inkjet nozzle with ink supply channel parallel to drop trajectory
CN101966077A (en) * 2010-03-25 2011-02-09 田捷 Multi-angle imaging device
CN106524922A (en) * 2016-10-28 2017-03-22 深圳地平线机器人科技有限公司 Distance measurement calibration method, device and electronic equipment
CN117269197A (en) * 2023-11-21 2023-12-22 昆明理工大学 Method and device for detecting surface quality of polycrystalline silicon raw material

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG42307A1 (en) * 1996-01-09 1997-08-15 Peng Seng Toh Measurement and inspection of leads on integrated circuit packages
JP3728900B2 (en) * 1997-10-17 2005-12-21 ソニー株式会社 Calibration method and apparatus, and calibration data generation method
US6915006B2 (en) * 1998-01-16 2005-07-05 Elwin M. Beaty Method and apparatus for three dimensional inspection of electronic components
US6915007B2 (en) 1998-01-16 2005-07-05 Elwin M. Beaty Method and apparatus for three dimensional inspection of electronic components
US6072898A (en) * 1998-01-16 2000-06-06 Beaty; Elwin M. Method and apparatus for three dimensional inspection of electronic components
US6956963B2 (en) * 1998-07-08 2005-10-18 Ismeca Europe Semiconductor Sa Imaging for a machine-vision system
WO2000003357A1 (en) 1998-07-08 2000-01-20 Ppt Vision, Inc. Identifying and handling device tilt in a three-dimensional machine-vision image
US7353954B1 (en) 1998-07-08 2008-04-08 Charles A. Lemaire Tray flipper and method for parts inspection
US6518997B1 (en) * 1998-08-05 2003-02-11 National Semiconductor Corporation Grid array inspection system and method
KR100364559B1 (en) * 1998-09-17 2002-12-12 주식회사 뷰웰 Ic lead inspection system
US6778282B1 (en) * 1999-04-13 2004-08-17 Icos Vision Systems N.V. Measuring positions of coplanarity of contract elements of an electronic component with a flat illumination and two cameras
US6751344B1 (en) * 1999-05-28 2004-06-15 Champion Orthotic Investments, Inc. Enhanced projector system for machine vision
US6788411B1 (en) * 1999-07-08 2004-09-07 Ppt Vision, Inc. Method and apparatus for adjusting illumination angle
DE19934619A1 (en) * 1999-07-23 2001-01-25 Merten Kg Pulsotronic Component inspection device has optical deflection device that feeds image produced from direction different from first image to video camera
US6268093B1 (en) * 1999-10-13 2001-07-31 Applied Materials, Inc. Method for reticle inspection using aerial imaging
IL133696A (en) * 1999-12-23 2006-04-10 Orbotech Ltd Cam reference inspection of multi-color and contour images
US6509559B1 (en) 2000-06-20 2003-01-21 Ppt Vision, Inc. Binary optical grating and method for generating a moire pattern for 3D imaging
US6486963B1 (en) 2000-06-20 2002-11-26 Ppt Vision, Inc. Precision 3D scanner base and method for measuring manufactured parts
US6501554B1 (en) 2000-06-20 2002-12-31 Ppt Vision, Inc. 3D scanner and method for measuring heights and angles of manufactured parts
GB0023681D0 (en) * 2000-09-27 2000-11-08 Canon Kk Image processing apparatus
TWI246382B (en) * 2000-11-08 2005-12-21 Orbotech Ltd Multi-layer printed circuit board fabrication system and method
US6701197B2 (en) 2000-11-08 2004-03-02 Orbotech Ltd. System and method for side to side registration in a printed circuit imager
US6819789B1 (en) 2000-11-08 2004-11-16 Orbotech Ltd. Scaling and registration calibration especially in printed circuit board fabrication
US7058474B2 (en) * 2000-11-08 2006-06-06 Orbotech Ltd. Multi-layer printed circuit board fabrication system and method
EP1220596A1 (en) * 2000-12-29 2002-07-03 Icos Vision Systems N.V. A method and an apparatus for measuring positions of contact elements of an electronic component
US6547409B2 (en) * 2001-01-12 2003-04-15 Electroglas, Inc. Method and apparatus for illuminating projecting features on the surface of a semiconductor wafer
US6804388B2 (en) * 2001-03-14 2004-10-12 Maniabarco, Inc. Method and apparatus of registering a printed circuit board
US20030001117A1 (en) * 2001-05-15 2003-01-02 Kwangik Hyun Dimensional measurement apparatus for object features
US7072502B2 (en) 2001-06-07 2006-07-04 Applied Materials, Inc. Alternating phase-shift mask inspection method and apparatus
JP4877891B2 (en) * 2001-08-03 2012-02-15 株式会社トプコン Calibration subject
ATE464535T1 (en) * 2001-12-28 2010-04-15 Rudolph Technologies Inc STEREOSCOPIC THREE-DIMENSIONAL METROLOGY SYSTEM AND METHOD
US20030123707A1 (en) * 2001-12-31 2003-07-03 Park Seujeung P. Imaging-based distance measurement and three-dimensional profiling system
US6970590B2 (en) * 2002-03-28 2005-11-29 General Electric Company Side lit, 3D edge location method
JP4083554B2 (en) * 2002-11-29 2008-04-30 株式会社森精機製作所 3D model data generator
US20040150822A1 (en) * 2003-01-30 2004-08-05 Samsung Electronics Co., Ltd. Soldering inspection apparatus
US20050018403A1 (en) * 2003-06-25 2005-01-27 Foo Chong Seng BGA ball vision enhancement
US7539338B2 (en) * 2004-06-01 2009-05-26 Panasonic Corporation Bump inspection apparatus and method for IC component, bump forming method for IC component, and mounting method for IC component
JP4496354B2 (en) * 2004-06-18 2010-07-07 独立行政法人 宇宙航空研究開発機構 Transmission type calibration equipment for camera calibration and its calibration method
US7593565B2 (en) * 2004-12-08 2009-09-22 Rudolph Technologies, Inc. All surface data for use in substrate inspection
EP1619623A1 (en) * 2004-07-22 2006-01-25 Icos Vision Systems N.V. Apparatus for three dimensional measuring on an electronic component
US20090123060A1 (en) * 2004-07-29 2009-05-14 Agency For Science, Technology And Research inspection system
JP4654022B2 (en) * 2004-12-24 2011-03-16 株式会社サキコーポレーション Substrate visual inspection device
US7809158B2 (en) * 2005-05-02 2010-10-05 Siemens Industry, Inc. Method and apparatus for detecting doubles in a singulated stream of flat articles
KR20070088318A (en) * 2005-06-17 2007-08-29 오므론 가부시키가이샤 Image processing device and image processing method for performing three dimensional measurement
US20070023716A1 (en) * 2005-07-26 2007-02-01 Icos Vision Systems N.V. Apparatus for three dimensional measuring on an electronic component
US8111904B2 (en) * 2005-10-07 2012-02-07 Cognex Technology And Investment Corp. Methods and apparatus for practical 3D vision system
JP2007149061A (en) * 2005-10-31 2007-06-14 Seiko Epson Corp Layout system, layout program and layout method
US8107719B2 (en) * 2005-11-12 2012-01-31 Douglas Davidson Machine vision system for three-dimensional metrology and inspection in the semiconductor industry
SG138491A1 (en) * 2006-06-21 2008-01-28 Generic Power Pte Ltd Method and apparatus for 3-dimensional vision and inspection of ball and like protrusions of electronic components
US8122878B1 (en) * 2006-10-20 2012-02-28 Energy Innovations, Inc. Solar concentrator with camera alignment and tracking
JP2008122228A (en) * 2006-11-13 2008-05-29 Konica Minolta Sensing Inc System and method for positioning
MY148204A (en) * 2008-07-21 2013-03-15 Vitrox Corp Bhd A method and means for measuring positions of contact elements of an electronic components
US20100034452A1 (en) * 2008-08-08 2010-02-11 Gines David L Method And Apparatus For Reconstructing Solder Joints Using Constrained X-ray Photogrammetry
US20100119142A1 (en) * 2008-11-11 2010-05-13 Sean Miceli Monitoring Multiple Similar Objects Using Image Templates
MY169616A (en) * 2009-02-06 2019-04-23 Agency Science Tech & Res Methods for examining a bonding structure of a substrate and bonding structure inspection devices
DE102009015594B4 (en) * 2009-03-30 2015-07-30 Carl Zeiss Sms Gmbh Method and device for subpixel accurate position determination of an edge of a marker structure in a plurality of receiving pixels having recording the marker structure
WO2011032999A1 (en) * 2009-09-15 2011-03-24 Mettler-Toledo Ag Apparatus for measuring the dimensions of an object
US8428339B2 (en) * 2009-11-05 2013-04-23 Cognex Corporation System and method for alignment and inspection of ball grid array devices
US8176624B2 (en) 2009-11-23 2012-05-15 International Business Machines Corporation Optical alignment module utilizing transparent reticle to facilitate tool calibration during high temperature process
DE102010053912B4 (en) 2010-12-09 2013-01-31 Mühlbauer Ag Optical examination device and optical examination method
CN103282800B (en) * 2010-12-27 2018-01-23 Dic株式会社 The manufacture method of stereoscopic display device birefringent lens material and stereoscopic display device birefringent lens
JP5755935B2 (en) * 2011-05-13 2015-07-29 富士機械製造株式会社 Component pitch measuring apparatus and component pitch measuring method
US9228957B2 (en) * 2013-05-24 2016-01-05 Gii Acquisition, Llc High speed method and system for inspecting a stream of parts
US10094785B2 (en) 2011-05-17 2018-10-09 Gii Acquisition, Llc Method and system for optically inspecting headed manufactured parts
US10088431B2 (en) 2011-05-17 2018-10-02 Gii Acquisition, Llc Method and system for optically inspecting headed manufactured parts
CN103249293B (en) * 2012-02-08 2018-05-29 Juki株式会社 Electronic component mounting apparatus, electronic component mounting system and electronic component mounting method
KR101614061B1 (en) * 2012-03-29 2016-04-20 주식회사 고영테크놀러지 Apparatus for joint inspection
CN103733019B (en) * 2012-07-24 2017-03-01 精益视觉科技私人有限公司 Method and apparatus for determining the coplanarity of integrated antenna package
US8654352B1 (en) 2012-08-08 2014-02-18 Asm Technology Singapore Pte Ltd Chromatic confocal scanning apparatus
CN104240221B (en) * 2013-06-18 2017-02-08 烟台大学 Opposite-lens two-camera relative azimuth calibration device and method
US9367221B2 (en) * 2013-09-02 2016-06-14 Ken Lai System and method for sequencing rotatable images
US10300510B2 (en) 2014-08-01 2019-05-28 General Inspection Llc High speed method and system for inspecting a stream of parts
CN104089587A (en) * 2014-08-05 2014-10-08 吉林大学 One-dimensional annular calibration target of camera of automobile visual inspection system
KR102477658B1 (en) * 2016-07-07 2022-12-14 한화정밀기계 주식회사 Method for generating conpensation rule
JP6356845B1 (en) 2017-02-13 2018-07-11 ファナック株式会社 Apparatus and method for generating operation program for inspection system
US10715790B2 (en) * 2017-05-02 2020-07-14 Generic Power Pte Ltd System and method for lead foot angle inspection using multiview stereo vision
TWI667530B (en) * 2017-09-28 2019-08-01 日商紐富來科技股份有限公司 Inspection method and inspection device
CN107990821B (en) * 2017-11-17 2019-12-17 深圳大学 Bridge deformation monitoring method, storage medium and bridge deformation monitoring receiver
TWI650530B (en) * 2018-01-22 2019-02-11 國立臺灣科技大學 Measure system and method thereof
JPWO2020075213A1 (en) * 2018-10-09 2021-09-02 オリンパス株式会社 Measuring equipment, measuring methods and microscope systems
DE102018222796A1 (en) * 2018-12-21 2020-06-25 Conti Temic Microelectronic Gmbh Setup and measurement of the setup for calibrating a camera
CN111595240A (en) * 2020-06-15 2020-08-28 上海海洋大学 Multi-view-angle rapid shooting device for cephalopod cutin and jaw
CN111816579B (en) * 2020-07-10 2023-04-07 英特尔产品(成都)有限公司 Method and apparatus for detecting chips contaminated with flux residue
CN112762864B (en) * 2020-12-24 2023-01-13 深圳市立可自动化设备有限公司 Rapid alignment detection device and method based on universal BGA ball-mounting board
CN113594370B (en) * 2021-07-16 2022-05-31 华中科技大学 CsPbCl with omnibearing imaging function3Spherical ultraviolet detector and preparation method thereof
CN115295520B (en) * 2022-10-10 2023-01-10 广东气派科技有限公司 QFN (quad Flat No lead) stamping frame, stamping die and preparation method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5550763A (en) * 1994-05-02 1996-08-27 Michael; David J. Using cone shaped search models to locate ball bonds on wire bonded devices
US5592562A (en) * 1994-01-19 1997-01-07 International Business Machines Corporation Inspection system for cross-sectional imaging
US5692070A (en) * 1994-03-15 1997-11-25 Fujitsu Limited Calibration of semiconductor pattern inspection device and a fabrication process of a semiconductor device using such an inspection device

Family Cites Families (126)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1894025A (en) * 1927-12-15 1933-01-10 Western Electric Co Gauging apparatus
US3534019A (en) 1967-10-30 1970-10-13 Searle & Co Dibenzoxazepine - n - carboxylic acid hydrazides and related compounds
US3671726A (en) 1969-05-23 1972-06-20 Morvue Inc Electro-optical apparatus for precise on-line measurement of the thickness of moving strip material
US3895446A (en) * 1973-12-03 1975-07-22 Petr Nikolaevich Orlov Device for measuring surface profiles
US4084875A (en) * 1975-01-10 1978-04-18 International Telephone And Telegraph Corporation Electrical connector
US4213146A (en) * 1978-03-24 1980-07-15 Laser Video, Inc. Scanning system for light beam displays
US4314763A (en) 1979-01-04 1982-02-09 Rca Corporation Defect detection system
US4259589A (en) 1979-07-20 1981-03-31 Solid Photography, Inc. Generation of contiguous data files of three-dimensional information
US4463310A (en) * 1980-07-11 1984-07-31 Rca Corporation Apparatus for detecting the presence of components on a printed circuit board
AU553069B2 (en) * 1981-07-17 1986-07-03 W.R. Grace & Co.-Conn. Radial scan, pulsed light article inspection ccv system 0
US4555798A (en) 1983-06-20 1985-11-26 Kla Instruments Corporation Automatic system and method for inspecting hole quality
US4601053A (en) 1983-11-21 1986-07-15 Grumman Aerospace Corporation Automatic TV ranging system
US5259881A (en) 1991-05-17 1993-11-09 Materials Research Corporation Wafer processing cluster tool batch preheating and degassing apparatus
US4589141A (en) 1984-03-12 1986-05-13 Texas Instruments Incorporated Apparatus for automatically inspecting printed labels
US4731855A (en) * 1984-04-06 1988-03-15 Hitachi, Ltd. Pattern defect inspection apparatus
JPS60247106A (en) 1984-05-22 1985-12-06 Fujitsu Ltd Configuration inspecting apparatus
JPH0621902B2 (en) * 1985-04-19 1994-03-23 日本電気株式会社 Beam positioner
US4825394A (en) * 1985-05-07 1989-04-25 General Dynamics Corporation Vision metrology system
NL8501665A (en) * 1985-06-10 1987-01-02 Philips Nv OPTICAL SCANNER WITH POSITION AND POSITION DETECTION SYSTEM FOR AN ELECTROMAGNETICALLY BEARING OBJECTIVE.
JPS61290311A (en) 1985-06-19 1986-12-20 Hitachi Ltd Apparatus and method for inspecting soldered zone
JPS61293657A (en) * 1985-06-21 1986-12-24 Matsushita Electric Works Ltd Method for inspecting soldering appearance
US4603487A (en) * 1985-11-22 1986-08-05 Mitsubishi Jukogyo Kabushiki Kaisha Method of compensating a profiling direction of a profiling machine
FR2592219B1 (en) * 1985-12-23 1988-02-12 Videocolor DEVICE FOR AUTOMATICALLY CONTROLLING THE DISTANCE BETWEEN CATHODES AND THE SECOND GRID OF A TRICHROME CATHODE TUBE CANON
US4688939A (en) 1985-12-27 1987-08-25 At&T Technologies, Inc. Method and apparatus for inspecting articles
US4821157A (en) * 1986-02-21 1989-04-11 Hewlett-Packard Co. System for sensing and forming objects such as leads of electronic components
JPS62195509A (en) 1986-02-24 1987-08-28 Mitsubishi Electric Corp Inspecting device for electronic parts shape
DE3610540A1 (en) 1986-03-27 1987-10-01 Kernforschungsanlage Juelich MOTION DEVICE FOR MICROMOVING OBJECTS
US4715921A (en) 1986-10-24 1987-12-29 General Signal Corporation Quad processor
US4818110A (en) 1986-05-06 1989-04-04 Kla Instruments Corporation Method and apparatus of using a two beam interference microscope for inspection of integrated circuits and the like
US4852516A (en) 1986-05-19 1989-08-01 Machine Technology, Inc. Modular processing apparatus for processing semiconductor wafers
JPH0797019B2 (en) 1986-06-12 1995-10-18 松下電器産業株式会社 Illumination method and device for component recognition
US4733969A (en) 1986-09-08 1988-03-29 Cyberoptics Corporation Laser probe for determining distance
GB8622976D0 (en) * 1986-09-24 1986-10-29 Trialsite Ltd Scanning electron microscopes
JPS6387831U (en) 1986-11-26 1988-06-08
US4774768A (en) * 1987-04-14 1988-10-04 Allteq Industries Coplanarity tester for surface mounted device
US4891772A (en) 1987-04-15 1990-01-02 Cyberoptics Corporation Point and line range sensors
JPH0620314Y2 (en) * 1987-08-10 1994-05-25 住友電装株式会社 Terminal insertion tester
US4776102A (en) * 1987-08-14 1988-10-11 Hughes Aircraft Company Tool for measuring the height of a material buildup on a reference plane
US5024529A (en) 1988-01-29 1991-06-18 Synthetic Vision Systems, Inc. Method and system for high-speed, high-resolution, 3-D imaging of an object at a vision station
US5095447A (en) * 1988-03-25 1992-03-10 Texas Instruments Incorporated Color overlay of scanned and reference images for display
US4886958A (en) * 1988-03-25 1989-12-12 Texas Instruments Incorporated Autofocus system for scanning laser inspector or writer
WO1989010256A1 (en) 1988-04-18 1989-11-02 3D Systems, Inc. Cad/cam stereolithographic data conversion
SG66545A1 (en) * 1988-05-09 1999-07-20 Omron Tateisi Electronics Co Apparatus for inspecting printed circuit boards and the like and method of operating the same
US5028799A (en) * 1988-08-01 1991-07-02 Robotic Vision System, Inc. Method and apparatus for three dimensional object surface determination using co-planar data from multiple sensors
US4893183A (en) * 1988-08-11 1990-01-09 Carnegie-Mellon University Robotic vision system
US5023917A (en) 1988-08-15 1991-06-11 At&T Bell Laboratories Method and apparatus for pattern inspection
CH676786A5 (en) 1988-10-06 1991-03-15 Lasag Ag
US5039868A (en) * 1988-11-24 1991-08-13 Omron Corporation Method of and apparatus for inspecting printed circuit boards and the like
JPH02231510A (en) 1989-03-02 1990-09-13 Omron Tateisi Electron Co Substrate inspection device
US5032924A (en) * 1989-04-10 1991-07-16 Nilford Laboratories, Inc. System for producing an image from a sequence of pixels
JP2751435B2 (en) 1989-07-17 1998-05-18 松下電器産業株式会社 Inspection method for soldering condition of electronic components
US5003600A (en) 1989-08-03 1991-03-26 The United States Of America As Represented By The Department Of Energy Diffraction gratings used as identifying markers
JP2805909B2 (en) * 1989-11-10 1998-09-30 松下電器産業株式会社 Electronic component lead measuring device and measuring method
US5113581A (en) * 1989-12-19 1992-05-19 Matsushita Electric Industrial Co., Ltd. Outer lead bonding head and method of bonding outer lead
US5058178A (en) * 1989-12-21 1991-10-15 At&T Bell Laboratories Method and apparatus for inspection of specular, three-dimensional features
JPH03203399A (en) * 1989-12-29 1991-09-05 Matsushita Electric Ind Co Ltd Parts mounting device
US4973948A (en) * 1990-01-26 1990-11-27 Micron Technology, Inc. Reversed or missing lead frame detector
DE4003983C1 (en) * 1990-02-09 1991-08-29 Abos Automation, Bildverarbeitung, Optische Systeme Gmbh, 8057 Eching, De Automated monitoring of space=shape data for mfg. semiconductors - compares image signals for defined illumination angle range with master signals, to determine defects
US5163232A (en) * 1990-02-16 1992-11-17 Texas Instruments Incorporated Semiconductor lead planarity checker
US5343294A (en) 1990-03-09 1994-08-30 Carl-Zeiss-Stiftung Method for analyzing periodic brightness patterns
US5043589A (en) 1990-05-18 1991-08-27 Trigon/Adcotech Semiconductor device inspection apparatus using a plurality of reflective elements
US4959898A (en) 1990-05-22 1990-10-02 Emhart Industries, Inc. Surface mount machine with lead coplanarity verifier
US5048904A (en) * 1990-07-06 1991-09-17 General Scanning, Inc. Two-mirror scanner with pincushion error correction
JPH04105341A (en) * 1990-08-24 1992-04-07 Hitachi Ltd Method and equipment for detecting bending and floating of lead of semiconductor device
US5142357A (en) 1990-10-11 1992-08-25 Stereographics Corp. Stereoscopic video camera with image sensors having variable effective position
DE4032327A1 (en) * 1990-10-11 1992-04-16 Abos Automation Bildverarbeitu METHOD AND DEVICE FOR THE AUTOMATED MONITORING OF THE PRODUCTION OF SEMICONDUCTOR COMPONENTS
JPH04239149A (en) 1991-01-11 1992-08-27 Nec Corp Microscopic system for examination of crystal cleavage plane
US5420691A (en) * 1991-03-15 1995-05-30 Matsushita Electric Industrial Co., Ltd. Electric component observation system
US5173796A (en) * 1991-05-20 1992-12-22 Palm Steven G Three dimensional scanning system
US5133601A (en) * 1991-06-12 1992-07-28 Wyko Corporation Rough surface profiler and method
US5204734A (en) * 1991-06-12 1993-04-20 Wyko Corporation Rough surface profiler and method
JPH081923B2 (en) 1991-06-24 1996-01-10 ティーディーケイ株式会社 Clean transfer method and device
DE4222804A1 (en) * 1991-07-10 1993-04-01 Raytheon Co Automatic visual tester for electrical and electronic components - performs video scans of different surfaces with unequal intensities of illumination by annular and halogen lamps
JP2714277B2 (en) 1991-07-25 1998-02-16 株式会社東芝 Lead shape measuring device
US5563702A (en) * 1991-08-22 1996-10-08 Kla Instruments Corporation Automated photomask inspection apparatus and method
JPH05312549A (en) * 1992-02-06 1993-11-22 Hitachi Ltd Method and device for detecting pattern
US5457695A (en) 1992-02-27 1995-10-10 Texas Instruments Incorporated Method and system for screening logic circuits
US5636025A (en) 1992-04-23 1997-06-03 Medar, Inc. System for optically measuring the surface contour of a part using more fringe techniques
JP3219844B2 (en) 1992-06-01 2001-10-15 東京エレクトロン株式会社 Probe device
US5600150A (en) * 1992-06-24 1997-02-04 Robotic Vision Systems, Inc. Method for obtaining three-dimensional data from semiconductor devices in a row/column array and control of manufacturing of same with data to eliminate manufacturing errors
US5818061A (en) * 1992-06-24 1998-10-06 Robotic Vision Systems, Inc. Apparatus and method for obtaining three-dimensional data from objects in a contiguous array
US5420689A (en) * 1993-03-01 1995-05-30 Siu; Bernard High speed illumination system for microelectronics inspection
US5576948A (en) * 1992-07-28 1996-11-19 Robotic Vision Systems, Inc. Machine vision for adaptive laser beam steering
US5307149A (en) * 1992-08-14 1994-04-26 Elwin M. Beaty Method and apparatus for zero force part placement
US5383013A (en) 1992-09-18 1995-01-17 Nec Research Institute, Inc. Stereoscopic computer vision system
US5414458A (en) 1993-04-06 1995-05-09 Texas Instruments Incorporated Semiconductor device lead inspection system
US5355283A (en) 1993-04-14 1994-10-11 Amkor Electronics, Inc. Ball grid array with via interconnection
JP3051279B2 (en) * 1993-05-13 2000-06-12 シャープ株式会社 Bump appearance inspection method and bump appearance inspection device
US5452080A (en) * 1993-06-04 1995-09-19 Sony Corporation Image inspection apparatus and method
EP0638801B1 (en) * 1993-08-12 1998-12-23 International Business Machines Corporation Method of inspecting the array of balls of an integrated circuit module
US5652658A (en) * 1993-10-19 1997-07-29 View Engineering, Inc. Grid array inspection system and method
US5444296A (en) 1993-11-22 1995-08-22 Sun Microsystems, Inc. Ball grid array packages for high speed applications
US5648853A (en) * 1993-12-09 1997-07-15 Robotic Vision Systems, Inc. System for inspecting pin grid arrays
JP3333615B2 (en) 1993-12-21 2002-10-15 三菱電機株式会社 Apparatus and method for measuring dimensions of semiconductor device
US5559727A (en) 1994-02-24 1996-09-24 Quad Systems Corporation Apparatus and method for determining the position of a component prior to placement
US5581632A (en) * 1994-05-02 1996-12-03 Cognex Corporation Method and apparatus for ball bond inspection system
US5546189A (en) * 1994-05-19 1996-08-13 View Engineering, Inc. Triangulation-based 3D imaging and processing method and system
US5465152A (en) * 1994-06-03 1995-11-07 Robotic Vision Systems, Inc. Method for coplanarity inspection of package or substrate warpage for ball grid arrays, column arrays, and similar structures
US5563703A (en) * 1994-06-20 1996-10-08 Motorola, Inc. Lead coplanarity inspection apparatus and method thereof
JP3235008B2 (en) * 1994-07-16 2001-12-04 株式会社新川 Method and apparatus for detecting ball in wire bonding section
US5694482A (en) * 1994-11-08 1997-12-02 Universal Instruments Corporation System and method for locating solder bumps on semiconductor chips or chip carriers
US5574668A (en) * 1995-02-22 1996-11-12 Beaty; Elwin M. Apparatus and method for measuring ball grid arrays
US5621530A (en) * 1995-04-26 1997-04-15 Texas Instruments Incorporated Apparatus and method for verifying the coplanarity of a ball grid array
US5617209A (en) * 1995-04-27 1997-04-01 View Engineering, Inc. Method and system for triangulation-based, 3-D imaging utilizing an angled scaning beam of radiant energy
US5801966A (en) * 1995-07-24 1998-09-01 Cognex Corporation Machine vision methods and articles of manufacture for determination of convex hull and convex hull angle
SG42307A1 (en) * 1996-01-09 1997-08-15 Peng Seng Toh Measurement and inspection of leads on integrated circuit packages
JPH09304030A (en) * 1996-05-20 1997-11-28 Komatsu Ltd Instrument for inspecting terminal of semiconductor package
US5859924A (en) * 1996-07-12 1999-01-12 Robotic Vision Systems, Inc. Method and system for measuring object features
US5812269A (en) * 1996-07-29 1998-09-22 General Scanning, Inc. Triangulation-based 3-D imaging and processing method and system
JP3995030B2 (en) * 1996-09-17 2007-10-24 コグネックス・テクノロジー・アンド・インベストメント・コーポレーション Semiconductor package inspection equipment
US5734475A (en) * 1996-10-15 1998-03-31 Ceridian Corporation Process of measuring coplanarity of circuit pads and/or grid arrays
US6064759A (en) * 1996-11-08 2000-05-16 Buckley; B. Shawn Computer aided inspection machine
US5828449A (en) * 1997-02-26 1998-10-27 Acuity Imaging, Llc Ring illumination reflective elements on a generally planar surface
US5926557A (en) * 1997-02-26 1999-07-20 Acuity Imaging, Llc Inspection method
US5943125A (en) * 1997-02-26 1999-08-24 Acuity Imaging, Llc Ring illumination apparatus for illuminating reflective elements on a generally planar surface
US6236747B1 (en) * 1997-02-26 2001-05-22 Acuity Imaging, Llc System and method for image subtraction for ball and bumped grid array inspection
US6310644B1 (en) * 1997-03-26 2001-10-30 3Dm Devices Inc. Camera theodolite system
US6005965A (en) 1997-04-07 1999-12-21 Komatsu Ltd. Inspection apparatus for semiconductor packages
US6055054A (en) 1997-05-05 2000-04-25 Beaty; Elwin M. Three dimensional inspection system
US5859698A (en) * 1997-05-07 1999-01-12 Nikon Corporation Method and apparatus for macro defect detection using scattered light
US6134013A (en) * 1997-09-15 2000-10-17 Optimet, Optical Metrology Ltd. Optical ball grid array inspection system
US6055055A (en) * 1997-12-01 2000-04-25 Hewlett-Packard Company Cross optical axis inspection system for integrated circuits
US6096567A (en) * 1997-12-01 2000-08-01 Electroglas, Inc. Method and apparatus for direct probe sensing
US6072898A (en) 1998-01-16 2000-06-06 Beaty; Elwin M. Method and apparatus for three dimensional inspection of electronic components
US6915006B2 (en) * 1998-01-16 2005-07-05 Elwin M. Beaty Method and apparatus for three dimensional inspection of electronic components
US6177682B1 (en) * 1998-10-21 2001-01-23 Novacam Tyechnologies Inc. Inspection of ball grid arrays (BGA) by using shadow images of the solder balls

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5592562A (en) * 1994-01-19 1997-01-07 International Business Machines Corporation Inspection system for cross-sectional imaging
US5692070A (en) * 1994-03-15 1997-11-25 Fujitsu Limited Calibration of semiconductor pattern inspection device and a fabrication process of a semiconductor device using such an inspection device
US5550763A (en) * 1994-05-02 1996-08-27 Michael; David J. Using cone shaped search models to locate ball bonds on wire bonded devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1046127A4 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7293855B2 (en) * 1997-07-15 2007-11-13 Silverbrook Research Pty Ltd Inkjet nozzle with ink supply channel parallel to drop trajectory
CN101966077A (en) * 2010-03-25 2011-02-09 田捷 Multi-angle imaging device
CN106524922A (en) * 2016-10-28 2017-03-22 深圳地平线机器人科技有限公司 Distance measurement calibration method, device and electronic equipment
CN106524922B (en) * 2016-10-28 2019-01-15 深圳地平线机器人科技有限公司 Ranging calibration method, device and electronic equipment
CN117269197A (en) * 2023-11-21 2023-12-22 昆明理工大学 Method and device for detecting surface quality of polycrystalline silicon raw material
CN117269197B (en) * 2023-11-21 2024-02-02 昆明理工大学 Method and device for detecting surface quality of polycrystalline silicon raw material

Also Published As

Publication number Publication date
US20050189657A1 (en) 2005-09-01
JP2002509259A (en) 2002-03-26
US7508974B2 (en) 2009-03-24
US6064756A (en) 2000-05-16
US6064757A (en) 2000-05-16
EP1046127A1 (en) 2000-10-25
KR20010040339A (en) 2001-05-15
US6072898A (en) 2000-06-06
CN1287643A (en) 2001-03-14
EP1046127A4 (en) 2007-02-07
US6862365B1 (en) 2005-03-01

Similar Documents

Publication Publication Date Title
US6072898A (en) Method and apparatus for three dimensional inspection of electronic components
US7085411B2 (en) Method of manufacturing electronic components including a method for three dimensional inspection
US6915007B2 (en) Method and apparatus for three dimensional inspection of electronic components
US5909285A (en) Three dimensional inspection system
JP4901903B2 (en) 3D inspection system
EP1153265B1 (en) Method and device for optically inspecting objects on a substrate
US7653237B2 (en) Method of manufacturing ball array devices using an inspection apparatus having two or more cameras and ball array devices produced according to the method
JPH07311025A (en) Three-dimensional shape inspection device
US7570798B2 (en) Method of manufacturing ball array devices using an inspection apparatus having one or more cameras and ball array devices produced according to the method
US20030001117A1 (en) Dimensional measurement apparatus for object features
EP1218688B1 (en) Method and apparatus for three dimensional inspection of electronic components
US20040099710A1 (en) Optical ball height measurement of ball grid arrays
WO2002029357A2 (en) Method and apparatus for evaluating integrated circuit packages having three dimensional features
JP3823488B2 (en) IC lead float inspection device and inspection method
JP2002230523A (en) Inspection device
EP1619623A1 (en) Apparatus for three dimensional measuring on an electronic component

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 99802016.8

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP KR SG

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 1999902217

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020007007825

Country of ref document: KR

ENP Entry into the national phase

Ref document number: 2000 540517

Country of ref document: JP

Kind code of ref document: A

WWP Wipo information: published in national office

Ref document number: 1999902217

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020007007825

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1020007007825

Country of ref document: KR