Arduino Yun的硬件介绍Arduino Yun快速入门教程大学霸

Arduino Yun的硬件介绍Arduino Yun快速入门教程大学霸

Arduino Yun快速入门教程(大学霸内部资料)

Arduino Yun快速入门教程(大学霸内部资料)

Arduino Yun的硬件

前面也说过,Yun可以看做是拥有网络功能的Leonardo。更专业点来说它集Arduino Leonardo、Arduino Ethernet Shield和Arduino WIFI Shield的功能于一体。额,原谅笔者又把大家带偏了,我们回到正题。

本节的内容是介绍Arduino Yun的硬件,至于为何要介绍硬件,笔者认为是Arduino的开发不同于软件开发。Arduino是微控制器,它的核心是同各种外设之间交互。这种交互包括从外设读取数据以及向外设写入数据,而这基于的就是Arduino版上的两排插口,如图1.1所示。

图1.1  Arduino Yun上的插口

此时,你应该拿起板子看看这些插座,同时应该注意到了这些插座上的贴纸,如图1.2和1.3所示。

图1.2  Arduino Yun右侧的插座

图1.3  Arduino Yun左侧的插座

从图中或者手中的Arduino板子可以看到,这些标记名称各异,这就表明了他们可能有不同的作用,事实确实是这样。所以,本节的核心部分就是介绍这些插座的功能,其余部分则是介绍其他组件。当然,本着“四肢发达,头脑简单”的原则,我们先介绍板子上的大块头,然后再介绍这些“浓缩就是精华”插座。

1.4.1  主要部件

Yun的主要部件如图1.4所示。

 

图1.4  Arduino Yun的主要部件

在Yun小小的板子上集成了两颗处理器。一个是ATmega32u4(标号6),它是Arduino端的控制器,与连接的是MicorUSB(标号8)和两排数据插座以及ICSP头(标号4)。另一个处理器在标号3部分,与它相连的是网络接口(标号1)、USB host(标号7)以及WIFI(标号2)。下面依次介绍各个标号部分的作用:

q  网络接口(标号1):RJ45接口,即我们常见的有线网络接口,它用来连接有线网络;

q  WIFI模块(标号2):WIFI模块,用于连接无线网络;

q  AR9331处理器(标号3):Linux端的处理器,它运行的是基于Linux系统OpenWrt-Yun,它的作用是执行一些Linux端的命令;

q  ICSP头(标号4):它通常用来调试ATmega32u4。通常向ATmega32u4上传程序是通过MicroUSB,当引导部分损坏后,就需要使用ICSP来重建引导。当然有些盾板也使用它来传输数据;

q  指示灯组(标号5):对应的指示灯有不同的功能,这在1.4.2中介绍;

q  ATmega43u4(标号6):Arduino端的处理器,它主要控制Yun上的两排插座,之后编程的主要部分就是针对它;

q  USB Host(标号7):可以连接各种使用这种接口标准的设备,例如摄像头;

q  MicroUSB(标号8):功能包括为整个板子提供电源和为ATmega32u4编程。

1.4.2  指示灯组

指示灯组的放大图如图1.5所示。

 

图1.5  指示灯组

各个指示灯对应的功能如下:

q  RX:对应于0号端口,串行通讯的接收指示,在接收数据时闪烁;

q  TX:对应于1号端口,串行通讯的发送提示,在发送数据时闪烁;

q  L13:连接在13号端口,当13号端口为高电平时被点亮;

q  WAN:有线网络连接指示,在网线有数据交换的时候点亮;

q  ON:电源指示;

q  WLAN:WIFI指示,同时也可以用来在Linux端复位时指示进度;

q  USB:表示USB口已经可用,通常在OpenWrt-Yun完全启动后点亮。

1.4.3  3个复位按钮

三个复位按钮的位置如图1.6所示。

 

图1.6  3个复位按钮的位置

这三个复位按钮的作用分别如下:

q  32U4 RST(标号1):用来复位ATmega32U4微处理器,它里面的程序(在Arduino中被称为Sketch)会重新运行;

q  YUN RST(标号2):用来复位AR9331微处理器,导致的结果是Linux系统重启,在RAM中的数据都会丢失;

q  WLAN RST(标号3):这个复位按钮有两个功能:将WIFI恢复出厂设置和将Linux image恢复出厂设置。要将WIFI恢复出厂设计需要将按钮按下5秒,此时WLAN LED会持续闪烁到释放按钮后的5秒,之后则表示恢复完成。重置Linux image则需要按下按钮30秒,在重置后,所有安装的软件及存储的数据都会丢失。这两种重置都会导致Linux系统重启。

1.4.4  电源插座

Arduino Yun有两排插座,这些插座可以按类型分为三类:电源、数字IO和模拟输入。电源部分主要集中在如图1.7所示的部分。

 

图1.7  电源集中部分

还有两个在如图1.8所示的位置。

 

图1.8  电源部分

下面我们介绍对应图中的各个名称及其含义:

q  3个GND:接地,他们虽然分布在不同的位置,但是功能都一样;

q  Vin:电源输入,通过它可以为整个板子供电,类似MicroUSB的供电功能,但是需要注意这个端口会绕过保护电路,如果过压则会毁坏板子。所以,对自己的实力没有信心时候不要使用这种方式。通常。USB供电已经能满足绝大部分的需求了;

