Recherche sur la technologie de la plate-forme d'environnement de test de logiciels embarqués pour les équipements d'ingénierie

1. Composition de l'équipement

Le système ETest_RT est principalement composé d'une partie matérielle et d'une partie logicielle. La partie matérielle est composée d'un ordinateur supérieur et d'un ordinateur inférieur en temps réel.L'ordinateur supérieur utilise un ordinateur portable commercial et l'ordinateur inférieur utilise un ordinateur de mesure et de contrôle PXI. L'ordinateur supérieur installe le système d'exploitation Windows, exécute la gestion des ressources de l'équipement, la conception des tests, la planification des tests, exécute le serveur, le centre de données, exécute le client et le débogueur de téléchargement d'action en temps réel; l'ordinateur inférieur installe le système d'exploitation en temps réel, exécute le module de chargement, le module de processus en temps réel, le module de téléchargement; l'ordinateur inférieur est connecté au système testé via diverses cartes d'interface PXI. Le schéma de principe de la structure matérielle du système ETest_RT est illustré dans la figure ci-dessous.
Insérez la description de l'image ici
ETest_RT adopte un cadre de développement logiciel basé sur des composants et en couches. Le code logiciel sous-jacent est basé sur l'environnement de développement GCC / CMake et est développé en langage C ++; le cadre d'intégration logicielle de niveau supérieur est basé sur l'environnement de développement Micosoft Visual Studio et est développé en langage C # Structure hiérarchique.
Le système est conçu de manière à améliorer progressivement le niveau d'abstraction du matériel à l'utilisateur, et est divisé en couche d'application, couche de gestion, couche de transformation et couche d'exécution.
Couche d'application: l'utilisateur gère l'activité de test. Pour ce qui précède, il protège les utilisateurs de la technologie de mise en œuvre sous-jacente du système, permettant aux utilisateurs de se concentrer sur le test lui-même sans avoir à prêter attention aux détails techniques du système. Ensuite, il appelle diverses données, publie des scripts de test et dirige le démarrage ou l'arrêt des tests.
Couche de gestion: le système reçoit des instructions des utilisateurs au niveau de la couche application, et planifie et coordonne les actions de test en fonction d'unités logiques. En haut, il protège les détails de déploiement du système pour la couche application, de sorte que la couche application n'a pas à changer pour les différences de déploiement; en bas, il distribue les données et les instructions à divers composants.
Couche de transformation: le système achève le mappage et la transformation des concepts logiques en entités physiques. En haut, il protège les détails de travail des périphériques physiques pour la couche de gestion et fournit des données organisées en unités logiques; en bas, il émet des instructions de fonctionnement matérielles spécifiques à la couche d'exécution.
Couche d'exécution: le système effectue des actions physiques réelles. En haut, il signale les données d'entrée et les informations d'état du périphérique physique; en bas, il fait fonctionner le matériel pour interagir avec le système testé.
Le logiciel est divisé en état de conception et en état de fonctionnement. Lorsque le système fonctionne dans l'état de conception, il n'est pas nécessaire d'effectuer un déploiement logiciel et matériel complet. Il est utilisé pour planifier des scénarios de test, concevoir des plans de test, rédiger des cas de test, écrire des scripts de test, préparer des données de test et concevoir la surveillance des données.
Lorsque le système fonctionne en état de fonctionnement, le logiciel et le matériel appropriés doivent être déployés conformément aux exigences de conception du plan de test. Il est utilisé pour mettre en œuvre des plans de test, exécuter des cas de test, exécuter des actions de test, surveiller des données en temps réel, obtenir des rapports de test et obtenir des résultats de test. L'état de fonctionnement peut être divisé entre l'extrémité de contrôle et la fin d'exécution en fonction de la position où il est déployé entre le DUT et l'utilisateur, et la fin d'exécution n'a pas besoin d'être surveillée manuellement pendant le travail.
Insérez la description de l'image ici
Les étapes d'utilisation de la plate-forme ETest_RT pour tester le logiciel du système embarqué de l'équipement sont les suivantes (voir Figure 3-3):
Premièrement, utilisez le gestionnaire des ressources de l'équipement pour planifier les ressources de l'équipement, utilisez le logiciel de conception de test pour construire le système sous le modèle de test, concevez cas de test et données, formez un fichier de plan de test.
Une fois le programme de test chargé dans le plan de test, le serveur, le centre de données et le moniteur de données sont démarrés et exploités.
Le serveur en cours d'exécution analyse les scripts de test pour former des ressources de processus de test, qui sont compilées et liées par le sous-système informatique supérieur en temps réel et téléchargées sur l'ordinateur inférieur en temps réel.
L'ordinateur inférieur en temps réel charge le script en temps réel et forme un processus en temps réel via le paramétrage. Pendant le test, le processus en temps réel interagit avec le système testé via différentes cartes sous la forme de bus PXI; pendant le
processus d'exécution des tests, l'ordinateur inférieur en temps réel progresse vers la position supérieure en temps réel.La partie ordinateur rapporte toutes sortes de données au centre de données, et le centre de données distribue toutes sortes de données d'exploitation au moniteur de données et à l'atelier de répartition.
Pendant le test, les données de test peuvent être surveillées, analysées et évaluées à l'aide d'un logiciel d'enregistrement et de visualisation des données de test et d'un logiciel de surveillance de test.
Insérez la description de l'image ici

