“(SKU:RB-01C043)Arduino Due ARM級(jí)控制器”的版本間的差異

來(lái)自ALSROBOT WiKi
跳轉(zhuǎn)至: 導(dǎo)航搜索
?相關(guān)學(xué)習(xí)資料
?相關(guān)學(xué)習(xí)資料
第92行: 第92行:
 
===相關(guān)學(xué)習(xí)資料===
 
===相關(guān)學(xué)習(xí)資料===
 
[http://v.youku.com/v_show/id_XNDkyNDU4MDk2.html Arduino Due 超級(jí)說(shuō)明書(shū) - 起步教程]<br/>
 
[http://v.youku.com/v_show/id_XNDkyNDU4MDk2.html Arduino Due 超級(jí)說(shuō)明書(shū) - 起步教程]<br/>
?
[https://www.arduino.cc/en/Main/ArduinoBoardDue Arduino 官網(wǎng)關(guān)于A(yíng)rduino Due的介紹]
+
[https://www.arduino.cc/en/Main/ArduinoBoardDue Arduino 官網(wǎng)關(guān)于A(yíng)rduino Due的介紹]<br/>
 
[http://www.makerspace.cn/portal.php 奧松機(jī)器人技術(shù)論壇]<br/>
 
[http://www.makerspace.cn/portal.php 奧松機(jī)器人技術(shù)論壇]<br/>

2015年9月12日 (六) 10:12的版本

RB-01C043.jpg

目錄

產(chǎn)品概述

Arduino Due 是一塊基于 Atmel SAM3X8E CPU的微控制器板.該款控制器為美國(guó)電子巨頭Sparkfun Electronic原裝進(jìn)口產(chǎn)品。它是第一塊基于 32位ARM核心的arduino. 它有54個(gè)數(shù)字IO口 (其中12個(gè)可用于PWM輸出),12個(gè)模擬輸入口,4路UART硬件串口, 84 MHz的時(shí)鐘頻率, 一個(gè)USB OTG接口, 兩路DAC(模數(shù)轉(zhuǎn)換),兩路TWI,一個(gè)電源插座,一個(gè)SPI接口,一個(gè)JTAG接口,一個(gè)復(fù)位按鍵和一個(gè)擦寫(xiě)按鍵。不同于其他arduino,arduino due的工作電壓為3.3V。IO口可承載電壓也為3.3V。如果你使用更大的電壓,比如5V到一個(gè)IO口,可能會(huì)燒了芯片。電路板上已經(jīng)包含控制運(yùn)行所需的各種部件,你僅需要通過(guò)USB連接到電腦 或者 通過(guò)AC-DC適配器、電池連接到電源插座就可以讓控制器開(kāi)始運(yùn)行。arduino due兼容工作在3.3V且引腳排列符合1.0 arduino標(biāo)準(zhǔn)的arduino擴(kuò)展板。

規(guī)格參數(shù)

  1. 微控制器 AT91SAM3X8E
  2. 工作電壓 Voltage 3.3V
  3. 輸入電壓(推薦) 7-12V
  4. 輸入電壓(限制) 6-20V
  5. 數(shù)字I/O引腳 54 (其中12路PWM輸出)
  6. 模擬輸入通道 Pins 12
  7. 模擬輸出通道 Pins 2 (DAC)
  8. IO口總輸出電流 130 mA
  9. 3.3V端口輸出能力 800 mA
  10. 5V端口輸出能力 800 mA
  11. Flash 512 KB (所有空間都可以?xún)?chǔ)存用戶(hù)程序)
  12. SRAM 96 KB (兩個(gè)部分: 64KB and 32KB)
  13. 時(shí)鐘速率 84 MHz

使用方法

處理器

ARM核心的優(yōu)勢(shì)
使用32位ARM核心的Due相較于以往的使用8位AVR核心的其他arduino更強(qiáng)大。明顯的差別有:
32位核心在一個(gè)時(shí)鐘能處理32位的數(shù)據(jù);
84Mhz的CPU時(shí)鐘頻率;
96 KBytes的SRAM;
512 KBytes的Flash;
一個(gè)DMA控制器, 他能減輕 CPU做大量運(yùn)算時(shí)的壓力。

電源

Arduino Due可以通過(guò)Micro USB接口或外接電源供電,電源可以自動(dòng)被選擇。
外部(非USB)電源可以用AC-DC適配器(wall-wart)或電池。 適配器可以插在一個(gè)2.1毫米規(guī)格中心是正極的電源插座上,以此連接到控制器電源。控制器能支持6到20V電壓輸入。如果輸入電壓低于7V, 5V引腳可能得到的電壓會(huì)低于5V,控制器運(yùn)行可能會(huì)不穩(wěn)定。如果使用輸入電壓超過(guò)12V, 可能會(huì)造成控制器過(guò)熱,甚至損壞損壞。推薦輸入電壓范圍為7到12V。電源相關(guān)引腳如下:
VIN. Arduino 使用外部電源時(shí)的輸入電壓引腳(你可以通過(guò)這個(gè)引腳供電,或者當(dāng)DC座供電時(shí),通過(guò)這個(gè)引腳使用DC電源)
5V. 通過(guò)板載穩(wěn)壓芯片輸出的5V的電壓引腳。你可以從DC電源口、USB、VIN三處給控制器供電。也可以繞過(guò)穩(wěn)壓IC,直接從5V、3V3引腳供電,但不建議這樣使用。
3.3V. 通過(guò)板載穩(wěn)壓芯片輸出的3.3V的電壓引腳。 最大電流800 mA。該電壓也是 SAM3X 的工作電壓.
GND. 接地引腳。
IOREF. 該引腳提供arduino微控制器的工作參考電壓. 一個(gè)適合的arduino擴(kuò)展板能夠讀取 IOREF 引腳電壓選擇合適的電源, 或者提供3.3V或5V的電平轉(zhuǎn)換。

存儲(chǔ)空間

SAM3X有512 KB (兩塊256 KB)用于存儲(chǔ)用戶(hù)程序的Flash空間。ATMEL已經(jīng)在生產(chǎn)芯片時(shí),將bootloader預(yù)燒寫(xiě)進(jìn)了ROM里. SRAM有96 KB,由兩個(gè)連續(xù)空間64 KB和32 KB組成. 所有可用存儲(chǔ)空間 (Flash, RAM 和 ROM) 都可以直接尋址。你可以通過(guò)板子上的擦寫(xiě)按鈕,擦除SAM3X 的 Flash 中的數(shù)據(jù). 這個(gè)操作將刪除當(dāng)前加載的項(xiàng)目. 在通電狀態(tài)下,按住擦寫(xiě)按鈕幾秒鐘,即可擦寫(xiě)。

輸入和輸出

1.Digital I/O: 0至53號(hào)引腳
使用pinMode(), digitalWrite(), anddigitalRead() 函數(shù),每一個(gè)IO都可以作為輸入輸出端口。他們工作在3.3V。每一個(gè)IO都可以輸出 3 mA 或者 15 mA電流,或者輸入6 mA 或者 9 mA電流。他們也都有100K 歐 的內(nèi)部上拉電阻 (默認(rèn)狀態(tài)下不上拉)。另外,一些引腳有特殊功能:
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)
串口發(fā)送接受端口(工作在3.3V電平). 其中0,1連接到了 ATmega16U2 的對(duì)應(yīng)串口上,用于USB轉(zhuǎn)UART通信.
2.PWM: 引腳 2 to 13
使用analogWrite()函數(shù)提供8位的 PWM 輸出. 可以通過(guò)analogWriteResolution() 函數(shù)改變PWM輸出精度。
3.SPI: SPI接口 (在其他arduino上稱(chēng)作ICSP接口)
可以通過(guò)SPI庫(kù)是SPI接口用于通信。SPI 引腳已經(jīng)引出到了6針接口位置, 可以和 Uno、Leonardo、Mega2560兼容. 這個(gè)SPI針僅用于和其他SPI設(shè)備通信,不能用于 SAM3X 的程序燒寫(xiě)。Due的SPI可以通過(guò)Due專(zhuān)用的擴(kuò)展庫(kù)來(lái)使用其高級(jí)特性。
4.CAN: CANRX 和 CANTX
硬件支持CAN,但arduino目前并不提供該API
5."L" LED: 13
有一個(gè)內(nèi)置的LED在數(shù)字腳13上,當(dāng)引腳是高電平事,LED亮,引腳為低電平時(shí),LED不亮。因?yàn)?3腳帶有PWM輸出功能,因此可以進(jìn)行亮度調(diào)節(jié)。
TWI 1: 20 (SDA) 和 21 (SCL)
TWI 2: SDA1 和 SCL1.
支持使用Wire庫(kù)來(lái)進(jìn)行TWI通信
6.模擬輸入: A0 到 A11
Arduino Due有12路模擬輸入端, 每一路都有12位精度(0-4095)。默認(rèn)情況下, 模擬輸入精度為10位, 和其他型號(hào)的 Arduino 控制器一樣。通過(guò)
analogReadResolution()你可以改變ADC的采樣精度. Due的 analog inputs引腳測(cè)量范圍為 0 至 3.3V。如果測(cè)量高于3.3V電壓,可能會(huì)燒壞 SAM3X。
analogReference() 函數(shù)在Due上是無(wú)效的.
7.AREF 引腳通過(guò)一個(gè)電阻橋接到 SAM3X 模擬參考腳. 如果要使用 AREF 腳, 你需要先從PCB上拆下BR1這個(gè)電阻。
8.DAC1 and DAC2
通過(guò)analogWrite() 函數(shù)提供12位精度的模擬輸出 (4096個(gè)等級(jí)) . 可以通過(guò)Audio庫(kù)創(chuàng)建音頻輸出。

其他引腳

1.AREF
模擬輸入?yún)⒖茧妷骸Mㄟ^(guò)analogReference()使用。
2.Reset
接低復(fù)位控制器。典型應(yīng)用是通過(guò)該腳來(lái)連接擴(kuò)展板上的復(fù)位按鍵。

通信

Arduino Due 可以通過(guò)多種方式與電腦、其他arduino 或者其他控制器通信, 也可以和其他不同的設(shè)備通信,像手機(jī)、平板、相機(jī)等等。SAM3X提供一組硬件UART和3組TTL (3.3V) 電平的UARTs 來(lái)進(jìn)行串行通信。
程序下載接口連接著 ATmega16U2, 他虛擬了一個(gè)COM口在(Windows需要一個(gè) .inf文件來(lái)識(shí)別該設(shè)備, 而OSX 和 Linux 可以自動(dòng)識(shí)別). SAM3X 的硬件UART也連接著ATmega16U2。 串口 RX0和TX0通過(guò)ATmega16U2 提供了用于下載程序的串口轉(zhuǎn)USB通信。ArduinoIDE包含了一個(gè)串口監(jiān)視器, 可以通過(guò)串口監(jiān)視發(fā)送或接收簡(jiǎn)單的數(shù)據(jù)。當(dāng)數(shù)據(jù)通過(guò)16U2傳輸時(shí) 或者 USB連接電腦時(shí)(并不是0,1上的串口通信),板子上的RX和TX兩個(gè)LED會(huì)閃爍。
原生的USB口虛擬串行CDC通信,這樣可以提供一個(gè)串口,與串口監(jiān)視器 或者 你電腦上其他應(yīng)用相連。這個(gè)USB口也可以用來(lái)模擬一個(gè) USB鼠標(biāo)或者鍵盤(pán)。要使用這個(gè)功能,請(qǐng)查看鼠標(biāo)鍵盤(pán)庫(kù)支持頁(yè)面 。這個(gè)原生USB口也可以作為USB 主機(jī)去連接其他外設(shè),如鼠標(biāo), 鍵盤(pán)、智能手機(jī). 要使用這個(gè)功能, 請(qǐng)查看USBHost支持頁(yè)面。 SAM3X 也支持TWI和SPI通信.。ArduinoIDE中可以通過(guò)Wire庫(kù)輕而易舉的使用TWI總線(xiàn);使用SPI庫(kù)可以進(jìn)行SPI通信,細(xì)節(jié)方面請(qǐng)查看SPI支持頁(yè)面。

編程

Arduino Due通過(guò)ArduinoIDE中的“download”下載程序.。在SAM3X的arduino上 上傳程序和AVR控制器有所不同,這是因?yàn)閒lash在上傳程序前,需要被擦寫(xiě)。 SAM3X 的ROM中的程序會(huì)進(jìn)行上傳任務(wù),但運(yùn)行該程序的前提是SAM3X的flash空間是空的。雖然兩個(gè)USB接口都可以給Due下載程序, 但是由于芯片擦除方式的影響,更推薦使用編程端口

