Hallo!
Zum Aufspüren und Dokumentieren von selten auftretenden
Kommunikationsproblemen auf einem seriellen Bus suche ich nach einem
Fertiggerät, das folgendes kann:
Es soll ein Analogsignal (Bereich -5V…5V) mit mind. 4 Msp/s
kontinuierlich abtasten (Auflösung von 8 Bit ist ausreichend) und zum PC
transportieren (vorzugsweise über USB).
Also im Grunde sowas wie eine USB-Soundkarte, nur schneller und mit
etwas größeren Spannungsbereich. Wichtig ist, dass kontinuierlich
gemessen und aufgezeichnet werden kann. Geräte, die nur in einen Puffer
samplen, den man dann mit dem PC ausliest, reichen nicht, weil die
Puffer meist viel zu klein sind.
Kann mir jemand mit Bezeichnungen für derartige Geräte aushelfen oder
hat sogar Namen von Herstellern bzw. Produkten parat?
Vielen Dank!
Gruß, Fes
Was für ein "serieller Bus"?
Vielleicht macht es mehr Sinn, nur Änderungen samt Zeitstempel zu
sichern. Reduziert die erforderliche Datenrate ganz erheblich und macht
auch das Suchen einfacher.
Danke für Dein Feedback!
Der Bus ist proprietär und folgt keinem mir bekannten Standard. Die
Fehler, die ich suche, sind vermutlich "analog", also Störungen,
Überschwingen, falsche Pegel etc., so dass ein Logikanalyzer nicht
reicht. "Nur Änderungen speichern" funktionier leider nicht, weil das
Analogsignal immer leicht rauscht und auch von niederfrequenten
Störungen überlagert ist.
Ich weiß im Vorfeld leider noch nicht genau, was mich erwartet, deshalb
will ich alles aufzeichnen und dann in Ruhe offline auswerten. Die
Verarbeitung der Datenmengen bereitet mir keine Probleme.
Gruß
Fes
Fes schrieb:> Der Bus ist proprietär und folgt keinem mir bekannten Standard.
Vielleicht ist das das eigentliche Problem :-)
Ich denke schon, dass es sowas gibt, was du suchst - kenne aber nichts.
Viel Glück!
Es gibt von National Instruments Messkarten, die man mit deren Software
LabVIEW kontinuierlich auslesen kann.
Gibts leider nur mit 2MSPS und sind nicht gerade günstig:
http://sine.ni.com/nips/cds/view/p/lang/de/nid/209073
NI USB-6361, 16 Kanäle bei 16bit
für 1740€
Mache damit viel bei der Arbeit (allerdings mit einer PCI Karte). Damit
wäre sowas machbar, nur eben nicht günstig, zumal LabVIEW auch noch dazu
kommen würde.
Wäre ggf auch ne alternative:
NI PCI-6111, 2 Kanäle mit 5MSPS bei 12bit
für 2550€
Soll das eine kauflösung Lösung sein, oder darf auch gebastelt werden?
Wenn basteln OK ist, kannst du ein stm32f4 + externes PHY nehmen. Da
bist du für 20€ dabei, überträgst 8bit im double mode interleaved mit
4,8MS/s.
Software muss natürlich geschrieben werden, aber es sollte hier oder auf
http://mikrocontroller.bplaced.net/wordpress/ etwas geben. Software am
PC geht jede die einen virtuellen comport "bedienen" kann
Edit: oje, habe "Fertiggerät" überlesen.
@Michael Skropski:
Danke für den Tip! Ist in der Tat ganz schön preisintensiv, wenn auch
sicher sein Geld wert. Ich habe inzwischen gelernt, dass die Produkte,
die ich Suche, häufig unter "Data Acquisition" ĺaufen und habe den
Hersteller ADlink gefunden. Die haben auch einige PCI- und PCIe-Karten
im Angebot (http://www.adlinktech.com/DAQ/index.php). Die Produkte, die
passen, kosten aber auch locker 4-stellig. Bei PCI und den Kosten wird
mir auch mulmig, denn der Bus ist im Aussterben begriffen, und eine
Investition von 2-3k€ sollte m.E. schon ein paar Jahre nutzbar sein.
@Gerald G:
In der Tat haben wir aktuell eine Bastellösung im Betrieb. :-) Ein
schneller ADC, ein USB-FIFO und ein uC der alles taktet und überwacht
bringen es auf stabile 8 MByte/s und am PC wird das ganze wie eine
serielle Schnittstelle angesprochen, also sehr unkompliziert. Der
Analogteil unseres Hacks ist aber "Mist" und die ganze Schaltung nicht
für reproduzierbarkeit und Dauerbetrieb geeignet. Ein Hack eben, von dem
wir weg wollen. Hat in Summe bisher aber auch nicht mehr als 30€
gekostet.
@Lars R.
Die Hoffnung hatte ich am Anfang auch. Wir haben ein günstiges DSO hier,
das hat 72MS/s aber nur 8kS internen Puffer. Krasses Missverhältnis,
zumindest für unsere Anwendung. Selbst bei teuren Scopes habe ich bisher
keine Puffer gesehen, die mehrere Sekunden speichern können.
Der interne Speicher eines DSO ist in der Tat weniger geeignet. Ich
hoffte auf einen Live- oder Acquisition-Mode der PC-Software
(USB/Ethernet) oder das Beschreiben einer SDcard/USB-Stick.
Wenn Du Deine analoge Seite (Typ ADC, Beschaltung ADC, was wird als
Messleitung benutzt) hier oder um Analog-Forum vorstellst, hat
vielleicht jemand eine Idee. Ein paar MHz Bandbreite sind so schwierig
nicht:
. Ein paar Widerstände als Spannungsteiler für -5V...+5V
. ADC mit SPI (möglichst hoher Eingangswiderstand)
. Development-Kit-Board mit SPI und Ethernet/USB
. Raspberry (schafft der 32MBit SPI?), Banana, STM32
. bevorzugt etwas, mit dem Ihr schon einmal gearbeitet habt
. ggf. auch gleich auf dem Board zwischenspeichern.
Bestimmt gibt es für ein paar hundert EUR etwas passendes. Ich habe aber
nicht gesucht. Bei einer solchen, gekauften Lösung musst Du auch einen
Zeitaufwand für die Einarbeitung und bei Problemen einplanen.
@Lars R.:
Wäre eine Option! Hast Du einen Tip für einen ADC mit SPI, für den es
idealerweise auch ein Eval-Kit/Board gibt?
Wie läuft in so einem Fall die Synchronisation? Die meisten
Embedded-Systeme (inkl. Raspberry) können nur SPI-Master sein, und das
Timing beim SPI-Zugriff wird man unter Linux wohl nicht so genau
einhalten können. Folglich müsste der ADC seinen Samplingtakt selbst
erzeugen und eventuell auch ein paar Samples intern puffern, falls der
SPI-Master mal nicht schnell genug ausliest. Geht sowas?
Im unserer Hack-Lösungen haben wir einen CA3306 (Datenblatt:
http://ee-classes.usc.edu/ee459/library/datasheets/CA3306.pdf) von
Intersil im Einsatz. Wir haben im wesentlichen die Schaltung aus der
Appnote (S. 9) gebaut (allerdings ohne Opamp, die Referenzspannung aus
Vz geht über das Poti direkt an Vref+). Hauptproblem ist im Moment der
Eingangswiderstand. Der ADC hat nur ca. 10kOhm, das belastet aber das zu
messende Signal zu stark. Wir brauchen eher 300kOhm.
@Arc Net:
Danke für den Tip! Die Picoscopes sehen sehr interessant aus. Das 2206A
liefert 9.6MS/s im kontinuierlichen Betrieb und kostet nur ~360€. Würde
gut zu unserem Budget passen.
Hat jemand Erfahrungen beim Einsatz von Picoscopes für kontinuierliches
Sampling? Klappt das reibungslos oder muss man sich auf "Gebastel"
einstellen?
Zum Überwachen einer seriellen Verbindung müsste eigentlich eine
2-kanalige Lösung reichen.
Schau also mal nach USB-Oszilloskopen, oder wie auch immer die Dinger
heißen.
Schätze mal, dass Du Dich damit auch finanziell nicht übernimmst.