Präzisions-Leiterplattenherstellung, Hochfrequenz-Leiterplatten, mehrschichtige Leiterplatten und Leiterplattenbestückung.
Leiterplatte Blog

Leiterplatte Blog - Entwurf der Hardwareschaltung der Leiterplattenprüfmaschine basierend auf FPGA

Leiterplatte Blog

Leiterplatte Blog - Entwurf der Hardwareschaltung der Leiterplattenprüfmaschine basierend auf FPGA

Entwurf der Hardwareschaltung der Leiterplattenprüfmaschine basierend auf FPGA

2022-07-19
View:299
Author:pcb

Um die Testgeschwindigkeit der Leiterplatte Prüfmaschine, Vereinfachen Sie das Design der Leiterplatte, Verbesserung der Rekonfigurierbarkeit des Systems und der Bequemlichkeit der Testalgorithmustransplantation, ein Hardware-Steuerungssystem Design Schema der Leiterplatte Prüfmaschine basierend auf FPGA wird vorgeschlagen. Im Design, the field programmable gate array (FPGA) EP1K50 of Altera Corporation is selected, und das Hardwaredesign und Debugging der Steuerung werden mit den EDA Design Tools Synplify abgeschlossen, Modellim, Quartus II, und Verilog Hardware Description Language, und das Problem, das mit konventionellen Schaltungen schwer zu realisieren ist, wird gelöst. . Das grundlegende Testprinzip der Leiterplatte Lichttestmaschine ist Ohms Gesetz. Die Prüfmethode besteht darin, eine bestimmte Prüfspannung zwischen den zu prüfenden Punkten hinzuzufügen, Verwenden Sie die Decodierschaltung, um die beiden Punkte auszuwählen, die auf der Leiterplatte, und den entsprechenden Widerstandswert zwischen den beiden Punkten erhalten. Das Spannungssignal, durch die Spannungsvergleichsschaltung, prüft den Widerstand oder die Kontinuität zwischen den beiden Punkten. Wiederholen Sie die obigen Schritte mehrmals, um die gesamte Leiterplatte zu testen. Aufgrund einer großen Anzahl von getesteten Punkten, die allgemeine Prüfmaschine ist mehr als 2048 Punkte, und der Teststeuerkreis ist komplizierter. Das Suchverfahren und Schaltverfahren des Prüfpunktes beeinflussen direkt die Prüfgeschwindigkeit der Prüfmaschine. Dieser Beitrag untersucht das Design des Hardware-Steuerungssystems basierend auf FPGA.

Leiterplatte

Hardware-Kontrollsystem

Der Testprozess besteht darin, den Testkreis zu steuern, um verschiedene Testschalter unter der Kontrolle des Hostcomputers einzuschalten. Das Prüfmaschinensystem besteht aus den folgenden Teilen: dem oberen Computer PC104, der Teststeuerungslogik (implementiert durch FPGA) und dem Hochspannungsprüfkreis. Unter ihnen vervollständigt der obere Computer hauptsächlich die Funktionen der Mensch-Computer-Interaktion, des Testalgorithmus, der Testdatenverarbeitung und der Steuerausgabe. Das FPGA steuert den Hochspannungsprüfstrom, um den Testprozess der Leiterplatte abzuschließen. Dieses System verwendet einen PC104 als Oberrechner und FPGA als Steuerung des Tests durch den Oberrechner über den PC104 Bus.

Schnittstellenschaltung zwischen FPGA und PC104

Der PC104-Bus ist ein industrieller Steuerbus, der speziell für eingebettete Steuerung definiert ist, und seine Signaldefinition ist im Grunde die gleiche wie die des ISA-Busses. PC104 Bus hat 4-Arten von Buszyklen, nämlich 8-Bit Bus Zyklus, 16-Bit Bus Zyklus, DMA Bus Zyklus und Refresh Bus Zyklus. Der 16-Bit-I/O-Buszyklus ist 3-Taktzyklus und der 8-Bit-I/O-Buszyklus ist 6-Taktzyklus. Um die Geschwindigkeit der Kommunikation zu verbessern, verwendet der ISA-Bus einen 16-Bit-Kommunikationsmodus, nämlich den 16-Bit-I/O-Modus. Um die Ressourcen von PC104 voll auszuschöpfen, wird das FPGA nach der Erweiterung des Systembusses von PC104 online konfiguriert und kommuniziert im Normalbetrieb über den PC104-Bus mit FPGA.


Die Schnittstelle zwischen FPGA und seriellen A/D- und D/A-Geräten

