利用AVR单片机 专用下载 USBtinyISP对Arduino UNO下载程序

Posted 卓晴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用AVR单片机 专用下载 USBtinyISP对Arduino UNO下载程序相关的知识,希望对你有一定的参考价值。

简 介: 测试了利用USBtinyISP对于Arduino UNO,也就是ATmega系列的单片机下载Bootloader的过程。通过测试可以看到,利用USBtinyISP可以更快的下载ATmega系列的单片机的Bootloader程序,这也为之后利用其他的平台对于ATmega单片机进行开发进行了验证。

关键词 USBtinyISPArduinoATmega

 

§01 USBtinyISP


   利用Arduino Nano 对于另外的Arduino控制板下载Bootloader 使用了 Arduino Nano作为ISP编程器, 用于从0开始制作Arduino UNO 控制模块。在Arduino IDE中,Programmer中包括了很多可以使用的下载器,其中包括了 USBTinyISP

▲ 图1-1 Arduino 下载器的选项

▲ 图1-1 Arduino 下载器的选项

  现在从 AVR单片机 专用下载 USBtinyISP 下载器 购买到USBtinyISP模块。下面测试USBTinyISP用于对ATmega单片机系列的应用。

1、USBTinyISP基本信息

(1)模块外观

  下面是在 USBTinyISP TB网页 上的信息。

▲ 图1-2 USBTinyISP模块正面和反面信息

▲ 图1-2 USBTinyISP模块正面和反面信息

(2)基本特性

  AVR单片机 专用下载 USBtinyISP 下载器 下载线 USB接口兼容UNO

  USBtinyISP 下载器 S-Arduino AVR单片机 专用下载USB接口

  USBtinyISP也是一款为AVR单片机设计的基于USB接口的ISP下载线,使用它可以为大部分AVR单片机下载程序。

  USB供电,可以直接提供电力,打开IDE,在Bord中选择好需要下载的硬件名称后,在Burn Bootloader下选择USBtinyISP,即开始下载bootlaoder,1-2分钟后下载完成。

(3)基本参数

  1. ISP接口:6针和10针

  2. 尺寸大小:28.8mm×61.6mm

  3. 模块重量:16g

  4. 供电选择:外部供电与USB取电(芯片如果使用外部供电请将ISP10附近的黄色跳线帽取下)

(4)原始设计网页

  根据从 百度网盘下载资料中的资料,可以看到USBtinyISP的原理图.

▲ 图1-3 USBTinyISP原理图

▲ 图1-3 USBTinyISP原理图

  从原理图备注栏可以看到该USBTinyISP的设计最初的来源:

▲ 图1-4 USBTinyISP原理图的备注信息

▲ 图1-4 USBTinyISP原理图的备注信息

  搜索 http://www.ladyada.net/make/usbtinyisp 可以找到最初介绍 USBtinyISP 网页,这个网页又移动到 AVR programmer & SPI interface

2、基本测试

(1)下载相关资料

  从 百度网盘下载资料 下载相关的资料,包括如下两个文件:

  • usbtinyisp_w32_driver_v1.12.zip
  • usbtinyisp2sch.png

  解压缩ZIP文件,可以获得USBTinyISP Windows 驱动程序:

  • libusb0.dll
  • libusb0.sys
  • libusb0_x64.dll
  • libusb0_x64.sys
  • usbtinyisp.cat
  • usbtinyisp.inf
  • usbtinyisp_x64.cat

  也可以在 CSDN下载链接 中下载上述文件。

(2)接入PC的USB

  将USBTinyISP模块接入微机的USB端口。计算机管理中的设备管理器中出现了 USBtinyISP未安装设备。

▲ 图1-5 出现的未安装驱动的设备

▲ 图1-5 出现的未安装驱动的设备

  电机USBtinyIS设备图表,手动指定驱动软件所在的目录进行驱动安装。

▲ 图1-5-1 安装USBTinyISP软件驱动

▲ 图1-5-1 安装USBTinyISP软件驱动

  下图显示了成功安装软件驱动之后的界面。

