بایگانی ماهیانه: تیر ۱۳۹۴

دانلود نرم افزار مرتبط با میکروکنترلرهای ARM

در این قسمت لینک دانلود نرم افزارهای کاربردی که در کار با میکروکنترلرهای ARM به آن برمی خورید قرار داده شده است :

پسوردها: www.arm-education.ir

——————————————————

کامپایلر keil 4.74 برای کار با میکروکنترلرهای ARM :

قسمت اول   قسمت دوم   قسمت سوم   قسمت چهارم   قسمت پنجم   قسمت ششم   قسمت هفتم   قسمت هشتم   قسمت نهم   قسمت دهم

——————————————————

برای دانلود آخرین ورژن keil5 به سایت کیل مراجعه فرمایید -> ایجاد پروژه در Keil 5

وقتی کیل ۵ را (MDK-ARM) به همراه پک های مربوطه نصب کرده باشید و بخواهید با آن پروژه ای که با کیل ۴ ایجاد کرده اید باز کنید، صفحه ای باز می شود. با زدن migrate to device pack پروژه با کیل۵ باز می شود و دیگر با کیل ۴ باز نمی شود! با زدن install legacy support مرورگر به آدرسی هدایت می شود که می توان پکی دانلود کرد (بسته به نوع میکرو و ورژن کیل۵) که با نصب آن پروژه هایی با کیل ۴ ایجاد شده باشد با کیل ۵ بدون مشکل باز و کامپایل شود.

——————————————————

JLink برای شناختن پروگرامر جیلینک در کامپیوتر بایستی نصب شود(ورژن V490b و V426b) :

Setup_JLinkARM

——————————————————

FlashMagic برای پروگرام کردن میکروکنترلرهای lpc با پورت سریال از این نرم افزار استفاده می شود:

Flashmagic

——————————————————

ARMwizard نرم افزاری که برای سری های میکروکنترلر NXP می باشد و کاربرد عمده آن برای مشاهده پایه های یک پریفرال می باشد. ضمن اینکه می تواند یک کد اولیه از پیکربندی بعضی قسمت ها ارائه کند.

ARMwizard_v3.3.0

——————————————————

هایپرترمینال ویندوز ۷ و نرم افزار ترمینال برای مانیتورینگ پورت سریال:

Hyper Terminal For Win7          Terminal

——————————————————

Image2Lcd برای تبدیل عکس و نمایش روی TFTLCD :

Image2Lcd

——————————————————

sam-ba برای آیدیت کردن فایرور پروگرامر جیلینگ :

sam-ba_2.10

——————————————————

درایور مبدل یو اس بی به سریال آی سی CP210x و PL2303 :

CP210x USB to UART Bridge VCP Drivers        PL2303_Prolific_DriverInstaller_v1_10

——————————————————

free-usb-analyzer برای مانیتورینگ یو اس بی می توان استفاده نمود:

free-usb-analyzer

——————————————————

Wireshark برای مانیتورینگ شبکه اترنت استفاده می شود:

Wireshark-win32-1.10.5

——————————————————

Hercules برای ارسال دریافت UDP و TCP در شبکه :

hercules_3-2-6

——————————————————

و نرم افزار stm32cubemx برای کار با سری های stm32 از این نرم افزار به عنوان کمکی برای تنظیمات اولیه پریفرال ها و ایجاد پروژه می توان استفاده کرد. این نرم افزار به همراه پک های آن را می توانید از سایت st دانلود نمایید .

http://zarkoob.persiangig.com/image/STM32CubeMX.jpg

در قسمت Get Software خود نرم افزار STM32CubeMX قابل دانلود است که هر بار ورژن جدیدتر قرار داده می شود.
در قسمت Embedded Software نیز پک های هر سری از میکروهای stm32 قرار دارد که در که در فیلم آموزشی نیز ملاحظه شد چگونه از STM32CubeF1 استفاده شده است.

برای نصب این نرم افزار نیاز به java هست :

sun.java.7.0.80.x86

——————————————————

کامپایلر IAR برای میکروکنترلرهای STM8

http://www.arm-education.ir/im/IAR_STM8.png

این میکروکنترلرها ازشرکت ST ، هشت بیتی هستند البته جزو دسته میکرهای ARM حساب نمی شوند.

