Dự án Arduino cho tất cả mọi người. Arduino Trung Quốc DUE

Bo mạch Arduino đầu tiên dựa trên bộ vi điều khiển 32 bit với lõi ARM dựa trên bộ xử lý Atmel SAM3X8E ARM Cortex-M3. Với tốc độ xung nhịp 84 MHz và kiến ​​trúc 32 bit, nó có thể thực hiện hầu hết các thao tác trên số nguyên 4 byte trong một chu kỳ xung nhịp. Bảng mạch cung cấp 54 đầu vào/đầu ra kỹ thuật số (12 trong số đó có thể được sử dụng làm đầu raPWM), 12 đầu vào analog, 4 UART (cổng nối tiếp phần cứng), giao tiếp USB có hỗ trợOTG, 2 DAC (bộ chuyển đổi kỹ thuật số sang tương tự), 2 TWI, đầu nối nguồn, đầu nối SPI, đầu nối JTAG, nút đặt lại và nút xóa.

Kết nối và thiết lập

Để làm việc với nền tảng Arduino Due trên hệ điều hành Windows, hãy tải xuống và cài đặt môi trường phát triển tích hợp Arduino - Arduino IDE - trên máy tính của bạn.

Thêm một nền tảng

Yếu tố bảng

Vi điều khiển Atmel SAM3X8E ARM Cortex-M3

Trái tim của bo mạch Arduino Due là lõi ARM 32 bit AT91SAM3X8E với tốc độ xung nhịp 84 MHz, bộ nhớ flash 512 KB và RAM 96, vượt trội về hiệu năng của các bộ vi điều khiển 8 bit thông thường.

Vi điều khiển ATmega16U2

Bộ vi điều khiển ATmega16U2 tạo ra một cổng lập trình để liên lạc giữa bộ vi điều khiển SAM3X và cổng USB của máy tính. Khi kết nối với PC, Arduino Due được phát hiện dưới dạng cổng COM ảo. Chip 16U2 được flash lại thông qua đầu nối ICSP sử dụng trình điều khiển USB-COM tiêu chuẩn.

Chân nguồn

    số VIN:Điện áp từ nguồn điện bên ngoài (không liên quan đến 5V từ USB hoặc điện áp quy định khác). Thông qua chân này, bạn có thể vừa cấp nguồn bên ngoài vừa tiêu thụ dòng điện khi thiết bị được cấp nguồn từ bộ chuyển đổi bên ngoài.

    5V: Chân này nhận 5 V từ bộ điều chỉnh điện áp trên bo mạch, bất kể thiết bị được cấp nguồn như thế nào: từ bộ chuyển đổi (7–12 V), từ USB (5 V) hoặc qua chân VIN (7–12 V). Không nên cấp nguồn cho thiết bị qua đầu ra 5V - trong trường hợp này, không sử dụng bộ ổn áp, điều này có thể dẫn đến hỏng bo mạch.

    3,3V: 3,3 V từ bộ điều chỉnh điện áp bảng. Dòng điện tối đa - 800 mA. Bộ ổn định cũng cung cấp năng lượng cho bộ vi điều khiển SAM3X.

    GND: Kết luận của trái đất.

    IOREF: Chân này cung cấp cho bo mạch mở rộng thông tin về điện áp hoạt động của bộ vi điều khiển. Tùy thuộc vào điện áp trên đó, bo mạch mở rộng có thể chuyển sang nguồn điện thích hợp hoặc sử dụng bộ chuyển đổi mức, điều này sẽ cho phép nó hoạt động với cả thiết bị 5 V và 3,3 V.

Cổng vào/ra

Chú ý! Không giống như các bo mạch Arduino khác, Arduino Due hoạt động ở điện áp 3,3 V. Điện áp tối đa mà đầu vào/đầu ra có thể chịu được là 3,3 V. Việc đặt một điện áp, chẳng hạn như 5 V, vào các chân Arduino Due có thể làm hỏng bo mạch.

    Đầu vào/đầu ra kỹ thuật số: chân 0 – 53
    Mức logic của một là 3,3 V, 0 là 0 V. Dòng điện đầu ra tối đa là 3 hoặc 15 mA tùy thuộc vào đầu ra của vi điều khiển hoặc dòng điện đầu vào là 6 hoặc 9 mA. Các chân được kết nối với điện trở kéo lên 100 kOhm, điện trở này bị tắt theo mặc định nhưng có thể được bật bằng phần mềm.

    WM: chân 2 – 13
    Cho phép bạn xuất các giá trị tương tự dưới dạng tín hiệuPWM. Có thể thay đổi độ phân giải của xung bằng cách sử dụng hàm analogWriteResolution().

    ADC: chân A0 – A11
    12 đầu vào tương tự, mỗi đầu vào có thể biểu thị điện áp tương tự dưới dạng số 12 bit (4096 giá trị). Theo mặc định, độ sâu bit được đặt thành 10 bit để tương thích với các bo mạch khác. Độ phân giải ADC có thể được thay đổi bằng hàm analogReadResolution(). Đầu vào analog của bo mạch đo từ 0 đến giá trị tối đa là 3,3 V. Nếu đặt điện áp vượt quá 3,3 V vào đầu vào, điều này sẽ gây hư hỏng tinh thể SAM3X.

    TWI/I2C: chân 20(SDA), 21(SCL) và TWI 2/I²C 2: SDA1 và SCL1
    Để liên lạc với các thiết bị ngoại vi bằng giao thức đồng bộ, qua 2 dây. Để làm việc, hãy sử dụng thư viện Wire.

    SPI: Các chân SPI được định tuyến đến đầu nối 6 chân trung tâm, tương thích với Uno, Leonardo và Mega2560.
    Để chuyển qua giao diện SPI, hãy sử dụng thư viện SPI.

    UART: nối tiếp: chân 0(RX) và 1(TX); Nối tiếp1: chân 19(RX1) và 18(TX1); Nối tiếp2: chân 17(RX2) và 16(TX2); Nối tiếp3: chân 15(RX3) và 14(TX3).
    Các chân này được sử dụng để nhận dữ liệu (RX) và truyền (TX) qua giao diện nối tiếp. Các chân 0(RX) và 1(TX) được kết nối với các chân tương ứng của chip ATmega16U2, hoạt động như một bộ chuyển đổi USB-UART. Để giao tiếp với máy tính của bạn thông qua cổng lập trình của Arduino Due, hãy sử dụng lớp Serial.

    DAC1/DAC2: Các chân DAC DAC1 và DAC2 cung cấp đầu ra analog với độ phân giải 12 bit (4096 mức) bằng cách sử dụng hàm analogWrite(). Các chân này có thể được sử dụng làm đầu ra âm thanh bằng thư viện Âm thanh.

Chỉ báo LED

Lập trình kết nối USB

