آموزش الکترونیک

آموزش و ارائه اطلاعات ، تجریبات و نکات در زمینه الکترونیک

آموزش الکترونیک

آموزش و ارائه اطلاعات ، تجریبات و نکات در زمینه الکترونیک

پیوندهای روزانه

۱۶ مطلب در مهر ۱۳۹۲ ثبت شده است

  • ۰
  • ۱

راه اندازی یک پروژه تحت سیستم عامل RTX :

از منوی Project --> New uvision Project یک پروژه جدید ایجاد کنید و در این مرحله میکرو مورد نظر (STM32F103RE) را انتخاب کنید.
پنجره انتخاب میکرو

در این مرحله با پیغام درخواست کپی فایل startupxxx.s مواجه می شوید آن را تایید کنید تا فایل Startup.s به کنار پروژه شما کپی و همچنین در پروژه اضافه گردد. (اسم این فایل با توجه به میکروی انتخابی می باشد)

برای مشاهده ادامه مطلب روی ادامه مطلب کلیک کنید.
  • مهداد قاسمیان مشکانی
  • ۰
  • ۰
CMSIS چیست ؟

CMSISیک واسط نرم افزاری بین برنامه نویس ، هسته آرم ، سیستم عامل و امکانات جانبی میکرو می باشد که کار با امکانات جانبی را ساده میکند و در ضمن زمان سازگاری کد در هنگام تعویض قطعه را کاهش میدهد.

هر شرکت برای میکروهای خود فایل های درایور cmsis را تولید کرده و شما کافی است آن ها را از سایت شرکت دانلود کرده و به پروژه خود اضافه کنید. نحوه کارکرد آن ها نیز در سایت می باشد.(به فایل ایجاد اولین پروژه مراجعه کنید)

فایل های cmsis مربوط به startup نیز در پوشه نصب نرم افزار کیل می باشد. به راهنما قسمت Folder structure و همچنین فایل ایجاد اولین پروژه مراجعه کنید.

نحوه استفاده از CMSIS ؟

تنظیمات و راه اندازی تمام درایور ها به صورت ساختارها تعریف شده اند.

کافی است این ساختارها را با گزینه های موجود پر کنید و دستور تنظیم در اساس آن ساختار را بدهید.

تمام این ساختارها و دستورات در هدر های هر درایور موجود است.

برای مثال میخواهیم GPIOB.0 را به عنوان خروجی و با مقاومت بالا کش با قابلیت کار تا فرکانس 50 مگا هرتز تنظیم کنیم.

اولا این که از کجا متوجه می شویم که میشود یک پایه را با این حالت تنظیم کرد و برای مثال آیا مقاومت پایین کش دارد یا نه؟ آیا یک پایه میتواند در حالت ورودی باشد یا نه؟ و یا مثلا یک تایمر چه مکاناتی دارد که ما بخاهیم توسط این ساختارها آن امکانات را انتخاب و برخی را فعال و برخی را غیر فعال کنیم؟ و از این قبیل سوالات، جواب این سوالات در دیتاشیت Reference  Manual قطعه موجود است.

ابتدا یک متغییر بر اساس ساختار تعریف میکنیم.

GPIO_InitTypeDef GPIO_Init_Structure;

GPIO_InitTypeDef  یک ساختار است که در هدر stm32f10x_gpio.h تعریف شده است.


سپس ساختار را مطابق با تنظیم دلخواه پر میکنیم.

GPIO_Init(GPIOB, &GPIO_Init_Structure);

دستور GPIO_Init در هدر stm32f10x_gpio.h تعریف شده است.


حرف آخر :

به طور کلی برای استفاده از درایور های بالا شما نیاز به مطالعه منابع زیر دارید:

  1. دیتا شیت Reference Manual قطعه (RM0008)
  2. توضیحات درایور که در یک فایل راهنما در کنار درایور ها موجود است و همچنین در حال حاظر در لینک نیز موجود است. برای مطالعه درایور ها در لینک فوق به قسمت Modules رفته و سپس گزینه STM32F10X_Stdperiph_Driver را باز کنید.
  3. مطالعه هدر فایل های هر درایور. 
  4. مثال هایی که در دسترس است.
روند کار برای همه سخت افزارها چیزی مشابه با مثال بالا است.

  • مهداد قاسمیان مشکانی
  • ۰
  • ۰

سیستم عامل RTX:

سیستم عامل بلادرنگ در واقع یک سیستم عامل multi task است که برای عملیات بلادرنگ در نظر گرفته شده است و پارامترهای آن به گونه ای تنظیم شده اند که محدودیت های زمانی مورد نیاز را برآورده کند. سیستم عامل چهارچوبی را برای اجرای برنامه و ارتباط بین آنها فراهم میکند. سیستم عامل ها از لحاظ تعداد برنامه های در حال اجرا به دو دسته single task و multi task تقسیم می شوند. در سیستم عامل های multi task ، چندین برنامه آماده اجرا در حافظه وجود دارند که سیستم عامل زمان پردازنده را بین آنها تقسیم میکند. قسمتی از سیستم عامل که زمان پردازنده را بین این برنامه ها تقسیم کیند Scheduler نام دارد. Scheduler بر طبق الگوریتم زمان بندی تعریف شده ، یکی از برنامه های آماده برای اجرا را انتخاب میکند سپس کنترل اجرای دستورات ، توسط قسمت دیگری از سیستم عامل به عنوان Dispatcher به این برنامه ی انتخاب شده منتقل می شود.