2. Principales fonctions de chaque module

(1) Pièce matérielle

Le matériel se compose d'un ordinateur supérieur et d'un ordinateur inférieur en temps réel. L'ordinateur supérieur utilise un ordinateur portable commercial et l'ordinateur inférieur utilise un ordinateur de mesure et de contrôle PXI. La carte d'interface est directement connectée à l'ordinateur inférieur de test via l'interface PXI, formant un environnement de test pouvant répondre aux exigences de plusieurs types d'interfaces. Les indicateurs des principaux composants matériels sont les suivants:

① Châssis PXI

 Châssis PXI compact à 9 emplacements avec 1 emplacement système, 1 emplacement de déclenchement de bus de déclenchement et 7 emplacements pour périphériques PXI / Compact PCI
Plage de température de fonctionnement étendue de 0 ° C à + 50 ° C
 Fonctionnement ultra-faible 41,6 dBA Bruit
 Gestion intelligente du châssis
 Structure légère en aluminium / acier de
5,9 kg  Taille: 280 mm × 177 mm × 303 mm
Alimentation CA de qualité industrielle de 350 W
LED de surveillance de l'alimentation, de la température et du ventilateur

② Contrôleur PXI

 Processeur Intel® Core ™ 2 Duo P8400 2,53 GHz
 Prise en charge du double affichage VGA + DVI
 DDR3 SODIMM double canal 16 Go
 Débit maximal du système 132 Mo / s
 Disque dur SATA intégré 250 Go
 E / S intégrées  Horloge de
surveillance programmable

③ Carte de bus 1553B

 Multifonction à double canal, chaque canal est à double redondance des canaux A et B
 Prise en charge de 1M / 2M / 4Mbps et de la vitesse de transmission définie par l'utilisateur
 L'intervalle de trame et le temps d'intervalle de message peuvent être définis par le logiciel
 Horodatage de prise en charge, résolution 1 μs
 Prise en charge de l'autotest, de l'injection d'erreur
 Prise en charge d'interruption et de déclenchement externe
 Mode BC (contrôleur de bus)
 Trame BC programmable
 intervalle de message programmable  message
non périodique peut être inséré dynamiquement
 double tampon de données
 programmable
 BusA, BusB en option
 Support Message de saut de branche
 Prise en charge de l'injection d'erreur
 Mode RT (terminal distant)
 Tampon de données unique
 Double tampon de
données
Tampon de données de cycle de sous-adresse  Commande illégale programmable
 Prise en charge de l'injection d'erreurs
 Mode BM (moniteur de bus)
 Enregistrement des messages à 100%
 filtrage programmable des données de surveillance
 réception de l'horodatage

④ Carte d'interface de bus ARINC429

 Nombre de canaux: configuration flexible du nombre de canaux, maximum 8 envois et 8 réception
 Débit de communication: 100 Kbps, 12,5 Kbps, 50 Kbps, 48 ​​Kbps, 98 Kbps
 Inter-mot intervalle: 4 bits, programmable

