mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ft232 Programmierung notwendig?


Autor: Josef Kaeufl (josefk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo da draußen

ich versuche gerade einen ft232bm zum laufen zu bringen. Das Board ist 
neu und die Hardware auch jedoch ist das Schema (self powered, der Rest 
ist laut Datasheet) zum anschließen schon öfters verwendet worden und 
läuft so auch.
Ich bin immer davona usgegangen, dass der ft232bm out of the box 
funktioniert. Leider schaffe ich es nicht den neuen ft232 zum reden zu 
bringen. Er wird von Windows als USB <-> Serial erkannt und installiert. 
Leider kommt im Terminal aber nichts an.
Daraufhin habe ich die d2xx Treiber installiert und versucht den Chip 
via MProg zum laufen zu bringen. Leider klappt das nicht. Ich kann nach 
Bauteilen scannen und finde dann einen unprogrammierten und 0 
programmierte. Read&Parse bringt mir dann die Freigabe um unter "Device" 
meinen Chip auszuwählen. Leider bleiben die Buttons zum Programmieren 
und Löschen blind.

Meine Fragen daher:
Muss man den FT232bm eigentlich einmal programmieren, oder läuft der 
auch out of the box?
Sollte Mprog in der Lage sein, diesen Chip zu programmieren? (Wenn ja 
dann hab ich wohl was verbockt)

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Er sollte direkt laufen, und auch schon als COM Port funktionieren.
Hast du ein EEPROM dran ?

Autor: Josef Kaeufl (josefk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein. EEPROM ist keins dran.

Hmm. Dann ist da was schief gelaufen. Die Initialisierung sollte passen:
void uart1_init(void)
{
  
  // Baudrate 9600
  UBRR1L = 103;

  // Datenbyte 8
  UCSR1C |= (1 << UCSZ10);
  UCSR1C |= (1 << UCSZ11);
  // Parity keine
  UCSR1C &= ~(1 << UPM10);
  UCSR1C &= ~(1 << UPM11);
  // Stoppbit 1
  UCSR1C &= ~(1 << USBS1); 
  // Asynchronous Operation
  UCSR1C &= ~(1 << UMSEL1);
  UCSR1C &= ~(1 << UCPOL1);  

//  UCSR1B |= (1 << RXCIE1); // Interrupt enabel für RXC flag
  UCSR1B |= (1 << RXEN1);  // Receive Enable
  UCSR1B |= (1 << TXEN1);  // Transmitter Enable

}

void rs232_puts1 (char *s)
{ 
   while (*s != '\0')
   {
      while ( !(UCSR1A & (1<<UDRE1)));     
        UDR1 = *s;                               //Zeichen nach Sendedatenregister                         
       s++;                  //Adresse erhöhen
   }    
   while ( !(UCSR1A & (1<<UDRE1)));  
   UDR1=*s;
   while ( !(UCSR1A & (1<<TXC1)));              //Warten bis Senden abgeschlossen
} 

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Leider bleiben die Buttons zum Programmieren und Löschen blind.

Wenn ich's noch richtig im Sinn habe, musst du erst auf NEU klicken (das 
weisse Blatt Papier), dann sollten die Buttons scharf geschalten werden.

Ralf

Autor: Josef Kaeufl (josefk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leider nicht. Die Device ComboBox ist dann scharf.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie soll man auch ein EEPROM Programmieren können, wenn keines dran ist 
?
Kommt bei Read&Parse nicht gleich ein Fehler oder eine Meldung "EEPROM 
Read failed" oder sowas in der Art ?
MProg dient nur dazu um dieses EEPROM zu programmeren. Du brauchst also 
nichts damit zu machen.
Das EEPROM ist auch nur notwendig, wenn mehrere FT232 an einem PC 
hängen.

Verbinde mal RX und TX am FT232 und sende etwas am PC. Dann sollte das 
sofort wieder zurückkommen.

Autor: Josef Kaeufl (josefk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm. Habe jetzt RX und TX am Chip verbunden aber wenn ich vom PC was an 
den Chip sende kommt nichts mehr beim PC an.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Leider nicht. Die Device ComboBox ist dann scharf.
Und wenn man da den Typ auswählt, sollte es eigentlich gehen mit dem 
Löschen.
Aber wenn er ein unprogrammiertes Device findet, ist es eh hinfällig...

> Verbinde mal RX und TX am FT232...

Stimmt, das könnte auch sein, dass es einfach falsch miteinander 
verknubbelt ist :) Frei nach dem Motto: Mit einem Draht klappts nicht, 
und ab zwei kann man verwechseln.
Der COM-Port ist auch im Terminal-Programm geöffnet? Hatte auch schon 
mal ewig nachm Bug in meiner µC-SW gesucht, bis ich drauf kam, dass ich 
keinen Port geöffnet hatte :)

Ralf

Autor: Josef Kaeufl (josefk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ralf wrote:
>> Leider nicht. Die Device ComboBox ist dann scharf.
> Und wenn man da den Typ auswählt, sollte es eigentlich gehen mit dem
> Löschen.
> Aber wenn er ein unprogrammiertes Device findet, ist es eh hinfällig...
>
>> Verbinde mal RX und TX am FT232...
>
> Stimmt, das könnte auch sein, dass es einfach falsch miteinander
> verknubbelt ist :) Frei nach dem Motto: Mit einem Draht klappts nicht,
> und ab zwei kann man verwechseln.
> Der COM-Port ist auch im Terminal-Programm geöffnet? Hatte auch schon
> mal ewig nachm Bug in meiner µC-SW gesucht, bis ich drauf kam, dass ich
> keinen Port geöffnet hatte :)
>
> Ralf

Also die Senderoutine funktioniert mit nem MAX232 super und mit nem 
anderen USB Board auch. ComPort ist offen :) Und auch der richtige.
Anschlüße passen auch.
Woran das wohl liegen kann?

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CTS aktiviert ? Richtiger COM Port ausgewählt ?

Ansonsten musst du irgendwas falsch gemacht haben. Wenn der FT232 
erkannt wird und sich der COM Port öffnen lässt, dann muss er auch was 
senden/empfangen.

Autor: Josef Kaeufl (josefk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich hab mal die Treiber gecheckt und bei beiden Platinen sind die 
selben installiert. Das eine Board funktioniert wunderbar, das andere 
garnicht, nicht mal mit RX und TX verbunden.
Komisch komisch.
CTF hab ich deaktiviert aber aktiviert wirds auch nicht besser. :(
Ich werd mal ein paar Minuten Multimetern...

Autor: Josef Kaeufl (josefk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Oszi bringt Aufschluss. Defekte Hardware :)

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.