ادامه توضیحات سیستم عامل و همچنین دستورات آن را از اینجا دانلود کنید.

  • مهداد قاسمیان مشکانی
  • ۰
  • ۰

MDK-ARM چیست؟ طریقه نصب و لایسنس آن چطور است؟

از ورژن 4 به بعد محصولات شرکت کیل همگی تحت عنوان MDK-ARM عرضه می شود.

MDK-ARM شامل :

  1. uvision IDE : که یک محیط برنامه نویسی به زبان C/C++/assembly و عیب یابی برای قطعات بر پایه هسته ARM7 ، ARM9 و Cortex می باشد.
  2. RL-ARM : یک سری کتابخانه هایی هستند که شامل RL-RTX , RL-TCPnet , RL-FlashFS , RL-USB , RL-emWIN می باشد.

نرم افزار Keil چیست ؟

نرم افزار Keil-uvision محیطی کاربر پسند برای کد نویسی ، عیب یابی و پروگرام کردن میکروهای با هسته ARM می باشد.

شرکت کیل البته دو سری نرم افزار دارد که یک سری برای برنامه نویسی میکرو های 8051 و سری دیگر برای کد نویسی میکرو های ARM می باشد.

برای نحوه کار کرد با محیط نرم افزار به راهنمای کامل آن که همراه با نرم افزار است در قسمت Uvision Guide Uvision IDE مراجعه کنید.


نصب نرم افزار :

آخرین ورژن در حال حاضر 4.72 می باشد که به سادگی با پر کردن یک فرم از سایت شرکت keil به نشانی www.keil.com قابل دانلود می باشد. نصب نرم افزار ساده و مشابه دیگر نرم افزار ها می باشد.

لایسنس :

از منوی File --> License Management کد CID (در بالا گوشه سمت راست) را کپی کنید و این کد را در نرم افزار کرک وارد کرده کد دیگری تولید می شود که کد جدید را در پایین همین پنجره در قسمت New License ID Code وارد کنید و کلید ADD LIC را بزنید. سپس پنجره را ببندید.

LicenseManagement


پس از نصب ، قبل از انجام هر کاری تنظیمات زیر را اجرا کنید:

در منوی Edit گزینه Configuration را انتخاب کنید و در پنجره باز شده تنظیمات را مطابق با عکس زیر قرار دهید :

تنظیمات

توجه : تنظیم Encoding به حالت Encoding in UTF-8 باعث نمایش صحیح متن فارسی در نرم افزار می شود.

  • مهداد قاسمیان مشکانی
  • ۰
  • ۰

فایل PDF میکرو STM32F103RET و STM32F103CBT را از لینک های زیر دانلود کنید :

STM32F103RET6XXX

STM32F103CBT6XXX

فایل Reference manual را از لینک زیر دانلود کنید. در این فایل نحوه استفاده از امکانات جانبی و حافظه آی سی میکرو مورد نظر ما توضیح داده شده است. این فایل توسط شرکت ST تهیه شده است.

RM0008 CD00171190

فایل Programming manual را میتوانید از لینک زیر دانلود کنید. البته برای شروع نیاز نیست.

PM0056 CD00228163

  • مهداد قاسمیان مشکانی
  • ۱
  • ۰

بسم الله الرحمن الرحیم

آیتم های آموزش :

1.        میکرو انتخابی STM32F103RET می باشد.

2.        آموزش از حالت ساده شروع و به سرعت به حالت استفاده از سیستم عامل RTX و همچنین درایور های CMSIS خواهد رسید.

3.        توجه شود که این آموزش ها کامل نیستند چرا که من این فایل ها را در خلال انجام یک پروژه صنعتی با میکروی ARM به منظور یادداشت برداری از تجربیات تهیه کردم. و به هدف آموزش جامع تهیه نشده است.

4.        در هر پست از این آموزش، شماره پست به ترتیب قید خواهد شد. توصیه میکنم باتوجه به طبقه بندی بودن مطالب هر پست را به ترتیب و به دقت مطالعه نمایید.

5.        استفاده علمی و تجاری هیچ گونه منعی ندارد. در صورت تمایل یک صلوات به روح مطهر بانوی دو عالم حضرت فاطمه (س) هدیه نمایید.

6.        این وبلاگ هیچ گونه تعهدی بابت درست کار کردن پروژه شما ندارد.

7.       نظر فراموش نشود.

  • مهداد قاسمیان مشکانی