Jest na ten temat wątek na forum Arduino - ktoś miał podobne pytanie.
Znalazłem schemat (poniżej), który nie jest dla tej płyty, ale szpilki nagłówka są oznaczone tak samo, jak znalazłeś, więc jest prawdopodobne.
Wygląda na to, że nagłówek jest używany w „Synchronicznym trybie Bang Bang”, jak tu udokumentowano: Tryby Bit Bang dla FT232R i FT245R (Nota aplikacyjna AN_232R-01, nr referencyjny dokumentu: FT_000339)
Można tak skonfigurować nagłówek, aby był programistą SPI, jak opisano na przykład w Bitbang Programmer FT232R .
Zrobiłem test, ponieważ miałem podobną płytkę w mojej szufladzie na części:
Zawierał 6-pinowy nagłówek podobny do twojego. Odwracając tablicę, widzimy, że zostały oznaczone dokładnie tak samo jak Twoja:
Przylutowałem do nagłówka (żółty, żeby zachować spójność), dając mi to:
Dodałem białą kropkę, aby wskazać pin 1 (widoczny na krawędzi), więc podłączam kabel we właściwy sposób.
Kiedy próbowałem użyć tablicy, otrzymałem ten komunikat od avrdude:
avrdude: error: no libftdi or libusb support. Zainstaluj libftdi1 / libusb-1.0 lub libftdi / libusb i uruchom ponownie config / make
Musiał więc zostać skompilowany od podstaw! Używam Ubuntu 14.04, jeśli próbujesz postępować zgodnie z nimi. :)
Pobierz avrdude
Przejdź do strony http://www.nongnu.org/avrdude/
Pobrałem wersję 6.3 źródło: http://download.savannah.gnu.org/releases/avrdude/avrdude-6.3.tar.gz
Zainstaluj libusb i libftdi
Przed kompilacją musiałem pobrać libusb i libftdi:
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libftdi-dev
Skompiluj avrdude
Teraz robimy avrdude po rozpakowaniu archiwum i przejściu do jego folderu:
./configure --enable-libusb --enable-libftdi
make
Znajdź poprawną konfigurację
W avrdude.conf
pliku dołączonym do avrdude znalazłem (po pewnym zastanowieniu) poprawny wpis:
# 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)
;
Mapowanie pinów na liczby działa w ten sposób ... Ze wspomnianego powyżej pliku PDF o trybie bit bang mamy tę tabelę z moimi adnotacjami w kolorze niebieskim:
Liczby odnoszą się do liczby bitów (tj. W zakresie od 0 do 7) w bajcie danych „bit banged”. Z wcześniejszego schematu widać, że na przykład MISO w nagłówku ICSP jest podłączony do CTS na FT232RL. Zatem MISO jest bitem danych 3, który mówimy avrdude w powyższej konfiguracji. Podobnie SCK to bit danych 5 i tak dalej.
Próbowałem przetestować w ten sposób:
./avrdude -C avrdude.conf -carduino-ft232r -pm328p -v
Napraw uprawnienia
Dostałem błąd uprawnień, który został naprawiony poprzez utworzenie pliku w folderze o /etc/udev/rules.d/
nazwie 71-FTDI.rules
. Wewnątrz jest:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE:="0666"
Liczby mogą się różnić dla twojej tablicy. Musisz znaleźć dostawcę i identyfikator produktu. W Ubuntu możesz zrobić lsusb
i zobaczyć (między innymi):
Bus 003 Device 061: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
^^^^ ^^^^
Zwróć uwagę na dwie liczby szesnastkowe, które są kopiowane do pliku reguł.
Po wykonaniu tej czynności powiedz systemowi, aby ponownie załadował reguły:
sudo udevadm control --reload-rules
Następnie odłącz kartę FTDI i podłącz ją ponownie, aby zauważyć nowe uprawnienia.
Wykrywanie płytki testowej
Na koniec powyższa linia avrdude działa i odczytuje układ:
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.
Miałem mój podłączony do ATmega328P.
Przykład podłączony do Diavolino
Gdy już zaszliśmy tak daleko, wystarczy podłączyć płytkę FTDI do planszy docelowej za pomocą prostego kabla.
Podsumowanie
Płytka FTDI, którą posiadasz (i tę, którą posiadam) może być używana jako programator ICSP dla układów AVR, jak opisano powyżej. Tak więc prostą płytą może być zarówno konwerter USB na szeregowy, jak i programator ICSP.
Widzę, że podobne tablice sprzedają się na eBayu za około 5 USD, więc jest to prawdopodobnie dość tania opcja programowania.