将USBASP改造成STK502编程器(转)

本文介绍如何将常见的USBASP编程器改造成更稳定的STK502编程器,使其能与AVRStudio无缝集成。通过简单的硬件调整及软件配置,即可实现这一转变,提高编程效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源:将USBASP改造成STK502编程器

 

  现在淘宝上还有不少USBasp或者USBisp的51/AVR编程器,它们使用了开源的USBasp硬件,以及PROGISP软件或者其它一些下载软件。其实我们可以非常方便的将它们改为STK502编程器,不但稳定性更好,也可以和AVR Studio无缝集成,使用更加方便。
  USBasp是开源项目AVRDoper出现之前比较有名的一个开源USB编程器项目,它可以对AVR单片机进行编程。它使用avrdude等软件做为上位机编程软件,可以在Windows和Linux操作系统中使用,但是它不能用于AVR Studio软件中,因为它的驱动使用了libusb,而不是STK500的串口方式。
  下图是一个简化了的使用AVRUSB的STK502编程器的原理图,是开源项目AVR-Doper的简化版本。为了更容易说明AVRUSB部分的功能,这里只保留了USB接口和编程接口部分的电路,去掉了电平转换、端口保护电路、升压电路、高压编程等功能,这也是AVR业余爱好者DIY时常用的一个电路。淘宝上的USBASP和这个差不多,基本没有任何保护电路(十多元的东西,要求也没有办法太高了)。如果想做一个功能完善、带有良好保护电路的STK502编程器,可以参考一下AVRUSB的开源项目AVRDoper,它提供了详细的原理图和完整的代码。
  下图中XS1作为编程接口,它使用了标准的6芯接口方式,通过它可以对其它单片机进行编程(XS1也可以使用10芯的接口方式)。如果将P1使用短路块连接,那么这个接口也可以作为外部编程器对单片机U1的编程接口,方便升级单片机的程序,或者写入Bootloader、改变熔丝位等。
 usbasp.gif

2014-9-25 14:51 上传
下载附件 (12.32 KB)
 



  因为AVR-doper这个项目已经提供了完整的参考程序,所以只需要拿过来修改一下参数就能使用(主要就是USB接口D+和D-部分的参数和编程接口的定义)。和其它AVRUSB项目的参数设置不同,这个项目的参数配置稍微有一点特殊,它不是直接修改参数配置文件usbconfig.h,而是修改另外一个硬件配置文件hardware.h。打开文件hardware.h后,找到下面代码段后,就可以根据说明修改对应的参数:

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


//这一行选择硬件,1代表使用USBASP硬件方式
#define USBASP_HARDWARE     1


#if USBASP_HARDWARE         /* USBasp hardware from www.fischl.de/usbasp/ */


#undef ENABLE_HVPROG
#define ENABLE_HVPROG       0
#define METABOARD_HARDWARE  1   /* most settings are the same as for metaboard */


//定义LED指示灯接口
#define HWPIN_LED           C, 1
#define HWPIN_ISP_SUPPLY1   C, 3    /* these pins are NC on USBasp */
#define HWPIN_ISP_SUPPLY2   C, 4


//定义ISP编程端口,也就是硬件SPI端口
#define HWPIN_ISP_RESET     B, 2
#define HWPIN_ISP_MOSI      B, 3
#define HWPIN_ISP_MISO      B, 4
#define HWPIN_ISP_SCK       B, 5


//USB接口,DPLUS代表D+,DMINUS代表D-
#define HWPIN_USB_DPLUS     D, 2
#define HWPIN_USB_DMINUS    D, 4
#define HWPIN_ISP_TXD       D, 0
#define HWPIN_ISP_RXD       D, 1
#define HWPIN_JUMPER        C, 2


#elif METABOARD_HARDWARE    /* Metaboard hardware from www.obdev.at/goto?t=metaboard */ 


  上面的参数配置是对应上面的参考电路图,大家可以根据自己使用的单片机和具体硬件电路修改上面的参数。最主要的参数就是上面深色背景表示的参数,它们分别对应LED指示、ISP编程接口、USB接口等。修改并保存参数后,重新编译整个项目,最后下载到单片机中就可以进行编程测试了。
 

  如果使用BootloadHID配合AVR-Doper,效果更好。用户可以随时通过USB升级编程器固件程序,或者改变程序的功能。
avrdoper.zip (117.44 KB, 下载次数: 20)

2014-9-25 14:55 上传
点击文件名下载附件
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值