Hay un hilo sobre eso en el Foro Arduino : alguien tenía una pregunta similar.
Encontré un esquema (a continuación) que no es para esa placa, sin embargo, los pines del encabezado están etiquetados de la misma manera que lo encontraste, por lo que es plausiblemente similar.
Parece que el encabezado se usa para el "modo de sincronización de bits síncrono" como se documenta aquí: modos de explosión de bits para FT232R y FT245R (Nota de aplicación AN_232R-01, número de referencia del documento: FT_000339)
De hecho, puede configurar ese encabezado para que sea un programador SPI, como se describe, por ejemplo, en FT232R Bitbang Programmer .
Hice una prueba ya que tenía un tablero similar en mi cajón de piezas:
Tenía una disposición para un encabezado de 6 pines similar al tuyo. Volteando el tablero podemos ver que fueron etiquetados exactamente igual que el suyo:
Solde en un encabezado (en amarillo, para ser consistente) dándome esto:
Agregué un punto blanco para indicar el pin 1 (visible en el borde) para enchufar el cable de la manera correcta.
Cuando intenté usar el tablero, recibí este mensaje de avrdude:
avrdude: error: no hay soporte para libftdi o libusb. Instale libftdi1 / libusb-1.0 o libftdi / libusb y ejecute configure / make nuevamente
Entonces, ¡tuvo que ser compilado desde cero! Estoy usando Ubuntu 14.04 si estás tratando de seguirlo. :)
Descargar avrdude
Vaya al sitio http://www.nongnu.org/avrdude/
Descargué la fuente de la versión 6.3: http://download.savannah.gnu.org/releases/avrdude/avrdude-6.3.tar.gz
Instalar libusb y libftdi
Antes de compilar tuve que tomar libusb y libftdi:
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libftdi-dev
Compilar avrdude
Ahora hacemos avrdude después de extraer el archivo y navegar a su carpeta:
./configure --enable-libusb --enable-libftdi
make
Encuentra la configuración correcta
Dentro del avrdude.conf
archivo que viene con avrdude encontré (después de reflexionar) esta parece ser la entrada correcta:
# 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 asignación de pines a números funciona de esta manera ... Del PDF sobre el modo de explosión de bits mencionado anteriormente tenemos esta tabla, con anotaciones en azul por mí:
Los números se refieren al número de bit (es decir, en el rango de 0 a 7) en el byte de datos "bit banged". Podemos ver en el esquema anterior que, por ejemplo, MISO en el encabezado ICSP está conectado a CTS en el FT232RL. Por lo tanto, MISO es el bit de datos 3, que le decimos a avrdude en la configuración anterior. De manera similar, SCK es el bit de datos 5, y así sucesivamente.
Intenté probar así:
./avrdude -C avrdude.conf -carduino-ft232r -pm328p -v
Arreglar permisos
Obtuve un error de permisos que se solucionó creando un archivo en la carpeta /etc/udev/rules.d/
llamada 71-FTDI.rules
. Dentro de esto está:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE:="0666"
Los números pueden variar para su tablero. Necesita encontrar el proveedor y la identificación del producto. En Ubuntu puedes hacer lsusb
y ver (entre otras cosas):
Bus 003 Device 061: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
^^^^ ^^^^
Tenga en cuenta los dos números hexadecimales, que se copian en el archivo de reglas.
Después de hacer eso, dígale al sistema que vuelva a cargar las reglas:
sudo udevadm control --reload-rules
Luego, desenchufe y vuelva a enchufar la placa FTDI para que note los nuevos permisos.
Prueba de detección de placa
Finalmente, la línea avrdude anterior funciona y lee el 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.
Tenía el mío conectado a un ATmega328P.
Ejemplo conectado a un Diavolino
Una vez que hayamos llegado tan lejos, simplemente conecte la placa FTDI a su placa objetivo con un cable directo.
Resumen
La placa FTDI que tiene (y la que tengo) se puede usar como programador ICSP para los chips AVR, como se describió anteriormente. Por lo tanto, una placa simple puede ser un convertidor de USB a serie y también un programador ICSP.
Veo tableros similares que se venden en eBay por alrededor de $ 5, por lo que probablemente sea una opción de programación bastante barata.