——————————————————

نرم افزار STM8CubeMX :

http://www.arm-education.ir/im/STM8CubeMX.png

پسوردها: www.arm-education.ir

 بهتر است صفحه دانلود در فایرفاکس یا کروم باز شود

در حال بروز رسانی

کتابخانه cmsis چیست؟

cmsis که مخفف Cortex Microcontroller Software Interface Standard می باشد، کتابخانه ای است که برای استفاده ساده تر از میکرو برای سری های ARM Cortex .

و اما نحوه استفاده چیست؟

برای هر سری میکرو کتابخانه های آن به همراه مثال های آن موجود است. این کتابخانه شامل فایل های c. و h. می باشد. فایل های c. که لازم است استفاده شود،به پروژه اضافه شده و h. هم ابتدای برنامه include می شود. به عنوان مثال می خواهیم از پریفرال gpio استفاده کنیم :

در این حالت دیگر لازم نیست از دستورات رجیستری برای خروجی کردن پایه و ست و ریست کردن و .. استفاده شود:

GPIO_SetDir(2, 0xff, 1); //LEDs PORT2 0…7 are Output

GPIO_SetValue(2,1<<0); //LPC_GPIO2->FIOSET = 1<<0;

GPIO_ClearValue(2, 1<<0);  //LPC_GPIO2->FIOCLR = 1<<0;

معادل هر دستور به صورت رجیستری جلوی هر خط نوشته شده است.

و اما در داخل این دستورات cmsis چه اتفاقی می افتد؟ به عنوان مثال همان طور که مشاهده می کنید از دستورات رجیستری استفاده شده است :

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

برای میکروی stm32 نیز چنین کتابخانه ای برای پریفرالهای مختلف قابل استفاده است به عنوان مثال برای gpio :

GPIO_Init(GPIOA, &GPIO_InitStructure);

GPIO_WriteBit(GPIOA,GPIO_Pin_2,Bit_SET);

GPIO_WriteBit(GPIOA,GPIO_Pin_2,Bit_RESET);

همان طور که مشاهده می شود از نکات مثبت استفاده از cmsis سادگی در تغییر کانفیگ پریفرال مورد نظر است. همچنین قابل فهم بود دستور با خواندن آن است.

نظرات مختلفی در مورد اینکه کدام بهتر است وجود دارد. نظر شما چیست؟

شما هر کدام را می پسندید انتخاب کنید و از آن در کارتان استفاده کنید. موقعی که با آن درگیر شدید بیشتر به نقاط ضعف و قوت آن آشنا می شوید.

در انتها یک مثال cmsis برای gpio در میکروی lpc1768 و stm32103rb به همراه لینک دانلود کتابخانه های cmsis چند میکرو قرار داده شده است :

gpio_cmsis_lpc1768

gpio_cmsis_stm32

lpc17xx.cmsis.driver.library

lpc177x_8x.cmsis.driver.library

STM32F10x_StdPeriph_Lib_V3.5.0

STM32F4xx_DSP_StdPeriph_Lib_V1.0.1

پسورد: www.arm-education.ir

بررسی gpio در میکروکنترلرهای STM32

در سری stm32f10x با استفاده از رجیسترهای CRL و CRL عمل کانفیگ پایه ها انجام می شود.به عنوان مثال :

GPIOA->CRL &= ~0xFF00; /* PA.2 , PA.3 clear */
GPIOA->CRL |= 0x2200 ; // PA2 , PA3 output Max Speed 2 Mz(push-pull)

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

از رجیسترهای ODR و BSRR و BRR برای ست رو ریست کردن پایه ها استفاده می شود.

برای ست کردن از دستور:

GPIOA->BSRR  = (۱<<2) ;

یا :

GPIOA->ODR  |= (۱<<2) ;

استفاده می شود. اما بین این دو دستور یک تفاوت وجود دارد. به نظر شما این تفاوت در چیست؟

برای ریست کردن نیز :

GPIOA->BRR  = (۱<<2) ;

یا :

GPIOA->BSRR  = (۱<<18) ;

 

————————————————————-

