基于ATMEGA8的Arduino Nano(UNO)开发板
Posted 卓晴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于ATMEGA8的Arduino Nano(UNO)开发板相关的知识,希望对你有一定的参考价值。
简 介: 测试是否可以应用Arduino对其进行编程开发。实验证明,利用Arduino的 IDE无法对于MEGA进行ISP下载Bootloader。同时在后面的测试中,也没有能够利用原来的Bootloader完成对MEGA8的程序下载。具体原因不详。
后来经过对原来的MEGA328 Bootloader程序进行改进,可以进行正常的下载程序了。
关键词
: MEGA8,Arduino,ISP
为什么想使用Arduino IDE对于ATMEGA8进行编程,在 Programming ATmega8 Using Arduino IDE - Arduino Project Hub 给出了如下的理由:
- Using a cheaper AVR microcontroller
- Require an AVR microcontroller with more or even less pins than ATmega328
- You have all kinds of AVR except ATmega328 😄
需要说明的是,本文下面虽然没有能够直接利用Arduino对MEGA8进行编程,但在上面的网文中给出了正确的设置方式。
§01 设计 Arduino实验板
在 从0 开始 DIY你的Arduino UNO 测试了基于ATMEGA328制作的ARduino UNO开发板的过程。手边有比较多的ATMEGA8
的芯片,下面通过实验过程验证:
- 是否可以使用相同的方式获得基于
MEGA8
的Arduino UNO,或者Nano的开发板; - 是否运用Arduino所产生的HEX,通过传统的下载程序完成对于AT
MEGA8
程序的更新预下载。
▲ 图0-1 Arduino管脚功能定义
1、实验电路设计1
(1)管脚功能定义
下图是在 Grove Beginner Kits基础实验 Arduino 给出的关于Arduino UNO的数字与模拟接口定义。设计ATMEGA8
测试板,也根据下面这种定义协议安排对应的管脚输出。
▲ 图1-1 Arduino 数字接口管脚定义
▲ 图1-2 Arduino模拟接口关键;yi560
(2)设计原理图
▲ 图1-3 测试板的原理图设计
PIN1 | PIN2 | PIN3 | PIN4 | PIN5 | PIN6 | PIN7 | PIN8 | PIN9 | PIN10 | PIN11 | PIN12 |
---|---|---|---|---|---|---|---|---|---|---|---|
+5V | GND | RXD | TXD | RST | D2 | D3 | D4 | D5 | D6 | A0 | A1 |
(3)制作PCB
▲ 图1-4 快速制版铺设的PCB以及焊接后的PCB
2、初步调试
由于焊接的是已经设置了Bootloader的ATMEGA8
,所以焊接之后,它便可以在16MHz工作了。
-
工作测试:
-
工作电压
:+5V
工作电流
:20.3mA
晶振频率
:16MHz
▲ 图1-5 测量OSC1的波形
3、下载Bootloader
▲ 图1-6 利用Arduino IDE 下载Bootloader
▲ 图1-7 下载过程中出现的错误提示
通过上面的测试,可以看到利用Arduino IDE下载Bootloader是无法进行的。
§02 利用MAX232下载程序
直接利用已经上载的MEGA8
的自行设计的Bootloader,使用普通的のMAX3232接口即可。
1、下载接口定义
MEGA8
测试版连接】
管脚 | PIN1 | PIN2 | PIN3 | PIN4 | PIN5 |
---|---|---|---|---|---|
MAX3232 | VCC | 11 | 12 | 9 | GND |
功能定义 | VCC | T1IN | R1OUT | T2IN | GND |
连接MEGA8 | VCC | TXD | RXD | RST | GND |
测试电路 | PIN1 | PIN4 | PIN3 | PIN5 | PIN2 |
▲ 图2-1 下载MAX232接口
2、连接MAX3232与测试MEGA8
在面包板上连接下载模块与测试MEGA8
电路板。
▲ 图2-2 在面包板上连接下载模块与测试
MEGA8电路板
3、下载结果
使用上述电路,利用MEGA328BOOTLOADER无法下载。经过更换MEGA8
MCU,也无法下载程序。
▲ 图2-2 下载程序出现错误
§03 ATMEGA8 DIP-28
在 ATMEGA8
DIP-28面包板实验 给出了在面包板上搭建基于ATMEGA8
-DIP28的实验电路。
▲ 图3-1 AT
MEGA8DIP-28管脚功能定义
1、搭建实验电路板
参考下面的连接方式在面包板上搭建实验电路板。
▲ 图3-2 识别AT
MEGA8管脚对其的标志点
2、下载结果
很可惜,在面包板上搭建的MEGA8
依然无法下载。
▲ 图3-3 搭建的
MEGA8的实验电路板
※ 实验总结 ※
不知道为什么,这次实验中,搭建的电路板、面包板各种版本都没有能够完成下载程序。
这样对于利用有Arduino生成的HEX进而进行对MEGA8
编程的测试也就无法进行测试了。
※ 补充说明
对于MEGA328Bootloader进行调试,将MEGA8BL.CPP中 BLEnterBootloader(void)中的最后进行修改。将如来的BLReceChar() 修改成 ReceCharL()便课程正常下载了。
if(ReceCharL(&ucChar, PORT1, 10)) {
return 1;
}
// if(BLReceChar(&ucChar)) {
// return 1;
// }
▲ 图3-4 正常下载的过程
D:\\zhuoqing\\window\\cb\\MegaBL\\M328_BL
测试了对于Arduino编译出的HEX文件,但是MEGA8中运行不正确。
※ 补充说明1:
在博文 利用Arduino IDE对ATMEGA8等单片机编程 实验中,经过参考网络上的给出的说明已经能够正确安装Arduino IDE中的软件包并进行正确的下载程序了。
■ 相关文献链接:
● 相关图表链接:
- 图0-1 Arduino管脚功能定义
- 图1-1 Arduino 数字接口管脚定义
- 图1-2 Arduino模拟接口关键;yi560
- 图1-3 测试板的原理图设计
- 表1 测试板PIO功能定义
- 图1-4 快速制版铺设的PCB以及焊接后的PCB
- 图1-5 测量OSC1的波形
- 图1-6 利用Arduino IDE 下载Bootloader
- 图1-7 下载过程中出现的错误提示
- 表2 下载MAX3232与
MEGA8
测试版连接 - 图2-1 下载MAX232接口
- 图2-2 在面包板上连接下载模块与测试
MEGA8
测试版 - 图2-2 下载程序出现错误
- 图3-1 AT
MEGA8
DIP-28管脚功能定义 - 图3-2 识别AT
MEGA8
管脚对其的标志点 - 图3-3 搭建的
MEGA8
的实验电路板
基于
MEGA8
的Arduno的测试版的AD工程文件:AD\\Test\\2021\\ZYK\\TestMega8Nano.SchDoc ↩︎
以上是关于基于ATMEGA8的Arduino Nano(UNO)开发板的主要内容,如果未能解决你的问题,请参考以下文章
利用Arduino Nano 对于另外的Arduino控制板下载Bootloader