Messen mit dem Warrior
Moderator: Guido Körber
Messen mit dem Warrior
Hallo alle zusammen,
ich hab grad mal wieder ein Brett vorm Kopf. Ich moechte mit dem IO-Warrior eine Spannung im Bereich von -24V bis +24V erfassen. Ganz klar, direkt wird es wohl kaum gehen, der Warrior kennt an seinen Pins ja nur High und Low. Ich dachte mir, das ganze mit einem Analog-Digital-Wandler zu loesen. An und fuer sich keine grosse Sachen, mein Problem ist nur, dass ich Spannungsaenderungen im Bereich von 0.1 ms Geschwindigkeit (im prinzip Spannungen mit bis zu 10 kHz Schwingungsdauer) sicher erfassen will, den Warrior kann man aber nur (unter idealen Bedingungen, die man eh nie erreicht) mit 1 ms abfragen, was ja unter Beruecksichtigung des sogn. Abtasttheorems 500 Hz entspraeche.
Meine Frage ist also, wie kann ich das loesen? Einen Speicher zwischen bauen und den auslesen? Aber wie macht man das? Oder einen ADC nehmen, der seine Werte ueber z.B. den IIC-Bus schickt? Einen Speicher braucht man dann aber immer noch, oder?
Ich habe das IOKIT56 von dem zwei Port durch eine Motorsteuerung (Drei Achsen incl. Sensoren) schon belegt ist...nur so zur Info ;) Fuehlt euch frei, mein Brett vorm Kopp durchzuhaun ^^
ich hab grad mal wieder ein Brett vorm Kopf. Ich moechte mit dem IO-Warrior eine Spannung im Bereich von -24V bis +24V erfassen. Ganz klar, direkt wird es wohl kaum gehen, der Warrior kennt an seinen Pins ja nur High und Low. Ich dachte mir, das ganze mit einem Analog-Digital-Wandler zu loesen. An und fuer sich keine grosse Sachen, mein Problem ist nur, dass ich Spannungsaenderungen im Bereich von 0.1 ms Geschwindigkeit (im prinzip Spannungen mit bis zu 10 kHz Schwingungsdauer) sicher erfassen will, den Warrior kann man aber nur (unter idealen Bedingungen, die man eh nie erreicht) mit 1 ms abfragen, was ja unter Beruecksichtigung des sogn. Abtasttheorems 500 Hz entspraeche.
Meine Frage ist also, wie kann ich das loesen? Einen Speicher zwischen bauen und den auslesen? Aber wie macht man das? Oder einen ADC nehmen, der seine Werte ueber z.B. den IIC-Bus schickt? Einen Speicher braucht man dann aber immer noch, oder?
Ich habe das IOKIT56 von dem zwei Port durch eine Motorsteuerung (Drei Achsen incl. Sensoren) schon belegt ist...nur so zur Info ;) Fuehlt euch frei, mein Brett vorm Kopp durchzuhaun ^^
-
- Site Admin
- Posts: 2876
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Also ohne Buffering geht da garnichts. Es müssen auf jeden Fall mehrere Messwerte pro Datenpaket übertragen werden, sonst geht das nicht.
Ich weiss jetzt so direkt keinen passenden Chip, würde aber vorschlagen mal bei Maxim, Analog Devices und den anderen üblichen Verdächtigen mal nachsehen, ob die einen A/D Wandler mit lokaler Intelligenz haben, der einen Buffer mit drin hat.
Sonst wäre arge Bastelei mit einem Microcontroller angesagt.
Ich weiss jetzt so direkt keinen passenden Chip, würde aber vorschlagen mal bei Maxim, Analog Devices und den anderen üblichen Verdächtigen mal nachsehen, ob die einen A/D Wandler mit lokaler Intelligenz haben, der einen Buffer mit drin hat.
Sonst wäre arge Bastelei mit einem Microcontroller angesagt.
Sowas dachte ich mir schon, also das man die Werte zwischenspeichern muss. Mir fehlte nur heute Mittag der Ansatz und da bin ich mir immer noch net sicher. Als AD-Wandler gefällt mir z.B. der MAX1301, der seine Daten wohl über SPI schickt. Muss ich da den SPI-Bus zwischenbuffern? Ich hab in der Beziehung echt null Ahnung und muss mich wohl noch mächtig einlesen, grade auch was den SPI-Bus und so Sachen angeht da ich net weiß, wie ich das auslesen muss. Dazu kommt noch die Umgebung. Ich schreib grad mein Programm um, dass ich zur Steuerung der Motoren hatte. Hab das in Realbasic gemacht und wechsel jetzt auf Objective C.
-
- Site Admin
- Posts: 2876
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Zwischenspeicherung ist wohl noetig sofern ich nicht nur Signale mit maximal 10 Hz aufnehmen moechte.
Kann ich denn relativ sicher sein, dass ich den IO-Warrior in einem festen Zeitinterwall kontinuierlich (z.B. mit 10 oder 100 Hz) abfragen kann? Wovon, ausser dem Rechner, haengt das alles noch ab ob ich mit 1 oder 10 Hz abfrage? Und was empfehlt ihr? Vielleicht ist es ja gar ratsam bei einer Abfrage immer die aktuellen Werte schicken zu lassen zusaetzlich zu den Werten den letzten zwei/drei Abfragen.
Kann ich denn relativ sicher sein, dass ich den IO-Warrior in einem festen Zeitinterwall kontinuierlich (z.B. mit 10 oder 100 Hz) abfragen kann? Wovon, ausser dem Rechner, haengt das alles noch ab ob ich mit 1 oder 10 Hz abfrage? Und was empfehlt ihr? Vielleicht ist es ja gar ratsam bei einer Abfrage immer die aktuellen Werte schicken zu lassen zusaetzlich zu den Werten den letzten zwei/drei Abfragen.
-
- Posts: 389
- Joined: Sun Feb 13, 2005 1:22 pm
- Location: Gerblingerode / Duderstadt
- Contact:
Hallo McMike,
auf meiner Seite findest Du eine eine Darstellung für einen Logic-Analyser mit einem IOW56
36 Kanäle mit 40 MHz und eine Speicher tiefe von 16k
als Fifo verwende ich IDT-7206 (15 nS)
Du kannst aber auch 8 der Eingänge ( also 1 FiFo ) mit einem
ADS830 verbinden (AD-Wandler 60MHz)
und hast somit die Möglichkeit bist zu 40MHz mit 8Bit zu sampeln.
Die Daten werden über den IOW-SPI und einem 74xx165 aus dem FiFo gelesen.
mfg
R.Greinert
auf meiner Seite findest Du eine eine Darstellung für einen Logic-Analyser mit einem IOW56
36 Kanäle mit 40 MHz und eine Speicher tiefe von 16k
als Fifo verwende ich IDT-7206 (15 nS)
Du kannst aber auch 8 der Eingänge ( also 1 FiFo ) mit einem
ADS830 verbinden (AD-Wandler 60MHz)
und hast somit die Möglichkeit bist zu 40MHz mit 8Bit zu sampeln.
Die Daten werden über den IOW-SPI und einem 74xx165 aus dem FiFo gelesen.
mfg
R.Greinert
Deine Seite hab ich mir schon angeschaut und die Idee kam mir auch schon den Analyser umzufrikeln. Das einzige, was mich daran stoert sind derzeit die 8 Bit Aufloesung, Abtastrate ist natuerlich klasse. Rechnerisch braeuchte ich ca. 12,2 Bit, OK mit 12 kann ich auch noch leben. Meine Aufloesung sollte so bei 10 mV liegen, wunsch ist gar 1 mV, ca. 15,5 Bit Aufloesung, waere also 16 Bit angesagt, halbe Bits sind ja immer so schwer zu bekommen ^^.
Den LA werd ich mir dennoch mal anschaun, hab da ein paar Ideen wo ich den gebrauchen koennte ;)
Den LA werd ich mir dennoch mal anschaun, hab da ein paar Ideen wo ich den gebrauchen koennte ;)
-
- Posts: 389
- Joined: Sun Feb 13, 2005 1:22 pm
- Location: Gerblingerode / Duderstadt
- Contact:
Hallo McMike,
Es gibt noch andere ADs von TI z.B.
den ADS8472 (16Bit mit 1MHz)
Datasheet_ADS8472
Mit einem Pitch-Abstand von 0.6 mm lassen sich die Teile nur sehr schwer löten ...