Đầu nối được thiết kế để flash nền tảng Arduino Due bằng máy tính. Để sử dụng cổng này, hãy chọn "Arduino Do (Cổng lập trình)" làm bo mạch của bạn trong Arduino IDE. Điều này cũng xóa phần sụn trước đó. Xóa cứng đáng tin cậy hơn "xóa mềm" xảy ra trên cổng USB gốc và sẽ hoạt động ngay cả khi bộ vi xử lý chính bị hỏng. Phần mềm Arduino bao gồm một màn hình bus nối tiếp cho phép máy tính trao đổi các tin nhắn văn bản đơn giản với bo mạch được kết nối qua USB lập trình bằng bộ điều khiển ATmega16U2.

Đầu nối USB gốc

Để sử dụng cổng này, hãy chọn loại bo mạch của bạn là "Arduino Do (Cổng USB gốc)" trong Arduino IDE. Cổng USB gốc được kết nối với SAM3X, từ đó cung cấp giao tiếp nối tiếp (CDC) qua USB, cung cấp kết nối với màn hình bus nối tiếp hoặc các ứng dụng khác trên máy tính của bạn. Việc mở và đóng cổng gốc ở tốc độ 1200 bps sẽ kích hoạt quy trình "xóa mềm": bộ nhớ flash bị xóa và bo mạch được khởi động lại bằng bộ nạp khởi động. Điều này cũng mang lại cho Do khả năng mô phỏng chuột hoặc bàn phím USB.

USB gốc cũng có thể hoạt động như một máy chủ USB cho các thiết bị ngoại vi được kết nối: chuột, bàn phím, v.v.

Đầu nối nguồn bên ngoài

Đầu nối để kết nối nguồn điện bên ngoài từ 7 V đến 12 V.

Đầu nối ICSP cho ATmega2560

Đầu nối ICSP được thiết kế để lập trình trong mạch của vi điều khiển ATmega2560. Ngoài ra, bằng cách sử dụng thư viện SPI, các chân này có thể giao tiếp với các bo mạch mở rộng thông qua giao diện SPI. Các đường SPI được định tuyến đến đầu nối 6 chân và cũng được sao chép trên các chân kỹ thuật số 50(MISO), 51(MOSI), 52(SCK) và 53(SS).

Đầu nối ICSP cho ATmega16U2

Đầu nối ICSP để lập trình trong mạch của vi điều khiển ATmega16U2.

Sơ đồ chân

Thông tin chung

Arduino Due là một thiết bị dựa trên bộ vi xử lý Atmel SAM3X8E ARM Cortex-M3 (bảng dữ liệu). Đây là bo mạch Arduino đầu tiên dựa trên bộ vi điều khiển ARM 32 bit. Nó bao gồm 54 chân kỹ thuật số (trong đó 12 chân có thể hoạt động như đầu raPWM), 12 đầu vào analog, 4 UART (bộ thu phát nối tiếp phần cứng), bộ tạo xung nhịp 84 MHz, USB có hỗ trợOTG, 2 DAC (bộ chuyển đổi kỹ thuật số sang tương tự), 2 TWI, đầu nối nguồn, đầu nối SPI, đầu nối JTAG, nút đặt lại và nút xóa bộ nhớ.

Lưu ý: không giống như các bo mạch Arduino khác, điện áp hoạt động của Arduino Due là 3,3V. Theo đó, điện áp tối đa mà các cực của nó có thể chịu được là 3,3V. Việc đặt điện áp cao hơn (ví dụ: 5V) vào chân cắm có thể khiến bo mạch bị hỏng.

Thiết bị bao gồm mọi thứ cần thiết để đảm bảo hoạt động của bộ vi điều khiển; Để bắt đầu, chỉ cần cấp nguồn từ bộ chuyển đổi AC/DC hoặc pin hoặc kết nối nó với máy tính của bạn qua cáp USB. Arduino Due tương thích với tất cả các board mở rộng hoạt động ở điện áp 3,3V và đáp ứng các yêu cầu về pinout 1.0:

  • Các chân SDA và SCL (TWI) được đặt gần chân AREF.
  • Có một chân IOREF cho phép các bo mạch mở rộng điều chỉnh theo điện áp hoạt động của Arduino. Nhờ đó, các bo mạch mở rộng có thể tương thích với cả Arduinos 3,3V (như Due) và Arduinos 5V dựa trên bộ vi điều khiển AVR.
  • Một đầu ra miễn phí được cung cấp, dành riêng cho các mục đích trong tương lai.

Lợi ích của việc sử dụng lõi ARM

Bằng cách sử dụng lõi ARM 32 bit, Arduino Due vượt trội hơn về nhiều mặt so với các bo mạch vi điều khiển 8 bit thông thường. Sự khác biệt đáng kể nhất là như sau:

  • Lõi 32 bit cho phép bạn xử lý dữ liệu 4 byte chỉ trong một chu kỳ xung nhịp. (Xem mô tả về kiểu int để biết thêm thông tin.)
  • Tần số đồng hồ - 84 MHz.
  • Dung lượng bộ nhớ SRAM là 96 KB.
  • Dung lượng bộ nhớ flash cho các chương trình là 512 KB.
  • Sự hiện diện của bộ điều khiển DMA cho phép bạn giảm bớt việc bộ xử lý trung tâm thực hiện các hoạt động sử dụng nhiều tài nguyên của bộ nhớ.

Sơ đồ, thiết kế ban đầu và sơ đồ chân

Đặc trưng

vi điều khiển AT91SAM3X8E
Điện áp hoạt động 3,3V
Điện áp cung cấp (khuyến nghị) 7-12V
Điện áp cung cấp (giới hạn) 6-16V
Đầu ra kỹ thuật số 54 (trong đó 12 có thể hoạt động như đầu raPWM)
Đầu vào analog 12
Đầu ra tương tự 2 (ĐẮC)
Tổng dòng điện đầu ra của tất cả các chân (tối đa) 130 mA
Dòng điện đầu ra pin tối đa 3,3V 800 mA
Dòng điện đầu ra pin tối đa 5V 800 mA
Bộ nhớ flash 512 KB hoàn toàn có sẵn cho các chương trình của người dùng
SRAM 96 KB (hai ngân hàng bộ nhớ: 64 KB và 32 KB)
Tần số đồng hồ 84 MHz

Dinh dưỡng

Arduino Due có thể được cấp nguồn từ USB hoặc từ nguồn điện bên ngoài - loại nguồn được chọn tự động.

Có thể sử dụng bộ điều hợp mạng AC/DC hoặc pin/pin làm nguồn điện bên ngoài (không phải USB). Phích cắm bộ chuyển đổi (đường kính - 2,1mm, tiếp điểm trung tâm - dương) phải được cắm vào đầu nối nguồn tương ứng trên bo mạch. Nếu được cấp nguồn bằng pin/pin thì dây của nó phải được kết nối với chân Gnd và Vin của đầu nối POWER.

