极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 51654|回复: 21

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

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

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




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

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

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



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



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

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



编程器选择为Arduino as ISP



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



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


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 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就可以了呀
回复 支持 反对

使用道具 举报

 楼主| 发表于 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就是完全可用的。对于小空间方案这个意义重大。
回复 支持 反对

使用道具 举报

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

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

不加100nf的原因呢,在alpha的硬件标准中,自动复位功能是在usb转uart端实现的,alpha标准管脚中只提供了reset管脚,reset管脚如果在核心板上接了0.1uf,那么就会造成你的按键复位电路工作异常,或者和下载器等通信异常。mini板子是提供了一个专用的dtr管脚。这个管脚除了自动复位没任何作用。。。。对于这种没啥用又占用空间的管脚,alpha设计中是不会放入通用接口的。
回复 支持 反对

使用道具 举报

发表于 2016-4-30 20:11:53 | 显示全部楼层
这个好,终于可以用上LGT了,参数还不错,和STM有的一拼
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-1 09:57:43 | 显示全部楼层
Ansifa 发表于 2016-4-30 20:11
这个好,终于可以用上LGT了,参数还不错,和STM有的一拼

328板子只要6元哦。。。。88D只要4.5元哦。。。
回复 支持 反对

使用道具 举报

发表于 2016-5-9 17:07:21 | 显示全部楼层
哈搞深入啊,支持一下
回复 支持 反对

使用道具 举报

发表于 2016-5-15 22:05:39 来自手机 | 显示全部楼层
好厉害的样子!只是用内部rc振荡影响串口稳定性,串口也是个重要功能啊
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-28 19:17 , Processed in 0.050145 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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