http://code.google.com/p/rp-usb-connector/
[中文版本在本页下方:]
RoboPeak USB Connector is a driverless USB ISP programmer for AVR/C51 MCU. It is developed by RoboPeak team).
RoboPeak USB Connector is based on the work of AVR-Doper project (http://www.obdev.at/products/vusb/avrdoper.html), which is a STK500 compatible In-System Programmer (ISP) and High Voltage Serial Programmer (HVSP).
The USB connectivity is achieved using the v-usb lib (a software-only implementation of a low-speed USB device for Atmel's AVR microcontrollers). We only use a simple AVR MCU in the circuit.
The RoboPeak USB Connector can be considered as a simplified version of AVR-Doper, besides, the firmware has been written using Arduino-Lite firmware libarary and the building system.
Supported Operating Systems:
In theory, any OS with build-in HID usb drivers is supported.As the PC-side client (avrdude.exe) can work on the following systems, RoboPeak USB Connector should work for these systems as well:
- Linux with libusb
- Windows from the version WinXP
- MacOS
- Windows XP
- Windows Vista, both 32bit and 64 bit versions
- Windows 7, both 32bit and 64 bit versions
RoboPeak USB Connector是由RoboPeak团队开发的供AVR/C51单片机使用的USB免驱动ISP编程器。
RoboPeak USB Connector基于AVR-Doper项目(http://www.obdev.at/products/vusb/avrdoper.html ),它是一款兼容STK500的ISP编程器和高压编程器(HVSP).
USB的通讯能力是通过v-usb库(以纯软件模拟实现基于AVR单片机的低速USB通讯)。 在RoboPeak USB Connector,我们仅使用了一块AVR芯片。
RoboPeak USB Connector可以认为是AVR-Doper的简化版本,除此以外,我们使用Arduino-Lite固件库重写了RoboPeak USB Connector的固件,并且采用Arduino-Lite的编译系统。
支持的操作系统:
理论上说,任何内建了HID usb驱动程序的操作系统均可工作。因为PC的客户端程序(avrdude.exe)以及可以在以下操作系统上工作,因此RoboPeak USB Connector应当也支持这些操作系统:
- Linux with libusb
- Windows from the version WinXP
- MacOS
- Windows XP
- Windows Vista, 32位版 和 64位版
- Windows 7, 32位版 和 64位版
软件模拟usb的优势在于可以降低设备成本(带有USB的AVR芯片成本较高),缺点是稳定性和速率上不如硬件实现。 对于本制作,稳定性和速度并不关键。
在使用USB与PC通讯时有一个烦恼的问题是驱动。直接为系统编写驱动程序会提升本制作的难度,同时对于64位 Windows系统,微软要求驱动程序进行签名。目前也有一种可以在用户态实现usb驱动的方案:libusb。但是,同样在64 位Windows系统上,这个做法就不管用了。
这里采用了另一种思路:利用那些OS自带驱动支持的USB类设备。(USB协议中预先定义了几类USB设备的种类,比如 Mass Storage就是平时用的移动硬盘、UVC设备常用于实现摄像头、HID设备用于实现键盘鼠标。OS往往会自带驱动支持 这类设备)。这里我也使用了HID类设备。理由如下:
- 协议比较简单,通讯单位也是数据包
- 支持USB1.1低速率规范,可以用v-usb实现
- 在Windows、Linux、Mac上均可以通过OS提供的用户态API与HID设备通讯
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。