⑤ Carte bus CAN

 2 canaux
 Débit de communication: prend en charge tout débit en bauds entre 1 Kbps ~ 1 Mbit / s
Prend en charge la transmission bidirectionnelle, l'envoi CAN et la réception CAN
 Compatible avec les protocoles CAN2.0A et CAN2.0B

⑥ Carte d'interface de bus RS232 / RS485 / RS422

 Nombre de canaux: configurez de manière flexible le nombre de canaux, jusqu'à 4 canaux
 Débit de
communication : jusqu'à 8 Mbps  Protocole de communication: RS232 / 422/485 (réglage logiciel)

⑦ Entrée analogique AD

 8 canaux d'échantillonnage parallèle
 Résolution ADC: 16 bits
 Fréquence d'échantillonnage maximale: 100 Kéch / s
 Contrôle par programme de la plage de mesure
 Capacité de stockage: 4 MSa / canal

⑧ Sortie analogique DA

 Sortie analogique 8 canaux
 Résolution DAC: 16 bits
 16 canaux E / S numériques TTL / COMS, entrée / sortie programmable
 Compteur 2 canaux 32 bits

⑨ Entrée / sortie numérique

 E / S numériques 32 canaux compatibles avec le niveau TTL / COMS
 Chaque canal est optiquement isolé
 Le taux de transmission le plus élevé est de 1 MHz
 Stockage de masse 4 Mo / canal

⑩ Ordinateur hôte

 CPU: dual-core i5-6200U 2,3 GHz
 Mémoire: DDR4 2133 MHz, 8 Go
Disque SSD : 256 Go
 Écran d'affichage: 14 pouces, résolution 1920 * 1080
 Mémoire vidéo indépendante: 2 Go

(2) Établi de conception

