تلفن : 02177221223 - 02177223107
ایمیل : info@revsa.ir
ساعت کاری : شنبه الی چهارشنبه (8 تا 17)

دوره آموزشی ARM-STM4 سطح 1

Submitted by admin on دوشنبه, 03/24/1400 - 13:51

معرفی دوره: 

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

این پردازنده ها با معماری و کارایی های متنوعی به بازار عرضه شده اند تا کاربردهای مختلف را پوشش دهند و فرکانس کاری آنها با توجه به معماری به کار رفته از چند ده مگاهرتز تا چند گیگاهرتز است که به صورت چند هسته ای نیز عرضه شده است. همچنین تعبیه واحدهای سخت افزاری برای انجام عملیات خاص با سرعت بالا، امکان انجام پردازشهای بلادرنگ و پیاده سازی سیستم عامل های RTOS را میسر نموده است. این پردازنده ها به قدری محبوب شده اند که شرکت های تولید کننده FPGA مانند Xilinx نیز در سری Zynq تعداد دو هسته ARM با فرکانس یک گیگاهرتز را در کنار FPGA تعبیه نموده است تا با استفاده از این هسته ها کارایی تراشه های خود را به حداکثر برساند.

پردازنده های ARM در ابتدا به صورت هسته ی پروسسوری به بازار عرضه شدند و بعد از مدتی تحول بزرگی در بازار میکروکنترلرها ایجاد کردند. اکثر شرکتهای تولید کننده میکروکنترلر قبلا هر کدام با معماری خاص خودشان میکروکنترلر به بازار عرضه میکردند و با ورود هسته های ARM به بازار، در مدت زمان کوتاهی به سمت این هسته ها گرایش پیدا کردند و این هسته را جایگزین هسته میکروکنترلرهای خود کردند. بدین صورت که در کنار هسته ARM اجزای جانبی مورد نیاز یک میکروکنترلر مثل پورتهای سریال، تایمر، کنترلر نمایشگر، شبکه، USB و ... را تعبیه نموده و به صورت میکروکنترلر جدید خود به بازار عرضه نمودند. این کار باعث یکپارچه شدن معماری تراشه و نرم افزارهای مرتبط شد، بدین معنی که با یادگیری میکروکنترلر یک شرکت به راحتی میتوان با تلاش اندکی در مدت کوتاه بر روی محصول شرکت دیگری تسلط پیدا کرد چون هسته همه اینها ARM می باشد. به همین دلیل شاهد این هستیم که میکروکنترلرهای جدید با هسته ARM در حال جایگزین شدن با میکروکنترلرهای 8 بیتی هستند. این نوید خوبی برای مهندسانی است که میخواهند شروع به یادگیری یک میکروکنترلر حرفه ای کنند در عین حال که به راحتی بین شرکت ها سوییچ کنند و توانایی انتخاب تراشه با تنوع زیاد برای هر کاری داشته باشند. بنابراین برای یادگیری، از محصول هر شرکتی استفاده کنیم، دانشی که بدست می آید برای همه شرکت ها قابل استفاده است.

در این دوره، میکروکنترلر شرکت ST آموزش داده می شود. شرکت ST از هسته های ARM در میکروکنترلرهای سری STM32 استفاده کرده است. در برخی از این میکروکنترلرها هسته های با معماری Cortex-M4 به کار رفته است. هسته های Cortex-M4 از پیشرفته ترین معماری های حاضر برای میکروکنترلرهاست که کارایی آن 1.25 DMIPS/MHz است و دارای واحد DSP و FPU است که آنرا برای کارهای کنترل دیجیتال پیشرفته و پردازش سیگنال مناسب ساخته است. میکروکنترلر انتخاب شده در این دوره از سری STM32F4XX است که با فرکانس کاری 180MHZ، قابلیت اجرای 225MIPS را دارند.

معرفی اجمالی سری STM32F4XX

گذرگاه های ارتباطی ماتریسی چند لایه در این میکروکنترلر به گونه ای است که امکان برقراری ارتباط های همزمان بین بخش های مختلف آن وجود دارد. وجود سه ADC مستقل 12 بیتی امکان نمونه برداری تا فرکانس 7.2M را فرآهم کرده است.. در این میکروکنترلر ها واحدی به نام DCMI تعبیه شده است که به آسانی بتواند با دوربین ارتباط برقرار کند. همچنین رابط های پیشرفته سرعت بالا مانند USB HS با سرعت 480Mbit/s ، Ethernet و ... امکان پیاده سازی یک سیستم حرفه ای با این تراشه را میسر ساخته است. در بخش زیر خلاصه ای از امکانات این تراشه آورده شده است و برای جزییات بیشتر به برگه اطلاعاتی شرکت سازنده مراجعه شود.

  Frequency up to 180 MHz, MPU, 225 DMIPS/1.25 DMIPS/MHz -

