Arduino UNO 样板调试
Arduino UNO已经推出一段时间了,虽然我们很早就基于官网公布的参考实现把电路板做出来了,但一直基于苦于相应的芯片非常难订购到,所以直到前两天才装好第一块样板,先上个成品图(注意,没有Arduino的商标以及MADE IN CHINA):
从硬件上看,Arduino UNO与之前Arduino 2009版本的最大不同在于USB转串口部分,Arduino 2009采用的是FTDI专用芯片FT232RL,而Arduino UNO采用的是用一块ATmega8模拟出串口的做法。这一改动着实给我们带来了不小的麻烦,第一是该
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
所采用的ATmega8U2芯片基本上在市场上很难找到,另外一点就是该芯片的封装加大了焊接的难度的成本。在研究原理图的过程中,发现其在USB引脚上加入了防止静电的元件,感觉应该会更加稳定。
拿到焊好的样板之后,首先要向ATMega8U2内写入相应的USB固件(firmware)。在最新版本的Arduino-0021安装目录下的hardware\arduino\firmwares目录下,我们可以找到为Arduino UNO 编译好的USB固件文件UNO-dfu_and_usbserial_combined.hex。Arduino UNO上为ATMega8U2单片机也留出了ICSP接口,我们可以借助它来下载相应的USB固件,使用的工具仍然是USBTinyISP,其右上角为ICSP的1脚:
下载时使用的命令为:
avrdude -p at90usb82 -F -P usb -c usbtiny -U flash:w:UNO-dfu_and_usbserial_combined.hex
-U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m
有意思的是写入USB固件时标明的芯片类型为AT90USB82,这显然与板子上使用的ATMega8U2不同,下载过程中avrdude也提示了这一点,估计两者的功能是比较类似的,或者就是同一芯片的不同版本罢了。
下载好USB固件之后,此时将Arduino UNO通过USB线连接到Windows时,就会提示有名为“Arduino UNO“的新USB设备找到,估计这也是官方要采用这一方案的原因,因为之前的版本弹出的是一个FTDI的USB设备的提示,不如现在直接找到Arduino这一USB设备酷吧;-)
接着Windows会引导我们进入“找到新的硬件向导”窗口,选取其中的“否,暂时不”选项后单击“下一步”按钮:
接下来的步骤需要安装Arduino UNO所需的驱动,选取其中的“从列
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
或指定位置安装(高级)”选项后单击“下一步”按钮:
Arduino UNO的USB驱动放在Arduino 0021安装目录下的drivers目录中,我们需要为Windows指明该目录为安装驱动时搜索的目录:
单击“下一步”按钮后,Windows就开始查找并安装Arduino UNO的USB驱动程序:
如果一切正常的话,我们将看到如下的成功界面:
Arduino UNO的USB驱动安装成功之后,我们可以在Windows设备管理器中找到相应的Arduino UNO串口:
USB部分搞定之后,剩余的单片机部分应该算是比较有把握的,这部分与Arduino 2009基本没有变化。首先从Arduino IDE的“Tools”菜单下选择“Board”中的“Arduino UNO”:
然后将USBTinyISP连接到Arduino UNO上的ICSP座上:
再从Arduino IDE的“Tools”菜单下选择“Burn Bootloader”中“w/ USBTinyISP”:
剩下的步骤就跟之前版本的Arduino是完全一样的了。经过测试,我们第一块Arduino UNO样板工作基本正常,目前唯一的问题是下载程序的时候TX/RX两个灯不亮,仔细检查电路后发现应该是这两个灯焊反了,明天修改一下;-)
Arduino UNO统一采用ATMega328P芯片,可问题是目前这一芯片在市场上很难找到,我们订的货也一拖再拖,什么时候能够正常供货目前还比较难确定,主要看芯片的到货情况。