Fabricant et Assemblage des cartes électroniques ultra-précis, PCB haute-fréquence, PCB haute-vitesse, et PCB standard ou PCB multi-couches.
On fournit un service PCB&PCBA personnalisé et très fiable pour tout vos projets.
Blogue PCB

Blogue PCB - Conception de circuit matériel de machine de test de carte PCB basée sur FPGA

Blogue PCB

Blogue PCB - Conception de circuit matériel de machine de test de carte PCB basée sur FPGA

Conception de circuit matériel de machine de test de carte PCB basée sur FPGA

2022-07-19
View:541
Author:pcb

Afin d'améliorer la vitesse de test de la machine de test de carte PCB, de simplifier la conception de la carte, d'améliorer la reconfigurabilité du système et la facilité de portage de l'algorithme de test, un système de contrôle matériel basé sur FPGA est proposé. Pour la conception, le Field Programmable Gate Array (FPGA) ep1k50 d'altera a été choisi pour compléter la conception matérielle et la mise en service du système de contrôle à l'aide des outils de conception EDA synplify, modelsim, Quartus II et verilog Hardware Description Language, résolvant les problèmes difficiles à mettre en œuvre avec les circuits traditionnels. Le principe de test de base de la machine de test de lumière de carte PCB est la loi d'ohm. La méthode de test consiste à ajouter une certaine tension de test entre les points à mesurer, en utilisant le circuit de décodage pour sélectionner les deux points à mesurer sur la carte PCB, pour obtenir la valeur de résistance correspondante entre les deux points. Le signal de tension teste la résistance ou la conductivité entre deux points au moyen d'un circuit de comparaison de tension. Répétez les étapes ci - dessus plusieurs fois pour tester toute la carte. En raison du grand nombre de points de test, la machine de test générale a plus de 2048 points de test et le circuit de contrôle de test est également plus complexe. La méthode de recherche des points de test et la méthode de commutation affectent directement la vitesse de test de la machine de test. Cet article examine la conception d'un système de contrôle matériel basé sur FPGA.

Carte PCB

Système de contrôle matériel

Le processus de test est sous le contrôle de l'hôte, qui contrôle le circuit de test pour allumer différents interrupteurs de test. Le système de la machine de test se compose des éléments suivants: une machine de mise en position PC104, une logique de commande de test (implémentée par un FPGA) et un circuit de test haute tension. Parmi eux, la machine montante remplit principalement des fonctions telles que l'interaction homme - machine, l'algorithme de test, le traitement des données de test, la sortie de contrôle, etc. Le circuit de test haute tension contrôlé par FPGA complète le processus de test de la carte PCB. Le système contrôle les tests via le bus PC104 avec le PC104 comme machine de mise en position et le FPGA comme machine de mise en position.

Circuit d'interface pour FPGA avec PC104

Le bus PC104 est un bus de commande industriel spécifiquement défini pour la commande embarquée et dont la définition de signal est sensiblement la même que celle du bus ISA. Le bus PC104 a 4 cycles de bus, à savoir 8 bits, 16 bits, DMA et rafraîchissement. Le cycle du bus d'E / s 16 bits est de 3 cycles d'horloge et le cycle du bus d'E / s 8 bits est de 6 cycles d'horloge. Pour augmenter la vitesse de communication, le bus ISA utilise un mode de communication 16 bits, c'est - à - dire un mode E / s 16 bits. Afin de tirer le meilleur parti des ressources du PC104, le FPGA a été configuré en ligne après une extension du bus système du PC104. En fonctionnement normal, il communique avec le FPGA via le bus PC104.


Interface du FPGA avec les dispositifs A / D et D / a série