編程端口

使用這個(gè)端口下載, 你需要在arduinoIDE中選擇"Arduino Due (Programming Port)"作為你的板子。連接編程端口 (靠近DC座的那一個(gè)) 到你的電腦。編程端口使用16U2來(lái)作為USB轉(zhuǎn)serial連接到SAM3X 的第一UART(RX0 and TX0)。16U2上有兩個(gè)針連接到連接到SAM3X的復(fù)位和擦除腳。在1200波特率下,打開(kāi)和關(guān)閉串口會(huì)觸發(fā)SAM3X的硬擦寫(xiě)程序,在通信之前通過(guò)串口觸發(fā) SAM3X 的擦寫(xiě)和復(fù)位引腳。推薦使用這個(gè)端口,上傳程序到arduino。相對(duì)于使用原生USB端口軟擦寫(xiě)芯片,使用編程端口硬擦寫(xiě)更穩(wěn)定可靠。即使主芯片壞了,該端口仍舊會(huì)工作。

原生端口

使用這個(gè)端口下載, 你需要在arduinoIDE中選擇 "Arduino Due (Native USB Port)" 作為你的板子。連接原生USB端口 (靠近復(fù)位按鍵的那一個(gè)) 到你的電腦。在1200波特蘭下,打開(kāi)和關(guān)閉串口會(huì)觸發(fā)SAM3X的軟擦寫(xiě)程序:flash空間被擦寫(xiě)、程序倒轉(zhuǎn)到bootloader區(qū)。如果主芯片損壞,軟擦寫(xiě)程序 會(huì)不工作,這是因?yàn)樵摮绦蛲耆赟AM3X 上。開(kāi)關(guān)原生USB端口baudrate 不會(huì)復(fù)位SAM3X。
不同于其他的Arduino控制器使用avrdude上傳程序, Due上傳程序依賴(lài)于 bossac。
ATmega16U2固件源碼能在arduino庫(kù)中找到。你可以使用外部編程器,通過(guò)ISP接口燒寫(xiě)固件 (覆蓋DFU bootloader)。

