Arduino Due 是一塊基于 Atmel SAM3X8E CPU的微控制器板.它是第一塊基于32位ARM的Arduino. 和之前的ArduinoMega非常類似,它有54個數字IO口(其中12個可用于PWM輸出),12個模擬輸入口,4路UART硬件串口。但是它的時鐘頻率達到84 MHz, 還有一個USB OTG接口, 兩路DAC(模數轉換),兩路TWI。Arduino Due最大的變化是它的工作電壓為3.3V。IO口可承載電壓也為3.3V。因此它不兼容原來的為5V設計的Shield和外設。不恰當的連接5V電源和外設可能會燒毀Arduino DUE,請在使用前檢查好電壓。
如果您在選型方面有所困惱,可以查看我們的Arduino官方控制器選型指南。
更多比較可見:Arduino 選型指南
ARM核心的優勢使用32位ARM核心的Due相較于以往的使用8位AVR核心的其他Arduino更強大。
主要的差別有:
技術規格-
控制器 AT91SAM3X8E
-
工作電壓 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
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)
-
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目前的IDE并不提供該API
-
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庫創建音頻輸出。
Arduino Due通過最新的Arduino IDE1.5下載,首先選中的“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)。更多信息請參考相關文檔。
-
嵌入式主板
+關注
關注
7文章
6086瀏覽量
35476 -
DFRobot
+關注
關注
4文章
1158瀏覽量
9587
發布評論請先 登錄
相關推薦
評論