Điện áp của nguồn điện bên ngoài có thể nằm trong khoảng từ 6 đến 20 V. Tuy nhiên, việc giảm điện áp nguồn xuống dưới 7V dẫn đến điện áp ở chân 5V giảm, có thể khiến thiết bị hoạt động không ổn định. Sử dụng điện áp lớn hơn 12V có thể dẫn đến bộ điều chỉnh điện áp quá nóng và hỏng bo mạch. Vì vậy, nên sử dụng nguồn điện có điện áp từ 7 đến 12V.

Sau đây là các chân nguồn nằm trên bo mạch:

  • số VINĐiện áp cung cấp cho Arduino trực tiếp từ nguồn điện bên ngoài (không liên quan đến 5V từ USB hoặc điện áp quy định khác). Thông qua chân này, bạn có thể vừa cấp nguồn bên ngoài vừa tiêu thụ dòng điện khi thiết bị được cấp nguồn từ bộ chuyển đổi bên ngoài.
  • 5V. Chân này nhận điện áp 5V từ bộ ổn áp trên bo mạch, bất kể thiết bị được cấp nguồn như thế nào: từ bộ chuyển đổi (7 - 12V), từ USB (5V) hoặc qua chân VIN (7 - 12V). Không nên cấp nguồn cho thiết bị qua chân 5V hoặc 3V3, vì trong trường hợp này không sử dụng bộ ổn áp, điều này có thể dẫn đến hỏng bo mạch.
  • 3V3. 3,3V đến từ bộ điều chỉnh điện áp trên bo mạch. Bộ ổn định này cũng cung cấp năng lượng cho bộ vi điều khiển SAM3X. Dòng điện tối đa được rút ra từ chân này là 800 mA.
  • GND. Kết luận của trái đất.
  • IOREF. Chân này cung cấp cho bo mạch mở rộng thông tin về điện áp hoạt động của bộ vi điều khiển Arduino. Tùy thuộc vào điện áp đọc từ chân IOREF, bo mạch mở rộng có thể chuyển sang nguồn điện phù hợp hoặc sử dụng bộ chuyển đổi mức, điều này sẽ cho phép nó hoạt động với cả thiết bị 5V và 3,3V.

Ký ức

Kích thước bộ nhớ flash của các chương trình vi điều khiển SAM3X là 512 KB (2 khối 256 KB). Thiết bị được sản xuất với bộ tải khởi động chương trình cơ sở nằm trong bộ nhớ ROM riêng. Bộ nhớ SRAM khả dụng là 96 KB, tương ứng với hai dãy bộ nhớ liền kề lần lượt là 64 KB và 32 KB. Tất cả bộ nhớ khả dụng (Flash, RAM và ROM) chia sẻ một không gian địa chỉ tuyến tính chung.

Nút xóa nằm trên bo mạch cho phép bạn xóa bộ nhớ Flash của vi điều khiển SAM3X và xóa chương trình hiện đang tải. Để làm điều này, bạn cần nhấn và giữ nó trong vài giây.

Đầu vào và đầu ra

  • Đầu vào/đầu ra kỹ thuật số: chân 0 - 53
  • Giao diện SPI: chân SPI(Đầu nối ICSP trên bo mạch Arduino)
  • Giao diện CAN: chân CANRX và CANTX

Các chân này hỗ trợ giao thức truyền thông CAN, nhưng hiện tại chưa có triển khai giao thức này trong API Arduino.

  • Đèn LED "L": chân 13

Đèn LED tích hợp kết nối với chân 13. Khi gửi giá trị CAO, đèn LED sẽ bật, khi gửi giá trị THẤP, đèn LED sẽ tắt. Ngoài ra, độ sáng của đèn LED có thể được điều chỉnh vì chân 13 có thể hoạt động như đầu ra xung điện.

  • Giao diện TWI 1: chân 20 (SDA) và 21 (SCL)
  • Giao diện TWI 2: chân SDA1 và SCL1

Các chân khác trên bảng:

  • AREF

Điện áp tham chiếu ADC. Được sử dụng bởi hàm analogReference().

  • Cài lại

Đẩy mức thấp (THẤP) trên chân này sẽ thiết lập lại vi điều khiển. Thông thường chân này được sử dụng để vận hành nút reset trên card mở rộng.

Sự liên quan

Arduino Due cung cấp một số tùy chọn để giao tiếp với máy tính, Arduino khác hoặc các bộ vi điều khiển khác, cũng như với nhiều thiết bị khác nhau như điện thoại, máy tính bảng, máy ảnh, v.v. Bộ vi điều khiển SAM3X có một UART phần cứng và ba USART phần cứng để thực hiện các giao diện nối tiếp với mức điện áp TTL là 3,3V.

Cổng lập trình USB trên bo mạch tương tác với chip ATmega16U2, hoạt động như một bộ chuyển đổi USB-UART, khi kết nối với máy tính, được định nghĩa là cổng COM ảo. (Để nhận dạng chính xác trên hệ thống Windows, bạn sẽ cần tệp .inf; trên hệ thống có OSX và LINUX, bo mạch được nhận dạng tự động). Chip 16U2 được kết nối với bộ thu phát UART phần cứng của vi điều khiển SAM3X. Để lập trình bộ vi điều khiển thông qua chip ATmega16U2, các chân RX0 và ​​TX0 được sử dụng. Gói phần mềm Arduino bao gồm một chương trình đặc biệt cho phép bạn đọc và gửi dữ liệu văn bản đơn giản tới Arduino. Khi truyền dữ liệu qua chip chuyển đổi USB-UART trong quá trình kết nối USB với máy tính, đèn LED RX và TX trên bo mạch sẽ nhấp nháy. (Khi dữ liệu nối tiếp được truyền qua chân 0 và 1 mà không sử dụng bộ chuyển đổi USB, các đèn LED này sẽ không được kích hoạt.)

Bộ vi điều khiển SAM3X cũng hỗ trợ giao diện nối tiếp TWI và SPI. Phần mềm Arduino bao gồm thư viện Wire, giúp làm việc với bus I2C dễ dàng hơn; Xem tài liệu để biết thêm chi tiết. Để làm việc với giao diện SPI, hãy sử dụng thư viện SPI.

Lập trình

Quá trình tải chương trình vào bộ vi điều khiển SAM3X khác với quá trình flash bộ vi điều khiển AVR được sử dụng trong các bo mạch Arduino khác. Điểm đặc biệt của SAM3X là để flash nó, trước tiên bạn phải xóa bộ nhớ Flash của bộ điều khiển. Nhu cầu này là do quá trình tải chương trình được điều khiển bởi bộ tải khởi động trong ROM SAM3X, ROM này chỉ được khởi chạy nếu chương trình không có trong bộ nhớ Flash của bộ vi điều khiển.

