Forum: Mikrocontroller und Digitale Elektronik Testsystem für embedded black box testing (SPI slave, GPIO, Analog)


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Testsystembauer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

für einen Kunden sollen wir ein Testsystem aufbauen, das ein embedded 
Board  (STM32 basiert) als black box testet.
Das embedded Board (UUT - Unit under test nenne ich es mal) hat 
verschiedenste Schnittstellen, die von außen stimmuliert werden sollen. 
Das Testsystem muss folgende Schnittstellen bedienen können:

 - SPI Slave (UUT ist Master!) - ca. alle 1ms eine 20bytes große SPI 
Transaktion.
 - Analoge Signale, die von der UUT ausgewertet werden - Änderungen im 
50ms Bereich.
 - Digitale Signale (Ein- und Außgänge) - Änderungen im 50ms Bereich.
 - CAN Bus - 1MBit

Die Frage ist nun, wie man das am besten angeht. Auf was für einer Basis 
könnte man das Testsystem realisieren (PC mit entsprechender HW 
(Schnittstellenkarten PCIe/USB, aber welche?); Embedded Board mit 
ordentlicher leistung z.B. Zedboard; andere Möglichkeit?)
Das Testsystem soll definierte Testfälle abfahren können und u.U. auch 
auf bestimmte Ereignisse der UUT reagieren können.

Ich bin sehr gespannt auf Ideen/Ansätze.

Danke und Grüße

von Jörg H. (idc-dragon)


Bewertung
0 lesenswert
nicht lesenswert
Ich habe mehrere solche Testsysteme konzipiert/gebaut und programmiert, 
für Automotive-Steuergeräte.

Es gibt sündhaft teure Universalsysteme, von Spezialisten einzurichten, 
das wollten wir vermeiden.

Weil die Testfälle durch einen PC gesteuert ablaufen sollen, gilt es 
diesem eine passende Hardware zur Seite zu stellen, die die geforderten 
Schnittstellen hat und die geforderten Echtzeitbedingungen einhalten 
kann. Das ist ein weites Feld...

Angefangen haben wir mit Labjack T7. Unsere letzte Ausbaustufe hat dafür 
einen Arduino Due verwendet, mit einem selbst entwickelten Shield um die 
I/Os wie nötig zu implementieren und auf Stecker zu führen. 
(Level-Shifter, mehr ADCs, CAN Transceiver, einen speziellen SPI-Slave.) 
Das Shield ist ziemlich projektspezifisch. Das hat sich gut bewährt, 
würde ich wieder ähnlich machen, ein passendes Controller-Board suchen 
oder aufbauen, für Interfacing sorgen. Da hat man mehr Kontrolle als mit 
Meßhardware.

Ich habe eine eher generische Firmware gebaut, die zeitgesteuert Befehle 
abarbeitet, die der PC in eine Queue speist und Ergebnisse liest. Das 
Gegenstück auf dem PC ist in Python geschrieben, die Testfälle auch. 
Damit kann man die Tests recht komfortabel formulieren, z.B. vererben. 
Top-Level ist pytest, als Framework für Testdurchführung und 
Zusammenfassung der Ergebnisse.

Sowas kann man an ein CI-System anschließen und automatisiert 
Regression-Tests durchführen. Soweit sind wir aber nicht gegangen.

Bevor die Frage kommt, das ist nicht Open Source, sondern auch für eine 
Firma gebaut. Vielleicht lizensieren sie es ja, ist nicht Kernkompetenz 
sondern Mittel zum Zweck.

Dein System scheint weniger komplexe Anforderungen zu haben. Einzige 
Herausforderung ist der SPI Slave. Wir haben sowas in Hardware auf dem 
Shield implementiert. Der Arduino Due kann zwar auch SPI Slave sein, die 
Echtzeitanforderungen waren uns aber im konkreten Fall zu riskant.

Viele Grüße
Jörg

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.