Selon les exigences de conception du système du testeur, un auto - test de la tension d'essai et de la tension de référence à deux canaux est nécessaire, c'est - à - dire qu'il existe au moins trois canaux de conversion A / D. Les tensions de référence des deux circuits de comparaison sont sorties par D / a, de sorte que le canal D / A du système nécessite deux canaux. Pour réduire le nombre de lignes de signaux de commande A / D et D / a, on choisit les séries A / D et D / a. En combinant les performances, le prix et d'autres facteurs, l'équipement A / D choisi est tlc2543 et l'équipement D / A est tlv5618. Le tlv5618 est un DAC à double sortie de tension de 12 bits avec une entrée de référence tampon (Haute impédance) de TI, contrôlée numériquement via un bus série 3 fils compatible CMOS. Le dispositif accepte un mot de commande de 16 bits et produit deux sorties analogiques D / a. Le tlv5618 n'a qu'un seul cycle d'E / s, déterminé par l'horloge externe SCL K, qui dure 16 cycles d'horloge, écrit le mot de commande dans le registre sur puce et effectue une transition D / a une fois terminé. Le mot de commande tlv5618 read est valide à partir du Front descendant de CS et lit les données à partir du Front descendant du sclk suivant. Après la lecture des données de 16 bits, il passe au cycle de conversion jusqu'à l'apparition du Front descendant suivant de CS. Le tlc2543 est un convertisseur A / D à condensateur de commutation de 12 bits à approche progressive avec commande série et 11 entrées ti. Le convertisseur sur puce se caractérise par une vitesse élevée, une grande précision et un faible bruit. Le processus de travail du tlc2543 est divisé en deux cycles: le cycle d'E / s et le cycle de conversion. La période d'entrée / sortie est déterminée par l'horloge externe sclk qui dure 8, 12 ou 16 cycles d'horloge et effectue deux opérations simultanées: l'entrée de 8 bits de données dans le registre sur puce en mode MSB sur le front montant de sclk; Les fronts descendants des résultats de conversion sclk 8, 12, 16 bits sont émis en mode MSB. La période de conversion commence par le Front descendant de sclk dans la période d'E / s jusqu'à ce que le signal EOC passe au niveau haut, indiquant que la conversion est terminée. Afin d'être cohérent avec le cycle d'E / s du tlv5618, la méthode MSB a été utilisée et la séquence de transmission à 16 horloges du CS a été utilisée.


