شمارنده حلقوی جانسون:
شمارنده حلقوی جانسون (Johnson Ring Counter) یا شمارنده حلقوی پیچشی (Twisted Ring Counters) نوع دیگری از شیفت رجیسترهای دارای فیدبک است که سازوکاری بسیار شبیه به شمارنده حلقوی استاندارد دارد که در بالا توضیح داده شد.
با این تفاوت که این بار خروجی معکوس کننده آخرین فلیپ فلاپ به ورودی D اولین فلیپ فلاپ متصل شده است. نمایی از مدار شمارنده حلقوی جانسون در شکل زیر نشان داده شده است.
مهم ترین مزیت این نوع از شمارنده های حلقوی در این است که فقط به نصف تعداد فلیپ فلاپ هایی نیاز دارد که در مدار یک شمارنده حلقوی استاندارد مورد استفاده قرار می گیرند. به همین دلیل عدد MOD آن ها نیز نصف می شود.
بنابراین یک شمارنده حلقوی جانسون n طبقه، یک بیت داده تکی را به گردش در می آورد و دنباله ای متشکل از 2n حالت مختلف را ایجاد می کند، پس می توان این شمارنده ها را به عنوان شمارنده MOD-2n در نظر گرفت.
این عمل که خروجی Q را قبل از این که به ورودی اولین فلیپ فلاپ بازگردانیم، معکوس می کنیم، باعث می شود که شمارنده به طریق متفاوتی شمارش را انجام دهد.
در واقع شمارنده حلقوی جانسون به جای این که مانند شمارنده های حلقوی عادی در یک مجموعه ثابت از الگوها شمارش را انجام دهد و این الگو را در سر تا سر شمارش تکرار کند، این شمارنده به صورت بالا شمار و سپس پایین شمار می شمارد، زیرا سطح اولیه یک منطقی در طول شمارنده به سمت راست حرکت می کند و جایگزین صفر منطقی قبلی در شمارنده می شود.
به عنوان مثال در یک شمارنده حلقوی استاندارد 4 بیتی، حالت های شمارش به صورت 0001 یا 1، 0010 یا 2، 0100 یا 4 و 1000 یا 8 هستند، اما در یک شمارنده حلقوی جانسون 4 بیتی، ابتدا بلوک ها شامل 4 سطح صفر منطقی هستند و سپس به آن ها 4 سطح منطقی یک وارد می شود.
بنابراین یک الگوی 8 بیتی را ایجاد می کنند. در واقع چون معکوس خروجی Q به ورودی D فلیپ فلاپ اول وارد می شود، این هشت الگو به صورت دائمی تکرار می شوند.
به عنوان مثال، 0000، 0001، 0011، 0111، 1111، 1110، 1100، 1000 الگوی هشت تایی هستند که شمارنده هر بار تکرار می کند. جدول درستی و دنباله خروجی های مختلف شمارنده حلقوی جانسون در زیر نشان داده شده است.
علاوه بر شمارش و چرخش داده ها در یک حلقه ثابت، شمارنده های حلقوی همچنین می توانند برای شناسایی و تشخیص الگوهای مختلف و یا مقادیر اعداد در یک دنباله از داده ها مورد استفاده قرار گیرند.
از طریق اتصال گیت های منطقی ساده مانند گیت های AND و یا گیت های OR به خروجی فلیپ فلاپ ها، مدار قادر خواهد بود تا اعداد از پیش تنظیم شده را شناسایی و تشخیص دهد.
شمارنده های حلقوی جانسون استاندارد 2 یا 3 یا 4 طبقه نیز می توانند به عنوان مقسم فرکانسی پالس کلاک مورد استفاده قرار گیرند. برای این کار باید اتصالات فیدبک تغییر یابد تا خروجی های تقسیم شده بر 3 و تقسیم شده بر 5 هم امکان پذیر شوند.
به عنوان مثال، شمارنده حلقوی جانسون 5 طبقه استاندارد مانند آی سی های متداول CD4017 معمولا به عنوان یک مدار شمارنده/تقسیم کننده ده دهی سنکرون مورد استفاده قرار می گیرند.
سایر ترکیبات مانند مدارات کوچک تر دو طبقه، که با نام های مولد (Generator) یا اسیلاتور (Oscillator) سینوسی/کسینوسی یا ربعی (Quadrature) نیز شناخته می شوند، می توانند برای تولید چهار خروجی تکی مورد استفاده قرار گیرند.
این چهار خروجی هر کدام نسبت به یکدیگر دارای 90 درجه اختلاف فاز هستند و یک سیگنال زمان بندی 4-فاز مانند شکل زیر را تولید می کنند.
جدول درستی مولد دو بیتی ربعی به صورت زیر است.
چون چهار خروجی A تا D نسبت به یکدیگر به اندازه 90 درجه اختلاف فاز دارند، در نتیجه این خروجی ها می توانند همراه با مدارت دیگر مورد استفاده قرار گیرند. مثلا می توانند موتور پله ای (Stepper Motor) دو فاز را برای اهداف کنترل موقعیت یا توانایی چرخش موتور به یک موقعیت خاص درایو کنند.
نمایی از سیگنال های مختلف در کنترل یک موتور پله ای در شکل زیر نشان داده شده است.
سرعت چرخش در یک موتور پله ای عمدتا به فرکانس پالس کلاک بستگی دارد و مدارات اضافه برای درایو توان مورد نیاز موتور معمولا مورد نیاز است.
یک شمارنده حلقوی جانسون به فرم های استاندارد TTL و یا CMOS وجود دارد. CD4017 که یک شمارنده حلقوی جانسون ده دهی 5 طبقه است، نمونه ای از چنین آی سی هایی محسوب می شود که دارای 10 خروجی دیکود شده Active HIGH است.
CD4022 نیز یک شمارنده جانسون 4 طبقه مقسم بر 8 است که 8 خروجی دیکود شده دارد.