A Programmable fuzzy controller emulator chip
- Global styles
- Apa
- Bibtex
- Chicago Fullnote
- Help
Abstract
ÖZET Programlanabilir Bir Puslu Denetleyici Emülatörü Tümdevresi Bu tez, programlanabilir bir puslu (fuzzy) denetleyici emülatörü tüm- devresinin gerçeklenmesi üzerinedir. Bilindiği gibi tipik bir puslu denet leyici algoritmasında veri, puslandırıcı (fuzzifier), çıkarım makinesi (inference engine) ve durulayıcı (defuzzifier) işlem bloklarında işlenir, önerilen emulator sisteminde, puslu algoritmanın emülasyonu için, söz konusu üç veri işleme bloğundan ilk ikisi, puslayıcı ve çıkarım makinesi blokları, emüle edilmektedir, önerilen emulator sisteminin dört analog girişi, bir analog çıkışı vardır ve blok şeması Şekil 1' de verilmiştir. Şekil -1 önerilen emulator sisteminin blok diyagramı. vııörneklenmiş-gerilim karşılaştırıcıları ve VEYA-değil dizisi bloklaxi emulator sisteminin puslandırıcı-emülatörü bloğunu oluşturmaktadırlar. Va, Vb, Vc ve Vb emulator sisteminin analog girişleridir. Her örneklenmiş-gerilim karşılaştırıcısı bir 5-bitlik SRAM (statik rastgele-erişimli bellek) dizisi içermektedir, önerilen emulator sisteminde, bir puslu uzman sistemin girişlerine ait puslu üyelik sınıfları, ayrık (crisp) dikdörtgen-biçimli üyelik sınıflarıyla emüle edilir. Söz konusu dikdörtgen-biçimli üyelik fonksiyonlarının kenarları eşiklerle (thre sholds) gerçeklenir. Bir girişe ait dikdörtgen-biçimli üyelik fonksiyonu gerçeklenirken, söz konusu üyelik fonksiyonunun kenarlarını gerçekleyecek eşik değerleri, sistemde bu eşiklere karşı düşen karşılaştırıcıların 5-bitlik SRAM dizilerine 5- bitlik sayısal kelimeler halinde yazılırlar. Emulator sisteminin giriş üyelik fonksiyonları şekil 2'de verilmiştir. Şekil -2 Emulator sisteminin giriş üyelik fonksiyonları. Vrmi, m girişinin, i dikdörtgen-biçimli üyelik fonksiyonunun kenarların dan birini gerçekleyen eşiğin gerilimidir. Şekil 2'de görüldüğü gibi, i üyelik fonksiyonunun diğer kenarı Vrro(._1) gerilimiyle gerçeklenmektedir. Dikkat edilirse, Vdd ve OV 'un doğal eşikler oldukları görülebilir. A ve B girişlerinin üyelik fonksiyonlarında dörder tane eşik olduğundan, söz konusu girişlerin örneklenmiş-gerilim karşılaştırıcısı blokları dörder tane karşılaştırıcı içerir. Diğer iki girişin üyelik fonksiyonları gerçeklenirken ikişer tane eşik kullanılmış olduğundan, söz konusu girişlere ait örneklenmiş-gerilim karşılaştırıcısı blokları ikişer tane karşılaştırıcı içermektedir. Şekil l'de gösterildiği gibi, VEYA-değil devrelerinin çıkışları sistemde söz konusu devrelerin karşılık düştüğü girişin üyelik vıııfonksiyonlarına ait üyelik derecelerinin çıkışlarıdır. Bir karşılaştırıcının çıkış gerilimi aşağıdaki şekilde tanımlanır VXm,=Vdd eğer Vm > VTmt Vxmı=0V eğer Vm < VTmt (1) Yukarıdaki denklemde Vxmi, rn girişinin, i dikdörtgen-biçimli üyelik fonksiyonuna ait kenarlardan birini oluşturan eşiği (Tmi) gerçekleyen karşılaştırıcının çıkış gerilimidir. Görüldüğü gibi bir karşılaştırıcının çıkış gerilimi lojik `1` (Vdd) ya da lojik `0` (OV) değerlerinden birini alabilmektedir. > VEYA-değil dizilerini içeren bloklarda, karşılaştırıcıların çıkışlarının evrikleri de kullanılmaktadır. Bu yüzden, şekil l'den de görülebildiği üzere, bir örneklenmiş-gerilim karşılaştırıcısı bloğu dört tane karşılaştırıcı içeriyorsa, o zaman söz konusu bloğun sekiz tane çıkışı vardır, önerilen emulator sisteminde üyelik fonksiyonları puslu değil ayrık olduklarından, belirli bir giriş bir üyelik sınıfına ya 1 değerinde bir üyelik derecesiyle ya da 0 değerinde bir üyelik derecesiyle aittir. 1 değerinde bir üyelik derecesi ve 0 değerinde bir üyelik derecesi, söz konusu üyelik fonksiyonuna ait üyelik derecesi çıkışında gerilim seviyesi olarak, sırasıyla lojik `1` ve lojik `0` seviyelerine karşılık düşer. Sonuç olarak, üyelik fonksiyonlarına ait üyelik derecesi çıkışları ya lojik `1` ya da lojik `0` değerlerini alabilirler, önerilen emulator sisteminin üyelik fonksiyonlarına ait üyelik derecesi çıkışları, ikili (binary) değişkenler cinsinden aşağıdaki şekilde tanımlanabilirler. Pa/ = Xai + Xa2 + Xa3 + Xaa [i- ai - Xa/ + Xa2 + Xa3 + Xa4 fJ'AS = Xa/ + Xa2 + Xa3 + Xa4 [l AA = Xa/ + Xai + Xa3 + Xa4 Pas = Xai + Xa2 + Xaz + Xaa Hbi = Xb/ + Xb2 + Xb3 + Xba /xb2 = Xb/ + Xb2 + Xb3 + Xba JJLB3 - Xbi + Xb2 + Xb3 + Xba (j,ba = Xb/ + Xb2 + Xb3 + Xba (2) fiB5 = Xbi + Xb2 + Xb3 + Xba fici = Xcı + Xc2 f*C2 = Xd + Xc2 HC3 = Xc/ + Xq2 Udi = Xdi + Xm fJ,D2 = Xoi + Xd2 [İ-D3 - Xm + Xd2 Yukarıdaki denklemlerde, ikili değişkenler fj,mi ve XTOÎ-, sırasıyla, m girişinin, i dikdörtgen-biçimli üyelik fonksiyonuna ait üyelik derecesi çıkışım ve m girişine ait i karşılaştırıcısının çıkışını temsil etmektedirler. Daha önce de belirtildiği ıxgibi, m girişine ait i karşılaştırıcısı, m girişinin i dikdörtgen-biçimli üyelik fonksiyonuna ait kenarlardan birini oluşturan eşiği (Tmi) gerçeklemektedir. Şekil l'de gösterilen Kod çözücü lojik bloğu, 7-bitlik SRAM dizileri ve 7-bit sayısal-analog çevirici, emulator sisteminin çıkarım-emülatörü bloğunu oluşturmaktadırlar. Şekil 2'de görüldüğü gibi, önerilen sistemde girişlerin ikisi ayrık beşer üyelik fonksiyonuna, girişlerin diğer ikisi ise ayrık üçer üyelik fonksiyonuna sahiptir. Bu yüzden, bir kombinasyonda bir girişe ait tek bir üyelik sınıfı olmak üzere, toplam 3x3x5x5 = 225 üyelik sınıfı kombinasyonu bulun maktadır, önerilen emulator sisteminde çıkış hassasiyeti (output resolution) 7 bit olarak belirlenmiştir. Bu yüzden, çıkarım-emülatörü bloğundaki SRAM yapısı, herbiri 7 tane 1-bitlik SRAM hücresi içeren 225 adet SRAM dizisinden oluşmaktadır. Puslandırıcı-emülatörü bloğundaki SRAM hücrelerine 5-bitlik sayısal kelimeler halinde yazılan eşik değerleri ve çıkarım-emülatörü bloğunda bulunan 7-bitlik SRAM dizilerindeki SRAM hücrelerine, 7-bitlik sayısal kelimeler halinde yazılan sistem çıkış uzayım oluşturan mümkün çıkış değerleri, deneyime dayalı (heuristic) yöntemler ve bir bilgisayar programı yardımıyla beklenmektedir. Söz konusu bilgisayar programının kaynak kodu (source-code) MATLAB 'de yazılmıştır ve Ek B 'de verilmiştir. Program, bir puslu uzman sistemi, gerçekleştirilen emulator tümdevresinde bulunan SRAM hücrelerine yüklenebilecek biçimdeki bir emulator uzman sistemine çevirmektedir ve kullanılan deneyime dayalı yöntemlerle birlikte hala geliştirilme aşamasındadır. Belirlenen sayısal kelimeler, veri-işleme fazı başlatılmadan önce, tümdevredeki SRAM hücrelerine yüklenirler. Emulator tümdevresinin çıkışında elde edilebilecek maksimum farklı çıkış gerilimi değeri sayısı, çıkış hassasiyeti 7 bit olarak belirlendiğinden, 128 'dir. Şekil l'de görüldüğü gibi sistemde 225 tane birbirinin eşi kod çözücü lojik devre bulunmaktadır. Her kod çözücü lojik devrenin çıkışı sadece bir 7-bitlik SRAM dizisinin kelime hattını (word line) sürmektedir. Tümdevrede veri işlenirken, belirli bir giriş kümesine cevaben, 225 tane kod çözücü lojik devresinden sadece birinin çıkışı. 225 tane 7-bitlik SRAM dizisinden sadece birinin kelime hattını aktif kılacak şekilde lojik T' seviyesine çekilir. Sonuç olarak, kelime hattı aktive edilmiş 7-bitlik SRAM dizisinde saklanan sayısal kelime 7-bit sayısal-analog çeviricinin girişine gider ve sistem çıkışı sayısal-analog çeviricinin çıkışında analog olarak elde edilir. Dikkat edilirse, önerilen sistemde durulandırma (denazification), puslu uzman sistemin emulator uzman sistemine çevrilmesi aşamasında emüle edilmektedir. Mümkün tüm çıkış gerilimi değerleri, puslu uzman sistem emulator uzman sistemine çevrilirken belirlenmekte ve söz konusu çıkış gerilimi değerleri, 7- bitlik sayısal kelimeler halinde 7-bitlik SRAM dizilerindeki hafıza hücrelerine yüklenmektedir. Tümdevrede veri işlenirken, kod çözücü lojik bloğundan gelen veriye bağlı olarak, önceden belirlenmiş çıkış gerilimi değerlerinden biri sistem çıkışı olarak elde edilir. Açıklanan işlem, bir puslu denetleyicideki durulandırma işleminin emüle edilmesinden ziyade çıkarım işleminin emüle edilmesidir. Bu yüzden bölümün başında, önerilen emulator sisteminin, puslandırma-emülasyonu ve çıkarım-emülasyonu olmak üzere iki veri işleme basamağı içerdiği belirtil miştir. örneklenmiş-gerilim karşılaştırıcıları, 7-bit sayısal-analog çevirici ve çe viricinin içindeki kuvvetlendirici, önerilen emulator sisteminin analog yapıtaşlarını oluşturmaktadır. Söz konusu analog yapıtaşları, emulator tümdevresi gerçeklenmeden, AMS (Austria Mikro Systeme) 1.2/j.m çift-poly çift-metal teknolojisiyle gerçeklenmiştir. örneklenmiş-gerilim karşılaştırıcısı 52.1^rax 136.8/uro, 7-bit sayısal-analog çevirici 86.3//rax 186.6^m ve kuvvetlendirici 55.5/irnx 72.2fj,m silisyum alanı kaplamaktadır. Devreler henüz test aşamasındadır. Tüm- devre PLCC 68 taşıyıcısında (chip carrier) paketlenmiştir. xProgramlanabilir emulator tümdevresi AMS 1.2/zra çift-poly çift-metal teknolojisiyle gerçeklenmiştir. Tümdevre yaklaşık olarak 17.000 eleman (kon dansatör ve transistor) içermekte ve 23 bağlantı pabucu (bonding pad) dahil 6.87ram2 silisyum alam kaplamaktadır. Tümdevre PLCC 68 taşıyıcısında (chip carrier) paketlenmiştir. Önerilen emulator sisteminde, puslu bir uzman sisteme ait puslu üyelik fonksiyonlarının, dikdörtgen-biçimli ayrık üyelik fonksiyonlarıyla emüle edildiği belirtilmişti. Bir puslu uzman sistemi, söz konusu uzman sistemin kontrol yüzeyini yeteri kadar kapsayabilecek biçimde emüle edebilmek için, emulator uzman sistemine ait dikdörtgen-biçimli ayrık üyelik fonksiyonlarının sayısının, emüle edilecek puslu uzman sisteme ait puslu üyelik fonksiyonlarının sayısından daha fazla olması gerektiği sezgisel olarak çıkarsanabilir. Öte yandan, emulator uzman sistemindeki üyelik fonksiyonlarının sayısının arttırılması, tümdevrenin kapladığı silisyum alanını arttıracaktır. Bu yüzden, kabul edilebilir bir silisyum alanında gerçeklenebilecek maksimum giriş üyelik fonksiyonu sayısı belirlenmelidir. Programlanabilir bir puslu denetleyicide, denetleyicinin kabul edebildiği maksimum giriş sayısı çok önemli bir parametredir. Önerilen emulator tümdevresini literatüre geçmiş programlanabilir puslu denetleyici tümdevreleriyle, devrelerin kapladıkları silisyum alam açısından karşılaştırabilmek için bir MAT- LAB programı yazılmıştır. Söz konusu program, önerilen mimariyle tasarlanan emulator tümdevrelerinin kaplayacakları silisyum alanını, tümdevre giriş sayısı ve giriş başına üyelik fonksiyonu sayısının bir fonksiyonu olarak hesaplamak tadır. Tümdevrenin kaplayacağı silisyum alanı hesaplanırken, bağlantı pabuçlarının katkısı ihmal edilmiştir. Programın kaynak-kodu Ek B'de verilmiştir. Yazılan program kullanılarak yapılan çalışma sonucunda elde edilen veriler, literatürde verilen programlanabilir puslu denetleyici tümdevrelerinin kapladıkları silisyum alanları referans alındığında, önerilen mimarinin, 3 giriş, 1 çıkış ve giriş başına 15 üyelik fonksiyonu içeren bir emulator uzman sistemini kabul edilebilir bir silisyum alanında gerçekleyebileceğim göstermiştir. Giriş sayısı iki olduğu takdirde, önerilen mimari, silisyum alanı açısından, literatürdeki eşdeğer programlanabilir tümdevrelerden oldukça daha küçük bir silisyum alanında gerçeklenebilmektedir. 3 giriş, 1 çıkış ve giriş başına 15 üyelik fonksiyonu içeren bir emulator uzman sistemi, önerilen mimariyle 55ram2 lik bir silisyum alanında gerçeklenebilirken, giriş sayısı iki olduğunda, silisyum alanı Qmrrr 'ye düşmektedir. Sunulan bilgilerden kolaylıkla anlaşılabileceği gibi tümdevrenin kapladığı alan giriş sayısına üstel olarak bağlıdır. xı SUMMARY In this thesis, a novel programmable fuzzy controller emulator architecture is proposed in the course of searching for the possibility of introducing programma- bility into the chips which implement fuzzy expert systems in an acceptable silicon area. It is well known from the literature that introducing programmability facil ities into a fuzzy controller chip carries the silicon area the chip occupies, beyond the limits acceptable for most of industrial applications. Therefore, in order to be able to come up with a chip that implements a fuzzy expert system in an ac ceptable silicon area, we proposed a novel method which relies on the emulation of a fuzzy expert system. Fuzzy input membership functions in a fuzzy expert system are emulated by rectangular-shaped crisp membership functions in the proposed emulator system. In order to evaluate the proposed architecture, an emulator chip configured for four inputs and one output has been implemented with AMS l.2fxm double-poly double-metal technology. The active area of the chip is 4.36mm2, excluding the bonding pads. The emulator chip is a mixed-mode chip, which comprises both analog and digital parts. On-chip SRAM blocks provide for programmability of the chip. Input and output variables are represented by analog voltages. The analog building blocks used in the emulator chip, the oper ational inverter, the sampled-voltage comparator and the 7-bit Digital-to-Analog converter, have been implemented with Austria Mikro Systeme l.2(j,m double-poly, double-metal CMOS technology prior to the implementation of the Emulator chip. The operational inverter occupies a silicon area of 55.5/ira x 72.2fxm, whereas the sampled-voltage comparator and the 7-bit D AC occupy silicon area of 52.1//m x 136.8/xm and 86.3/ura x ISQ.Qfim, respectively. VI
Collections