www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Cypress FX2LP USB-Controler-Datenübertragung


Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
habe mal eine Frage zum FX2LP USB-Controller von Cypress. Hiermit 
versuche ich digitalisierte Daten von einem AD-Wandler (500kHz)
per USB zum PC zu übertragen. Hierfür nutze ich das paralelle Interface 
(2Ports = 16 Bits). Um das Timing für den ADC zu
erstellen hab ich den GPIF Designer im GPIF Master Mode verwendet. Die 
Datenübertragung funktioniert bei mir zur Zeit wie folgt.
Ein Windowsprogramm fordert Daten an. Das erstellte Timing wird auf dem 
USB-Controller abgelaufen und speichert seine Daten in
den internen FIFO Buffer. Zur Übertragung der Daten nutze ich den EP6 im 
Bulk-Transfer-Modus. Die Daten werden korrekt übertragen
und in meinen Programm ausgegeben. Anschließend werden neuen Daten vom 
Controller angefordert. Dieser Ablauf wiederholt sich bis zum
manuellen Programmende.
Leider musste ich feststellen das ich fast 90% der möglichen 
digitalisierten Daten nicht erhalte. Die Frage ich nun wieso?
Was könnte eurer Meinung nach das Problem sein oder was mache ich 
falsch?
Jeder Tip kann hilfreich sein. Danke schonmal.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keiner eine Idee?

Autor: Ekkehard Domning (ekkehard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erkläre doch bitte etwas genauer was das Problem ist.
Zu Einen schreibst Du "Die Daten werden korrekt übertragen
und in meinen Programm ausgegeben" zum Anderen "Leider musste ich 
feststellen das ich fast 90% der möglichen digitalisierten Daten nicht 
erhalte".
Da sehe ich einen Widerspruch, der es ggf. auch den Anderen hier eine 
Antwort verunmöglicht.
Gruß Ekehard

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
der erste Beitrag war wirklich etwas unklar. Es geht um 
folgendendes....Soweit ich das erstelle Timing für den AD-Wandler 
mittels Oszi nachprüfen kann, sollte dies korrekt sein. Diese Daten 
sollten dann in den internen FIFO Puffern des USB-Controllers 
gespeichert werden und anschließend an den PC gesendet werden. Am PC 
muss ich jedoch feststellen, das nur ca. 10% der erwarteten Daten 
eintreffen. Nun ist die Frage wo kann dieser Datenverlust passieren und 
hat einer von euch vll. eine Idee wo ich ansetzen kann zu suchen.
Ist mein erstellter Ablauf (erster Beitrag) so einsetzbar, oder sollten 
andere alternativen probiert werden, z.B. Streaming.
Ich hoffe jetzt ist es klarer und ihr könnt mir vll. wertvolle Tips 
geben.

Autor: Ekkehard Domning (ekkehard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, war im Urlaub, deshalb erst jetzt eine Antwort.
Daten können verloren gehen wenn sie nicht ins FIFO eingetragen werden 
(im Async mode Datenrate > 5MHz, im Sync mode Timing nicht eingehalten) 
oder nicht aus dem FIFO abgeholt werden.
Um Deine SW zu prüfen solltest Du eine Firmware schreiben, die nichts 
Anderes macht als den verwendeten Endpunkt zu "laden" scharf machen) um 
sicher zu stellen, das die SW auch die erwartete Datenrate hat (suche 
mal nach Bulkloop Demo hier im Forum).
Falls Du eine programmierbare Logik hast, kannst Du vielleicht ein 
Testmuster generieren, damit Du siehst ob einzelne Worte fehlen oder 
ganze Blöcke. Letzteres würde auf fehlerhaftes Abholen schließen 
lassesn, ersteres auf die o.a. Timingproblematik.
BTW, über welche Datenmenge reden wir denn?
Gruß Ekkehard

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.