q  5V:5V电源输出,这是绝大部分芯片使用的电压;

q  3.3V:3.3V电压输出,有些芯片需要使用这个电压,但注意它最大可以提供50ma的电流;

q  RESET:重置ATmega32u4,它通常被盾板使用;

q  IOREF:操作参考电压,它被盾板用来选择操作电压(3.3V或者5V);

q  AREF:模拟操作的参考电压,它用作模数转换(模拟和数字信号间的转换)。模拟输入口提供10bit的分辨率也就是1024个不同的值(2的10次方)。假设AREF为5V而输入为2.5V,那么模数转换的结果就是1024*(2.5/5)=512;如果AREF为10V则同样的输入2.5V转换结果则为256。

1.4.5  数字IO

数字IO即为数字信号的输入输出,所有20个端口都可以作为数字IO,它们主要分布在两个部分,如图1.9和1.10所示。

 

图1.9  数字IO部分

 

图1.10  数字IO部分

数字IO用来交换数字信号,数字信号只有高低两个状态。计算机中处理的数据就是数字信号、包括文本、视频、图像。在Arduino的周边设备中,数字设备有开关,LED点阵以及集成电路。

1.4.6  模拟输入

模拟IO与数字IO对应,它用来交换模拟信号,模拟信号是连续变化的。最常的模拟信号的例子是室内温度、湿度,它们的变化是连续的不会发生突变。模拟输入接受连续变化的电压输入,Yun有12个模拟输入,其中6个集中在如图1.11所示的部分。

 

图1.11  模拟输入

其余6个复用4、6、8、9、10和12,如图1.12所示。

 

图1.12  模拟输入

模拟输入的在使用时可以使用前置的A标识,即12个模拟输入端口可以通过A0~A11标识。其中,A0~A5对应图1.11中的A0~A5;A6~A11则对应4(A6)、6(A7)、8(A8)、9(A9)、10(A10)和12(A11)。

1.4.7  PWM

PWM是Pulse Width Modulation(脉冲宽度调制)的首字母缩写。它使用微处理器的数字输出来控制模拟电路,也就是说它用数字信号模拟模拟信号。例如,PWM这可以驱动扬声器发出不同音调的声音。具有PWM的插座非常容易区分,它们的端口号后都带有“~”符号,如图1.13所示。

 

图1.13  PWM口

从图中可以看出,它们分别是3、5、6、9、10和11号端口,共6个。

1.4.8  Serial

Serial即串口,它复用0和1号端口,0作为接收端而1作为发送端,这从图1.14中的箭头方向可以看出来。

 

图1.14  SerialArduino Yun的硬件介绍Arduino Yun快速入门教程大学霸

向下的箭头则表示数据进入端口,而向上箭头则表示数据从端口发出。

1.4.9  TWI

TWI是Two-Wire Interface的首字母缩写,它实现的功能与I2C(Inter-Integrated Circuit)总线一样,但由于I2C受版权保护、已注册商标,所以Atmel以TWI来表示它。这种方式只需要两条线即可工作:SDA(串行数据)和SCL(串行时钟)。在Arduino Yun中,它们复用2和3号端口即2号端口作为SDA,3号作为SCL。

1.4.10  SPI

SPI是Serial Peripheral Interface的首字母缩写,它是一种同步串行外设接口,它使用的是ICSP头(图1.4中的标号6)。

1.4.11  外部中断

中断可以使处理器更高效地运行。Yun有5个外部中断,他们分别复用3、2、0、1和7号端口。关于中断细节将在第4章进行介绍,这里就不再赘述。

1.4.12  两个微处理器的规格

因为Yun有两个微处理器,所以分别使用两个表格来列出他们的规格。AVR Arduino微控制器的规格如表1.1所示,Linux微处理器的规格如表1.2所示。

表1.1  AVR Arduino微处理器规格Arduino Yun的硬件介绍Arduino Yun快速入门教程大学霸

微控制器 ATmega32u4
操作电压 5V
输入电压 5V
数字IO口 20
PWM通道 7
模拟输入通道 12
IO口最大供电流 40 mA
3.3V口最大供电电流 50 mA
闪存 32 KB (4KB用作启动引导)
SRAM 2.5 KB
EEPROM 1 KB
时钟频率 16 MHz

这里我们需要注意的参数是“IO口最大供电流”和“3.3V口最大供电电流”。如果超过这些最大值,则有可能损坏板子。所以通常情况下不要使用IO口驱动继电器、直流电机等大功率器件。

表1.2  Linux微处理器规格

处理器型号 Atheros AR9331
架构 MIPS @400MHz
操作电压 3.3V
有线网络接口 IEEE 802.3 10/100Mbit/s
WiFi网络接口 IEEE 802.11b/g/n
USB A型口 2.0 Host
读卡器r Micro-SD
RAM 64 MB DDR2
闪存 16 MB
长度 73 mm
宽度 53 mm
重量 32 g

对于Linux未处理我们需要注意的参数就是“闪存”的容量,16MB的容量就限制了它不可以存储太多的多媒体文件,但是安装一些常用的软件还是足够的。Arduino Yun的硬件介绍Arduino Yun快速入门教程大学霸

Comments are closed.