【从零开始学】— Arduino mega ADK之基础介绍篇

一、简介

Arduino Mega ADk也是采用USB接口的核心电路板,它与Mega2560最大的不同就是Mega ADK上多了一路USB主控制接口用来与Andrio系统的手机互连。Mega ADK的处理器核心是ATmega2560,同时具有54路数字输入/输出口(其中16路可作为PWM输出),16路模拟输入,4路UART接口,一个16MHz晶体振荡器,一个USB口,一个电源插座,一个ICSP header和一个复位按钮。Arduino Mega2560也能兼容为Arduino UNO设计的扩展板。Arduino Mega2560已经发布到第三版,与前两版相比有以下新的特点:



1、在AREF处增加了两个管脚SDA和SCL,支持I2C接口;增加IOREF和一个预留管脚,将来扩展板将能兼容5V和3.3V核心板。

2、改进了复位电路设计。

3、USB接口芯片由ATmega16U2替代了ATmega8U2。



下面是新款的ADK裸照:

mega1.jpg

2012-6-12 11:05 上传
(138.96 KB)

mega2.jpg

2012-6-12 11:05 上传
(90.14 KB)





二、概要

1、处理器 ATmega2560

2、工作电压 5V

3、输入电压(推荐) 7-12V

4、输入电压(范围) 6-20V

5、数字IO脚 54 (其中16路作为PWM输出)

6、模拟输入脚 16

7、IO脚直流电流 40 mA

8、3.3V脚直流电流 50 mA

9、Flash Memory 256 KB (ATmega328,其中8 KB 用于 bootloader)

10、SRAM 8 KB

11、EEPROM 4 KB

12、工作时钟 16 MHz

三、电源部分

Arduino Mega ADK可以通过3种方式供电,而且能自动选择供电方式



1、外部直流电源通过电源插座供电。

2、电池连接电源连接器的GND和VIN引脚。

3、USB接口直接供电。



电源引脚说明



VIN --- 当外部直流电源接入电源插座时,可以通过VIN向外部供电;也可以通过此引脚向Mega2560直接供电;VIN有电时将忽略从USB或者其他引脚接入的电源。

5V --- 通过稳压器或USB的5V电压,为UNO上的5V芯片供电。

3.3V --- 通过稳压器产生的3.3V电压,最大驱动电流50mA。

GND --- 地脚。

PS:ADK可以作为一个USB主控制器与手机相连,因此有时必须向手机提供电流。当ADK通过USB供电时,USB提供的500mA电流供ADK板和手机;当ADK通过外部直流供电时,ADK上的稳压器能提供1500mA电流,其中750mA用作ADK板和手机使用,另外750mA会分配给ADK所接的其他外设。

四、存储器

ATmega2560包括了片上256KB Flash,其中8KB用于Bootloader。同时还有8KB SRAM和4KB EEPROM。



五、输入输出

1、14路数字输入输出口:工作电压为5V,每一路能输出和接入最大电流为40mA。每一路配置了20-50K欧姆内部上拉电阻(默认不连接)。除此之外,有些引脚有特定的功能

4路串口信号:串口0---0(RX)and 1(TX);串口1---19(RX)and 18(TX);串口2---17(RX)and 16(TX);串口3---15(RX)and 14(TX)。其中串口0与内部 ATmega8U2 USB-to-TTL 芯片相连,提供TTL电压水平的串口接收信号。

6路外部中断:2(中断0),3(中断 1),18(中断 5),19(中断 4),20(中断 3),and 21(中断 2)。触发中断引脚,可设成上升沿、下降沿或同时触发。

14路脉冲宽度调制PWM(0--13):提供14路8位PWM输出。

SPI(53(SS),51(MOSI),50(MISO),52(SCK)):SPI通信接口。

LED(13号):Arduino专门用于测试LED的保留接口,输出为高时点亮LED,反之输出为低时LED熄灭。

2、16路模拟输入:每一路具有10位的分辨率(即输入有1024个不同值),默认输入信号范围为0到5V,可以通过AREF调整输入上限。除此之外,有些引脚有特定功能

TWI接口(20(SDA)和21(SCL)):支持通信接口(兼容I2C总线)。

3、AREF:模拟输入信号的参考电压。

4、Reset:信号为低时复位单片机芯片。

5、USB Host控制器MAX3421E:MAX3421E与Arduino通过SPI总线通信,它会使用以下数字接口 7(RST)、50(MISO)、51(MOSI)、52(SCK)。

PS:不要使用数字7口作为输入或者输出,因为在ADK中它用于与MAX3421E通信。 Non broken out on headers: PJ3 (GP_MAX), PJ6 (INT_MAX), PH7 (SS).

六、通信接口

1、串口:ATmega2560内置的4路UART可以与外部实现串口通信;ATmega16U2可以访问串口0实现USB上的虚拟串口。

2、TWI(兼容I2C)接口:

3、SPI 接口:

4、MAX3421E USB主控制接口:能够与具有USB接口的所有设备相连,比如手机、相机、键盘以及游戏机等等。

七、下载程序

1、Arduino Mega ADK上的ATmega2560已经预置了bootloader程序,因此可以通过Arduino软件直接下载程序到Mega2560中。

2、可以直接通过Mega2560上ICSP header直接下载程序到ATmega2560。

3、ATmega16U2的Firmware(固件)也可以通过DFU工具升级。



八、注意要点

1、Arduino Mega ADK上USB口附近有一个可重置的保险丝,对电路起到保护作用。当电流超过500mA是会断开USB连接。

2、Arduino Mega ADK提供了自动复位设计,可以通过主机复位。这样通过Arduino软件下在程序到Mega2560中软件可以自动复位,不需要在复位按钮。在印制板上丝印"RESET EN"处可以使能和禁止该功能。

3、Arduino Mega ADK的设计与Arduino USB接口标准版的设计完全兼容,因此用于Arduino UNO和之前系列的扩展板也可以用在Arduino Mega ADK上。



之前也发了一个帖子,是Arduino mega 2560 与 Arduino mega ADK硬件的区别,更多的应用就是与andorid一起使用的了!希望有更多的朋友来发表自己使用google ADK 的经过!
via - 极客工坊

标签: Arduino教程