آشنایی با برد Arduino DUE
آشنایی با برد Arduino DUE
بازنگری برد
برد Arduino DUE یک برد میکروکنترل بر پایه Atmel SAM3X8E ARM Cortex-m3 CPU می باشد.
این اولین برد آرداینو است که بر پایه هسته 32 بیتی میکرو کنترلر ARM طراحی شده است.
این برد دارای 54 خروجی / ورودی دیجیتال ( که 12 تا از آنها می تواند به عنوان خروجی PWM استفاده شود) ، 12 ورودی آنالوگ ، 4 UART ( پرت سخت افزاری سریال) ، 84 مگا هرتز پالس ساعت، یک USB OTG قابل اتصال ، 2 DAC ( دیجیتال به آنالوگ) ، 2 TWI ، سوکت تغذیه ، یک سر SPI ، یک سر JTAG ، یک کلید برای پاک کردن حافظه (ERASE ) .
خلاصه برد
میکرو کنترلر AT91SAM3X8E
ولتاژعملیاتی 3.3 ولت
ولتاژ ورودی ( توصیه شده ) 7 تا 12 ولت
ولتاژ ورودی ( محدودیت ) 6 تا 20 ولت
پین دیجیتال I / O 54 ( 12 تای آن می تواند به عنوان PWM استفاده شود )
پین ورودی آنالوگ 12
پین خروجی آنالوگ 2 ( DAC )
مجموع جزیان DC خروجی از تمام پرت ها ی I / O mA 130
جریان DC پین 3.3 ولتی mA 800
جریان DC پین 5 ولتی mA 800
حافظه فلش kB 512 ( تام فضای قابل استفاده برای برنامه نویسی)
SRAM kB 96( دو بانک: kB64 و kB 32 )
پالس ساعت MHz 84
تغذیه ( POWER )
برد آرداینو می تواند هم از طریق پرت USB و یا از طریق منبع تغذیه خارجی تغذیه شود ، منبع تغذیه به صورت خد کار انتخواب می شود.
منبع تغذیه خارجی ( غیر از USB ) می تواند یک آدبتور ( AC-to-DC ) باشد یا یک باتری ، آداپتر می تواند از طریق پاور جک mm2.1 روی برد به آرداینو متصل شود و اگز از باتری به عنوان منبع تغذیه استفاده میشود می توان آن را به پین های (GND) و ( VIN) روی برد متصل کرد.
این برد می تواند با ولتاز بین 6 تا 20 ولت کار کند اگر ولتاز تغذیه به هر دلیلی کمتر از 7 ولت شود، پین 5 ولت کمتر از 5 ولت تولید می کن و ممکن است بر نا پایدار شود . و اگر با ولتاز بیش از 12 ولت تغذیه شود ممکن است تنظیم کننده ولتاز ( regulator ) بیش از حد گرم شود و به برد آسیب برساند . و لتاژ پیشنهادی برای تغذیه بر ولتاز بین 7 تا 12 ولت می باشد.
پین های تغذیه عبارتند از :
VIN. زمانی که می خواهیم از تغذیه خارجی برای برد استفاده کنیم ( غیر از 5 ولت پرت USB یا هر منبع تغذی تنظیم شده دیگر ) می توان آن را به این پرت اعمال کنیم . و اگر برد از طریق پاور جک تغذیه می شود باز می توانیم از طریق این پین به آن اور دسترسی داشته باشیم.
5V. خروجی این پین یک ولتاژ 5 ولت است که توسط تنظیم کننده ولتا تولید می شود . برد می تواند از پاور جک DC (7 تا 12 ولت) ، کانکشن USB (5ولت) یا پین VIN ( 7 تا 12 ولت ) تغذیه شود. تغذیه برد از طریق پین 5 ولت یا 3.3ولت و دور زدن رگولاتور ولتاز می تواند به برد آسیب وارد کند و توصیه نمی شود.
3.3V. خروجی این پین یک ولتاز 3.3 ولت است که توسط رگولاتور ولتاژ برد تولید میشود . بیشترین مقدار جریانی که این خروجی برد می تواند داشته باشد 800 میلی آمپر است . همچنین رگولاتور این ولتاز را برای تغذیه میکرو کنترلر SAM3X فراهم می کند .
GND. پین زمین.
IOREF. این پین مرجع ولتاز است که توسط میکروکنترلر برد ایجاد میشود و شیلد می تواند این ولتاز را از پین خوانده و میتواند منبع تغذیه مناسب را انتخواب کند یا با ولتاژ انتقال خروجی که 5 یا 3.3 ولت است کار کند.
حافظه ( Memory )
SAM3X دارای kB512 ( دو بلوک kB 256) حافظه فلش است که برای ذخیره سازی کدها استفاده میشود .
بوتلودر از قبل در کارخانه در یک حافظه ROM اختصاص داده شده ، ذخیره می شود . SRAM موجود kB96 در دو بانک به هم پیوسته kB64 و 32 کیلو بایت است
به تمام حافظه موجود ( فلش ، RAM ، ROM ) می توان ا طریق یک فضای آدرس دهی مسطح دسترسی داشت. می توان محتوای فلش پردازنده SAM3X را با کمک دکمه کوچک روی برد ( ERASE ) پاک کرد . با این کار می توان طراحی لود شده موجود روی MCU را پاک کرد.
برای پاک کردن باید دکمه ( ERASE) را در حالی که منبع تغذیه به برد متصل است برای چند پانیه نگه داشت.
ورودی ها یو خروجی ها
ورودی و خروجی دیجیتال : از پین 0 تا 53
در برد DUE هر کدام از این 54 پین دیحیتال با استفاده از توابع digitalWrite(),PinMode() و digitalRead() می تواند به عنوان ورودی یا خروجی مورد استفاده قرار گیرد . هر پین می تواند ( به عنوان منبع ) جریان بین 3 میلی آمپر یا 15 میلی آمپر بسته به پین ، ولید کند یا معادل 6 میلی آمپر یا 9 میلی آمپر را بسته به پین در یافت کند. همچنین پین ها دارای یک مقاومت داخلی ( به طور پیش فرز قطع هستند) 100کیلو اهمی متصل هستند . در ضمن این پین ها دارای توابع مخصوصی هستند.
Serial : 0 (RX) and 1 ( TX)
Serial : 19 (RX) and 18 ( TX)
Serial : 17 (RX) and 16 ( TX)
Serial : 15 (RX) and 14 ( TX)
( RX) برای دریافت و (TX ) برای ارسال داده های سریال TTL( با ولتاژ 3.3 ولت ) استفاده میشود . پین های 0 و 1 ه پایه های ATmega16U2 که به عنوان مبدل کد USB-to-TTL استفاده می شود متصل است.
PWM : پین های 2 تا 13
جروجی PWM 8 بیتی
با استفاده از تابع analogwnte() می توان خروجی PWM 8 بیتی تولید کرد . دقت تفکیک پذیری ( resolution) را می توان با استفاده از تابع analogWriteResolution() تغیر داد.
SPI: سر SPI
این پین ها از ارتباط SPI به وسیله کتابخانه SPI پشتیبانی می کنند ایت 6 پین که در وسط برد قرار دارد در بردهای دیگر Arduino برای پروگرام کردن (ICSP) استفاده می شود ولی در برد DUE فقط برای ارتباط استفاده می شود.
CAN: CANRX و CANTX
این پین ها از گروتکل CAN برای ارتباط پشتیبانی می کنند.
“L” LED : پین 13
اینجا یک LED داخل برد طراحی شده که به پین 13 دیجیتال متصل است در واقع زمانی که پین 13 یک باشد LED روشن و زمانی که صفر باشد LED خاموش است . نور LED می تواند کم هم شود چون پین 13 پین PWM نیز هست.
پین های ورودی آنا لوگ : از A0 تا A11
برد DUE دارای 12 پرت آنالوگ است که هر کدام دارای دقت تفکیک پذیری 12بیت می باشند ( یعنی 4096 مقدار مختلف ). به طور پیش فرض، برای سازگاری با برد های دیگر آرداینو دقت تفکیک پذیری روی 10 بیت تنظیم شده است . با دستور analogReadResolution() می توان دقت تفکیک پذیری را تغییر داد.
ورودی های آنالوگ DUE برای ولتاژ های بین زمین و 3.3 ولت طراحی شده اند و ولتاژ های بیش از 3.3 ولت چیپ SAM3X را تخریب می کند.
AREF.
پین AREF ولتاژ مرجع برای ورودی آنالوگ است و به وسیله یک پل مقاومتی به پین رفرنس آنالوگ SAM3X متصل است . برای استفاده از پین AREF ، باید لحیم کاری مقاومت BR1از روی PCB برداشته شود.
DAC 1 و DAC 2 .
این پین ها با استفاده از تابع analogwrite() خروجی آنالوگ با دقت تفکیک پذیری 12 بیت تولید می کند که میتواند برای خروجی به صورت صدا مورد استفاده قرار گیرد.
Reset.
این پین معمولاً برای اضافه کردن کلید ریست روی شیلد استفاده می شود.
ارتباط ( Communication )
برد آرداینو با یک سری از وسایل می تواند به کامپیوتر ، بردهای دیگر آرداینو یا میکرو کنترلرهای دیگر و وسایل دیگر مثل تلفن ، تبلت ، دوربین و ... متصل شود . SAM3X دارای سخت افزار UART و سه USART برای ارتباط سریال TTL (3و3 ولت)می باشد.
پرت برنامه ریزی به یک آی سی ATmega 16U2 که یک پرت COM مجازی برای نرم افزار متصل به کامپیوتر ( برای به رسمیت شناختن دستگاه و مکانیزم ویندوزبه یک فایل .INF نیاز دارد ولی در DSX و لینوکس به طور خودکار این پرت com را میشناسند.). میکرو 16U2 به سخت افزار UART کنترلر SAM3X متصل است.
پین های سریال RX0 و TX0 ارتباط بین سریال به USB رابرای پرگرام کردن برد به وسیله میکرو کنترلر ATmega16U2 را فراهم میکند.
نرم افزار آرداینو شامل منیتور سریال که اجازه می دهد اطلاعات متنی به سادگی برروی برد برود و از برد برگردد . LED های RX و TX زمانی که اطلاعات از طریق پرت ATmega16U2 در حال انتقال است ، روشن و خاموش می شوند( البته برای پرت ارتباطی سریال پین 0 و 1 اینطور نیست ) .
پرت USB نیتیومستقیما به SAM3X متصل است. این اجازه ارتباط سریال ( CDC) به USB می دهد. این یک ارتباط سریال به منیتور سریال یا نرم افزار های دیگر روی کامپیوتر شما ایجاد میکند. و همچنین این اجازه را به DUE می دهد که مثل موس و کیبرد به کامپیوتر متصل شود. توسیه می شود از پرت پراگرا برای لود کردن نرم افزار و در صورت نیاز به تغذیه از طریق USB این کار را از طریق پرت نیتیو انجام دهیم ولی در عمل از هر د و پرت می توان برای تغذیه و پراگرام کردن استفاده کرد.
در جدول زیر رابطه پین های Arduino با پایه های SAM3X نشان داده شده است .
جدول نقشه پین های Arduino DUE
Due Pin Number / SAM3X Pin Name / Mapped Pin Name
0/ PA8/ RX0
1/ PA9/ TX0
2/ PB25/ Digital Pin 2
3/ PC28 /Digital Pin 3
4/ connected to both PA29 and PC26 /Digital Pin 4
5/ PC25 /Digital Pin 5
6/ PC24/ Digital Pin 6
7/ PC23/ Digital Pin 7
8/ PC22/ Digital Pin 8
9/ PC21/ Digital Pin 9
10/ connected to both PA28 and PC29 /Digital Pin 10
11/ PD7/ Digital Pin 11
12/ PD8/ Digital Pin 12
13/ PB27 / Digital Pin 13 / Amber LED "L"
14/ PD4 / TX3
15/ PD5/ RX3
16/ PA13/ TX2
17/ PA12/ RX2
18/ PA11/ TX1
19/ PA10/ RX1
20/ PB12/ SDA
21/ PB13/ SCL
22/ PB26/ Digital Pin 22
23/ PA14/ Digital Pin 23
24/ PA15/ Digital Pin 24
25/ PD0/ Digital Pin 25
26/ PD1/ Digital pin 26
27/ PD2/ Digital Pin 27
28/ PD3/ Digital Pin 28
29/ PD6/ Digital Pin 29
30/ /PD9/ Digital Pin 30
31/ PA7/ Digital Pin 31
32/ PD10/ Digital Pin 32
33/ PC1/ Digital Pin 33
34/ PC2/ Digital Pin 34
35/ PC3/ Digital Pin 35
36/ PC4/ Digital Pin 36
37/ PC5/ Digital Pin 37
38/ PC6/ Digital Pin 38
39/ PC7/ Digital Pin 39
40 PC8/ Digital Pin 40
41 PC9/ Digital Pin 41
42 PA19/ Digital Pin 42
43 PA20/ Digital Pin 43
44 PC19/ Digital Pin 44
45 PC18/ Digital Pin 45
46 PC17/ Digital Pin 46
47 PC16/ Digital Pin 47
48 PC15/ Digital Pin 48
49 PC14/ Digital Pin 49
50 PC13/ Digital Pin 50
51 PC12/ Digital Pin 51
52 PB21/ Digital Pin 52
53 PB14/ Digital Pin 53
54 PA16/ Analog In 0
55 PA24/ Analog In 1
56 PA23/ Analog In 2
57 PA22/ Analog In 3
58 PA6/ Analog In 4
59 PA4/ Analog In 5
60 PA3/ Analog In 6
61 PA2/ Analog In 7
62/ PB17/ Analog In 8
63/ PB18/ Analog In 9
64/ PB19/ Analog In 10
65/ PB20/ Analog In 11
66/ PB15/ DAC0
67/ PB16/ DAC1
68/ PA1/ CANRX
69/ PA0/ CANTX
70/ PA17/ SDA1
71/ PA18/ SCL2
72/ PC30/ LED "RX"
73/ PA21/ LED "TX"
74/ PA25/ (MISO)
75/ PA26/ (MOSI)
76/ PA27/ (SCLK)
77/ PA28/ (NPCS0)
78/ PB23/ (unconnected)
USB/ PB11/ ID
USB/ PB10 /VBOF