میکروکنتلر های MCU (رباتیک) نحوه عملکرد و کاربرد
نویسنده : افشین رشید
میکروکنتلر های رباتیک AVR دارای یک واحد مرکزی به نام MCU هستند. MCU مخفف عبارت Master Control Unit و به معنای واحد کنترل اصلی است. این واحد وظایف مهمی از قبیل مدیریت تمام فعالیت های میکروکنترلر و انجام تمام عملیات های لازم بر روی داده ها را بر عهده دارد.
با توجه به این که میکروکنترلر AVR از معماری هاروارد استفاده می کند، حافظه ی آن شامل دو قسمت «حافظه ی برنامه» (FLASH) و «حافظه ی داده» (SRAM و EEPROM) می باشد. لازم به ذکر است که ارتباط با این حافظه ها از طریق گذرگاه های مجزا صورت می گیرد.
میکروکنتلر MCU شامل 4 بخش میباشد.
IR _ ALU _ ID _ cpu
قسمت ALU
میکروکنترلر AVR دارای ۳۲ رجیستر عمومی است که به صورت R0 تا R31 نامگذاری شده اند. این رجیسترها که هشت بیتی هم هستند به طور مستقیم با واحد ALU در ارتباط اند.
موضوعی که در این جا نیاز به تأکید دارد در ارتباط با رجیستر های R26 تا R31 است. این رجیسترها که دو به دو با نام های Y ،X و Z نیز شناخته می شوند (یعنی R26 و R27 تشکیل یک بیت ۱۶ بیتی به نام X می دهند و به همین صورت برای Y و Z) رجیسترهای اشاره گر نام دارند. این رجیسترها علاوه بر کاربردهای عمومی برای آدرس دهی های غیرمستقیم کاربرد دارند.
قسمت IR :
رجیستر دستور یا Instruction Register، برای نگهداری کد دستور العمل استفاده می شود. کد دستورالعمل که در حافظه ی برنامه یا همان حافظه ی FLASH ذخیره شده است، قبل از اجرا به این رجیستر (IR) منتقل شده و سپس اجرا می شود.
قسمت ID
این واحد (ID) کد دستورالعمل را از رجیستر دستور گرفته و تشخیص می دهد که این کد مربوط به چه دستورالعملی است، سپس سیگنال های کنترلی مورد نیاز جهت اجرای آن دستورالعمل را تولید می نماید.
در این رجیستر آدرس دستورالعمل بعدی که باید اجرا شود، ذخیره می شود. با اجرای هر دستورالعمل این مقدار ذخیره شده افزایش پیدا کرده و به آدرس دستورالعمل بعدی اشاره می کند.
قسمت CPU
هنگامی که میکروکنترلر روشن می شود مقدار شمارنده ی برنامه (PC) با مقدار پیش فرض ۰۰۰۰H مقداردهی می شود. کدهای دستورالعمل که بعد از این آدرس در حافظه ی FLASH ذخیره شده اند توسط CPU به رجیستر دستور منتقل می گردند. واحدبازگشایی دستور این کد را از رجیستر دستور برداشته و پس از رمزگشایی کد تمامی سیگنال های کنترلی جهت انجام عملیات را صادر می کند. در نهایت ALU عملیات لازم بر روی داده ها را انجام داده و پس از آن مقدار PC تغییر می کند و آدرس دستورالعمل بعدی که باید انجام شود در آن قرار می گیرد.
نویسنده : افشین رشید