极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3263|回复: 21

使用带USB端口的Arduino做ALPHA 8F328D下载器

[复制链接]
发表于 2016-4-3 11:06:24 | 显示全部楼层 |阅读模式
ALPHA系列的8F328D控制器出来后一直缺乏稳定可靠好用的下载方式,现在解决了。。。。这里介绍一下

8F328D芯片是两线下载方式,在你没有烧录过bootloader的情况下,只能使用这种方式。


接线图.png

如图:我们D12管脚接SWD,D13管脚接SWC,ALPHA 8F328D的5V管脚接Arduino板子的5V,GND接GND。RESET这部分可以不用接。

注意:SWD需要一个10K上拉,4.7K更好。如果没有接这个上拉会工作异常。

电路接好以后,我们下载LarduinoISP附件(附件在帖子尾部),解压缩后得到下图的文件。

1.png

下载OCROBOT最新版本的IDE,然后打开LarduinoISP.ino文件。选择好你带USB端口的Arduino控制器型号,端口。然后把打开的LarduinoISP.ino程序编译,下载进去。

2.png

OCROBOT IDE最新版下载地址:http://www.ocrobot.com/doku.php?id=zh:downloads

接下来就开始正式的给ALPHA 8F328D烧录程序了,我们首先要在IDE中,把控制器选择为ALPHA 8F328D。

3.png

编程器选择为Arduino as ISP

4.png

最后。。。在IDE中写入你的代码,比如Blink,在文件菜单中选择“使用编程器下载”。程序就下载进去了。

5.png

程序烧录进去以后,需要给8F328D断电重启,新的程序才会运行。

LarduinoISP.zip (170.62 KB, 下载次数: 68)
回复

使用道具 举报

发表于 2016-4-4 15:47:16 | 显示全部楼层
老大,请问普通的cp2102、ch430、431下载器行不行?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-5 09:22:33 | 显示全部楼层
zjhyhky 发表于 2016-4-4 15:47
老大,请问普通的cp2102、ch430、431下载器行不行?

这三款是USB转uart,需要烧录了bootloader后才能用。而且下载过程中如果cp2102等没有做好自动复位电路,那么就需要手工复位。比ISP下载方式麻烦不少。
回复 支持 反对

使用道具 举报

发表于 2016-4-5 17:09:28 | 显示全部楼层
弘毅 发表于 2016-4-5 09:22
这三款是USB转uart,需要烧录了bootloader后才能用。而且下载过程中如果cp2102等没有做好自动复位电路,那 ...

谢谢老大答复!再请问:
1.我从ocrobot的淘宝店里买了几片8f328d,难道都是没有bootloader的吗?
2.我用swd给stm32下载过,那个swd下载器是不是可以用在这里?
本文介绍的方法我也去试试,总要找个方便的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-5 19:50:18 | 显示全部楼层
zjhyhky 发表于 2016-4-5 17:09
谢谢老大答复!再请问:
1.我从ocrobot的淘宝店里买了几片8f328d,难道都是没有bootloader的吗?
2.我用 ...

目前发货的是有bootloader的。。。。后期发货的就没有了。st的编程器是没法给LGT的使用的。这个帖子主要就是讲解如何使用一块带usb的Arduino板子变为一个LGT编程器~~~只要你手头有一个带USB的Arduino就可以了呀

点评

其实还是建议你们推出专用烧写器。上次在你们家买的 usbisp 很好用  发表于 2016-4-5 20:19
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-5 20:21:06 | 显示全部楼层
弘毅 发表于 2016-4-5 19:50
目前发货的是有bootloader的。。。。后期发货的就没有了。st的编程器是没法给LGT的使用的。这个帖子主要就 ...

专用烧写器逐步会推出。。。。。准备用8F88D做一个专用烧写器
回复 支持 反对

使用道具 举报

发表于 2016-4-5 22:08:47 | 显示全部楼层
谢老大指点,刚做了实验,总结如下,供大家参考:

1.我前几天在淘宝上ocrobot买的几片LGT是有bootloader的,因为用cp2102下载成功了。手动复位,当显示 下载中 时立即短接reset和gnd一下,就成功了。
2.把cp2102的dtr脚通过一个0.1uf的独石电容连接到lgt板的reset脚,直接下载成功,不用reset了,哦也!不知道板子上为什么不加上这个0.1uf电容?
3.本帖子的方法我还没有试过,因为不知道用LarduinoISP下载有何意义?我的理解,这种方法是用来下载bootloader的吧?否则直接像arduino mini一样用usb转ttl就行了,何必再用一块arduino板子、或者一个专用烧写器呢?这样理解不知道对不对,老大能否说说这样做的优势?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-5 22:24:44 | 显示全部楼层
本帖最后由 弘毅 于 2016-4-5 22:27 编辑
zjhyhky 发表于 2016-4-5 22:08
谢老大指点,刚做了实验,总结如下,供大家参考:

1.我前几天在淘宝上ocrobot买的几片LGT是有bootloader ...


这个是你没遇到不能下载的时候。。。现在天气温暖,内部RC温漂不大,所以你用uart可以下载成功,当天气寒冷的时候,内部RC温漂大于2%,这时候异步通信就会出现问题。没有晶振的板子,通过uart下载就容易出现问题。而ISP下载方式不存在RC温漂大了通信失败问题。

而且烧录bootloader要增加一道工序,成本更高。为了降低售价,只能把bootloader烧录环节也省掉。

所有的Arduino板子运行于16M,都是带晶振的,所以你不会遇到通过bootloader烧录程序出现问题。而8F328D内有有16M的RC,可以脱离晶振运行。为了发挥这个特长,ISP下载方式是最优的。
回复 支持 反对

使用道具 举报

发表于 2016-4-5 22:27:21 | 显示全部楼层
弘毅 发表于 2016-4-5 22:24
这个是你没遇到不能下载的时候。。。现在天气温暖,内部RC温漂不大,所以你用uart可以下载成功,当天气 ...

是这样啊,明白了,谢谢!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-5 22:47:08 | 显示全部楼层
zjhyhky 发表于 2016-4-5 22:27
是这样啊,明白了,谢谢!

其实还有一个重要原因,就是整体产品规划上,还会有一款ALPHA 8F88D,flash只有8k,如果烧录bootloader后,可用空间就不到7k。如果通过isp方式,8k就是完全可用的。对于小空间方案这个意义重大。
回复 支持 反对

使用道具 举报

高级模式  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2017-10-18 04:20 , Processed in 0.044446 second(s), 7 queries , File On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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