Toggle navigation
科创
{{ getSearchSuggestionLabel(suggestion) }}
{{ part.text }}
查看更多
登录
 
注册
电波
论坛
专栏
应用
登录
注册
{{ getSearchSuggestionLabel(suggestion) }}
{{ part.text }}
查看更多
论坛
>
电子信息
>
电子技术
文号
t60319
阅读
4333
回复
1
收藏
1
转帖:Arduino Due 中文介绍
kc2038
2013/09/03
电子技术
IP:广西
Arduino Due 中文介绍
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
以下内容均翻译自
XXXXXXXXXX
,水平有限,如有错误请大家指正 。
概述
Arduino Due
是一块基于
Atmel SAM3X8E CPU
的微控制器板
.
它是第一块基于
32
位
ARM
核心的
arduino.
它有
54
个数字
IO
口 (其中
12
个可用于
PWM
输出),
12
个模拟输入口,
4
路
UART
硬件串口
, 84 MHz
的时钟频率
,
一个
USB OTG
接口
,
两路
DAC
(模数转换),两路
TWI
,一个电源插座,一个
SPI
接口,一个
JTAG
接口,一个复位按键和一个擦写按键。
警告
:
不同于其他
arduino
,
arduino due
的工作电压为
3.3V
。
IO
口可承载电压也为
3.3V
。如果你使用更大的电压,比如
5V
到一个
IO
口,可能会烧了芯片。
电路板上已经包含控制运行所需的各种部件,你仅需要通过
USB
连接到电脑 或者 通过
AC-DC
适配器、电池连接到电源插座就可以让控制器开始运行。
arduino due
兼容工作在
3.3V
且引脚排列符合
1.0 arduino
标准的
arduino
扩展板。
ARM
核心的优势
使用
32
位
ARM
核心的
Due
相较于以往的使用
8
位
AVR
核心的其他
arduino
更强大。明显的差别有:
32
位核心在一个时钟能处理
32
位的数据;
84Mhz
的
CPU
时钟频率;
96 KBytes
的
SRAM
;
512 KBytes
的
Flash
;
一个
DMA
控制器
,
他能减轻
CPU
做大量运算时的压力。
原理图及参考设计
arduino-Due-reference-design.zip
Schematic: arduino-Due-schematic.pdf
摘要
微控制器
AT91SAM3X8E
工作电压
Voltage 3.3V
输入电压(推荐)
7-12V
输入电压(限制)
6-20V
数字
I/O
引脚
54 (
其中
12
路
PWM
输出
)
模拟输入通道
Pins 12
模拟输出通道
Pins 2 (DAC)
IO
口总输出电流
130 mA
3.3V
端口输出能力
800 mA
5V
端口输出能力
800 mA
Flash 512 KB
(所有空间都可以储存用户程序)
SRAM 96 KB (
两个部分
: 64KB and 32KB)
时钟速率
84 MHz
电源
Arduino Due
可以通过
Micro USB
接口或外接电源供电,电源可以自动被选择。
外部(非
USB
)电源可以用
AC-DC
适配器(
wall-wart
)或电池。 适配器可以插在一个
2.1
毫米规格中心是正极的电源插座上,以此连接到控制器电源。控制器能支持
6
到
20V
电压输入。如果输入电压低于
7V, 5V
引脚可能得到的电压会低于
5V
,控制器运行可能会不稳定。如果使用输入电压超过
12V,
可能会造成控制器过热,甚至损坏损坏。推荐输入电压范围为
7
到
12V
。电源相关引脚如下:
VIN.
Arduino
使用外部电源时的输入电压引脚
(
你可以通过这个引脚供电,或者当
DC
座供电时,通过这个引脚使用
DC
电源
)
5V.
通过板载稳压芯片输出的
5V
的电压引脚。你可以从
DC
电源口、
USB
、
VIN
三处给控制器供电。也可以绕过稳压
IC
,直接从
5V
、
3V3
引脚供电,但不建议这样使用。
3.3V.
通过板载稳压芯片输出的
3.3V
的电压引脚。 最大电流
800 mA
。该电压也是
SAM3X
的工作电压
.
GND.
接地引脚
.
IOREF.
该引脚提供
arduino
微控制器的工作参考电压
.
一个适合的
arduino
扩展板能够读取
IOREF
引脚电压选择合适的电源, 或者提供
3.3V
或
5V
的电平转换。
存储空间
SAM3X
有
512 KB (
两块
256 KB)
用于存储用户程序的
Flash
空间。
ATMEL
已经在生产芯片时,将
bootloader
预烧写进了
ROM
里
. SRAM
有
96 KB
,由两个连续空间
64 KB
和
32 KB
组成
.
所有可用存储空间
(Flash, RAM
和
ROM)
都可以直接寻址。你可以通过板子上的擦写按钮,擦除
SAM3X
的
Flash
中的数据
.
这个操作将删除当前加载的项目
.
在通电状态下,按住擦写按钮几秒钟,即可擦写。
输入和输出
Digital I/O: 0
至
53
号引脚
使用
pinMode(), digitalWrite(), anddigitalRead()
函数,每一个
IO
都可以作为输入输出端口。他们工作在
3.3V
。每一个
IO
都可以输出
3 mA
或者
15 mA
电流,或者输入
6 mA
或者
9 mA
电流。他们也都有
100K
欧 的内部上拉电阻
(
默认状态下不上拉
)
。另外
,
一些引脚有特殊功能:
Serial: 0 (RX) and 1 (TX)
Serial 1: 19 (RX) and 18 (TX)
Serial 2: 17 (RX) and 16 (TX)
Serial 3: 15 (RX) and 14 (TX)
串口发送接受端口(工作在
3.3V
电平)
.
其中
0
,
1
连接到了
ATmega16U2
的对应串口上,用于
USB
转
UART
通信
.
PWM:
引脚
2 to 13
使用
analogWrite()
函数提供
8
位的
PWM
输出
.
可以通过
analogWriteResolution()
函数改变
PWM
输出精度。
SPI:
SPI
接口
(
在其他
arduino
上称作
ICSP
接口
)
可以通过
SPI
库是
SPI
接口用于通信。
SPI
引脚已经引出到了
6
针接口位置
,
可以和
Uno
、
Leonardo
、
Mega2560
兼容
.
这个
SPI
针仅用于和其他
SPI
设备通信,不能用于
SAM3X
的程序烧写。
Due
的
SPI
可以通过
Due
专用的扩展库来使用其高级特性。
CAN: CANRX
和
CANTX
硬件支持
CAN
,但
arduino
目前并不提供该
API
"L" LED: 13
有一个内置的
LED
在数字脚
13
上,当引脚是高电平事,
LED
亮,引脚为低电平时,
LED
不亮。因为
13
脚带有
PWM
输出功能,因此可以进行亮度调节。
TWI 1: 20 (SDA)
和
21 (SCL)
TWI 2: SDA1
和
SCL1.
支持使用
Wire
库来进行
TWI
通信
模拟输入
: A0
到
A11
Arduino Due
有
12
路模拟输入端
,
每一路都有
12
位精度(
0-4095
)。默认情况下
,
模拟输入精度为
10
位
,
和其他型号的
Arduino
控制器一样。通过
analogReadResolution()
你可以改变
ADC
的采样精度
. Due
的
analog inputs
引脚测量范围为
0
至
3.3V
。如果测量高于
3.3V
电压,可能会烧坏
SAM3X
。
analogReference()
函数在
Due
上是无效的
.
AREF
引脚通过一个电阻桥接到
SAM3X
模拟参考脚
.
如果要使用
AREF
脚
,
你需要先从
PCB
上拆下
BR1
这个电阻。
DAC1 and DAC2
通过
analogWrite()
函数提供
12
位精度的模拟输出
(4096
个等级
) .
可以通过
Audio
库创建音频输出。
其他引脚
:
AREF
模拟输入参考电压。通过
analogReference()
使用。
Reset
接低复位控制器。典型应用是通过该脚来连接扩展板上的复位按键。
通信
Arduino Due
可以通过多种方式与电脑、其他
arduino
或者其他控制器通信
,
也可以和其他不同的设备通信,像手机、平板、相机等等。
SAM3X
提供一组硬件
UART
和
3
组
TTL (3.3V)
电平的
UARTs
来进行串行通信。
程序下载接口连接着
ATmega16U2,
他虚拟了一个
COM
口在
(Windows
需要一个
.inf
文件来识别该设备
,
而
OSX
和
Linux
可以自动识别
). SAM3X
的硬件
UART
也连接着
ATmega16U2
。 串口
RX0
和
TX0
通过
ATmega16U2
提供了用于下载程序的串口转
USB
通信。
ArduinoIDE
包含了一个串口监视器, 可以通过串口监视发送或接收简单的数据。当数据通过
16U2
传输时 或者
USB
连接电脑时(并不是
0
,
1
上的串口通信),板子上的
RX
和
TX
两个
LED
会闪烁。
原生的
USB
口虚拟串行
CDC
通信,这样可以提供一个串口,与串口监视器 或者 你电脑上其他应用相连。这个
USB
口也可以用来模拟一个
USB
鼠标或者键盘。要使用这个功能,请查看鼠标键盘库支持页面 。这个原生
USB
口也可以作为
USB
主机去连接其他外设,如鼠标
,
键盘、智能手机
.
要使用这个功能, 请查看
USBHost
支持页面。
SAM3X
也支持
TWI
和
SPI
通信
.
。
ArduinoIDE
中可以通过
Wire
库轻而易举的使用
TWI
总线;使用
SPI
库可以进行
SPI
通信,细节方面请查看
SPI
支持页面。
编程
Arduino Due
通过
ArduinoIDE
中的
“
download
”
下载程序
.
。在
SAM3X
的
arduino
上 上传程序和
AVR
控制器有所不同,这是因为
flash
在上传程序前,需要被擦写。
SAM3X
的
ROM
中的程序会进行上传任务,但运行该程序的前提是
SAM3X
的
flash
空间是空的。
两个
USB
接口都可以给
Due
下载程序
,
由于芯片擦除方式的影响,更推荐使用编程端口:
编程端口
:
使用这个端口下载
,
你需要在
arduinoIDE
中选择
"Arduino Due (Programming Port)"
作为你的板子。连接编程端口
(
靠近
DC
座的那一个
)
到你的电脑。编程端口使用
16U2
来作为
USB
转
serial
连接到
SAM3X
的第一
UART(RX0 and TX0)
。
16U2
上有两个针连接到连接到
SAM3X
的复位和擦除脚。在
1200
波特率下,打开和关闭串口会触发
SAM3X
的硬擦写程序,在通信之前通过串口触发
SAM3X
的擦写和复位引脚。推荐使用这个端口,上传程序到
arduino
。相对于使用原生
USB
端口软擦写芯片,使用编程端口硬擦写更稳定可靠。即使主芯片坏了,该端口仍旧会工作。
原生端口
:
使用这个端口下载
,
你需要在
arduinoIDE
中选择
"Arduino Due (Native USB Port)"
作为你的板子。连接原生
USB
端口
(
靠近复位按键的那一个
)
到你的电脑。在
1200
波特兰下,打开和关闭串口会触发
SAM3X
的软擦写程序:
flash
空间被擦写、程序倒转到
bootloader
区。如果主芯片损坏,软擦写程序 会不工作,这是因为该程序完全在
SAM3X
上。开关原生
USB
端口
baudrate
不会复位
SAM3X
。
不同于其他的
Arduino
控制器使用
avrdude
上传程序
, Due
上传程序依赖于
bossac
。
ATmega16U2
固件源码能在
arduino
库中找到。你可以使用外部编程器,通过
ISP
接口烧写固件
(
覆盖
DFU bootloader)
。更多信息请参考相关文档。
USB
过流保护
Arduino Due
上有一个自恢复保险丝,短路或者过流时,可以自动断开,从而保护你的电脑
USB.
。大部分电脑都带有内部过流保护,这个保险丝可以提供一层额外保护。 当电流大于
500MA
时,这个保险丝会自动断开,直到没有过载或者短路现象。
外形和扩展板兼容性
这段我真不想翻译了,和
2560
的外形一样。扩展板兼容考虑下电平就好。
翻译自
XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+20
科创币
发热门诊
2013/09/03
高质量发帖
来自:
电子信息
/
电子技术
1
0
全部
只看作者
全部
只看作者
在列表中查看
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
编辑
删除
{{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
保存
取消
我也是有底线的
保存中...
保存