购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4 Arduino MEGA 2560

Arduino MEGA是UNO的增强版,为大型项目而准备。Arduino MEGA有非常多的引脚,以供像3D打印机和机器人这一类复杂的项目使用。如果使用UNO做项目,但却发现需要更多的引脚,那么MEGA将是一个很好的选择,如图1-6所示。

图1-6 Arduino MEGA 2560

1.4.1 概述

Arduino MEGA 2560是一款基于ATmega2560的微控制器板。它有54个数字输入输出引脚(其中15个可用作PWM输出)、16个模拟输入、4个UART(硬件串行端口)、1个16MHz晶体振荡器、1个USB连接、1个电源插座、1个ICSP头和1个复位按钮。它包含了支持微控制器所需的一切,只需通过USB电缆将其连至计算机,通过AC-DC适配器或电池为其供电即可开始工作。MEGA与面向Arduino Duemilanove或Diecimila的扩展板大多都兼容。

MEGA 2560是Arduino MEGA的更新版本。MEGA 2560与先前的所有电路板都不同,因为它未使用FTDI USB转串口驱动器芯片,而将ATmega16U2(R1和R2板内的ATmega8U2)编制成USB转串口转换器。

MEGA 2560板R2有1个电阻器,能将8U2 HWB线路接地,从而更轻松地进入DFU模式。MEGA 2560板R3具有以下新特性:

引脚:在AREF引脚附近添加了SDA和SCL引脚,在RESET引脚附近添加了另外2个新引脚,IOREF让扩展板能够适应电路板提供的电压。将来,扩展板会与使用AVR、工作电压为5V的电路板以及工作电压为3.3V的Arduino DUE兼容。第二个引脚是未连接引脚,留作将来之用。更强大的复位电路。ATmega16U2取代了8U2。MEGA 2560的微控器及总体参数,如表1-8和表1-9所示。

表1-8 Arduino MEGA 2560的微控器参数

表1-9 Arduino MEGA 2560总体参数

1.4.2 技术规范

本部分主要介绍Arduino MEGA 2560开发板的电源、存储器、输入和输出、通信、编程、自动(软件)复位、USB过流保护和物理特性。

1.电源

Arduino MEGA可通过USB连接或者外部电源供电。自动选择电源。外部(非USB)电源可以是AC-DC适配器(壁式),也可以是电池。通过将2.1mm中心正极插头插入电路板的电源插座即可连接适配器。电池的引线可插入电源连接器的GND和Vin排针。

电路板可由6~20V外部电源供电。然而,如果电源电压低于7V,那么5V引脚可能会提供低于5V的电压,电路板也许会不稳定。如果电源电压超过12V,稳压器可能会过热,从而损坏电路板,电压范围建议为7~12V。电源引脚如下:

Vin:使用外部电源时Arduino板的输入电压(与通过USB连接或其他稳压电源提供的5V电压相对)。可以通过该引脚提供电压,或者如果通过电源插座提供电压,则可通过该引脚使用它。

5V:该引脚通过电路板上的稳压器输出5V电压。电路板可由DC电源插座(7~12V)、USB连接器(5V)或电路板的Vin引脚(7~12V)供电。通过5V或3.3V引脚供电会旁路稳压器,从而损坏电路板,不建议如此。

3V3:板载稳压器产生的3.3V电源,最大电流消耗为50mA。

GND:接地引脚。

IOREF:Arduino板上的该引脚提供微控制器的工作电压参考。配置得当的扩展板可以读取IOREF引脚电压,选择合适的电源或者启动输出电压转换器以便在5V或3.3V电压下运行。

2.存储

ATmega2560带有用于存储代码的256KB闪存(其中8KB被启动加载器占用)、8KB SRAM和4KB EEPROM(可通过EEPROM库实现读取和写入操作)。

3.输入和输出

利用pinMode()、digitalWrite()和digitalRead()函数,MEGA板上的54个数字引脚都可用作输入或输出。它们的工作电压为5V。每个引脚都可以提供或接受最高40mA的电流,都有1个20~50kΩ的内部上拉电阻器(默认情况下断开)。此外,某些引脚还具有特殊功能:

串口:0(RX)和1(TX)。

串口1:19(RX)和18(TX)。

串口2:17(RX)和16(TX)。

串口3:15(RX)和14(TX)。

用于接收(RX)和发送(TX)TTL串口数据。引脚0和1也与ATmega16U2 USB转TTL串口芯片的相应引脚相连。

外部中断:2(中断0)、3(中断1)、18(中断5)、19(中断4)、20(中断3)和21(中断2)。这些引脚可以配置在低值、上升、下降沿、数值变化时触发中断。详情请参照attachInterrupt()函数。

PWM:2~13和44~46。使用analogWrite()函数提供8位PWM输出。

SPI:50(MISO)、51(MOSI)、52(SCK)、53(SS)。这些引脚支持利用SPI库进行SPI通信。SPI引脚还被引出到ICSP接口上,其与UNO、Duemilanove和Diecimila物理兼容。

LED:13。有1个内置式LED连至数字引脚13。在引脚为高值时,LED打开;引脚为低值时,LED关闭。

TWI:20(SDA)和21(SCL)。支持利用Wire库进行TWI通信。请注意,这些引脚与Duemilanove或Diecimila上的TWI引脚位置不同。