▲ 图1-5-2 安装成功之后的界面

▲ 图1-5-2 安装成功之后的界面

  安装之后,USBtinyISP就形成正确的设备USB设备了。

▲ 图1-6 安装完毕之后的USBtinyISP AVR Programmer

▲ 图1-6 安装完毕之后的USBtinyISP AVR Programmer

 

§02 程Arduino UNO


1、连接Arduino Nano

  将Arduino Nano与USBtinyISP相连。请注意接口的正确方向!

▲ 图2-1 将Arduino Nano 与USBtinyISP相连

▲ 图2-1 将Arduino Nano 与USBtinyISP相连

2、下载Bootloader

下载Bootloader配置:
电路板:Arduino Uno
编程器:USBtinyISP

▲ 图2-2 下载ISP的基本配置

▲ 图2-2 下载ISP的基本配置

▲ 图2-3 下载过程以及下载完成

▲ 图2-3 下载过程以及下载完成

3、测试Bootloader效果

(1)测试软件

/*
**==============================================================================
** TEST1.C:             -- by Dr. ZhuoQing, 2021-05-31
**
**==============================================================================
*/

#define ON(pin)                 digitalWrite(pin, HIGH)
#define OFF(pin)                digitalWrite(pin, LOW)
#define VAL(pin)                digitalRead(pin)
#define IN(pin)                 pinMode(pin, INPUT)
#define OUT(pin)                pinMode(pin, OUTPUT)
const int LED_PIN = 13;
//------------------------------------------------------------------------------
void setup(void) {
    pinMode(LED_PIN, OUTPUT);
    
}

//------------------------------------------------------------------------------
void loop(void) {
    ON(LED_PIN);
    delay(200);
    OFF(LED_PIN);
    delay(100);
    
}

//==============================================================================
//                END OF FILE : TEST1.C
//------------------------------------------------------------------------------

(2)软件下载

软件下载配置:
Board:Arduino Uno
Port:COM31

▲ 图2-3-1 软件下载 配置

▲ 图2-3-1 软件下载 配置

  使用编辑下载命令便可以成功将程序下载到Arduino Uno中。这说明上述修改Bootloader过程是正确的。因为之前只能选择 Arduino Nano(Old Bootloader)才能够正确下载程序。

▲ 图2-4 下载成功

▲ 图2-4 下载成功

 

§03 作转接线


(1)转接线端口定义

  下图右边定义了在通常情况下实验电路对应的ATmega单片机用于ISP接口的顺序。那么将USBtinyISP的6pin输出端口进行转接形成单排的定义。

▲ 图3-1 6PIN-2接口定义

▲ 图3-1 6PIN-2接口定义

  下面显示了转接线头的焊接顺序和制作方法。从1管脚到6管脚按照如下的定义:

【表1 ISP转接线的端口功能定义】

PIN1PIN2PIN3PIN4PIN5PIN6
VCCMOSIMISOSCKRSTGND

▲ 图3-2 USBtinyISP 接口与转接口

▲ 图3-2 USBtinyISP 接口与转接口

 

验总结 ※


  试了利用USBtinyISP对于Arduino UNO,也就是ATmega系列的单片机下载Bootloader的过程。通过测试可以看到,利用USBtinyISP可以更快的下载ATmega系列的单片机的Bootloader程序,这也为之后利用其他的平台对于ATmega单片机进行开发进行了验证。


■ 相关文献链接:

● 相关图表链接:

以上是关于利用AVR单片机 专用下载 USBtinyISP对Arduino UNO下载程序的主要内容,如果未能解决你的问题,请参考以下文章

avr单片机怎么配置系统时钟

AVR单片机教程——EasyElectronics Library v1.1手册

arduino编程时候如何利用winavr的库文件??如:#include <avr/EEPROM.h>

AVR单片机的堆栈指针SP初值是啥

ATmega16L与51系列单片机的异同

如何给Arduino UNO下载Bootloader?