METHODS AND SYSTEMS FOR ASSESSING PRINTED CIRCUIT BOARDS
20230021965 · 2023-01-26
Assignee
Inventors
- Jochen Bönig (Nürnberg, DE)
- Hans KARLSHÖFER (Utting am Ammersee, DE)
- Grzegorz KRAJEWSKI (Leczyca, PL)
- Stefan KRAUS (Buttenheim, DE)
- Markus KROMPASS (Stuttgart, DE)
- Michael MAGG (Erlangen, DE)
- Martin MICHEL (Germering, DE)
- Robert MOODY (Knutsford, GB)
- Michaela SANDMANN (Hausen, DE)
- ERIK SCHWULERA (Erlangen, DE)
- Kerstin WEIGAND (Eggolsheim, DE)
Cpc classification
G01R31/2803
PHYSICS
G01R31/27
PHYSICS
International classification
Abstract
A computer-implemented method for assessing at least one printed circuit board includes receiving input data based on testing data of a printed circuit board, wherein the testing data represent in-circuit test testing data and include measurement data of a plurality of electronic components of the printed circuit board, applying a trained classification function to the input data, and generating and providing output data. The output data include an assignment of at least one of the electronic components to one of at least two different classes.
Claims
1.-14. (canceled)
15. A computer-implemented method for assessing a printed circuit board, comprising: receiving input data which are based on testing data of the printed circuit board, wherein the testing data represent in-circuit test testing data comprising measurement data of a plurality of electronic components of the printed circuit board; applying a trained classification function to the input data and generating output data which comprise an assignment of at least one of the plurality of the electronic components of the printed circuit board to one of at least two different classes; and providing the output data.
16. The method of claim 15, wherein the trained classification function is based on a multi-variate classification algorithm and comprises at least one algorithm selected from an ordinary linear regression algorithm, a random forest algorithm, a gradient boosting algorithm, a LASSO algorithm, an adaptive LASSO algorithm, a linear regression algorithm with regularization, a logistic regression algorithm, and a binary logistic regression algorithm.
17. The method of claim 15, wherein one of the at least two different classes corresponds to a category of pseudo-malfunctioning printed circuit boards.
18. The method of claim 17, wherein the printed circuit board is assigned to a group of three different classes consisting of: a first class corresponding to a category of functioning printed circuit boards; a second class corresponding to a category of malfunctioning printed circuit boards, and a third class corresponding to the category of pseudo-malfunctioning printed circuit boards.
19. The method of claim 15, wherein the measurement data comprise measurement data of at least one electrical parameter of each electronic component of the plurality of the electronic components of the printed circuit board.
20. The method of claim 19, wherein the input data and the output data comprise layout information of the printed circuit board and the providing the output data comprises visualizing the measurement data of the at least one electrical parameter of each electronic component of the plurality of the electronic components of the printed circuit board, based on the layout information.
21. The method of claim 19, further comprising: optimizing at least one statistical parameter determining a pre-specified allowed range of values of the at least one electrical parameter; and based on the output data, recommending the at least one optimized statistical parameter for use in further testing.
22. The method of claim 21, further comprising using a trained recommendation function to recommend the at least one optimized statistical parameter, wherein the trained recommendation function is based on at least one of a data-driven optimization, a distributionally robust optimization, an online linear programming algorithm, a least squares with nonconvex regularization, and an alternating direction method of multipliers with multiple blocks.
23. The method of claim 15, wherein providing the trained classification function comprises: A0) receiving training input data and training output data, wherein the training input data are representative of the in-circuit test testing data and the training output data are representative of the assignment; B0) executing a classification function on the training input data and generating therefrom predicted training output data; C0) comparing the training output data to the predicted training output data and determining therefrom an error; D0) updating the classification function in accordance with the determined error, and E0) iteratively performing the steps A0) to D0) to reduce the error.
24. The method of claim 22, wherein providing the trained recommendation function comprises: A1) receiving training input data and training output data, wherein the training input data are representative of the at least one recommended optimized statistical parameter which determines a pre-specified range of values of the at/east one electrical parameter of each electronic component, with the pre-specified range of values comprising values that are allowed during printed circuit board testing and the training output data is representative of an acceptance of the recommendation of the at least one optimized statistical parameter; B1) executing a recommendation function on the training input data and generating therefrom predicted training output data; C1) comparing the training output data to the predicted training output data and determining therefrom an error; D1) updating the recommendation function in accordance with the determined error, and E1) iteratively performing the steps A1) to D1) to reduce the error.
25. A machine-readable data medium, comprising output data obtained by a method set forth in claim 14.
26. A computer program embodied on a non-transitory machine-readable data medium and comprising instructions, which when loaded into a memory of a computer and executed by a processor of the computer, cause the computer to execute a method set forth in claim 14.
27. A system configured to assess a printed circuit board, the system comprising: a first interface configured to receive input data based on in-circuit-test testing data of the printed circuit board, wherein the testing data comprise measurement data of a plurality of electronic components of the printed circuit board; a computation apparatus configured to apply a trained classification function to the input data to generate output data; a second interface configured to provide the output data which comprise an assignment of at least one of the plurality of the electronic components of the printed circuit board to one of at least two different classes.
28. The system of claim 27, wherein the computation apparatus or the second interface is configured to optimize a statistical parameter which determines a pre-specified range of allowed values of at least one electrical parameter of each electronic component of the plurality of the electronic components, recommend, by applying a trained recommendation function, the optimized statistical parameter for use in the further testing, and provide the output data.
Description
[0077] The above and other objects and advantages of the invention will be apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, and in which:
[0078]
[0079]
[0080]
[0081]
[0082]
[0083]
[0084]
[0085]
[0086]
[0087]
[0088] Turning to
[0089] In particular,
[0090] The in-circuit tests of each printed circuit board PCB1, PCB2, PCB3 can be performed by one or more testing machines TM1, TM2, TM3.
[0091] All printed circuit boards PCB1, PCB2, PCB3 can be of the same type. Many printed circuit boards of many different types can be tested.
[0092] After a test is performed, the ICT testing data TD, which comprises measurement data MDB of a plurality of electronic components of the printed circuit boards PCB1, PCB2, PCB3, can be forwarded to a system, where assignments ASG of printed circuit boards PCB1, PCB2, PCB3 are performed. Before arriving at the system as an input data ID, the testing data can be preprocessed (for example by a pre-processor PP) in some way or it can be forwarded as a raw data.
[0093] The input data ID is based on the ICT testing data TD of the printed circuit boards PCB1, PCB2, PCB3.
[0094] The system can comprise a first interface IF1, which is con figured for receiving the input data ID. The system can also comprise a computation apparatus CU, configured for applying a trained classification function TCF to the input data ID in order to generate an output data. As depicted on
[0095] In some embodiments the first interface IF1 can be a part of a gateway component GW (
[0096] The system can further comprise a second interface IF2, con figured for providing the output data. The output data comprises assignments ASG of single electronic components of the tested printed circuit boards PCB1, PCB2, PCB3 to one of at least two different classes.
[0097] The system can be realized as an edge device.
[0098] Turing to
[0102] The steps S1 to S3 can be carried out in the environment depicted in
[0103] In some embodiments, one of the at least two classes corresponds to a category of pseudo-malfunctioning printed circuit boards. I.e. at least one of the plurality of the electronic components of the at least one printed circuit board has a pseudo-error (“false bad”).
[0104] The “category of pseudo-malfunctioning printed circuit boards” contains printed circuit boards that have only pseudo-error (s), meaning that they are functioning printed circuit boards, but failed to pass the test, e.g. due to increased temperature of the printed circuit boards during the testing, which can lead to an overall drift of the measurement statistics. The term “pseudo-error” is broadly known in the field of printed circuit board testing.
[0105] In some embodiments each printed circuit board PCB1, PCB2, PCB3 is assigned to the group of three classes, more particular, to the group consisting of:
a first class, wherein the first class corresponds to a cate gory of functioning printed circuit boards;
a second class, wherein the second class corresponds to a category of malfunctioning printed circuit boards, and
a third class, wherein the third class corresponds to the category of pseudo-malfunctioning printed circuit boards. In this case, the feature vector has three entries, e.g. “PASS” for functioning printed circuit boards, “FAIL” for malfunctioning printed circuit boards and “PSEUDO-ERROR” for functioning printed circuit boards with at least one pseudo error.
[0106] In some embodiments, the trained classification function TCF can be based on a multi-variate classification algorithm, more particular, the multi-variate classification algorithm is an ordinary linear regression algorithm, a random forest algorithm, a gradient boosting algorithm, a LASSO algorithm, in particular, an adaptive LASSO algorithm, more particularly a linear regression algorithm with regularization, or a logistic regression algorithm, in particular, a binary logistic regression algorithm.
[0107] Various parameters of the printed circuit boards PCB1, PCB2, PCB3 can be measured, so that the ICT testing data TD can comprise measurement data of a plurality of the electrical parameters, e.g. at least one electrical parameter is measured for a plurality of electronic components, particularly for each electronic component of each printed circuit board PCB1, PCB2, PCB3. As mentioned above, in case of contaminated bad connections, a measurement of a resistance (electronic component) has a non-zero resistance value (a first electrical parameter) and also a non-zero capacitance (a second electrical parameter), which is compromising the measured value.
[0108] In some embodiments analog and/or digital electrical parameters of printed circuit boards PCB1, PCB2, PCB3 can be measured.
[0109] In some embodiments the measurements can comprise measurements of all electronic components, e.g. resistances, inductivities, capacities etc. of the printed circuit boards PCB1, PCB2, PCB3.
[0110] In some embodiments the input data ID and the output data comprise layout information of the tested printed circuit boards PCB1, PCB2, PCB3. For example, if printed circuit boards PCB1, PCB2, PCB3 of the same type are tested, then they have identical layout. It can be of an advantage if the measurement data MDB is visualized and the visualization utilizes the layout information. The visualization can be per formed at the same time as the assignment ASG of a particular printed circuit board PCB1, PCB2 or PCB3 is provided.
[0111] In some embodiments the visualization can be performed for example by means of a human machine interface HMI. Such HMI can be a part of the second interface IF2 of the computation apparatus CU and be co-located with the industrial plant PL (
[0112] In case, when various parameters of each printed circuit board are measured, the assignment ASG of a particular printed circuit board can be based on a plurality of single assignments, wherein each single assignment is an assignment of a particular parameter of that printed circuit board to one of the at least two, more particularly three, different classes. E.g. If all single assignments are “PASS”, then the overall assignment ASG is also “PASS”.
[0113] It will be appreciated that in order to pass the test the measured value of each parameter should lie within a prespecified allowed range of values. This pre-specified range of values can be determined in terms of statistical quantities/parameters. For example, such pre-specified range can be given in terms of a nominal value of the parameter (e.g. mean nominal value) and a confidence interval, e.g. of σ, 2 σ, 3 σ, 4σ or 5σ, wherein a is a standard deviation.
[0114] Due to various interference factors, e.g. different temperature of the printed circuit boards PCB1, PCB2, PCB3 during the testing, remaining dirt after production etc., the predetermined range of values might not describe the actual behavior of the parameter property. For example, the nominal value of a resistance can be determined to be R.sub.0 at a room temperature, i.e. at about 25° C. During the measurement, however, the temperature of the printed circuit board undergoing the test can be higher (e.g. 50° C. to 60° C. or even higher) or lower than the room temperature. Due to this effect the predetermined nominal value of the resistance does not correspond to its nominal value in the real production environment. This can lead to a shift of the probability distribution describing the measurement of the parameter with respect to the predetermined nominal probability distribution.
[0115] The measurement of parameters of the printed circuit boards PCB1, PCB2, PCB3 can be also described in terms of statistical parameters, e.g. in terms of location parameters and/or of spread parameters. Examples of such statistical parameters are standard deviation, variance, range, interquartile range, absolute deviation etc.
[0116] Therefore, the testing data TD of the printed circuit board (s) PCB1, PCB2, PCB3 can comprise predetermined allowed ranges of values for electrical parameters for electronic components of the printed circuit board as well as measured values of these electrical parameter(s), whose distributions can be compared with the predetermined allowed ranges of values.
[0117] In the state-of-the-art testing this range of values is specified by human experts, a test engineer, and does not depend on the recently performed measurements but is rather chosen according to design rules or experience and adjusted during the new product introduction process based on process data.
[0118] It will be appreciated that the “recently performed measurements” regard e.g. to the measurements, which have been per formed during the last production cycle. For example, such recent measurements four weeks can be measurements of the last four weeks.
[0119] Turning to
[0120] The above-mentioned optimization can be performed based on recent historical testing data.
[0121] In some embodiments the optimization can be performed according to a heuristic mathematical model. For example, an optimized nominal value of a parameter, e.g. of a resistance, can be calculated based on parameter values, which were measured during the past four weeks for functioning printed circuit boards, i.e. for the printed circuit boards that passed the test. The optimized nominal value can be for example a mean value. The upper and lower bound of the confidence interval can be calculated e.g. for 5σ.
[0122] In some embodiments the recommending can be performed by means of a trained recommendation function TRF, more particularly, the trained recommendation function is based on a da ta-driven optimization, particularly on a distributionally robust optimization and/or an online linear programming algorithm and/or a least squares with nonconvex regularization and/or an alternating direction method of multipliers (ADMM) with multiple blocks.
[0123] The recommended optimized values of the predetermined statistical parameter(s) can be visualized, for example on the second interface.
[0124] Turning to
[0125] Compared to the computation apparatus CU of
[0126] The additional hardware and/or software component can comprise a model MOD for optimizing one or more nominal values of the parameters in the testing based on the recent data, e.g. the data from the same production cycle. For example, the model can be a heuristical mathematical model, which, based on the measurement data of the functioning printed circuit boards, evaluates mean value for each measured parameter. The model can also optimize further statistical parameters of the measured parameter, e.g. (allowed) deviation, variance, range, interquartile range, absolute deviation etc.
[0127] The second interface IF2′ can be configured for recommending the optimized statistical parameter(s) OPT. For example, the second interface IF2′ can suggest using the above-mentioned calculated mean value instead of the nominal value and/or optimized allowed value of deviation, variance, range, inter quartile range, absolute deviation for use in the further testing.
[0128] For example, the optimized statistical parameters OPT can be calculated in the cloud PN and forwarded to the industrial plant PL (arrow in
[0129] For example, the second interface IF2′ can comprise visualization apparatus, e.g. a human-machine-interface HMI′. The human-machine-interface HMI′ can be configured to visualize the optimized statistical parameters OPT (and the assignment ASG). The human-machine-interface HMI′ can be also configured to receive the optimized statistical parameters OPT directly from the cloud PN.
[0130] The additional software component ASC can be also co-located with the industrial plant PL and be stored for example on the gateway component GW.
[0131] The above-mentioned trained recommendation function TRF for recommending/suggesting the optimized statistical parameters OPT can be stored on the second interface IF2′. More particularly, the trained recommendation function TRF can be stored on the human-machine-interface HMI′ (
[0132] It will be appreciated that applying the trained classification function TCF and/or optimizing the predetermined statistical parameters to achieve the optimized statistical parameters OPT and/or applying the trained recommendation function TRF can be performed remotely. All these operations can be carried out in the cloud, such that the final products of the method, i.e. assignments ASG which can be optionally augmented by a recommendation of the optimized statistical parameters OPT, will be produced off-site and not at the industrial plant PL.
[0133] In particular,
[0137] More particularly, the step of providing the assignment(s) ASG can also comprise providing the at least one optimized statistical parameter OPT for further testing—step P2′ in
[0138] Considering the above,
[0139] The comparing—step C0—can be performed using a confusion matrix.
[0140] The classification function can be based on a multi-variate classification algorithm, for example, on an ordinary linear regression algorithm, on a random forest algorithm, on a gradient boosting algorithm, on a LASSO algorithm, in particular, on an adaptive LASSO algorithm, more particularly on a linear regression algorithm with regularization, or on a logistic regression algorithm, in particular, on a binary logistic regression algorithm.
[0141] The method can be performed using different classification functions, wherein the end results are compared after fitting is done. In this way the training method can comprise per forming steps A0 to D0 for different classification functions, e.g. in parallel, and choosing the best performing mode/algorithm after the training is finished.
[0142] In some embodiments the method can further comprise a step of cross-validation.
[0143] In some embodiments the method can comprise data-preprocessing, which can be performed before step A0. The preprocessing of the training data can be performed also on the testing data TD, e.g. by the pre-processor PP.
[0144] A substep of cross-validation—the step of splitting an entire dataset into a training dataset and a validation dataset can be a part of such preprocessing. The training dataset consists of training input data and training output data. Such training dataset can be testing data of a part of the plurality of the printed circuit boards, e.g. only of PCB1, i.e. the training input data, augmented by the corresponding assignments, i.e. the training output data.
[0145] Therefore, the training dataset can constitute a part of the entire dataset, so that a probability of overfitting the mod el is reduced. Particularly good results can be achieved if the training dataset constitutes about 20% of the entire dataset. Further improvements can be achieved if the cross-validation is performed and always new training dataset is chosen from the entire dataset. Even better results are achieved, if the new training dataset does not overlap any of older training datasets. In this way the training data is always “fresh”.
[0146] Turning to
[0147] First, the data is received from one or more data sources.
[0148]
[0149] The measurement data MDB can be provided for example in form of .csv format files and can comprise millions, e.g. about 4 to 5 millions of entries, which correspond to the measurements of different electrical parameters of the printed circuit boards. The assignment data ADB can be provided for example in form of .xls format files and can comprise thousands, e.g. about 6 to 7 thousands of entries. The measurement data MDB can be provided for example in form of .pcf format files.
[0150] This data can be pre-processed DPP as follows. The pre processing can be performed in an automated manner. In an embodiment, a violation history VH (of the printed circuit boards) can be created. The violation history can comprise time(s) of passing measurement cycle, first/last pass, time(s) of failing measurement cycle, first/last fail, number of threshold violations, wherein the threshold determine the allowable range of values of a (measured) parameter of the printed circuit boards.
[0151] In an embodiment a labelling LL of the measurement data MDB based on the assignment data ADB can be performed. The labelling can comprise preparation of labels for two or more categories, e.g. for first pass “PASS”, for pseudo-errors “PSEUDO-ERROR” and for pure failures “FAIL”. In this manner supervised learning can be enabled in an easy manner.
[0152] To handle the violation information as well the experts information (on thresholds) in a better way, outliers can be logarithmized OL beyond the thresholds, i.e. outside of the range of allowed values.
[0153] To reduce features principal component analysis (PCA), correlation analysis and/or variation coefficient considerations can be performed FR.
[0154] The pre-proccessed data PPD or a part of it, if e.g. a cross-validation is performed, can be then provided as training dataset to the classification function CF, which can be located in the cloud PN.
[0155] It will be appreciated that the measurement data MDB, the assignment data ADB etc. can be provided in a cloud or in form of a data lake, which can be co-located with the industrial plant PL or be in the cloud PN or even be distributed between the industrial plant PL and the cloud PN. The data lake can comprise a manufacturing data lake. These data bases can be updated by the results of implementing the above-described methods, e.g. by the assignments ASG and/or by the optimized statistical parameters OPT.
[0156] Turning to
[0161] In some embodiments the recommendation function can be based on a data-driven optimization, particularly on a distributionally robust optimization and/or an online linear programming algorithm and/or a least squares with nonconvex regularization and/or an alternating direction method of multipliers (ADMM) with multiple blocks.
[0162]
[0163] The training system can comprise a first training interface TIF1, configured for receiving training input data and training output data, e.g. in form of pre-processed training data PPD, wherein the training input data is representative of a ICT testing data TD of printed circuit boards PCB1, PCB2, PCB3, wherein the ICT testing data comprises measurement data MDB of a plurality of electronic components of the at least one printed circuit board and the training output data is representative of assignments ASG of at least one, particularly of each of the plurality of the electronic components of the printed circuit boards PCB1, PCB2, PCB3, wherein each assignment is an assignment of an electronic component of a printed circuit board to one of at least two, more particularly, three different classes and different assignments correspond to different electronic components. The training system can further comprise a training computation apparatus TCA, configured for executing a classification function CF on the training input data in order to generate predicted training output data: comparing the training output data to the predicted training output data in order to determine an error, and for updating the classification function in accordance with the determined error. Furthermore, the training system can comprise a second training interface TIF2, configured for providing the trained classification function.
[0164] The training system shown in
[0165] The above described embodiments of the present disclosure are presented for purposes of illustration and not of limitation. In particular, the embodiments described with regard to figures are only few examples of the embodiments described in the introductory part.
[0166] The reference signs in the claims used only for clarity purposes and shall not be considered to be a limiting part of the claims.
[0167] Features, advantages or alternative embodiments herein can be assigned to the other claimed objects and vice versa. In other words, claims for the providing systems can be improved with features described or claimed in the context of the methods. In this case, the functional features of the Method are embodied by objective units of the providing system.
[0168] “Furthermore, in the following the solution according to the invention is described with respect to methods and systems for utilization of trained functions as well as with respect to methods and systems for providing the trained functions. Features, advantages or alternative embodiments herein can be assigned to the other claimed objects and vice versa. In other words, claims for methods and systems for providing the trained functions can be improved with features described or claimed in context of the methods and systems for utilization of the trained functions, and vice versa.
[0169] In particular, the trained (machine learning) function or algorithm of the methods and systems can be adapted by the methods and systems for providing the trained function. Furthermore, the input data can comprise advantageous features and embodiments of the training input data, and vice versa. Furthermore, the output data can comprise advantageous features and embodiments of the output training data, and vice versa.
[0170] In general, a trained function mimics cognitive functions that humans associate with other human minds. In particular, by training based on training data the trained function is able to adapt to new circumstances and to detect and extrapolate patterns.
[0171] In general, parameters of a trained function can be adapted by means of training. In particular, for training of the recommendation function supervised training, semi-supervised training, unsupervised training, reinforcement learning and/or active learning can be used. Furthermore, representation learning (an alternative term is “feature learning”) can be used. In particular, the parameters of the trained functions can be adapted iteratively by several steps of training.
[0172] In particular, a trained function can comprise a neural net-work, a support vector machine, a decision tree and/or a Bayesian network, and/or the trained function can be based on k-means clustering, Q-learning, genetic algorithms and/or association rules. In particular, a neural network can be a deep neural network, a convolutional neural network or a convolutional deep neural network. Furthermore, a neural network can be an adversarial network, a deep adversarial network and/or a generative adversarial network.