查看: 8095|回复: 7

将USBASP改造成STK502编程器

[复制链接]
  • TA的每日心情
    奋斗
    2019-12-1 10:07
  • 签到天数: 1617 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2014-9-25 14:48:33 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 shaoziyang 于 2014-9-25 15:08 编辑

    现在淘宝上还有不少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



    因为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, 下载次数: 520)
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-25 12:20
  • 签到天数: 251 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2014-9-25 16:03:12 | 显示全部楼层
    手上有块B1 Xplained
    Xmega128的片子
    撸主有没有便宜的仿真器,PDI的接口
    官方动辄上k,实在玩不起
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-1 10:07
  • 签到天数: 1617 天

    连续签到: 1 天

    [LV.Master]伴坛终老

     楼主| 发表于 2014-9-25 16:29:47 | 显示全部楼层
    目前PDI接口的仿真器还没有见到DIY的,官方的的确太贵。我也没有,唯一的avr dragon还坏了。

    Xplained B1还没有见过,说不定也可以改造一下。你有没有这个板子的介绍?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-1 10:07
  • 签到天数: 1617 天

    连续签到: 1 天

    [LV.Master]伴坛终老

     楼主| 发表于 2014-9-25 16:38:14 | 显示全部楼层
    本帖最后由 shaoziyang 于 2014-9-25 16:40 编辑
    斯内克 发表于 2014-9-25 16:03
    手上有块B1 Xplained
    Xmega128的片子
    撸主有没有便宜的仿真器,PDI的接口

    这个板子好像自带有bootloader,可以通过FLIP下载程序,你可以试试看。

    http://www.atmel.com/Images/doc8439.pdf

    Xplained B1比A1的功能强啊。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-25 12:20
  • 签到天数: 251 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2014-9-25 18:05:15 | 显示全部楼层
    shaoziyang 发表于 2014-9-25 16:38
    这个板子好像自带有bootloader,可以通过FLIP下载程序,你可以试试看。

    http://www.atmel.com/Images/doc ...

    官方的bootloader能通过flip下载
    想仿真就没办法了
    ATMEL的仿真器真心贵啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-1 10:07
  • 签到天数: 1617 天

    连续签到: 1 天

    [LV.Master]伴坛终老

     楼主| 发表于 2014-9-26 09:18:02 | 显示全部楼层
    斯内克 发表于 2014-9-25 18:05
    官方的bootloader能通过flip下载
    想仿真就没办法了
    ATMEL的仿真器真心贵啊

    的确贵。以前还可以DIY一个JTAG仿真器,现在好像就没有办法了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2023-9-19 13:52
  • 签到天数: 20 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2016-4-19 17:16:01 | 显示全部楼层
    原来版主在这边版块分享了这个。大赞!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-8-7 05:47
  • 签到天数: 699 天

    连续签到: 13 天

    [LV.9]以坛为家II

    发表于 2016-4-21 23:05:01 | 显示全部楼层
    很好很好,学习学习
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /5 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-12-21 01:21 , Processed in 0.194970 second(s), 30 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.