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

ساختار میکروکنترلر PIC

Structure of PIC microcontroller

آنچه در این مقاله خواهید خواند :

ساختار میکروکنترلر PIC

انواع کلی معماری پردازنده ها :

  • معماری وان نیومن
  • معماری هاروارد

ساختار میکرو کنترلر ها :

  • معماری RISC
  • معماری CISC

انواع حافظه ها :

  • حافظه های دائمی :
    • PROM
    • EPROM
    • EEPROM
    • Flash ROM
  • حافظه های موقت

حافظه های داخلی میکروکنترلر PIC:

  • حافظه برنامه
  • حافظه داده

انواع کلی معماری پردازنده ها :

معماری میکروکنترلرهای PIC شامل یک پردازشگر مرکزی که به آن MCU می گویند ( مخفف Master Control Unit ) ، می باشد ، وظیفه MCU مدیریت تمام عملکردهای میکروکنترلر مانند اجرای برنامه ، مدیریت پورت ها و وقفه ها Interrupts ، ارتباط با حافظه ها و کنترل تجهیزات جانبی متصل به میکروکنترلر می باشد.

بطور کلی معماری میکروکنترلرها بر گرفته از دو معماری مطرح و مشهور جهان به نام معماری هاروارد و دیگری معماری وان نیومن می باشد ، این دو معماری از جهاتی با یکدیگر متفاوت می باشند .

معماری وان نیومن :

در اواخر دهه 1940 میلادی فیزیکدان و ریاضی دان مشهور جان وان نیومن John von Neumann  ، معماری را طراحی نمود که اساس پردازشگر های مدرن امروزی را تشکیل می دهد ، در این معماری داده های برنامه و داده های دستورالعمل از یک گذرگاه مشترک استفاده می کنند بنابر این همه فضای حافظه در یک گذرگاه Bus قرار می گیرد ، بصورت خلاصه می توان اینچنین گفت : داده و دستور از یک گذرگاه استفاده می کنند.

در این معماری CPU نمی تواند همزمان در حال خواندن و نوشتن داده باشد و همزمان دستورالعملی را نیز واکشی نماید.

 

معماری هاروارد :

این معماری برگرفته از کامپیوتر های برپایه رله موسوم به هاروارد مارک یک می باشد در این نوع از معماری سخت افزار ، حافظه داده و حافظه دستورالعمل بوسیله گذرگاه های مجزا از یکدیگر تفکیک شده اند ، در یک پردازشگر بر اساس معماری هاروارد طراحی شده است CPU بدون استفاده از حافظه Cache می تواند همزمان عمل خواندن دستورالعمل و خواندن یا نوشتن در حافظه داده را اجرا نماید به این ترتیب با یک پیچیدگی مداری یکسان در این دو نوع از معماری پردازشگر هاروارد از سرعت به مراتب بالاتری برخوردار است زیرا که برای واکشی ( Fetch ) دستورالعمل ها و دسترسی به حافظه داده از دو مسیر جداگانه استفاده می نماید ، در میکروکنترلر های PIC ، واحد پردازشگر اصلی MCU از معماری بهینه سازی شده هاروارد استفاده می نماید از همین روی با فرکانس کلاک پایین تر سرعت عمل به مراتب بالاتری نسبت به انواع مشابه خود دارد و همچنین این معماری دارای نویز پذیری به مراتب پایین تری نیز می باشد.

ساختار میکرو کنترلر ها :

معماری RISC :

معماری RISC مخفف Reduced Instruction Set Computer می باشد ، پردازشگرهایی که بر اساس این نوع معماری طراحی شده اند در حقیقت از مجموعه ای از دستورات کاهش یافته و سریع الجرا و ساده تر  استفاده می کنند این امر سبب می شود تا با تعداد ترانزیستور و حجم مدار کمتر بتوان پردازشگر را طراحی نمود ، این موضع موجب کاهش اندازه و تولید حرارت کمتر و بدنبال آن انرژی الکتریکی کمتری نیز مصرف می شود.

از طرفی این نوع از طراحی اجرای برنامه ها را سریعتر اما برنامه نویسی را پیچیده تر نیز می کند. این معماری اکثرا در دستگاه های قابل حمل مانند نت بوک ها ، گوشی ها ، تبلت ها و میکروکنترلر ها استفاده میشود ، CPU های خانواده ARM ، Intel Atom ، MCU

معماری CISC :

معماری CISC مخفف Complex Instruction Set Computer می باشد ، که به مفهوم پردازشگر با مجموعه دستورات طولانی و پیچیده می باشد ، در این معماری دستورات پیچیده تر هستند اما در عین حال برنامه نویسی را ساده تر می نمایند و از طرفی به علت پیچیده تر شدن دستورات باعث افزایش تعداد ترانزیستور ، افزایش حجم مداری ، مصرف بیشتر انرژی الکتریکی و به دنبال آن تولید حرارت بیشتر نیز می شود ، در اکثر CPU ها کامپیوتر های شخصی ، سرور ها ، سوپرکامپیوتر ها و …  از این نوع معماری استفاده شده است ، بعنوان مثال میتوان به خانواده Intel Core i ، AMD ، GPU ها و … اشاره نمود.

انواع حافظه ها :

دستورالعمل ها و داده های برنامه برای ذخیره سازی به محلی به نام حافظه نیاز دارند که شامل دو نوع کلی به به شرح ذیل می باشند :

  • حافظه های دائمی
  • حافظه های موقت

حافظه های دائمی :

