در صورتی که بخواهید با هزینه کمتری آموزشهای مقدماتی میکروکنترلرهای ARM را به صورت عملی پیاده سازی کنید می توانید از یک هدربرد استفاده کنید. در هدر برد امکاناتی بر روی برد قرار داده نشده و فقط خود میکرو و خروجی Jtag یا SW جهت پروگرام کردن وجود دارد و سایر پایه ها جهت هر استفاده ای بیرون کشیده شده است. شاید هم یک LED متصل به یکی از پایه های میکرو گذاشته باشند!
با قرار دادن چند LED و مقاومت روی بِرد بُرد و اتصال پایه های خروجی برد میکرو به آن قسمت خروجی GPIO تست می شود.
با قرار دادن چند سوییچ و Pull up کردن آن و اتصال پایه های برد میکرو به آن، قسمت خروجی GPIO و وقفه خارجی تست می شود.
با استفاده از یک مبدل یو اس بی به سریال و اتصال پایه های سریال به آن، قسمت UART را می توان به صورت عملی اجرا کرد.
با استفاده از یک پتانسیومتر و اتصال سر وسط آن به پایه های ورودی آنالوگ و قرار دادن نتیجه در سریال، واحد ADC را می توان استفاده کرد.
با اتصال پایه خروجی DAC در میکرو به یک اسپیکر می توان پخش فایل صوتی انجام داد.
خروجی تایمر و PWM را یا می توان توسط اسیلوسکوپ مشاهده یا به LED های روی برد برد متصل و با کاهش فرکانس امکان مشاهده آن را فراهم کرد.
نتیجه RTC روی همان پورت سریال قابل مشاهده است.
اتصال LCD کاراکتری و کیپد و سون سگمنت هم به هدر برد به سادگی انجام می شود.
البته داشتن یک برد کامل تر که دارای امکانات جانبی باشد، باعث صرفه جویی در زمان شما خواهد شد.
@armeducation
با قرار دادن چند LED و مقاومت روی بِرد بُرد و اتصال پایه های خروجی برد میکرو به آن قسمت خروجی GPIO تست می شود.
با قرار دادن چند سوییچ و Pull up کردن آن و اتصال پایه های برد میکرو به آن، قسمت خروجی GPIO و وقفه خارجی تست می شود.
با استفاده از یک مبدل یو اس بی به سریال و اتصال پایه های سریال به آن، قسمت UART را می توان به صورت عملی اجرا کرد.
با استفاده از یک پتانسیومتر و اتصال سر وسط آن به پایه های ورودی آنالوگ و قرار دادن نتیجه در سریال، واحد ADC را می توان استفاده کرد.
با اتصال پایه خروجی DAC در میکرو به یک اسپیکر می توان پخش فایل صوتی انجام داد.
خروجی تایمر و PWM را یا می توان توسط اسیلوسکوپ مشاهده یا به LED های روی برد برد متصل و با کاهش فرکانس امکان مشاهده آن را فراهم کرد.
نتیجه RTC روی همان پورت سریال قابل مشاهده است.
اتصال LCD کاراکتری و کیپد و سون سگمنت هم به هدر برد به سادگی انجام می شود.
البته داشتن یک برد کامل تر که دارای امکانات جانبی باشد، باعث صرفه جویی در زمان شما خواهد شد.
@armeducation
در DMA بایستی نوع انتقال را مشخص نماییم :
Mem-Mem
Mem-Peripheral
Peripheral –Mem
Peripheral-Peripheral
مثلا در Mem-Peripheral در نظر بگیرید کاراکترها در رشته ای قرار دارد و قرار است توسط پورت سریال ارسال شود. مبدا حافظه رم و مقصد پورت سریال و آغاز انتقال . بدین ترتیب بدون استفاده از تابعی مانند UART0_SendString و معطل شدن در این تابع ارسال انجام می شود!
@armeducation
Mem-Mem
Mem-Peripheral
Peripheral –Mem
Peripheral-Peripheral
مثلا در Mem-Peripheral در نظر بگیرید کاراکترها در رشته ای قرار دارد و قرار است توسط پورت سریال ارسال شود. مبدا حافظه رم و مقصد پورت سریال و آغاز انتقال . بدین ترتیب بدون استفاده از تابعی مانند UART0_SendString و معطل شدن در این تابع ارسال انجام می شود!
@armeducation
در مورد بحث کار و اشتغال مطلب مفیدی خواندم
که قسمتی از آن را باز نشر می کنم:
بیشترشان میخواهند کارمند شوند و حقوق بالاتر از یکمیلیون و ٧٠٠هزار تومان درخواست میدهند. مهارت خاصی بلد نیستند و تهتهش به معدل بالای نمراتشان تأکید دارند یا مثلا میگویند در دانشگاه دولتی درس خواندهاند
درسخواندهها کار تولیدی را در شأن خود نمیدانند.... جالب است بدانید حتی تحصیلکرده رشتههای فنی هم حاضر نیستند وارد کارخانهها شوند
مهارت کارجویان در سطح انتظار کارفرمایان نیست.
در فرهنگ ما ایرانیها دکتر و مهندسشدن، مدیر و رئیسشدن از کودکی بهعنوان ارزش شغلی به بچهها آموخته میشود و بخش عمدهای از سیل تقاضای ورود به دانشگاه هم ناشی از همین نگاه است. جالب است که رشتههای فنی و حرفهای با همین نگاه از ابتدا مورد استقبال قرار نگرفت و خانوادههای زیادی خواهان تحصیل بچههایشان در رشتههایی بودند که از آنها دکتر و مهندس تولید میشود.
مهارتهای دانشگاهی با مهارتهایی که بازار کار به آنها نیاز دارد، تطابقی ندارد.
در کشورمان آموزشها براساس نیاز بازار کار نیست و در شرایطی که افراد آموزشهای تئوری را در دانشگاهها دریافت میکنند، نیاز بازار کار چیز دیگری است.
مشکل فرهنگی-> جوانان آموزش ندیدهاند و خانوادهها به کارمندی و آب باریکه از گذشته روی آوردهاند و به آن یقین دارند.
http://tabnak.ir/fa/news/712673/%D8%A7%D9%81%D8%A7%D8%AF%D9%87%E2%80%8C%D9%87%D8%A7%DB%8C-%D8%A8%DB%8C%DA%A9%D8%A7%D8%B1%D8%A7%D9%86-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%DB%8C
—----------------------------
البته در مورد کارفرمایان مواردی به طور تجربی دیده شده که در پست های بعدی ذکر خواهد شد.
@armeducation
که قسمتی از آن را باز نشر می کنم:
بیشترشان میخواهند کارمند شوند و حقوق بالاتر از یکمیلیون و ٧٠٠هزار تومان درخواست میدهند. مهارت خاصی بلد نیستند و تهتهش به معدل بالای نمراتشان تأکید دارند یا مثلا میگویند در دانشگاه دولتی درس خواندهاند
درسخواندهها کار تولیدی را در شأن خود نمیدانند.... جالب است بدانید حتی تحصیلکرده رشتههای فنی هم حاضر نیستند وارد کارخانهها شوند
مهارت کارجویان در سطح انتظار کارفرمایان نیست.
در فرهنگ ما ایرانیها دکتر و مهندسشدن، مدیر و رئیسشدن از کودکی بهعنوان ارزش شغلی به بچهها آموخته میشود و بخش عمدهای از سیل تقاضای ورود به دانشگاه هم ناشی از همین نگاه است. جالب است که رشتههای فنی و حرفهای با همین نگاه از ابتدا مورد استقبال قرار نگرفت و خانوادههای زیادی خواهان تحصیل بچههایشان در رشتههایی بودند که از آنها دکتر و مهندس تولید میشود.
مهارتهای دانشگاهی با مهارتهایی که بازار کار به آنها نیاز دارد، تطابقی ندارد.
در کشورمان آموزشها براساس نیاز بازار کار نیست و در شرایطی که افراد آموزشهای تئوری را در دانشگاهها دریافت میکنند، نیاز بازار کار چیز دیگری است.
مشکل فرهنگی-> جوانان آموزش ندیدهاند و خانوادهها به کارمندی و آب باریکه از گذشته روی آوردهاند و به آن یقین دارند.
http://tabnak.ir/fa/news/712673/%D8%A7%D9%81%D8%A7%D8%AF%D9%87%E2%80%8C%D9%87%D8%A7%DB%8C-%D8%A8%DB%8C%DA%A9%D8%A7%D8%B1%D8%A7%D9%86-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%DB%8C
—----------------------------
البته در مورد کارفرمایان مواردی به طور تجربی دیده شده که در پست های بعدی ذکر خواهد شد.
@armeducation
پریفرالهایی که از آنها استفاده می کنیم به صورت فایل .c به پروژه اضافه می شود:
https://news.1rj.ru/str/armeducation/92
وقتی تعداد این فایل ها زیاد باشد می توان به این صورت در پروژه ایجاد شده در کیل دسته بندی کرد
https://news.1rj.ru/str/armeducation/92
وقتی تعداد این فایل ها زیاد باشد می توان به این صورت در پروژه ایجاد شده در کیل دسته بندی کرد
با توجه به پست قبلی :
https://news.1rj.ru/str/armeducation/153
در میکروکنترلر lpc1788 نیز برنامه SD کارت با توابع RLکیل که با کیل 4 ایجاد شده بود و با کیل 5 کامپایل و بر روی برد ریخته شد بود، کار نکرد.
بنابراین به تفاوت کیل در عدم کارکرد دقت داشته باشید.
@armeducation
https://news.1rj.ru/str/armeducation/153
در میکروکنترلر lpc1788 نیز برنامه SD کارت با توابع RLکیل که با کیل 4 ایجاد شده بود و با کیل 5 کامپایل و بر روی برد ریخته شد بود، کار نکرد.
بنابراین به تفاوت کیل در عدم کارکرد دقت داشته باشید.
@armeducation
Telegram
arm-education.ir
در صورتی که فایل های لازم در یک پروژه با RL کیل که با کیل 4 ایجاد شده باشد (فایل های lib. هم داخل آنها وجود داشته باشد) در پوشه پروژه وجود داشته باشد، با کیل 5 هم باز شده و اجرا خواهد شد.
تا کنون تنها موردی که مشاهده شد برنامه SD کارت که با کیل 4 ایجاد شده…
تا کنون تنها موردی که مشاهده شد برنامه SD کارت که با کیل 4 ایجاد شده…
در پست های قبلی بر روی این مطلب تاکید شد که
• پیش نیاز کار با میکروکنترلرهای ARM ، آشنایی با زبان C می باشد.
https://news.1rj.ru/str/armeducation/78
برای یک دوره مقدماتی میکروکنترلرهای ARM مواری از زبان برنامه نویسی C که بیشتر در عمل به کار می آید بدین صورت می باشد :
1- انواع داده، متغییر، ثوابت و عمگرها
2- استفاده از توابع stdio -> در پورت سریال استفاده خواهد شد.
3- حلقه while و for و شرط if و switch
4- آرایه و رشته
5- تابع و توابع کتابخانه ای
6- اشاره گرها
اینها مواردی هستند که در عمل از آن استفاده می شود.
بنابراین حداقل لازم برای یک دوره مقدماتی میکروکنترلرهای ARM ، آشنایی با زبان C و یک هدر برد :
https://news.1rj.ru/str/armeducation/203
والبته پروگرامر می باشد.
@armeducation
• پیش نیاز کار با میکروکنترلرهای ARM ، آشنایی با زبان C می باشد.
https://news.1rj.ru/str/armeducation/78
برای یک دوره مقدماتی میکروکنترلرهای ARM مواری از زبان برنامه نویسی C که بیشتر در عمل به کار می آید بدین صورت می باشد :
1- انواع داده، متغییر، ثوابت و عمگرها
2- استفاده از توابع stdio -> در پورت سریال استفاده خواهد شد.
3- حلقه while و for و شرط if و switch
4- آرایه و رشته
5- تابع و توابع کتابخانه ای
6- اشاره گرها
اینها مواردی هستند که در عمل از آن استفاده می شود.
بنابراین حداقل لازم برای یک دوره مقدماتی میکروکنترلرهای ARM ، آشنایی با زبان C و یک هدر برد :
https://news.1rj.ru/str/armeducation/203
والبته پروگرامر می باشد.
@armeducation
Telegram
armeducation
قبل از کار با میکروکنترلرهای ARM و در راه اندازی پریفرال های میکروکنترلرهای ARM، بایستی به این موضوع توجه شود که :
• پیش نیاز کار با میکروکنترلرهای ARM ، آشنایی با زبان C می باشد.
• پیش نیاز اجرای پروژه میکروکنترلرهای ARM ، تسلط به زبان C و تسلط به خود میکروکنترلر…
• پیش نیاز کار با میکروکنترلرهای ARM ، آشنایی با زبان C می باشد.
• پیش نیاز اجرای پروژه میکروکنترلرهای ARM ، تسلط به زبان C و تسلط به خود میکروکنترلر…
در استفاده از سیمولاتور کیل ممکن است موارد مختلفی پیش بیاد. برای بعضی میکروها از خود سیمولاتور کیل و هم از روی برد قابل استفاده اند و رجیسترها هم به صورت ویژآل دیده می شوند. بعضی فقط از روی برد قابل دیباگ کردن هستند . بعضی میکروها تنظیماتی در debug باید انجام شود تا پریفرالهای میکرو در سیمولاتور به صورت ویژآل دیده شود. و در بعضی مدل میکروها در دیباگ از روی برد تغییرات رجیسترها در پنجره های ویژآل اعمال نمی شود.
@armeducation
@armeducation
👍1
تفاوت کار فکری و یدی چیست!؟
ممکن است این تجربه را داشته باشید که در انجام کارهایی در حیطه الکترونیک (طراحی برد یا برنامه نویسی و ...) ذهنتان آن قدر درگیر انجام کار است که شب موقع استراحت نیز نمی توانید ذهنتان از فکر چگونگی حل مشکلات انجام کار، خارج کنید.
@armeducation
ممکن است این تجربه را داشته باشید که در انجام کارهایی در حیطه الکترونیک (طراحی برد یا برنامه نویسی و ...) ذهنتان آن قدر درگیر انجام کار است که شب موقع استراحت نیز نمی توانید ذهنتان از فکر چگونگی حل مشکلات انجام کار، خارج کنید.
@armeducation
ممکن است در پروژه ای فایل های اد شده قفل باشد و نتوان در آنها تغییر ایجاد کرد. برای حل این موضوع در پوشه پروژه با کلیک راست بر روی فایل مذکور و زدن properties تیک read only برداشته شود.
@armeducation
@armeducation
👍1
در میکروکنترلرهای ARM تعدادی تایمر قرار داده شده است. هر میکرویی تعدادی تایمر با امکانات مختلفی دارد. در این پست :
https://news.1rj.ru/str/armeducation/59
اشاره ای به تفاوت تایمرها در میکروهای LPC و STM32 شده است.
در LPC1768 , LPC1788 از شرکت NXP تعداد 4 تایمر 32 بیتی وجود دارد و واحدهای pwm و mcpwm و QEM دارای پریفرال های جداگانه می باشند.
در میکروی stm32f103ve از شرکت ST تعداد 8 تایمر 16 بیتی وجود دارد که در دسته بندی های تایمر پیشرفته و عمومی و پایه قرار میگیرد. pwm و mcpwm و QEM نیز در همین تایمر قرار دارد و واحد مجزایی ندارد. تعداد تایمرها در مدل های میکروهای stm32 با هم یکسان نیست. بنابراین در انتخاب میکرو لازم است به نوع کاری که قصد انجام دارید توجه بیشتری داشته باشید که مطابق امکانات میکرو باشد.
@armeducation
https://news.1rj.ru/str/armeducation/59
اشاره ای به تفاوت تایمرها در میکروهای LPC و STM32 شده است.
در LPC1768 , LPC1788 از شرکت NXP تعداد 4 تایمر 32 بیتی وجود دارد و واحدهای pwm و mcpwm و QEM دارای پریفرال های جداگانه می باشند.
در میکروی stm32f103ve از شرکت ST تعداد 8 تایمر 16 بیتی وجود دارد که در دسته بندی های تایمر پیشرفته و عمومی و پایه قرار میگیرد. pwm و mcpwm و QEM نیز در همین تایمر قرار دارد و واحد مجزایی ندارد. تعداد تایمرها در مدل های میکروهای stm32 با هم یکسان نیست. بنابراین در انتخاب میکرو لازم است به نوع کاری که قصد انجام دارید توجه بیشتری داشته باشید که مطابق امکانات میکرو باشد.
@armeducation
Telegram
armeducation
تفاوت ها و شباهت های مختصر میکروهای شرکت فیلیپسNXP و ST Electronics
با توجه به نوع کار و مشخصات آن می توان مشخص کرد از چه میکرویی بهتر است استفاده کرد.
@armeducation
با توجه به نوع کار و مشخصات آن می توان مشخص کرد از چه میکرویی بهتر است استفاده کرد.
@armeducation
یکی از امکانات میکروکنترلرها واحد ADC است.
در میکروی LPC1768 تعداد 8 کانال آنالوگ به دیجیتال قرار داده شده است و در میکروهای STM32F1 تعداد 16 کانال ADC قرار دارد. امکانات واحد ADC در میکروهای مختلف متفاوت است.
ساده ترین عملکرد این واحد خواندن یک کانال است. بعد از پیکربندی اولیه روال کار در این حالت بدین صورت می باشد :
1- دستور آغاز تبدیل
2- منتظر شدن برای تبدیل ولتاژ ورودی به مقدار دیجیتال خواندن این مقدار
3- پایان تبدیل
و نمایش مقدار قرائت شده برروی نمایشگر
حالت های مختلف دیگری برای استفاده از آنالوگ به دیجیتال وجود دارد. خواندن پشت سر هم از یک کانال و خواندن پشت سر هم از چند کانال از جمله این حالات هستند که تنظیمات خاص خود را دارد و بنا به نیاز از آنها استفاده خواهد شد. سرعت نمونه برداری و دقت نمونه برداری پارامترهای مهم این واحد هستند. .
از کاربردهای ADC خواندن سنسورهای آنالوگ و نمونه برداری از ولتاژ ورودی(مثلا ولتاژ برق شهر و سیگنال صوت ) می باشد.
@armeducation
در میکروی LPC1768 تعداد 8 کانال آنالوگ به دیجیتال قرار داده شده است و در میکروهای STM32F1 تعداد 16 کانال ADC قرار دارد. امکانات واحد ADC در میکروهای مختلف متفاوت است.
ساده ترین عملکرد این واحد خواندن یک کانال است. بعد از پیکربندی اولیه روال کار در این حالت بدین صورت می باشد :
1- دستور آغاز تبدیل
2- منتظر شدن برای تبدیل ولتاژ ورودی به مقدار دیجیتال خواندن این مقدار
3- پایان تبدیل
و نمایش مقدار قرائت شده برروی نمایشگر
حالت های مختلف دیگری برای استفاده از آنالوگ به دیجیتال وجود دارد. خواندن پشت سر هم از یک کانال و خواندن پشت سر هم از چند کانال از جمله این حالات هستند که تنظیمات خاص خود را دارد و بنا به نیاز از آنها استفاده خواهد شد. سرعت نمونه برداری و دقت نمونه برداری پارامترهای مهم این واحد هستند. .
از کاربردهای ADC خواندن سنسورهای آنالوگ و نمونه برداری از ولتاژ ورودی(مثلا ولتاژ برق شهر و سیگنال صوت ) می باشد.
@armeducation
در پست :
https://news.1rj.ru/str/armeducation/29
به صورت عملی ذکر شد که می توان با DAC پخش فایل صوتی انجام داد. در پست قبلی هم ذکر شد که با ADC می توان نمونه گیری از فایل صوتی داشت. با ترکیب این دو می توان نمونه گیری و پخش فایل صوتی به صورت "هم زمان" و "غیر همزمان" را انجام داد. در اینجا محاسبات نرخ نمونه برداری با ADC و زمان قرار دادن نمونه های گرفته شده در DAC برای استفاده از واحد تایمر اهمیت دارد.
@armeducation
https://news.1rj.ru/str/armeducation/29
به صورت عملی ذکر شد که می توان با DAC پخش فایل صوتی انجام داد. در پست قبلی هم ذکر شد که با ADC می توان نمونه گیری از فایل صوتی داشت. با ترکیب این دو می توان نمونه گیری و پخش فایل صوتی به صورت "هم زمان" و "غیر همزمان" را انجام داد. در اینجا محاسبات نرخ نمونه برداری با ADC و زمان قرار دادن نمونه های گرفته شده در DAC برای استفاده از واحد تایمر اهمیت دارد.
@armeducation
Telegram
arm-education.ir
برای انجام کار یا پروژه ای داشته هایی لازم است. مهتر آن، استفاده این داشته ها در موقع مناسب خود است. گاهی در حین کار، متوجه نداشته هایی می شویم که لازم است فرا بگیریم. اینجاست که قدر آن اطلاعات را بیشتر می دانیم.
چیزی هم که بر فن آموزان لازم است قدر دانستن مطالبیست که در حال فراگیری هستند.
@armeducation
چیزی هم که بر فن آموزان لازم است قدر دانستن مطالبیست که در حال فراگیری هستند.
@armeducation
کاربرد عبارت volatile :
ممکن است در برنامه ای با این کلمه در تعریف متغییر مواجه شده باشید. همچنین در دیفاین رجیسترها نیز به صورت __IO استفاده شده است :
__IO uint32_t FIODIR;
ممکن است متغییر در پردازش جاری تغییر نکند مثلا در وقفه مقدار آن تغییر کند، بدون آنکه کامپایلر متوجه این تغییر شود. و این تغییر را اعمال نکند. با استفاده از این کلمه در تعریف متغییر در هر بار فراخوانی اسم متغیر در طول برنامه اصلی، مقدار آن را از محل حافظه خوانده شده و اعمال می شود.
@armeducation
ممکن است در برنامه ای با این کلمه در تعریف متغییر مواجه شده باشید. همچنین در دیفاین رجیسترها نیز به صورت __IO استفاده شده است :
__IO uint32_t FIODIR;
ممکن است متغییر در پردازش جاری تغییر نکند مثلا در وقفه مقدار آن تغییر کند، بدون آنکه کامپایلر متوجه این تغییر شود. و این تغییر را اعمال نکند. با استفاده از این کلمه در تعریف متغییر در هر بار فراخوانی اسم متغیر در طول برنامه اصلی، مقدار آن را از محل حافظه خوانده شده و اعمال می شود.
@armeducation
نمونه ای از تبلیغاتی که موارد متعددی از آن هم مشاهده شده، کسانی هستند که قصد دارند تازه وارد بازار کار شوند و خود اقدام به جذب مشتری نمایند. مشاهده می شود انواع مختلف کارها ذکر شده است!
@armeducation
@armeducation
در پست های قبلی ذکر شد انتخاب میکرو بایستی متناسب با کاری باشد که قرار است انجام شود.
https://news.1rj.ru/str/armeducation/62
قیمت (در کنار امکانات) مورد مهمی است که مخصوصا برای کار تولیدی نمی توان آن را نادیده گرفت. بسیار گفته می شود که چون میکروهای stm قیمت کمتری دارد بنابراین با آن کار کن یا شروع کن! قیمت کمتر صحیح است ولی فقط قیمت نیست. اگر دو مدل میکرو تقریبا به یک میزان کار شما را راه می اندازد، احتمال زیاد آن که قیمت کمتری دارد را انتخاب می کنید.
به عنوان نمونه، دو میکروی هم رده مانند LPC1768 و STM32F107VC که هر دو cortex-m3 دارای 100 پایه و اترنت و USB , CAN هستند. این دو را از همه لحاظ با هم مقایسه کنید. در حال حاضر قیمت LPC1768 دو سه هزار تومانی از STM32F107VC گرانتر است. موارد بارزتر:
LPC1768 :
کلاک 100 مگاهرتز، 512 کیلو فلش، 8 ورودی ADC و یک خروجی DAC ، تعداد 4 تایمر 32 بیتی، 4 سریال ...
STM32F107VC :
کلاک 72 مگاهرتز، 256 کیلو فلش، 16 ورودی ADC و دو خروجی DAC ، تعداد 7 تایمر 16 بیتی، 5 سریال ...
همان طور که مشاهده می شود در مواردی امکانات lpc بیشتر است در مواردی دیگر stm. بنابراین نوع کار، قیمت، چیدمان پایه ها، سمپل های مناسب، امکانات یک پریفرال مورد نیاز، پشتیبانی و ... پارامترهای تعیین کننده در انتخاب میکرو هستند.
@armeducation
https://news.1rj.ru/str/armeducation/62
قیمت (در کنار امکانات) مورد مهمی است که مخصوصا برای کار تولیدی نمی توان آن را نادیده گرفت. بسیار گفته می شود که چون میکروهای stm قیمت کمتری دارد بنابراین با آن کار کن یا شروع کن! قیمت کمتر صحیح است ولی فقط قیمت نیست. اگر دو مدل میکرو تقریبا به یک میزان کار شما را راه می اندازد، احتمال زیاد آن که قیمت کمتری دارد را انتخاب می کنید.
به عنوان نمونه، دو میکروی هم رده مانند LPC1768 و STM32F107VC که هر دو cortex-m3 دارای 100 پایه و اترنت و USB , CAN هستند. این دو را از همه لحاظ با هم مقایسه کنید. در حال حاضر قیمت LPC1768 دو سه هزار تومانی از STM32F107VC گرانتر است. موارد بارزتر:
LPC1768 :
کلاک 100 مگاهرتز، 512 کیلو فلش، 8 ورودی ADC و یک خروجی DAC ، تعداد 4 تایمر 32 بیتی، 4 سریال ...
STM32F107VC :
کلاک 72 مگاهرتز، 256 کیلو فلش، 16 ورودی ADC و دو خروجی DAC ، تعداد 7 تایمر 16 بیتی، 5 سریال ...
همان طور که مشاهده می شود در مواردی امکانات lpc بیشتر است در مواردی دیگر stm. بنابراین نوع کار، قیمت، چیدمان پایه ها، سمپل های مناسب، امکانات یک پریفرال مورد نیاز، پشتیبانی و ... پارامترهای تعیین کننده در انتخاب میکرو هستند.
@armeducation
Telegram
armeducation
انتخاب میکرو بایستی متناسب با کاری باشد که قرار است انجام شود. هر میکرویی دارای امکانات ، قابلیت ها و قیمتی می باشد.
برای یک کار تولیدی از یک میکرو ارزانتر استفاده می شود و سعی می شود با برنامه نویسی بهینه تر کار مربوطه انجام شود. مدل های کوچک stm32f0 و…
برای یک کار تولیدی از یک میکرو ارزانتر استفاده می شود و سعی می شود با برنامه نویسی بهینه تر کار مربوطه انجام شود. مدل های کوچک stm32f0 و…
یکی از امکانات میکروکنترلرها واحد DAC است.
راه اندازی این واحد ساده است و بعد از تنظیمی ساده کافیست عددی در داخل رجیستر دیتا قرار داده شد تا به آنالوگ بین 0 تا 3.3 ولت تبدیل کند. از کاربردهای این واحد که در پست های قبلی هم از آن در عمل استفاده شد پخش فایل صوتی wave است.
در میکروی LPC1768 تعداد 1 کانال دیجیتال به آنالوگ 10 بیتی قرار داده شده است. در بعضی مدل میکروهای STM32F1 تعداد 2 دیجیتال به آنالوگ 12 بیتی قرار دارد و در بعضی دیگر چنین واحدی ندارد. امکاناتی هر کدام از این میکروها در این واحد در اختیار قرار می دهد :
STM32F10x:
●Two DAC converters: one output channel each
● Left or right data alignment in 12-bit mode
● Synchronized update capability
● Noise-wave generation
● Triangular-wave generation
● Dual DAC channel independent or simultaneous conversions
● DMA capability for each channel
● External triggers for conversion
●Input voltage reference VREF+
LPC1768 :
• 10-bit digital to analog converter
• Resistor string architecture
• Buffered output
• Power-down mode
• Selectable speed vs. power
• Maximum update rate of 1 MHz.
@armeducation
راه اندازی این واحد ساده است و بعد از تنظیمی ساده کافیست عددی در داخل رجیستر دیتا قرار داده شد تا به آنالوگ بین 0 تا 3.3 ولت تبدیل کند. از کاربردهای این واحد که در پست های قبلی هم از آن در عمل استفاده شد پخش فایل صوتی wave است.
در میکروی LPC1768 تعداد 1 کانال دیجیتال به آنالوگ 10 بیتی قرار داده شده است. در بعضی مدل میکروهای STM32F1 تعداد 2 دیجیتال به آنالوگ 12 بیتی قرار دارد و در بعضی دیگر چنین واحدی ندارد. امکاناتی هر کدام از این میکروها در این واحد در اختیار قرار می دهد :
STM32F10x:
●Two DAC converters: one output channel each
● Left or right data alignment in 12-bit mode
● Synchronized update capability
● Noise-wave generation
● Triangular-wave generation
● Dual DAC channel independent or simultaneous conversions
● DMA capability for each channel
● External triggers for conversion
●Input voltage reference VREF+
LPC1768 :
• 10-bit digital to analog converter
• Resistor string architecture
• Buffered output
• Power-down mode
• Selectable speed vs. power
• Maximum update rate of 1 MHz.
@armeducation
همان طور که ذکر شد از کاربردهای واحد DAC پخش فایل صوتی wave است.
برای این کار لازم است دیتا در فایل صوتی به صورت مناسب در DAC قرار داده شود. از آنجا که فایل wav نیاز به دیکد خاصی ندارد ساده تر است ابتدا فایل صوتی با نرم افزارهای مبدل به این فرمت در بیاید و سپس در فلش خود میکرو یا sd کارت برای قرائت و پخش قرار داده شود. فرمت یک فایل wave بدین صورت می باشد :
http://soundfile.sapp.org/doc/WaveFormat/
همان طور که مشاهده می شود 44 بایت اول اطلاعات فایل است و بعد از آن دیتا قرار دارد. پخش فایل صوتی می بایستی بر اساس این اطلاعات قرار داده شده در ابتدای فایل انجام شود. دیتای فایل صوتی دیکد نشده به صورت های 8 بیت و 16 بیت(mono,stereo) می باشد.
@armeducation
برای این کار لازم است دیتا در فایل صوتی به صورت مناسب در DAC قرار داده شود. از آنجا که فایل wav نیاز به دیکد خاصی ندارد ساده تر است ابتدا فایل صوتی با نرم افزارهای مبدل به این فرمت در بیاید و سپس در فلش خود میکرو یا sd کارت برای قرائت و پخش قرار داده شود. فرمت یک فایل wave بدین صورت می باشد :
http://soundfile.sapp.org/doc/WaveFormat/
همان طور که مشاهده می شود 44 بایت اول اطلاعات فایل است و بعد از آن دیتا قرار دارد. پخش فایل صوتی می بایستی بر اساس این اطلاعات قرار داده شده در ابتدای فایل انجام شود. دیتای فایل صوتی دیکد نشده به صورت های 8 بیت و 16 بیت(mono,stereo) می باشد.
@armeducation
همان طور که در پست های قبلی ذکر شد و در عمل هم اجرا شد، یکی از قابلیت های میکروکنترلرهای ARM تبدیل شدن به رم ریدر توسط USB Device می باشد:
https://news.1rj.ru/str/armeducation/65
https://news.1rj.ru/str/armeducation/66
در نظر بگیرید در کاری مرتب باید در sd کارت توسط میکرو فایلی بریزید، سپس خود فایل و محتوای آن را چک کنید. هر بار باید sd کارت را از برد میکرو جدا کرده و به رم ریدر بزنید تا بتوانید این چک کردن را انجام دهید.
به جای این کار می توانید در برنامه تبدیل کننده میکروکنترلر ARM به رم ریدر توسط USB Device، کار خود را انجام دهید که هر بار که کابل یو اس بی را از pc به برد زدید محتویات داخل sd کارت هم مشاهده شود و دیگر نیازی به رم ریدر نباشد! در اینجا باید به این نکته که البته در پست های قبلی :
https://news.1rj.ru/str/armeducation/151
به آن اشاره شد توجه داشته باشید که در صورتی که چندین کار لازم باشد انجام شود ممکن است نتوان در یک پروژه با هم آنها را فعال کرد. مثلا تبدیل شدن میکرو به رم ریدر برای SD کارت با RL و هم زمان خواندن و نوشتن روی SD با RL .
@armeducation
https://news.1rj.ru/str/armeducation/65
https://news.1rj.ru/str/armeducation/66
در نظر بگیرید در کاری مرتب باید در sd کارت توسط میکرو فایلی بریزید، سپس خود فایل و محتوای آن را چک کنید. هر بار باید sd کارت را از برد میکرو جدا کرده و به رم ریدر بزنید تا بتوانید این چک کردن را انجام دهید.
به جای این کار می توانید در برنامه تبدیل کننده میکروکنترلر ARM به رم ریدر توسط USB Device، کار خود را انجام دهید که هر بار که کابل یو اس بی را از pc به برد زدید محتویات داخل sd کارت هم مشاهده شود و دیگر نیازی به رم ریدر نباشد! در اینجا باید به این نکته که البته در پست های قبلی :
https://news.1rj.ru/str/armeducation/151
به آن اشاره شد توجه داشته باشید که در صورتی که چندین کار لازم باشد انجام شود ممکن است نتوان در یک پروژه با هم آنها را فعال کرد. مثلا تبدیل شدن میکرو به رم ریدر برای SD کارت با RL و هم زمان خواندن و نوشتن روی SD با RL .
@armeducation
Telegram
arm-education.ir
کیفیت بالاتر فیلم قبلی : یکی از قابلیت های میکروکنترلرهای ARM تبدیل شدن به رم ریدر توسط USB Device می باشد.
در اینجا، ابتدا بر روی میکروکنترلر LPC1768 این کار انجام شده است .
@armeducation
در اینجا، ابتدا بر روی میکروکنترلر LPC1768 این کار انجام شده است .
@armeducation
Forwarded from armeducation (Mahdi Zarkoob)
در صورتی که مطالب آموزشی کانال را مفید می دانید شما معرف کانال به سایر دوستان خود باشید. 👇👇👇
با سپاس
@armeducation
با سپاس
@armeducation
Forwarded from armeducation (Mahdi Zarkoob)
کانال تلگرام مطالب آموزشی میکروکنترلرهای ARM و اطلاع رسانی دوره های آموزشی :
@armeducation
https://news.1rj.ru/str/armeducation
ادمین:
@mzarkoob
وب سایت :
www.arm-education.ir
@armeducation
https://news.1rj.ru/str/armeducation
ادمین:
@mzarkoob
وب سایت :
www.arm-education.ir
Telegram
armeducation
آموزش حرفه ای میکروکنترلرهای ARM
ادمین:
@mzarkoob
مهندس مهدی زرکوب
شروع مطالب :
https://news.1rj.ru/str/armeducation/1
اینستاگرام :
@armeducation
کانال ایتا:
https://eitaa.com/armeducation
همراه :
09359956361
ادمین:
@mzarkoob
مهندس مهدی زرکوب
شروع مطالب :
https://news.1rj.ru/str/armeducation/1
اینستاگرام :
@armeducation
کانال ایتا:
https://eitaa.com/armeducation
همراه :
09359956361