شمارندههای MOD مدارات شمارندهی آبشاری هستند که میتواند پیش از ریست شدن تا مقدار معینی بشمارند.
وظیفهی یک شمارنده این است که با هر پالس کلاک، یک شماره به جلویا عقب برود. شمارندههایی که با اعمال پالس کلاک یک عدد به جلو می روند، شمارندههای افزایشی هستند و شمارندههایی که با هر پالسیک عدد به عقب می روند، شمارندههای کاهشی نام دارند. برخی شمارندهها نیز میتوانند در هر دو جهت شمارش داشته باشند که به آنها شمارندههای دو جهته می گویند.
شمارندهها المانهایی هستند که از منطق ترتیبی بهره میبرند و بایک پالس زمانبندی یا سیگنال کلاک شروع به شمارش میکنند. یک شمارنده میتواند به صورت سنکرون یا غیرسنکرون باشد. در شمارندههای سنکرون تمام بیتهای داده به صورت همزمان با اعمال پالس کلاک تغییر وضعیت میدهند. در حالیکه یک شمارندهی غیرسنکرون یا آسنکرون مستقل از سیگنال کلاک ورودی می باشد. بنابراین، بیتهای داده به ترتیب اما در زمانهای متفاوت تغییر وضعیت می دهند.
تعداد شمارههایی که پس از شمارش آنها شمارنده ریست میشود و دوباره به شرایط اولش باز میگردد (MOD) modulus آن شمارنده نام دارد. به عبارتی دیگر modulus یا modulo تعداد شمارشهای شمارنده و میزان تقسیم فرکانس سیگنال ورودی به خروجی را نشان می دهد.
به عنوان مثال،یک شمارنده دو بیتی میتواند از ۰۰ تا ۱۱ باینری بشمارد که برابر با ۰ تا ۳ دسیمال میشود و MOD این شمارنده ۴ خواهد بود. (۱۱→ ۰۱→ ۱۰→۰۰) و به ۴ پالس کلاک نیاز خواهد بود تا شمارنده از ۰۰ به ۱۱ برسد.
در این مثال تنها دو بیت وجود دارد (n=2) و حداکثر تعداد وضعیتهای خروجی توسط فرمول ۲n محاسبه میشود که در اینجا برابر با ۴ خواهد بود و به هر حال شمارندههای مختلف میتوانند بهیکدیگر متصل شوند و شمارندهای با عدد MOD دلخواه را به وجود بیاورند.
بنابراینیک شمارندهی MOD-N به N فلیپفلاپ که بهیکدیگر متصل شدهاند نیاز دارد تا بتواند ۲n حالت خروجی تولید کند ( به خاطر داشته باشید که N هماوره عددی غیر اعشاری و مثبت است.)
و مقدار MOD یک شمارنده همواره توانی از عدد ۲ (۲۱،۲٬، ۲۲، ۲۳ و…) خواهد بود. MOD یک شمارنده بسته به تعداد فلیپهای تشکیلدهنده و نحوهی اتصال آنها دارد.
فلیپ فلاپ های نوع D
اگر از یک فلیپفلاپ استفاده شود، شمارنده تنها میتواند از ۰ تا ۱ بشمارد. البته فلیپفلاپها انواع مختلفی از جمله S-R، J-K، J-K master-slave، نوع D و نوع T دارند که میتوان از آنها برای ساخت شمارنده استفاده کرد. اما برای سهولت کار ما تنها از نوع D استفاده میکنیم که به نوع Data Latch نیز معروف است چرا که از یک ورودی داده تکی و سیگنال کلاک خارجی استفاده میکند و در بخش بالاروندهی پالس تحریک میشود.
فلیپفلاپ نوع d مانند قطعه TTL74LS74 میتواند با استفاده از S-R یا فلیپفلاپهای JK نیز ساخته شود. حال بسته به شرایط میتوانیم نوع تحریک در گوشهی بالارونده ( هنگامی که سیگنال از سطح ۰ به ۱ می رود) یا نوع تحریک در گوشه پایین رونده ( هنگامی که سیگنال از ۱ به ۰ میورد) را تولید کنیم. در اینجا ما از یک فلیپفلاپ تحریک در گوشهی بالارونده استفاده میکنیم. اگر نیاز به اطلاعات بیشتری در مورد فلیپفلاپها دارید، میتوانید به سری مقالهی فلیپفلاپهای نوع D مراجعه کنید.
جدول ارزشی یک فلیپفلاپ نوع D
عملکرد فلیپفلاپ نوع D بسیار ساده است. چرا که تنها یک ورودی برای داده دارد که D نامیده شده و ورودی دیگر ورودی کلاک (CLK) میباشد. در چنینی شرایطی تنهایک بیت میتواند تحت کنترل سیگنال کلاک ذخیره شود. بنابراین، فلیپفلاپ تبدیل بهیک المان سنکرون میشود. چرا که داده ورودی تنها در گوشهی بالا رونده سیگنال کلاک به خروجی فلیپفلاپ ارسال می شود.
بنابراین با توجه به جدول ارزشی و سنکرون بودن قطعه اگر پالس کلاک اعمال شود و ورودی منطق یک باشد، فلیپفلاپ منطق یک و مکملش را حفظ خواهد کرد. حال اگر سطح ورودی پایین باشد و پالس کلاک اعمال شود، صفر در ”Q” ویک در Q ذخیره خواهد شد.
سپس خروجی “Q” فلیپفلاپ نوع D به مقدار ورودی D هنگامی که سطح سیگنال کلاک بالاست پاسخ می دهد. هنگامی که سطح سیگنال کلاک پایین است، شرایط در ”Q” در ۰یا ۱ باقی می ماند. مگر آنکه سیگنال کلاک تغییر وضعیت دهد.
بنابراین خروجی از ”Q” تنها در صورتی تغییر وضعیت میدهد که سطح سیگنال کلاک ورودی از ۰ (پایین) به ۱ (بالا) تغییر کند. به خاطر داشته باشید فلیپفلاپهایی که در گوشه پایین روندهی سیگنال کلاک تحریک می شوند، طرز کار مشابهی دارند و تنها تفاوت ناحیهای از سیگنال کلاک است که در آن تحریک می شوند.
بنابراین حال که میدانیم یک فلیپفلاپ نوع D چگونه کار میکند، میتوانیم چند عدد از آنها برای ساخت یک شمارنده MOD بهیکدیگر متصل کنیم.
شمارندهی دو قسمتی
فلیپفلاپ نوع D بلوک سازندهی اصلی یک شمارندهی MOD یا هر نوع منطق ترتیبی می باشد. به وسیلهی اتصال خروجی Q به ورودی D و ساختن یک حلقهی فیدبک میتوانیم شمارندهی باینری دو قسمتی را به وجود بیاوریم که سیگنال خروجی Q همیشه معکوس سیگنال ”Q” باشد.
شمارندهی دو قسمتی و دیاگرام زمانبندی آن
دیاگرام زمانبندی نشان میدهد که شکل موج خروجی ”Q’ فرکانسی برابر با ۱/۲ سیگنال کلاک دارد. بنابراین فلیپفلاپ مانند یک جداکنندهی فرکانس عمل میکند. اگر ما فلیپفلاپ نوع D دیگری را به مجموعه اضافه کنیم تا خروجی در نقطهی ”Q’ ورودی دومین فلیپفلاپ باشد، سیگنال خروجی از دومین فلیپفلاپ ۱/۴ فرکانس کلاک ورودی است و به همین ترتیب سیگنال خروجی هر فلیپفلاپ ۱/۲ سیگنال ورودیاش است. بنابراین برای تعداد n فلیپفلاپ فرکانس خروجی تقسیم بر 2n خواهد شد.
به خاطر داشته باشید که این متد تقسیم فرکانس برای استفاده در مدارات منطق ترتیبی بسیار کاربردی می باشد. به عنوان مثال، یک سیگنال 60Hz میتواند با استفاده از یک شمارنده ۶۰ قسمتی تبدیل به یک هرتز شود. همچنین یک شمارندهی ۶ قسمتی میتواند سیگنال ورودی 60Hz را به 10Hz تبدیل کند.
شمارندهی MOD-4
علاوه بر اینکه این قطعه یک المان ذخیره سازی تک بیتی میباشد، یک فلیپفلاپ تکی میتواند به عنوان یک شمارنده MOD-2 نیز قلمداد شود چرا که دارای کی خروجی تکی است و میتواند از ۰ تا ۱ بشمارد. اما در این حالت میزان شمارش خیلی محدود خواهد بود. بنابراین به وسیلهی اتصال فلیپفلاپهای بیشتر میتوان یک زنجیره را به وجود آورد و ظرفیت شمارش را افزایش داد تا شمارندههای MOD دلخواه به دست بیاید.
شمارندهی MOD-4 و دیاگرام زمانبندی آن
در نظر داشته باشید که به منظور سادگی سوییچینگ QA، QB و CLK در دیاگرام زمانبندی بالا به صورت همزمان نشان داده شدهاند. هر چند که این اتصالات مختص به یک شمارندهی غیرسنکرون است. در واقعیت، یک تأخیر جزئي در سوییچینگ پس از اعمال سیگنال کلاک وجود دارد و خروجی QA و QB کمی بعد تولید می شوند.
میتوان علمکرد این شمارندهی آسنکرون دو بیتی را با استفاده از جدول ارزشی و دیاگرام وضعیت نشان داد.
دیاگرام وضعیت شمارندهی MOD-4
از جدول ارزشی شمارنده اینطور استنباط میشود که هنگامی که QA و QB برابر با صفر باشند، شمارشگر روی عدد ۰۰ خواهد بود. پس از اعمال پالس کلاک QA=1 و QB=0 خواهد بود (۰۱) و با دریافت پالس کلاک بعدی QA=1 و QB=0 می شود(۰۱) در نهایت هنگامی که هر دو خروجی برابر بایک شدند، (۱۱) با اعمال پالس کلاک بعدی، شمارنده ریست میشود و دوباره تا ۱۱ خواهد شمرد.
حال اگریک فلیپفلاپ MOD-4 دیگر را به فلیپفلاپ فعلی متصل کنیم، یک شمارندهی MOD-8 به وجود خواهد آمد که میتواند از ۰۰۰ تا ۱۱۱ بشمارد و اگریک فلیپفلاپ دیگر نیز به این مجموعه افزوده شود. شمارنده MOD-16 به وجود میآید و به همین ترتیب میتواند تعداد ارقام بیشتری را بشمارد در حقیقت ما میتوانیم تا هر اندازه که مایلیم تعداد فلیپفلاپهایمان را افزایش دهیم.
شمارنده MOD-8 و دیاگرام وضعیت آن
گاهی اوقات لازم است شمارش در عددی که توان ۲ نیست خاتمه یابد به عنوان مثال ۶، ۳، ۵ و ….
شمارندههای MOD غیر توان ۲
شمارندهها چه سنکرون و چه غیرسنکرون معمولاً در توان ۲ می باشند.یعنی (۲n). به هر حال میتوانیم شمارندهها با MOD دلخواه را تولید کنیم تا به وسیلهی چند دراوزهی منطقی از شمردن برخی حالتها چشمپوشی کنند و شمارش را در عدد دلخواه متوقف و شمارنده را به صفر بازگردانند.
در چنین شمارندههایی پیش از اینکه شمارش به پایان برسد، شمارنده ریست می شود.
شمارندهها چه در حالت بالارونده چه در حالت پایین رونده دارای پایههای CLEAR و PRESET هستند که میتوان به کمک این پایهها شمارش را دوباره از نو آغاز کرد ( تمام خروجیهای Q صفر می شوند.)
پایه PRESET قطعهی 74LS74 در حالت سطح پایین فعال می شود.
میتوان برای سادگی اینگونه تصور کرد که ورودیهای CLEAR همگی بهیکدیگر متصل شدهاند و در حالت بالا فعال میشوند. در این حالت، هنگامی که ورودی پایه CLEAR برابر با ۰ (سطح پایین) است، عملکرد فلیپفلاپ عادی می باشد. اما اگر پایهی ورودی CLEAR در سطح منطقییک باشد، با اولین گوشه بالارونده سیگنال کلاک فلیپفلاپ ریست و Q=0 میشود در این حالت ارزش سیگنال کلاک بعدی در وضعیت خروجی هیچ تأثیری ندارد.
بهیاد داشته باشید که تمام پایههای CLEAR ورودی به یکدیگر متصل هستند و یک پالس کوچک میتواند برای برگرداندن خروجیهای Q تمام فلیپفلاپها به صفر به کار رود. همچنین شمارندههای بزرگ دارای پایههای ENABLE و INHIBIT نیز میباشند که به شمارنده اجازه میدهد شمارش را در هر نقطه از سیکل شمارش قطع کند و در شرایط فعلی باقی بماند. این بدان معناست که شمارنده میتواند در نقطهی دلخواه متوقف شودیا شمارش را ازیک نقطهی دلخواه شروع کند و نیازی به ریست کردن خروجی ها نخواهد داشت.
شمارندهی MOD-5
فرض کنید میخواهیم یک شمارندهی MOD-m را طراحی کنیم. برای این منظور، ابتدا باید MOD دلخواه مان را مشخص کنیم که در اینجا ۵ می باشد.
تعداد فلیپفلاپهای مورد نیاز باید بیشتر از عدد MOD باشد (MOD>2n)
اولین توان ۲ که بزرگتر از ۵ است ۸ می باشد. پس به شمارندهای نیاز داریم که حداقل ۳ فلیپفلاپ داشته باشد (N=3) تا قادر باشد از ۰ تا ۷ (۰۰۰ تا ۱۱۱) بشمارد.
با در نظر گرفتن فرضیات بالا، جدول ارزشی برای یک شمارندهی MOD-8 به صورت زیر خواهد بود.
جدول ارزشی شمارنده MOD-8
از آن جایی که میخواهیم یک شمارندهی MOD-5 بسازیم، نیاز داریم تا شمارندهی MOD-8 را به گونهای تغییر دهیم تا پس از رسیدن به عدد ۵ دوباره ریست شود.
یک شمارندهی MOD_5 میتواند یک ترتیب شمارش باینری ۳ بیتی را به وجود بیاورد. اولین رقم باینری ۰۰۰ میباشد و در ششمین شمارش به عدد ۵ خواهیم رسید. در شمارش ششم QA=1 و QB=0 و QC=1 خواهد بود. به دیاگرام وضعیت زیر نگاه کنید.
ترتیب شمارش MOD-5
میتوانیم وضعیت خروجی (۱۰۱) (۵) را دکد کنیم تا به ما یک سیگنال برای (CLR) کردن شمارنده به صفر بدهد. برای این منظور می توانیم ازیک دروازهی AND که دارای ۳ ورودی است و مدار مجتمع معادل آن TTL74LS511 میباشد و یک گیت معکوس کنندهی TTL74LS04 NOT استفاده کنیم.
ترکیب دروازههای AND و NOT به خروجیهای شمارندهی ۳ بیتی (QC,QB,QA) متصل میشود.
خروجی دروازهی AND برای هر ترکیب ورودی ۰ خواهد بود و بنابراین کدهای باینری ۰۰۰، ۰۰۱، ۰۱۱ و ۱۰۰ به تریتب توسط شمارنده ساخته خواهند شد.
در این حالت هنگامی که وضعیت خروجی به ۱۰۱ (۵) برسد، گیت AND یک خروجی سطح بالا تولید میکند که باعث ریست شدن شمارنده و بازگشت آن به سطح صفر میشود. بنابراین شمارنده تنها برای چند نانو ثانیه روی ۱۰۱ میماند و دوباره به ۰۰۰ بازمی گردد.
بنابراین ما میتوانیم از دکد کردن ورودی AND برای ریست کردن شمارنده استفاده کنیم تا یک شمارنده با MOD دلخواه داشته باشیم. هنگامی که سطح خروجی مدار دکد کننده پایین است، هیچ تأثیری بر روی ترتیب شمارش نخواهد داشت.
شمارندههای MOD-5 به همراه جدول ارزشی
بنابراین ما میتوانیم از مدارات دیکد کننده منطق ترکیبی به همراهیک شمارنده معمولی (چه سنکرون چه غیر سنکرون) برای ساخت شمارندهی MOD دلخواه استفاده کنیم. در این حالت شمارنده میتواند با رسیدن به هر نقطهی دلخواه ریست و شمارش از ابتدا آغاز شود.
در مثال بالا ازیک گیت AND که دارای ۳ ورودی است برای دکد کردن وضعیت خروجی ۱۰۱ استفاده شد. اما میتوان از هر مدار منطقی دیگری برای ریست کردن فلیپفلاپها در نقطهی دلخواه استفاده نمود.
به هر حالیکی از مضرات استفاده از شمارندههای غیر سنکرون برای ساخت شمارندهها در MOD دلخواه اتفاقی است که هنگامی که شمارنده قصد دارد ریست شود روی می دهد.
برای مدت کوتاهی ممکن است خروجیهای شمارنده مقدار غلطی را دریافت کنند . بنابراین گاهی اوقات بهتر است از شمارندههای سنکرون برای ساخت شمارندههای دلخواه استفاده کرد چرا که تمام فلیپفلاپها با سیگنال کلاکیکسانی راه اندازی میشوند و همگی با هم دریک زمان تغییر وضعیت می دهند.
شمارندههای دهدهی
یک مثال از یک مدار شمارنده که در عددی خارج از توان ۲ ریست میشود و از مدارات ترکیبی خارجی در ساختش استفاده شده، شمارندهی دهدهی میباشد. شمارندههای دهدهی مانند TTL74LS90 دارای ده حالت خروجی می باشند که این قطعه را برای زمانی که قرار است شمارش بر روی صفحه نمایش ثبت شود، مناسب میکند. (انسان معمولاً برای شمارش از مقادیر دسیمال استفاده میکند. )
یک شمارندهی دهدهی دارای ۴ خروجی میباشد که یک عدد باینری ۴ بیتی را تولید میکند و با استفاده از دروازههای AND و OR خارجی میتوانیم شمارش را به جای ۲۴=۱۶ در عدد ۹ خاتمه دهیم. سپس شمارنده ریست میشود و شمارش دوباره آغاز می شود.
البته یک شمارندهی دهدهی میتواند با استفاده از فلیپفلاپهای JK (TTL74LS73) نیز تولید شود که در بخش پایین رونده سیگنال کلاک ( به صورتی که در شکل نشان داده شده) تغییر وضعیت دهد.
شمارندهی دهدهی MOD-10
خلاصهی شمارندههای MOD
در این مقاله شمارندههای MOD مورد بررسی قرار گرفت. شمارندههای باینری مدارات ترتیبی هستند که اعداد باینری را تولید میکنند و وضعیت یک شمارندهی باینری توسط ترکیب خاص قرارگیری خروجیها در کنار یکدیگر تعیین می شود.
تعداد حالات ممکنی که خروجییک شمارنده میتواند به آن دست پیدا کند MOD یا MODULUS آن شمارنده نامیده میشود و یک شمارندهی MOD-n، شمارندهی n قسمتی نیز نامیده می شود.
Modulus یک شمارنده به صورت ۲n محاسبه میشود که در اینجا عدد n نشان دهندهی تعداد فلیپ فلپهایی است که در مدار شمارنده به کار رفته. بنابراینیک شمارنده که دارای ۳ فلیپفلاپ است میتواند توسطیک شمارنده شمرده شود ۲n-۱ می باشد. به عنوان مثالیک شارندهی ۳ بیتی میتواند تا ۲۳-۱=۷ بشمارد.
شمارندههای رایج MOD-2,4,8,16 هستند و با استفاده از مدارات ترکیبی خارجی میتوانند برای شمارش تا ه مقدار مشخصی برنامهریزی شوند.
شمارندهی MOD-10 یک شمارندهی ناتمام است. این شمارنده که از ۴ فلیپفلاپ تشکیل شده بر خلاف حالت عادی تا عدد ۱۵ نمی شمارد و در ۱۰ ریست می شود.
به شمارندههایی که تا عدد ۱۰ میشمارند و سپس ریست میشوند، شمارندههای دهدهی گفته میشود. شمارندههای دهدهی برای اتصال به نمایشگرهای دیجیتال گزینههای مناسبی هستند و از شمارندههای MOD-6 و MOD-12 در ساعتهای دیجیتال و صفحههای نمایشی که تاریخ را نشان میدهند استفاده می شود.