شمارنده حلقوی جانسون شامل گروهی از شمارندهها میباشد که به یکدیگر متصل شدهاند و خروجی به ورودی، فیدبک داده میشود.
شمارنده جانسون، نوعی از شمارنده میباشد که با استفاده از شیفت رجیسترها تولید شده. در مقالهی قبلی دیدیم اگر داده ای به ثبات SISO اعمال شود، خروجی به همان ترتیب ورودی از آخرین فلیپ فلاپ خارج میشود.
حرکت سریال داده در طول ثبات، توسط سیکلهای کلاک رخ میدهد و در این شرایط ثبات SISO همانند یک مدار تاخیر زمانی عمل میکند که دقیقا همان سیگنال ورودی را به خروجی ارسال میکند.
حال اگر خروجی این ثبات شیفت را به ورودی فیدبک دهیم تا خروجی آخرین فلیپ فلاپ QD، ورودی اولین فلیپ فلاپ QA باشد، یک مدار حلقه بسته به وجود آمده که داده را در خودش میچرخاند که به آن شمارنده حلقه میگویند.
بنابراین با فیدبک دادن خروجی به ورودی میتوان یک مدار شیفت رجیستر را به یک شمارنده حلقه تبدیل کرد. مدار زیر را در نظر بگیرید:
شمارنده حلقوی 4 بیتی
شمارنده سنکرونی که در بالا مشاهده میکنید، طوری تنظیم شده که یک بیت دارای منطق یک باشد و دیگر بیتها در منطق صفر باشند. برای تنظیم شمارنده در این حالت ابتدا یک شیگنال clear به تمام فلیپ فلاپها ارسال میشود تا خروجی تمام شان صفر شود و سپس یک پالس به ورودی اولین فلیپ فلاپ (FFA) اعمال میشود و در نهایت پالسهای کلاک به شمارنده اعمال میشود که هر کدام از پالسها باعث جابه جایی داده بین فلیپ فلاپها میشود و به ازای هر 4 سیکل، داده در شمارنده یک دور کامل زده. اما برای چرخش درست داده در شمارنده ابتدا باید شمارنده را با یک الگوی داده مناسب مقداردهی کنیم (در نظر داشته باشید که انتخاب صفر یا یک برای تمام بیتهای داده، عملا شمارنده را بلااستفاده میکند.)
سیستم گردش داده از چپ به راست، در شمارنده حلقوی و دیاگرام زمانبندی آن در زیر نشان داده شدهاست:
شمارنده حلقوی که در بالا نشان داده شد، دارای 4 حالت مجزا میباشد. به همین دلیل میتوان آن را یک شمارنده MOD-4 نیز در نظر گرفت که خروجی هر فلیپ فلاپ مقدار فرکانسی برابر با ¼ فرکانس کلاک اصلی دارد.
MOD یا Modulo یک شمارنده تعداد حالاتی است که شمارنده قادر به شمارش آن میباشد و شمارندههای حلقه میتوانند با هر شماره Modulo ساخته شوند. یک شمارنده حلقه Mod-n به n فلیپ فلاپ که به یکدیگر متصل شدهاند، نیاز دارد تا بتواند یک بیت داده را در n خروجی مختلف بچرخاند.
به عنوان مثال، یک شمارنده ی حلقه mod-8 به 8 فلیپ فلاپ نیاز دارد. در هر صورت در مثال بالا تنها 4 وضعیت از 16 وضعیت موجود مورد استفاده قرار گرفت. در این حالت از حداکثر ظرفیت شمارنده استفاده نشده که این امر بازده شمارنده را پایین میآورد.
شمارنده حلقه ای جانسون
شمارنده حلقه ای جانسون (Johnson Ring Counter) یک شمارنده به هم تافته حلقوی، یک نوع شیفت رجیستر با فیدبک میباشد که دقیقا شبیه به شمارنده حلقهای است که در بالا ذکر شد. تنها تفاوت در این است که این بار، خروجی Q آخرین فلیپ فلاپ به ورودی D اولین فلیپ فلاپ متصل شده.
بزرگترین فایده این شمارنده حلقوی این است که تنها به نیمی از فلیپ فلاپها نیاز میباشد. بناراین عدد MOD نصف خواهد شد. در نتیجه، یک شمارنده جانسون n مرحله ای یک بیت داده را در 2n حالت مختلف میچرخاند و میتواند به عنوان یک شمارنده mod-2n در نظر گرفته شود.
معکوس شدن Q پیش از اینکه به ورودی D فیدبک داده شود، باعث میشود که شمارنده به صورتی متفاوت شمارش را انجام دهد و به جای شمارش از گروهی از الگوهای ثابت (1) (0001)، (2) (0100)، (4) (0100)، (8) (1000)، به صورت مستقیم و معکوس شمارش داشته باشد.
یک شمارنده حلقوی جانسون 4 بیتی، 4 بلوک از منطق صفر را از خود عبور میدهد و سپس چهار منطق یک از آن عبور میکند. بنابراین یک الگوی 8 بیتی را به وجود خواهد آورد که مدام تکرار میشود. به عنوان مثال 1000، 1100، 1110، 1111، 0111، 0001، 0000 و این قضیه در جدول زیر نشان داده شده است:
شماره پالس کلاک
|
FFA
|
FFB
|
FFC
|
FFD
|
---|---|---|---|---|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
0
|
2
|
1
|
1
|
0
|
0
|
3
|
1
|
1
|
1
|
0
|
4
|
1
|
1
|
1
|
1
|
5
|
0
|
1
|
1
|
1
|
6
|
0
|
0
|
1
|
1
|
7
|
0
|
0
|
0
|
1
|
علاوه بر شماردن یا چرخش داده در یک حلقه بسته، از شمارنده حلقوی میتوان برای تشخیص الگوهای مختلف یا گروهی از مقادیر داده استفاده شود. با اتصال دروازههای منطقی ساده مانند AND یا OR به خروجی فلیپ فلاپها، مدار میتواند گروهی از مقادیر را تشخیص دهد.
از شمارندههای حلقهای جانسون 2،3 یا 4 مرحله ای میتوان برای جداکردن فرکانس سیگنال کلاک استفاده نمود. اما ابتدا باید اتصالات فیدبک متفاوتی را به وجود آورد.
به عنوان مثال یک شمارنده حلقوی جانسون 3 مرحلهای میتواند به عنوان یک ژنراتور 3 فاز موج مربعی با اختلاف فاز 120 درجه مورد استفاده قرار گیرد. اما برای نیل به این مقصود، ابتدا باید شمارنده را به خروجیهای داده در A، B وnot-B متصل کرد.
مدار مجتمع شمارنده 5 مرحلهای جانسون CD4017 نام دارد و از آن به عنوان یک شمارنده سنکرون ده دهی استفاده میشود.
دیگر ترکیبات شمارنده حلقه جانسون مانند مدار 2 مرحله ای که به اسیلاتور/ ژنراتور سینوسی / کسینوسی معرف است، میتواند برای ساخت 4 خروجی مجزا که با یکدیگر 90 درجه اختلاف فاز دارند، استفاده کرد. در این شرایط، یک سیگنال زمانبندی با 4 فاز متفاوت به وجود میآید. برای درک بهتر به جدول زیر نگاه کنید:
خروجی
|
A
|
B
|
C
|
D
|
---|---|---|---|---|
|
1
|
0
|
0
|
0
|
|
0
|
1
|
0
|
0
|
|
0
|
0
|
1
|
0
|
|
0
|
0
|
0
|
1
|
اسیلاتور 4 گانه 2 بیتی ( ترتیب شمارش )
|
از آن جایی که 4 خروجی (A تا D) با یکدیگر 90 درجه اختلاف فاز دارند، میتوانند با اضافه کردن مدارات خاصی یک استپ موتور 2 فاز را راهاندازی کنند و موقعیت موتور یا چرخش آن در جهتی خاص را تحت کنترل داشه باشند.
کنترل استپ موتور
سرعت چرخش استپ موتور بستگی به فرکانس کلاک و توان راهاندازی موتور دارد که از آن جایی که این مقاله تنها قصد دارد اطلاعات جامعی در مورد شمارنده حلقوی جانسون در اختیار خوانندگان قرار دهد، به این مقوله نپرداخته است. بنابراین میتوانید برای کسب اطلاعات بیشتر به وب سایتهای دیگری مراجعه کنید.
شمارندههای حلقوی جانسون در مدار مجتمعهای TTL و CMOS در دسترس میباشند. مانند قطعه CD4017 که یک شمارنده حلقه جانسون ده دهی 5 مرحلهای میباشد که دارای 10 خروجی دکد شدهی فعال در سطح بالا میباشد یا قطعه 4 مرحلهای CD4012 که یک شمارنده جانسون با 8 خروجی دیکد شده فعال در سطح بالا میباشد.