带PDI接口的USBasp - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

标准版 带PDI接口的USBasp

简介:这是一种基于ATMEL公司单片机的可向51系列、AVR系列单片机下载程序的下载器。增加SPI端口,配合USBASB-PDI固件及魔改过的avrdude,可替代昂贵设备实现PDI接口编程。

开源协议: Public Domain

(未经作者授权,禁止转载)

创建时间: 2022-05-13 22:15:01
更新时间: 2024-02-26 19:11:45
描述

首先致歉:摘要里写错了,是带PDI接口的USBASP。

 

USBasp - USB programmer for Atmel AVR controllers

这是一种基于ATMEL公司单片机的,可向51系列、AVR系列单片机下载程序的下载器。

基本电路按参考官方版本(项目地址:http://www.fischl.de/usbasp/),增加PDI端口,配合USBASB-PDI固件及魔改过的avrdude,可替代昂贵设备实现PDI接口编程。

 

开源社区里已有几个大神发布过USBASP。我之所以要在做一版,主要原因是在做一个变色龙Mini(chameleonmini_reve_rebooted)的DIY时,需要一个方便使用的PDI接口编程器,因此有了此项目。

 

硬件上,本设计其实就是在USBASP原版设计基础上,新增一个跳线、PDI接口。

支持PDI的固件地址:github.com/nieldk/USBASP-PDI。

另外还需要配合一个魔改avrdude,该项目地址:github.com/nieldk/avrdude。

上述编译后固件及软件我会放在附件中。

 

这个USBASP需要另一个编程器对它进行固件刷入,有两种方法:

 

一、使用一个好的USBASP刷:

1、将要刷USBASP-PDI的USBASP的J2短接(SELF PROG),电压跳线设置为5V;
2、用第二个USBASP作为刷写线,将其输出电压设为5V;
3、将第二个USBASP插入电脑,使用Zadig安装USBASP驱动为“libusb-win32 (v1.2.6.0)”;
4、使用10Pin电缆连接两个USBASP;
5、使用AVRDUESS,通过第二个USBASP刷第一个USBASP
    Programmer 设置为 USBASP
    MCU设置为 ATmega8
    选择Flash为已补丁过的USBASP-PDI固件
    熔丝位设置 L 0xEF    H 0xC9   E 0x00   LB 0xFF

或者直接使用命令行刷入:

avrdude -c usbasp -p m8 -U lfuse:w:0xEF:m -U hfuse:w:0xC9:m -U lock:w:0xFF:m 
avrdude -c usbasp -p m8 -U flash:w:"D:\working\USBASP-PDI\main.hex":a 

 

二、使用Arduion UNO刷写成的Arduion ISP刷:

1、将Arduino UNO开发板刷成ArduinoISP:选择打开ArduinoISP工程,编译上传到UNO,使UNO成为一个编程器。

 

2、使用这个ArduinoISP执行“烧录引导程序”操作:

 

3、硬件连接:

左边为UNO开发板上的插针序号,右边为USBASP的针序号,VCC5VGND互联,USBASPJP1跳线跳到5V上、JP2短接。

(手绘图,见笑)

 

4、使用avrdude进行固件刷入:

avrdude -v -c stk500v1 -p m8 -c stk500v1 -P COM3 -b 19200 -e -U lock:w:0x00:m -U lfuse:w:0xEF:m -U hfuse:w:0xC9:m 
avrdude -c stk500v1 -p m8 -P COM3 -b 19200 -U flash:w:"main.hex":a 

 

执行情况:

D:\working\USBASP-PDI>avrdude -v -c stk500v1 -p m8 -c stk500v1 -P COM3 -b 19200 -e -U lock:w:0x00:m -U lfuse:w:0xEF:m -U hfuse:w:0xC9:m

avrdude: Version 6.4

         Copyright (c) Brian Dean, http://www.bdmicro.com/

         Copyright (c) Joerg Wunsch

         System wide configuration file is "D:\working\USBASP-PDI\avrdude.conf"

         Using Port                    : COM3

         Using Programmer              : stk500v1

         Overriding Baud Rate          : 19200

         AVR Part                      : ATmega8

         Chip Erase delay              : 10000 us

         PAGEL                         : PD7

         BS2                           : PC2

         RESET disposition             : dedicated

         RETRY pulse                   : SCK

         serial program mode           : yes

         parallel program mode         : yes

         Timeout                       : 200

         StabDelay                     : 100

         CmdexeDelay                   : 25

         SyncLoops                     : 32

         ByteDelay                     : 0

         PollIndex                     : 3

         PollValue                     : 0x53

         Memory Detail                 :

                                  Block Poll               Page                       Polled

           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack

           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------

           eeprom         4    20   128    0 no        512    4      0  9000  9000 0xff 0xff

           flash         33    10    64    0 yes      8192   64    128  4500  4500 0xff 0x00

           lfuse          0     0     0    0 no          1    1      0  2000  2000 0x00 0x00

           hfuse          0     0     0    0 no          1    1      0  2000  2000 0x00 0x00

           lock           0     0     0    0 no          1    1      0  2000  2000 0x00 0x00

           calibration    0     0     0    0 no          4    1      0     0     0 0x00 0x00

           signature      0     0     0    0 no          3    1      0     0     0 0x00 0x00

         Programmer Type : STK500

         Description     : Atmel STK500 Version 1.x firmware

         Hardware Version: 2

         Firmware Version: 1.18

         Topcard         : Unknown

         Vtarget         : 0.0 V

         Varef           : 0.0 V

         Oscillator      : Off

         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.07s

avrdude: Device signature = 0x1e9307 (probably m8a)

avrdude: safemode: lfuse reads as EF

avrdude: safemode: hfuse reads as C9

avrdude: erasing chip

avrdude: reading input file "0x00"

avrdude: writing lock (1 bytes):

Writing |                                                    | 0% 0.00s ***failed;

Writing | ################################################## | 100% 0.12s

avrdude: 1 bytes of lock written

avrdude: verifying lock memory against 0x00:

avrdude: load data lock data from input file 0x00:

avrdude: input file 0x00 contains 1 bytes

avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...

avrdude: WARNING: ignoring mismatch in unused bits of "lock"

         (0xc0 != 0x00). To prevent this warning set unused bits

         to 1 when writing (double check with your datasheet first).

avrdude: 1 bytes of lock verified

avrdude: reading input file "0xEF"

avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.03s

avrdude: 1 bytes of lfuse written

avrdude: verifying lfuse memory against 0xEF:

avrdude: load data lfuse data from input file 0xEF:

avrdude: input file 0xEF contains 1 bytes

avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...

avrdude: 1 bytes of lfuse verified

avrdude: reading input file "0xC9"

avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of hfuse written

avrdude: verifying hfuse memory against 0xC9:

avrdude: load data hfuse data from input file 0xC9:

avrdude: input file 0xC9 contains 1 bytes

avrdude: reading on-chip hfuse data:

Reading | ################################################## | 100% 0.03s

avrdude: verifying ...

avrdude: 1 bytes of hfuse verified

avrdude: safemode: lfuse reads as EF

avrdude: safemode: hfuse reads as C9

avrdude: safemode: Fuses OK (E:FF, H:C9, L:EF)

avrdude done.  Thank you.

 

 

D:\working\USBASP-PDI>avrdude -c stk500v1 -p m8 -P COM3 -b 19200 -U flash:w:"main.hex":a

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.04s

avrdude: Device signature = 0x1e9307 (probably m8a)

avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed

         To disable this feature, specify the -D option.

avrdude: erasing chip

avrdude: reading input file "main.hex"

avrdude: input file main.hex auto detected as Intel Hex

avrdude: writing flash (6626 bytes):

Writing | ################################################## | 100% 10.10s

avrdude: 6626 bytes of flash written

avrdude: verifying flash memory against main.hex:

avrdude: load data flash data from input file main.hex:

avrdude: input file main.hex auto detected as Intel Hex

avrdude: input file main.hex contains 6626 bytes

avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 5.34s

avrdude: verifying ...

avrdude: 6626 bytes of flash verified

avrdude: safemode: Fuses OK (E:FF, H:C9, L:EF)

avrdude done.  Thank you.

 

 

设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
ID Name Designator Footprint Quantity
1 10uF C1,C10 C0603 2
2 100n C3 C0603 1
3 20p C4,C5 C0603 2
4 ZMM3V6 D1,D2 SOD-123_L2.8-W1.8-LS3.7-RD 2
5 ZMM5V1 D3 SOD-123_L2.8-W1.8-LS3.7-RD 1
6 51AVR SPI H1 DC3-10P 1
7 PDI H2 P2.54-4P-PZ 1
8 VOUT SELC JP1 H3-2.54 1
9 SELF PROG JP2 H2-2.54 1
10 SLOW SCK JP3 H2-2.54 1
11 PDI OUT JP4 H2-2.54 1
12 A1 LED1 LED0603-FD 1
13 A0 LED2 LED0603-FD 1
14 12MHz Q1 CRYSTAL-SMD_4P-L3.2-W2.5-BL 1
15 68 R1,R2 R0603 2
16 2K2 R3 R0603 1
17 220 R4,R5,R6 R0603 3
18 1K R7 R0603 1
19 10K R8 R0603 1
20 0R R9,R10,R11 R0603 3
21 5K1 R12,R13 R0603 2
22 2K R15 R0603 1
23 ATMEGA8A-AU U1 TQFP-32_L7.0-W7.0-P0.80-LS9.0-BL 1
24 AMS1117 U2 SOT-223_L6.5-W3.5-P2.30-LS7.0-BR 1
25 TYPE-C16PIN USB1 USB-C-SMD_TYPE-C16PIN 1
26 6V1A Z1 R0805 1

展开

工程视频/附件
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP