Es gibt einen Thread darüber im Arduino Forum - jemand hatte eine ähnliche Frage.
Ich habe einen Schaltplan (unten) gefunden, der nicht für diese Karte gilt. Die Header-Pins sind jedoch genauso beschriftet wie Sie, sodass sie plausibel ähnlich sind.
Es scheint, dass der Header für den "Synchronous Bit Bang Mode" verwendet wird, wie hier dokumentiert: Bit Bang Modi für FT232R und FT245R (Application Note AN_232R-01, Dokumentreferenznummer: FT_000339)
Sie können diesen Header tatsächlich als SPI-Programmierer konfigurieren, wie beispielsweise in FT232R Bitbang Programmer beschrieben .
Ich habe einen Test gemacht, da ich ein ähnliches Board in meiner Teileschublade hatte:
Es war ein 6-poliger Header vorgesehen, der Ihrem ähnlich war. Wenn wir das Brett umdrehen, können wir sehen, dass sie genau so beschriftet waren wie deine:
Ich habe einen Header (gelb, um konsistent zu sein) angelötet und dabei Folgendes erhalten:
Ich habe einen weißen Punkt hinzugefügt, um Pin 1 (sichtbar am Rand) anzuzeigen, damit ich das Kabel richtig herum einstecken kann.
Als ich versuchte, das Board zu benutzen, bekam ich folgende Nachricht von avrdude:
avrdude: Fehler: Keine libftdi oder libusb Unterstützung. Installieren Sie libftdi1 / libusb-1.0 oder libftdi / libusb und führen Sie configure / make erneut aus
Also musste es von Grund auf neu kompiliert werden! Ich benutze Ubuntu 14.04, wenn Sie versuchen, mitzumachen. :) :)
Laden Sie avrdude herunter
Gehen Sie zur Website http://www.nongnu.org/avrdude/
Ich habe die Quelle der Version 6.3 heruntergeladen: http://download.savannah.gnu.org/releases/avrdude/avrdude-6.3.tar.gz
Installieren Sie libusb und libftdi
Vor dem Kompilieren musste ich libusb und libftdi holen:
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libftdi-dev
Kompilieren Sie avrdude
Jetzt machen wir avrdude, nachdem wir das Archiv extrahiert und zu seinem Ordner navigiert haben:
./configure --enable-libusb --enable-libftdi
make
Finden Sie die richtige Konfiguration
In der avrdude.conf
Datei, die mit avrdude geliefert wird, habe ich (nach einigem Nachdenken) den richtigen Eintrag gefunden:
# see http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html
# Note: pins are numbered from 1!
programmer
id = "arduino-ft232r";
desc = "Arduino: FT232R connected to ISP";
type = "ftdi_syncbb";
connection_type = usb;
miso = 3; # CTS X3(1)
sck = 5; # DSR X3(2)
mosi = 6; # DCD X3(3)
reset = 7; # RI X3(4)
;
Die Zuordnung von Pins zu Zahlen funktioniert folgendermaßen ... Aus dem oben erwähnten PDF über den Bit-Bang-Modus haben wir diese Tabelle mit Anmerkungen in Blau von mir:
Die Zahlen beziehen sich auf die Bitnummer (dh im Bereich von 0 bis 7) im Datenbyte "Bit Banged". Aus dem früheren Schema ist ersichtlich, dass beispielsweise MISO im ICSP-Header mit CTS im FT232RL verbunden ist. Somit ist MISO das Datenbit 3, das wir in der obigen Konfiguration als avrdude bezeichnen. In ähnlicher Weise ist SCK das Datenbit 5 und so weiter.
Ich habe versucht, so zu testen:
./avrdude -C avrdude.conf -carduino-ft232r -pm328p -v
Festgelegte Berechtigungen
Ich habe einen Berechtigungsfehler erhalten, der behoben wurde, indem eine Datei in dem Ordner /etc/udev/rules.d/
namens erstellt wurde 71-FTDI.rules
. Darin befindet sich:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE:="0666"
Die Zahlen können für Ihr Board variieren. Sie müssen den Lieferanten und die Produkt-ID finden. In Ubuntu können Sie lsusb
(unter anderem) Folgendes tun und sehen:
Bus 003 Device 061: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
^^^^ ^^^^
Beachten Sie die beiden Hex-Zahlen, die in die Regeldatei kopiert werden.
Weisen Sie das System anschließend an, die Regeln neu zu laden:
sudo udevadm control --reload-rules
Ziehen Sie dann den Stecker aus der Steckdose und schließen Sie die FTDI-Karte erneut an, damit sie die neuen Berechtigungen erkennt.
Testplatinenerkennung
Schließlich funktioniert die obige Avrdude-Zeile und liest den Chip:
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: safemode: hfuse reads as DE
avrdude: safemode: efuse reads as FD
avrdude: safemode: hfuse reads as DE
avrdude: safemode: efuse reads as FD
avrdude: safemode: Fuses OK (E:FD, H:DE, L:FF)
avrdude done. Thank you.
Ich hatte meine an einen ATmega328P angeschlossen.
Beispiel verbunden mit einem Diavolino
Sobald wir so weit sind, verbinden Sie einfach die FTDI-Karte mit einem durchgehenden Kabel mit Ihrer Zielkarte.
Zusammenfassung
Die FTDI-Karte, die Sie haben (und die, die ich habe), kann wie oben beschrieben als ICSP-Programmierer für die AVR-Chips verwendet werden. Somit kann eine einfache Karte sowohl ein USB-zu-Seriell-Wandler als auch ein ICSP-Programmierer sein.
Ich sehe ähnliche Boards, die bei eBay für etwa 5 US-Dollar verkauft werden. Das ist wahrscheinlich eine recht billige Programmieroption.