اگر با میکرو کار کرده باشید حتما درگیر کار با سون سگمنت ها (7segments)  شده اید و روش راه اندازی آنها را میدانید، ولی اگر با آنها کار نکرده اید برای آشنایی با آن،با ما همراه باشید:

7segment در اصل از تعداد هفت عدد ال ای دی در کنار هم تشکیل شده است که هر کدام از این مجموعه هفت تکه ای توانایی نمایش  مقدار عددی صفر تا 9 و حروف a  تا f را دارد ( عموما ) هر کدام از این تکه LED های قرمز رنگ ( عموما ) همانند یک دیود هستند که دارای دو پایه اند. یک پایه به GND و پایه دیگر به ولتاژ راه انداز متصل شده است، پس نتیجه خواهیم گرفت که برای هر 7segment باید حداقل 8 پایه وجود داشته باشد .

علاوه بر اینها ممکن است در کنار تکه LED ها ، تکه ای دیگر وجود داشته باشد که دایره شکل و همان از نوع LED است که شکل آن دات یا ( . ) است و پایه جدا گانه ای دارد ، همینطور نیز ممکن است که مجموعه هفت تکه ما دارای پایه فعالساز یا همان Enable باشد و تا زمانی که فعال نشود هیچ تغییری در دیگر قسمت ها دیده نمیشود .

شکل کلی یک 7Segment :

سون سگمنت

باید توجه کرد که 7Segment منطقش صفر است یا یک و یا به عبارتی دیگر آند مشترک است یا کاتد مشترک.

ساختار سون سگمنت آند مشترک و کاتد مشترک

ساختار سون سگمنت آند مشترک

ساختار سون سگمنت کاتد مشنرک

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

جدول اتصالات سون سگمنت برای نمایش اعداد و حروف

اما نکته قابل توجه در آنجایی است که ما بیش از یک 7Segment داشته باشیم ، یعنی اگر ما از 4 عدد 7Segment استفاده کنیم و هر 7Segment نه پایه احتیاج داشته باشد باید برای نمایش مقدار مورد نظر از 36 پایه fpga استفاده کنیم !!

خیر اینگونه نیست باید گفت که پایه های enable هر کدام به یک پورت متصل شود ولی بر فرض مثال پایه a  هر چهار 7Segment باید تنها به یک پورت متصل شود .

باید به این نکته توجه کرد که چشم انسان توانایی دیدن روشن خاموش شدن مداوم یک LED را تا فرکانس ( سرعت ) مشخصی دارد و اگر سرعت خاموش و روشن شدن آن بر فرض مثال به 8 میلی ثانیه برسد چشم انسان  قادر به تشخیص دقیق آن نخواهد بود .

حال فرض کنیم عبارت 2020 قرار است توسط 4 عدد 7Segment نمایش داده شود ابتدا در لحظه صفر پایه enable اولی وصل میشود  و بقیه enable ها قطع میشوند و پورت های a , b , c , d , e , f ,g مقدار صفر را نمایش میدهند و بعد از 8 میلی ثانیه ( دلخواه ) enable دوم فعال و بقیه غیر فعال میشوند و پورتها مقدار دو را نمایش میدهند ، اگر همینگونه این کار ادامه یابد و تکرار شود چشم ما تنها مقادیر 2020 را خواهد دید تنها با تعداد پورت مصرفی کمتر .

به عنوان مثال در شکل زیر شماتیک طراحی شده برای 7segment چهار عددی نمایش داده شده است .

اتصال سون سگمنت به FPGA

کد راه اندازی سون سگمنت

کپی کردن کدها

کد TOP ماژول

کپی کردن کدها

مشخص کردن پین های FPGA

کپی کردن کدها

بررسی نتیجه نهایی گرفته شده

دریافت فایل های پروژه

با تشکر از آقای محمد حسین اصفهانی

منبع: Octacore.ir