Entsprechend den Systementwurfsanforderungen des Prüfgeräts ist es notwendig, eine Selbstkontrolle der Prüfspannung und der Zweikanalbezugsspannung durchzuführen, das heißt, es gibt mindestens drei A/D-Wandlungskanäle. Die Referenzspannung der beiden Vergleichsschaltungen wird vom D/A ausgegeben, so dass der D/A-Kanal des Systems zwei Kanäle benötigt. Um die Anzahl der Steuersignalleitungen von A/D und D/A zu reduzieren, werden serielle A/D- und D/A-Geräte ausgewählt. Umfassende Leistung, Preis und andere Faktoren, das ausgewählte A/D-Gerät ist TLC2543 und das D/A-Gerät TLV5618. Der TLV5618 ist ein dualer 12-Bit-Spannungsausgang-DAC mit einem gepufferten Referenzeingang (hochohmig) von TI, der digital über einen CMOS-kompatiblen 3-Draht-seriellen Bus gesteuert wird. Das Gerät akzeptiert ein 16-Bit-Kommandowort und erzeugt zwei D/A-Analogausgänge. TLV5618 hat nur einen einzigen I/O-Zyklus, der durch die externe Uhr SCL K bestimmt wird, die 16-Taktzyklen dauert, das Kommandowort in das On-Chip-Register schreibt und nach Abschluss D/A-Konvertierung durchführt. TLV5618 Lesebefehlswort ist gültig von der fallenden Kante des CS und beginnt, Daten von der fallenden Kante des nächsten SCLK zu lesen. Nach dem Lesen von 16-Bit-Daten tritt es in den Konvertierungszyklus, bis die nächste fallende Kante von CS auftritt. Der TLC2543 ist ein 12-Bit-geschalteter Kondensator-Sukzessive Näherungs-A/D-Wandler mit serieller Steuerung und 11-Eingängen von TI. On-Chip-Wandler zeichnen sich durch hohe Geschwindigkeit, hohe Präzision und geringes Rauschen aus. Der Arbeitsprozess von TLC2543 ist in zwei Zyklen unterteilt: den I/O-Zyklus und den Umwandlungszyklus. Der I/O-Zyklus wird durch die externe Uhr SCLK bestimmt, die für 8-, 12- oder 16-Taktzyklen dauert und zwei Operationen gleichzeitig ausführt: Eingabe von 8-Bit-Daten in das On-Chip-Register im MSB-Modus an der steigenden Kante von SCLK; Ausgabe im MSB-Modus auf der fallenden Kante von SCLK 8, 12, 16-Bit Konvertierungsergebnis. Der Umwandlungszyklus beginnt an einer fallenden Kante von SCLK im I/O-Zyklus, bis das EOC-Signal hoch geht, was anzeigt, dass die Umwandlung abgeschlossen ist. Um mit dem I/O-Zyklus von TLV5618 konsistent zu sein, wird die MSB-Methode verwendet und das Timing der 16-Takt-Übertragung von CS verwendet.


Da beide Geräte SPI-Schnittstellen sind, können sie an denselben SPI-Bus angeschlossen werden und auf verschiedenen Geräten über unterschiedliche Chip-Select-Signale betrieben werden. Da das SPI-Schnittstellenprotokoll komplex ist und wie aus Abbildung 3 ersichtlich ist, verwendet das Timing dieser beiden Geräte nicht das gesamte SPI-Schnittstellenprotokoll. Um das Timing in Übereinstimmung mit der obigen Logik zu realisieren und die Verschwendung von Standard-SPI-Schnittstellen-IP-PrüfFPGA-Ressourcen zu reduzieren, nimmt das Design Verilog-Hardwarebeschreibungssprache an, um die Entwurfsmethode der Synchronzustandsmaschine (FSM) zu realisieren und schreibt ADC und DAC, um die Timing-Sequenz zu steuern. Das Programm ist tatsächlich eine verschachtelte Zustandsmaschine, und die Master State Machine und die Slave State Machine bilden Finite State Maschinen mit verschiedenen Funktionen unter verschiedenen Eingangssignalbedingungen durch den Bus, der von der Steuerleitung gestartet wird. Aus Fig. 3 kann bekannt werden, dass die D/A-Operation 4-Zustände hat und die A/D-Operation 7-Zustände hat. Mehrere Zustände in den beiden Zuständen sind gleich, so dass eine Finite State Maschine verwendet werden kann, um den Betrieb der seriellen A/D und D/A abzuschließen. Das Programm ist eigentlich eine verschachtelte Zustandsmaschine. Die Master State Machine und die Slave State Machine bilden eine komplexere Finite State Machine mit unterschiedlichen Funktionen unter verschiedenen Eingangssignalen durch den Bus, der vom Steuerbus gestartet wird. Drive Clock (SCLK) und Datenbus (SI, SO) werden von A/D- und D/A-Operationen gemeinsam genutzt. Da der Schreibzyklus der Operation 16-Taktzyklen hat und der Lesezyklus 12-Taktzyklen hat, wird das Modul in drei verschachtelten Finite-State-Maschinen durchgeführt. Im Systemdesign sind die AD- und DA-Operationen in einem einzigen Modul gekapselt, und das obere Steuerungsmodul gibt das Befehlswort und das Steuersignal aus, um den entsprechenden Betrieb dieses Moduls zu starten. Nach Abschluss der Operation (Eintritt in den Idle-Zustand) sendet dieses Modul das entsprechende Statussignal an das Oberschichtmodul.


