آموزش میکروکنترلر LPC1768-جلسه اول

در این جلسه در مورد میکروکنترلر قدرتمند 32 بیتی آرم شرکت NXP با شماره LPC1768 آموزش داده خواهد شده و امکانات آن برسی می گردد و در ادامه به معرفی واحد ورودی و خروجی با نام GPIO و همچنین انجام یک پروژه چشمک زن با آن پرداخته می شود.میکروکنترلر های آرم (ARM) دارای پردازش گر از نوع 32 بیتی بوده و می توانند به طور همزمان 32 بیت از داده را پردازش کنند که در مقایسه با میکروکنترولر های AVR که به صورت 8 بیتی می باشند در فرکانس یکسان از توان بسیار بالاتری برخوردار هستند.


در میکروکنترولر های آرم واحد های بسیار متنوعی از امکانات جانبی نظیر تایمر ها ، شمارنده ها ، واحد مقایسه گر ، واحد وقفه های سخت افزاری خارجی ، مبدل های آنالوگ به دیجیتال (ADC) با دقت و سرعت بالا ، واحد مبدل دیجیتال به آنالوگ ،واحد اترنت برای ارتباط با شبکه و اینترنت ، واحد سریال USART ، واحد سریال SPI ، واحد سریال SDIO ، واحد سریال ISC ، واحد صدای دیجیتال I2S ، واحد ورودی و خروجی با سرعت بالا ، و بسیاری امکانات دیگر که این میکروکنترلر ها را برای تمام کارهای پردازشی مناسب کرده است.


قدرت پردازشی پردازنده های آرم بسیار بالا می باشد و از حدودا 40 مگاهرتز تا 1.5 گیگاهرتز رسیده است. همچنین پردازنده های جدید آرم از چند هسته نیز پشتیبانی می کنند و در تبلت ها و موبایل ها به طور گسترده از آنها استفاده شده است.در زیر سری های مختلف پردازنده آرم برسی شده است.

  • ARM Cortex-A 
  • ARM Cortex-M 
  • ARM Cortex-R 

سری Cortex A

این چیپ ها برای اجرای برنامه های پیچیده مثل سیستم عامل های ویندوز و اندروید ، طراحی شده اند. تلفن های همراه و تبلت ها نمونه هایی از این محصولات هستند. برای مثال در گوشی های همراه سامسونگ S6 از یک نوع ARM 4 هسته ای استفاده میشود. و یا در گوشی HTC جدید از دو پردازنده ی ARM 4 هسته ای به صورت موازی استفاده شده است.

 سری Cortex R

این پردازنده ها برای سیستم های تعبیه شده ی گران قیمت که به کارایی بلادرنگ نیاز دارند طراحی شده است همچنین این سری از کارایی بسیار بالایی برخوردار هستند و در محصولاتی از قبیل ترمز پیشرفته برای اتومبیل و بازوهای رباتیک و هارد دیسک ها و بسیاری از تجهیزات دیگر استفاده شده اند.

سری Cortex M

این پردازنده ها برای سیستم های تعبیه شده طراحی شده است و برای دستگاه های ارزان قیمت است که نیاز به توان پردازش پایین و مصرف انرژی کم دارند طراحی شده است.فرکانس کاری این سری از تقریبا 40 مگاهرتز تا 220 مگاهرتز نیز رسیده است. از این سری در لوازم آشپزخانه ، ربات ها ، مدیا پلیر ها و ساخت GUI های صنعتی استفاده شده است.

آموزش میکروکنترلر LPC1768-جلسه اول

آموزش میکروکنترلر LPC1768-جلسه اول

آموزش میکروکنترلر LPC1768-جلسه اول