در سایر سری های این نوع میکرو از رجیسترهای MODER و OTYPER و OSPEEDR و PUPDR عمل کانفیگ پایه ها انجام می شود.

از این قسمت برنامه ها را می توانید دانلود نمایید.

gpio_stm32f103

پسورد : www.arm-education.ir

بررسی gpio در میکروکنترلرهای LPC17xx

ساده ترین راه اندازی برای یک میکروکنترلر قائدتا می تواند ست و ریست کردن یک پایه یا همان چشمک زدن تعدادی LED باشد.

در میکروکنترلر lpc1768 این کار با چند رجیستر FIODIR و FIOSET و FIOCLR و FIOPIN انجام می شود. ابتدا با رجیستر FIODIR پایه مربوطه را خروجی کرده و با دو رجیستر FIOSET و FIOCLR آن را ست و ریست می کنیم :

LPC_GPIO1->FIODIR = (1<<25) | (1<<26); /* LED PORT1 25 is Output */
LPC_GPIO1->FIOCLR = (1<<25) | (1<<26); /* turn off the LEDs */
while(1)
{
LPC_GPIO1->FIOSET = 1<<25;
LPC_GPIO1->FIOSET = 1<<26;
delay(d);

LPC_GPIO1->FIOCLR = (1<<25) | (1<<26);
delay(d);
}

با استفاده از رجیستر FIOPIN عمل خواندن از یک پورت انجام می شود. در صورتی که بخواهیم وضعیت صفر یا یک بودن یک پایه مشخص را بخوانیم بدین صورت عمل می کنیم:

while( (LPC_GPIO2->FIOPIN & (1<<11))==0)
{
……
}

البته با رجیستر FIOPIN می توان تغییر وضعیت در پایه خروجی ایجاد کرد شبیه رجیسترFIOSET :

LPC_GPIO1->FIOPIN = ۱<<25;

LPC_GPIO1->FIOPIN = ۱<<26;

ولی تفاوت در چیست؟

در پروژه خود این دو خط را در سیمولاتور کیل دیباگ کنید و با دیباگ این دو خط مقایسه کنید. چه تفاوتی مشاهده می کنید؟

همچنین در این میکروکنترلر می توان به صورت ۸ تایی و همین طور ۱۶ تایی از رجیسترهای gpio استفاده کرد :

LPC_GPIO1->FIOSET  = ۱<<25;

LPC_GPIO1->FIOSETH  = ۱<<9;

LPC_GPIO1->FIOSET3 = 1<<1;

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

در مواقعی لازم می شود از رجیستر FIOMASK هم استفاده شود. بیتی که توسط این رجیستر ست شود، دیگر توسط دستور FIOSET و FIOCLR ست و ریست نمی شود. به نظر شما این عملکرد چه کاربرد عملی می تواند داشته باشد؟

————————————————————-

در میکروکنترلر lpc1788 این کار با چند رجیستر DIR و SET و CLR و PIN انجام می شود. مانند lpc1768

به نظر شما در میکرو lpc1788 رجیسترهای gpio را می توان به صورت ۸ بیتی و ۱۶ بیتی استفاده کرد؟ ابتدا تست کنید و بعد نظر دهید ….

برنامه ها را می توانید دانلود نمایید.

gpio_lpc1768

gpio_lpc1788

 پسورد : www.arm-education.ir

اجرای پروژه

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

جهت سفارش پروژه از قسمت تماس با ما اقدام فرمایید.

کلاس حضوری آموزش میکروکنترلرهای ARM

کلاس های حضوری به دو صورت خصوصی و عمومی برگزار خواهد شد.

خصوصی : مناسب فن آموزانی که  از مباحث دوره های آموزشی میکروکنترلرهای ARM ، مباحث خاصی مد نظر دارند یا نمی توانند زمان خاص و مشخصی را برای کلاس عمومی قرار دهند.

عمومی : برای آموزشگاهها، سازمانها ، شرکت ها و نهادهایی که متقاضی برگزاری یک دوره آموزشی برای دانشپذیران یا پرسنل خود هستند.

در صورتی که تقاضای دوره ای دارید از قسمت تماس با ما اقدام فرمایید.

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

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