Vì vậy, bất kỳ cổng USB nào cũng có thể được sử dụng để flash bo mạch. Tuy nhiên, nên sử dụng cổng USB để lập trình (“Cổng lập trình” trong hình) do một số tính năng của quy trình xóa bộ nhớ vi điều khiển:

  • Cổng lập trình: Để sử dụng cổng này trong Arduino IDE làm bảng sản xuất, hãy chọn "Arduino Do (Cổng lập trình)". Kết nối Do với máy tính bằng cách cắm cáp USB vào cổng lập trình (nằm gần cổng nguồn nhất). Cổng lập trình tương tác với chip 16U2, hoạt động như một bộ chuyển đổi USB-UART. Ngược lại, chip 16U2 được kết nối với UART đầu tiên của vi điều khiển SAM3X (chân RX0 và ​​TX0), đồng thời điều khiển các chân Đặt lại và Xóa của nó. Khi cổng được mở và đóng ở tốc độ 1200 baud, một mức hoạt động sẽ được hình thành trên các chân Xóa và Đặt lại, dẫn đến việc xóa bộ nhớ của bộ vi điều khiển. Do đó, quy trình được gọi là “làm sạch phần cứng” được kích hoạt trước khi tương tác với SAM3X UART. Phương pháp này đáng tin cậy hơn so với "dọn dẹp phần mềm" khi sử dụng cổng USB tiêu chuẩn và hoạt động ngay cả khi bộ xử lý bị treo. Đây là lý do tại sao nên sử dụng cổng lập trình để flash firmware Arduino Due.
  • Cổng USB gốc: Để sử dụng cổng này trong Arduino IDE làm bảng mạch làm việc, hãy chọn "Arduino Due (Cổng USB ngây thơ)". Cổng USB tiêu chuẩn được kết nối trực tiếp với bộ vi điều khiển SAM3X. Kết nối Do với máy tính của bạn bằng cách kết nối cáp USB với đầu nối USB gốc (nằm gần nút đặt lại nhất). Việc mở và đóng cổng ở tốc độ 1200 baud sẽ kích hoạt quy trình "làm sạch phần mềm", trong đó bộ nhớ flash sẽ bị xóa, bộ vi điều khiển được khởi động lại và bộ nạp khởi động khởi động. Vì quy trình này được thực hiện độc quyền bởi chương trình của chính vi điều khiển SAM3X nên nếu vi điều khiển sau bị treo, quá trình làm sạch có thể không xảy ra. Đồng thời, việc mở/đóng cổng tiêu chuẩn ở các tốc độ khác nhau sẽ không giúp khởi động lại bộ vi điều khiển.

Không giống như các bo mạch Arduino khác được lập trình bằng avrdude, quá trình cài đặt phần mềm Arduino Due được thực hiện bằng chương trình.

Mã nguồn của phần sụn vi điều khiển ATmega16U2 có sẵn trong kho Arduino. Bạn có thể flash bộ vi điều khiển thông qua đầu nối lập trình trong mạch ISP bằng bộ lập trình bên ngoài (trong trường hợp này, bộ tải khởi động DFU sẽ bị ghi đè).

Bảo vệ quá tải USB

Arduino Due có các cầu chì có thể đặt lại để bảo vệ cổng USB trên máy tính của bạn khỏi bị đoản mạch và quá tải. Mặc dù hầu hết các máy tính đều có biện pháp bảo vệ riêng nhưng những cầu chì này cung cấp thêm một lớp bảo vệ. Nếu cổng USB tiêu thụ dòng điện lớn hơn 500 mA, cầu chì sẽ tự động ngắt kết nối cho đến khi khắc phục được nguyên nhân gây đoản mạch hoặc quá tải.

Đặc tính vật lý và khả năng tương thích với thẻ mở rộng

Chiều dài và chiều rộng tối đa của Arduino Due PCB lần lượt là 10,2 cm và 5,4 cm, bao gồm cả cổng USB và đầu nối nguồn nhô ra khỏi bo mạch. Ba lỗ gắn cho phép bạn gắn bo mạch vào bề mặt hoặc vỏ. Xin lưu ý rằng khoảng cách giữa các chân kỹ thuật số 7 và 8 không phải là bội số của 2,54 mm truyền thống và là 4 mm.

Arduino Due được thiết kế để tương thích với hầu hết các board mở rộng Uno, Diecimila hoặc Duemilanove. Cách bố trí các chân cắm của bo mạch chính hoàn toàn tương đương: chân kỹ thuật số 0 - 13 (cũng như các chân AREF và GND liền kề), đầu vào analog 0 - 5, đầu nối POWER và đầu nối "ICSP" (SPI) - tất cả các chân đều được đặt tại cùng khoảng cách so với nhau. Ngoài ra, các đường thu phát UART chính được kết nối với cùng một chân (0 và 1). Xin lưu ý rằng số chân I2C trên Arduino Due (20 và 21) khác với số chân Duemilanove/Diecimila (đầu vào analog 4 và 5).

Hướng dẫn chi tiết làm việc với Arduino Due (bằng tiếng Anh)

Thông tin chung

Arduino đến hạn- bảng vi điều khiển dựa trên bộ xử lý Atmel SAM3X8E ARM Cortex-M3(Sự miêu tả). Đây là bo mạch Arduino đầu tiên dựa trên bộ vi điều khiển 32 bit có lõi ARM. Nó có 54 đầu vào/đầu ra kỹ thuật số (12 trong số đó có thể được sử dụng làm đầu raPWM), 12 đầu vào analog, 4 UART (cổng nối tiếp phần cứng), bộ tạo xung nhịp 84 MHz, giao tiếp USB có hỗ trợOTG, 2 DAC (bộ chuyển đổi kỹ thuật số-analog) ), 2 TWI, đầu nối nguồn, đầu nối SPI, đầu nối JTAG, nút reset và nút xóa.

Chú ý! Không giống như các bo mạch Arduino khác, Arduino Due hoạt động ở điện áp 3,3 V. Điện áp tối đa mà đầu vào/đầu ra có thể chịu được là 3,3 V. Việc đặt điện áp cao hơn, chẳng hạn như 5 V, vào các chân Arduino Due có thể làm hỏng bo mạch.

Bảng mạch chứa mọi thứ cần thiết để hỗ trợ vi điều khiển. Để bắt đầu làm việc với nó, bạn chỉ cần kết nối nó với máy tính bằng cáp micro-USB hoặc cấp nguồn từ bộ chuyển đổi AC/DC hoặc pin. Due tương thích với tất cả các bo mạch mở rộng Arduino hoạt động ở điện áp 3,3V và sơ đồ chân Arduino 1.0.

