بخشی از مقاله
خلاصه
در این مقاله یک کنترلر فازی CMOS آنالوگ جدید، کم توان و قابل حمل با ورودی Mixed-Signal و خروجی آنالوگ ارائه میشود. در این کنترلر سعی بر این شده است که تا حد امکان توان مصرفی و سطح اشغالی تراشه کم باشد و سرعت و دقت نیز در حد بالا و قابل قبولی باشند. برای پیادهسازی این ایده از یک مدار فازیساز با ورودی Mixed-Signal استفاده شده و برای ترکیب Antecedent ها جهت استفاده در بخش Interface Engine ، یک مدار ماکزیمم گیر و یک مدار مینیمم گیر ارائه شده است.
در بلوک Defuzzifier یک مدار جدید و بهبود یافته با سطح اشغالی و توان مصرفی پایین ارائه شده است. در نهایت شبیهسازی سیستماتیک کنترلر طراحی شده با استفاده از نرم افزار MATLAB و شبیهسازی مداری با استفاده از نرمافزار Hspice در پروسه استاندارد 0/35 um تکنولوژی CMOS انجام گرفته است. تاخیر کلی سیستم در حدود 70ns برای کنترلر طراحی شده میباشد که سرعت 14/3 استنتاج فازی - MFLIPS - را نتیجه میدهد. کل توان تلفاتی کنترلر فازی طراحی شده کمتر از 2/54 mW میباشد که نشاندهنده توان مصرفی پایین کنترلر طراحی شده است.
.1 مقدمه
بلوک دیاگرام کلی یک سیستم فازی بصورت شکل - 1 - میباشد. بلوک ابتدایی در این سیستمها، بلوک Fuzzifier میباشد که دارای دو ورودی Crisp شامل یک ولتاژ آنالوگ و یک دیتای دیجیتال میباشد، که ولتاژ آنالوگ برای تغییر در مکان و مرکز توابع عضویت و دیتای دیجیتال برای تغییر در شیب توابع عضویت استفاده شده و جهت کنترل به بلوک Fuzzifier اعمال میشوند
گرههای این بلوک دارای توابع عضویت به شکل شبه-گوسی میباشند و برای هر ورودی Crisp پنج تابع عضویت اختصاص داده شده است که این توابع مطابق با عبارات Very Small، Small، Medium ، Large، Very Large میباشند.
پارامترهای توابع عضویت توسط سیگنالهای کنترل مشخص میشوند و درجه عضویت در خروجی بلوک Fuzzifier بصورت شکلهای متفاوت تعیین میشوند. خروجی این بلوک که بصورت جریان است قبل از عمل استنتاج، جهت ترکیب و اعمال قوانین، به لایه دوم ساختار کنترلر فازی که در آن از توابع MAX-MIN استفاده شده است، میرود. این بلوک بنام interface Engine معروف است. پس از تعیین قوانین کاربردی در لایه دوم و تعیین Singletonهای انتخاب شده برای آموزش سیستم، حال در لایه سوم جهت تبدیل دیتاهای فازی به حالت Crisp به بلوک دیاگرام دیگری بنام Defuzzifier نیاز است. در این بلوک عملیاتی حسابی جهت ضرب و تقسیم دیتاها انجام گرفته و در نهایت خروجی Crisp بصورت آنالوگ بدست میآید.
بدلیل اهمیت مدارات مُد جریان و راحتی در طراحی مدارات محاسباتی و دقت بیشتر این مدارات[4] پیادهسازی بلوکهای مذکور در این مقالهدر مُد جریان انجام گرفته است اما ورودی و خروجی کنترلر بصورت ولتاژ میباشند که بدلیل استفاده راحتتر از آنها مناسبتر میباشد.
شکل : 1 بلوک دیاگرام کلی سیستم فازی.
.2 بلوکهای ساختاری کنترلر فازی
جزئیات بلوکی کنترلر فازی طراحی شده در شکل - 2 - نشان داده شده است. در این سیستم از توابع عضویت مختلف شبه گوسی در قسمت Fuzzification ، روش MAX-MIN در قسمت Interface Engine و از روش COA در بخش Defuzzification استفاده شده است. چنانکه در شکل مشخص است سیگنالهای ورودی بصورت آنالوگ و دیجیتال به کنترلر اعمال شده است و عملکرد بلوکهای داخلی کنترلر بصورت سیگنالهای آنالوگ بوده و در نهایت خروجی سیستم بصورت یک مقدار آنالوگ و در حوزه Crisp میباشد.
کنترلر طراحی شده دارای ورودی ولتاژ و خروجی ولتاژ بوده ولی بلوکهای داخلیدر مُد جریان کار میکنند. بلوک Fuzzifier، دادههای آنالوگ از نوع ولتاژ و سیگنالهای کنترلی دیجیتالی را دریافت کرده و با توجه به نوع برنامهپذیری آن درجه عضویت را در خروجی این بلوک به صورت شکلهای مختلف تعیین میکند، که البته این خروجیها از نوع جریان میباشند.
خروجیهای این بلوک که Antecedent گفته میشوند، قبل از عمل استنتاج توسط بلوکهای عملگر MIN و MAX با هم ترکیب میشوند و مقدار درجه عضویت برای هر کلاس را مشخص میکنند. خروجی این بلوک وارد بلوک Defuzzifier میشود که به دلیل استفاده از روش MAX-MINو کارکردن در مُد جریان پیادهسازی این قسمت با یک بلوک Dividerکه در مُد جریان کار میکند و خروجیاش ولتاژ است، انجام میگیرد.
عمل Defuzzification به این صورت انجام میگیرد که جریان خارج شده از بلوک MAX را در عدد متناظر با تابع Singleton ضرب کرده و همه را با هم جمع میکنیم و در نهایت بر مجموع قوانین که همان مجموع جریانهای خارج شده از بلوکهای MAX میباشد، تقسیم میکنیم. نتیجه حاصل شده از عمل تقسیم همان COA میباشد که در خروجی به عنوان ولتاژ Crisp بکار گرفته میشود.
با توجه به مطالب فوق میتوان خروجی یک کنترلر فازی را در روش COA بصورت رابطه - 1 - بیان کرد:
که Wi خروجی بلوک Interface Engine ،Si نشاندهنده Singleton ها و n تعداد Singleton ها را مشخص میکند. در ادامه جزئیات بلوکهای ساختاری بصورت مداری توضیح داده شده است.
شکل: 2 بلوک دیاگرام کلی کنترلر فازی ارائه شده.
.1-2 مدار فازیساز ارائه شده
این مدار در شکل - 3 - نشان داده شده است. این فازیساز دارای پنج خروجی تابع عضویت، بصورت جریان میباشد. جریانهای Iout1 و Iout5 که به ترتیب توابع Very Smallو Very Large را میدهند، بصورت Z-Shape و S-Shape بوده و برای بدست آوردن آنها از یک زوج دیفرانسیلی استفاده شده است. اما برای جریانهای Iout2، Iout3 و Iout4 که به ترتیب توابع Small و Medium و Large را میدهند ، بصورت Bell-Shape بوده و از تفریق کردن جریان یکی از Device های زوج دیفرانسیلی از جریان Device زوج دیفرانسیلی دیگر بدست آمدهاند. در اینجا ما نحوه محاسبه جریان خروجی Iout2 را به تفصیل شرح میدهیم.
شکل : 3 مدار فازی ساز ارائه شده.