AVR-Programmierer mit Seriell-zu-USB-Konverter

Ich kämpfe mit der Herstellung eines USB-Programmierers für Atmega. Ich konnte keinen richtigen FT232L oder ähnliches in die Hände bekommen, aber ich habe es geschafft, einen Seriell-zu-USB-Konverter wie diesen zu finden . Dieser wird wie ein normaler COM-Port erkannt und kann Modems und Drucker zum Laufen bringen. Wird das serielle Programmierung tun? Es gibt serielle Programmierer, die ich gesehen habe, die mit Ponyser als Programmierer im Makefile arbeiten. Wie mache ich einen?

Bearbeiten Durch lsusb habe ich herausgefunden, dass der Konverter einen pl2303 enthält (kompatibel mit ft232r), also wie mache ich die Programmierung jetzt?

Antworten (3)

Programmierer für serielle PC-Ports verwenden grundsätzlich die "Handshake"-Pins (RTS/CTS DTR/DCD) eines seriellen Ports als kleinen parallelen Port. Es funktioniert oft nicht mit USB-"virtuellen COM-Port"-Geräten, weil das USB-Gerät das Timing verzerrt. Die gängige Meinung ist, dass USB-Adapter mit Bitbang-Software für serielle PC-Ports "nicht funktionieren", die einen Hardware-COM-Port (8250 UART) erwartet, aber ich bin mir nicht 100% sicher, dass jemand es nicht mit einem PL2303 zum Laufen gebracht hat .

Wenn Sie einen AVR-Chip haben, der mit einem seriellen Bootloader vorprogrammiert ist, können Sie Ihren seriellen Adapter (mit einem RS232-> 5V-Level-Shifter) verwenden, um Programmierer-Firmware auf den AVR zu laden, und diesen AVR dann als Programmierer (mit geeigneter Firmware) zum Programmieren verwenden andere AVRs.

Sie können ATmegas mit dem vorinstallierten seriellen Arduino-Bootloader kaufen, oder kennen Sie vielleicht jemanden mit einem Programmierer (oder einem Arduino), der einen seriellen Bootloader für Sie auf einen ATmega brennen kann?

Ich habe einen Parallelport-Programmierer, aber das Problem ist, dass es auf neueren Computern nur USB-Ports gibt
@ Rick_2407 Mit Ihrem Parallelprogrammierer, einem geliehenen Computer und einem leeren AVR könnten Sie die Firmware ( arduino.cc/playground/Code/MegaISP ) für einen Programmierer mit serieller Schnittstelle auf einen AVR brennen. Sie können dann diesen AVR und einen seriellen USB-Dongle verwenden, um andere AVRs zu programmieren.
@unixbigot das ist gerade mein genaues Setup

Die "serielle" Programmierung des AVR erfolgt tatsächlich über SPI. Es ist möglich, SPI mit einem FT232 zu bitbangen, weshalb sie häufig für diesen Zweck verwendet werden.

Es gibt einen alten Trick, um SPI über die Flusssteuerungsleitungen einer echten seriellen Schnittstelle zu bitbangen. Möglicherweise können Sie mit Ihrem USB-Konverter etwas Ähnliches erreichen.

http://www.ele.uva.es/~jesus/avrprg/powerless.html

Aber das ist Bit-Banging, wie wird ein Konverter Bitbaning machen? Gibt es eine Möglichkeit zu überprüfen, ob das Bitbanging funktioniert?
Sie benötigen eine benutzerdefinierte Software auf der PC-Seite, um die RTS/DTS-Leitungen als Allzweck-IOs zu verwenden
Ich habe ein Lsusb von Ubuntu erstellt und kann bestätigen, dass es sich um einen PL2303 von innen handelt. Dies ist Pin-kompatibel mit FT232R. Die Verbindungen im Inneren müssen also genau wie eine normale Verbindung sein. Kann ich damit Bitbanging erreichen? dh ohne die Schaltung im Inneren zu bearbeiten

Ich würde vorschlagen, mit einem Parallelport-Programmierer zu beginnen. Sie sind sehr einfach zu machen und sind steinhart. Natürlich benötigen Sie einen PC mit paralleler Schnittstelle.

Oder wenn Sie jemanden mit einem funktionierenden Programmierer (oder einem PC mit Parallelanschluss) finden, können Sie sich selbst einen USBasp bauen . Es ist einfach zu bauen und funktioniert mit avrdude.

Wenn Sie einen (temporären) Programmierer haben, können Sie auch einen AVR910-Programmierer machen, aber wie Sie auf der Seite sehen können, gibt es ein kleines Durcheinander in der Dokumentation. Es nimmt normales RS232 (5-V-Pegel; verwenden Sie einen MAX232) an einem Ende und gibt das serielle AVR-Programmierprotokoll am anderen aus. Es gibt sogar AVRospII - eine nette Windows-GUI für das Ding. Vor einigen Jahren haben wir mehrere solcher Programmierer aus Handy-RS232-Kabeln gemacht.

Ich unterstütze die Idee, einen geliehenen Programmierer (oder einen geliehenen Computer, der mit dem Programmierer funktioniert, den Sie haben) zu verwenden, um einen USBasp oder einen anderen avr-basierten Programmierer zu machen. Hier ist der, den ich gebaut habe, der komplette Bausatz kostete nur 20 € - shop.tuxgraphics.org/electronic/detail_avrusb500.html . Verdammt, Sie können jetzt einen USBasp für 13 $ bei ebay bekommen.