Hallo Zusammen, ich habe folgendes Problem. Auf einem Atmega8 befindet sich ein Bootloader. Mit dem FTDI FT232RL möchte ich bei Bedarf die Firmware flashen. Schließe ich den FT232RL (RX,TX,GND) an den stromlosen Atmega8 an, wird der Atmega über die RX,TX Pins mit ca. 2V versorgt. Dadurch antwortet der Bootloader mit wirrem ascicode und will flashen. Somit kann es vorkommen, dass meine Flashprogramm zerschossen wird. Ich möchte mit dem Bootloader bzw. USB/RS232 erst kommunizieren, wenn der Atmega eingeschaltet wird. Kennt jemand das Problem und eine Lösung? mfg code
hi, probiers mal mit zwei Dioden in der Rx und der Tx Leitung!
Klappt nicht. Der Controller bekommt trotzdem noch Versorgung über die FT232RL TX-RX Leitung. RX und TX sind beide beim FT232RL auf High
Brown-out level auf 4V setzen. Eine Diode in der TX-Leitung(FT232) sollte auch gehen, der RX Pin ist ein Eingang, der versorgt bestimmt nicht den M8.
Der Brown-out Level hat schonmal eine Verbesserung gebracht. Jetzt kommt beim Einstecken kein wirrer ascicode. ABER der Controller antwortet immer noch und leider richtig. Mein Bootloader Programm am Pc sendet 123 an den Controller. Antwortet der Controller auch mit 123 zurück, beginnt das Flashen. Auch mit einer Diode an TX(FT232) antwortet der Controller trotzdem. Ich möchte gerne den FT232 an die stromlose Schaltung anschließen, dann am Pc auf senden drücken und dann die Schaltung einschalten. So funktioniert der Flash. Aber das Pc Programm sendet an die stromlose Schaltung bereits 123 bevor ich einschalten kann, bekommt eine Antwort und der Flash beginnt. Im Controller entsteht dann ein totales durcheinander im Flash.
Der FT232 hat einen Pin namens VCCIO, womit hast Du den verbunden?
Diode bringt nichts. Setz mal einen Widerstand (1k) in die Tx-Leitung (ist sowieso besser, als mit nem "nackten" Eingang auf nen Steckkontakt zu gehen). Und falls das noch nicht reicht, ne LED mit 470R parallel zu Vcc/Gnd.
VCCIO am FT232 ist mit VCC am FT232 verbunden. Ist also mit der USB Spannung verbunden. Die USB Spannung wird aber nicht mit meiner Atmega Schaltung verbunden.
Diode bringt schon etwas, wenn richtig herum und dahinter ein Pullup-R an die Versorgung vom Zielcontroller. Also so, dass der TX Ausgang vom FTDI nur runter ziehen kann.
Sebastian Weidmann schrieb: > VCCIO am FT232 ist mit VCC am FT232 verbunden. Dann ändere das und verbinde das mit VCC Deines AVRs.
So eingebaut? VCC + | | .-. | | FT232 | | AVR __ '-' __ -o| |o- TX RX + -o| |o- -o| |o-+----------+-|<-+--------+------+o| |o- -o| |o- -o| |o- -o|__|o- -o|__|o- (created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de) Fast zu spät...
Rufus Τ. Firefly schrieb: > Dann ändere das und verbinde das mit VCC Deines AVRs. FTDI sagt, dass VCCIO aus der gleichen Quelle wie VCC stammen sollte. Also dann der gesamte FTDI vom Zielcontroller versorgt werden muss, nicht nur die IO. Aber FTDI ist lernfähig. Bei den FT2232 Varianten waren sie klüger.
A. K. schrieb: > FTDI sagt, dass VCCIO aus der gleichen Quelle wie VCC stammen sollte. Naja, das ist umständlich formuliert, letztlich wird es darauf hinauslaufen, daß man zwingend sicherstellen muss, daß an VCCIO nie ein höheres Potential als an VCC anliegt. Das dürfte lösbar sein.
Machbar. Aber Diode ist einfacher. Wers perfekt haben will, der nimmt statt dessen einen Transistor und programmiert im FTDI den TX Ausgang invers.
Hmm das klingt logisch. Dummerweise ist die Zielschaltung und der FT232 Adapter bereits schön getrennt. Da muss ich mir jetzt was einfallen lassen. Vielen Dank für eure schnelle Hilfe!
Ich habe ein ähnliches Problem, ich will die Eingänge des µC/FT232 schützen, da es vorkommen kann, dass nur eines der beiden Bauteile versorgt wird. Kann ich da einfache einen 10k Widerstand in die RX und TX Leitungen einbauen?
Oder das gleiche Spiel mit der Diode in die andere Rechtung.
Gibt es bei den beiden Möglichkeiten einen Unterschied bei der max. Baudrate, wenn ich bei beiden den Widerstand 10k wähle? Ich würde die Möglichkeit mit nur 2 Widerständen bevorzugen, da ich die leichter im meinem schon bestehendes Layout ergänzen kann. Hat diese Variante irgendwelche Nachteile?
Hab soeben noch was herausgefunden! Der BOD Level hat das Problem eigentlich gelöst. ABER der FT232RL hat ein ECHO, wenn der RX,TX Pin auf GND liegen. Somit antwortet in ausgeschaltetem Zustand garnicht der Controller, sondern der FT232RL gibt sich selber das gesendete zurück! Mein Bootloader Programm sendet 123 und erwartet 123 zurück. Der FTDI gibt das echo aus und die Bootloader Software fängt das senden an. Dummerweise hab ich den Source für das Bootloader Pc Programm nicht. Sonst könnte ich die Antwort ändern. Ich müsste somit jetzt das echo vom ft232rl ausschalten.
Problem ist gelöst! Hab den Sourcecode vom Bootloader PC Programm. Erwarte nun vom Controller eine andere Antwort als die gesendete. Jetzt klappt auch das Einstecken im ausgeschaltenem Zustand. Sobald ich einschalte meldet der Controller die richtige Antwort und der Flash läuft ohne Probleme. Beim Bootloader handelt es sich um den MCS Bascom Bootloader. Pc seitig klappt jetzt mit diesem Programm: http://evertdekker.com/Joomla/index.php?option=com_content&task=view&id=75&Itemid=84
FET schrieb: > Gibt es bei den beiden Möglichkeiten einen Unterschied bei der max. > Baudrate, wenn ich bei beiden den Widerstand 10k wähle? > Ich würde die Möglichkeit mit nur 2 Widerständen bevorzugen, da ich die > leichter im meinem schon bestehendes Layout ergänzen kann. Hat diese > Variante irgendwelche Nachteile?
Hallo, ich habe leider erst jetzt den Beitrag gelesen - sorry. :-) Der eigentlich einzig richtige Weg ist eine vollkommene galvanische Trennung. Bei Baud-Raten bis 9k6 noch mit Optokoppler möglich, darüber mittels ADUM1201 (2 Kanäle; 1x Eingang; 1x Ausgang -> Rx/Tx). http://such002.reichelt.de/?SID=11Tz6eO38AAAIAAGuRne81521b984e2eb24055f51de65d621743c;ACTION=446 Gruss...Harpax
Wenn du Widerstände an Rx/Tx (eigentlich ja nur an FTDI-Tx) anbringst und der µC erst einmal in einer Schaltung mit einem zusätzlichen Verbraucher sitzt (z.B. Linearregler, LEDs was auch immer), sollte sich das erübrigen. So lange du den µC aber "nackt" betreibst und nur die Abblockkondensatoren da sind, wirst du mit der TX-Leitung über die Schutzdioden des AVR die Kondensatoren so weit aufladen, dass du über das BOD-Level kommst und der Controller losläuft. Wenn kein Verbraucher drinsitzt, dann bau halt irgendwas halbwegs sinnvolles ein wie eine Status-LED oder so. Wenn dir der Stromverbrauch zu hoch ist, dann schalte den Verbraucher nach dem Anlauf des µC weg (z.B. etwas über einen n-FET+R mit PullUp am Gate und per µC-Port ziehst du dann gegen Masse). Sonst geht tatsächlich auch eine galvanische Trennung. Mit dem 6n137 kommst du auch weit über die 9,6k hinweg. Sowohl der AVR kann die 6,3mA für die IR-LED liefern wie auch der FT232. Ab Werk sind die Ausgänge des FT232 für 4mA konfiguriert, können aber auch auf "high-current-IO" mit Hilfe des FT_Prog von der Homepage für 12mA konfiguriert werden.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.