Sơ đồ chân do tuân theo sơ đồ chân của Arduino 1.0:

  • TWI: Chân SDA và SCL được đặt bên cạnh chân AREF.
  • Chân IOREF, cho phép, với sự trợ giúp của cấu hình chính xác, điều chỉnh bo mạch mở rộng kèm theo với điện áp do Arduino cung cấp. Nhờ đó, bo mạch mở rộng có thể tương thích với cả thẻ Due 3,3-V và bo mạch dựa trên AVR hoạt động ở 5 V.
  • Các chân không được kết nối được dành riêng để sử dụng trong tương lai.

Ưu điểm của lõi ARM

Due có lõi ARM 32 bit, có hiệu năng vượt trội so với các bộ vi điều khiển 8 bit thông thường. Sự khác biệt đáng kể nhất:

Lõi 32 bit cho phép bạn thực hiện các thao tác trên dữ liệu rộng 4 byte trong 1 chu kỳ xung nhịp (để biết thêm thông tin, hãy xem trang loại int).

  • tần số bộ xử lý (CPU) 84 MHz.
  • RAM 96KB.
  • Bộ nhớ flash 512 KB để lưu trữ chương trình.
  • Bộ điều khiển DMA, giúp bộ xử lý trung tâm thực hiện các hoạt động bộ nhớ chuyên sâu.
Mạch, dữ liệu nguồn và vị trí chân cắm
Đặc trưng

vi điều khiển

AT91SAM3X8E

Điện áp hoạt động

Điện áp đầu vào (giới hạn)

Đầu vào/Đầu ra kỹ thuật số

Đầu vào analog

12
Đầu ra tương tự 2 (ĐẮC)
Tổng dòng điện đầu ra DC
trên tất cả đầu vào/đầu ra
Dòng điện một chiều qua chân 3,3V 800 mA
Dòng điện một chiều qua chân 5V 800 mA
Bộ nhớ flash Tổng cộng 512 KB có sẵn cho các ứng dụng của người dùng
ĐẬP 96 KB (hai ngân hàng: 64 KB và 32 KB)
Tần số đồng hồ 84 MHz
Dinh dưỡng

Dinh dưỡng Arduino đến hạn có thể được thực hiện thông qua đầu nối USB hoặc sử dụng nguồn điện bên ngoài. Nguồn điện được chọn tự động.

Nguồn điện bên ngoài (không phải USB) có thể là bộ chuyển đổi AC/DC (“mụn cóc trên tường” - bộ chuyển đổi trong cùng một vỏ có phích cắm) hoặc pin. Bộ chuyển đổi kết nối với đầu nối nguồn của bo mạch bằng phích cắm 2,1 mm có chốt dương ở giữa. Các dây dẫn pin được kết nối với chân Gnd và Vin của đầu nối POWER. Bo mạch có thể hoạt động với nguồn điện bên ngoài từ 6 đến 20 V. Nhưng nếu điện áp nguồn giảm xuống dưới 7 V, chân 5 V có thể có điện áp dưới 5 volt và bo mạch sẽ hoạt động không ổn định. Nếu điện áp lớn hơn 12 V được cung cấp, bộ điều chỉnh điện áp có thể bị quá nóng và làm hỏng bo mạch. Dải điện áp được khuyến nghị là từ 7 đến 12 V.

Sau đây là các chân nguồn:

  • số VIN. Đây là điện áp đầu vào của bo mạch Arduino khi nó được cấp nguồn bằng nguồn điện bên ngoài (trái ngược với 5 volt được cung cấp qua kết nối USB hoặc nguồn điện được điều chỉnh khác). Điện áp nguồn có thể được cấp vào chân này hoặc lấy ra khỏi chân này trong trường hợp cấp nguồn qua đầu nối nguồn.
  • 5V. Chân này đóng vai trò là đầu ra điện áp được điều chỉnh 5V từ bộ ổn định tích hợp trên bo mạch. Bản thân bo mạch có thể được cấp nguồn thông qua đầu nối nguồn DC (7-12V) hoặc qua đầu nối USB (5V) hoặc qua chân VIN trên bo mạch (7-12V). Điện áp cung cấp qua chân 5 V và 3,3 V đi qua bộ ổn định và có thể làm hỏng bo mạch của bạn. Chúng tôi không khuyên bạn nên làm điều này.
  • 3,3V. Nguồn điện 3,3 V được tạo ra bởi bộ ổn định tích hợp. Dòng điện đầu ra tối đa 800 mA. Bộ ổn định cũng cung cấp năng lượng cho bộ vi điều khiển SAM3X.
  • GND. Kết luận về trái đất
  • IOREF. Chân này của bo mạch Arduino cung cấp điện áp tham chiếu mà tại đó bộ vi điều khiển hoạt động. Một bo mạch mở rộng được cấu hình đúng cách có thể đọc điện áp trên chân IOREF và chọn nguồn điện phù hợp hoặc cho phép sử dụng bộ chuyển đổi điện áp đầu ra để hoạt động ở mức 5V hoặc 3,3V.
Ký ức

Bộ nhớ flash SAM3X là 512 KB (2 khối 256 KB) để lưu trữ chương trình. Bộ tải khởi động được Atmel ghi lại trong quá trình sản xuất và được lưu trữ trong một ROM được chỉ định đặc biệt. RAM khả dụng là 96 KB ở hai ngân hàng liền kề - 64 KB và 32 KB. Tất cả bộ nhớ khả dụng (flash, RAM và ROM) có thể được xử lý trực tiếp dưới dạng không gian địa chỉ phẳng.

Có thể xóa bộ nhớ flash SAM3X bằng nút xóa tích hợp. Thao tác này sẽ xóa chương trình hiện đang được tải khỏi bộ vi xử lý. Để xóa, nhấn và giữ nút xóa trong vài giây trong khi bo mạch được bật nguồn.

