nado can para la universidad de oriente - …fei.edu.br/sbai/sbai1999/artigos/iv_sbai_98.pdf · y...

4
40. SBAI- Simpósio Brasileiro de Automação Inteligente, São Paulo. SP. 08·10 de Setembro de 1999 NaDO CAN PARA USO DOCENTE EN LA UNIVERSIDAD DE ORIENTE Luis Vázquez y Leandro Rojas. Centro de Estudios de Automatizaci6n (CEA), Universidad de Oriente. Ave. "Las Américas" s/n Esq. Casero, CP 90900. Santiago de Cuba Tel: +53 226 43710, Fax +53 226 86203 Email: {lvazquez .leojtêfie.uo.edu.cu Joseph María Fuertes. Dpto. de Ingeniería en Sistemas, Automática e Informática Industrial (ESAII) Universidad Politécnica Catalufia, c/Colom, 11. 08222 Terrassa Tel: (+34 -3) 7398627, Fax: (+34 -3) 4017045 Email: [email protected] Jaime Reyes. Universidade Estadual de Campinas Departam ento de Sistemas e Controle de Energia (DSCE) Caixa Postal 6101. CPE 13081-970. Campinas SP - Brasil Email: [email protected] Resumen: En el presente trabajo se realiza el montaje de un sistema de control a nivel de laboratorio utilizando 'bus CAN Está formado por dos nodos CAN y una computadora personal. Este incluye por un lado el hardware consistente en una Tarjeta de Desarrollo con el microcontrolador 87x196, el controlador CAN SJAlOOO y el PCA 82c250. EI software desarrolJado tanto para los nodos como para la PC está escrito en lenguaje 'C. La comunicaci6n nodo CAN - PC se realiza a través de los puertos series ambos utilizando estãndar RS232. EI sistema está orientado a que los estudiantes comprendan los principios básicos de los buses de campo y tengan posibilidades de desarrollar tareas prácticas en ellaboratorio. Palabras Claves: Control Distribuido, Automatizaci6n Industrial, Instrumentaci6n Inteligente, Bus de Campo. Abstract: The hardware consists of: Development card using Intel's Microcontroller the 87c196, CAN controller the SJAlOOO and transceiver the PCA 82c250. The software to program 87cl96 is performed in C Language . The cornrnunication between the PC and the CAN node is based in the serial Cornrnunication RS232 standard. The system permits to understand the basic princíples concerning with the Fieldbus, in particular, the node. Keywords: Intelligent Instrumentation, Industrial Automation, Distributed Control , Fieldbus. variables que deber ãu ser chequeadas y controladas para lograr que sus índices de comportamíento. en su conjunto, cumplan con las normas técnicas establecid as. Los sistemas actuales para el control automático de procesos requieren de un gran numero de dispositivos de campo, tales como; sensores, actuadores, y unidades de controI. EI método de enlace entre elIos para el trabajo arm6nico de la data involucrada en el prop6sito central, la automatizaci6n, ha venido evolucionando hacia la descentralizaci6n de la "ínteligencia" de dichos dispositivos y es lo que se conoce como redes de campo (FieldBus) . Actualmente el mundo exhibe varios tipos diferentes de normas para los distintos tipos de buses de campo; sin embargo, el elemento básico, el nodo, mantiene características operativas esencialmente similares . Varias características atractivas de las redes CAN permi ten a un estudiante universitario obtener el conocimiento básico, tales como: Sistema Multi maestro, es decir, el acceso al bus de cada nodo es permitido si el bus está disponible (estado inactivo) ; ' mas reconocido en la extensa literatura internacional como CSMA/CD o Acceso Múltiple por Detecci6n de Portadora con Detecci6n de Colisiones . 1 INTRODUCCIÓN. Velocidades de transmisi6n de dato, especificadas hasta 1 Mbitls. Dentro de las principales industrias cubanas están aquellas 'relacionadas con los procesos quúnicos y tecnol6gicos. Los sistemas presentes en estos conglomerados incluyen muchas 615 Mecanismos para la detecci6n y localizaci6n de errores implementados dentro deI chip controlador deI bus.

Upload: lyque

Post on 28-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

40. SBAI- Simpósio Brasileiro de Automação Inteligente, São Paulo. SP. 08·10 de Setembro de 1999

NaDO CAN PARA USO DOCENTE EN LA UNIVERSIDAD DE ORIENTE

Luis Vázquez y Leandro Rojas.Centro de Estudios de Automatizaci6n (CEA), Universidad de Oriente .Ave. "Las Américas" s/n Esq. Casero, CP 90900. Santiago de Cuba

Tel: +53 226 43710, Fax +53 226 86203Email: {lvazquez .leojtêfie.uo.edu.cu

Joseph María Fuertes.Dpto. de Ingeniería en Sistemas, Automática e Informática Industrial (ESAII)

Universidad Politécnica Catalufia, c/Colom, 11. 08222 TerrassaTel: (+34 -3) 7398627, Fax: (+34 -3) 4017045

Email: pepf@esaii .upc.es

Jaime Reyes.Universidade Estadual de Campinas

Departamento de Sistemas e Controle de Energia (DSCE)Caixa Postal 6101. CPE 13081-970. Campinas SP - Brasil

Email : [email protected]

Resumen: En el presente trabajo se realiza el montaje de unsistema de control a nivel de laboratorio utilizando 'bus CANEstá formado por dos nodos CAN y una computadora personal.Este incluye por un lado el hardware consistente en una Tarjetade Desarrollo con el microcontrolador 87x196, el controladorCAN SJAlOOO y el PCA 82c250. EI software desarrolJadotanto para los nodos como para la PC está escrito en lenguaje'C.La comunicaci6n nodo CAN - PC se realiza a través de lospuertos series ambos utilizando estãndar RS232. EI sistemaestá orientado a que los estudiantes comprendan los principiosbásicos de los buses de campo y tengan posibilidades dedesarrollar tareas prácticas en ellaboratorio.

Palabras Claves: Control Distribuido, Automatizaci6nIndustrial, Instrumentaci6n Inteligente, Bus de Campo.

Abstract: The hardware consists of: Development card usingIntel's Microcontroller the 87c196, CAN controller theSJAlOOO and transceiver the PCA 82c250. The software toprogram 87cl96 is performed in C Language . Thecornrnunication between the PC and the CAN node is based inthe serial Cornrnunication RS232 standard. The system permitsto understand the basic princíples concerning with theFieldbus, in particular, the node.

Keywords: Intelligent Instrumentation, Industrial Automation,Distributed Control , Fieldbus.

variables que deber ãu ser chequeadas y controladas para lograrque sus índices de comportamíento. en su conjunto, cumplancon las normas técnicas establecid as.

Los sistemas actuales para el control automático de procesosrequieren de un gran numero de dispositivos de campo , talescomo; sensores, actuadores, y unidades de controI. EI métodode enlace entre elIos para el trabajo arm6nico de la datainvolucrada en el prop6sito central, la automatizaci6n, havenido evolucionando hacia la descentralizaci6n de la"ínteligencia" de dichos dispositivos y es lo que se conocecomo redes de campo (FieldBus) .

Actualmente el mundo exhibe varios tipos diferentes denormas para los distintos tipos de buses de campo; sinembargo, el elemento básico, el nodo, mantiene característicasoperativas esencialmente similares .

Varias características atractivas de las redes CAN permi ten aun estudiante universitario obtener el conocimiento básico,tales como:

• Sistema Multi maestro, es decir, el acceso al bus de cadanodo es permitido si el bus está disponible (estadoinactivo) ; ' mas reconocido en la extensa literaturainternacional como CSMA/CD o Acceso Múltiple porDetecci6n de Portadora con Detecci6n de Colisiones .

1 INTRODUCCIÓN. • Velocidades de transmisi6n de dato, especificadas hasta 1Mbitls.

Dentro de las principales industrias cubanas están aquellas'relacionadas con los procesos quúnicos y tecnol6gicos. Lossistemas presentes en estos conglomerados incluyen muchas

615

• Mecanismos para la detecci6n y localizaci6n de erroresimplementados dentro deI chip controlador deI bus.

CAN Bus

CAN

Data

ControUer

SJA1000

IJC87C1961<D Address and

Control

Mapa de Memoria dei Nodo.

Figura 1. Estructura dei Nodo CAN propuesto.

Generaci6n dei reloj deI SJAlOOO: Se transmite la deImicrocontrolador.

Sistema de alimentación: Se emplean filtros a la entradade las tomas para los circuitos analógicos y digitales.

3.

4.

2.1.1

EI mapa de memoria del nodo está dado por las característicasconstructivas de la tarjeta de desarrolIo de ESAII basada en elmicrocontrolador de Intel .87cl96KD y su sistema operativoimplementado conocido como código RISM.

De la dirección OOOOH a la OOI7H se accede a los registrosespeciales (SFR) internos mediante los cuales se configuran alos recursos integrados en el chip, tales como, temporizadores,conversor AID, perro de guardia, registros para el trabajo conlas interrupciones, etc. Se presenta un recurso novedoso paraacceder, con las mismas direcciones físicas, a diferentesregistros a través dei estabIecimiento de tres posibles Ventanas:WindowO, Window 1 yWindow ]5.

La declaración de variables se realiza a partir de la dirección0020H (cseg at 20h), que está dentro deI espacio de rnernoriainterna (de 1024 bytes) aI microcontrolador conocida comofichero de registros (Register File).

NOOOCAN.

40. SBÁI- Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999

EI nodo está basado en dos componentes: el microcontrolador 2. Lógica de interrupci ón: conexiõn entre terminales.y el controlador CAN. EI trabajo que aquí se presenta utiliza almicrocontrolador de Intel 87cI96KD, el cual posee inclu ído:Conversor Analógico Digital, Moduladores de Ancho de Pulso,Temporizadores, Puertos de Entradas y Salidas digitales, etc, yaI controlador CAN. De esta forma los servicios prestados porel nodo dependen de las posibilidades de éste, lo que quieredecir, que el sistema de control automático acoplado a un PCpuede trabajar sin la preocupación de la atención a todas lassefíales que el mismo necesita. Estas sefiales son atendidas porel nado.

EI nodo representa una solución importante para el desarrolIode los Sistemas de Control Distribuidos (DCS) tomando enconsideración su propiedad bilateral e inteligente de acceder,por un lado, ai proceso, y de otro a una red para transferir unadata. Esta propiedad no es asumida por el microcontrolador, sino que es compartida por ambos controladores.

2La tarjeta de desarrolIo de ESAII basada en elmicrocontrolador de Intel 87c196KD es adecuada para laexpansión deI hardware que incluya ai controlador decomunicaciones SJAlOOO. Es capaz de manipular todas lasseãales necesarias para la realización dei InterfazMicrocontrolador - Controlador CAN.

EI controlador de bus CAN, por su parte, es el responsable deintercambiar data, según la unidad de medida denominadatrama con otros nodos y/o con el principal (host). Lacomunicaci6n es serie; pero "inteligente", es decir, elcontrolador y el conjunto de regIas que se especifican en elprotocolo resuelven el movimiento de la data y sólo piden la. participación deI Microcontrolador para nuevas transferenciasy en caso de errores. Aquí se presenta aI Controlador CAN,SJAlOOO de Phillips, en particular en su configuraciónPeliCAN con identificación estándar.

Para generar los códigos necesarios que definirán lascaracterísticas deI nado se emplea .el software de Intel conocidocomo AP BUILDER-8xI96KD instalado sobre la PC deIIaboratorio y que establece el enlace mediante los puertosseries de ambos y el estándar RS-232.

La tabla de vectores de interrupción es tratada por el códigoRISM a través de un salto (con regias de offset defmidas paralas partes hajas y alta de dieha tabla) a la zona RAM, a partirde la dirección segmento ODOOOH.

EI desarrollo de un nuevo sistema operativo que incluya aicontrolador CAN se hace necesario, el cual toma el control,previa su transferencia a la memoria RAM deI sistema dedesarrollo, para la interpretaci6n de comandos dedicados a:configuración tanto dei controlador CAN como de losdispositivos 1/0 deI microcontrolador, organización de latransferencia de data, etc.

EI puntero de la pila se defme en la dirccción OIOOH.

EI espacio previsto para memoria externa o dispositivos 1/0 cnla versi6n KD, va desde la dirección OAOOOH a la direcciónOFFFFH, que representa un total de 24 Kbytes.

La memoria externa deI sistema de desarrollo es de 8 Kbytesocupando eI espacio correspondiente a partir de la direcciónOCOOOH y hasta la ODFFFH.

2.1 Estructura de Hardware.La interfaz entre el Microcontrolador 87cI96KD y elControlador de Bus CAN SJAIOOO es facilitada por lascaracterísticas brindadas por Phillips para trabajos tanto conmicrocontroladores de Intel como de MotoroIa (figura I).

EI desarrollo deI hardware dei interfaz distingue a cuatroelementos:

1. Lógica de seIecci6n . deI controlador, Comprende a lassefiales:ADOa AD7 con ALE, RD YWR.

EI código RISM ubica los códigos deI programa usuario apartir de la direcci6n OCOOOH (cseg at OCOOOH) en lugar de ladirección 2080H. Se prevé un espacio de 4 kbytes consecutivospara códigos, pues como ya se refiri6, a partir de la ODOOOH seubican los vectores de interrupción.

Mediante una pequena modificación en el direccionamiento dela mernoria externa se liberó el espacio imagen de OEOOOH aOFFFFH para emplearlo para la interfaz con el SJAIOOO.

En particular, se direcciona aI Controlador CAN desde OFOOOHalaOFOFFH.

616

40. SBAI- Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999

2.2 Estructura dei Software.La forma de introducirle programas aI microcontrolador en elcontexto de la tarjeta de desarrollo que nos ocupa, es a travésde su propio puerto serie, con carac terísticas de operaciónbidireccional y programado en Modo I.

La generación desus códigos es obtenida con la herramienta deprogramación, instalada en la PC bajo Windows, INTEL APBUILDER-8xI96KD.

EI nuevo programa monitor o tarnbién conoc ido como sistemaoperativo soporta:

Atención a los dispositivos I/O como elementos fundamentale sde las prestaciones dei microcontrolador en la Interfaz NODO-PROCESO, se induye:

• La config uraci õn de los dispositivos I/O deimicrocontrolador.

• EI interprete de comandos para la solicitud dedeterminadas acciones sobre los dispositivo s I/O desde laPc.

• Nueva version de atenc ión aI puerto serie en lacomunicación con la PC fuera deI ambiente de laherramienta de programación de INTEL.

Atención ai Controlador CAN , se incluye:

• La inicialización de los parámetros para el establecimientode las comunicaciones tales como : Selección dei modo,filtrado por aceptación, atiempamiento de bit, etc.

• Subprograma de la interfaz que incluye: la preparación delos mensajes a ser transmitidos y la act ivac i ón deiSJA1000 para que lo ejecute, reaccionar sobre losmensajes recibidos por el controlador CAN y reaccionarsobre los errores ocurridos durante la comunicación.

3 ELEMENTOS FUNDAMENTALES DELTRABAJO CON EL CONTROLADORCAN, SJA1000.

EI SJA 1000 tiene dos modos de acceder a sus registrosinternos:

• Modo Reset.

o Modo de Operación .

El modo Reset se establece por dos vías: mediante un pulso dereset (Nivel bajo) por el terminal 17 y poniendo en nivel AltoaI bit "reset mode" deI registro de Control.

La inicialización o el establecimiento de la configuración deISJA1000 se realiza en Modo Reset , De este modo, antes decomenzar la escritura de los registros (dentro deI conocidosegmento de control) deberá encuestarse el estado de este bitdeI referido registro de ControI.

EI controlador SJAlOOO está disefíado para soportar todas lasespecificaciones deI protocolo CAN 2.0B Y atendiendo aIcampo de identificación posee dos modos de trabajo: EI modo

617

BasicCAN (con identificador de trama de 11 bits) Y el modoPeliCAN (con identificador de trama de 29 bits y mantiene lacompatibilidad de identificador de 11 bits; pero con unareorganización en el mapeo de los registros ).

Para este trabajo estamos interesados en el modo PeliCAN, enparticular con el intercambio de tramas por el bus deIdentificador Estánáar (11 bits).

Procedimiento de inicialización (en modo Reset).

Registro de Modo : Se definen los modos de operación, talescomo:

I. Modo deI filtro de aceptación.

2. Modo de auto prueba .

3. Modo de escucha permanente.

Registro Divisor deI Reloj , definiendo:

1. Sí se emplea el Modo BasicCAN o el Modo PeliCAN.

2. Sí el terminal CLKOUT está habil itado.

3. Sí la entrada ai comp arador CAN no se tiene en cuenta.

4. Sí la salida TXI se emplea como una salida dedicada a lasolicitud de interrupci ón para informar sobre la recepciónde tramas.

Registros para la Aceptaci ón de Códigos y de Máscaras para laAceptación:

I. Definen el código para aceptar los mensaj es que serecibirán.

2. Definen los bits dei identi ficador que resultan relev antesen el procedimiento de comparación con el código deaceptación para dar o no válida la recepción de la trama.

Registros para el Atiempamiento dei Bus:

I . Definen la "longitud temporal" deI bit.

2. Definen el instante de muestreo, en la recepción y duranteel período de tiempo de codificación de 1 bit, para detectarsu nivel.

3. Definen el número de muestras a tomar durante el periodode tiempo de I bit.

Registro Control de la Salida:

I. Define el modo empleado para los terminales de salidaTXO y TXI que presenta en controlador aI Bus CAN. Setienen cuatro modos de salida: Normal, Reloj, Bifásica yde Prueba.

2. Define los niveles físicos de sefiales con que seconfiguraran los Terminales TXO y TX1. Se permitencuatro posibilidades: "Float, Pull -down , Pull-up, Push-pull" y la poIaridad en la codificación deI bit.

Después que se ha transferido esta informacién aI segmento decontroI deI SJA lOOO, se conrnuta aI modo de operación,escribiendo un CERO en el bit modo reset deI registro demodo.

Philips Semiconductor: DATA SHEET, PCA82C250 , CANcontroller interface, Objective specification, Aprill.l994.

Philips Semiconductor: DATA SHEET, SJAlOOO Stand-aloneCAN controller, Preliminary specification, Nov/1997. .

40. SBAI- Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999

La interfaz entre el SJAI000 (en modo de operación) y el P. Hank, E. Johnk Stand-alone CAN Controller,microcontrolador 87c196KD basa su transferencia paralela de AN97076, Application Note". .datos en el proceso combinado de: interrupción deI controladorCAN (para informarle tanto dei cumplimiento o no de sugestión de transferencia bidireccional de tramas así como deerrores en dicha labor) y de otro lado el microcontroladorconocerá el motivo de la interrupción y/o sobre el estado de loserrores mediante la lectura de los registros definidos .para talesefectos.

EI algoritmo para la implementación de tal interfaz, encargadode la transferencia paralela de tramas (transmisión y recepciónmutua) escapa dei marco de este resumen. Puede dirigirse a losautores.

4 FUNCIONES DE LA PC.La PC desempena un papel importante en este disefio pues através de su comunicaciõn serie se garantiza la supervisión y. control de las diferentes variables que intervienen en losprocesos a que están conectados los nodos CAN.

EI software implementado a este nivel permitirá, a través deuna interfaz de usuario amena e interactíva, la visualización dedeI estado de cada uno de los nodoso Esto incluye tanto lasupervisión de las variables de salida como el control de Iasvariables de entrada a los procesos.

Además permite el acceso de forma directa a los registros deentrada salida dei nodo principal.

La aplicación cuenta con un fuerte sistema de ayuda que puedeconsiderarse como un tutorial para los estudiantes en lo que alos buses de campo se refiere. También es una guía deconsultas para la programación dei controlador CAN SJAlOOOespecificando las funciones de cada uno de sus registros y elorden en que se deben programar.

5 CONCLUSIONES.La preparación de un nodo para transferencia de tramas segúnel bus de campo CAN representa un concepto novedoso para eldiseno de Sistemas de Control Distribuido (DSC). Permite!levar la inteligencia del control y la interacción con elsubproceso muy cercano a dicha instalaciõn, con un mínimo degastos deI cableado. La presencia dei controlador de bus, con elprotocolo de la capa de enlace incorporado libera almicrocontrolador de consumir tiempo en dicha tarea.

EI concepto de redes de campo representa hoy día, una opciónincluida en toda la instrumentación inteligente que secomercializa y mediante este trabajo se permite la comprensiónbásica de la misma.

5 REFERENCIAS BIBLIOGRÁFICA.

CAN-CiA. "CAN in Automatíon",January 1999.

J. Decotignie, P. Pleinevaux, "A Survey on IndustrialCommunication Networks " Annals DesTelecommunications, 48, n.9-IO,pp 435-448,1993.

L. L.. Peterson, B. S. Davie. "Computer Networks A SystemsApproach", MK Publishers, 1996

618