mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit FT245BM-IC


Autor: Willy (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Furchtbares Problem mit einem von mir gebautem USB-Modul.
Folgender Sachverhalt:
Ich habe mir bei Segor zwei FT245BM von FTDI bestellt und einen 
USB-Modul daraus gebaut -
ähnlich den von FTDI angebodenen Modulen. Dieser soll später in einer 
self-powered Aplikation
mit einem AVR-Mega16 laufen.
(Auf meinem Laptop läuft Win2000 mit neustem ServicePack)
- Der Modul meldet sofort beim einstecken in die USB-Buchse " USB <-> 
Serial" und fordert mich
  auf den Treiber zu installieren
- Treiber läst sich problemlos installieren (in meinem Fall der 
Direkt-Treiber neuster Version 1.5.4.0)
- beim Aufruf von FTD2XXST.exe (auch die neue Version mit der 
"BM-Unterstützung") sind alle Icons
  und Menüs ausgegraut außer About und Exit. Der Modul wird also 
vermutlich nicht erkannt.

Jetzt habe ich mir ein VB-Programm geschrieben, welches Default-Werte in 
den EEPROM schreibt -
das funktioniert ohne Probleme.
Nun gibt es allerdings einige Dinge die ich nicht verstehe:
- warum funktioniert mein eigenes Programm zum beschreiben des EEPROM 
und das Orginal von FTDI nicht ?

- was bedeutet der Parameter "Rev4 chip" im "FT_PROGRAM_DATA"-Feld (wenn 
ich diesen aktiviere,
  bekomme ich beim Rücklesen des EEPROM nur noch schwachsinn zurück). 
Der EEPROM ist dann auch mit
  meinen Defaultwerten nicht mehr ansprechbar. Ebenso wenig funktioniert 
die nicht dokumentierte
  FT_EraseEE-Funktion.

- was ist eigendlich der Unterschied zwischen der Funktion 
"FT_GetQueueStatus" und "FT_GetStatus"
  wenn ich den RX-Puffer auslesen will - Ich habe zum Test einen 
AVR-Mega161 mit einem kleinen Programm
  gefüttert, welcher nach einem Reset exakt 256 Bytes an den FIFO sendet 
(Bytes von 0-255) und dann
  in eine Endlosschleife übergeht. Die Funktion "FT_GetQueueStatus" 
liefert danach einen Wert von 0
  und "FT_GetStatus" liefert mir einen Wert zwischen 296 und 301 (kann 
evl. durch Fehlimpulse meim
  Reset ausgelöst werden). Ob mit oder ohne Fehlimpulse müssten doch 
beide gelesenen Werte gleich sein?

- voläufig letztes Problem: Wie sollte man im VB6 die FT_Read-Funktion 
richtig ansprechen. So ist die
  Variable ReadBuffer in der Deklaration als "Any" definiert. Nun möchte 
ich sehr schnell (daher soll
  später ein AVR-Mega16-16 zum Einsatz kommen) Binäre Daten mit ca. 
1Mbyte/s einlesen und in ein File
  zur späteren Auswertung abspeichern. Die Beispiel-Anwendungen sind 
leider nicht sehr Hilfreich und
  für den FT245BM mit Direkt-Treiber sehr spärlich zu finden.

  Als Anhang sende ich mal mein AVR-Test-Programm. Falls gewünscht kann 
ich auch das EEPROM-Schreibprogramm
  mal mit auf die Seite stellen.

  Danke schon mal im Voraus
        Willy

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.