Forum: Mikrocontroller und Digitale Elektronik Problem mit FT245BM-IC


von Willy (Gast)


Angehängte Dateien:

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

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
Noch kein Account? Hier anmelden.