L'atelier de conception modélise le système à tester et ses interfaces externes, effectue l'édition et l'analyse du protocole, crée la surveillance des tests, établit la planification du matériel, crée et gère les cas de test et détermine le nombre de périphériques d'interface à préparer pour les tests. Ses principales fonctions sont les suivantes:
 Réaliser la gestion du plan de test, les opérations du plan de test comprennent: créer un plan, ouvrir un plan et enregistrer un plan.
 Chaque plan de test peut contenir un ou plusieurs éléments de test. L'existence de plusieurs éléments de test permet à chaque plan de test de terminer la conception de plusieurs éléments de test, ce qui facilite le test d'intégration de plusieurs éléments de configuration dans le système.
 Le projet de test comporte des opérations de création, de changement de nom, de suppression et d'affichage d'attributs.
 Décrivez graphiquement le système testé, le système périphérique et l'interface externe du système testé, y compris le numéro et le type de l'interface, y compris RS422, 1553B, CAN, AD, DA, DI, DO, CT, Freq-CT , TCP et autres types; capable de définir les paramètres d'interface.
 Créez un protocole d'interface et utilisez le langage de description de protocole pour décrire le protocole, y compris l'en-tête de paquet, la queue de paquet, la vérification, etc., décrivez chaque type de champ et méthode de codage, ainsi que les structures de branche, de boucle et autres.
 Afin de répondre aux besoins de diverses communications de données, le champ de protocole a une multitude de types, y compris: entier (non signé et signé, 8 bits / 16 bits / 32 bits / longueur personnalisée), type à virgule flottante, Type booléen, type d'instruction conditionnelle, type d'instruction de branche, champ calculé, champ de contrôle, champ de tableau.
 Créez une surveillance de test, décrivez le contenu de la surveillance et affichez la forme de surveillance des données en temps réel et définissez les conditions d'alarme.
 Les utilisateurs peuvent ajouter une surveillance de test au module de surveillance de test et ajouter des instruments de surveillance de données sur le panneau de surveillance, et lier des champs de protocole ou des résultats de calcul sur le terrain selon une certaine formule via différents types d'instruments de surveillance, afin de surveiller les pointeurs ou les valeurs Des instruments pendant le fonctionnement Le changement des données montre visuellement le changement des données pendant la communication de test.
 La barre d'outils de surveillance des tests gère tous les instruments de surveillance des tests, y compris les compteurs numériques, les compteurs à disque, les graphiques, les types énumérés, etc. Sélectionnez l'instrument de surveillance approprié et faites-le glisser vers la position appropriée sur le panneau de surveillance pour ajouter l'instrument de surveillance au panneau de surveillance. Faites glisser le bord de l'instrument de contrôle avec la souris pour ajuster sa taille.
 Ouvrez l'onglet "Propriétés", vous pouvez modifier les propriétés de l'instrument de test. L'attribut le plus important est l'attribut "segment de protocole", qui indique la source de données de l'instrument de surveillance.
 Grâce au bouton de développement situé à droite de la propriété "Segment de protocole", vous pouvez ouvrir la boîte de dialogue "Protocole de données de liaison", qui affiche tous les protocoles et segments de protocole dans le modèle de simulation du projet en cours.
 La source de données de l'instrument de test peut être soit un champ de protocole, soit une formule composée de plusieurs champs de protocole.
 Entrez le champ de protocole ou la formule composée du champ de protocole dans la zone de saisie en bas de la boîte de dialogue "Binding Data Protocol". Double-cliquez sur le nom du champ souhaité pour ajouter le nom du champ à la position du curseur de la formule personnalisée.
 Créez un plan matériel de test, déterminez l'équipement de la carte d'interface à utiliser pour le test et les ressources correspondant à l'équipement de la carte d'interface.
 Créez des cas de test et fournissez des méthodes de gestion pour les cas de test, y compris le regroupement, la suppression, le changement de nom, etc.
 Le contenu de la création de cas de test, y compris l'utilisation de scripts de test pour décrire le processus de test, y compris les définitions de variables, les instructions conditionnelles, les instructions de boucle, les instructions de sortie, les opérations mathématiques, les définitions de fonction, etc.
 Fournit une interface étendue pour les scripts de test, qui peut réaliser une interaction de données et une analyse automatique des données avec le DUT, et analyser le flux de bits en données utilisateur significatives.
 Fournir un moyen de contrôle de la synchronisation et être capable d'effectuer des opérations spécifiées conformément à une certaine synchronisation.
 Fournissez la méthode de configuration de l'environnement d'exploitation, définissez l'adresse IP et le numéro de port du serveur de modèle de simulation, du serveur du centre de données, du serveur d'exécution de test et du client pendant l'opération de test.
 Fournit la fonction de configuration de la surveillance d'entrée et de sortie standard et détermine le type de configuration de la surveillance d'entrée et de sortie standard.
 Fournissez un mode d'exécution du script de test, qui peut exécuter le script de test sélectionné par l'utilisateur; l'utilisateur peut choisir de mettre fin au script en cours d'exécution.
 Capable d'afficher les informations de sortie et les informations d'erreur.

(3) Testez et exécutez le logiciel de service

Le logiciel de service de test d'opération comprend la station de répartition des tests, le serveur d'exploitation et le centre de données. Ils coopèrent avec le logiciel client pour piloter les données de test et exécuter des tests automatisés.
Réaliser principalement les fonctions suivantes:  Fournir un programme d'exécution de fond de service de planification de processus, avec l'aide de l'agent de planification de processus, selon la conception du logiciel de conception de test, démarrer l'exécution du test, le client, le serveur et d'autres processus sur l'hôte de test, et coordonner via le service de planification des processus La logique de fonctionnement de chaque logiciel.
 Fournir le programme d'exécution en arrière-plan du serveur de modèle de simulation, analyser le modèle de simulation établi par la conception de test via le serveur de modèle de simulation et réaliser le service d'analyse de simulation d'envoi et de réception de données pendant l'exécution du test.
 Fournir des programmes d'exécution en arrière-plan du serveur du centre de données Pendant l'exécution des cas de test, le serveur du centre de données traitera de manière centralisée et uniforme les reçus de réception et d'envoi dans le canal pour assurer la réalisation distribuée de la surveillance des données.
 Fournir le programme d'exécution en arrière-plan du serveur de cas d'utilisation pour analyser et traiter le processus d'exécution des cas de test écrits dans la conception de test.
 Fournir un programme de fenêtre de surveillance d'entrée et de sortie standard, qui peut afficher les informations de débogage pendant l'exécution du serveur de modèle de simulation, du serveur du centre de données, du processus client et du serveur de cas d'utilisation.
 Analysez les définitions de variables, les phrases conditionnelles, les phrases en boucle, les phrases de sortie, les opérations mathématiques, les définitions de fonctions et autres phrases dans le script de test, et effectuez les opérations correspondantes.
 Analysez l'interface d'extension du script de test pour réaliser l'envoi / la réception de données et l'analyse des données vers le système testé.
 Analysez le script de test et opérez conformément aux exigences de contrôle du temps.
 Enregistrez toutes les données d'entrée au démarrage du test; enregistrez toutes les données d'entrée / sortie pendant le test; générez automatiquement un rapport récapitulatif une fois le test terminé.
 Arrêtez immédiatement l'exécution des cas de test en fonction des besoins de l'utilisateur.
 Enregistrez et affichez les résultats d'exécution des cas de test.

