Hallo, durch meinen anderen Thread habe ich nun ein neues Problem. Ich möchte an mein USB-Board von braintechnology 3 AD-Wandler üder Parallel-Port anschliessen. Zwei Probleme tun sich mir dabei auf. Einmal das Nacheinanderauslesen der AD-Wandlerwerte und dann die Zuordnung der Wandler-Werte zu den entsprechenden Wandlern. Ich habe mir überlegt, dass ich die restlichen Bits für eine Adressvergabe nutzen könnte. Also 12 Bit Wandlerwert und 4 Bit adresse. macht 16 Bit zum Parallelport. Wie aber realisiere ich am besten eine so schnelles multiplexen zwischen den Wandlern?
Das Paralleport macht keine 1.5MSample. Allenfalls 10k.
Ich habe mich noch nicht für einen AD-Wandler entschieden. Er sollte nur mindestens so schnell sein. @Vlox: Welches ParallelPort meinst du? Das von dem USB-Board? Laut braintechnology ist eins der bereits integrierten protokolle zum Beipsiel folgendes: Bus width Max. Data transfer rate (Burst rate) 16 Bit 48 MB/s
Wie schon in deinem anderen Thread geschrieben, brauchst du auf jeden Fall externe Logik. Du willst ja sicherlich messen mit den AD-Wandlern, also musst du äquidistant sampeln, da muss der Takt von extern kommen und darf nicht durch USB bestimmt werden. Nutze am besten das Slave-FIFO-Interface im Cypress FX2, und etwas externe Logik, die die Wandler zeitgleich zum Sampeln veranlasst und anschließend die Output-Enables nacheinander freigibt, die Steuersignale für den Slave-FIFO generiert und somit die Daten in den USB-FIFO legt. Um ein kleines CPLD wirst du nicht herum kommen, kannst das ja auch im Schaltplan-Editor erstellen, wenn du kein VHDL kannst.
Schonmal vielen vielen Dank Christian, ich fang an langsam zu verstehen. Der CLPD fungiert quasi als Busmultiplexer. Also alle Datenleitungen von den 12 Bit AD-Wandlern zum CLPD (Bei 12 Bit 36 Leitungen Datenleitungen + Steuerleitungen) Der Cypress sitzt wiegesagt auf einem fertigen Board. Dessen Firmware vom Entwickler und somit fertig. Ich kann nur die bereitgestellten Busfunktionen nutzen. Die ParallelPortFunktionen sind völlig unabhängig von den USB-Funktionen. Den USB-Datentransfer übernimmt dann die Firmware des Boards. Ich kann also mit dem internen Slave-FIFO-Interface im Cypress FX2 nicht arbeiten, sondern nur mit den Parallelportfunktionen. Ich habe mal die Beschreibung hochgeladen http://home.arcor.de/crumb_t/Usb2Dll_help179_en.html Also, wie ich's verstanden habe. AD-Wandler-Ausgänge zum CLPD. Der verwirklicht das Multiplexen. Diese Daten an einen externen FIFO. Und diese Daten an das ParallelPort des USBBoards. Und ich brauche eine externe Taktquelle (Quarz) für die Wandler? Gruß Klaus
Ich kenne die schrottige Firmware von BrainTechnology. Hab damit auch versucht, was zu machen. Ist aber nach 2 Stunden runtergeflogen und dann hab ich meine eigene Firmware auf den FX2 gemacht. Die ist ja leicht austauschbar, also kannste die auch selber schreiben. Mit den massig Code-Beispielen von Cypress kein Problem. Dann kannst du dir den externen FIFO sparen. Ansonsten hast du das verstanden. Der CPLD multplext die Busse (wenn du ADCs mit Output Enable hast, ist das nichtmal nötig) und steuert die ADCs und das USB-Interface entsprechend an.
Hast du dein anderen Thread zum gleichen Thema nicht wiedergefunden, oder warum machst du einenen zweiten Thread auf?
-> Neues Problem (da ich die spi-geschichte verworfen habe) -> damit neues Thema -> neuer Threadtitel (geht ja nicht mehr um SPI) -> Somit werden hier eher Leute reinschaun, die sich damit auskennen. -> Und da die Forensuche nur die Überschriften durchsucht, ist es wohl besser, wenn das Thema zu Überschrift passt. (Falls mal jemand das Forum zu diesem Thema durchsuchen möchte) Oder kurz gesagt. Der Übersichtlichkeit halber. ______________________ Um zurück zum Thema zu kommen. Ich habe einen AD-Wandler gefunden, der simultan 4 Kanaöle abtasten kann, diese multilext, mit internen FIFO und parallelem Ausgang. Der THS1206. Ich bin zwar noch am Durchlesen des Dateblattes, aber ich denke, das wird wohl hoffentlich die Lösung für mich sein.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.