یک اینترنت ADSL مناسب و یک میکروفن و هدفن و نصب دو نرم افزار ابزار لازم برای این کار هستند. از طریق یک نرم افزار، تصویر دسکتاپ مدرس قابل مشاهده است و از طریق نرم افزار دیگری صدا به صورت دو طرفه خواهد بود.

در طول این چندین سال دوره های بسیار متعدد آنلاین در جهت پاسخگویی به نیاز شما، برگزار شده است .

در صورتی که تقاضای دوره ای دارید از قسمت تماس با ما اقدام فرمایید.

سرفصل دوره آموزش حرفه ای میکرو کنترلر STM32

http://www.arm-education.ir/im/GE64LQFP_STM32-40.jpg

سرفصل مطالب :

مقدمه: شامل آشنایی با این سری از میکروکنترلرها و مزیت ها و تفاوت های آن و …

سری های

STM32F0       STM32F1        STM32F2     STM32F3      STM32F4       STM32F7

STM32L0       STM32L1

آشنایی با کامپایلر keil و ایجاد پروژه با انواع سری ها و روشهای پروگرام کردن

شرح تمام پریفرال ها با رجیستر و  همچنین کتابخانه CMSIS و HAL  در موارد لازم.

 – مقدماتی متوسط

– پیشرفته

جزییات سرفصل مقدماتی:

– مقدمه : معرفی ساختار پردازنده های ARM و آشنایی با میکروهای ARM CORTEX M3 و STM32 سری:

ARM CORTEX M0 : STM32F030
ARM CORTEX M3 : STM32F103RB, STM32F103VE , STM32F107VC
ARM CORTEX M4 : STM32F407 ,  STM32F429 , ….

– آشنایی با کامپایلرها و کار با کامپایلر Keil µvision ، روش ایجاد پروژه به صورت اصولی و روشهای برنامه ریزی میکروکنترلر و عیب یابی

– زبان C : شرح کلیاتی از مواردی که مورد نیاز است. استفاده از موارد برنامه نویسی در طول دوره

– رجیسترهای ورودی خروجی (Gpio) و کاربردهای آن شامل:

راه اندازی ۷seg و ملاحظات برنامه نویسی

lcd کاراکتری ۱۶*۲ و ایجاد کتابخانه ای برای استفاده در کلیه میکروها

LCD گرافیکی ۶۴*۱۲۸

اتصال کیپد۴*۴ به میکرو

روش اتصال LCD رنگي به میکروکنترلر ARM و نمایش روی TFT LCD های ۴٫۳ و ۷ اینچ با درایور ssd196 در مد GPIO  (کاربرد : نمایش عکس از فلش خود میکرو)

و سایر کاربردهای gpio

نحوه ایجاد کتابخانه .c و .h و اد کردن آن به پروژه جهت سهولت در استفاده های بعدی، کاربردها ومزایای آن

– وقفه ها و کاربردها و مثالها

– بررسی واحد کنترل وقفه NVIC در سری CORTEX

– System Tick TImer و کاربردهای آن

– رابط پورت سریال UART (ارسال و دریافت به صورت polling و وقفه و استفاده از توابع stdio) و مثالها و کاربردهای آن در عمل

– مبدل آنالوگ به دیجیتال (ADC) و مثالها و کاربردها

– مبدل دیجیتال به آنالوگ (DAC) و کاربردها (پخش فایل صوتی از فلش خود میکرو با DAC)

– تایمر و شمارنده (timer-counter) و کاربردها ، مدلاسیون PWM ،  و کاربردها (شامل : پخش فایل صوتی از فلش خود میکرو با PWM و …) انکدر

– واحد ساعت داخلی RTC نمایش ساعت قابل تنظیم و استفاده از باطری Backup و مثالها

– تایمر واتچ داگ

و مثالهای ترکیبی و کاربردی با پریفرالهای مختلفی که در این دوره فرا گرفته می شود و در پروژه ها از آن استفاده شده است.

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

————————————————————–

جزییات سرفصل پیشرفته :

– تنظیمات کلاک و پاور (RCC)

– مد ارتباطی SPI و کاربردها(spi Flash,NRF,OLED,…)

– اتصال Touchscreen (تاچ مقاومتی) و بدست آوردن مختصات محل لمس شده و نمايش آن روي TFT LCD و مثالها