MEGA 2560有16个模拟输入,每个模拟输入都提供10位的分辨率(即1024个不同的数值)。默认情况下,它们的电压为0~5V,可以利用AREF引脚和analogReference()函数改变其范围的上限值。

电路板上还有另外2个引脚:

AREF:模拟输入的参考电压,与analogReference()一起使用;

Reset:降低线路值以复位微控制器,通常用于为扩展板添加复位按钮。

4.通信

Arduino MEGA 2560有很多工具可供与计算机、另一个Arduino或其他微控制器通信之用。ATmega2560提供了4个硬件UART,可以实现TTL(5V)串口通信。电路板上的ATmega16U2(R1和R2板内的ATmega 8U2)会通过USB进行该串行通信,为计算机上的软件提供了一个虚拟通信端口(Windows计算机需要1个.inf文件,但OSX和Linux计算机会自动将电路板识别成通信端口)。Arduino软件包含1个串行监控器,使得简单的文本数据能够发送到设备或从电路板上发出。当通过计算机的ATmega8U2/ATmega16U2芯片和USB连接传输数据时,电路板上的RX和TX LED会闪烁(但不适于引脚0和1上的串行通信)。

SoftwareSerial库可以在MEGA 2560的任何数字引脚上进行串行通信。ATmega2560还支持TWI和SPI通信。Arduino软件包含1个wire库,可简化TWI总线的使用;至于SPI通信,则使用SPI库。

5.编程

可以利用Arduino软件给Arduino MEGA 2560编程。Arduino MEGA上的ATmega2560预先烧录了启动加载器,从而无须使用外部硬件编程器即可将新代码上传给它。它利用原始的STK500协议进行通信。还可以旁路启动加载器,利用Arduino ISP等通过ICSP(在线串行编程)接口为微控制器编程。

Arduino库提供ATmega16U2(或R1和R2电路板内的8U2)固件源代码。ATmega16U2/8U2配有DFU启动加载器,它可以通过下列方式激活:

在R1电路板上:连接电路板背面上的焊接跨接线(靠近意大利地图),然后复位8U2。

在R2或更新的电路板上:有1个电阻器,能将8U2/16U2 HWB线路接地,从而更轻松地进入DFU模式。然后,可以利用Atmel FLIP软件(Windows)或者DFU编程器(Mac OSX和Linux)来加载新固件。或者,也可以使用带有外部编程器(覆写DFU启动加载器)的ISP接口。

6.自动(软件)复位

Arduino MEGA 2560的设计让它能够被运行于连接的计算机之上的软件复位,而不需要在上传前,按下复位按钮。ATmega8U2的一条硬件流程控制线路(DTR)通过1个100nF电容器与ATmega2560的复位线路连接。该线路被断言(降低)时,复位线路电压下降足够大以至于复位芯片。Arduino软件利用该能力,只需在Arduino环境中按下“上传”按钮即可上传代码。这就意味着,启动加载器的暂停时间更短,因为降低DTR能够和开始上传,协调一致。

该设置还有其他含义。MEGA 2560连至运行Mac OSX或Linux的计算机时,每次通过软件(通过USB)连接时它都会复位。在接下来的0.5s左右的时间内,启动加载器在MEGA 2560上运行。虽然它被设定为忽略不良数据(即除了上传新代码以外的任何数据),但它会在连接打开之后拦截发送给电路板的数据的前几个字节。如果在它首次起动时,在电路板上运行的程序收到了一次性配置或其他数据,要确保与之通信的软件会在打开连接之后稍等一下才发送该数据。

MEGA 2560有一条迹线,切断它可禁用自动复位。可将迹线两边的焊盘焊到一起来重新启用之。它标有“RESET-EN”字样。还能够通过在5V电源和复位线路之间连接1个110Ω的电阻器来禁用自动复位。

7.USB过流保护

Arduino MEGA 2560有1根自恢复保险丝,能够保护计算机USB端口免遭短路和过电流的损害。尽管大部分计算机都有它们自己的内部保护,但保险丝提供了更多一层保护。如果施加到USB端口上的电流超过500mA,那么保险丝会自动切断连接,直到短路或过电流情况消失为止。

8.物理特性

MEGA 2560 PCB的最大长度和宽度分别为4inch和2.1inch,USB连接器和电源插座超出了以前的尺寸。3个螺丝孔让电路板能够附着在表面或外壳上。请注意,数字引脚7和8之间的距离是160mil(0.16"),而不是其他引脚的100mil间距的偶数倍。

MEGA 2560的设计与面向UNO、Diecimila或Duemilanove的扩展板大多都兼容。数字引脚0~13(和相邻的AREF与GND引脚)、模拟输入0~5、电源头和ICSP接口全都在对应的位置。并且,主UART(串行端口)位于相同的引脚(0和1)上,外部中断0和1(分别为引脚2和3)也一样。SPI通过MEGA 2560和Duemilanove/Diecimila上的ICSP接口提供。

请注意,I2C在MEGA(20和21)上的位置与在Duemilanove/Diecimila(模拟输入4和5)上的不同。 NdHg7wrdetsEsr5XYUGoTZYS5YjazB4Jnz9/ty/t++UFSQvZmovsJlJcGlxCJWuy

点击中间区域
呼出菜单
上一章
目录
下一章
×