RoboPeak USB Connector – 免驱动USB的AVR/51 ISP编程器
来源:互联网 发布:人工智能芯片上市公司 编辑:程序博客网 时间:2024/06/04 18:04
这里我们很荣幸向大家分享RoboPeak团队开发并使用的免驱动USB的AVR/51 ISP编程器: RoboPeak USB Connector。他的硬件和固件设计已经完全开源,配合Arduino-Lite使用会有很多便利,希望能对各位AVR/Arduino开发者和爱好者有所帮助。
项目主页:http://code.google.com/p/rp-usb-connector/
他仅使用单个Atmega88芯片制作,采用USB-HID协议,无需任何驱动可以运行在Windows任意版本(包括64位版本)、Linux、MacOS。相比USBasp编程器(目前尚未良好支持Vista和Windows7),他的优势是显而易见的。
1 简介
RoboPeak USB Connector是用于AVR/C51单片机芯片的USB接口编程器,他由AVR-Doper(http://www.obdev.at/products/vusb/avrdoper.html)项目衍伸而来。因为自身采用HID协议,无需安装任何驱动程序,即可在各类Windows版本(包括64位系统)、Linux、Mac上工作。
RoboPeak USB Connector可以认为是AVR-doper的简化版本,同时我们用Arduino-Lite库重写了他的固件代码,并且在Arduino-Lite中提供了他的支持,配合Arduino-Lite可以很方便的对AVR芯片进行开发和编程烧录。
借助于v-usb的软件USB协议模拟,RoboPeak USB Connector仅包含一块Atmega88芯片,无需USB接口芯片,这样降低了该编程器的制作成本。
支持的操作系统:
- Linux with libusb
- Windows from the version WinXP
- MacOS
- Windows XP
- Windows Vista, 32位版 和 64位版
- Windows 7, 32位版 和 64位版
2 与Arduino-Lite结合给AVR/51设备编程
RoboPeak USB Connector与Arduno-Lite配套使用时将有很多便利,在Arduino-Lite中使用make burn命令即可通过RoboPeak USB Connector将HEX文件烧录进入目标AVR芯片,无需安装或者配置任何程序和环境。下面的视频短片展示了这个过程:
(http://www.tudou.com/programs/view/Den9uh3HTHE/)
这里以Windows7 64位版本为例子,当RP USB Connector接入系统后,会识别出设备AVR-Doper。
将RP USB Connector用ISP下载排线连接目标被编程设备后,进入需要烧录的工程目录,使用make burn命令即可开始下载烧录过程,如下图所示:
3 在非Arduino-Lite环境中烧录
目前avr-gcc(WINAVR)中的avrdude.exe支持AVR-Doper协议的设备,因此可以直接使用该程序利用RP USB Connector进行编程。事实上Arduino-Lite也是利用该程序。
这里推荐使用网络上可用的avrdude GUI包装程序进行操作,这里以avrdude-gui(http://sourceforge.net/projects/avrdude-gui/)程序为例进行设置即可:
您也可以在命令行下使用如下命令进行编程烧录作业:
avrdude.exe -P avrdoper -c stk500v2 -p <AVR_chip_type> <Operations>
也可以参考Avr-doper项目的文档获取别的方式:http://www.obdev.at/products/vusb/avrdoper.html
4 如何制作?
RoboPeak USB Connector的原理图可以在该项目的hardware/目录找到:
点击上图查看原始尺寸
可以参考RoboPeak正在使用的布局方式,我们今后也会发布PCB layout文件:
编译固件:
该过程具体见本项目中的README文件。RoboPeak USB Connector使用Arduino-Lite进行开发和编译。大致过程是将RoboPeak USB Connector的固件代码放入Arduino-Lite项目区进行编译即可。
烧录固件到RoboPeak USB Connector
可以使用Arduino-Lite并用make burnall命令来完成对新制作的RoboPeak USB Connector的编程。该命令将会把固件hex文件以及BootLoaderHID的固件下载到目标AVR芯片。并且目标芯片的熔丝也会自动得到配置。
也可以人工对RoboPeak USB Connector进行编程,使用如下的熔丝设置:
// 仅用于Atmega88
LFUSE=CE
HFUSE=DD
EFUSE=00
您也需要去烧录BootloaderHID 固件,他的hex文件可以在Arduino-Lite项目中找到( <Arduino-Lite/src/bootloaders/hidbootloader/pre-compiled/mega88_12M.hex)
5 自我编程能力
RoboPeak USB Connector支持自我编程能力。在固件中包含了一个免驱动的USB Bootloader,BootloadHID (http://www.obdev.at/products/vusb/bootloadhid.html).
在某些情况下,例如您需要更新RoboPeak USB Connector的固件,但却只有一套RoboPeak USB Connector设备,此时,自我编程能力就很有用处。
请按照如下步骤进行自我编程:
- 连接位于P_ADC排针上的ADC0(PC1)和VCC引脚。
- 将RoboPeak USB Connector连接至PC。
- 此时,操作系统应当能提示有一个名为HIDBoot的设备接入了。
- 进入RoboPeak USB Connector的固件工程目录, 开启用于编译的bash shell终端, 输入并执行
make usbupload
6 是否有成品提供?
为了方便大家,我们考虑提供该编程器的成品或者半成品(未焊接),具体信息请关注我们进一步消息。
7 参考
- Arduino-Lite AVR固件库:
http://code.google.com/p/arduino-lite/downloads/list
- Arduino-Lite的介绍和使用:
http://www.robopeak.net/blog/?p=42
http://www.robopeak.net/blog/?p=70
- Arduino-Lite函数手册和开发参考:
http://www.robopeak.net/blog/?p=107
- RoboPeak USB Connector – 免驱动USB的AVR/51 ISP编程器
- usb免驱动之UVC
- 简单方便自制的几个AVR/51 ISP编程器(下载线)
- 开始USB驱动编程~~
- 从零开始学做机器人——第三章【安装烧写软件和下载器USB-ISP的驱动】
- Usb的驱动过程
- usb驱动的基本知识
- USB触摸屏的驱动
- Arduino-Lite, RoboPeak使用的高效轻量级AVR库(1)
- Arduino-Lite, RoboPeak使用的高效轻量级AVR库(2)
- [USB] USB 设备驱动的移植
- USB驱动--USB鼠标
- USB驱动
- USB驱动
- usb 驱动
- usb驱动
- usb驱动
- usb 驱动
- 可直接选择月度和年度的Ext DateField
- 扩展欧几里得&&青蛙的约会
- Ural - 1018 纠结的树型DP...
- webKf
- HashMap<string, ...> 能有多快
- RoboPeak USB Connector – 免驱动USB的AVR/51 ISP编程器
- 链式队列的简单实现
- 进程优先级逆转问题的解决
- Linux命令全称
- perl中grep用法总结 z
- 网络流题目
- Linux设备驱动程序学习(一)入门必须的hello world
- 堆排序
- Fedora 15