好资料:软USB之CDC-232、CDC-IO、CDC-SPI
本帖最后由 BXAK 于 2012-8-10 20:30 编辑SUMMARY
=======
The CDC-232 performs the CDC (Communication Device Class) connection over
low-speed USB. It provides the RS-232C interface through virtual COM
port. The AVR-CDC is originally developed by Osamu Tamura.
Akira Kitazawa has significantly contributed to improve this software.
SPECIFICATION
=============
AVR-CDC with USART (ATmega8/48/88/168)
speed: 600 - 38400bps
datasize: 5-8
parity: none/even/odd
stopbit:1/2
controls: DTR, RTS, CTS
AVR-CDC with USART (ATtiny2313)
speed: 600 - 38400bps
datasize: 8
parity: none
stopbit:1
AVR-CDC without USART (ATtiny45/85)
speed: 1200 -4800bps
datasize: 8
parity: none
stopbit:1
supply current: 8-15mA
The RTS indicates that the receive buffer is not full, and the CTS stops
sending data at '0' input. These controls cannot be controlled/read by the
host PC (ATmega).
Internal RC Oscillator is calibrated at startup time on ATtiny45/85.
When the other low speed device is connected under the same host
controller, the ATtiny45/85 may fail to be recognized by the downstream
broadcast packet.
Although the CDC protocol is supported by Windows 2000/XP/(Vista/7), Mac
OS 9.1/X, and Linux 2.4 or 2.6.31-, low-speed bulk transfer is not allowed
by the USB standard. Use CDC-232 at your own risk.
USAGE
=====
Download "avrcdc_inf.zip" and read the instruction carefully.
You'll see the device /dev/cu.usbmodem***.
The device will be /dev/ttyACM*.
Linux <2.6.31 does not accept low-speed CDC without patching the kernel.
Replace the kernel to 2.6.31 or higher.
DEVELOPMENT
===========
Build your circuit and write firmware (cdcmega*.hex/cdctiny*.hex) into it.
C1:104 means 0.1uF, R3:1K5 means 1.5K ohms.
This firmware has been developed on AVR Studio 4.18 and WinAVR 20100110.
If you couldn't invoke the project from cdc*.aps, create new GCC project
named "at***" under "cdc232.****-**-**/" without creating initial file.
Select each "default/Makefile" at "Configuration Options" menu.
There are several options you can configure in
"Project/Configuration Options" menu, or in Makefile
(General)
Device Select MCU type.
Frequency Select clock. 16.5MHz is the internal RC oscillator.
(ATtiny45/85)
3.3V Vcc may not be enough for the higher clock operation.
(Custom Options) add -D*** to select options below.
UART_INVERT Reverse the polarity of TXD and RXD to connect to RS-232C
directly (ATtiny45/85).
Enables software-inverters (PC0 -|>o- PB0, PC1 -|>o- PB1).
Connect RXD to PB0 and TXD to PC1. The baudrate should be
<=2400bps (ATmega48/88/168).
Rebuild all the codes after modifying Makefile.
Fuse bits
extH-L
ATtiny2313 FF CD-FF
ATtiny45/85 FF CE-F1
ATtiny45/85(Xtal)FF 6E-FF / FF 6E-F1 (PLL)
ATmega8 8F-FF
ATmega48/88/168 FF CE-FF
SPIEN=0, WDTON=0, CKOPT(mega8)=0,
Crystal: Ex.8MHz/PLL(45,461), BOD: 1.8-2.7V
* Detach the ISP programmer before restarting the device.
The code size of AVR-CDC is 2-3KB, and 128B RAM is required at least.
USING AVR-CDC FOR FREE
======================
The AVR-CDC is published under an Open Source compliant license.
See the file "License.txt" for details.
You may use this driver in a form as it is. However, if you want to
distribute a system with your vendor name, modify these files and recompile
them;
1. Vendor String in usbconfig.h
2. COMPANY and MFGNAME strings in avrcdc.inf/lowbulk.inf
CDC-232、CDC-IO、CDC-SPI源代码 及 Driver 直接到原网下载
转自原网:http://www.recursion.jp/avrcdc/ 挺好的,大家好象不喜欢,可惜了
怎么移植啊。自己编译总是不能用。Orz 我的内核貌似不支持low speed device bulk 发送是没问题了。但是貌似接收的时候那个该死的usbInterrupt就是不就绪 VUSB 挺有意思的!用软件做 USB! eriks626 发表于 2013-2-8 17:52 static/image/common/back.gif
VUSB 挺有意思的!用软件做 USB!
做bulk-in/bulk-out就不行了。很多的hub和操作系统都会ban掉 蛮好的,更好的学习USB 早就做过,但总是没有专用的USB芯片好 Thanks you!! 软USB没意义,支持usb的单片机C8051F320也才10元左右,费这个劲没必要 请问有人成功移植用在PIC 晶片吗?
谢谢楼主的分享的资料,支持! Mark…
来自:amoBBS 阿莫电子论坛 Windows Phone 7 客户端
页:
[1]