میکروکنترلر آرم LPC1768 از معماری CORTEX M3 استفاده می کند.فرکانس پردازشی این میکروکنترلر 100 مگاهرتز بوده و از امکانات زیر تشکیل شده که تعدادی از آنها نوشته شده است.

  • مقدار 512 کیلو بایت حافظه فلش داخلی
  • مقدار 64 کیلو بایت حافظه رم
  • واحد اترنت با دو سرعت 100/10 مگابیت 
  • رابط پرسرعت USB 2.0
  • رابط سریال UART به تعداد 4 عدد
  • رابط CAN 2.0 به تعداد 2 عدد
  • یک واحد کنترل کننده SPI
  • دو واحد کنترل کننده SSP
  • سه رابط ورودی خروجی صدای دیجیتال I2S
  •  واحد ADC با دقت 12 بیت و 4.5 میلیون نمونه در ثانیه
  • واحد DAC با دقت 10 بیت
  • یک واحد PWM با قابلیت کنترل موتور سه فاز
  • 4 واحد تایمر کانتر
  • یک واحد RTC
  • تایمر WATCH DOG
  • کنترل کننده بردار وقفه پیشرفته VIC
  • دو باس پیشرفته با کارایی بالا AHB
  • رابطه استاندارد تست و خطایابی JTAG
  •  4 ورودی وقفه خارجی سخت افزاری
  • ریست داخلی و ……..

واحد ورودی و خروجی GPIO

از واحد ووردی و خروجی برای ارتباط با دنیای خارج استفاده می شود.رجیستر های تشکیل دهنده از 32 بیت طول برخوردار هستند که در زیر به صورت مختصر به توضیح هر رجیستر پرداخته شده است و همچنین در ادامه یک مثال از استفاده از واحد خروجی و چشمک زدن چند LED آورده شده است.

 

آموزش میکروکنترلر LPC1768-جلسه اول

رجیستر LPC_GPIOX->FIODIR: از این رجیستر جهت ورودی و خروجی کردن پایه ها استفاده می شود. یک کردن هر یک از بیت های این رجیستر به منزله خروجی کردن پایه مربوطه بوده و صفر کردن آن به منزله ورودی کردن پایه می باشد.


رجیستر LPC_GPIOX->FIOMASK: از این رجیستر جهت قفل کردن رجیستر های FIOPIN و FIOSET و FIOCLR استفاده می شود. در صورت یک کردن هر بیت از این رجیستر بیت مورد نظر در سه رجیستر ذکر شده بالا قفل می شود و دیگر نمی توان آن را تغییر داد. در صورت صفر شدن هر بیت آن بیت در سه رجیستر ذکر شده از حالت قفل خارج می شود.


رجیستر LPC_GPIOX->FIOPIN: از این رجیست به منظور خواندن اطلاعات ورودی استفاده می شود.مقدار خوانده شده ووردی در این رجیستر قرار می گیرد.


رجیستر LPC_GPIOX->FIOSET: به منظور یک کردن یک پایه که به صورت خروجی تنظیم شده است از این رجیستر استفاده می شود.با یک کردن هر یک از بیت های این رجیستر پایه مورد نظر یک خواهد شد. نوشتن مقدار صفر در این رجیستر تاثیری روی خروجی و این رجیستر نخواهد داشت.


رجیستر LPC_GPIOX->FIOCLR: به منظور صفر کردن یک پایه که به صورت خروجی تنظیم شده از این رجیستر استفاده می شود. برای صفر کردن یک پایه باید مقدار یک در بیت های این رجیستر نوشته شود. نوشتن مقدار صفر تاثیری در خروجی و این رجیستر نخواهد داشت.


رجیستر LPC_GPIOX->FIOSEL: از این رجیستر به منظور انتخاب عملکرد یک پایه استفاده می شود. در میکروکنترلرهای آرم یک پایه می تواند چندین عملکرد داشته باشد به عنوان مثال می تواند به عنوان SPI یا UART یا ووردی و خروجی عمومی استفاده شود. در این رجیستر از دو بیت برای تعیین عملکرد یک پایه استفاده شده است. برای اطلاعات بیشتر می توانید به دیتاشیت و یا نرم افزار ARM WIZARD مراجعه کنید.


رجیستر LPC_GPIOX->FIOMODE: از این رجیستر برای فعال کردن مقاومت های PULL UP و PULL DOWN استفاده می شود.برای اطلاعات بیشتر در مورد چگونگی فعال شدن این مقاومت ها به رفرنس منوال تراشه LPC1768 مراجعه کنید.

 

دانلود فایل PDF از پایه های میکروکنترلر LPC1768

 

دانلود فایل PDF پایه های میکروکنترلر LPC1768