در این نوع حافظه ها اطلاعات و داده ها با قطع شدن منبع تغذیه ( انرژی الکتریکی ) از بین نمی روند و به اصطلاح پاک نمی شوند که به حافظه های غیر فرار نیز معروف می باشند.

حافظه های دائم در انواع مختلفی ارائه شده اند که به شرح ذیل می باشند :

حافظه فقط خواندنی ROM مخفف Read Only Memory

طبق تعریف این حافظه با قطع منبع تغذیه اطلاعاتش را از دست نمی دهد و خود به چندین نوع می باشد که شامل :

PROM :

حافظه های PROM مخفف Programmable Read Only Memory می باشد ، این حافظه بصورتی طراحی شده است که برنامه نویس فقط یکبار می تواند دیتا یا برنامه مورد نظرش را بر روی آن ذخیره نماید و پس از آن دیگر قابل پاک شدن نخواهد بود ، در گذشته از این نوع حافظه ها برای BIOS کامپیوتر ها استفاده می شده است که عملیات Pre Post و Post به ترتیب توسط CPU از روی آن واکشی می گردید.

EPROM

حافظه های EPROM مخفف Erasable Programmable Read Only Memory می باشد ، همانند PROM ها توسط برنامه نویس پروگرام می شود با این تفاوت که قابلیت حذف و پاک نمودن داده ها نیز در آن ها وجود دارد ، مکانیزم Clear نمودن حافظه بدین گونه است که روزنه ای بر روی IC قرار دارد که به آن در اصطلاح پنجره می گویند در حالت نرمال این پنجره با برچسبی پوشیده است و زمانی که لازم باشد اطلاعات آن پاک شود ، برچسب را برداشته و با تاباندن پرتو ماوراء بنفش اطلاعات IC پاک می شود.

EEPROM

حافظه های EEPROM یا E2ROM مخفف Electrically Erasable Programmable Read Only Memory می باشد ، همانند نسل قبل قابلیت نوشتن و پاک کردن اطلاعات در آن میسر است با این تفاوت که بجای تاباندن پرتو ماوراء بنفش از سیگنال الکتریکی که به یک پایه خاص ارسال می شود ، حافظه پاک می گردد.

Flash ROM

در واقع این نوع از حافظه ها ارتقاء یافته E2ROM ها می باشند و از سرعت و گنجایش بیشتری برخوردار هستند بر خلاف E2ROM ها که با یک سیگنال تمام حافظه پاک می شد در Flash ROM ها می توان حافظه را مدیریت نمود و دیتای های را بصورت Read & Write قرار داد.

حافظه های موقت :

حافظه های موقت یا RAM مخفف Random Access Memory به معنی حافظه با دسترسی تصادفی یا بهتر بگوییم حافظه با دسترسی مستقیم ، حافظه اصلی پردازشگر می باشد ، تمام برنامه ها ، متغیر ها و همه آنچه که پردازشگر برای دریافت وکار با دستورالعمل ها نیاز دارد در این حافظه انجام می شود ، این حافظه اصلی سیستم می باشد که مستقیم با پردازشگر در ارتباط است ، هر چه میزان سرعت این حافظه ، پهنای باند و گذرگاه داده ها در این سیستم بالاتر باشد ، سرعت دریافت و ارسال اطلاعات به پردازشگر بالاتر خواهد بود ، از آنجایی که با قطع شدن جریان منبع تغذیه اطلاعات این حافظه از بین می رود به آن حافظه های موقت می گویند.

حافظه های داخلی میکروکنترلر PIC

در میکروکنترلر های PIC دو نوع حافظه وجود دارد که بشرح ذیل می باشد :

  • حافظه برنامه
  • حافظه داده

حافظه برنامه :

در میکروکنترلر PIC برنامه هایی که برای آن نوشته می شود در این حافظه ذخیره می گردد این حافظه از نوع Flash ROM بوده و در نتیجه با قطع منبع تغذیه اطلاعات آن از بین نمی رود ، در این نوع از میکروکنترلر ها یک شمارشگر ( کانتر ) 21 بیتی به نام PC وجود دارد که وظیفه آدرس دهی تا حداکثر مقدار 2MB را بر عهده دارد ، به عنوان مثال در میکروکنترلر PIC 18F452 برنامه نویس می تواند در محدوده 0000H تا 7FFFH را آدرس دهی نماید و اگر مقدار PC از محدوده فوق متجاوز شود عملا هیچ اتفاقی نخواهد افتاد.

محدوده آدرس 0008H تا 0018H به منظور بردارهای وقفه رزور شده است که در هنگام وقوع وقفه PC برابر با آدرس بردار مورد نظر شده و اجرای برنامه متوقف شده و اشاره گر به زیر برنامه وقفه پرش نموده و برنامه وقفه را اجرا می نماید.

حافظه داده :

در میکروکنترلر PIC حافظه داده شامل دو حافظه RAM و EEPROM می باشد ، دیتاهای حافظه RAM همانطور که قبلا اشاره گردید با قطع جریان منبع تغذیه از بین می روند ، تمامی متغیر های برنامه در این حافظه قرار می گیرند و چنانچه برنامه نویس لازم بداند که اطلاعات برخی از متغیر ها با قطع شدن منبع تغذیه از بین نرود می تواند از حافظه EEPROM همزمان استفاده نماید.

در میکروکنترلر PIC حافظه داده به دو قسمت رجیستر های خاص به نام SFR و رجیستر های عمومی به نام GPR  تقسیم بندی شده اند لازم به ذکر است هر یک از این رجیستر ها دارای یک آدرس 12 بیتی می باشند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

5 + سه =

دکمه بازگشت به بالا