Comme les deux appareils sont des interfaces SPI, ils peuvent être connectés au même bus SPI et fonctionner sur des appareils différents via des signaux de sélection de puce différents. En raison de la complexité du Protocole d'interface SPI, on voit sur la figure 3 que la synchronisation de ces deux dispositifs n'utilise pas toutes les séquences d'interface SPI. Afin d'implémenter un ordonnancement conforme à la logique ci - dessus et de réduire le gaspillage de ressources FPGA d'inspection IP d'interface SPI standard, cette conception adopte l'approche de conception du langage de description matérielle verilog pour implémenter une machine d'état synchrone (FSM) et écrire un ADC et un DAC pour contrôler l'ordonnancement. Le programme est en fait une machine d'état imbriquée, la machine d'état maître et la machine d'état esclave constituent, par l'intermédiaire d'une ligne de commande, des machines d'état finies ayant des fonctions différentes dans des conditions de signal d'entrée différentes. On sait de la figure 3 que l'opération D / A A 4 états alors que l'opération A / D a 7 états. Plusieurs états dans les deux états sont identiques, il est donc possible d'utiliser une machine à états finis pour effectuer les opérations de série A / D et D / A. le programme est en fait une machine à états imbriquée. Les machines d'états maître et esclave forment des machines d'états finis plus complexes avec des fonctions différentes sous des signaux d'entrée différents, par l'intermédiaire d'un bus commandé par le bus. L'horloge de pilotage (sclk) et le bus de données (si, so) sont partagés par les opérations A / D et D / a. Comme le cycle d'écriture de l'opération comporte 16 cycles d'horloge et que le cycle de lecture comporte 12 cycles d'horloge, le module est réalisé dans trois machines à états finis imbriquées. Dans la conception du système, les opérations ad et da sont encapsulées dans un seul module et le module de contrôle supérieur délivre des mots de commande et des signaux de commande pour initier les opérations correspondantes de ce module. Une fois l'opération terminée (passage à l'état inactif), ce module envoie un signal d'état correspondent au module supérieur.


Cadre de programmation FPGA

Les programmes sur puce FPGA sont essentiels au bon fonctionnement de l'ensemble du système de test. Le système est divisé en 5 modules indépendants, à savoir le module de communication (ISA), le module de test (test), le module ad / da, le module de décodage (Decoder) et le module de contrôle RAM (ramctl), selon le principe de conception FPGA descendant. Module ISA: module de communication et de contrôle du système, complète la communication avec l'hôte, l'interprétation du mot de commande, la génération du signal de commande, etc. le système démarre le module Adda, complète la sortie de la tension de référence en fonction des paramètres tels que la résistance de conduction, la tension d'isolation, etc. transmis par l'hôte; Démarrez le module de test pour terminer le processus de test selon la commande de test. Les données sont transférées entre plusieurs machines d'état synchrones fonctionnant de manière synchrone et il est plus difficile de contrôler la communication de données et la synchronisation des données entre plusieurs processus. Module de contrôle RAM: avant le début du test, l'hôte transmet les informations du point de test via le bus au module ISA qui les stocke dans la RAM sur puce; Une fois le test terminé, les résultats du test dans la RAM sont transférés à l'ordinateur principal. Au cours du test, le module de test ouvre le commutateur de test correspondent en lisant l'information du point de test dans la RAM, puis enregistre le résultat du test dans la RAM. De cette façon, les deux modules ont besoin de lire et d'écrire dans la RAM pour permettre le partage de données entre les deux modules, ce qui nécessite un signal de commande pour connecter les deux groupes de lignes de signal de lecture et d'écriture respectivement au module RAM, qui remplit cette fonction. Module de test (test): Bien qu'il existe différentes procédures de test telles que l'auto - test de niveau ouvert, le test de continuité, le test d'isolation, etc., la procédure de test est la même, c'est - à - dire le test de balayage. Le déroulement du test est le suivant: ajout de la tension de référence du circuit de comparaison - Ouverture de l'interrupteur du point à mesurer - retard - lecture du résultat du comparateur - test d'un autre ensemble de points de test. Le module entre dans différents processus de test selon différents opcodes. Le résultat du test et le numéro du point de test forment ensemble des données de 13 bits et sont sauvegardés dans la mémoire vive et couvrent les informations de numérotation du point de test d'origine.


Module de décodage (Decoder): Ce module est suspendu après le module de test (test) et complète la cartographie des numéros de commutateur sur le circuit réel. En raison de la forme différente de la matrice de broches de test et de la conception matérielle différente du circuit de décodage et du circuit de commande, l'information de commutation de test en sortie du module supérieur ne peut pas être utilisée directement comme sortie pour commander le circuit de commutation de test. Le module de décodage complète la transition entre les deux. Module ad / da (AD / da): conception de l'interface de bus SPI pour faire fonctionner les périphériques A / D et D / a, les modules démarrent pour permettre des signaux (mignons, mortels) et le signal occupé est utilisé comme signal d'indicateur de fin de conversion. Les opérations D / a sont encapsulées par rapport aux autres modules. Chaque module du système est écrit dans le langage de description matérielle verilog et utilise plusieurs couches de machines d'état synchrones imbriquées (FSM) pour remplir les fonctions logiques de l'ensemble du système; Chaque module complète la simulation fonctionnelle du module à l'aide de l'outil de simulation modelsim, et le test fonctionnel d'achèvement du système complète la simulation et la synthèse post - système, le câblage avec l'outil de routage intégré quartusii d'alterA, et optimise le module de programme en utilisant pleinement le noyau IP fourni par altera; La conception de la couche supérieure utilise la méthode d'entrée de diagramme bloc, et le flux de données entre les modules est représenté plus visuellement par un diagramme bloc. Le système de contrôle matériel de la machine de test de carte PCB basé sur FPGA augmente la vitesse de test de la machine de test de carte PCB et simplifie la conception du circuit. En outre, en raison de la nature Reconfigurable du FPGA, une bonne base est établie pour d'autres mises à niveau optimisées des algorithmes logiciels et des structures matérielles du système, avec de bonnes perspectives d'application sur les cartes PCB.