USB過(guò)流保護(hù)

Arduino Due上有一個(gè)自恢復(fù)保險(xiǎn)絲,短路或者過(guò)流時(shí),可以自動(dòng)斷開(kāi),從而保護(hù)你的電腦USB。大部分電腦都帶有內(nèi)部過(guò)流保護(hù),這個(gè)保險(xiǎn)絲可以提供一層額外保護(hù)。 當(dāng)電流大于500MA時(shí),這個(gè)保險(xiǎn)絲會(huì)自動(dòng)斷開(kāi),直到?jīng)]有過(guò)載或者短路現(xiàn)象。

產(chǎn)品相關(guān)推薦

Erweima.png

產(chǎn)品購(gòu)買(mǎi)地址

購(gòu)買(mǎi)地址:Arduino Due ARM級(jí)控制器

周邊產(chǎn)品推薦

Arduino MEGA Sensor Shield V2.0 專(zhuān)用傳感器擴(kuò)展板

相關(guān)問(wèn)題解答

Arduino DUE 和Arduino WiFi Shield的配合使用

相關(guān)學(xué)習(xí)資料

Arduino Due 超級(jí)說(shuō)明書(shū) - 起步教程
Arduino 官網(wǎng)關(guān)于A(yíng)rduino Due的介紹
奧松機(jī)器人技術(shù)論壇