搜索
bottom↓
回复: 82

单片ATmega8实现USB接口的STK500 V2(采用USB的CDC类,HID类)已成功

[复制链接]

出0入0汤圆

发表于 2006-8-25 12:59:11 | 显示全部楼层 |阅读模式
http://www.obdev.at/products/avrusb/avrdoper.html

详细资料:

点击此处下载armok01127126.zip

单片ATmega8实现USB接口的STK500 V2,ATmega8内建USB的CDC类和HID类,通过硬件切换CDC类和HID类,支持高压编程,在AVR Studio 中直接使用。使用CDC类时在电脑中虚拟出一个通用串口。


-----此内容被shaoshunda于2006-08-25,13:04:52编辑过

出0入0汤圆

发表于 2006-8-25 16:58:24 | 显示全部楼层
http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=644786&bbs_page_no=2&bbs_id=1000

这两个CDC的firmware是一模一样的

出0入0汤圆

 楼主| 发表于 2006-8-25 18:01:03 | 显示全部楼层
请各位大侠帮忙测试稳定性

出0入0汤圆

 楼主| 发表于 2006-8-25 19:26:57 | 显示全部楼层

出0入0汤圆

发表于 2006-8-25 22:07:04 | 显示全部楼层
好东西,顶,别沉了

出0入0汤圆

发表于 2006-8-25 22:08:39 | 显示全部楼层
看简介中说:“AVR-Doper is an STK500 compatible In-System Programmer (ISP) and High Voltage Serial Programmmer (HVSP)”,我在几种MEGA芯片的数据手册上都只看见有ISP和HVPP的说明,这个HVSP适用于哪些芯片啊?功能和HVPP一样吗?

出0入0汤圆

发表于 2006-9-2 21:15:23 | 显示全部楼层
SCH,PCB图好像是 ALLEGRO PCB设计工具下创建的,不知道哪里有下载???

出0入0汤圆

发表于 2006-9-2 22:18:20 | 显示全部楼层
SCH、PCB图是EAGLE4格式,软件可以在www.cadsoft.de下载到

出0入0汤圆

发表于 2006-9-2 22:57:00 | 显示全部楼层
好东西,顶

出0入0汤圆

发表于 2006-9-4 01:18:09 | 显示全部楼层
那位好心人帮忙把PCB 转成PDF格式,好让大家测试

出0入0汤圆

 楼主| 发表于 2006-9-4 16:26:46 | 显示全部楼层
PDF格式的PCB

点击此处打开armok01128064.pdf

点击此处打开armok01128065.pdf

出0入0汤圆

发表于 2006-9-6 23:21:24 | 显示全部楼层
压缩包中有电路板的.PNG文件,我在XP自带的画图工具打开直接输出到打印机,就是实际的PCB尺寸

出0入0汤圆

发表于 2006-9-6 23:56:27 | 显示全部楼层
晕,我用万能板做了个,HID(Mega8的27脚接1K到地)模式能自动装上驱动,

显示的是“人体工程学输入输出设备”



CDC类,能认到AVR-DOPER,无法安装上驱动,不知为何???

查看属性,设备的VID_16C0,PID_05E1都对???





用 http://www.recursion.jp/avrcdc/  的固件烧入,显示的硬件是“USB-232"

驱动可以上
-----此内容被whimsy于2006-09-07,00:16:03编辑过

出0入0汤圆

发表于 2006-9-7 09:08:28 | 显示全部楼层
楼主又介绍好东西

出0入0汤圆

发表于 2006-9-7 10:49:43 | 显示全部楼层
hao    xue xi

出0入0汤圆

 楼主| 发表于 2006-9-7 12:35:21 | 显示全部楼层
选择CDC类时,Mega8的27脚要悬空。

并且要确认固件是否已烧好。
-----此内容被shaoshunda于2006-09-07,12:36:49编辑过

出0入0汤圆

发表于 2006-9-7 13:00:51 | 显示全部楼层
楼主,这么好的东西开发一个套件出来啊

出0入0汤圆

发表于 2006-9-7 21:03:19 | 显示全部楼层
TO:15楼,后来驱动上了,是要先用http://www.recursion.jp/avrcdc/的固件程序,

安装上USB-232驱动正常后,再烧写此固件程序AVR-DOPER,xp才能自己上驱动,你之前可能

也是先上usb-232的,所以没遇到





AVRStudio中不能像你那样探测到STK500-V2,不知道为何?

(我的电路只搭建了ATmega8及USB接口部分,其他的还没搭)
-----此内容被whimsy于2006-09-07,21:08:49编辑过

