shaoshunda 发表于 2006-8-25 12:59:11

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

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编辑过

jimo 发表于 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是一模一样的

shaoshunda 发表于 2006-8-25 18:01:03

请各位大侠帮忙测试稳定性

shaoshunda 发表于 2006-8-25 19:26:57

http://cache.amobbs.com/bbs_upload782111/files_large/armok01127140.jpg

whimsy 发表于 2006-8-25 22:07:04

好东西,顶,别沉了

easywing 发表于 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一样吗?

whimsy 发表于 2006-9-2 21:15:23

SCH,PCB图好像是 ALLEGRO PCB设计工具下创建的,不知道哪里有下载???

easywing 发表于 2006-9-2 22:18:20

SCH、PCB图是EAGLE4格式,软件可以在www.cadsoft.de下载到

microcon 发表于 2006-9-2 22:57:00

好东西,顶

ningmeng7294 发表于 2006-9-4 01:18:09

那位好心人帮忙把PCB 转成PDF格式,好让大家测试

shaoshunda 发表于 2006-9-4 16:26:46

PDF格式的PCB

点击此处打开armok01128064.pdf

点击此处打开armok01128065.pdf

whimsy 发表于 2006-9-6 23:21:24

压缩包中有电路板的.PNG文件,我在XP自带的画图工具打开直接输出到打印机,就是实际的PCB尺寸

whimsy 发表于 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编辑过

wxfhw 发表于 2006-9-7 09:08:28

楼主又介绍好东西

poppush 发表于 2006-9-7 10:49:43

hao    xue xi

shaoshunda 发表于 2006-9-7 12:35:21

选择CDC类时,Mega8的27脚要悬空。

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

hl0716 发表于 2006-9-7 13:00:51

楼主,这么好的东西开发一个套件出来啊

whimsy 发表于 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编辑过

shaoshunda 发表于 2006-9-7 22:00:49

回【17楼】 whimsy,我用的芯片是ATmega16,因为手上没ATmega8

shaoshunda 发表于 2006-9-7 22:07:47

回【16楼】 hl0716,正在开发中,不知有什么好建议

whimsy 发表于 2006-9-7 22:18:05

回【18楼】,我是直接烧压缩包中的main.hex固件程序到芯片,

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

whimsy 发表于 2006-9-7 22:34:56

通过网站下载了AVRSTUDIO4.12-460的工具,就能够识别到stk500-v2硬件了,

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

shaoshunda 发表于 2006-9-7 22:57:13

回【20楼】 whimsy,我在AVRSTUDIO中重新编译了代码,工作一切正常,见【3楼】


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

hl0716 发表于 2006-9-8 10:32:18

你开发出来了,我想买一个啊!我刚接触avr 所以要用现成的东西!

eddia2000 发表于 2006-9-8 19:58:26

好東西值得一試.

whimsy 发表于 2006-9-8 21:58:23

楼主,我今天测试了几次,发现好像对AVR芯片编程不是很好写,经常提示失败

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





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

shaoshunda 发表于 2006-9-17 13:35:08

新固件AVR-Doper.2006-09-12.zip

点击此处下载armok01128933.zip

shaoshunda 发表于 2006-9-17 13:41:20

待会儿上传,可通过USB接口升级固件的Bootloader

989898 发表于 2006-9-17 14:33:32

厉害...

shaoshunda 发表于 2006-9-17 14:47:18

http://cache.amobbs.com/bbs_upload782111/files_large/armok01128937.jpg

shaoshunda 发表于 2006-9-17 14:49:29

http://cache.amobbs.com/bbs_upload782111/files_large/armok01128938.jpg

hualang0929 发表于 2006-9-17 15:38:44

谢谢7楼,我一直以为eagle只有linux系统才可以用,没想到同样也有*.exe文件的,太好了



./emotion/em011.gif

shaoshunda 发表于 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

simon2005cn 发表于 2006-9-21 10:06:15

搂主:我做了一个可是出现这个是什么原因?

http://cache.amobbs.com/bbs_upload782111/files_6/armok01129314.JPG

simon2005cn 发表于 2006-9-29 09:27:39

问题解决,原来是连接目标板错误。

simon2005cn 发表于 2006-9-30 15:23:56

楼主:请问高压部分如何使用?我实在太菜了,不明白.

whimsy 发表于 2006-9-30 21:43:35

楼主,RS232的RTS,CTS线的功能有没办法实现,用其他未用的I/O?

jiangbing 发表于 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原作者的工作。./emotion/em025.gif

点击此处下载armok01130854.rar

boat030 发表于 2006-10-14 09:59:40

好东西!顶!!

hualang0929 发表于 2006-10-24 00:31:50

请问 whimsy

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

http://cache.amobbs.com/bbs_upload782111/files_6/armok01133116.JPG

http://cache.amobbs.com/bbs_upload782111/files_6/armok01133117.JPG

http://cache.amobbs.com/bbs_upload782111/files_6/armok01133115.JPG

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

hualang0929 发表于 2006-10-24 13:41:46

有做过avr-doper的,请不吝赐教

hualang0929 发表于 2006-10-24 20:22:54

