Implementación de un controlador borroso usando técnicas de PWM analógico
Abstract
Hoy día la mayoría de los sistemas de control borroso se implementan en software usando procesadores y micro controladores digitales. Los diseños digitales programables son capaces de resolver muchos problemas de control, pero en sistemas de tiempo real, donde las señales de control tienen que cambiar en solo unos ciclos del reloj, la implementación hardware es la única solución posible. En este artículo se presenta un diseño de VLSI hardware, basado en técnicas de diseño analógicas usando trenes de pulsos. El diseño implementa todas las partes de un controlador borroso de alta velocidad. Se ha construido un chip de prueba en 1.5um CMOS.
Full text
Implementación de un controlador borroso usando técnicas de PWM analógico J.Tombs, A.Torralba y L.G.Fra.nqueIo Dpto. de Ingeniería Electrónica, de Sistemas y Automática Escuela Superior de Ingenieros Avda. Reina. Mercedes, sIn, SEVILLA-41012 TIf: 34-5-4556849, Fax: 34-5-4556849 e-mail: [email protected] Resumen Hoy día la mayoría de los sistemas de control borroso se implementan en software usa.ndo procesadores y micro controladores digitales. Los diseños digitales programables son capaces de resolver muchos problemas de control, pero en sistemas de tiempo real, donde los señales de control tienen que cambiar en solo unos ciclos del reloj, la implementación hardware es la única solución posible. En este artículo se presenta un diseño de VL- SI hardware, basado en 1 ... técnicas de diseño analógicas usando trenes de pulsos. El diseño implementa todas las partes de un controlador borroso de alta velocidad. Se ha construido un chip de prueba en 1.5um eMOS. 1 Introducción El uso de lógica borrosa tiene una larga historia, empezando en las primeras publicaciones de L.A.Zadeh [1] en 1986. No obstante, el uso de controladores borrosos ha aparecido solamente en los últimos años. Hoy día pueden encontrarse controladoréS borrosos en muchos campos, desde la robótica hasta la electrónica de consumo [24J, presentando en todos éstos campos la lógica bo.. llosa presenta una solución de alta eficiencia. El primer chip lógico-borroso fue diseñado por Togai y Wata.nabe [2]-[3], WIAIldo inovadores diseños digitales. Después Yamakawa [4}-[5] desarrolló un Controlador borroso usando circui-' tos analógicos. En los últimos años se han sido propuestos [7J-[12J diseños utilizando amb"" técnicas, digital y analógica. En esta trabajo se presenta un diseño que utiliza un híbrido de las técnicas digital y analógica. El uso de circuitos analógicos es muy atractivo para VLSI borroso, ya que sencill"" celx X x, - 463- das anal6gicas permiten la implementación de las funciones necesarias para un controlador bollO- so. Los circuitos analógicos son eficientes, usan poco silicio y permiten, con sencillez, el procesamiento en paralelo. Los circuitos digitales son robustos ya que no sufren los efectos del ruido ni la dispersión de propiedades a consecuencia del proceso de fabricación como en el caso de circuitos análogos. Sin embargo, en circuitos digitales las operaciones del controlador borroso usan mucho silicio, yel procesamiento en paralelo es muy complejo. Se proponen técnicas de trenes de pulsos [13]- [15] con el objetivo de superar las desventajas de circuitos analógico, las. En las técnicas de trenes de pulsos, los pulsos digitales representan valores analógicos en su frecuencia, ancho o fase. En este trabajo se usa la técnica de "pulse width madulation" (PWM) usando el ancho de cada pulso para representar valores. El uso de PWM ha .¡- do elegido por su velocidad, y su fácil aplicaci6n a las funciones de un controlador borroso. 2 Estructura del controlador _ ... :E·l~i 7· :t ""1 -"'" --, -"" Figura 1: Diagrama del controlador En figura 1 se muestran 108 bloques del controlador borroso. El controlador usa el método de
eorrelación-producto[16] para el proceso de inferencia. La operación de y borrosa se implementa usando la operación MÍNIMO. Entonces el proceso de implementación de la regla i es: Regla j: Si "'1 es AH y ••• '11 "'r es Ar. ENTONCES 11 es C¡ Donde "'1 es la. entrada i, r es el numero de entradas, y Ar¡ representa el grado de pertenencia a un conjunto borroso. Esto se implementa usando la expresión: = W¡ X el (1) Las funciones de pertenencia Ari se asumen triangulares, y para la salida se consideran pulsos unitarios (singlelons) con valor el centrados en Po,. La salida. de defuzzificador 11 se calcula. usando· el método de centroide, entonces: _EjwiXC¡ y - ",n i..1U!¡ (2) Donde n es la. numero de reglas en el controla.- dar. Los valores de c¡ y el tamaño y posición de las funciones de pertenencia son programables. En éste diseño, hay tres fases de procesamien- to, cada una de 500ns; la primera es de reset, donde los condensadores se descargan y se eva.- luó el valor de pertenencia de cada entrada. En la segunda fase se ejecuta la multiplicación y adición de las reglas, y durante la última fase, se calcula y almacena el resultado. 2.1 Generaci6n de las funciones de pertenencia En la figura 2 se muestra la estructura interna del ·circuito pa.ra generar las funciones de pertenencia, en la que se usa el "current mode approach" [17). En la figura 2 se puede ver como la corriente Ji .. se resta de la corriente J",'d usando espejo de corriente. La corriente I""d especifica el centro de la función de pertenencia. La diferencia se rectifica usando el circuito propuesto en [18] y se amplifica. Al resultado se le resta. la corriente de referencia. I",.~. El valor de 1" corriente final muestra el valor de pertenencia.. La corriente Imld Y la. amplificación del espejo de corriente se programa. digitalmente usando interruptores analógicos. El circuito puede generar una función de pertenencia triangular diferente para cada valor de I"'id y con la ganancia del espejo se especifica. el ancho. Un circuito similar ya ha sido usado antes en [19]. A partir de la. salida de corriente analógica, es necesario convertir 11 111 forma PWM. La corriente -464- I out se usa para cargar un condensar por un tiempe fijo. Así se produce un tensión propercional a la intensidad. En el diseño se ha aprovechado el tiempo de carga para reiniciar el multiplicedor quedando así preparado para la próxima combinación de las reglas. Durante la fase de multiplicación, se compara la tensión que representa la pertenencia con una señal de dientes de sierra Vre1, y se genera un pulso se genera. durante el tiempo que v..! está por debajo de la. tensión de pertenencia. Este pulso Vw; de la regla i es el valor en forma de PWM de 1o .,. El es-. pejo de corriente se usa para generar la señal de sierra, y calibrar así automaticalmente la señal para q~e un valor de máxima pertenencia provoque un pulso de máximo ancho. El uso de un espejo produce una alta. robustez contra los problemas de variación en temperatura o fabricación sin necesidad de controles externos. CornoJas entradas al bloque de MíNIMO son todas en forma PWM, sincronizadas en su flanco de subida., una sencilla. puerta and basta para ejecutar la operación de MfNIMO. Para calcular la salida. del controlador en formato 'escalar', hay que evaluar la expresión (2). Para ello hace falta un circuito que pueda implementar multiplicación, adición y también división. Este proceso se <\Íecuta en dos pasos. 2.2 Multiplicación y adición En la figura 3, se muestra el circuito de multiplicación. El circuito usa un amplificador de transconductancia adaptado para PWM. El tamaño de la corriente JI en la figura 3 es proporcional El la tensión Vg ;, y dura el Mcho de la. entrada. en PWM V wl ' La multiplicación esta representada por la carga. transferida.. Las tensiones V gI son programadas a los valores de los singletons Ve;. Se ha incluido el tra.nsistor M 4 de la. figura 3 para reducir el ruido en las líneas de alimentación. También puede verse el circuito de adición, en figura 3. Aquí se usa un amplificador de bias dinámico (un inversor) y un condensador de integración. Usando un amplificador tM simple se da estabilidad al circuito, sin los problemas de compensación de un amplificador de más etapas. Al final de la fase de adición se muestra. la. salida del amplificador. Esta tensión es proporcional al valor EgiC¡ deseado. En orden a calcular 1 .. adición, la capacidad de C tiene que ser constante, por tanto no se puede usar la. puerta de un transistor como condensador. Este diseño propuesto eD [14] ha sido usado antes en redes neuronales. Un circuito de prueba, hecho en 1.5 pm eMOS ha mostrado que se pued~ obtener una. alta. precisión usando poco área
1 .. KI ou! t V.,¡_----t-' -; I " . ! I T Figura 2; Generación de funciones de pertenencia ~.~ I " IV, n t::::::r- I v, n I T 11 T I _ .. "'.do J ~& K::E W'le J Vz- "" K Y ::E W J Figura 3: Circuito de multiplicación y adición. de silicio [2(}j-[21]. 2.3 Divisi6n La .multiplicación y adición se puede ejecutar de la forma descrita anteriormente, pero en la deru:.- zificación, es la división la que resulta más difícil. Es posible implementar la división analógica de diversas formas: completamente analógica, aproximaciones sucesivas O con trenes de pulsos. En la primera de ellas, dos amplificadores operacionales están configurados para ejecutar la división [25J-[27], mientras que con aproximaciones sucesivas, se repite la multiplicación para acercarse ala solución de manera progresiva. Por último, con la. utilización de trenes de pulsos -465 - se aprovechan las propiedades de la: señal para ejecutar la división. En el chip de prueba diseñado, están implementadas tanto las aproximaciones sucesivas como la. división por trenes de pulsos. Esto permite la comparación entre los dos métodos. Aunque las aproximaciones sucesivas tienen como ventaja el producir salidas digitales y analógica a la vez, resulta ser un método lento. La utilización de trenes de pulsos resul. ta ser más rápida, pero debido a que el tiempo de división es corto, los errores motivados por el ruido y el retrllSo de IIIS señales pueden derivar en errores en el resultado.
Figura 4: Circuito de división usando aproximación sucesiva 2.4 División por aproximación sucesivo La figura 4 muestra el circuito de aproximaciones sucesivas usando el circuito de multiplic .... cíón/adición de la figura 3. En el primer ciclo de inferencia, los multiplicadores reciben como entradas el PWM de pertenencia y las tensiones Vgi representativas de los singletons Ve', almacenando la salida K E W¡C¡. En los próximos ciclos, se aplica la entrada Vy alas puertas de todos los transistores Ml, l.e. Vel = Vy i = 1...n, siendo la salida: V. = Ky LW¡ En la lógica de aproximaciones sucesivas, se genera la entrada Vy que en m+ 1 ciclos converge a la solución de 2: KYLWI = K LW¡C¡ =>y = Ew¡c, (3) Ew¡ Hay que notar que el resultado no depende de la constante de integración K (que depende de valor de condensador el. Al final de m+ 1 ciclos, el controlador produce una señal de validación y el valor del resultado se puede loor tanto eu forma digital como analógica. 2.5 División usando trenes de pul- ·sos Para ejecutar la división usaudo trenes de pulsos se usa el mismo circuito de la figura 3 es usado. Como antes, en el primer ciclo de una inferencia se almacena la salida en un condelll!ador V wc • En el siguiente ciclo todos los singletons están puestos al mismo valor, produciéndose a un tiempo t una. tensión Vwet en la circuito de adición, donde V wc ; es: (4) Donde", es una constante de proporcionalidad. Después de un tiempo T se llega a la teusión V",e: =>T (5) Doude K' es una nueva COlll!tante de proporcionalidad, elegida para controlar el valor máximo de T. El circuito genera uu pulso que se mantiene en alto mientras Vtuc:1 es menor que V we • Así se produce un resultado por cada dos ciclos de reloj, resultando ser cinco veces más rápido que el método de aproximaciones sucesivas. Internamente, un condensador esta cargado __ durante el tiempo T, de esta forma al final de la inferencia, el valor de salida esta disponible tanto . en la forma de_ tensión como de trenes de pulsos. 3 Resultados simulado .... f,. A :t 1\ i .. t I \ .t : ~ I , I i \ f \ " _ : t , \ ¡ \ 1 ti i ! \ 1 \ ¡- : ~ t \ i .: \ 1 \ ¡ • '1 \. ¡ \ f \! .: \ f \ ¡ l \ I \ i , A X l' J\ 1 \ i \ .... ea '.70 .... .... I \ ! t, I \ ! \ 5.000."'o~'----'";;;""~-!;;-;;,--'--:,,,,;;:';;.o--'-¡ .. ::.-;!o- Figura 5: Funciones de pertenencia producidas En la figura 5 Se muestra la respuesta transitoria de las funciones de pertenencia. uaudo cinco -466 -
de las posiciones programables. Para la simulaciones, se extrae el circuito directamente del diseño físico. Las curvas se reducen cambiando la entrada rápidamente entre O y 90uA en 90us (lA/s). Las curvas representa el rápido cambio de la salida en función de las entradas y la programabilidad de la posición de las funciones de pertenencia. ~ 4.0 r" ,.' I . , ! • I -¡ i I j i I l i i J ¡ i j i j ¡ j ! , L :¡.o 0.0 l .• ¡ j ! \ • •• Tlmefu. r" ! ¡ I i i i I i f ¡ i I · -. f~l I l- i i i i ¡ i . ¡ · , i , ¡ , j I~ i. · .." Figura 6: Ondas al salida del defuz.ificador La figura 6 muestra. una simulaci6n del circui- to delu •• ificador. En esta simulación se pueden ver las tres fases del circuito: carga de la capacidad, comparación y reset. La defuzzificación se ejecuta cada dos ciclos, y en la figura 6 la salida toma los valores 0.2, 0.3 Y 004. 4 Conclusiones y futuras líneas de investigación En la figura 7 se muestra el chip de prueba. actualmente en fabricación. El chip tiene dos entradas, dieciocho funcionas de pertenencia programables, nueve reglas y una salida. Se puede ver en la parte superior derecha la estructura regular que contiene la parte analógica del controlador en su totalidad. El resto del chip . contiene la lógica de aproximaciones sucesivas, los registros digitales programable para la conftgnración de las reglas y singletons y un interfaz al bus de un PC/XT. El tamaño y número de reglas de este chip junto con un reloj master a 660KHz conseguirá aproximadamente 100 KFLIPS en el modo de aproximaciones sucesivas, y 600 KFLIPS en el modo PWM. Se aplicará el chip al problema del control de una fuente r ..... nante [23, 22]. Figura 7: Chip de prueba Como el diBeiio usa ¡;". mismos circuitos para la división y la multiplicación, las principales fuentes de errores son del tipo "dock feed-through" y de los retrasos y offset. de los comparadores. Estos errores 8011 normalmente sistemáticoa, pudiendo ser eliminados por medio de compensación extema, o en un proceso de aprendizaje iruitu. Próximos diseños incorporarán la capacidad de aprender. También se están estudiando métodos de implementar todo el controlador usando técnicas exclusivamente analógicas. Referencias [1] L.A.Zadeh. "~ Seta". InJof'Tft.C<lfttr., V<>l. 8, pp. 338-3J8.. 1965. [2] M.'Ibgai and H.Watanabe. "BXpttri. aystem. 0Jl a chip: an ~ngine ror real-t.ime approximate l'Ieaaoning" . IEEE Ezpert $yat. Mag., vol. lt pp. 55-62, 1986. [3] H.Wato.nabo, W.Dettloff and E.Yount. <lA VLSI Fuoy Logie ]n(erence Engine rOl' Real-Time Proce&D Control# • IEEE Jo~rn,d o/ Solid-$tgte Cin:uit., 'Vol. 25, DO. 2, pp. 376-JJ82, April 1990. [4] T.Ymnaka-waand T.Miki. UTbecummt modefuny logie integrated eil'l:1l1t, fabrieated by tbe atBndard eMOS plOCfl8". JEBE: 'Ihuu. Oompueen. vol. 0-35 1 no. 2. pp. 181-167~ 1986. [5] T.Yamakaw!l, ""Fuzz)' micropl'O-CiIUM rule chip Md defuzaifier chip". pfV)C. ollnC. WQnUhDp Oft AluU SII.d. Appt.¡ Aug. 1988, pp. lit-52. [6] M.Suaki, T.lnone, Y.ShlnU and F.Ueno. "FUHY multiple-input ma.xUnum and millimum c:ircuite in en .. rrent mode and theÍr analysiB wdng bounded-differenc:e equlltionJ". IBEE '1l"'atu, cm Comptlt •• vol. e-ag, no. 6, June 1990, pp. 76&-774 • .. /_t" '" -467 -
[7) H,Watanabe 1 J.R.Symon, W.Dettlofl', and E.Yount. "VLSI Fuuy Chip and Inferenee Aece.lerator Board S~ teme"" Proc. 01 IBBB Int. Symp. on Multi- Valued 10- gic, pp. 120-127, Mil}' 1991. [8] T.Toukano¡ Tlnone, F.Ueno. "A Design oí Current- Mode Anlllog Circuits for Fuz1!Y Interence Hardware Systems" , PrO(;. Int.. ConJ. Fuzzy Sy4'l!:nU, San Diego, Mar<:h 1992, pp. 1386-1388. [9] T.Miki, H.Matsumoto, K.Ohto, T.Yamakawa. "Silicon Impf4m1cntation for a Novel High-Speed Fuz21y lnCerence Engine: Mega-FLIPS Anlllog Fuz21y Proceeaor". Jotir~ nal a/lntetligent & l"uuy Sy.ttetrY, vol.11 no. 1, 1993, pp. 27-42. [10] [l1J (12) [lS) [14] [16J [16] [17] [IS) [19J [20] [~lJ [22] F.Colodro. A.Tot'nllba and L.G.Ft<a.nquelo, ¡'A Fuu)'-- logie chip using stoeha&tic-logie: the defuuiñe:r". Pt'O<.. vJ tlle Int. Con/o on Fuuu C(:Introl Application., IF· CA '93. Th.rraaa, Februa;y 1993. J.L.liuertaa, S.Sáneh~Solano. A.Barriga, l.Batu1'One. >lA Fuhy ControUer using Switehed-Capa.citor téChni .. ques». Proc. lnt, Con!. FuHU SYJliem", San Franeiaco, March 1993, pp. 51$-520, F.Colodro 1 A.'lbrralba.and L.G.FflLnqueto. "A Digital Fu:&%y-logic controller with a simple architeeture" • Submitted Cor presentation at the lnt. Symp. Cire. and Sy'¡., lSCAS'9,l. A,F.Murray. "Pulse Arithmetic in VLSI Neura! Networkr<. IEEE Micro Mag., ~. 1989, pp. 64-74. A.F.Murray, D,del Cono a.nd L.Ttt.raaaenko, upul~ Strnam VLSI Neura.l Networks mixing Analog and DigiM tal t~nique8"'. IBBE 'J'\'q:OJl. 0'0 Neural Netwom. vol, 21 no. 2, Marth 1991, A.Hamilton, A.F.Murray. D.J.Baxter, H.Martin Reeki a.nd L,'lWassenko. "Integr!\ted pu16e stream Nel.lnt.! Networkl>: ReliUlt.B, 1ssue1l and Póinters". IBEB 'J'\'q:ru. on Neural NetworkfJ. vol. 3, no, 3, Mar 1992, pp. 385-393. C.c.tM. "F\!371Y Logic in Control SyatemB: 'F\¡ay Lo. gic: Controller-P8l'tB 1 and lI" . lEBE 'lhInfJ. Sy&:. Man Cybern., vol. 20, n.o..2~ pp, 404-435, Mar./Apr, 19$0, C.Tomazau. F.J.Lidgey and R.HW¡;h. Analog le De~ ~ign; the Current-Mode Approach, Peter Peregl'inuD Ltd., 1990. Z.Wang. CUrTent-Mode Anarog Integrated Ctreuitf and Linearization Technique~ in CMOS Teehnoiogy. Hartung-Gorre Verlas, Konstan2't. Series in microeJectronics; vol. 7, 1990, l.Baturone, A,Barriga, S.Sánchez.-Solano. J,LJiuertaa. "Una implementadón HaNlware de Circuitos Básicos de Lógica Difusa" . ActlU del VII Congreso de Micrt)fJ~ lectróntcQ, pp. 407-412, Toledo, 1992 (in opaniah). J.Tomb$, Multita!l~r Neuruf NeClQorb ond their 1m .. plementafton in Anologue VLSI, D.Phil. Thws. Trinity Tenn 199'2, Oxford Univenity Engineering Department. J.Tornb#, L.'lWusenko a.nd A.MutTay. "A Novel Analogoe VLSI De&ign 10. Multi-LayéT Networks: lf • IBE Spe- (!ial 1.sfJ.til on Arfificial NcurnJ Networ'k~1 1992. J.M. Quero, J.M. Carrasco and L.G. Franquelo. IAdap_ hile Bnergy Feed~Back Control Jor Ile"ontmt Conllef'- te:r 111;ng NeuraJ NetwtJrk"." IEEE Power Eleetronics Speeiltlist Con1erence. vel 2, pp, 800-806, Toledo. Spain, 1992. (23) J .M. Carrasco. #NutlwU Implementacicmu Electr6nica" paro el Con'"" de ConvcrtidoreJl1 ne"onantu" Ph, D, Disse:rtatton, Escuela Superior de lngtl"ieros lndustñaléft, Un¡vtlnid~ de: Sevilla, Dic:iembre 1992. t24] M,Sugeno Ed. I-ndu8tnld AppltC4tionl' DI Fuz.¡:y CDntrol, North-Holland, Amaterdarn> 1985. [2-5] M.lRmail. "Four tranoiotot' eontinous-time MaS tra.nsoonduetot-". Electronic LetterJl1. vol. 23, no. 22, pp.l099- 1100, Sept. 1097. [26] N.Khachab and M.)smail. "'Novel continous-time sll- MOS tour quadnmt multlpliers". Proc. IBBB 1M. Symp. tJn CAS, pp. 762-765, May 1987, {21] M.Úlmail, RBrannen, S.Ta.glud, O.A88&l'Ud, N,Fuji and N.Khashab. "A configurable eMOS multiplier/divider ter analog VLSIl>. Prac.. IEBE [ne. Symp. O'n CAS, pp. 1085-1088, Muy 1993. -468-