– FSMC جهت راه اندازی TFT LCD

– I2C و ارتباط با EEPROM

– راه اندازی تاچ خازنی GT911 با I2C
– تایمر واتچ داگ (WDT)
– استفاده از DMA براي جلوگيري از هدر رفتن زمان CPU شامل :
(Mem-Mem , Mem-Peripheral , Peripheral –Mem or Peripheral-Peripheral)
– SD-MMC : شامل کار با کتابخانه Fat-fs و Flash-fs– ایجاد فایل و خواندن و نوشتن در آن، کار با پوشه کاربرها (نمایش عکس روی TFT LCD از SD و پخش فایل صوتی از SD)
– USB : راه اندازی USB در چند حالت مثل HID, MASS STORAGE, CDC و …
– ETERNET راه اندازی شبکه شامل ارسال و دریافت اطلاعات (Data) بین دو برد مختلف ، ارسال و دریافت اطلاعات بین برد و PC با بکار گیری پروتکل های UDP و TCP و..
– CAN
– پیاده سازی سیستم عامل RTX روی میکروکنترلر و Multi Tasking

در صورتی که متقاضی این دوره هستید از قسمت تماس با ما اقدام فرمایید.

سرفصل دوره آموزش حرفه ای میکرو کنترلر LPC1788

دلیل استفاده از این میکروکنترلر، قابلیت های اضافه ای است که نسبت به lpc1768 دارد.

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

۱- واحد (External Memory Controller (EMC جهت کار با SD کارت

۲-واحد (EEPROM Controller (EEPROM 

۳- راه اندازی و کار با رم خارجی

۴- راه اندازی و کار با واحد کنترلر داخلی TFT-LCD

۵- راه اندازی و کار با نند فلاش

سرفصل دوره آموزش حرفه ای میکرو کنترلر LPC1768

 

سرفصل مطالب :

دوره مقدماتی :

۱) مقدمه : معرفی ساختار پردازنده های ARM و آشنایی با میکروی ARM CORTEX M3

۲) آشنایی با کامپایلر Keil  و روشهای برنامه ریزی میکرو

۳) ورودی خروجی (Gpio)  و کاربردهای عملی آن شامل

lcd کاراکتری ۲*۱۶

اتصال کیپد۴*۴

کار با TFT LCD

۴) وقفه Gpio و وقفه خارجی و بررسی واحد کنترل وقفه NVIC

۵) رابط UART پورت سریال (ارسال و دریافت بدون وقفه و با وقفه )

۶) مبدل آنالوگ به دیجیتال (ADC)

۷) مبدل دیجیتال به آنالوگ (DAC)

۸) System Tick

۹) تایمر وقفه تکرار شونده (RIT)

۱۰) تایمر و شمارنده (Timer-Counter)

۱۱ ) مدلاسیون PWM

۱۲ ) ساعت داخلی RTC

دوره پیشرفته :

۱۳) تایمر WDT

۱۴) کلاک و کنترل پاور PWR (مد Sleep و ..)

۱۵) I2C و ارتباط با EEPROM

۱۶) مد ارتباطی SPI و SSP

۱۷) واحد DMA

(Mem-Mem , Mem-Peripheral , Peripheral –Mem or Peripheral-Periphera)

۱۸) SD-MMC

شامل کار با کتابخانه fat-fs و flash-fs با استفاده از مد SPI

۱۹) USB

راه اندازی Device  و Host در چند حالت مثل HID, MSD, CDC و Audio Device

۲۰) شبکه و اترنت شامل:

آشنایی با مفهوم ابتدایی شبکه
توضیح IP و نحوه عملکرد
بررسی لایه شبکه TCP
معرفی و استفاده از ابزار های شبکه
توضیح EMAC و آدرس فیزیکال شبکه
نحوه راه اندازی شبکه بر روی بورد آموزشی کویر
بررسی پرتکل ICMP,UDP,TCP
پیاده سازی شبکه با استفاده از RL-ARM

۲۱) پروتکل CAN

۲۲) RTX : آشنایی با ساختار multi task و آشنایی با توابع آن

جهت برگزاری دوره از قسمت تماس با ما اقدام فرمایید.