有没有人睬下我啊:-(

hualang0929 发表于 2006-10-25 22:46:18

驱动上了,但是连接到目标板出现

http://cache.amobbs.com/bbs_upload782111/files_6/armok01133355.JPG



怎么回事啊??

shaoshunda 发表于 2006-10-26 09:34:46

请检查一下硬件电路

shaoshunda 发表于 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

GandF 发表于 2006-10-27 09:57:02

This mode is supported by avrdude.

whimsy 发表于 2006-11-4 21:39:10

楼主,高压编程部分能用吗,能救活“rstdisbl”被编程的M8芯片,

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

shaoshunda 发表于 2006-11-5 12:31:18

回【46楼】 whimsy

高压编程部分可用。

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

whimsy 发表于 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相关的资料,应该芯片是支持的吧?

shaoshunda 发表于 2006-11-5 14:00:40

回【48楼】 whimsy,应该是,见AVR-Doper.2006-10-23中的hardware.h。

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

/*

Port      | Function                | dir | value

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

PORT B

0         | HVSP Supply                   1

1 OC1A    | SMPS                          0

2         | HVSP RESETHV / LEDHV          0

3 OC2   | HVSP SCI / ISP target clk     0

4         | ISP driver enable             0

5         | LED Prog active             1

6 XTAL1   | XTAL

7 XTAL2   | XTAL

PORT C (ADC)

0         | SMPS feedback                 0

1         | ISP voltage sense             0

2         | ISP SCK                       0

3         | ISP MISO                      1

4         | ISP MOSI                      0

5         | ISP RESET / HVSP RESET        0

6 RESET   | Reset

7 n/a   | *

PORT D

0 RxD   | ISP TxD                       1

1 TxD   | ISP RxD                       1

2 Int0    | USB D+                      0

3 Int1    | USB D-                      0

4 T0      | JUMPER Low Speed              1

5 T1      | HVSP SII (PPD1)             1

6 AIN0    | HVSP SDI (PPD0)             1

7 AIN1    | HVSP SDO (PPD2)             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_HVRESETB, 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

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

MYMCU 发表于 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: *** Error 127



> Process Exit Code: 2

> Time Taken: 00:00

shaoshunda 发表于 2006-11-7 22:28:31

【50楼】 MYMCU ,是路径没设置对

greeham 发表于 2006-11-8 07:41:12

留个影,方便以后查找该贴

whimsy 发表于 2006-11-13 19:37:54

楼主,我的板作出来在C2位置图纸标示为+12V实测有+20V,

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

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

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

whimsy 发表于 2006-12-13 23:58:25

楼主,我的新版本AVR Studio4.12.498Service Pack 4

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



http://cache.amobbs.com/bbs_upload782111/files_6/armok01137909.JPG

shaoshunda 发表于 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编辑过

whimsy 发表于 2007-1-4 16:30:47

请教楼主:





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

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

donkey 发表于 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_HVRESET4

#define _HVSP_RESET    5



熔丝位截图

http://cache.amobbs.com/bbs_upload782111/files_6/armok01140381.jpg



识别为stk500v2的截图

http://cache.amobbs.com/bbs_upload782111/files_6/armok01140383.jpg



出现了下面的错误

http://cache.amobbs.com/bbs_upload782111/files_6/armok01140382.jpg

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


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

donkey 发表于 2007-1-4 22:39:32

用前几天刚出的版本编译不行.汗

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

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

http://cache.amobbs.com/bbs_upload782111/files_6/armok01140386.jpg
-----此内容被donkey于2007-01-04,23:01:03编辑过

shaoshunda 发表于 2007-1-5 09:20:13

用最新的固件比较好,ATmega8是不支持高压串行编程的。

hamlanro 发表于 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

hamlanro 发表于 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.

whimsy 发表于 2007-1-5 12:01:06

TO; 61楼



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



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



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



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

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

shaoshunda 发表于 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.

l456789 发表于 2008-2-18 13:09:35

有更新的呢
AVR-Doper.2008-02-05
点击此处下载ourdev_215259.zip(文件大小:444K)

eeyrw 发表于 2008-2-18 17:43:17

顶啊,一片mega8的usb设备

wangxiaoacc 发表于 2008-2-28 09:42:27

还是不太明白

madha 发表于 2008-6-13 11:23:32

mark

letyoufly 发表于 2009-2-25 16:02:11

mark

lf8013 发表于 2009-2-25 20:23:47

留下我的脚印,顶

sxndwg 发表于 2009-9-19 19:01:44

好东西

12fen 发表于 2009-11-5 09:33:21

好东西

aduc812 发表于 2009-12-7 09:50:18

关注HID

mcuandme 发表于 2010-8-2 15:06:44

MARK USB ISP

on-raptor 发表于 2011-1-10 16:28:59

mark hid+cdc

yingying521 发表于 2011-1-10 22:33:36

jihao

light8828 发表于 2011-1-11 12:29:11

好东西

jinbangzhou 发表于 2011-5-5 22:00:20

MARK

uoow 发表于 2011-5-6 15:39:54

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

nsj21n 发表于 2012-11-11 08:13:48

真厉害,USB的东西否搞定了

xwkm 发表于 2013-1-15 13:32:18

这个代码不错。我终于知道是怎么样更换模式而不重写FLASH的了。下次goodcode的那个玩意我也山寨一个出来!哈哈~

fanghaiyu 发表于 2013-1-20 21:15:25

这个可以高压并行编程吗?

gaoxy2006 发表于 2013-3-30 17:09:12

确实不错!
页: [1]
查看完整版本: 单片ATmega8实现USB接口的STK500 V2(采用USB的CDC类,HID类)已成功