На форуме Arduino есть ветка об этом - у кого-то был похожий вопрос.
Я нашел схему (ниже), которая не для этой платы, однако контакты заголовка помечены так же, как вы нашли, так что это похоже на правду.
Похоже, что заголовок используется для «режима синхронного сдвига битов», как описано здесь: режимы сдвига битов для FT232R и FT245R (Замечание по применению AN_232R-01, номер документа: FT_000339)
Фактически вы можете сконфигурировать этот заголовок как программиста SPI, как описано, например, в FT232R Bitbang Programmer .
Я сделал тест, поскольку у меня в ящике с запчастями была похожая доска:
Он имел положение для 6-контактного разъема, похожего на ваш. Перевернув доску, мы видим, что они были помечены точно так же, как ваша:
Я припаял заголовок (в желтом, чтобы быть последовательным), давая мне это:
Я добавил белую точку, чтобы обозначить контакт 1 (видимый на краю), чтобы правильно подключить кабель.
Когда я попытался использовать доску, я получил следующее сообщение от avrdude:
avrdude: ошибка: нет libftdi или поддержки libusb. Установите libftdi1 / libusb-1.0 или libftdi / libusb и снова запустите configure / make
Таким образом, это должно было быть скомпилировано с нуля! Я использую Ubuntu 14.04, если вы пытаетесь следовать. :)
Скачать avrdude
Перейти на сайт http://www.nongnu.org/avrdude/
Я скачал версию 6.3 источник: http://download.savannah.gnu.org/releases/avrdude/avrdude-6.3.tar.gz
Установите libusb и libftdi
Перед компиляцией мне пришлось взять libusb и libftdi:
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libftdi-dev
Скомпилировать avrdude
Теперь мы делаем avrdude после распаковки архива и перехода в его папку:
./configure --enable-libusb --enable-libftdi
make
Найти правильную конфигурацию
Внутри avrdude.conf
файла, который поставляется с avrdude, который я обнаружил (после некоторых размышлений), это, кажется, правильная запись:
# 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)
;
Сопоставление выводов с числами работает следующим образом ... Из упомянутого выше PDF-файла о режиме битового взрыва мы имеем следующую таблицу с аннотациями синего цвета:
Числа относятся к битовому номеру (то есть в диапазоне от 0 до 7) в байте данных с разделенными битами. Из более ранней схемы видно, что, например, MISO в заголовке ICSP подключен к CTS на FT232RL. Таким образом, MISO - это бит данных 3, который мы сообщаем avrdude в приведенной выше конфигурации. Точно так же SCK - это бит данных 5 и так далее.
Я попытался проверить, как это:
./avrdude -C avrdude.conf -carduino-ft232r -pm328p -v
Исправить разрешения
Я получил ошибку прав доступа, которая была исправлена путем создания файла в папке с /etc/udev/rules.d/
именем 71-FTDI.rules
. Внутри это:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE:="0666"
Номера могут отличаться для вашей доски. Вам нужно найти поставщика и идентификатор продукта. В Ubuntu вы можете делать lsusb
и видеть (среди прочего):
Bus 003 Device 061: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
^^^^ ^^^^
Обратите внимание на два шестнадцатеричных числа, которые копируются в файл правил.
После этого сообщите системе перезагрузить правила:
sudo udevadm control --reload-rules
Затем отключите и снова подключите плату FTDI, чтобы она заметила новые разрешения.
Обнаружение тестовой доски
Наконец, строка выше avrdude работает и читает чип:
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.
Я подключил мой к ATmega328P.
Пример, связанный с Diavolino
Как только мы достигнем этого, вы просто подключите плату FTDI к вашей целевой плате с помощью прямого кабеля.
Резюме
Плата FTDI, которую вы имеете (и ту, что у меня есть), может быть использована в качестве программатора ICSP для микросхем AVR, как описано выше. Таким образом, простая плата может быть как преобразователем USB в последовательный порт, так и программистом ICSP.
Я вижу похожие платы, продающиеся на eBay примерно за 5 долларов, так что это, вероятно, довольно дешевый вариант программирования.