FTDI Friend使用指南:从驱动安装到芯片编程

电子说

1.4w人已加入

描述

FTDI Friend使用指南:从驱动安装到芯片编程

一、FTDI Friend概述

在如今USB端口占据主导的时代,当我们需要将微控制器的日常串行数据传输到计算机时,FTDI Friend就派上用场了。它是一款经过改进的FTDI FT232RL芯片适配器,和常见的FTDI电缆一样,能为项目供电,还有4条信号线用于数据传输。但它的功能远不止于此,比如可以将信号和电源线设置为3.3V或5V,并且还提供了DTR线,满足不同的编程需求。默认情况下,它的设置与FTDI电缆相匹配,第6针是RTS,电源线为+5V,信号电平为3.3V(兼容5V,适用于大多数3.3V和5V信号系统)。

文件下载:284.pdf

二、安装FTDI驱动

连接设备

如果使用的是FTDI电缆,其末端已有USB A连接器;若是FTDI适配器,则需要一根标准的mini - B电缆,常见的相机或手机数据线都可以使用。

不同系统的驱动安装

  • Windows或Mac OS:若之前未为其他项目安装FTDI驱动,可能需要下载。连接设备后,Windows系统可能会发出提示音,右下角会弹出“找到新硬件FT232R USB UART”的气泡。随后新硬件向导启动,选择“这次不”,然后点击“下一步”。接着选择“从列表或指定位置安装”,勾选“包括这个位置”,浏览到下载驱动的文件夹,选择文件夹后点击“确定”。安装完成后,会弹出“USB串行端口”窗口,重复上述安装步骤,安装成功后可能需要重启计算机。
  • Linux:Linux系统的驱动已内置在操作系统中,非常方便。

三、COM / 串行端口名称验证

Mac系统

在终端窗口中输入“ls /dev/cu.*”,会得到类似的响应,我们要找的名称是“/dev/cu.usbserial - XXXX”,其中XXXX对于每条电缆都是唯一的,将其复制粘贴到文本文件中以便后续使用。

Linux/Unix系统

在终端窗口中输入“ls /dev/ttyUSB*”,会看到类似“ttyUSB0”的设备文件。

Windows系统

通过“开始菜单” - “设置” - “控制面板”,双击“系统”,选择“硬件”选项卡,点击“设备管理器”。在“端口(COM & LPT)”下找到“USB串行端口(COM)”,COM编号可能不同,如COM3或COM4,最高可能到COM99。若未看到COM端口,需验证电缆是否插好,并检查是否安装了VCP FTDI驱动。右键点击该端口,选择“属性”,点击“端口设置”选项卡,再点击“高级...”,确保“Set RTS On Close”未被选中(在Arduino IDE版本18之前可能需要选中,现在不需要)。

四、FTDI与AVR编程器的区别

编程方式

编程AVR微控制器有两种方式:一种是使用AVR编程器对整个芯片进行重新编程;另一种是利用预编程在芯片上的引导加载程序让芯片自行重新编程。

特点对比

  • AVR编程器:功能更强大,可以对芯片上的任何内容进行操作,整个32K的内存都可使用。但风险也较大,可能会因操作熔丝设置而使芯片损坏。
  • FTDI适配器:可以来回发送任何串行数据,包括更新带有引导加载程序的AVR芯片。但需要先使用AVR编程器将引导加载程序烧录到芯片上。如果使用AVR编程器对带有引导加载程序的芯片进行写入操作,会覆盖引导加载程序,使用时需注意。对于不太熟悉微控制器编程的人,建议使用FTDI适配器配合引导加载程序的方法,这种方法速度快,还能进行调试,且几乎不会因操作熔丝而损坏芯片。

五、编程空白AVR芯片

方法一:更新AVRDUDE软件和安装不同驱动

这种方法无需焊接,但需要更新AVRDUDE软件并安装不同的驱动,可参考相关文档和链接。

方法二:焊接导线的方式

这种方法需要对FTDI Friend进行一些操作。将FTDI Friend翻面,在左下角的DTR引脚焊上一点焊锡,再焊上一根白色导线,注意不要与右边的金色方块短路。将黑色导线接GND,蓝色导线接CTS,红色导线接VCC,橙色导线接TX,绿色导线接RTS。然后需要对avrdude.conf文件进行编辑,找到“ponyser”字符串,在其前面添加相应内容。保存文件后即可进行后续操作。不过这种方法速度较慢,适合烧录引导加载程序,不太适合日常AVR开发。

六、编程Arduino引导加载程序

配置文件修改

打开Arduino IDE安装目录下的“programmers.txt”文件,在底部添加以下内容:

ftdifriend.name=FTDI Friend bitbang
ftdifriend.communication=serial
ftdifriend.protocol=ftdifriend

保存文件。

连接线路

  • 将黑色(GND)导线连接到芯片的接地端。
  • 将红色(VCC)导线连接到芯片的电源/VCC/5V引脚。
  • 将白色(DTR)导线连接到复位引脚。
  • 将橙色(TX)导线连接到SCK引脚(Arduino引脚13)。
  • 将蓝色(CTS)导线连接到MISO引脚(Arduino引脚12)。
  • 将绿色(RTS)导线连接到MOSI引脚(Arduino引脚11)。

烧录操作

启动Arduino IDE,选择FTDI Friend的COM端口,确保选择了正确的开发板,然后选择“烧录引导加载程序” - “FTDI Friend”。烧录过程非常耗时,大约需要两个小时,因为编程效率较低。烧录时,引脚13的LED会一直亮着,熄灭表示烧录完成。

七、使用命令行AVRdude

运行命令

如果使用Arduino IDE内的AVRdude安装程序,打开cmd终端,进入IDE安装目录下的“hardwaretoolsavr”目录,运行“binavrdude.exe -C etcavrdude.conf -c ftdifriend”。运行后可能会提示“未指定AVR部件”,这是正常的。

连接线路及验证

连接线路与编程Arduino引导加载程序时相同。通过运行“avrdude -c ftdifriend -P .COMxx -p atmega328p”来验证连接,将“.COMxx”替换为之前通过设备管理器找到的COM端口。如果使用Linux或Mac系统,COM端口应替换为“/dev/cu.usbserialXXX”或“/dev/ttyUSBx”。对于设备,这里以Atmega328p芯片为例,若使用其他芯片,需替换“-p”后面的名称。

编程操作

验证连接成功后,使用“-U flash:w:”命令进行芯片编程。例如,要烧录引导加载程序,可以运行“binavrdude.exe -C etcavrdude.conf -c ftdifriend -P .COM46 -p atmega328p -U flash:w:....arduinobootloadersatmegaATmegaBOOT_168_atmega328.hex”。烧录大约每字节数据需要5分钟。

八、下载资源

可以在GitHub上获取FTDI Friend的原理图和布局文件,其遵循CC归属/共享许可协议。还可以在Adafruit Fritzing库中找到Fritzing对象。

在使用FTDI Friend进行开发的过程中,大家是否遇到过一些独特的问题呢?欢迎在评论区分享你的经验和疑问。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分