出0入0汤圆

 楼主| 发表于 2006-9-7 22:00:49 | 显示全部楼层
回【17楼】 whimsy,我用的芯片是ATmega16,因为手上没ATmega8

出0入0汤圆

 楼主| 发表于 2006-9-7 22:07:47 | 显示全部楼层
回【16楼】 hl0716,正在开发中,不知有什么好建议

出0入0汤圆

发表于 2006-9-7 22:18:05 | 显示全部楼层
回【18楼】,我是直接烧压缩包中的main.hex固件程序到芯片,

你用m16的,应该要改些程序

出0入0汤圆

发表于 2006-9-7 22:34:56 | 显示全部楼层
通过网站下载了AVRSTUDIO4.12-460的工具,就能够识别到stk500-v2硬件了,

我原先的是4.06版本的,不支持

出0入0汤圆

 楼主| 发表于 2006-9-7 22:57:13 | 显示全部楼层
回【20楼】 whimsy,我在AVRSTUDIO中重新编译了代码,工作一切正常,见【3楼】


-----此内容被shaoshunda于2006-09-07,23:00:49编辑过

出0入0汤圆

发表于 2006-9-8 10:32:18 | 显示全部楼层
你开发出来了,我想买一个啊!我刚接触avr 所以要用现成的东西!

出0入0汤圆

发表于 2006-9-8 19:58:26 | 显示全部楼层
好東西值得一試.

出0入0汤圆

发表于 2006-9-8 21:58:23 | 显示全部楼层
楼主,我今天测试了几次,发现好像对AVR芯片编程不是很好写,经常提示失败

好像先读器件sign后再编程,成功率会高点,不知道你的情况?





另外:器件列表中支持AT89S51,但是我读sign就读不到,更不用说program。

出0入0汤圆

 楼主| 发表于 2006-9-17 13:35:08 | 显示全部楼层
新固件AVR-Doper.2006-09-12.zip

点击此处下载armok01128933.zip

出0入0汤圆

 楼主| 发表于 2006-9-17 13:41:20 | 显示全部楼层
待会儿上传,可通过USB接口升级固件的Bootloader

出0入0汤圆

发表于 2006-9-17 14:33:32 | 显示全部楼层
厉害...

出0入0汤圆

 楼主| 发表于 2006-9-17 14:47:18 | 显示全部楼层

出0入0汤圆

 楼主| 发表于 2006-9-17 14:49:29 | 显示全部楼层

出0入0汤圆

发表于 2006-9-17 15:38:44 | 显示全部楼层
谢谢7楼,我一直以为eagle只有linux系统才可以用,没想到同样也有*.exe文件的,太好了



出0入0汤圆

 楼主| 发表于 2006-9-17 16:54:31 | 显示全部楼层
USB Bootloader 固件计PC端程序见帖子

http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=644779&bbs_page_no=1&bbs_id=1000

出0入0汤圆

发表于 2006-9-21 10:06:15 | 显示全部楼层
搂主:我做了一个可是出现这个是什么原因?

出0入0汤圆

发表于 2006-9-29 09:27:39 | 显示全部楼层
问题解决,原来是连接目标板错误。

出0入0汤圆

发表于 2006-9-30 15:23:56 | 显示全部楼层
楼主:请问高压部分如何使用?我实在太菜了,不明白.

出0入0汤圆

发表于 2006-9-30 21:43:35 | 显示全部楼层
楼主,RS232的RTS,CTS线的功能有没办法实现,用其他未用的I/O?

出0入0汤圆

发表于 2006-10-2 23:52:55 | 显示全部楼层
我将AVR_Doper的程序改了一下。主要是先注释去了高压编程部分,仅用ISP部分,编程口直接使用SPI总线。以前使用IO模拟编程速度太慢。对ISP 编程部分程序进行了分析,并改正了一正问题。现在使用基本没发现什么问题了。也很方便自制。硬件引脚改得简单了。大家请直接用SS(_ISP_RST),MOSI,MISO,SCK 这四条PORTB口的引脚吧。跳线已丢弃了,仅留下复位脚的跳线,改固件程序方便。终于有一款小巧的支持studio的M8单片完成的下载线了。速度实测与USBASP接近,可能稍慢一点。它们都没有串口的STK500快。但比一般的并口线快多了。感谢AVR_Doper原作者的工作。

点击此处下载armok01130854.rar

出0入0汤圆

发表于 2006-10-14 09:59:40 | 显示全部楼层
好东西!顶!!

出0入0汤圆

发表于 2006-10-24 00:31:50 | 显示全部楼层
请问 whimsy