(4) Exécutez le client et le moniteur de données

Le client en cours d'exécution se trouve entre le serveur d'exécution de test et l'ordinateur hôte, exécute l'agent de communication, est responsable de la transmission des données et de la gestion et du contrôle du processus de test du client, et extrait les données environnementales de l'ordinateur hôte. Le moniteur de données affiche les données de test actuelles sous la forme d'instruments virtuels ou de graphiques. Les deux modules implémentent principalement les fonctions suivantes:
 Gérer le sous-système en temps réel et établir la relation de connexion entre le sous-système en temps réel et le terminal de commande en fonctionnement.
 Fournir des ressources d'exploitation pour le sous-système en temps réel.
 Une fois connecté au logiciel de service de test, toutes les interfaces de surveillance de test conçues par le logiciel de conception de test s'affichent et un ou plusieurs panneaux de surveillance de test peuvent être sélectionnés pour la surveillance de test.
 Exécutez la surveillance de test spécifiée, affichez les données de test spécifiées en temps réel pendant l'exécution du test et fournissez des méthodes de surveillance des données telles que des instruments numériques, des tableaux de bord, des éléments d'énumération et des graphiques.
 Il peut afficher les données de test lors de l'exécution du test en temps réel;
 Il peut afficher les données de test dans le format de données de protocole analysé, ou il peut afficher les données de test en binaire, octal, hexadécimal.
 Les conditions de filtrage des données peuvent être définies pour réaliser la fonction d'affichage de données spécifiques sur l'interface.
 Les conditions d'alarme de données peuvent être définies.Lorsque certaines données caractéristiques apparaissent, le logiciel affichera les données qui remplissent les conditions d'alarme sous une forme visible.
 Vous pouvez interroger des données, vous pouvez interroger le message d'une certaine période de temps, ou vous pouvez interroger les données d'un certain champ de protocole.
 Vous pouvez effectuer des statistiques sur les données spécifiées et vous pouvez également afficher le graphique de la courbe de données.

(5) Gestion des ressources en équipement

Le module logiciel de gestion des ressources d'équipement fournit l'équipement de test et les fonctions de gestion des canaux pris en charge par le système, et fournit une interface pour l'extension de l'équipement du système. Il réalise principalement les fonctions suivantes:
 Ajouter et supprimer des équipements système.
 Modifiez le nombre d'équipements du système.
 Ajoutez et supprimez des chaînes incluses dans l'appareil.
 Modifiez le nombre et le type de canaux inclus dans l'appareil.
 Enregistrez les informations sur l'appareil dans le fichier de ressources de l'appareil et utilisez-le dans le logiciel de conception de test.

(6) Ordinateur supérieur en temps réel de la fin d'exécution en mode exécution