Es gibt noch andere ADs von TI z.B.
den ADS8472 (16Bit mit 1MHz)
Datasheet_ADS8472
Mit einem Pitch-Abstand von 0.6 mm lassen sich die Teile nur sehr schwer löten ...

Danke für die Info, friend-of-rq. Hab mir heute nach meinem Post u.a. auch den 74xx165 angeschaut und Beispiele gesehen, wie man damit die Ports erweitern kann und bin da auch auf die Idee gekommen, einfach zwei zusammen zu schließen und dann hätte ich ja dann Platz für 16 bit ;)
Naja, ich gugg mir jetzt an wie ich das erstmal in Objective C umsetzen kann und dann den SPI nutzen kann. Ich meld mich dann auf jeden Fall wieder ;)
Naja, ich gugg mir jetzt an wie ich das erstmal in Objective C umsetzen kann und dann den SPI nutzen kann. Ich meld mich dann auf jeden Fall wieder ;)
-
- Posts: 389
- Joined: Sun Feb 13, 2005 1:22 pm
- Location: Gerblingerode / Duderstadt
- Contact:
-
- Posts: 389
- Joined: Sun Feb 13, 2005 1:22 pm
- Location: Gerblingerode / Duderstadt
- Contact:
Die Frage ist immer noch, ob du kontinuierlich messen willst oder wie ein Speicher-Oszi, also Triggern und dann Daten auslesen? Wenn du kontinuierlich messen willst, dann bringt das Puffern nicht viel, weil USB Fullspeed dann immer noch der Flaschenhals ist. Wenn du nur nach einem Trigger messen, dann übertragen, dann wieder messen willst, dann geht das, da musst du einen externen Puffer (FIFO) anbauen.
Für kontinuierliche Messungen solltest du dir vielleicht den Cypress FX2 anschauen.
Für kontinuierliche Messungen solltest du dir vielleicht den Cypress FX2 anschauen.
Gruß SupaChris
Natürlich strebe ich an kontinuierlich zu messen, der Cypress FX2 ist bestimmt auch interessant aber zum einen hab ich lediglich einen Macintosh hier (gibts Cypress FX2 auch für'n Mac ohne großes Gefrikel?) und zum anderen den IOWarrior hab ich schon und das ist grad eine kleine "Spielerei" um auch zu sehen, was geht und was nicht. Im Moment bin ich erstmal ohne Bufferung am simplen basteln. Hab mir den ADS830 beschafft mit dem ich nun ein wenig experimentiere.