Up to 2 MB of Flash memory organized into -

Up to 256+4 KB of SRAM including 64-KB -

Flexible external memory controller: SRAM,PSRAM,SDRAM,Compact Flash/NOR/NAND -

LCD parallel interface, 8080/6800 modes -

LCD-TFT controller up toSVGA resolution -

3x12-bit, 2.4 MSPS ADC: up to 24 channels and 7.2 MSPS in triple interleaved mode -

3x12-bit D/A converters -

General-purpose DMA: 16-stream DMA -

Up to 17 timers: each with up to 4 IC/OC/PWM or pulse counter and QEI -

Up to 164 fast I/Os up to 90 MHz, 5 V-tolerant I/Os -

(Up to 3 × I2C interfaces (SMBus/PMBus -

(Up to 4 USARTs/4 UARTs (11.25 Mbit/s -

(Up to 6 SPIs (45 Mbits/s -

(1xSAI (serial audio interface -

2xCAN (2.0B Active) and SDIO interface -

USB 2.0 full-speed device/host/OTG -

USB 2.0 high-speed/full-speed device/host/OTG 480 Mbit/s -

10/100 Ethernet MAC with dedicated DMA -

8to14-bit parallel camera interface up to 54 Mbytes/s -

Cryptographic: AES 128,192,256, Triple DES, HASH (MD5, SHA-1, SHA-2), and HMAC -

True random number generator -

CRC calculation unit -

96bit unique ID -

RTC: subsecond accuracy, hardware calendar -

همچنین Library بسیار قوی و کارآمدی برای کار با اجزای جانبی این تراشه ها و حتی مبانی پردازش سیگنال، در اختیار کاربران قرار دارد که کار را برای کسانی که می خواهند با این پردازنده کار کنند، بسیار آسان می کند. این Library تحت عنوان CMSIS به صورت Open Source منتشر شده است.

سرفصل دوره: 

1) آشنایی با میکروکنترلر های خانواده ARM

  • سیر تکامل پردازنده های ARM و معرفی هسته های Cortex-M4
  • نقشه حافظه و معماری باس میکروکنترلرهای سری STM32F4

2) مصرف توان و کلاک

  • واحد مدیریت توان
  • منابع مختلف کلاک
  • واحد ریست و ساعت نگهبان

3) ورودی/خروجی های چند منظوره

  • ساختار پورت های GPIO
  • نحوه به کارگیری پین در عملکردهای مختلف
  • راه اندازی مدارLED  چشمک زن

4) پروگرام کردن میکروکنترلر

  • مباحث اولیه در برنامه نویسی میکروکنترلر ARM به زبان C
  • آشنایی با کامپایلر KeilUvision
  • ایجاد و اجرای پروژه در محیط Keil

5) وقفه ها و رویدادها

  • آشنایی با وقفه و منبع NVIC
  • وقفه های خارجی با مثال

6) تایمر

  • معماری و طرز کار تایمرها
  • تولید انواع توابع تاخیر با تایمر
  • تولید موج مربعی با تایمر
  • تولید PWM با تایمر

7) رابط سریال UART

  • ارتباط با کامپیوتر توسط پورت UART

8) رابط سریال SPI

  • ارتباط دو تراشه از طریق SPI

9) رابط سریال I2C

  • خواندن و نوشتن بر روی حافظه سریال EEPROM

10) واحد RTC

  • ساخت ساعت و تقویم توسط RTC

11) واحد ADC

  • معماری و نحوه عملکرد آن
  • نمونه برداری از سیگنال توسط ADC با مثال

12) واحد DAC

  • معماری و نحوه عملکرد آن
  • پخش موزیک توسط DAC

 

مدت دوره :  30 ساعت ( 10 جلسه 3 ساعته )

 پیش نیاز : آشنایی با یک میکروکنترلر 8 بیتی، آشنایی با زبان برنامه نویسی سی

محل برگزاری دوره : در محل شرکت

وضعیت دوره :  فعلا برگزار نمی گردد.