mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik FT245BM


Autor: michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

kennt sich jemand etwas besser mit dem Baustein FT245BM von FTDI aus.

habe ein parallesles 8 bit Signal von meinem ADC0804 und möchte dieses
Signal via FT245 mittels USB an einen PC schicken.

Ebenfalls soll vom PC ein Signal kommen, um am /WR eingang des ADC0804
eine Wandlung zu starten.
Nach ca. 100 ys sollen die am ADC anliegenden signale dann ausgelesen
und richtung PC übertragen werden.

bräuchte einen kleinen anstoß wie das realisiert werden könnte, also
wenn sich da einer besonders gut auskennt oder mir ein tipp geben kann,
bitte schreiben.

mfg michi

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

µC dazwischen. Alles andere eignet sich nicht für ordentliches Timing.

Matthias

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ist es überhaupt möglich D0..D7 des FT245 direkt anzusteuern oder muss
man das timing mit RD und WR einhalten?


Martin

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

kann man im BitBang Modus. Ist aber grauenhaft langsam und das Timing
der Signale eher Glücksache.

Matthias

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Matthias,

kannst du das mit dem bitbang mal genauer erklären?
Im Datenblatt finde ich nichts genaues.

Martin

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

Bewertung
0 lesenswert
nicht lesenswert
Ist zwar nicht genau das was gesucht wird, aber kann vielleicht
weiterhelfen.

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

Bewertung
0 lesenswert
nicht lesenswert
und hier der Text dazu...

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe Probleme mit meinem FT245BM.
Das Senden vom PC aus scheint jedenfalls zu gehen. Der 8051 liest die
Daten im Interrupt. Alles noch kein Problem. Wenn ich dann die Antwort
zurücksende vom 8051 an den PC kommt bei einem Byte Rücksenden der
Empfangsinterrupt wieder, als ob vom PC Daten kommen würden. Da ich
aber nichts sende, muß der Interrupt direkt vom FT245BM erzeugt
werden.
Das andere Problem ist, daß ich nur wenige Zeichen zurück an den PC
gebe. Vom Rechner wird dann aber meistens nicht alles erkannt.
Ich nutze das Ganze, um von Linux aus vom µC Daten zu bekommen oder
Daten zu schreiben. Hat jemand eine Idee warum?
In einem anderen Thread sollte WR mit 10k an Masse gehängt werden und
RD mit 10k an +5V. Das habe ich getan, aber es geht immer noch nich.
Ich bin am verzweifeln, da ich schon 14 Tage damit zu keinem Ergebnis
komme.

mfG

Matthias

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

ich hatte keinerlei solche Probleme. Allerdings nutze ich die
VCP-Treiber unter Windows. Allerdings hab ich den Chip auch schonmal
unter Linux (/dev/ttyUSBx) getestet und da konnte ich auch keine
solchen Probleme feststellen. Ich nutze den Chip allerdings nicht per
Interrupt sondern per Polling. Da im Chip ein FIFO drin ist und der
Treiber zusätzlich blockiert wenn das FIFO im Chip voll ist sehe ich
darin auch kein großes Problem.

Wie hast du denn den 245er beschaltet? Ein funktionierendes Beispiel
findest du hier:
http://www.matwei.de/ger/index.php?page1=elektroni...

Matthias

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich nutze ein fertiges Modul (ebay) und habe es an einen AT89C51CC02
geklemmt.
Anschlüsse
D0..D7 = P1
RXF#   = P3.2
TXF#   = P3.4
RD     = P2.0
WR     = P2.1

Empfangsroutine im Int Ext0
void INT0int (void) interrupt{

  do {
    RD_USB = 0;         //wir wollen Daten lesen
    PtrRXbufUSB+=1;
    RXbufUSB[PtrRXbufUSB]=Data_USB;
    RD_USB = 1;
    //printf("USB %x",RXbufUSB[PtrRXbufUSB]);       //
  } while (RXF_USB == 0);  //wenn low, dann sind noch Daten da
}

Das Senden mache ich so:
    RD_USB=1;    //war in einem Beispiel
    WR_USB=0;       //aus Beispiel
    while(TXE_USB);
    Data_USB=chr1;
    WR_USB=1;
    WR_USB=0;

Wenn ich dann diese Routine starte, kommt der obige Interrupt.

Jede Info wird mir hoffentlich helfen.

mfG

Matthias

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

noch einige Infos zu weiter oben.
Ich habe alles umgebaut, da vielleicht ein Denkfehler drin war, aber es
kommen immer noch Daten zurück bei einem Transfer vom FT245BM --> PC
( immer 2 Bytes, zuerst dezimal 13 und dann 8).
Was kann das sein?
Ist der Bitbang Modus automatisch eingeschaltet? Ich habe das Teil so
genommen, wie es ist, keine Programmierung des Eproms etc. Das Ganze
nutze ich unter Linux (Apache, PHP) als ttyUSB0.

mfG

Matthias

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

das sieht für mich eigentlich alles OK aus. Kann mir das Verhalten auch
nicht erklären.

Matthias

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.