相關視頻:
VGA輸出測試:http://v.youku.com/v_show/id_XNDk4MTI1Nzky.html
http://arduino.cc/forum/index.php?PHPSESSID=270219f813fc400ed25449d4bf34f41a&/topic,130742.msg1006494.html#msg1006494
Arduino Due 參數:
- 處理器 AT91SAM3X8EA
- 工作電壓 3.3V
- 輸入電壓 7-12V
- 輸入電壓 (極限)6-20V
- 數字 I/O 口 54 個 ( 12 個 PWM 輸出)
- 模擬輸入引腳 12 個
- 模擬輸出引腳 2 (數模轉換)
- 排母 I/O 口直流輸出總電流 130mA
- 3.3V 電源引腳可提供800 mA 電流
- 5V 電源引腳可一同800 mA 電流
- 內部閃存容量 512KB
- SRAM96 KB (two banks: 64KB and 32KB)
- 時鐘頻率84 MHz
相關下載:
- Arduino 最新測試版 IDE:
- Windows: https://github.com/downloads/arduino/Arduino/arduino-1.5-windows.zip
- Mac: https://github.com/downloads/arduino/Arduino/arduino-1.5-macosx.zip
注意事項:
Arduino Due 是一款特殊的 Arduino 產品,目前已知的 Due 兼容 Shield 並不多,主要是因為類庫有所差異,Due 與 Arduino MEGA 2560 的 引腳定義完全一致,但I/O口的供電參數有所不同,Arduino Due 官方網站有警告提示:http://arduino.cc/en/Main/ArduinoBoardDue
本店發貨前已對每一個 Due 進行嚴格的測試,請在使用前仔細閱讀 Arduino Due 官方網站相關說明及文檔,凡因操作不當導致 Due 損毀,本店概不負責
欲瞭解更多 Due 相關問題的解決,可搜索 Arduino 官方論壇: http://arduino.cc/forum/index.php/board,87.0.html
選擇了錯誤的 USB 下載端口,注意檢查 Arduino 1.5.x 軟件中,菜單欄 Board 中選擇與 USB 線實際與 Due 連接相符的下載端口
Due 例程:
- DUE 驅動 VGA 顯示器: http://www.thetonywang.com/2012/11/08/arduino-due-vga/
概述
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)或電池。 T適配器可以插在一個2.1毫米規格中心是正極的電源插座上,以此連接到控制器電源。 Leads from a battery can be inserted in the Gnd and Vin pin headers of the POWER connector.
The board can operate on an external supply of 6 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply less than five volts and the board may be unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts.The power pins are as follows:
VIN. Arduino 使用外部電源時的輸入電壓引腳(as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin, or if supplying voltage via the power jack, access it through this pin.
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: pins from 0 to 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時,這個保險絲會自動斷開,直到沒有過載或者短路現象。