赞
踩
摘要:只用一个空白的芯片是无法实现在arduino 编程环境中编程的,芯片需要烧录arduino专用的bootloader才能使用。本文介绍如何从购买一个空白芯片开始,制作arduino uno 的最小系统板。
硬件:ATMEGA328P芯片,27pf电容,0.1uf电容(丝印104),带有DTR引脚的USB串口模块,杜邦线若干
软件:win7 x64,arduino ide 1.8.13
目录
4.如何为空白芯片烧录arduino专用bootloader
自己制作一个uno最小系统板,并不是费力不讨好。
因为快速做出硬件原型的首选,大多数还是arduino,但是arduino的板子一般是国际标准的大板,如果做成小板,同时也能用在项目中,那么就需要自己设计了。
使用arduino可以用几分钟到几十分钟的时间,做出来一个功能完善的硬件设备。除了arduino的硬件结构简单之外,它的开发环境ide体积小巧易安装,第三方库丰富,开发代码短小精炼也是首选它的重要原因。
假如开发一个STM32程序,我们往往需要一个体积庞大的开发板,专业的仿真器,还有价格在5位数以上的ide才能办到。但是arduino就不用考虑这么多,几分钟就可以搭建完成开发环境,敲几行代码就可以实现一个软件功能。最关键的,它还是免费的。
因此,在平时开发的时候,遇到的一些时间紧,但是功能又不太复杂的硬件,可以先用arduino跑一跑,比如几个gpio的逻辑电平,再比如spi,iic等接口。
arduino uno是最常见,也是最经典的一款arduino产品。 那么如何做出一个能编程的UNO最小系统板呢?有了最小系统板,下一步用在各类项目中就便利多了。
大致的思路如下图所示,首先购买芯片,注意新购的芯片是无法支持arduino ide编程的,因为它内部还没有专用于arduino ide对它进行烧录的bootloader。芯片烧录好之后,就可以安装到最小系统板了。
如下图所示。ATmega328P芯片组成的最小系统仅需三个元器件即可工作。分别是16M 晶振,22pf电容,这两个元器件用来为芯片提供时钟。指示灯和限流电阻可以不用。
ATmega328P芯片的引脚分布如下图所示。第7脚,第20脚是VCC,需要连接5V电源。第8脚和第22脚是GND,需要接地。第21脚是模拟参考电压,可以连接5V,也可以悬空。
为什么有NANO小板不用,这个板子不是挺小的嘛,为何还偏偏要自己设计?
我们来看一下NANO板的引脚分布,可以发现NANO板的功能引脚比较少。比如SCL和SDA引脚,使用起来就相当不便。
下图是UNO的引脚分布,明显功能引脚多好几个。而它的芯片就是ATmega328P,要想缩小体积,不如使用这个芯片来设计体积更小的最小系统板。
原因是与arduino ide配套,必须使用专门的bootloader。我们都知道,arduino又称“电子积木”。对它编程就像是搭积木一样,即使不用图形化的开发界面,直接用代码方式编辑,也可以实现几行代码搞定复杂功能。这个体积小巧、编程简便的ide,要想将程序通过串口在线烧录至UNO(芯片就是ATmega328P),那么就得在芯片里面预先有一个负责通信的程序在运行,这个负责通信的程序就是bootloader。它的功能可不止是通信,还有其他复杂、实用的功能。有了它,我们才能够像开发arduino uno 一样开发它。烧录又bootloader的芯片组成的系统才可以成为uno 或者其他的名字。
这个bootloader怎么烧写?我们需要一个仿真器或者烧录器才能实现。
本文介绍一种没有仿真器的烧写方法:就是用2块UNO来开发。
注意其中一片需要有直插芯片座,这个板子就当做是烧写座。
另一个UNO板烧录一个专用的固件,做成一个“烧录器”。
方法是像烧录一个普通程序一样烧录。打开“实例”---ArduinoISP---ArduinoISP,然后烧录。
制作完成“烧录器”之后,就可以将“烧录器”与芯片插座用特定的引脚连接起来了。
我们注意到,有5个引脚是通过ICSP插座连接的。这个插座位置如下图所示。如果有专业仿真器的话,可以用这个插座烧录,就不用像本文这么复杂地操作了。
这个6针ICSP的引脚定义如下图所示。除了D10引脚外,D11 12 13和GND,5V全部都有。
将两个UNO板连接起来。除了“烧录器”的D10与被烧录“插座”RESET相连,其他几个引脚全部都用烧写插座连接即可。这样做的好处是一对一连接,不容易插错。
引脚连线结束后,可以烧录引导程序。按下图所示,选择“工具”----烧录引导程序。此时,端口需要选择为“烧录器”的串口,USB线也是连接到“烧录器”的。
烧录开始
烧录程序速度很快就可以完成。UNO板上一些指示灯闪烁。
最小系统板的基本电路如下图所示。
可以使用万能板照此电路组装。
也可以使用面包板组装。
需要的硬件很少
组装完成的效果
bootloader烧录好之后,这个最小系统板就相当于一个真正的UNO了。
我们可以在这个“乞丐版”的UNO上使用arduino ide烧录程序。如果能烧录,那么就成功了。
使用一个带有DTR的USB串口模块。具体的原因请自行查找。这个DTR引脚在烧写的时候,需要通过一个0.1uf的电容连接到目标板的RESET里面。
连接如下图所示
然后打开arduino ide,选择BLINK例程,烧录到刚才做出来的UNO里面。
烧录成功,即可证明最小系统制作完成。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。