EEPROM و CPU چیست و چه نقشی در AVR دارند؟ | قسمت اول آموزش میکروکنترلر AVR

blog
۱۳۹۷-۰۷-۲۱
3 دقیقه

آموزش میکروکنترلر AVR : مقدمه

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

سیسوگ در سری جدید مجموعه مقالات با عنوان ” آموزش میکروکنترلر AVR ” قصد دارد میکروکنترلر AVR که طرفداران بسیاری دارد را آموزش دهد. در مجموعه آموزش میکروکنترلر AVR با سیسوگ همراه باشید.

 

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

در یک سیستم پردازنده حداقل اجزایی که وجود دارد شامل (CPU (central prossesing unit می‌شود، در واقع این پرازنده شبیه مغز انسان عمل می‌کند مغزی که هیچ گونه اجزای جانبی برای مثال دست و پا ندارد و فقط محاسبات در درون آن انجام می‌شود. برای ارتباط با دنیای بیرون باید اجزای جانبی دیگری نیز وجود داشته باشد، از جمله پالس ساعت یا clock که از حداقل اجزایی که است که CPU باید تحت فرماندهی آن قرار بگیرد. یعنی پالس ساعت به CPU فرمان می‌دهد و اعمال CPU هماهنگ با پالس ساعت انجام می­‌شود. طبیعتاً هر آنچه پالس ساعت بالاتر باشد مقدار اعمال انجام شده توسط CPU  در واحد زمان بیشتر است، اما این همه‌ی مسئله نیست ممکن است میکروکنترلری با کلاک  1MHZ بتواند عملیاتی را انجام دهد که یک میکروکنترلر با کلاک 5MHZ نتواند همان عملیات را در یک زمان ثابت انجام دهد. در ادامه به بررسی این عوامل می‌پردازیم.

CPU  برای ذخیره دستورالعمل‌ها نیاز به حافظه‌ای دارد که پایدار و غیر فرار باشد (منظور از دستور العمل‌ها دستورهای اولیه‌ای هستند که توسط شرکت سازنده به CPU اعمال می‌شوند) یعنی با قطع تغذیه محتویات آن پاک نشود، که به آن حافظه ی ROM گفته می‌شود.

واحد محاسبه و منطقی در CPU وجود دارد که به آن ALU  گفته می‌­شود، برای مثال نتیجه­ یک دستور العمل این است که دوعدد توسط ALU با هم جمع شوند یا کلاً هر عملی که در توان واحد ALU باشد.

به پروسه خواندن دستورات و بدست آوردن آن‌ها از محلی که نوشته شده است FETCH و اجرا کردن آن‌ها EXECUTE گفته می‌شود. در واقع کارCPU ،FETCH و EXECUTE است و دائماً مشغول خواندن و اجرا کردن دستورات است.

با توجه به اینکه CPU  چه امکانات و دستورالعمل‌هایی دارد قدرت آن CPU مشخص می­شود، یعنی در آن واحد می‌تواند روی چند بیت عملیات انجام دهد. بحث ما در حوزه­ی AVR  بر روی CPU 8 بیتی انجام می‌شود، یعنی در آن واحد روی 8 بیت می‌تواند عملیات انجام دهد، حال این 8 بیت می‌تواند به صورت 2 عدد 8 بیتی در رجیسترهای داخلی باشد (منظور از رجیسترهای داخلی حافظه‌ای است که در کنار CPU  برای انجام عملیات داخلی قرار دارد).

در کنار CPU وROM و CLOCK ما نیاز به حافظه‌ای داریم که بتواند نتیجه عملیات را به صورت موقت ذخیره کند که از آن به صورت R0 تا R31 نام می‌بریم که شامل 32 محل در میکروکنترلر AVR  است. طبیعتاً ممکن است به حافظه بیشتری از جنس RAM نیاز داشته باشیم. جنس حافظه ROM ،FLASH است و جنس حافظه RAM، SRAM است که از این حافظه برای ذخیره سازی عملیات انجام شده استفاده می­‌شود. در ضعیف‌ترین عضو خانواده AVR، ATtiny11 اصلاً SRAM وجود ندارد که این میکروکنترلر در بازار موجود نیست. با مراجعه به دیتا‌شیت می‌توانید از ظرفیت‌های دیگر میکروکنترلرها مطلع شوید.

Attiny11

یکی دیگر از اجزای جانبی موجود در کنار CPU حافظه­‌ی (EEPROM (electrically Erasable Programmable Read only Memory است. این حافظه معمولاً برای ذخیره‌سازی اطلاعاتی است که توسط کاربر تولید می‌شود. برای مثال سیستم کنترلی را در نظر بگیرید که میخواهیم مقادیر یک سری پارامتر در آن نوشته شود و در آن باقی بماند، یعنی با قطع برق آن اطلاعات پاک نشود. مقادیر خواندن و نوشتن آن در دیتا شیت موجود می‌باشد.

CPU اگر نتواند با دنیای خارج از خود ارتباط برقرار کند مانند انسانی است که حواس پنج گانه خود را از دست داده است و نمی‌تواند با دیگران ارتباط برقرار کند. برای همین کار یک واحدی در CPU وجود دارد به نام INPUT/OUTPUT ،که دریچه­‌ی بین دنیای بیرون و خود CPU است. که از آن به عنوان GPIO یاد می‌شود.

در نتیجه برنامه‌­ای که توسط برنامه‌نویس توسط هر زبانی نوشته می‌­شود، توسط پروگرامر بر روی حافظه­ FLASH میکروکنترلر، پروگرام می‌شود و نتیجه عملیات موقت در حین اجرای برنامه در SRAM ذخیره می­شود. دیتاهایی که توسط برنامه تولید می­‌شود و می‌خواهیم که یکبار ذخیره شود و با قطع برق پاک نشود در EEPROM ذخیره می‌­شود که این کار توسط CPU انجام می­‌شود. همه­ این عملیات بر این است که بتوان ارتباط بین دنیای بیرون و CPU را ایجاد کرد.

تصویر زیر نشان دهنده­ ارتباط بین CPU و واحدهای جانبی است:

ارتباط بین CPU و واحدهای جانبی

در قسمت دوم آموزش میکروکنترلر AVR سیسوگ قصد دارد به موضوع کلاک میکروکنترلر و بلوک I/O بپردازد. با سیسوگ همراه باشید.

 

 

اطلاعات
8
0
لینک و اشتراک
profile

electronic girl

متخصص الکترونیک

دوستدار الکترونیک

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

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

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

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

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

profile
سجاد همتی گفت :
۱۴۰۳-۰۲-۲۳ ۱۴:۵۰

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

profile
محمود گفت :
۱۴۰۳-۰۱-۱۳ ۰۱:۲۶

سلام بسیار بسیار ممنون از شما.لطفا اسم سایت رو هم می‌فرماید

profile
Zeus ‌ گفت :
۱۴۰۳-۰۱-۱۵ ۱۰:۰۹

سلام اسم سایت چی؟

profile
amir گفت :
۱۳۹۸-۰۹-۱۰ ۰۰:۵۴

خیلی خیلی ممنون از لطفتان

profile
سعید گفت :
۱۳۹۷-۰۷-۲۴ ۱۰:۳۶

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

profile
زئوس Zeus گفت :
۱۳۹۷-۰۷-۲۴ ۱۳:۵۶

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

profile
Cozmo گفت :
۱۳۹۷-۰۷-۲۳ ۲۳:۰۳

سلام
یسوال داشتم
چطور میشه از کانتر داخلی avr استفاده کرد؟
منظورم این نیس که یه متغیر رو تو برنامه ای که برا اینتراپت مینویسیم زیاد کنیم هر بار
از کانتر avr استفاده بشه

profile
زئوس Zeus گفت :
۱۳۹۷-۰۷-۲۴ ۱۳:۵۹

فکر میکنم منظورتون تایمر کانتر هست ، دقیقا در ادامه آموزش ها به مورد تایمر کانتر ها خواهیم رسید ؛
اما خوندن مقدار کانتر کار سختی نیست و تنها باید رجیستر مربوطه رو بخونید. البته اگر منظورتون رو درست متوجه شده باشم.

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله