Forum: Mikrocontroller und Digitale Elektronik Werkzeug, um Signale automatisert zu testen


von Cosi (Gast)


Lesenswert?

Hallo,

ich habe ein Experiment vor Augen. Ich möchte einen Signalgenerator 
entwickeln, nur digitale Signale erzeugend. Das besondere für mich: Ich 
möchte ihn quasi als Einmann-Scrumteam entwickeln.

TDD benütze ich schon lange. Doch nun sollen es auch kontinuierliche 
Akzeptanztests sein. Natürlich sollen meine Zwischenergebnisse auch 
Querschnitte und nicht Schichten sein. Und im Laufe der Zeit möchte ich 
so mit meinem Generator, ausgehend von einem einfachen PWM-Signal, immer 
individuellere Signale erzeugen können.

Bzgl. meiner Frage denke ich da an die Akzeptanztests. Ich möchte diese 
zuerst definieren und ablaufen lassen können, bevor ich mich an die 
Implementierung signalgeneratorseitig mache.

Welche Hardware fällt Euch dazu ein?

Ich dache schon an einen DSP, doch dann wird die Umwelt des 
Signalgenerators komplizierter als der Signalgenerator selbst.
Und hätte ich dann kein Henne-Ei-Problem? Optimal wäre es also, wenn ich 
Funktionen zum überprüfen der Signale nicht erst alle selbst schreiben 
muss, wenn diese Seite recht handlich und einfach bleibt.

Dann dachte ich z.B. an eine Möglichkeit die erzeugten Signale z.B max. 
5s lang aufzunehmen und zu speichern, Abtastrate z.B. mindestens 
1/(2^16*10) = 1/655.360. Auf diesen Speicher sollte ich dann per PC, 
z.B. via USB zugreifen können. So dass ich dort z.B. in Java meine 
Akzeptanztest schreiben kann.

Gibt es z.B. einfache Oszilloskope die das können? Oder noch etwas 
einfacheres? Was (HW/SW) fällt Euch dazu ein?

von someone (Gast)


Lesenswert?

Einige Oszilloskope beherrschen einen sog. Masken-Test. Dort definiert 
man das Signal und die akzeptable Abweichung. Die DS2000-Serie von Rigol 
kann das beispielsweise mit der passenden Option.

von Cosi (Gast)


Lesenswert?

Vielen Dank für die schnelle Antwort!!

Müsste ich dann aber nicht für jedes Signal das ich testen möchte das 
Oszi per Hand verstellen? Gibt es auch eine Lösung mit der ich 
automatisiert, der Reihe nach verschiedene Signale / Einstellungen 
meines Generators testen kann?

von F. F. (foldi)


Lesenswert?

someone schrieb:
> Die DS2000-Serie von Rigol kann das beispielsweise mit der passenden
> Option.

DS1052E kann das auch schon.

von Cosi (Gast)


Lesenswert?

Ich nannte ein Oszi, um damit evtl. ein Signal aufzuzeichnen und dieses 
dann, z.B. in Form einer Textdatei, meiner Entwicklungsumgebung 
zugänglich zu machen.

von Cosi (Gast)


Lesenswert?

Cosi schrieb:
> Ich nannte ein Oszi, um damit evtl. ein Signal aufzuzeichnen und dieses
> dann, z.B. in Form einer Textdatei, meiner Entwicklungsumgebung
> zugänglich zu machen.

Kann ich das mit den genannten Oszis auch machen?

von Gerd E. (robberknight)


Lesenswert?

Cosi schrieb:
> Ich möchte einen Signalgenerator
> entwickeln, nur digitale Signale erzeugend.
[...]
> TDD benütze ich schon lange. Doch nun sollen es auch kontinuierliche
> Akzeptanztests sein. Natürlich sollen meine Zwischenergebnisse auch
> Querschnitte und nicht Schichten sein. Und im Laufe der Zeit möchte ich
> so mit meinem Generator, ausgehend von einem einfachen PWM-Signal, immer
> individuellere Signale erzeugen können.
>
> Bzgl. meiner Frage denke ich da an die Akzeptanztests. Ich möchte diese
> zuerst definieren und ablaufen lassen können, bevor ich mich an die
> Implementierung signalgeneratorseitig mache.

Du hörst Dich ziemlich an als ob Du tief aus der Software-Ecke kommst.

Du gehst davon aus, daß wenn Dein Signalgenerator "1" sagt, auch 
wirklich "1" rauskommt und die Fehler nur daher kommen können, daß Dein 
Generator fehlerhafterweise plötzlich "0" ausgibt, auch wenn Du 
eigentlich gerne "1" gehabt hättest.

Du hast es hier aber mit echter Hardware und analogen Spannungspegeln zu 
tun:

Du hast meinetwegen 3,3V CMOS-Pegel und sagst < 0,7V ist low und >2,4V 
ist high. Was passiert jetzt wenn Dein Ding plötzlich dauerhaft 1V 
ausgibt? Das wäre ganz klar ein Fehler.

Auch kann z.B. die Schaltzeit zwischen zwei Pegeln zu langsam sein.

Oder zwischen 2 Bitzeiten springt der Pegel kurz auf einen falschen Wert 
(Glitch).

Sowas siehst Du nur auf dem Oszi.

Allerdings ist ein Oszi nur begrenzt geeignet, über eine längere Zeit 
ein Signal aufzunehmen und zu analysieren, dafür ist einfach der 
Speicher irgendwann zu Ende. Dafür nimmt man dann besser einen 
Logic-Analyzer, die können meist länger aufzeichnen.

Schau Dir mal Sigrok an, damit kannst gut automatisieren und die hinten 
rauskommenden Files automatisch an Deine Testsuite übergeben.

: Bearbeitet durch User
von Cosi (Gast)


Lesenswert?

Cosi schrieb:
> Ich nannte ein Oszi, um damit evtl. ein Signal aufzuzeichnen und dieses
> dann, z.B. in Form einer Textdatei, meiner Entwicklungsumgebung
> zugänglich zu machen.

Und könnt Ihr mir eine open-source Lib nennen, die ich z.B. in ein C++, 
Java oder C#-Projekt einbinden kann, welche mir ermöglicht derartige 
Dateien auszuwerten?

von Einn Scrummler (Gast)


Lesenswert?

Ach, dieser Scrummkult ist für Kodiersklaven, die zu blöd zum Entwickeln 
sind.

Wenn du so ein Testtool bauen kannst, brauchst du diese Scrum-Bürokratie 
nicht.

So etwas lohnt sich nur, wenn ein brauchbarer Entwickler die 
Testumgebung für zwei Dutzend Knalltüten aufbaut.

von Cosi (Gast)


Lesenswert?

Gerd E. schrieb:
> Sowas siehst Du nur auf dem Oszi.

Ich könnte so einen Graphen doch auch nachträglich darstellen und 
auswerten. Das geht auch per Software, hat man die Zahlen in einer 
Dateit.

Mir fallen gleich zwei Vorteile ein, die ein Oszi hat:
- Nüzliche Extras, wie z.B. die Auto-Taste (Idiotentaste), die ich mir 
nicht selbst schreiben muss.
- Es ist definitiv zum Messen von Signalen gemacht, die Auswahl bzgl. 
der Signalart ist also umfangreich und einfach.

von Cosi (Gast)


Lesenswert?

Mir sind da ein paar über dem Weg gelaufen:

- Messkarte (Gibt es preiswerte? Was brauche ich dazu noch?)
- Sounkarte via DirectX API / JavaSound API (wieviele Kanäle sind 
möglich? Nachteile?)
- Oszilloskopkarte via VISA .Net API (Kennt jemand diese API? Gibt es 
Alternativen? Gilt sie nur für NI?)
- Oszis, wie oben vorgeschlagen (wie lassen sich diese per PC bedienen?)

Fällt Euch noch eine Möglichkeit ein?

Vielen Dank schonmal!

von Oliver R. (orb)


Lesenswert?

Cosi schrieb:
> Mir sind da ein paar über dem Weg gelaufen:
>
> - Messkarte ...
> - Sounkarte ...
> - Oszilloskopkarte ...
> - Oszis ...

Du gehst an die Sache falsch ran.
Überleg Dir was Du messen willst und such Dir dann das passende 
Werkzeug. Sich ein Werkzeug nach Farbe der API auszusuche und dann zu 
versuchen irgendwas zu messen bringt nichts.

von Cosi (Gast)


Lesenswert?

Oliver R. schrieb:
>> Mir sind da ein paar über dem Weg gelaufen:
>>
>> - Messkarte ...
>> - Sounkarte ...
>> - Oszilloskopkarte ...
>> - Oszis ...

Vielen Dank Oliver!

Habe schon selbst etwas recherchiert. Die Soundkarte scheidet aus. Sie 
reicht nicht für das was ich messen möchte.

Was ich messen möchte, das habe ich übrigens schon einleitend genannt.

Mir geht es auch nicht um eine endgültige Lösung. Weiß ich z.B., dass 
ich ein Oszi nehmen werde, dann werde ich mir eines selbst aussuchen, 
eben nach dem was ich messen möchte.