我遇到你在12楼提到的问题,HID 能够显示“人体工程学输入输出设备” ,但是CDC类能认到AVR-DOPER,无法安装上驱动







我在网上下了几个usb-232的驱动,但都识别不了cdc类,请问你怎么做的

出0入0汤圆

发表于 2006-10-24 13:41:46 | 显示全部楼层
有做过avr-doper的,请不吝赐教

出0入0汤圆

发表于 2006-10-24 20:22:54 | 显示全部楼层
有没有人睬下我啊:-(

出0入0汤圆

发表于 2006-10-25 22:46:18 | 显示全部楼层
驱动上了,但是连接到目标板出现





怎么回事啊??

出0入0汤圆

 楼主| 发表于 2006-10-26 09:34:46 | 显示全部楼层
请检查一下硬件电路

出0入0汤圆

 楼主| 发表于 2006-10-27 00:29:06 | 显示全部楼层
新固件AVR-Doper.2006-10-23

点击此处下载armok01133421.zip



Note: Implementing a USB CDC device with AVR-USB violates some aspects of USB 1.1. CDC-Mode may therefore fail or be unreliable on some operating systems or computer hardware. Please look at the compatibility list included in the AVR-CDC project or test a simplified prototype on breadboard with your computer if you want to use CDC mode.

We recommend that you use AVR-Doper in HID mode instead, which has no such problem. This mode is supported by avrdude. More information about interface modes and their relative advantages can be found in the project description.



以上均出至官方网站

http://www.obdev.at/products/avrusb/avrdoper.html

出0入0汤圆

发表于 2006-10-27 09:57:02 | 显示全部楼层
This mode is supported by avrdude.

出0入0汤圆

发表于 2006-11-4 21:39:10 | 显示全部楼层
楼主,高压编程部分能用吗,能救活“rstdisbl”被编程的M8芯片,

高压编程部分与目标芯片应该如何连接?

出0入0汤圆

 楼主| 发表于 2006-11-5 12:31:18 | 显示全部楼层
回【46楼】 whimsy

高压编程部分可用。

我正在出差,等有空的时候,我会把简化后的电路上传。

出0入0汤圆

发表于 2006-11-5 12:42:02 | 显示全部楼层
在http://www.der-hammer.info/hvprog/index_en.htm查到:



HV-Seriel: (For exact pinning check the appropriate controller datasheet. Section Memory Programming/High Voltage Serial Programming)



Pin name           uC pin

SWCLK              XTAL1

TRST               Reset (High Voltage Enable Jumper must be set)

PPD0              'Serial Data Input' (usually PB0)

PPD1              'Serial Instr. Input' (usually PB1)

PPD2              'Serial Data Output' (usually PB2)



但是M8的datasheet中未见到有关HVSP相关的资料,应该芯片是支持的吧?

出0入0汤圆

 楼主| 发表于 2006-11-5 14:00:40 | 显示全部楼层
回【48楼】 whimsy,应该是,见AVR-Doper.2006-10-23中的hardware.h。

//-----------------------------------------------------------------------

/*

Port        | Function                | dir | value

------------+-------------------------+-----+-------

PORT B

  0         | HVSP Supply               [O]    1

  1 OC1A    | SMPS                      [O]    0

  2         | HVSP RESETHV / LEDHV      [O]    0

  3 OC2     | HVSP SCI / ISP target clk [O]    0

  4         | ISP driver enable         [O]    0

  5         | LED Prog active           [O]    1

  6 XTAL1   | XTAL

  7 XTAL2   | XTAL

PORT C (ADC)

  0         | SMPS feedback                 0

  1         | ISP voltage sense             0

  2         | ISP SCK                   [O]    0

  3         | ISP MISO                  [I]    1

  4         | ISP MOSI                  [O]    0

  5         | ISP RESET / HVSP RESET    [O]    0

  6 RESET   | Reset

  7 n/a     | *

PORT D

  0 RxD     | ISP TxD                   [I]    1

  1 TxD     | ISP RxD                   [I]    1

  2 Int0    | USB D+                        0

  3 Int1    | USB D-                        0

  4 T0      | JUMPER Low Speed          [I]    1

  5 T1      | HVSP SII (PPD1)           [I]    1

  6 AIN0    | HVSP SDI (PPD0)           [I]    1

  7 AIN1    | HVSP SDO (PPD2)           [I]    1

*/



/* The following defines can be used with the PORT_* macros from utils.h */



#define HWPIN_HVSP_SUPPLY   B, 0

#define HWPIN_SMPS_OUT      B, 1

#define HWPIN_HVSP_HVRESET  B, 2

#define HWPIN_HVSP_SCI      B, 3

#define HWPIN_ISP_CLK       B, 3

#define HWPIN_ISP_DRIVER    B, 4

#define HWPIN_LED           B, 5



#define HWPIN_ADC_SMPS      C, 0

#define HWPIN_ADC_VTARGET   C, 1

#define HWPIN_ISP_SCK       C, 2

#define HWPIN_ISP_MISO      C, 3

#define HWPIN_ISP_MOSI      C, 4

#define HWPIN_ISP_RESET     C, 5

#define HWPIN_HVSP_RESET    C, 5



#define HWPIN_ISP_TXD       D, 0

#define HWPIN_ISP_RXD       D, 1

#define HWPIN_USB_DPLUS     D, 2

#define HWPIN_USB_DMINUS    D, 3

#define HWPIN_JUMPER        D, 4

#define HWPIN_HVSP_SII      D, 5

#define HWPIN_HVSP_SDI      D, 6

#define HWPIN_HVSP_SDO      D, 7

//-------------------------------------------------------------------------

出0入0汤圆

发表于 2006-11-7 18:49:58 | 显示全部楼层
为什么编译时,出现下面内容:

> "make.exe" all

avr-gcc -Wall -Os -Iusbdrv -I. -mmcu=atmega8 -DDEBUG_LEVEL=0 -c main.c -o main.o

avr-gcc -Wall -Os -Iusbdrv -I. -mmcu=atmega8 -DDEBUG_LEVEL=0 -o main.bin usbdrv/usbdrv.o usbdrv/usbdrvasm.o usbdrv/oddebug.o hvprog.o isp.o serial.o stk500protocol.o timer.o utils.o vreg.o main.o

rm -f main.hex main.eep.hex

avr-objcopy -j .text -j .data -O ihex main.bin main.hex

./checksize main.bin 8192 1024

C:\Documents: C:\Documents: No such file or directory

make.exe: *** [main.hex] Error 127



> Process Exit Code: 2

> Time Taken: 00:00

出0入0汤圆

 楼主| 发表于 2006-11-7 22:28:31 | 显示全部楼层
【50楼】 MYMCU ,是路径没设置对

出0入0汤圆

发表于 2006-11-8 07:41:12 | 显示全部楼层
留个影,方便以后查找该贴

出0入0汤圆

发表于 2006-11-13 19:37:54 | 显示全部楼层
楼主,我的板作出来在C2位置图纸标示为+12V实测有+20V,

但是在插座的第4脚Reset上测量到的是+12V,

我的电感是1.2mH的,三极管用S8050和S8550替代,

不知道你的情况呢?
-----此内容被whimsy于2006-11-13,19:59:58编辑过

出0入0汤圆

发表于 2006-12-13 23:58:25 | 显示全部楼层
楼主,我的新版本AVR Studio4.12.498  Service Pack 4

连接此板提示如下,能不能直接修改源代码的版本标识字绕过此提示?



出0入0汤圆

 楼主| 发表于 2006-12-14 00:15:20 | 显示全部楼层
本下载线的硬件版本同studio4.12正好配合,若用studio4.11时,会提示固件版本是2.04,需升到2.01。可以不管它,或是将 stk500protocol.c中的 STK_PARAM_SW_MINOR值由

4改为1即可。对于更新的studio版本,可按提示,改该值到相应的数。该变量对应固件版本的小数点后的值。STK_PARAM_SW_MAJOR 对应小数点前的值即2。改了后就不会出现固件版本

不同需升级的窗口了。
-----此内容被shaoshunda于2006-12-14,00:25:16编辑过

出0入0汤圆

发表于 2007-1-4 16:30:47 | 显示全部楼层
请教楼主:





    高压串行编程的功能,对于ATmega8这样的芯片,数据手册上没有提示带高压串行编程,

到底M8能不能用此方法编程,我自己做的avrdoper板,识别不到芯片,不知道你的情况如何?

出0入0汤圆

发表于 2007-1-4 21:50:16 | 显示全部楼层
我用M16作的,可以识别为stk500v2,但是却出现了错误

改动了hardware.h如下

//---------PORT B----------

#define _HVSP_SUPPLY   0

#define _SMPS_OUT      1

#define _ISP_RST       PB4//2

#define _ISP_MOSI      PB5//3

#define _ISP_MISO      PB6//4

#define _ISP_SCK       PB7//5

//---------PORT C---------

#define _ADC_SMPS      0

#define _ADC_VTARGET   1

#define _ISP_LED       PC2//2

#define _HVSP_SCI      3

#define _HVSP_HVRESET  4

#define _HVSP_RESET    5



熔丝位截图





识别为stk500v2的截图





出现了下面的错误



-----此内容被donkey于2007-01-04,21:50:19编辑过


-----此内容被donkey于2007-01-04,21:52:13编辑过

出0入0汤圆

发表于 2007-1-4 22:39:32 | 显示全部楼层
用前几天刚出的版本编译不行.汗

用前一个版本编译之后,可以读熔丝位,写熔丝位,但是烧写flash出错,而且烧写很慢.

感觉似乎是不能稳定工作,有时要拔插几次才能识别出来.什么原因?


-----此内容被donkey于2007-01-04,23:01:03编辑过

出0入0汤圆

 楼主| 发表于 2007-1-5 09:20:13 | 显示全部楼层
用最新的固件比较好,ATmega8是不支持高压串行编程的。

出0入0汤圆

发表于 2007-1-5 09:35:25 | 显示全部楼层
How about this? simplified version.

http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=674937&bbs_page_no=4&bbs_id=1000

出0入0汤圆

发表于 2007-1-5 09:42:59 | 显示全部楼层
回 25楼



i cant type chinese here, so I'll do it in English.



AT89s51 and AT89s52, refer to datasheet, the Gnd pin is pin20, Vdd is pin40, which is different from AVR 40pin.

My suggestion : try connect pin20 to Gnd and pin40 to Vdd, might help. Tell us the result if u've tried it.

出0入0汤圆

发表于 2007-1-5 12:01:06 | 显示全部楼层
TO; 61楼



  AT89S51,在测试的时候,电源是来自我的目标板电源,



  与AVR系列ISP方式中最大的不同应该是RST线,两者相反



  不会出在电源,像AT90S8515的管脚是与AT89S51接近.



另外谢楼主,原来ATmega8是不支持高压串行编程的,

我原先想用高压编程救M8,看来只能做高压并行的了

出0入0汤圆

 楼主| 发表于 2007-2-3 15:08:21 | 显示全部楼层
新固件AVR-Doper.2007-02-01

点击此处下载armok01143717.zip

Release 2007-02-01

Fixed bug in ISP value polling. Value polling is used when programming older devices such as the AT90S8515.

Always round timer delay values up, never down.

出0入0汤圆

发表于 2008-2-18 13:09:35 | 显示全部楼层
有更新的呢
AVR-Doper.2008-02-05
点击此处下载ourdev_215259.zip(文件大小:444K)

出0入0汤圆

发表于 2008-2-18 17:43:17 | 显示全部楼层
顶啊,一片mega8的usb设备

出0入0汤圆

发表于 2008-2-28 09:42:27 | 显示全部楼层
还是不太明白

出0入0汤圆

发表于 2008-6-13 11:23:32 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-2-25 16:02:11 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-2-25 20:23:47 | 显示全部楼层
留下我的脚印,顶

出0入0汤圆

发表于 2009-9-19 19:01:44 | 显示全部楼层
好东西

出0入0汤圆

发表于 2009-11-5 09:33:21 | 显示全部楼层
好东西

出0入0汤圆

发表于 2009-12-7 09:50:18 | 显示全部楼层
关注HID

出0入0汤圆

发表于 2010-8-2 15:06:44 | 显示全部楼层
MARK USB ISP

出0入0汤圆

发表于 2011-1-10 16:28:59 | 显示全部楼层
mark hid+cdc

出0入0汤圆

发表于 2011-1-10 22:33:36 | 显示全部楼层
jihao

出0入0汤圆

发表于 2011-1-11 12:29:11 | 显示全部楼层
好东西

出0入0汤圆

发表于 2011-5-5 22:00:20 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-5-6 15:39:54 | 显示全部楼层
单片ATmega8实现USB接口的STK500 V2(采用USB的CDC类,HID类)已成功

出0入0汤圆

发表于 2012-11-11 08:13:48 | 显示全部楼层
真厉害,USB的东西否搞定了

出0入0汤圆

发表于 2013-1-15 13:32:18 | 显示全部楼层
这个代码不错。我终于知道是怎么样更换模式而不重写FLASH的了。下次goodcode的那个玩意我也山寨一个出来!哈哈~

出0入0汤圆

发表于 2013-1-20 21:15:25 | 显示全部楼层
这个可以高压并行编程吗?

出0入0汤圆

发表于 2013-3-30 17:09:12 | 显示全部楼层
确实不错!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-6 18:08

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表