Đầu vào và đầu ra
  • Đầu vào/đầu ra kỹ thuật số: chân 0 đến 53
    Mỗi trong số 54 chân kỹ thuật số của Due có thể được sử dụng làm đầu vào hoặc đầu ra bằng cách sử dụng các hàm pinMode() , digitalWrite() và digitalRead() . Các chân hoạt động ở điện áp 3,3 V. Mỗi chân có thể cung cấp (dưới dạng nguồn) dòng điện 3 mA hoặc 15 mA, tùy thuộc vào chân hoặc nhận (dưới dạng nguồn chìm) dòng điện 6 mA hoặc 9 mA, tùy thuộc vào chân . Chúng cũng có điện trở kéo lên bên trong (bị tắt theo mặc định) là 100 kOhm. Ngoài ra, một số chân còn được gán chức năng chuyên dụng:
  • Dòng nối tiếp: 0 (RX) và 1 (TX)
  • Dòng nối tiếp 1: 19 (RX) và 18 (TX)
  • Dòng nối tiếp 2: 17 (RX) và 16 (TX)
  • Dòng nối tiếp 3: 15 (RX) và 14 (TX)
    Các chân này được sử dụng để nhận (RX) và truyền (TX) dữ liệu nối tiếp TTL (ở mức 3,3V). Các chân 0 và 1 được kết nối với các chân tương ứng của bộ điều khiển nối tiếp USB-to-TTL ATmega16U2.
  • xung điện: kết luận Với 2 Qua 13
    Họ triển khai đầu ra 8 bit bằng cách sử dụng hàm analogWrite(). Có thể thay đổi độ phân giải của xung bằng cách sử dụng hàm analogWriteResolution().
  • SPI: kết nốiSPI(Tiêu đề ICSP trên các bo mạch Arduino khác)
    Các chân này được sử dụng để liên lạc SPI bằng thư viện SPI. Tín hiệu SPI được định tuyến đến đầu nối 6 chân trung tâm, tương thích vật lý với Uno, Leonardo và Mega2560. Đầu nối SPI chỉ có thể được sử dụng để giao tiếp với các thiết bị SPI khác và không thể lập trình SAM3X bằng công nghệ Lập trình nối tiếp trong mạch (ICSP). SPI on Due cũng có sẵn các tính năng nâng cao khi sử dụng Phương thức SPI nâng cao khi đến hạn.
  • CÓ THỂ: CANRX CANTX
    Các chân này hỗ trợ giao thức truyền thông CAN, nhưng chưa được API Arduino hỗ trợ.
  • " L" DẪN ĐẾN: 13
    Đèn LED tích hợp kết nối với chân kỹ thuật số 13. Khi mức tín hiệu trên chân này cao, đèn LED sẽ bật và khi mức tín hiệu thấp thì đèn LED sẽ tắt. Cũng có thể giảm độ sáng của đèn LED, vì chân 13 cũng là đầu ra xung điện.
  • TWI 1: 20 (SDA) và 21 (SCL)
  • TWI 2: S.D.A.1 SCL1
    Các chân này hỗ trợ giao tiếp TWI bằng thư viện Dây.
  • Đầu vào tương tự: chân cóMỘT0 đếnMỘT11
    Arduino Due có 12 đầu vào tương tự, mỗi đầu vào có thể cung cấp độ phân giải 12 bit (tức là 4096 giá trị khác nhau). Độ phân giải mặc định là 10 bit để tương thích với các bo mạch Arduino khác. Độ phân giải ADC có thể được thay đổi bằng hàm analogReadResolution(). Các chân analog của Due đo từ mặt đất đến điện áp tối đa là 3,3 V. Việc đặt điện áp lớn hơn 3,3 V vào các chân này sẽ làm hỏng khuôn SAM3X. Hàm analogReference() trên Due bị bỏ qua.
    Chân AREF được kết nối với chân tham chiếu điện áp tương tự SAM3X thông qua cầu điện trở. Để kích hoạt chân AREF, điện trở BR1 phải được tháo ra khỏi bảng mạch in.
  • DAC1 vàDAC2
    Trên các chân DAC DAC1 vàDAC2 Cung cấp đầu ra analog đáng tin cậy với độ phân giải 12 bit(4096 cấp độ) bằng cách sử dụng hàm analogWrite(). Các chân này có thể được sử dụng để tạo đầu ra âm thanh bằng thư viện Âm thanh.

Những phát hiện khác:

  • AREF
    Điện áp tham chiếu cho đầu vào analog. Được sử dụng với hàm analogReference().
  • Cài lại
  • Mức thấp trên dòng này sẽ đặt lại bộ vi điều khiển. Cách sử dụng điển hình của chân Đặt lại là thêm nút đặt lại trên bảng mở rộng để ghi đè nút đặt lại trên bộ vi điều khiển.
Sự liên quan

TRONG Arduino đến hạn Có một số công cụ để tương tác với máy tính, bo mạch Arduino và các bộ vi điều khiển khác, cũng như các thiết bị khác nhau như điện thoại, máy tính bảng, máy ảnh, v.v. SAM3X có một UART phần cứng và ba USART phần cứng cho giao tiếp nối tiếp cấp độ TTL (3,3 V).

Cổng lập trình được kết nối với ATmega16U2, cung cấp cổng COM ảo cho các chương trình trên máy tính được kết nối. (Để nhận dạng thiết bị này, máy tính chạy HĐH Windows sẽ cần tệp .inf; trên máy chạy OSX và Linux, bo mạch sẽ tự động được nhận dạng là cổng COM). Chip 16U2 cũng được kết nối với UART phần cứng SAM3X. Bus nối tiếp trên các chân RX0 và ​​TX0 cung cấp khả năng chuyển đổi Nối tiếp sang USB để lập trình bo mạch thông qua bộ vi điều khiển ATmega16U2. Phần mềm Arduino bao gồm một màn hình bus nối tiếp cung cấp cho bo mạch khả năng gửi và nhận tin nhắn văn bản đơn giản. Đèn LED RX và TX trên bo mạch sẽ nhấp nháy khi dữ liệu được truyền qua tinh thể ATmega16U2 và qua kết nối USB với máy tính (nhưng không nhấp nháy trong quá trình trao đổi nối tiếp trên chân 0 và 1).

Cổng USB riêng của nó cũng có thể hoạt động như một máy chủ USB cho các thiết bị ngoại vi được kết nối: chuột, bàn phím và điện thoại thông minh. Để sử dụng các thuộc tính này, hãy tham khảo trang hướng dẫn sử dụng máy chủ USB.

Lập trình

Arduino đến hạn có thể được lập trình bằng phần mềm Arduino (tải xuống). Thông tin chi tiết hơn được chứa trong.

khác với bộ vi điều khiển AVR được tìm thấy trên các bo mạch Arduino khác, vì bộ nhớ flash phải được xóa trước khi lập trình lại nó. Việc khởi động vào chip được điều khiển từ ROM bộ điều khiển SAM3X và chỉ được kích hoạt khi bộ nhớ flash của chip trống.