FPGA-Programmplanungsrahmen

Das FPGA On-Chip Programm ist der Schlüssel zum korrekten Betrieb des gesamten Prüfsystems. Nach dem Top-Down-FPGA-Konstruktionsprinzip ist das System in fünf unabhängige Module unterteilt, nämlich das Kommunikationsmodul (ISA), Testmodul (TEST), AD/DA-Modul, Decodiermodul (DECODER) und RAM-Steuermodul (RAMCTL). ISA-Modul: Systemkommunikations- und Steuermodul, schließt die Kommunikation mit dem Hostcomputer, Befehlswortinterpretation, Steuersignalerzeugung usw. ab. Das System startet das ADDA-Modul, um die Ausgabe der Referenzspannung entsprechend dem Einschaltwiderstand, der Isolationsspannung und anderen Parametern abzuschließen, die vom Hostcomputer übertragen werden; Startet das Testmodul, um den Testprozess gemäß dem Testbefehl abzuschließen. Daten werden zwischen mehreren synchronen Zustandsmaschinen übertragen, die synchron laufen, und es ist schwieriger, die Datenkommunikation und Datensynchronisation zwischen mehreren Prozessen zu steuern. RAM-Steuermodul: Bevor der Test startet, überträgt der Hostcomputer die Informationen des Testpunkts an das ISA-Modul durch den Bus, und das ISA-Modul speichert sie im On-Chip-RAM; Nach Abschluss des Tests wird das Testergebnis im RAM an den Hostcomputer übertragen. Während des Tests öffnet das Testmodul den entsprechenden Testschalter, indem es die Informationen des Testpunktes im RAM liest und dann das Testergebnis im RAM speichert. Auf diese Weise müssen beide Module RAM lesen und schreiben, um eine Datenaustausch zwischen den beiden Modulen zu erreichen, was ein Steuersignal erfordert, um die beiden Gruppen von Lese- und Schreibsignalleitungen mit dem RAM-Modul beziehungsweise das RAM-Steuermodul schließt diese Funktion ab. Testmodul (TEST): Obwohl es verschiedene Testverfahren gibt, wie Schalterkartenselbstprüfung, Durchgangstest, Isolationstest usw., ist das Testverfahren das gleiche, nämlich Testscan. Der Arbeitsprozess des Tests ist: Füge die Referenzspannung der Vergleichsschaltung hinzu â­ Dieses Modul erfasst verschiedene Testprozesse nach unterschiedlichen Opcodes. Das Testergebnis und die Prüfpunktnummer bilden zusammen 13-Bit-Daten und speichern sie im RAM und decken die Zahleninformationen des ursprünglichen Prüfpunkts ab.


Decoding module (DECODER): This module hangs after the test module (TEST), es vervollständigt die Zuordnung von Schalternummern zu tatsächlichen Schaltkreisen. Aufgrund der verschiedenen Formen des Testpinarrays und der unterschiedlichen Hardwaredesigns der Decodierschaltung und der Steuerschaltung, Die Prüfschalter-Informationsausgabe des übergeordneten Moduls kann nicht direkt als Ausgang zur Steuerung des Prüfschalter-Schaltkreises verwendet werden. Das Dekodierungsmodul schließt die Konvertierung zwischen den beiden. AD/DA module (AD/DA): Design the SPI bus interface to operate the A/D und D/A Geräte, the module is started with the allowable (adorable, damnable) signal and the busy signal is used as the conversion completion flag signal. D/A Operationen sind relativ zu anderen Modulen gekapselt. Jedes Modul des Systems ist in Verilog Hardware Beschreibungssprache geschrieben, and multiple layers of nested synchronous state machines (FSM) are used to complete the logic function of the whole system; each module uses the simulation tool Modelsim to complete the function simulation of the module, Verwenden Sie Alteras integriertes Routing-Tool QuartusII, um die Simulation und Synthese nach dem System abzuschließen., Verkabelung, und den von Altera zur Verfügung gestellten IP-Kern zur Optimierung der Programmmodule in vollem Umfang nutzen; Das Design der obersten Ebene nimmt die Blockdiagramm-Eingabemethode an, und der Datenfluss zwischen Modulen wird durch das Blockdiagramm intuitiver dargestellt. . Das Hardware-Steuerungssystem der Leiterplatte Prüfmaschine basierend auf FPGA verbessert die Prüfgeschwindigkeit der Leiterplatte Prüfmaschine und vereinfacht das Schaltungsdesign. Darüber hinaus, aufgrund der rekonfigurierbaren Eigenschaften von FPGA, Es hat eine gute Grundlage für die weitere Optimierung und Aktualisierung des Software-Algorithmus und der Hardwarestruktur des Systems gelegt und eine gute Anwendungsperspektive auf Leiterplatte.