مفدمه
به علت مشکلاتی از قبیل سیاست سازندکان قطعات سخت افزار و تحریم اقتصادی ایران اکثر کشور ها از ارائه تکنولوژی به ایران خودداری می کنند .در کشور ما طراح سخت افزار و اصولا مرکزی برای تولید این قطعات وجود ندارد ، به دانشجویان نیز در این زمینه به جز مقداری تئوری اطلاعات دیگری آموخته نمی شود .
به همین دلیلی با مطالعه درس VLSI که اصول کلی طراحی سخت افزار را توضیخ می دهد بر آن شدیم تا شاید بتوانیم بوسیله نرم افزار های شبیه ساز سخت افزار (VHDL) قطعات سخت افزاری را شبیه سازی نماییم .جهت رسیدن به این مقصود از IC کوچکی که کارایی زیادی در میکرو کنترولر ها دارد شروع کردیم . بعد از حدود 3 ماه توانستیم از مدار خود جواب بگیریم و تازه متوجه کار مشقت بار یک طراح شدیم .
مستندات برنامه نویسی این پروژه در این مقاله تحقیقی فقط برای قسمت های اصلی داده شده است چون ارائه کامل آن مقاله را بسیار پیچیده و گنگ می کرد .
لازم به ذکر است مطالب این مفاله صرفا برای دانشجویان سخت افزار و الکترونیک قابل درک است و برای کسانی که درس VLSI , ریز پردازنده را خواهند گدراتد مفید خواهد بود .
آشنایی با رابط قابل برنامه ریزی 8255A
رابط قابل برنامه ریزی وسائل جانبی ، 8255 یک تراشه ارزان قسمت بسیار متداول است که امروزه کاربردهای زیادی یافته است . این تراشه دارای 24 پایه برای I/O است که در گروههای 12 پایه ای قابل برنامه ریزی هستند . هر گروهی می تواند در به حالت مجزا کار کند : I/O ساده ، IO استروب شده و I/O دو طرفه ، 8255 قادر است هر وسیله I/O موازی سازگار با TTL را به آسانی به ریز پردازنده Z80 ارتباط دهد .
(تصاویر در فایل اصلی موجود است )
توضیح کلی :
وضعیت پایه ها و شمای کلی 8255 در شکل 1 نشان داده شده است . پایه ها نشان می دهد که 8255 سه در گاه I/O دارد( A,B,C) که در دو گروه 12 پایه ای برنامه ریزی می شوند. گروه A از در گاه A (PA0-PA7) و نیمه بالایی در گاه C ( PC4-PC7) و گروه B ( PB0-PB7) و نیمه پائینی درگاه C(PC0-PC3)تشکیل می شود .
انتخاب در گاه بوسیله پایه CS و پایه های آدرس A0,A1 ، انجام می شود. که با هم بطور داخلی یک در گاه I/O یا ثبات فرمان را بر می گزینند .
ورودی RESET باعث می شود که در گاه I/O به عنوان در گاه ورودی برنامه ریزی شود تا آسیبی به مدارهای متصل به پایه های در گاه برسد . اگر این درگاه بخواهد به عنوان درگاه خروجی بکار رود .8255 را باید از طریق درگاه فرمان برنامه ریزی نمود تا به عنوان خروجی عمل کنند..
روش برنامه ریزی 8255
برنامه ریزی 8255 کارنسبتا ساده ای است زیرا تراشه فقط دارای 2 ثبات فرمان داخلی است که برنامه ریزی می شوند.شکل 3 ثبات فرمان اصلی را نشان می دهد که به استفاده کننده اجازه می دهد تا در گاه I/O گروههای A و B را به طور جداگاه برنامه ریزی نماید . این ثبات فرمان
را می توان با ارسال یک 1 به محل آخرین بیت سمت چپ آن انتخاب نمود .
پایه های گروه B به عنوان پایه های ورودی و یا به عنوان پایه های خروجی قابل برنامه ریزی هستند . گروه B همچنین می تواند در یکی از حالتهلی 0 یا 1 کار کند .
حالت 0 مربوط به عملیات ورودی–خروجی ساده و حالت 1 مربوط به عملیات ورودی-خروجی استروب شده است در این حالت در گاه B به عنوان ورودی خروجی به همراه سیگنالهای کنترلی انتقال اطلاعات(دست تکانی ) که بوسیله در گاه C تامین می شود. عمل کند .
پایه های گروه A به عنوان پایه های ورودی یا خروجی برنامه ریزی می شوندکه در یکی از حالات 0و1و2 کار کنند . در همه حالات به جز حالت 0 در گاه A به عنوان
یک در گاه ورودی یا خروجی برنامه ریزی می شود که در گاه C به عنوان سیگنال های کنترل انتقال اطلاعات برای آن عمل می کند .حالات 0و1 مشابه حالات در گروه B هستند .و حالت 2 در گاه A را به عنوان یک درگاه I/O دو طرفه بکار می گیرد که درگاه C تامین کننده سیگنال های کنترل انتقال اطلاعات برای آن است.
اگر یک صفر در آخرین بیت ثبات فرمان (از سمت چپ) قرار داده شود بیتهای درگاه C را میتوان به طور مجزا آدرس داد، به نحویکه در حالات 1و2 می توان هر یک از آنها را نشاند و یا پاک نمود. در حالت 0 ، اطلاعات مستقیما به در گاه C فرستاده می شوند.