Bo mạch có thể được lập trình thông qua cả hai cổng USB, mặc dù nên sử dụng cổng lập trình do nó hỗ trợ xóa chip:

  • Cổng lập trình: Để sử dụng cổng này, hãy chọn "Arduino Do (Cổng lập trình)" làm bo mạch của bạn trong Arduino IDE. Kết nối cổng lập trình của Due board (gần giắc nguồn DC nhất) với máy tính. Cổng lập trình sử dụng chip 16U2 làm bộ chuyển đổi USB sang nối tiếp, được kết nối với UART đầu tiên của bộ điều khiển SAM3X (RX0 và ​​TX0). Hai chân 16U2 được kết nối với chân Reset và Erase của SAM3X. Việc mở và đóng cổng lập trình, được kết nối ở tốc độ 1200 bps, bắt đầu quy trình “xóa cứng” cho chip SAM3X, kích hoạt các chân Xóa và Đặt lại trên SAM3X trước khi thiết lập giao tiếp với UART. Đây là cổng được đề xuất cho lập trình Due. Xóa cứng đáng tin cậy hơn "xóa mềm" xảy ra trên cổng USB gốc và sẽ hoạt động ngay cả khi bộ vi xử lý chính bị hỏng.
  • Cổng riêng: Để sử dụng cổng này, hãy chọn loại bo mạch của bạn là "Arduino Do (Cổng USB gốc)" trong Arduino IDE. Cổng USB gốc được kết nối trực tiếp với SAM3X. Kết nối cổng USB riêng của Arduino Due (gần nút Reset nhất) với máy tính của bạn. Việc mở và đóng cổng gốc ở tốc độ 1200 bps sẽ kích hoạt quy trình "xóa mềm": bộ nhớ flash bị xóa và bo mạch được khởi động lại bằng bộ nạp khởi động. Nếu bộ vi điều khiển chính bị hỏng vì bất kỳ lý do gì thì có khả năng việc xóa bằng phần mềm sẽ không hoạt động vì quy trình này trên SAM3X hoàn toàn dựa trên phần mềm. Việc mở và đóng cổng gốc ở tốc độ truyền khác sẽ không đặt lại SAM3X.

Không giống như các bo mạch Arduino khác sử dụng avrdude để khởi động, Due dựa vào bossac.

Bảo vệ dòng điện đầu nối USB

TRÊN Arduino đến hạn Có cầu chì tự phục hồi, mục đích của nó là để bảo vệ cổng USB của máy tính khỏi bị đoản mạch và quá dòng. Mặc dù hầu hết các máy tính đều có chức năng bảo vệ quá dòng tích hợp nhưng cầu chì này cung cấp khả năng bảo vệ bổ sung. Khi dòng điện qua cổng USB vượt quá 500 mA, kết nối sẽ tự động bị ngắt bởi cầu chì cho đến khi dừng quá tải hoặc đoản mạch.

Đặc tính vật lý và khả năng tương thích với thẻ mở rộng

