Arduino UNO 样板调试

Written by on 2010/11/20 in Arduino - 2 Comments

Arduino UNO已经推出一段时间了,虽然我们很早就基于官网公布的参考实现把电路板做出来了,但一直基于苦于相应的芯片非常难订购到,所以直到前两天才装好第一块样板,先上个成品图(注意,没有Arduino的商标以及MADE IN CHINA):

从硬件上看,Arduino UNO与之前Arduino 2009版本的最大不同在于USB转串口部分,Arduino 2009采用的是FTDI专用芯片FT232RL,而Arduino UNO采用的是用一块ATmega8模拟出串口的做法。这一改动着实给我们带来了不小的麻烦,第一是该方案所采用的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所需的驱动,选取其中的“从列表或指定位置安装(高级)”选项后单击“下一步”按钮:

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芯片,可问题是目前这一芯片在市场上很难找到,我们订的货也一拖再拖,什么时候能够正常供货目前还比较难确定,主要看芯片的到货情况。

2 Comments on "Arduino UNO 样板调试"

  1. xiaole 2010/11/22 at 8:13 AM ·

    很好很强大。前天才订了你的BLOG和微博,在微博上问问题没回答,看到BLOG里原来有问题的答案。呵呵。

    我想买个来业余时间玩玩,还没下手,看到有UNO比duemilanove更好一些。不知道uno定价会是多少。还要多久才开始出货?我是等UNO好还是直接买duemilanov呢?犹豫中,期待回复。

  2. flamingoeda 2010/11/22 at 6:00 PM ·

    因为订购的芯片延迟的原因,UNO估计要到十二月中旬才能开始正式出售,其实从功能的角度来讲两者并没有区别,只是USB部分的电路做了修改而已;-) 如果不是太着急的话,你可以关注一下UNO。价格上目前UNO的价格还没有完全确定,但应该会比Duemilanove高一些。

Leave a Comment

使用新浪微博登录