查看SKU:RB-01C043 Arduino Due的源代码
←
SKU:RB-01C043 Arduino Due
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
[[文件:RB-01C043.jpg|500px|缩略图|右]] ==产品概述== Arduino Due 是一块基于 Atmel SAM3X8E CPU的微控制器板.该款控制器为美国电子巨头Sparkfun Electronic原装进口产品。它是第一块基于 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扩展板。 ==规格参数== # 微控制器 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 ==使用方法== ===处理器=== ARM核心的优势<br/> 使用32位ARM核心的Due相较于以往的使用8位AVR核心的其他arduino更强大。明显的差别有:<br/> 32位核心在一个时钟能处理32位的数据;<br/> 84Mhz的CPU时钟频率;<br/> 96 KBytes的SRAM;<br/> 512 KBytes的Flash;<br/> 一个DMA控制器, 他能减轻 CPU做大量运算时的压力。<br/> ===电源=== Arduino Due可以通过Micro USB接口或外接电源供电,电源可以自动被选择。<br/> 外部(非USB)电源可以用AC-DC适配器(wall-wart)或电池。 适配器可以插在一个2.1毫米规格中心是正极的电源插座上,以此连接到控制器电源。控制器能支持6到20V电压输入。如果输入电压低于7V, 5V引脚可能得到的电压会低于5V,控制器运行可能会不稳定。如果使用输入电压超过12V, 可能会造成控制器过热,甚至损坏损坏。推荐输入电压范围为7到12V。电源相关引脚如下:<br/> VIN. Arduino 使用外部电源时的输入电压引脚(你可以通过这个引脚供电,或者当DC座供电时,通过这个引脚使用DC电源)<br/> 5V. 通过板载稳压芯片输出的5V的电压引脚。你可以从DC电源口、USB、VIN三处给控制器供电。也可以绕过稳压IC,直接从5V、3V3引脚供电,但不建议这样使用。<br/> 3.3V. 通过板载稳压芯片输出的3.3V的电压引脚。 最大电流800 mA。该电压也是 SAM3X 的工作电压.<br/> GND. 接地引脚。<br/> IOREF. 该引脚提供arduino微控制器的工作参考电压. 一个适合的arduino扩展板能够读取 IOREF 引脚电压选择合适的电源, 或者提供3.3V或5V的电平转换。<br/> ===存储空间=== SAM3X有512 KB (两块256 KB)用于存储用户程序的Flash空间。ATMEL已经在生产芯片时,将bootloader预烧写进了ROM里. SRAM有96 KB,由两个连续空间64 KB和32 KB组成. 所有可用存储空间 (Flash, RAM 和 ROM) 都可以直接寻址。你可以通过板子上的擦写按钮,擦除SAM3X 的 Flash 中的数据. 这个操作将删除当前加载的项目. 在通电状态下,按住擦写按钮几秒钟,即可擦写。<br/> ===输入和输出 === 1.Digital I/O: 0至53号引脚<br/> 使用pinMode(), digitalWrite(), anddigitalRead() 函数,每一个IO都可以作为输入输出端口。他们工作在3.3V。每一个IO都可以输出 3 mA 或者 15 mA电流,或者输入6 mA 或者 9 mA电流。他们也都有100K 欧 的内部上拉电阻 (默认状态下不上拉)。另外,一些引脚有特殊功能:<br/> Serial: 0 (RX) and 1 (TX)<br/> Serial 1: 19 (RX) and 18 (TX)<br/> Serial 2: 17 (RX) and 16 (TX)<br/> Serial 3: 15 (RX) and 14 (TX) <br/> 串口发送接受端口(工作在3.3V电平). 其中0,1连接到了 ATmega16U2 的对应串口上,用于USB转UART通信.<br/> 2.PWM: 引脚 2 to 13 <br/> 使用analogWrite()函数提供8位的 PWM 输出. 可以通过analogWriteResolution() 函数改变PWM输出精度。<br/> 3.SPI: SPI接口 (在其他arduino上称作ICSP接口)<br/> 可以通过SPI库是SPI接口用于通信。SPI 引脚已经引出到了6针接口位置, 可以和 Uno、Leonardo、Mega2560兼容. 这个SPI针仅用于和其他SPI设备通信,不能用于 SAM3X 的程序烧写。Due的SPI可以通过Due专用的扩展库来使用其高级特性。<br/> 4.CAN: CANRX 和 CANTX <br/> 硬件支持CAN,但arduino目前并不提供该API<br/> 5."L" LED: 13 <br/> 有一个内置的LED在数字脚13上,当引脚是高电平事,LED亮,引脚为低电平时,LED不亮。因为13脚带有PWM输出功能,因此可以进行亮度调节。<br/> TWI 1: 20 (SDA) 和 21 (SCL)<br/> TWI 2: SDA1 和 SCL1. <br/> 支持使用Wire库来进行TWI通信<br/> 6.模拟输入: A0 到 A11 <br/> Arduino Due有12路模拟输入端, 每一路都有12位精度(0-4095)。默认情况下, 模拟输入精度为10位, 和其他型号的 Arduino 控制器一样。通过<br/> analogReadResolution()你可以改变ADC的采样精度. Due的 analog inputs引脚测量范围为 0 至 3.3V。如果测量高于3.3V电压,可能会烧坏 SAM3X。<br/> analogReference() 函数在Due上是无效的.<br/> 7.AREF 引脚通过一个电阻桥接到 SAM3X 模拟参考脚. 如果要使用 AREF 脚, 你需要先从PCB上拆下BR1这个电阻。<br/> 8.DAC1 and DAC2 <br/> 通过analogWrite() 函数提供12位精度的模拟输出 (4096个等级) . 可以通过Audio库创建音频输出。<br/> ===其他引脚=== 1.AREF <br/> 模拟输入参考电压。通过analogReference()使用。<br/> 2.Reset <br/> 接低复位控制器。典型应用是通过该脚来连接扩展板上的复位按键。<br/> ===通信=== Arduino Due 可以通过多种方式与电脑、其他arduino 或者其他控制器通信, 也可以和其他不同的设备通信,像手机、平板、相机等等。SAM3X提供一组硬件UART和3组TTL (3.3V) 电平的UARTs 来进行串行通信。<br/> 程序下载接口连接着 ATmega16U2, 他虚拟了一个COM口在(Windows需要一个 .inf文件来识别该设备, 而OSX 和 Linux 可以自动识别). SAM3X 的硬件UART也连接着ATmega16U2。 串口 RX0和TX0通过ATmega16U2 提供了用于下载程序的串口转USB通信。ArduinoIDE包含了一个串口监视器, 可以通过串口监视发送或接收简单的数据。当数据通过16U2传输时 或者 USB连接电脑时(并不是0,1上的串口通信),板子上的RX和TX两个LED会闪烁。<br/> 原生的USB口虚拟串行CDC通信,这样可以提供一个串口,与串口监视器 或者 你电脑上其他应用相连。这个USB口也可以用来模拟一个 USB鼠标或者键盘。要使用这个功能,请查看鼠标键盘库支持页面 。这个原生USB口也可以作为USB 主机去连接其他外设,如鼠标, 键盘、智能手机. 要使用这个功能, 请查看USBHost支持页面。 SAM3X 也支持TWI和SPI通信.。ArduinoIDE中可以通过Wire库轻而易举的使用TWI总线;使用SPI库可以进行SPI通信,细节方面请查看SPI支持页面。<br/> ===编程=== Arduino Due通过ArduinoIDE中的“download”下载程序.。在SAM3X的arduino上 上传程序和AVR控制器有所不同,这是因为flash在上传程序前,需要被擦写。 SAM3X 的ROM中的程序会进行上传任务,但运行该程序的前提是SAM3X的flash空间是空的。虽然两个USB接口都可以给Due下载程序, 但是由于芯片擦除方式的影响,更推荐使用编程端口<br/> ====编程端口==== 使用这个端口下载, 你需要在arduinoIDE中选择"Arduino Due (Programming Port)"作为你的板子。连接编程端口 (靠近DC座的那一个) 到你的电脑。编程端口使用16U2来作为USB转serial连接到SAM3X 的第一UART(RX0 and TX0)。16U2上有两个针连接到连接到SAM3X的复位和擦除脚。在1200波特率下,打开和关闭串口会触发SAM3X的硬擦写程序,在通信之前通过串口触发 SAM3X 的擦写和复位引脚。推荐使用这个端口,上传程序到arduino。相对于使用原生USB端口软擦写芯片,使用编程端口硬擦写更稳定可靠。即使主芯片坏了,该端口仍旧会工作。<br/> ====原生端口==== 使用这个端口下载, 你需要在arduinoIDE中选择 "Arduino Due (Native USB Port)" 作为你的板子。连接原生USB端口 (靠近复位按键的那一个) 到你的电脑。在1200波特兰下,打开和关闭串口会触发SAM3X的软擦写程序:flash空间被擦写、程序倒转到bootloader区。如果主芯片损坏,软擦写程序 会不工作,这是因为该程序完全在SAM3X 上。开关原生USB端口baudrate 不会复位SAM3X。<br/> 不同于其他的Arduino控制器使用avrdude上传程序, Due上传程序依赖于 bossac。<br/> ATmega16U2固件源码能在arduino库中找到。你可以使用外部编程器,通过ISP接口烧写固件 (覆盖DFU bootloader)。<br/> ===USB过流保护=== Arduino Due上有一个自恢复保险丝,短路或者过流时,可以自动断开,从而保护你的电脑USB。大部分电脑都带有内部过流保护,这个保险丝可以提供一层额外保护。 当电流大于500MA时,这个保险丝会自动断开,直到没有过载或者短路现象。<br/> ==产品相关推荐== [[文件:erweima.png|230px|无框|右]] ===产品购买地址=== [http://www.alsrobot.cn/goods-457.html Arduino Due ARM级控制器]<br/> ===周边产品推荐=== [https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-3667083713.9.xsrcQH&id=4429094763 Arduino MEGA Sensor Shield V2.0 专用传感器扩展板]<br/> ===相关问题解答=== [http://www.makerspace.cn/thread-4387-1-1.html Arduino DUE 和Arduino WiFi Shield的配合使用]<br/> ===相关学习资料=== [http://pan.baidu.com/s/1c02o9gs Arduino Due Eagle设计参考文件下载]<br/> [https://www.arduino.cc/en/uploads/Main/arduino-Due-schematic.pdf Arduino Due 电路原理图文件 PDF 版本]<br/> [https://www.arduino.cc/en/Guide/ArduinoDue Getting started with the Arduino Due]<br/> [http://v.youku.com/v_show/id_XNDkyNDU4MDk2.html Arduino Due 超级说明书 - 起步教程]<br/> [https://www.arduino.cc/en/Main/ArduinoBoardDue Arduino 官网关于Arduino Due的介绍]<br/> [http://www.makerspace.cn/portal.php 奥松机器人技术论坛]<br/>
返回
SKU:RB-01C043 Arduino Due
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面
页面信息