Chiều dài PCB tối đa Arduino đến hạn là 4 inch và chiều rộng là 2,1 inch, không bao gồm đầu nối USB và đầu nối nguồn, nhô ra ngoài kích thước tổng thể nhất định. Ba lỗ vít cho phép bạn cố định bo mạch vào bề mặt hoặc vỏ. Lưu ý rằng khoảng cách giữa các chân kỹ thuật số 7 và 8 là 160 mils (0,16", 4,064 mm), không phải là bội số của khoảng cách 100 mils (2,54 mm) giữa các chân khác.

Arduino đến hạn tương thích với hầu hết các bảng mở rộng được thiết kế cho Uno, Diecimila hoặc Duemilanove. Các chân kỹ thuật số 0 đến 13 (và các chân AREF và GND liền kề), đầu vào analog 0 đến 5, đầu nối nguồn và đầu nối "ICSP" (SPI) được đặt giống nhau trên tất cả các bo mạch. Hơn nữa, UART chính (cổng nối tiếp) được đặt trên cùng một chân (0 và 1).
Xin lưu ý rằng bus I 2 C được đặt trên các chân khác nhau trong Arduino Due (20 và 21) so với trong Duemilanove/Diecimila (đầu vào analog 4 và 5).

Để kết nối Arduino Do với máy tính của bạn, bạn sẽ cần cáp USB Micro-B. Cần có cáp USB cho cả nguồn điện và phần sụn của thiết bị.

Cắm một đầu cáp micro-USB vào đầu nối lập trình Arduino Due (nằm gần đầu nối nguồn). Để flash bản phác thảo, bạn cần chọn mục Arduino Do (Cổng lập trình) trong môi trường lập trình Arduino IDE từ menu Công cụ > Bảng, đồng thời chọn cổng nối tiếp thích hợp từ menu Công cụ > Cổng nối tiếp.

Sự khác biệt chính so với các bo mạch dựa trên bộ vi điều khiển ATMEGA

Nhìn chung, việc lập trình và làm việc với Arduino Due sử dụng các nguyên tắc tương tự như với các mẫu Arduino khác. Tuy nhiên, có một số điểm khác biệt chính giữa Due và các bảng khác.

Due PCB tương tự như mẫu Arduino Mega 2560.

Vôn

Bộ vi điều khiển có trong Arduino Due hoạt động ở mức 3,3V, điều này gây ra một số hạn chế. Đặc biệt, điện áp dùng để cấp nguồn cho các cảm biến được kết nối hoặc bộ truyền động điều khiển không được vượt quá 3,3V. Nếu cung cấp điện áp cao hơn (ví dụ: 5V, điển hình cho hầu hết các bo mạch Arduino), Arduino Due sẽ bị lỗi.

Thiết bị có thể được cấp nguồn từ USB hoặc từ đầu nối nguồn. Trong trường hợp thứ hai, điện áp cung cấp phải nằm trong khoảng từ 7V đến 12V.

Arduino Due có bộ điều chỉnh điện áp chuyển mạch hiệu suất cao để đáp ứng các yêu cầu của thiết bị chủ USB. Nhờ đó, Arduino có thể đóng vai trò là nguồn năng lượng cho bất kỳ thiết bị USB nào được kết nối với cổng USB tiêu chuẩn hoạt động như một máy chủ. Arduino chỉ có thể hoạt động như một máy chủ USB khi được cấp nguồn từ nguồn bên ngoài.

Cổng nối tiếp trên Arduino Do

Arduino Due có hai cổng USB. Cổng USB tiêu chuẩn (được chỉ ra trong hình là Tự nhiên) được kết nối trực tiếp với bộ xử lý SAM3X và hỗ trợ giao tiếp CDC nối tiếp thông qua đối tượng USB nối tiếp. Cổng USB thứ hai là cổng lập trình (có nhãn trong hình là Lập trình Hải cảng). Nó được kết nối với bộ điều khiển ATMEL 16U2, hoạt động như một bộ chuyển đổi USB-UART. Theo mặc định, cổng lập trình được sử dụng để tải chương trình và tương tác với Arduino.

Bộ chuyển đổi cổng USB-UART để lập trình được kết nối với UART đầu tiên của bộ điều khiển SAM3X. Do đó, bạn có thể tương tác theo chương trình với cổng này thông qua đối tượng “Nối tiếp”.

Cổng USB tiêu chuẩn được kết nối trực tiếp với các chân điều khiển SAM3X, chịu trách nhiệm về chức năng máy chủ USB. Cổng USB tiêu chuẩn cho phép bạn sử dụng Arduino Due vừa là thiết bị ngoại vi của máy tính bên ngoài (chẳng hạn như chuột hoặc bàn phím USB) vừa là máy chủ USB mà bạn có thể kết nối nhiều thiết bị khác nhau (chẳng hạn như chuột, bàn phím hoặc điện thoại thông minh Android, Ví dụ). Và bằng cách sử dụng đối tượng "SerialUSB", được mô tả bằng ngôn ngữ lập trình Arduino, cùng một cổng có thể được sử dụng làm cổng nối tiếp ảo.

Tự động đặt lại (phần mềm)

Bộ vi điều khiển SAM3X khác với bộ vi điều khiển AVR ở chỗ trước khi flash bộ nhớ flash, nội dung của nó trước tiên phải được xóa. Để thực hiện việc này một cách thủ công, bạn cần giữ nút xóa bộ nhớ trong khoảng một giây, nhấn nút Tải lên trong môi trường Arduino, sau đó nhấn nút đặt lại.

Để không lặp lại quy trình này mỗi lần, nó được tự động hóa và có thể được thực hiện theo chương trình cả thông qua cổng tiêu chuẩn và cổng lập trình:

Cảng thông thường

Quy trình xóa mềm (còn gọi là "xóa mềm") được tự động kích hoạt khi đóng cổng mở ở tốc độ 1200 bps. Thao tác này sẽ xóa bộ nhớ flash của bộ điều khiển, đặt lại thiết bị và khởi động bộ nạp khởi động. Nếu vì lý do nào đó mà bộ xử lý bị lỗi trong quá trình này thì rất có thể việc xóa mềm sẽ không xảy ra vì quy trình này được chính bộ điều khiển thực hiện trong phần mềm.

Việc mở và đóng cổng chứng khoán ở tốc độ khác 1200 baud sẽ không đặt lại bộ điều khiển SAM3X. Để sử dụng chương trình Serial Monitor nhằm giám sát dữ liệu được gửi bởi bản phác thảo của bạn, bạn cần thêm một vài dòng mã vào khối chương trình setup(). Đoạn này sẽ buộc bộ điều khiển SAM3X đợi cổng SerialUSB mở trước khi thực thi chương trình chính:

Trong khi (! Nối tiếp) ;

Nhấn nút đặt lại trên Arduino Due không chỉ khởi động lại SAM3X mà còn đặt lại kết nối USB. Nếu chương trình Serial Monitor đang mở thì sau khi ngắt kết nối, bạn phải đóng và mở lại để khôi phục phiên giao tiếp.

Cổng lập trình

Cổng lập trình USB tương tác với bộ chuyển đổi Arduino USB-UART, sau đó được kết nối với UART đầu tiên của vi điều khiển SAM3X (cụ thể là các chân RX0 và ​​TX0). Hơn nữa, chip chuyển đổi USB-UART còn điều khiển các chân Reset và Erase của vi điều khiển chính. Khi cổng nối tiếp được mở, bộ chuyển đổi USB-UART, trước khi trao đổi dữ liệu với UART của bộ điều khiển, sẽ tạo ra mức tín hiệu hoạt động ở các chân Xóa và Đặt lại, dẫn đến xóa bộ nhớ SAM3X. Phương pháp này đáng tin cậy hơn so với "dọn dẹp phần mềm" khi sử dụng cổng USB tiêu chuẩn và hoạt động ngay cả khi bộ xử lý bị treo.

Để tương tác theo chương trình với cổng này trong môi trường phát triển Arduino, hãy sử dụng đối tượng "Nối tiếp". Hoạt động với cổng USB tương tự như trên Arduino Uno, vì vậy tất cả các chương trình được viết cho Uno cũng sẽ hoạt động trên Due. Ngoài ra, cổng lập trình của Arduino Due hoạt động giống như cổng nối tiếp của Uno, trong đó bộ chuyển đổi USB-to-UART có trong thiết bị sẽ đặt lại bộ điều khiển máy chủ bất cứ khi nào cổng nối tiếp được mở.

Nhấn nút đặt lại trong khi sử dụng cổng lập trình không làm đứt kết nối USB với máy tính vì chỉ có bộ điều khiển máy chủ SAM3X được đặt lại.

máy chủ USB

Arduino Due có thể hoạt động như một máy chủ USB cho các thiết bị ngoại vi được kết nối với cổng SerialUSB. Để biết thêm thông tin và ví dụ về mã, hãy xem phần trợ giúp Máy chủ USB.

Khi Due được sử dụng làm máy chủ, nó cũng đóng vai trò là nguồn điện cho thiết bị được kết nối. Do đó, ở chế độ vận hành này, chúng tôi khuyên bạn nên cấp nguồn cho Arduino Due từ nguồn điện bên ngoài.

Công suất ADC vàPWM

Arduino Due có khả năng thay đổi độ rộng bit để đọc và tạo các giá trị tương tự (theo mặc định lần lượt là 10 và 8 bit). Độ rộng tối đa của ADC vàPWM là 12 bit. Để biết thêm thông tin, hãy xem các hàm analogWriteResolution() và analogReadResolution().

Khả năng SPI nâng cao

Cài đặt driver cho Arduino Do

OSX

  • Không cần cài đặt trình điều khiển trên hệ điều hành OSX. Tùy thuộc vào phiên bản hệ điều hành được cài đặt, khi bạn kết nối thiết bị với máy tính, một hộp thoại sẽ xuất hiện nhắc bạn mở Tùy chọn Mạng. Nhấp vào "Tùy chọn mạng...", đợi cửa sổ xuất hiện và nhấp vào nút "Áp dụng". Arduino Due sẽ xuất hiện trong hệ thống với trạng thái "Không được định cấu hình" nhưng sẽ hoạt động tốt. Bây giờ bạn có thể thoát khỏi cài đặt hệ thống.

Windows (đã thử nghiệm trên XP và 7)


Linux

  • Trên Linux, không cần cài đặt trình điều khiển nào cả.

Firmware cho Arduino Do

Theo quan điểm của người dùng, quá trình flash chương trình trong Arduino Due được thực hiện giống hệt như trong các mẫu Arduino khác. Mặc dù bạn có thể sử dụng bất kỳ cổng Due USB nào để flash bản phác thảo, nhưng vẫn nên sử dụng cổng lập trình cho mục đích này.

Để flash chương trình của bạn qua cổng lập trình, hãy làm như sau:

  • Kết nối thiết bị với máy tính bằng cách kết nối cáp USB với cổng lập trình Arduino (cổng này nằm gần đầu nối nguồn hơn).
  • Mở môi trường phát triển Arduino.
  • Trong menu "Công cụ", chọn "Cổng nối tiếp" và chỉ định cổng nối tiếp được liên kết với Arduino Do trong hệ thống
  • Từ menu "Công cụ> Bảng", chọn "Arduino Due (Cổng lập trình)"

Sau khi hoàn thành các bước này, bạn có thể flash chương trình của mình vào Arduino.