La fin d'exécution de l'état d'exécution est le sous-système clé pour réaliser des performances en temps réel, y compris l'ordinateur supérieur en temps réel et l'ordinateur inférieur en temps réel. Sa forme est illustrée dans la figure ci-dessous (la case en pointillés est l'autre partie du système): l'
Insérez la description de l'image ici
ordinateur hôte en temps réel possède des modules tels que la gestion de l'environnement, le compilateur, le débogueur de téléchargement, le formatage des données, etc.
 Le module de gestion environnementale gère toutes les métadonnées d'entrée. Ces données sont utilisées pour l'analyse des scripts et le formatage des données. La conception de la gestion environnementale est exigée par le principe d'intégration. Les données environnementales sont actuellement connues dans les catégories suivantes: planification des équipements, descriptions de protocoles, modèles de simulation et scripts d'action.
 Le compilateur, les métadonnées fournies par la gestion complète de l'environnement, compile et génère le code binaire qui peut être exécuté par le système d'exploitation en temps réel de l'ordinateur inférieur. Étant donné que le travail de compilation principal a été achevé dans l'état de conception, voici principalement la liaison. Le contenu principal du travail du compilateur est: extraire le modèle de test en tant qu'objet "langage de script d'action en temps réel"; optimisation globale; lier les trois parties du modèle de simulation, langage de description de protocole et RASL, joindre le cadre principal pour former un programme en temps réel; lorsque le système est placé Lors du débogage, intégrez les informations de débogage.
 Téléchargez le débogueur et envoyez le résultat compilé du compilateur à l'ordinateur inférieur. Lorsque le système est en état de débogage, le script d'action en temps réel est débogué. Le débogueur prend en charge les fonctions suivantes: débogage à distance, chargement de programme, accrochage de programme, interruption manuelle, réglage du point d'arrêt, observation de variables et exécution en une seule étape.
 Formatage des données, formatage des données téléchargées vers le centre de données, principalement en utilisant les données de gestion environnementale pour restaurer les métadonnées telles que les noms et les structures.

(7) Ordinateur inférieur en temps réel de la fin d'exécution en mode exécution

L'ordinateur inférieur en temps réel de la fin d'exécution de l'état d'exécution comprend des modules tels que le chargeur, le processus en temps réel et le téléchargeur.
 Le chargeur de l'ordinateur inférieur reçoit le programme de l'ordinateur supérieur, définit l'environnement, charge et démarre le code. Il peut recevoir des instructions de l'ordinateur hôte pour avertir le programme de se fermer. Lorsque le système est en état de débogage, démarrez le stub de débogage pour que le débogueur de l'ordinateur supérieur se connecte.
 Le processus en temps réel de l'ordinateur inférieur est généré par le chargeur pour démarrer le programme informatique supérieur, qui complète spécifiquement l'action de test en temps réel. La trame principale du code du processus temps réel est fixée et stockée dans le compilateur de l'ordinateur hôte sous la forme d'une bibliothèque statique. Après avoir incorporé le code de simulation et testé le code d'action dans le cadre principal, un programme complet est formé. Par conséquent, le processus en temps réel a des capacités de communication de base universelles, y compris la capacité de recevoir la commande de fermeture du chargeur et d'envoyer les données pertinentes au téléchargeur. Lorsque le système est en mode de débogage, le processus en temps réel contiendra le code de débogage nécessaire.
 Le téléchargeur de l'ordinateur inférieur reçoit les données du processus en temps réel et les télécharge de manière asynchrone sur l'ordinateur supérieur.

(8) Outils auxiliaires

Le logiciel d'outils fournit certains outils logiciels couramment utilisés pour les tests de systèmes embarqués, principalement les modules logiciels suivants:
 Outil de génération de données de courbe: avec l'édition de données de courbe, la sélection de coordonnées, la lecture de données de courbe, le stockage de données de courbe et d'autres fonctions, il peut coopérer avec le logiciel d'exécution de test, fournir une méthode de génération de données de test.
 Outil d'enregistrement et de visualisation des données de test: pendant l'exécution du test, il peut enregistrer les données d'exécution du test pour visualisation et analyse après l'exécution du test, y compris la sélection de protocole, le filtrage des données et les fonctions de réglage des conditions d'alarme.
 Outil de génération de protocole d'application; fournit une fonction d'édition tabulaire du protocole d'application et peut définir la composition du champ, le type de champ, la valeur par défaut du champ, etc. du protocole.
 Diagnostic du plug-in CRC et générateur de plug-in CRC: fournissent la fonction de conception de l'algorithme de vérification CRC, peuvent concevoir un algorithme CRC personnalisé, diagnostiquer son exactitude et enfin former le plug-in d'algorithme de champ CRC dans le langage de description de protocole.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_45013592/article/details/113353374
conseillé
Classement