C'è una discussione al riguardo sul forum di Arduino: qualcuno aveva una domanda simile.
Ho trovato uno schema (sotto) che non è per quella scheda, tuttavia i perni delle intestazioni sono etichettati come quelli che hai trovato, quindi è plausibilmente simile.
Sembra che l'intestazione sia utilizzata per la "Modalità Bit Bang sincrona" come documentato qui: Modalità Bit Bang per FT232R e FT245R (Nota applicativa AN_232R-01, Numero di riferimento del documento: FT_000339)
Puoi infatti configurare quell'intestazione in modo che sia un programmatore SPI, come descritto ad esempio nel programmatore di bitbang FT232R .
Ho fatto un test perché avevo una scheda simile nel mio cassetto delle parti:
Aveva una intestazione a 6 pin simile alla tua. Girando la scheda possiamo vedere che sono stati etichettati esattamente come i tuoi:
Ho saldato su un'intestazione (in giallo, per essere coerente) dandomi questo:
Ho aggiunto un punto bianco per indicare il pin 1 (visibile sul bordo) in modo da collegare il cavo nel modo giusto.
Quando ho tentato di utilizzare la scheda ho ricevuto questo messaggio da avrdude:
avrdude: errore: nessun supporto libftdi o libusb. Installa libftdi1 / libusb-1.0 o libftdi / libusb ed esegui configure / make di nuovo
Quindi, doveva essere compilato da zero! Sto usando Ubuntu 14.04 se stai cercando di seguire. :)
Scarica avrdude
Vai al sito http://www.nongnu.org/avrdude/
Ho scaricato la versione 6.3 fonte: http://download.savannah.gnu.org/releases/avrdude/avrdude-6.3.tar.gz
Installa libusb e libftdi
Prima di compilare ho dovuto prendere libusb e libftdi:
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libftdi-dev
Compila avrdude
Ora facciamo avrdude dopo aver estratto l'archivio e aver navigato nella sua cartella:
./configure --enable-libusb --enable-libftdi
make
Trova la configurazione corretta
All'interno del avrdude.conf
file che viene fornito con avrdude ho trovato (dopo un po 'di riflessione) questa sembra essere la voce corretta:
# 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)
;
La mappatura dei pin ai numeri funziona in questo modo ... Dal PDF sulla modalità bit bang menzionata sopra abbiamo questa tabella, con annotazioni in blu da me:
I numeri si riferiscono al numero di bit (cioè nell'intervallo da 0 a 7) nel byte di dati "bit banged". Possiamo vedere dallo schema precedente che, ad esempio, MISO sull'intestazione ICSP è cablato a CTS su FT232RL. Quindi MISO è il bit di dati 3, che diciamo avrdude nella configurazione sopra. Allo stesso modo SCK è il bit di dati 5 e così via.
Ho provato a provare in questo modo:
./avrdude -C avrdude.conf -carduino-ft232r -pm328p -v
Risolvi i permessi
Ho ricevuto un errore di autorizzazione che è stato corretto creando un file nella cartella /etc/udev/rules.d/
chiamata 71-FTDI.rules
. All'interno di questo è:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE:="0666"
I numeri possono variare per la tua scheda. Devi trovare il fornitore e l'ID del prodotto. In Ubuntu puoi fare lsusb
e vedere (tra le altre cose):
Bus 003 Device 061: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
^^^^ ^^^^
Nota i due numeri esadecimali, che vengono copiati nel file delle regole.
Dopo averlo fatto, dire al sistema di ricaricare le regole:
sudo udevadm control --reload-rules
Quindi scollegare e ricollegare la scheda FTDI per farlo notare le nuove autorizzazioni.
Rilevazione della scheda di test
Infine, la riga avrdude sopra funziona e legge il 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.
Avevo collegato il mio a un ATmega328P.
Esempio collegato a un Diavolino
Una volta arrivati a questo punto, basta collegare la scheda FTDI alla scheda di destinazione con un cavo diretto.
Sommario
La scheda FTDI che hai (e quella che ho) può essere utilizzata come programmatore ICSP per i chip AVR, come descritto sopra. Pertanto una semplice scheda può essere sia un convertitore da USB a seriale, sia un programmatore ICSP.
Vedo schede simili che vendono su eBay per circa $ 5, quindi è probabilmente un'opzione di programmazione abbastanza economica.