Die Verbindung zum Rechner ist mir aber wichtig. Die Vor- und Nachteile 
der Möglichkeiten hätte ich schon gerne verstanden. Weiß ich z.B. dass 
es GPIB gibt und kenne ich andere Alternativen, dann kommt dies bei der 
Umsetzung durchaus zum Tragen.

von Kai S. (kai1986)


Lesenswert?

Hallo,

als Schnittstelle würde ich LXI anschauen (geht über Ethernet). Hab ich 
zwar noch nicht in selbstgeschriebenen Programmen verwendet, scheint 
aber recht praktisch zu sein.

Gruß Kai

von Cosi (Gast)


Lesenswert?

Kai S. schrieb:
> als Schnittstelle würde ich LXI anschauen (geht über Ethernet). Hab ich
> zwar noch nicht in selbstgeschriebenen Programmen verwendet, scheint
> aber recht praktisch zu sein.

Vielen Dank, Kai! Das war jetzt einmal ein super Hinweis!

Habe hierzu etwas gefunden, das mir einen Überblick gibt:
http://cdn.rohde-schwarz.com/pws/dl_downloads/dl_common_library/dl_news_from_rs/190/n190_lxi_d.pdf

Schätze ich werde mich nach einem Logic Analyzer umschauen. Kennt jemand 
einen mit LXI?  ^^

von Der Andere (Gast)


Lesenswert?

Cosi schrieb:
> Ich möchte ihn quasi als Einmann-Scrumteam entwickeln.

ROFL, dann musst du aber viele Selbstgespräche führen :-)

SCNR

von Cosi (Gast)


Lesenswert?

Ok, und an dieser Stelle richtet sich mein Augenmerk auf folgende 
Produkte:

1) https://www.saleae.com/?gclid=CJqro6XGsc0CFUSVGwodJ3IGUQ
2) http://logicanalyzer.sourceforge.net/

Kann mir einer von Euch verraten, mit welchem der beiden Produkte ich 
meinem Wunsch am nächsten komme? (ggf. auch hinsichtlich der 
Erweiterbarkeit dieser Produkte)

Mein Wunsch, die Bedienung vom Computer aus:
- Messung starten
- Messung stoppen
- ggf. Analyzer konfigurieren
- Daten z.B. als .txt oder .csv abgreifen

von spess53 (Gast)


Lesenswert?

Hi

>Ok, und an dieser Stelle richtet sich mein Augenmerk auf folgende
>Produkte:

Gibt noch andere. Z.B.

http://www.pctestinstruments.com/

MfG Spess

von W.A. (Gast)


Lesenswert?

Cosi schrieb:
> - Oszis, wie oben vorgeschlagen (wie lassen sich diese per PC bedienen?)

Über die vom Hersteller des Oszis implementierte Schnittstelle.
RTFM

von Cosi (Gast)


Lesenswert?

Vielen Dank für die weiteren Antworten.


Ich habe mich vielleicht zum Schluss ungenau ausgedrückt.
Nur der Korrektheit halber:

"Mit Bedienung vom PC aus" meine ich natürlich die Bedienung aus einer 
IDE heraus. Und die Bezahlbare Bus-Variante ist hier der USB. Und 
insbesondere in Bezug auf die beiden Logic Analyzer ist es HID.


Möglichkeitten zur Gewünschten Verbindung habe ich zu den Oszis bereits 
gefunden. Und selbstverständlich werde ich auch alles mögliche über die 
oben genannten Logic Analyzer lesen, auf diese Firmen zugehen, mir die 
Opensource-Projekte anschauen.

Es ging mir aber auch um Eure Einschätzung, um Tipps, Erfahrungen, die 
mich schneller zum Ziel bringen. Hat jemand von Euch schon Erfahrung mit 
mit einem der beiden Open-Source Projekten gemacht? Für welches Projekt 
würdet Ihr Euch entscheiden?


PS: Vielen Dank spess53, habe den Hersteller bereits angeschrieben, 
warte auf seine Antwort.

von Tom G. (masterx244)


Lesenswert?

spess53 schrieb:
> Hi
>
>>Ok, und an dieser Stelle richtet sich mein Augenmerk auf folgende
>>Produkte:
>
> Gibt noch andere. Z.B.
>
> http://www.pctestinstruments.com/
>
> MfG Spess

vorsicht: die software mag es überhaupt nicht wenn mman das gerät 
versehentlich abstöpselt während die software offen ist. die stürzt mit 
stil ab.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.