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)。从较早的原理图中我们可以看到,例如,ICSP头上的MISO连接到FT232RL上的CTS。因此,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"
这些数字可能因您的主板而异。您需要找到供应商和产品ID。在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板(以及我拥有的FTDI板)可以用作AVR芯片的ICSP编程器。因此,简单的电路板既可以是USB到串行转换器,也可以是ICSP编程器。
我看到类似的开发板在eBay上的售价约为5美元,因此这可能是一种相当便宜的编程选择。