instrumentación electrónica avanzada

Upload: juan-antonio-arias-uria

Post on 02-Jun-2018

236 views

Category:

Documents


1 download

TRANSCRIPT

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    1/88

    InstrumentacinElectrnica AvanzadaInstrumentacin InteligenteEste libro explica las aplicaciones de la incorporacin de tratamiento digital ensistemas de instrumentacin electrnica.

    2012

    Jos Bosch, Manuel CarmonaDepartament d'Electrnica, Universitat de Barcelona

    13/07/2012

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    2/88

    2/88

    Autors:Manuel Carmona.Jos BoschJos Mara GmezManel Lpez

    Aquesta obra esta subjecta a la llicncia de:

    ReconeixementNoComercial-SenseObraDerivada

    http://creativecommons.org/licenses/by-nc-nd/3.0/es/deed.ca

    .

    http://creativecommons.org/licenses/by-nc-nd/3.0/es/deed.ca
  • 8/10/2019 Instrumentacin Electrnica Avanzada

    3/88

    3/88

    ndice1. SISTEMAS DIGITALES DE ADQUSICIN DE DATOS ....................................... 6

    1.1 INTRODUCCIN.............................................................................................. 6

    1.2 BENEFICIOS DE LA UTILIZACIN DE SISTEMAS DIGITALES EN LAINSTRUMENTACIN ELECTRNICA ......................................................... 6

    1.2.1 Inmunidad ...................................................................................................... 6

    1.2.2 Aislamiento galvnico ................................................................................... 6

    1.2.3 Organizacin y manejo de secuencias de medida.......................................... 7

    1.2.4 Almacenamiento de informacin ................................................................... 7

    1.2.5 Procesado de las seales medidas .................................................................. 71.2.6 Calibracin automtica .................................................................................. 7

    1.2.7 Presentaciones inteligentes ............................................................................ 7

    1.2.8 Flexibilidad en el diseo y manipulacin del sistema de medida .................. 7

    1.2.9 Facilidad en la transmisin de seales y en el control remoto ...................... 8

    1.3 ELEMENTOS DIGITALES EN LOS SISTEMAS DE ADQUISICIN DEDATOS ............................................................................................................... 8

    1.3.1 Introduccin ................................................................................................... 8

    1.3.2 Elementos habituales en un DAS .................................................................. 8

    1.3.3 Parmetros para la definicin de la estructura de un DAS ............................ 9

    1.3.4 Sistema DAS de un slo canal ....................................................................... 9

    1.3.5 Sistemas DAS multicanal ............................................................................ 11

    1.3.6 Contadores como sensores ........................................................................... 17

    1.3.7 Contadores como actuadores ....................................................................... 19

    1.4 DISEO DE UN DAS CON P/C ................................................................ 20

    1.4.1 Seleccin del P/C .................................................................................... 20

    1.4.2 Ejemplos de microcontroladores ................................................................. 21

    2. COMUNICACIONES EN INSTRUMENTOS DIGITALES ................................... 28

    2.1 CLASIFICACION DE BUSES DE TRANSMISIN DE INFORMACIN ENINSTRUMENTOS DIGITALES ..................................................................... 28

    2.2 TERMINOLOGA DE COMUNICACIONES ................................................ 29

    2.3 BUS SPI (SERIAL PERIPHERAL INTERFACE)....................................... 29

    2.3.1 Introduccin ................................................................................................. 29

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    4/88

    4/88

    2.3.2 Caractersticas generales .............................................................................. 30

    2.3.3 Conceptos del bus SPI ................................................................................. 30

    2.3.4 Ejemplos ...................................................................................................... 32

    2.4 BUS I2C (INTER-INTEGRATED CIRCUIT).............................................. 39

    2.4.1 Concepto del bus I2C ................................................................................... 39

    2.4.2 Caractersticas generales .............................................................................. 40

    2.4.3 Transferencias de bit .................................................................................... 41

    2.4.4 Transferencia de datos ................................................................................. 42

    2.4.5 Arbitraje y generacin de reloj .................................................................... 43

    2.4.6 Formato de las tramas (direccin de 7 bits) ................................................. 45

    2.4.7 Definicin de los bits del primer byte tras START ..................................... 47

    2.4.8 Extensiones de las especificaciones del bus I2C .......................................... 49

    2.4.9 Caractersticas elctricas de los dispositivos para el bus I2C ...................... 49

    2.4.10 Ejemplos ...................................................................................................... 52

    2.4.11 Conexin de dispositivos con diferentes niveles lgicos ............................ 56

    2.5 BUS CAN (CONTROLLER AREA NETWORK)....................................... 58

    2.5.1 Introduccin ................................................................................................. 58

    2.5.2 Concepto del bus CAN ................................................................................ 58

    2.5.3 Transferencia de mensajes ........................................................................... 63

    2.5.4 Ejemplos ...................................................................................................... 69

    3. INSTRUMENTACIN INTELIGENTE .................................................................. 74

    3.1 INTRODUCCIN............................................................................................ 74

    3.2 ESTNDAR IEEE 1451 .................................................................................. 77

    3.2.1 Estandarizacin ............................................................................................ 77

    3.2.2 Aspectos generales....................................................................................... 78

    3.2.3 TEDS ........................................................................................................... 81

    3.2.4 STIM (Smart Transducer Interface Module)............................................ 82

    3.2.5 NCAP ........................................................................................................... 83

    3.2.6 Protocolo de lectura de un sensor ................................................................ 84

    3.2.7 Protocolo de control de un actuador ............................................................ 85

    3.2.8 IEEE 1451.4 ................................................................................................. 86

    4. EJEMPLOS DE PROGRAMACIN C BASADOS EN LOS C Z8 ENCORE ..... 88

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    5/88

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    6/88

    6/88

    1.SISTEMAS DIGITALES DE ADQUSICIN DE DATOS

    1.1 INTRODUCCIN

    La tecnologa actual de semiconductores permiten, por un lado, tener mayor precisinen las medidas y, por otro lado, incluir algn tipo de inteligencia a los transductores.

    Ejemplos de estos segundos son los microcontroladores (MCUs o Cs), 'Digital SignalProcessors' (DSPs), ASICs y FPGAs, aunque los primeros estn ms destinados a tareasde instrumentacin y control. Algunas tecnologas son capaces de integrar todo (sensor+ inteligencia) en un nico encapsulado (integracin monoltica), generando as losllamados sensores inteligentes (o 'smart sensors').

    Todo ello permite el desarrollo de Sistemas de Adquisicin de Datos (DAS) con muybuenas prestaciones y de forma rpida. Se usan ampliamente en tareas como la

    medicin de parmetros y el control de sistemas.Hoy en da, el uso de sistemas digitales para analizar/procesar las seales est muyextendido. Esto es debido a las mltiples ventajas que presentan: bajo coste, mayor

    precisin, facilidad de implementacin, etc. El uso de microcontroladores (C) omicroprocesadores (P) es comn en muchas industrias para el control de procesos.Ejemplos son la industria alimenticia, del papel, textil, qumicas, etc.

    1.2 BENEFICIOS DE LA UTILIZACIN DE SISTEMAS DIGITALES EN

    LA INSTRUMENTACIN ELECTRNICA

    1.2.1 Inmunidad

    Una de las ventajas es la insensibilidad al ruido proporcionada, en general, por lossistemas digitales.

    Por la misma razn anterior, otra ventaja consiste en la insensibilidad a las variaciones o

    prdidas de amplitud (una vez convertidas las seales a digitales).

    1.2.2 Aislamiento galvnico

    Con tcnicas analgicas, este tipo de aislamiento se realiza mediante transformadores.Con tcnicas digitales, podemos utilizar optoacopladores. Estos componentes presentandiversas ventajas. Una de ellas es que son ms rpidos que los transformadores.Adems, los circuitos acoplados pueden tener referencias de tensin diferentes.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    7/88

    7/88

    1.2.3 Organizacin y manejo de secuencias de medida

    La capacidad de sincronizacin y control de operaciones de un sistema digital permitepoder programar de forma muy verstil cualquier secuencia de medida.

    1.2.4 Almacenamiento de informacin

    Los distintos tipos de memoria existentes en sistemas digitales, permite elalmacenamiento de informacin diversa en diferentes tipos de continentes: constantes,tablas, programas, etc.

    Un ejemplo prctico consiste en la linealizacin de un transductor no lineal, cuyacaracterstica podra almacenarse en memoria para su posterior uso tras las medidas. Enel caso de un termopar, analgicamente supondra incluir, entre otros componentes,varios amplificadores operacionales.

    1.2.5 Procesado de las seales medidas

    Una de las mayores virtudes de los sistemas digitales es su capacidad de procesado de lainformacin. Como ejemplos de procesado de las seales, se puede mencionar:combinar las medidas de varios parmetros diferentes, extraer medidas de un conjunto,calcular correlaciones entre seales.

    1.2.6 Calibracin automtica

    Una utilidad bastante extendida en sistemas digitales consiste en la realizacin deautocalibracin de sensores de forma relativamente sencilla.

    1.2.7 Presentaciones inteligentes

    La capacidad en cuanto a la presentacin de los resultados obtenidos por el sistemadigital es muy importante, pudindose adaptar a diferentes tipos de pantallas y organizarla presentacin de datos de forma muy verstil.

    1.2.8 Flexibilidad en el diseo y manipulacin del sistema de medida

    Los microcontroladores combinan una unidad de procesado, varios tipos y tamaos dememoria, un reloj oscilador, distintas opciones de I/O, y todo en un mismo chip. Esto

    proporciona flexibilidad para la confeccin de numerosos sistemas embebidos, as como

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    8/88

    8/88

    DAS. Esto hace disminuir el coste de otros sistemas que requeriran otro tipo decomponentes para construir la misma solucin.

    1.2.9 Facilidad en la transmisin de seales y en el control remoto

    Los microcontroladores suelen incorporar mdulos para el control de lascomunicaciones con dispositivos externos. Esto permite una mayor facilidad en eltratamiento de las comunicaciones, sin necesidad de usar otros elementos externos.Tpicamente, suelen incluir interfaces para comunicaciones SPI e I2C.

    1.3 ELEMENTOS DIGITALES EN LOS SISTEMAS DE ADQUISICINDE DATOS

    1.3.1 Introduccin

    Un DAS (Sistema de adquisicin de datos) es un sistema que permite la medida y/ocontrol de una serie de magnitudes fsicas (mundo real) mediante dispositivosdigitales. Constituyen la interfaz entre el mundo real (analgico) y el artificial (digital).

    Un sistema DAS incluye, habitualmente, transductores (sensores y actuadores) para la

    medida (o aplicacin) de variables fsicas (generalmente no electrnicas, como porejemplo temperatura, velocidad de un fludo, etc), acondicionadores de la seal y unentorno digital. Esta fase de interfcie constituye una parte importante de los sistemas demedida.

    Nosotros consideraremos aquellos sistemas DAS en los que hay, al menos, un C(microcontrolador).

    1.3.2 Elementos habituales en un DAS

    Los elementos de los que suele disponer un DAS son:

    Entradas y salidas digitales.

    Entradas y salidas analgicas.

    Temporizadores.

    Contadores: Usados en conversores A/D y en mltiples aplicaciones.

    Lgica de control (C, etc.).

    Elementos de transmisin de la informacin: UARTs.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    9/88

    9/88

    Lgica de tratamiento de las magnitudes medidas: Se refiere al software quecontrolar el sistema.

    1.3.3 Parmetros para la definicin de la estructura de un DAS

    Para definir la estructura del DAS tendremos que tener en cuenta parmetros como lossiguientes:

    Nmero de magnitudes fsicas a medir y/o controlar: Determinar el nmero deentradas y salidas, analgicas y/o digitales.

    Velocidad de cambio de estas magnitudes: Determinar un mnimo de lavelocidad de operacin de los componentes.

    Precisin de las medidas: Puede definir el nmero de bits necesarios, as como

    los sistemas de acondicionamiento, etc.Finalidad del sistema: Puede definir el tipo de componentes necesarios.

    1.3.4 Sistema DAS de un slo canal

    Es el caso de DAS ms sencillo.

    Figura 1.1. Estructura de un DAS de un nico canal.

    Existen dos posibilidades:

    En bucle abierto (Figura 1.1): La finalidad del sistema consiste en medir unamagnitud para presentarla, de alguna forma, al usuario, o bien para procesarla

    posteriormente.

    Seal a medir: Magnitud fsica a medir (P, T, posicin, tensin).

    Sensor: Dispositivo que transforma la seal a medir en seal elctrica (sila seal a media no es ya elctrica). Sensores de presin, termmetros,etc.

    Elementos de acondicionamiento de la seal: Esta etapa es analgica,que puede estar compuesta de elementos como potencimetros, puentesde Wheatstone, adaptadores de impedancia, amplificadores deinstrumentacin, etc.

    Interfcie: Adeca la seal en s a lo que podemos adquirir. Ej:una seal en corriente podemos desear pasarla a tensin. Ej: la

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    10/88

    10/88

    salida del sensor puede ser de alta impedancia y tenemos quecapturarla sin afectar al sensor.

    Amplificador: Adeca los niveles de la seal a valores msmanejables.

    Filtro: Para eliminar rangos de frecuencias, ruido, etc. de la seal.

    S/H: Para poder leer el valor de la seal en un instante de tiempo. El

    S/H mantiene a la salida el valor tomado en la entrada en momentoespecficos, controlados por un reloj proveniente de la lgica de control(C).

    ADC: Paso para obtener la seal digital.

    C (o P): Permite tratar la seal obtenida para los fines deseados. Lalgica de control se ocupa de la secuenciacin y de controlar el modo detrabajo.

    Presentacin/almacenamiento de la informacin: Definicin del destinofinal de la informacin obtenida.

    En bucle cerrado (Figura 1.2): La magnitud medida (y su posible procesamiento)se utiliza en un proceso de control.

    Figura 1.2. Estructura de un DAS de un solo canal en bucle cerrado.

    La informacin extrada tras el procesado de la informacin puede utilizarse condos fines: influenciar sobre el sistema a medir y/o modificar la etapa deacondicionamiento de la seal (por ejemplo, variando la amplificacin).

    Entre la etapa de procesado y el dispositivo de control, tpicamente hay unregistro, un DAC y otra posible etapa de acondicionamiento de la seal. Elregistro es una especie de equivalente del S/H en la etapa de adquisicin, pero endigital ya que mantiene el valor deseado en la entrada del DAC hasta la siguienteactualizacin del valor.

    Ejemplo: Control de la temperatura de un horno (Figura 1.3).

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    11/88

    11/88

    Figura 1.3. Esquema del control de temperatura de un horno.

    Existen mltiples alternativas para el sistema de control. Depender del software delsistema. Esto da mucha flexibilidad a estos sistemas para implementar diferentesmtodos de control. Ejemplos son: ON/OFF, PID, etc. El sistema PID tiene en cuenta ladinmica del sistema y puede ajustarse sus parmetros de forma que el control tenga lascaractersticas deseadas (por ejemplo en rapidez).

    1.3.5 Sistemas DAS multicanal

    En muchas aplicaciones se han de medir varias magnitudes simultneamente, as comocontrolar varios actuadores. Nosotros veremos casos en los que el control lo realiza unP o un C.

    Veamos por separado los casos con entradas digitales y analgicas.

    1.3.5.1 Entradas dig itales de un DAS mul t icanal

    El componente ms sencillo que se puede considerar es el Buffer triestado (Figura 1.4).

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    12/88

    12/88

    Figura 1.4. DAS multicanal con buffers triestado.

    El buffer triestado permite conectar las diferentes salidas a una misma lnea (bus dedatos) sin que se interfieran entre ellas. En cada momento slo habr un buffer activado,y el resto en estado de alta impedancia.

    Una modificacin a esta configuracin sera substituir el Buffer por un Registro(tambin con salida triestado). Esto permitira mantener los datos, aunque slo

    permanezcan en la entrada durante un tiempo limitado. (Esto es como un S/H digital).

    Un punto que nos puede interesar en multitud de ocasiones es el de realizar unaislamiento galvnico entre las seales de entrada y el DAS. Esto lo conseguiremosmediante optoacopladores (Figura 1.5).

    Figura 1.5. Uso de optoacoplador para aislar las entradas del DAS.

    *******(Ventajas de los optoacopladores frente a los transformadores).

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    13/88

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    14/88

    14/88

    Figura 1.7. Multiplexacin en el tiempo de las entradas analgicas.

    Para organizar y controlar las operaciones de los componentes del sistema, elP/C ha de generar y/o muestrear las siguientes seales:

    Generar las seales que seleccionen el canal a medir.Generar la seal de comienzo de conversin del ADC.

    Muestrear (o por interrupciones) la seal de la final de conversin (EOC)que genera el convertidor ADC para indicar que la medida estdisponible.

    Leer el valor de la medida entregado por el ADC.

    Aqu, se cumple:

    ,

    donde Nes el nmero de canales.

    El tipo de ADC escogido (como doble rampa (integrador), rampa (seguidor),aproximaciones sucesivas, flash) depender de los requerimientos del sistema yel coste del mismo.

    El esquema anterior tiene varios inconvenientes. Primero, la medida de cadacanal corresponde a tiempos diferentes. Segundo, la velocidad de adquisicinest muy reducida puesto que se realiza la operacin de S/H cada vez despus de

    multiplexar cada canal. Para mejorar esta situacin podemos utilizar el siguienteesquema:

    Figura 1.8. Multiplexacin usando un S/H por cada canal analgico de entrada.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    15/88

    15/88

    Aqu no hay que esperar a que se realice el muestreo para cada medida, despusde escoger el canal a medir mediante el multiplexor analgico.

    El mayor inconveniente de esta arquitectura consiste en un aumento del coste delequipo.

    Si las seales a medir varan muy rpidamente, los dos sistemas anteriores nosern los ms convenientes. En estos casos utilizaremos, adems, un ADC paracada canal. Y si queremos mucha velocidad, estos sern de tipo Flash. (no deaproximaciones sucesivas o de rampa como los anteriores).

    Figura 1.9. Multiplexacin usando un S/H y un ADC por cada canal analgico de entrada.

    Mediante este sistema aumentamos la velocidad de muestreo en un factor delorden de N.

    Este sistema sigue teniendo el inconveniente de tener mayores costes, ya quehemos aumentado el nmero de ADCs.

    Una variante del sistema anterior puede conseguirse si los ADCs tienen salidatriestado. De esta forma podemos conectar todas las salidas de los ADCs.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    16/88

    16/88

    Figura 1.10. Variante para ADCs con salidas triestado.

    Si tenemos una seal que vara muy rpidamente, podemos utilizar este sistema

    para muestrear la seal con varios canales, cada uno desfasado 2/(n+1). Unejemplo para un sistema de tres canales se muestra en laFigura 1.11.

    Figura 1.11. Adquisicin rpida de una seal usando mltiples canales.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    17/88

    17/88

    1.3.5.4 Salidas analgicas de un DAS mu lt icanal

    Las seales digitales necesitarn obligatoriamente de un DAC para obtener salidasanalgicas. En el caso de tener una salida multiplexada, se ha de tener en cuenta que elvalor no se mantendr en la salida.

    1.3.5.5 Entradas y salid as analgic as de un DAS mu lt icanal

    Algunos de los elementos que podemos tener tanto en entradas como en salidasanalgicas son los siguientes:

    a) Puertas de paso

    b) Multiplexores analgicos.

    c)

    Tener en cuenta la resistencia interna (vara con la tensin de alimentacin).

    Un ejemplo mostrado en la Figura 1.12, consistente en un amplificador de gananciaprogramable.

    Figura 1.12. Amplificador de ganancia programable.

    Estos elementos de E/S analgicos tambin sirven para E/S digitales.

    1.3.6 Contadores como sensores

    1.3.6.1 Medid a de la frecuenc ia

    Esquema:

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    18/88

    18/88

    Figura 1.13. Contador como sensor de frecuencia.

    El divisor se utiliza para poder medir distintos rangos de frecuencias.

    El funcionamiento consiste en dejar pasar la seal durante uno de los semiperodos del

    oscilador y contar el nmero de pulso de la seal durante ese tiempo. Al conocer lafrecuencia del oscilador y la divisin realizada, podemos obtener la frecuencia de laseal con la siguiente relacin:

    Ejemplo de la secuencia de seales:

    Figura 1.14. Secuencia de seales en la medida de la frecuencia con un contador.

    1.3.6.2 Med id a de l perod o

    Se realiza una operacin similar, pero intercambiando el papel del oscilador y de laseal:

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    19/88

    19/88

    Figura 1.15. Contador como sensor de perodo.

    Aqu contamos el nmero de pulsos del oscilador que pasan por cada semiperodo de la

    seal. Por tanto, la medida del perodo vendr dada por:

    Un ejemplo de la secuencia de seales sera el siguiente:

    Figura 1.16. Secuencia de seales en la medida del perodo con un contador.

    1.3.7 Contadores como actuadores

    Los contadores tambin pueden tener una funcin de actuadores, como:

    a) Bases de tiempos.

    b) Actuadores propiamente (generadores de seales peridicas).

    c) Generar frecuencias (exterior o interrupciones)

    d) Retardar una seal.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    20/88

    20/88

    1.4 DISEO DE UN DAS CON P/C

    En primer lugar, el diseador ha de delimitar todas las funciones y caractersticas delsistema a desarrollar, con el fin de seleccionar los mdulos que mejor se ajusten a lasnecesidades de la aplicacin.

    1.4.1 Seleccin del P/C

    Hay que tener en cuenta que el sistema incluye Hardware y Software, y la frontera entrelas funciones de estos dos elementos no es rgida; es decir que hay funciones que se

    pueden implementar tanto por hardware como por software.

    En general las funciones implementadas por hardware se realizan a mayor velocidad,mientras que las implementadas por software tienen una mayor adaptabilidad.

    Los aspectos a tener en cuenta en la seleccin del P/C son:

    Memoria no-voltil (ROM, PROM, EPROM, EEPROM, FLASH).

    Funcin: Almacenar el programa a ejecutar por el DAS, as como tablas, ctes,etc.

    Memoria voltil.

    Funcin: Almacenar datos y, en ocasiones, programas.

    Puertos de E/S. (Nmero y programabilidad).

    Funcin: Entrada y salida de seales digitales.

    Convertidores A/D y D/A.

    Funcin: La propia...

    Factores a tener en cuenta:

    Nmero de canales.

    Resolucin en bits.

    Amplificacin (fija, programabla, automtica).

    Frecuencia de muestreo (Nyquist: fe> 2nfmax).

    Referencias internas.

    Sensibilidad a la temperatura.

    Temporizadores / Contadores.

    Funciones:

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    21/88

    21/88

    Generar seales peridicas.

    Generar interrupciones peridicas o no peridicas.

    Contar eventos externos.

    PWM.

    Circuitos de interfcie.

    Funcin: Comunicarse con otros elementos del sistema o externos.

    Sobre todo son muy interesantes las interfcies serie: SPI, SCI, I2C, CAN, etc.

    Tambin los de presentacin ('displays').

    Buses para el sistema.

    Funcin: Permiten conectar memorias, interfcies, etc.

    Controladores de interrupciones y/o DMA (Direct Memory Access).

    Funcin: Darn una medida de la capacidad de trabajo del sistema en tiempo

    real y de adquisicin y almacenaje a gran velocidad.

    Permiten modos de trabajo en bajo consumo.

    El SET de instrucciones. (as como la existencia de compiladores de lenguajes

    de alto nivel).

    Posibilidad de manejo de bits independientes.

    Capacidad de clculo.

    etc.

    La existencia de herramientas de desarrollo. (Emuladores, programadores,evaluadores, ensambladores, compiladores).

    1.4.2 Ejemplos de microcontroladores

    1.4.2.1 ADuC812

    Sistema de adquisicin de Analog Devices de 12 bits (reales) con ADC multicanal (8canales de entrada), DAC dual (un nico conversor que alterna con dos canales, usandoS&H) y un microcontrolador programable de 8 bits (compatible con las instrucciones8051).

    Posee memorias FLASH y RAM.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    22/88

    22/88

    El microcontrolador proporciona funciones como 'Watchdog Timer'. Tiene 32 lneas deI/O programables, interfaz serie I2C y SPI, as como puertos UART.

    P* son puertos de I/O, aunque.tambin se usan para algunas funciones secundarias.

    Los prefijos D A se refieren a la parte digital o a la analgica respectivamente.

    T? son las entradas para los contadores (aumenta el contador en las transiciones de 1 a 0de estas entradas). (T2EX controla algunas funciones del contador 2).

    INT* son entradas para interrupciones.

    EA: External Access enable.

    Figura 1.17. Esquema funcional del ADuC812. (Figura obtenida de documentacin proviniente de AnalogDevices, Inc. (www.analog.com)).

    En cuanto a la memoria, dispone de direcciones separadas para el programa y los datos.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    23/88

    23/88

    Programa: Si EA est a 0, el dispositivo ejecutar el programa localizado en un espaciode memoria externo. Si est a 1, ejecutar el existente en la memoria FLASH interna de8 Kbytes.

    Datos: Hay memoria interna y externa. La interna consta de 4 bloques distintos: partes

    alta y baja de RAM (cada una de 128 bytes), 128 bytes para los registros SFRs ('SpecialFunction Register', que proporciona una interfaz entre la CPU y los diferentes elementosperifricos en el mismo chip), y 640 bytes de espacio libre para el usuario (memoriaFLASH). Estos datos se acceden indirectamente a travs de un grupo de registros decontrol mapeados en los registros SFRs. La memoria externa puede extenderse hasta 16Mbytes.

    Figura 1.18. Memoria para programas. (Figura obtenida de documentacin proviniente de Analog Devices,Inc.(www.analog.com)).

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    24/88

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    25/88

    25/88

    Figura 1.20. Esquema funcional del ADuC824. (Figura obtenida de documentacin proviniente de AnalogDevices, Inc. (www.analog.com)).

    1.4.2.3 MSP430

    Es una familia de procesadores de 16-bit de Texas Instruments (TI) de muy bajoconsumo y de seales mixtas. Un oscilador controlado digitalmente (DCO) permiteactivar el dispositivo desde modos 'sleep' de forma rpida. Est especialmente indicado

    para aplicaciones porttiles que necesiten un bajo consumo. El procesador es de tipoRISC.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    26/88

    26/88

    Figura 1.21. Esquema funcional del MSP430. (Figura obtenida de Texas Instruments, a la que se le aplicatodas las garantas, condiciones, limitaciones y notas originales de Texas Instruments).

    Mdulo de conversin sigma-delta del MSP430F42x0:

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    27/88

    27/88

    Figura 1.22. Mdulo de conversin sigma-delta del MSP430. (Figura obtenida de Texas Instruments, a la quese le aplica todas las garantas, condiciones, limitaciones y notas originales de Texas Instruments)

    Esta serie de la familia utiliza conversores sigma-delta.

    1.4.2.4 Z8 Encore!

    (De Zilog)

    Familia de microprocesadores basados en una CPU eZ8 de 8 bits. Posee un carctergeneral y se puede aplicar en el campo de sensores, domtica, etc.

    La resolucin es de 10 bits.

    Tiene protocolos de comunicacin serie I2C y SPI.

    Figura 1.23. Diagrama de bloques del Z8 Encore!. (Reproduced by permission. Copyright 2003 Zilog, Inc.(www.zilog.com)).

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    28/88

    28/88

    2.COMUNICACIONES EN INSTRUMENTOS DIGITALES

    2.1 CLASIFICACION DE BUSES DE TRANSMISIN DEINFORMACIN EN INSTRUMENTOS DIGITALES

    Por tipo de transmisin de datos:

    Paralelo (velocidad): Corta distancia.

    Serie (economa): Larga distancia.

    Por distancia:

    Dentro del instrumento (entre dispositivos):

    Paralelos:

    Propios de los procesadores: De direcciones, datos, control. Entrelos distintos componentes del procesador.

    Buses de sistema: ISA, PCI, VME,

    Serie: SCI, SPI, I2C, Microwire.

    Entre instrumentos prximos:

    Paralelo (del orden de algunos centmetros a muy pocos metros (2 3m):IEEE488 (de 8 bits a 1Mbyte/s), CompactPCI, VXI.

    Serie (de centmetros a cientos de metros, segn bus y red): CAN,Profibus, I2C, Red local.

    Instrumentos lejanos: Redes WAN ('Wide Area Networks').

    Nosotros veremos las comunicaciones serie dentro del instrumento y para instrumentos

    prximos.Protocolo:

    Nivel de bit.

    Nivel de palabra.

    Nivel de mensaje.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    29/88

    29/88

    2.2 TERMINOLOGA DE COMUNICACIONES

    Transmisor: Dispositivo que enva informacin al bus de datos.

    Receptor: Dispositivo que recoge informacin del bus.

    Maestro ('Master`): Dispositivo que inica una transferencia, controla la seal de reloj yfinaliza la transferencia.

    Esclavo ('Slave'): Dispositivo direccionado por el maestro.

    Multi-Maestro: Sistema donde ms de un maestro puede intentar controlar el bus a lavez, sin corromper el mensaje.

    Arbitraje: Procedimiento para permitir nicamente un Maestro en el bus y, a la vez, queel mensaje no sea corrompido.

    2.3 BUS SPI (SERIAL PERIPHERAL INTERFACE)

    2.3.1 Introduccin

    Es un bus de comunicaciones entre dispositivos sencillo (la transmisin es sencilla y es

    fcil de implementar).

    Pensado para dispositivos relativamente lentos y a los que se accede de formainterrumpida.

    En comparacin con otros buses del mismo estilo (como I2C), este bus est ms pensadopara aquellas aplicaciones ms relacionadas con flujos de datos contnuos ('datastreams') y no para las comunicaciones de acceso 'puntual' a dispositivos esclavos.Como ejemplos estn las comunicaciones entre microprocesadores (o en DSPs ('DigitalSignal Processors'), o en microcontroladores (C)) o la transferencia de datos desdeADCs. Aparecen comnmente en dispositivos de mano o porttiles.

    Debido a su falta de direccionamiento de dispositivos, este bus es ms eficiente cuandoslo existen dos dispositivos: un maestro y un esclavo. Si existen ms dispositivos, estamisma caracterstica obliga a un mayor equipamiento hardware de los dispositivos.

    Otra de sus caractersticas es la alta velocidad. Puede funcionar entorno a las decenas dede MHz.

    No existe una especificacin oficial. Eso hace que siempre tengamos que recurrir a lashojas de caractersticas de los componentes que se vayan a usar.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    30/88

    30/88

    2.3.2 Caractersticas generales

    Es un bus serie sncrono, donde un dispositivo maestro puede comenzar unacomunicacin con otros dispositivos esclavos.

    Aparece generalmente en procesadores.

    Utiliza una relacin de comunicacin Maestro-Esclavo.

    La comunicacin es 'Full-Duplex'. Es decir, puede transmitirse informacin en ambossentidos simultneamente. El Maestro y el Esclavo han de juzgar si los bytes recibidosson significativos o no.

    En microcontroladores PICmicro se implementa por un mdulo llamado SSP('Synchronous Serial Port') o el MSSP ('Master SSP').

    2.3.3 Conceptos del bus SPI

    Este bus serie posee 4 lneas diferentes (cada una de ellas unidireccional):

    MISO ('Master In Slave Out'): Datos del Esclavo al Maestro.

    MOSI ('Master Out Slave In'): Datos del Maestro al Esclavo.

    SCLK ('Serial Clock'): Generada por el Maestro. Comn a todos losdispositivos.

    SS ('Slave Select') (o CS ('Chip Select')): Controlada por el Maestro, tendr quehaber tantas como esclavos.

    Las comunicaciones son sncronas. El reloj es comn para todos los dispositivos. Estaseal la genera el Maestro. El reloj determina cundo los datos pueden cambiar ycundo son vlidos para ser ledos. El hecho de tener una seal de reloj permite que estaseal pueda cambiar sin que haya interrupcin de datos. Por tanto, no tiene que haber uncontrol muy estricto de la seal del reloj (podra ser generada por un oscilador RC poco

    preciso).

    Es un protocolo Maestro-Esclavo. Slo el Maestro puede controlar la seal del reloj. Sinmanipular esta seal, no podr haber intercambio de informacin. Todos los esclavos secontrolan mediante esta seal de reloj. En los PICmicro, los registros del SSP controlancmo responden los dispositivos a esta seal de reloj.

    Tambin es un protocolo 'Data Exchange'. Ningn dispositivo puede ser nicamentetransmisor o nicamente receptor. As, cada dispositivo posee una lnea de entrada yotra de salida. Cuando se transmite datos, antes de volver a transmitir se ha de leer laentrada. Si no se hace as, estos datos se perdern. (es decir, no hay 'Acknowledge').Esta lectura se ha de hacer, incluso aunque no se prevea necesitar ese dato. Cuandoexisten ms de dos dispositivos, se utiliza SS para seleccionar el dispositivo al que seaccede. Esta seal indica al Esclavo que el Maestro quiere iniciar un intercambio de

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    31/88

    31/88

    datos (normalmente, se indica poniendo a lnea a 0). Habr un SS por cada dispositivoEsclavo.

    La comunicacin es 'Full-Duplex' ya que se puede transmitir informacin en ambossentidos simultneamente una vez se ha abierto el proceso de comunicacin.

    Slo hay un protocolo a nivel de bit (mediante SCK).

    Ejemplo de sistema con tres esclavos:

    Figura 2.1. Conexin de instrumentos en el bus SPI.

    El estndar, no especifica una forma concreta de implementacin con un sistema multi-Maestro.

    Tampoco tiene un sistema de 'Acknowledge' ni tampoco de control de flujo.

    Aunque no estn especificadas las transiciones donde realizar el latching de los datos,

    en la prctica existen cuatro tipos (o modos), controlados por CPOL ('Clock POLarity':indica si el estado idle se considera el nivel alto o el bajo) y CPHA ('Clock PHAse': O

    flanco de subida o bajada). (la razn es que estos dos factores pueden controlarse en los

    microprocesadores de Motorola). Si CPHA=0, CPOL=0 significa latching en flancode subida, mientras que CPOL=1 en el de bajada. Si CPHA=1, el significado es justo elopuesto. (estas variables de control estn ubicadas en un registro).

    Los datos se ponen a la salida (cambian) al entrar en el flanco de subida o bajada (el quecorresponda), y se leen al entrar en el flanco opuesto del anterior.

    Transfiere datos siempre en bloques de 8 bits. Se utiliza un registro de desplazamientopara ir poniendo o adquiriendo los datos del bus. Al adquirir un byte, ste se copia a unregistro de buffer, del cual se lee. Si se ha de enviar datos, estos se escriben primero enel buffer.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    32/88

    32/88

    2.3.4 Ejemplos

    2.3.4.1 ADC con bus SPI (LTC1290)

    Veamos primero el diagrama de bloques del LTC1290 ('12-bit 8-channel DAQ'):

    Figura 2.2. Diagrama de bloques del ADC LTC1290. (Figura obtenida de Linear Technology(www.linear.com)).

    El LTC1290 se comunica por un bus SPI. Transmite en el 'falling edge', mientras que

    recibe en el 'rising edge'.

    Tras colocar SS bajo (inicio de comunicacin), primero lee 8 bits de DIN ('Digital DataInput') que configura el LTC1290 para la conversin (unipolar/bipolar, ).Simultneamente, el resultado de la conversin A/D anterior se pone en DOUT.Despus, comienza la conversin. En este momento, SS debera ponerse a nivel alto, yesperarse un cierto tiempo tconv para asegurar que finalice la conversin. Tras estetiempo, el resultado de la conversin estar disponible en el siguiente paso de reloj. Yas sucesivamente:

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    33/88

    33/88

    Figura 2.3. Diagrama de bloques del ADC LTC1290. (Figura obtenida de Linear Technology(www.linear.com)).

    Los 8 bits de DIN son:

    Figura 2.4. Primer byte de configuracin. (Figura obtenida de Linear Technology (www.linear.com)).

    Con ODD/SIGN y los SELECT se selecciona el canal de entrada a medir y lapolarizacin (si se ha escogido diferencial). UNI se refiere al tipo de conversin por

    aproximaciones sucesivas (SAR) (slo positivos o negativo/positivo (con bit de signo)).La longitud del dato de salida puede ser 8, 12 o 16 bits. (estos bits tambin se usan parahacer un 'power down' (01).

    La secuencia de operacin para un caso concreto de configuracin de la conversin semuestra en la siguiente figura (DIN: 01010110):

    Figura 2.5. Secuencia para una conversin de entrada diferencial, bipolar, MSB-primero y 12-bits. (Figuraobtenida de Linear Technology (www.linear.com)).

    Fijarse que, mientras se entra DIN, en DOUT se enva el dato adquirido previamente (en

    este ejemplo no se conoce porque no se ha includo).

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    34/88

    34/88

    Fijarse tambin que los bits en DIN se ponen en el 'falling edge' para poder capturarlosen el 'rising edge'.

    La implementacin de esta aplicacin se muestra en la siguiente figura:

    Figura 2.6. Implementacin del conversor. (Figura obtenida de Linear Technology (www.linear.com)).

    El LT1027 es una referencia de tensin de 5V. El 1N5817 es un diodo Schottky.

    2.3.4.2 Memo ria con bus SPI

    Veamos el diagrama de bloques de la memoria EEPROM SPI X5163:

    Figura 2.7. Diagrama de bloques de la memoria EEPROM SPI X5163. (Copyright Intersil Americas Inc. 2005,2006. All Rights Reserved (www.intersil.com)).

    (WP: 'Write Protect').

    Puede verse que es una memoria de 16kbits. Posee un registro de estado. El WatchdogTimer Reset proporciona un mecanismo de proteccin independiente para

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    35/88

    35/88

    microcontroladores. Si el microcontrolador no reinica el temporizador dentro de uncierto intervalo de tiempo (elegible) (lo hace conmutando la entrada CS/WDI), eldispositivo activa la seal RESET/RESET ('Reset Output').

    Como indica su nombre, posee una interficie de comunicacin SPI. Lee datos en el

    flanco de subida, mientras que transmite datos en el flanco de bajada. MSB se transfiereprimero.

    Contiene un registro de 8-bit de instrucciones.

    Para poder escribir, primero se debe activar el 'Write Enable Latch'. Esto lo realiza lainstruccin WREN (00000110), mientras que la instruccin WRDI (00000100) reseteael latch. Sin embargo, este latch se resetea automticamente despus de cada 'power-up'y despus de cada escritura exitosa. La siguiente imagen muestra cmo realizar lainstruccin WREN:

    Figura 2.8. Secuencia del Write Enable (WEN).(Copyright Intersil Americas Inc. 2005, 2006. All RightsReserved (www.intersil.com)).

    Posee un registro de estado, con el siguiente formato:

    Figura 2.9. Formato del registro de estado de la memoria. (Copyright Intersil Americas Inc. 2005, 2006. AllRights Reserved (www.intersil.com)).

    (WIP: Write-in-progress (se lee con RDSR), WEL: Write enable latch, BL0, BL1:Block lock bits (permite proteger porciones (bloques) de la memoria), WD0, WD1:Watchdog timers bits (seleccionan el Watchdog time out period), FLAG: usado por elsistema, WPEN: Enable Write Protection).

    Secuencia para leer la memoria:

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    36/88

    36/88

    Figura 2.10. Secuencia para la lectura de la memoria. (Copyright Intersil Americas Inc. 2005, 2006. All RightsReserved (www.intersil.com)).

    Tras poner CS a nivel bajo, se enva la instruccin de lectura (8-bit, 00000011), seguidade la direccin a leer (16-bit) y automticamente este registro se 'shiftea' en la lnea desalida (SO). Si queremos seguir leyendo datos secuenciales al inicial, slo hemos demantener CS bajo y seguir enviando pulsos de reloj. Para finalizar, hacemos CS alto.

    Secuencia para escribir en la memoria:

    Figura 2.11. Secuencia de escritura de la memoria. (Copyright Intersil Americas Inc. 2005, 2006. All RightsReserved (www.intersil.com)).

    Antes de iniciar la escritura, el primer paso ha de ser activar WEL ('Write EnableLatch'), mediante la instruccin WREN tal y como se ha visto antes. Es decir, primerose pone CS a nivel bajo, seguido de la instruccin y finalmente se pone CS a nivel alto(si no se hace, se ignorar la instruccin de escritura).

    Para proceder a la escritura, se sigue la secuencia de la figura: CS se pone a nivel bajo,se enva la instruccin de escritura (00000010), seguido de la direccin de escritura (16-

    bit) y a continuacin los datos (8-bit). Si no se pone CS a nivel alto, se seguirescribiendo en la siguiente posicin de memoria secuencialmente. Se acaba cuando se

    pone CS a nivel alto (justo despus del ltimo bit del ltimo byte).

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    37/88

    37/88

    Set de instrucciones:

    Figura 2.12. Set de instrucciones de la memoria. (Copyright Intersil Americas Inc. 2005, 2006. All RightsReserved (www.intersil.com)).

    2.3.4.3 Memo ria EEPROM con bu s Microwire

    (Microwire es un sistema SPI, pero ms reducido (subconjunto))

    La conexin ms fcil entre una EEPROM y otros dispositivos (Microwire) es a travsde 4-cables:

    Figura 2.13. Conexin de 4 cables. (Copyright Intersil Americas Inc. 2005, 2006. All Rights Reserved

    (www.intersil.com)).

    Sin embargo, a veces es necesario una lnea bidireccional, que puede realizarse con 3cables de la siguiente forma:

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    38/88

    38/88

    Figura 2.14. Conexin de 3 cables. (Copyright Intersil Americas Inc. 2005, 2006. All Rights Reserved(www.intersil.com)).

    En este caso, el conjunto de instrucciones son:

    Figura 2.15. Set de instrucciones de la memoria en bus Microwire de 3 cables. (Copyright Intersil Americas

    Inc. 2005, 2006. All Rights Reserved (www.intersil.com)).

    Secuencias de lectura y escritura:

    Figura 2.16. Secuencias de lectura y escritura. (Copyright Intersil Americas Inc. 2005, 2006. All RightsReserved (www.intersil.com)).

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    39/88

    39/88

    Tanto la lectura como la escritura, la secuencia es poner CS alto, un bit de inicio (1) ydos bits de indicacin de la operacin, la direccin y los datos. Se acaba al conmutar CSa 0.

    2.4 BUS I2C (INTER-INTEGRATED CIRCUIT)

    Al igual que el bus SPI, I2C es un bus de dispositivos. Y, adems, est pensado tambinpara dispositivos relativamente lentos y a los que se accede de forma interrumpida.

    Fue desarrollado por Philips Semiconductors (actualmente NXP) para controlar loscircuitos integrados mediante un bus simple (bidirecional de dos hilos). Est orientado atransferencias de 8 bits. Se pueden conseguir hasta 100kbit/s en el modo estndar,aunque tambin puede llegar a 400 kbit/s en el modo rpido, o incluso mayores en otrosmodos (1 Mbit/s o 3.4Mbit/s (modo de alta velocidad)).

    2.4.1 Concepto del bus I2C

    Bus serie sncrono, con un sistema de comunicacin Maestro-Esclavo.

    Fsicamente, el bus consiste en 2 hilos (3 con el de masa (referencia)) que transportaninformacin entre los dispositivos conectados al bus:

    SDA ('Serial DAta Line'): Datos serie. Half duplex (bidireccional, pero nosimultneo).

    SCL ('Serial CLock Line'): Reloj serie.

    (En general, estos sistemas suelen compartir la misma masa, con lo que la tercera lneano es necesario tenerla en cuenta).

    Cada dispositivo se reconoce mediante una direccin nica (propia) y puede operarcomo receptor y/o transmisor, dependiendo de la funcin del dispositivo.

    El maestro inica la transmisin y genera la seal de reloj. En este momento, losdispositivos direccionados son considerados como esclavos.

    En sistemas multimaestros, varios maestros pueden intentar controlar el bussimultneamente. Slo uno lo conseguir, pero los mensajes no son destrudos. Existeun proceso de arbitraje para conseguir el control del bus.

    Orientado a 8 bits (1 bytes).

    Es bidireccional.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    40/88

    40/88

    2.4.2 Caractersticas generales

    SDA y SCL son lneas bidireccionales, conectadas a una fuente positiva medianteresistencias de 'pull-up' (o de polarizacin):

    Figura 2.17. Conexin de dispositivos al bus I2C.

    (los dispositivos muestrean sus propias seales enviadas a las lneas) permite

    Arbitrar y Sincronizar.

    Cuando el bus est libre, las dos lneas estn a nivel Alto.

    Las salidas de los drivers de los dispositivos son open-drain (o colector abierto en TTL)para realizar una funcin Wired-AND (la salida es '1' si todas las salidas de losdispositivos es '1'). Tienen la ventaja de ser fciles de implementar y baratos y, a la vez,evitan cualquier posibilidad de cortocircuitos.

    Segn la velocidad de transmisin, tiene varios modos de operacin:

    Estndar: 100 kbits/s.

    Rpido: 400 kbits/s.

    Alta velocidad: 3.4 Mbits/s.

    El nmero de dispositivos conectados al bus slo depende de la capacidad lmite: 400pF.

    Los dispositivos pueden ser tanto transmisores como receptores. Adems, pueden sertambin Maestros o Esclavos.

    Los niveles de tensin correspondientes al '0' y '1' lgicos no estn fijados por el

    estndar. Dependern del valor de VDD. Los niveles de referencia de entrada s sedefinen, como 0.3VDDy 0.7VDD.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    41/88

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    42/88

    42/88

    Figura 2.20. Condicin de STOP.

    Despus de haber tenido lugar una condicin START, el bus se considerar OCUPADO('BUSY'). Mientras que despus de un cierto tiempo de haber tenido lugar unacondicin STOP, el bus se considerar LIBRE ('FREE').

    Por hardware es fcil de detectar estas condiciones. Si el dispositivo no posee estehardware, se ha de hacer por software, habiendo que muestrear al menos dos veces porcada perodo del reloj.

    2.4.4 Transferencia de datos

    Los datos se transfieren despus de una condicin START.

    Los datos se transmiten siempre en formato de byte (8 bits), con el MSB ('MostSignificant Bit') primero. No hay lmite en el nmero de bytes transmitidos en cadatransferencia.

    Bit de 'Acknowledge': Es obligatorio. Se emite despus de transferirse un dato (8 bits) ysirve para que el Esclavo indique al Maestro que ha recibido de forma correcta el ltimo

    byte. El Maestro genera un pulso de reloj adicional. Durante ese pulso, el Transmisor hade poner la lnea SDA a Alta y el receptor ha de bajarla y mantenerla estable durante la

    parte alta de este ciclo de reloj.

    Figura 2.21. Acknowledge en el bus I2C.

    Tras el 'Acknowledge', si el receptor recibe un dato y necesita cierto tiempo antes deaceptar un nuevo dato, este mismo tiene la opcin de mantener la seal SCL a nivelBajo para que el Maestro sepa que todava no est listo. Cuando pueda recibir el

    prximo dato, liberar la seal SCL para que la controle el maestro.

    Si no se produce el Acknowledge, el Maestro emitir una condicin de STOP, o unSTART repetido para volver a transferir el dato.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    43/88

    43/88

    Figura 2.22. Respuesta del sistema a un not Acknowledge.

    Si el Maestro es receptor, ha de indicar el final de la transferencia al Esclavo-Transmisor. Esto lo realiza no dando el 'Acknowledge' en el ltimo dato.

    2.4.5 Arbitraje y generacin de reloj

    En sistemas multi-maestro, es necesario un sistema para decidir quin toma control delbus en cada momento. Este sistema se realiza mediante el arbitraje y la sincronizacindel reloj. En sistemas con un slo Maestro, esto no es necesario.

    2.4.5.1 Sinc ronizac in

    Todos los maestros han de tener su propio reloj.

    La sincronizacin del reloj en la lnea SCL viene definida por la estructura Wire-AND

    de conexin:

    Estado Bajo del SCL lo definir el maestro que tenga el t Lms largo. (ya quebasta que uno lo tenga en estado Bajo, para que la lnea siga en estado Bajo).

    Estado Alto de SCL lo definir el maestro que tenga el t H ms corto. (por lamisma razn que antes).

    Con SCL a nivel Alto, cuando uno de los Maestros lo ponga a nivel bajo, todos losMaestros empezarn a 'contar' su nivel bajo. (es decir, que se pondrn a nivel bajo yempezar a contar su tLparticular cada uno).

    Con SCL a nivel bajo, los Maestros que lo hayan puesto a nivel Alto, permanecern asen estado de espera. Cuando todos se hayan puesto a nivel Alto, los relojes empezarn a'contar' su nivel alto.

    De esta forma, SCL tendr un tLigual al del reloj con tLms largo, mientras que tendrun tHigual al del reloj con tHms corto.

    (Cada maestro dispone de dos contadores internos. Uno cuenta el tiempo en estado bajode SCL y el otro el tiempo en estado alto).

    Esquema de la sincronizacin del reloj durante el procedimiento de arbitraje:

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    44/88

    44/88

    Figura 2.23. Esquema de sincronizacin durante el arbitraje.

    2.4.5.2 A rbi traje

    Los maestros slo pueden iniciar una transferencia si el bus est libre. Pero dos o msMaestros pueden generar una condicin START (durante el tiempo mnimo de 'hold').El procedimiento de arbitraje se encarga de decidir cul de los Maestros realizar laoperacin.

    El arbitraje tiene lugar mediante la lnea SDA, mientras SCL est en Alto.

    Si un maestro transmite un '1', mientras otro enva un '0', el primero pierde el arbitraje ycoloca su salida en 'OFF' (la lnea estar a 0 ya que es tipo Wire-AND). Esto puedehacerse porque cada Maestro, adems de sacar su dato, muestrea la lnea SDA; si nocoinciden, hace la operacin anterior. El reloj tambin ser una combinacin Wire-ANDde los relojes de ambos Maestros (sincronizacin).

    El maestro que pierde el arbitraje, puede seguir enviando ciclos de reloj hasta finalizarel byte y esperar a que el bus est inactivo para intentar de nuevo su operacin. Sinembargo, debe cambiar a su modo Esclavo, puesto que el Maestro 'ganador' puedeintentar direccionarlo.

    Figura 2.24. Ejemplo de arbitraje del bus I2C.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    45/88

    45/88

    Este arbitraje, puesto que se hace utilizando la direccin e informacin a transferir,implica que:

    No se pierde informacin ni tiempo.

    No hay un maestro central ni sistema de prioridades.

    (La seal de reloj del bus, controlada por el Maestro, slo puede ser modificada en doscasos: cuando un esclavo es lento y mantiene el reloj a nivel bajo, y durante el arbitraje,en el que dos Maestros puede estar controlando el reloj simultneamente).

    2.4.6 Formato de las tramas (direccin de 7 bits)

    Las transferencias siempre empiezan con la siguiente secuencia:

    Generacin de la condicin START.El Maestro enva la direccin del Esclavo (de 7 bits de longitud).

    El octavo bit indica la direccin de la transferencia (R/W). ('0' es unatransmisin, '1' es una peticin de datos).

    Un bit de Acknowledge. (Esclavo).

    La transferencia de datos, al final, acabar en una condicin de STOP. ElMaestro siempre tiene la opcin de volver a transferir datos, con lo que, en lugarde una condicin de STOP, puede realizar una condicin repetida de START(Sr), direccionando a otro Esclavo.

    Esquema general de una secuencia de transferencia de datos:

    Figura 2.25. Ejemplo de secuencia de transferencia de datos.

    Las secuencias siguientes depender del caso:

    Maestro-Transmisor y Esclavo-Receptor: (el bit de (R/W estar a 0)

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    46/88

    46/88

    Enva dato de 8 bits.

    Genera un paso de reloj de 'Acknowledge' y el receptor ha de confirmaren SDA. Repite esta secuencia tantas veces como datos se tengan quetransferir.

    El Maestro genera una condicin de STOP.

    Figura 2.26. Secuencia para Maestro-Transmisor y Esclavo-Receptor.

    Maestro-Receptor y Esclavo-Transmisor: (el bit de (R/W estar a 1)

    En el momento del primer 'Acknowledge' (generado por el esclavo), elMaestro-Transmisor pasa a ser Maestro-Receptor y el Esclavo-Receptor

    pasa a Esclavo-Transmisor. A partir de aqu, los 'Acknowledge' losgenera el Maestro (receptor). Adems, generar la condicin de STOP,enviando un not-acknowledge previamente.

    Figura 2.27. Secuencia para Maestro-Receptor y Esclavo-Transmisor.

    Combinado:

    Cuando hay cambios de sentido durante la transferencia, se repiten: lacondicin de START y la direccin del Esclavo, pero invirtiendo elestado de R/W. (No hay STOP entre medio).

    Figura 2.28. Secuencia para un modo combinado de los dos anteriores.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    47/88

    47/88

    El caso combinado puede ser til en casos como el de la comunicacin con memorias,donde en primer lugar se ha de enviar un byte de configuracin de la memoria, y

    posteriormente se puede leer.

    Resumen de las secuencias:

    Figura 2.29. Resumen de las secuencias del bus I2C.

    2.4.7 Definicin de los bits del primer byte tras START

    Consta de 7 bits de direccin y 1 bit de sentido de R/W:

    Figura 2.30. Esquema del byte tras START.

    Cuando se enva una direccin, todos los dispositivos del sistema comparan esos 7 bitscon su direccin. Si alguno coincide, se conectar como Esclavo-Receptor o Esclavo-Transmisor, segn est R/W.

    La direccin de un esclavo puede tener dos partes: Fija y Programable (medianteHardware).

    La asignacin de direcciones a los dispositivos la realiza el I2C-bus Committe.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    48/88

    48/88

    Hay dos grupos de cuatro direcciones que estn reservados para propsitos especficos:

    Figura 2.31. Direcciones reservadas del bus I2C.

    Direccin de llamada general (0000 000): en principio es para llamar a todos los

    dispositivos del bus.

    Figura 2.32. Esquema de llamada general en el bus I2C.

    Esta llamada general se utilizada para diversos objetivos: resetear los dispositivos,

    modificar su direccin (la parte programable), identificacin, etc.El START byte se usa para los casos en que un microcontrolador no dispone de unainterfcie I2C. Para no tener que muestrear el bus muchas veces, en estos casos se utilizaun procedimiento de START ms largo. La secuencia es: Condicin START, START

    byte, Acknowledge, condicin START repetida (Sr).

    Figura 2.33. Secuencia de START byte.

    Despus de la condicin de START, el microcontrolador slo ha de detectar uno de los0 del START byte, y por tanto puede muestrear a menor velocidad. Cuando lo detecte,el microcontrolador puede conmutar a un estado de mayor velocidad para encontrar Sr,que servir de sincronizacin.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    49/88

    49/88

    2.4.8 Extensiones de las especificaciones del bus I2C

    Se han realizado dos extensiones:

    Modo rpido: 400 kbits/s.

    Modo rpido Plus: 1 Mbits/s.

    Modo de alta velocidad: 3.4 Mbits/s.

    10 bits de direcciones: permite direccionar hasta 1024 dispositivos. El formatoes el siguiente:

    Figura 2.34. Formato del direccionamiento de 10 bits.

    Para indicar que se va a indicar una direccin de 10 bits, los primeros bits tienen lacodificacin 11110, seguido de otros dos bits (XX). La direccin de 10 bits viene dada

    por XX ms los 8 bits del segundo byte.

    De esta forma, en un mismo bus se pueden mezclar dispositivos con 7 y 10 bits dedireccin.

    2.4.9 Caractersticas elctricas de los dispositivos para el bus I2C

    Como hemos visto, los valores considerados Alto y Bajo dependen de VDD:

    VILmax= 0.3VDD.

    VIHmax= 0.7VDD.

    El estndar especifica un mximo de la capacidad del bus (400 pF) (cables, conexiones,

    pines). Debido a los requerimientos de los tiempos de subida de las seales, el valormximo de RP est limitado. Su valor ms restrictivo corresponde al caso en que lacapacidad del bus es mxima, siendo as un valor de unos 3 k. A menor capacidad,mayor puede ser este valor de resistencia:

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    50/88

    50/88

    Figura 2.35. RPmaxen funcin de la capacidad del bus (Cb).

    El valor mximo de RPtambin viene limitado por el valor mximo de la corriente deentrada de cada dispositivo cuando est en nivel alto (10 A). Esta condicin, junto allmite del margen de ruido de 0.2VDDen el estado alto, determina este mximo:

    Figura 2.36. RPmaxen funcin de la corriente de entrada total a los dispositivos en nivel alto.

    El mximo valor de VDD limita el valor mnimo de RP, debido al valor mnimo decorriente de 'sink' (3mA en el modo estndar):

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    51/88

    51/88

    Figura 2.37. RPminen funcin de VDDdebido a la mnima corriente de sink.

    Se pueden colocar resistencias en serie RS(por ejemplo de unos 300 ) para protegerlos dispositivos contra picos de alta tensin en las lneas SCL y SDA.

    Figura 2.38. Disposicin de RSen el bus I2

    C.

    Esta resistencia, sin embargo, tendr que tenerse en cuenta para el clculo de la mximacapacidad permitida.

    El valor mximo est limitado por la restriccin en el margen de ruido en el estado bajode 0.1VDD. (esta resistencia limitar el tiempo de bajada de la salida).

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    52/88

    52/88

    Figura 2.39. RSmaxen funcin de RP.

    (Capacidad mxima de cada pin de I/O: 10 pF).

    2.4.10 Ejemplos

    2.4.10.1 Memo ria con bus I2C

    Diagrama de bloques de la memoria EEPROM de 16kbits con bus I

    2

    C:

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    53/88

    53/88

    Figura 2.40. Diagrama de bloques de una memoria EEPROM de 16kbits con bus I2C. (Copyright IntersilAmericas Inc. 2005, 2006. All Rights Reserved (www.intersil.com)).

    Las entradas de seleccin S0, S1y S2permiten concurrir 8 de estos dispositivos en elmismo bus. La primera operacin que realiza es comparar la direccin de esclavoenviada, con la propia del dispositivo. Si coinciden, seguidamente enva unacknowledge.

    El registro de datos contendr tanto los datos de entrada, como los pedidos de lamemoria. XDEC e YDEC direccionan la memoria para activar la posicin deseada. Eldato se transmite a travs de YDEC.

    Posee un contador de memoria, de forma que mantiene la direccin de la ltimaposicin de memoria leda +1, o la ltima posicin escrita.

    Direccin del Esclavo:

    Figura 2.41. Direccin de la memoria como esclavo. (Copyright Intersil Americas Inc. 2005, 2006. All RightsReserved (www.intersil.com)).

    Los bits A10, A9y A8son una extensin de la direccin de memoria (que se aaden a los

    8 bits de la direccin del array) para tener acceso a todo el array de 2048x8 posiciones(la memoria se divide en 8 bloques de 2048 cada uno).

    Escritura de un byte:

    Figura 2.42. Trama para la escritura de un byte en la memoria. (Copyright Intersil Americas Inc. 2005, 2006.All Rights Reserved (www.intersil.com)).

    La memoria necesita de una segunda palabra, enviada despus del primer acknowledge,para determinar la posicin de memoria. Vuelve a responder con un acknowledge yesperar la recepcin del dato a almacenar. Si no hubo ningn problema, responde con unacknowledge y el Maestro enva una condicin de STOP. En este momento, la memoriainica las operaciones internas para almacenar el dato. Durante esta operacin, la entradaestar inhabilitada y no responder a ninguna peticin del Maestro.

    Escritura de una pgina (32 bytes):

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    54/88

    54/88

    Figura 2.43. Trama para la escritura de una pgina. (Copyright Intersil Americas Inc. 2005, 2006. All RightsReserved (www.intersil.com)).

    La operacin es similar a la de un slo byte, pero ahora, en lugar de acabar la operacinen el primer byte, el maestro sigue enviando bytes, y la memoria realiza unacknowledge para cada byte. Las direcciones son secuenciales respecto la memoriaindicada por el Maestro. Al igual que antes, la entrada estar inhabilitada durante laoperacin interna de escritura, tras la condicin de STOP.

    Lectura de la posicin actual del contador:

    Figura 2.44. Lectura en la posicin actual del contador. (Copyright Intersil Americas Inc. 2005, 2006. AllRights Reserved (www.intersil.com)).

    La memoria, bajo una peticin de lectura (con R/W alto), responde con un acknowledgey devuelve el dato de la memoria en la posicin indicada por el contador de memoria.Para finalizar la lecctura, el maestro debe realizar un 'not-acknowledge' y condicin deSTOP. Al realizar esta lectura, el contador aumenta en una posicin.

    Lectura de una direccin aleatoria:

    Figura 2.45. Lectura de una direccin aleatoria. (Copyright Intersil Americas Inc. 2005, 2006. All RightsReserved (www.intersil.com)).

    Para este fin, primero se ha de hacer una escritura 'dummy', en el que se indica ladireccin que queremos empezar a leer. Despus del segundo acknowledge, el Maestroemitir inmediatamente otra condicin de START. Esta vez, se realiza la medida delectura como se ha especificado para un byte.

    Lectura de direcciones consecutivas (secuenciales):

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    55/88

    55/88

    Figura 2.46. Lectura en direcciones consecutivas. (Copyright Intersil Americas Inc. 2005, 2006. All RightsReserved (www.intersil.com)).

    La lectura secuencial se puede hacer tanto partiendo de la direccin actual de lamemoria, como empezando por una direccin aleatoria. Para ello se sigue los mismos

    procedimientos anteriores, slo que en lugar de responder con una condicin de STOPtras la lectura del dato, el Maestro responder al acknowledge indicando que necesitams datos. La memoria ir leyendo secuencialmente la memoria tras cada acknowledge.

    2.4.10.2 Adaptador de puerto paralelo a bus I2C

    Figura 2.47. Adaptador de puerto paralelo a bus I2C. (Figura obtenida dehttp://users.tkk.fi/iisakkil/stuff.html).

    De esta forma tan sencilla podemos tener una interfaz I2C a partir del puerto paralelo.

    Los 74LS05 son inversores, con salida 'open drain', con lgica positiva ('1' es unatensin mayor a la correspondiente al '0'). Estos componentes tienen varias funciones:

    Proporciona aislamiento entre el puerto paralelo y el resto del circuito.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    56/88

    56/88

    Convierte las salidas TTL del puerto paralelo a drenador abierto, que esnecesario para I2C.

    Drenador abierto tambin es necesario para conectar la seal SDA bidireccionala una entrada y una salida dedicadas unidireccionales del puerto paralelo. Lomismo ocurre con SCL si quiere implementarse 'clock stretching' (control delreloj por parte del esclavo).

    Por tanto, SDA se forma mediante una salida (por ejemplo D7, pin 9) y una entrada (porejemplo Busy, pin 11).

    El reloj se genera utilizando tambin una entrada (nError, pin 15) y una salida (nSelect,pin 17).

    Como las salidas son de drenador abierto, necesitan de una resistencia de pull-up.

    (Para cumplir con el estndar, se ha de poder leer tambin la lnea. Por ello, se utilizatambin un inversor de vuelta.)

    2.4.10.3 Adaptador de puerto paralelo a bus I2C optoaislado

    Figura 2.48. Adaptador de puerto paralelo a bus I2C optoaislado. (Figura obtenida dehttp://users.tkk.fi/iisakkil/stuff.html).

    2.4.11 Conexin de dispositivos con diferentes niveles lgicos

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    57/88

    57/88

    Figura 2.49. Conexin de dos sistemas I2C con diferentes niveles lgicos.

    Una tensin de alimentacin de 3.3 V es relativamente comn hoy da, al igual que los5V. Esta representacin muestra una posibilidad para adaptar dos redes I2C alimentadasa dos tensiones diferentes de una forma sencilla. Como las seales SCL y SDA son

    bidireccionales y no hay un indicador de direccin, no es una opcin utilizar 'level-shifters' convencionales.

    La solucin consiste en interponer N-MOSFETs de enriquecimiento. Para ver sufuncionamiento hemos de comprobar todas las posibles combinaciones de tensiones:

    Si los dos lneas estn libres (a nivel alto), el MOSFET no conducir, ya quetenemos VGS= 0 V. Por tanto, los dos sistemas estn aislados.

    Si unos de los dispositivos en la lnea de 3.3V pone la lnea a nivel bajo, eltransistores conducir y, por tanto, la lnea del sistema de 5V tambin se pondr

    a nivel bajo.Si uno de los dispositivos del sistema de 5 V pone la lnea a nivel bajo, en

    primer lugar conducir el diodo (poniendo la lnea del sistema de 3.3V a unnivel suficientemente bajo como para tener VGS>VT) y seguidamente tambin se

    pondr en conduccin el transistor.

    Este sistema de conexin tiene tambin otras ventajas:

    El sistema de tensin menor puede apagarse, dejando al otro sistema totalmenteoperativo, ya que el transistor siempre estar en corte.

    Proporciona una buena proteccin al sistema de menor tensin frente a picos detensin producidos en el sistema de mayor tensin, ya que si la lnea aumenta detensin, tambin lo har la fuente hasta que, se cerrar el transistor.

    Otro sistema con mejores propiedades viene dado en la siguiente figura:

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    58/88

    58/88

    Figura 2.50. Sistema alternativo de conexin de dos sistemas I2C con diferentes niveles lgicos.

    Aqu, el aislamiento se produce en ambos sentidos. Permite un mejor aislamiento entrelos sistemas a diferentes tensin (de forma que, al desconectar cualquiera de ellos, no

    afectar a ninguno de los otros conectados). En el drenador comn puede conectarseotras sistemas a distintas tensiones.

    2.5 BUS CAN (CONTROLLER AREA NETWORK)

    2.5.1 Introduccin

    El bus CAN (siglas de Controller Area Network) es un protocolo de comunicaciones

    serie sncrono que soporta control distribuido en tiempo real, con un alto nivel deseguridad. Fue desarrollado por Bosch para aplicarlo en la industria del automvil. Estesistema permite reducir el cableado necesario debido a la implementacin de lamultiplexacin.

    Ejemplos de utilizacin: (Bosch) en el automvil multiplexacin de cableado,control del motor, sistemas antideslizantes, sensores, etc.

    Puede trabajar hasta a 1Mbit/s.

    2.5.2 Concepto del bus CAN

    2.5.2.1 Capas

    El estndar del bus CAN viene definido por el estndar ISO 11898 (alta velocidad) eISO 11519-2 (baja velocidad). Nosotros nos centraremos en el primero.

    Se divide en tres capas:

    Objeto.Transferencia.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    59/88

    59/88

    Fsica.

    Las dos primeras comprende todas las funciones y servicios de la capa de enlace dedatos del modelo OSI:

    Data Link Layer:

    LLC ('Logical Link Control') subcapa.

    MAC ('Medium Access Control') subcapa.

    Los objetivos de la capa Objeto son:

    Determinar qu mensajes se han de enviar.

    Decidir qu mensajes recibidos por la capa de transferencia se van a utilizar.

    Proveer una interficie con el hardware relacionado con la capa de aplicacin.

    La primera y segunda opcin constituyen el filtrado de mensajes.

    Los objetivos de la capa de Transferencia son:

    Misin: Protocolo de transferencia.

    Controlar las tramas.

    Arbitraje

    Detectar errores.

    Sealar errores.

    Decidir si el bus est libre para enviar o cuando comienza una recepcin.

    Temporizacin.

    La capa fsica define cmo los datos son realmente transmitidos. Sus objetivos son:

    Trasferencia real de bits entre distintos nodos, con unas determinadascaractersticas elctricas.

    Existe mucha libertad en cuanto a la capa fsica aunque, por supuesto, en un casodeterminado real todos los nodos han de tener la misma capa fsica

    2.5.2.2 Propiedades

    Priorizacin de mensajes.

    Garanta de tiempos de latencia.

    Flexibilidad de configuracin.

    Recepcin multicast con sincronizacin.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    60/88

    60/88

    'Wide data consistency' del sistema.

    Multimaestro.

    Deteccin de error y sealizacin.

    Retransmisin automtica de mensajes corruptos una vez el bus se pone

    inactivo.Distincin entre errores temporales y fallos permanentes de nodos. Apagadoautnomo de nodos defectuosos.

    2.5.2.3 Mensajes

    La informacin se enva mediante mensajes de formato fijo, de longitud variable perolimitada.

    Cuando el bus est libre, cualquier dispositivo conectado al bus puede comenzar atransmitir un nuevo mensaje.

    2.5.2.4 Informacin del rou teado

    En este sistema, los nodos no utilizan informacin sobre la configuracin del sistema(por ejemplo, de las direcciones de las estaciones). Las consecuencias de este hechoson:

    Mayor flexibilidad del sistema: Se pueden aadir o quitar nodos al sistema sinnecesidad de ningn cambio de hardware o software en los otros nodos.

    Ruteado de los mensajes: Cada mensaje se etiqueta mediante un Identificador, elcual no indica el destino del mensaje, sino que describe el significado de losdatos. As, cada nodo de la red es libre de decidir mediante filtrado de mensajessi le interesan o no esos datos.

    'Multicast': Debido al filtrado de mensajes, cualquier nmero de nodos puedeleer un mismo mensaje.

    Consistencia de los datos: El sistema garantiza que los mensajes puedan ser

    aceptados por cualquier nmero de nodos. Por tanto, la consistencia se asegurapor la multidifusin ('Multicast') y por el manejo de errores realizado pordistintos nodos.

    2.5.2.5 Velocidad

    Puede variar de un sistema a otro, pero para un sistema determinado, la velocidad detransferencia es fija. Como mximo ser de 1Mbit/s.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    61/88

    61/88

    2.5.2.6 Prioridad

    El Identificador define un sistema de prioridades durante el acceso al bus.

    2.5.2.7 Peticin remota de dato s

    Mediante el envo de un 'Remote Frame', un nodo puede pedir datos a otro nodo. Este leenviar un 'Dataframe' con los datos pedidos.

    El Identificador del 'Dataframe' y el del 'Remote Frame' han de ser iguales.

    2.5.2.8 Multimaestro

    Cuando el bus est libre, cualquier nodo puede comenzar a transmitir un mensaje. Elnodo con el mensaje a transmitir de mayor prioridad ganar el acceso al bus. Nosotrosseremos capaces de fijar la prioridad segn el tipo de mensaje.

    2.5.2.9 Arbitraje

    El mecanismo de arbitraje garantiza que no hay prdidas de informacin ni de tiempo.

    Si se envan simultneamente un Dataframe y un Remoteframe con el mismo

    Identificador, gana el arbitraje el Dataframe.

    Durante el perodo de arbitraje, cada transmisor compara el nivel del bit transmitido conel que monitoriza en el bus. Si los niveles son iguales, el nodo contina transmitiendo.Cuando se enva un nivel Recesivo y se monitoriza un nivel Dominante, el nodo

    deja de transmitir; pierde el arbitraje.

    (En cierta forma ,es igual que el arbitraje en I2C).

    2.5.2.10 Segu rid ad

    En cada nodo se implementan una serie de medidas (potentes) para detectar, sealar yauto-detectar errores, para conseguir una gran seguridad de los datos transmitidos.

    Para detectar errores:

    Monitorizacin (los transmisores van comparando los niveles del bus con losemitidos).

    Chequeo cclico de redundancia (CRC: 'Cyclic Redundancy Check').

    'Bit Stuffing': Insertar bits especficos en posiciones determinadas).'Message Frame Check'.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    62/88

    62/88

    2.5.2.11 Sealizacin de erro res y tiempo de rec uperacin

    Los mensajes corrompidos son sealizados por cualquier nodo que detecte el error.

    Dichos mensajes son detenidos y se retransmitirn automticamente.

    El tiempo desde que se detecta un error y en que comienza el nuevo mensaje es comomximo de 29 intervalos de bit.

    2.5.2.12 Confin amiento de fallos

    Los nodos CAN han de poder distinguir entre errores espreos y permanentes. Losnodos defectuosos se apagan.

    2.5.2.13 Conexi on es

    El bus serie de conexin utilizado por el CAN puede tener un nmero de nodos que,tericamente, no tiene lmite. En la prctica, el lmite viene dado por los tiempos deretardo y la carga elctrica de la lnea.

    2.5.2.14 Canal sim ple

    El bus consiste en un nico canal simple que transporta bits.

    El mtodo que se utiliza para implementar este canal no queda especificado en lanorma:

    'Single Ended' (+masa).

    Dos hilos diferenciales.

    Fibra ptica.

    2.5.2.15 Valores en el bu s

    El bus puede tomar uno de dos valores lgicos posibles:

    Dominante.

    Recesivo.

    Si se envan simultneamente al bus un bit Dominante y otro Recesivo, prevalecer elDominante.

    Ejemplo: En una implementacin Wire-AND, 0 sera dominante, y 1 sera recesivo.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    63/88

    63/88

    El estndar no define ningn nivel de tensin para estos valores lgicos.

    2.5.2.16 Reconocimiento (Acknowledge)

    Todos los receptores comprueban la consistencia del mensaje recibido, y reconocern(acknowledge) un mensaje consistente y sealarn uno inconsistente.

    2.5.2.17 Modo Sleep/Wake-up

    Con el fin de reducir el consumo del sistema, un dispositivo CAN puede configurarse enmodo 'Sleep', sin actividad interna y con los drivers de bus desconectados. Estasituacin finaliza cuando hay actividad en el bus, o cuando as lo decida el mismodispositivo. Para poder despertar a otros nodos, se puede utilizar como 'Wake-up' el

    mensaje con identificador de menor prioridad:

    rrr rrrd rrrr

    (donde r = recesivo y d = dominante)

    2.5.3 Transferencia de mensajes

    En este bus, hay cuatro tipos de tramas:

    Trama de datos ('Data Frame'): Transporta datos desde un transmisor a losreceptores.

    Trama remota ('Remote Frame'): Es transmitida por un nodo para pedir latransmisin, por parte de otro nodo, de un 'Data Frame' con el mismoidentificador.

    Trama de error ('Error Frame'): Lo transmite cualquier nodo que detecte un erroren el bus.

    Trama de saturacin ('Overload Frame'): Utilizado para conseguir un retardoextra entre un 'Data Frame' o 'Remote Frame' y el siguiente.

    Las tramas de datos y remotas se separan de la precedente mediante un 'InterframeSpacing' (espaciado entre tramas).

    Un nodo slo est permitido a enviar una trama si el bus est inactivo ('idle').

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    64/88

    64/88

    2.5.3.1 Trama de dato s

    Figura 2.51. Esquema de la trama de datos en el bus CAN.

    Se compone de siete campos:

    Comienzo de la trama ('Start of Frame'): Marca el principio de las tramas dedatos y remotas. Es un nico bit dominante. Sirve para sincronizar todas lasestaciones cuando una comienza a transmitir.

    Campo de arbitraje ('Arbitration Field'): Se compone de dos partes:

    Identificador: Longitud de 11 bits. Primero se transmite el ms

    significativo. Los 7 ms significativos no pueden ser todos recesivos.

    Bit RTR ('Remote Transmission Request'): Distingue si la trama es dedatos o remota:

    Dominante: de datos.

    Recesivo: remoto.

    Figura 2.52. Campos de las tramas en formato entrada y extendido.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    65/88

    65/88

    Campo de control ('Control Field'): Se compone de 6 bits:

    4 bits en los que se indica el cdigo de la longitud del datos ('DataLength Code').

    2 bits estn reservados: Estos han de ser dominantes.

    Figura 2.53. Campo de control.

    Figura 2.54. Cdigo DLC.

    Campo de datos ('Data Field'): Datos a transmitir. Puede ir de 0 a 8 bytes. Paracada byte, el MSB se enva primero.

    Campo CRC ('CRC Field'): Contiene la secuencia de CRC (de 15 bits), seguidode un delimitador de CRC (que consiste en un nico bit recesivo). (para ladeteccin de errores).

    Figura 2.55. Campo CRC.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    66/88

    66/88

    Campo de ACK ('ACK Field'): Tiene dos bits de longitud. Contienen el 'ACKSlot' y el 'ACK Delimiter'. El transmisor pone dos bits recesivos. Si el receptorha recibido el mensaje correctamente (es decir, coinciden la secuencia de CRC),

    pondr un bit dominante en el 'ACK Slot'.

    Figura 2.56. Campos ACK.

    Fin de trama ('End of Frame'): Consiste en 7 bits recesivos consecutivos.

    2.5.3.2 Trama remota (Remote Frame)

    Figura 2.57. Trama remota.

    La utiliza una estacin que, actuando como receptora, quiere que otro nodo inice latransmisin de estos datos.

    Es igual que la trama de datos, pero con dos diferencias:

    El bit RTR es recesivo. Es el bit que indica que es una trama remota.

    Slo tiene 6 campos. No existe el campo de datos.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    67/88

    67/88

    2.5.3.3 Trama de erro r

    Figura 2.58. Trama de error.

    Contiene dos campos:

    Indicadores de error ('Error Flags'): Es una superposicin de los indicadores deerror de las diferentes estaciones. Tiene una longitud entre 6 y 12 bits.

    Delimitador de error ('Error Delimiter'): Consiste en 8 bits recesivos.

    Error Flags: Hay dos tipos:

    Activo: Seis bits dominantes consecutivos.

    Pasivo: Seis bits recesivos consecutivos (a no ser que que alguno de ellos estsobreimpuesto por un bit dominante de otro dispositivo).

    Los 'Errors Flags' violan la ley de 'bit stuffing'. Eso provoca que los dems dispositivosdetecten el error y comienzan la emisin de 'Errors Flags'. Por tanto, se observar unasuperposicin de todas las 'Errors Flags'.

    2.5.3.4 Trama de satu racin (Overload Frame)

    Figura 2.59. Trama de saturacin.

    Hay dos tipos de condiciones de saturacin:

    Cuando un receptor necesita un retardo para la siguiente trama de datos oremota. Slo puede empezar en el primer pulso de una 'Intermission' esperada.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    68/88

    68/88

    Cuando se detecta un bit dominante durante una 'Intermission'. Empieza unpulso despus de detectar este bit dominante.

    Como mximo pueden generarse dos tramas de saturacin para retrasar el siguiente datoo trama remota.

    Contiene dos campos de un byte cada uno de longitud:

    Indicador de saturacin ('Overload Flag'): Consiste en una superposicin deindicadores de saturacin (que son de 6 bits) de los diferentes dispositivos.

    Delimitador de saturacin ('Delimiter Flag'): Consiste en 8 bits recesivos.

    2.5.3.5 Espaciado entre tramas (Interframe Spacing)

    Figura 2.60. Espaciado entre tramas.

    Las tramas de datos y remotas han de separarse de las tramas precedentes por un campode bits llamado 'Interframe Spacing'. (Las de errores y saturacin no lo necesitan).

    Se compone de dos campos de bits:

    'Intermission': Consiste en tres bits recesivos. Durante 'Intermission' slo sepermiten tramas de saturacin.

    'Bus Idle': Permite reconocer cuando el bus est libre. La aparicin de un bitdominante en el bus se considera como un comienzo de trama.

    Para estaciones 'error passive' que han sido transmisores del mensaje previo, existe otrocampo llamado 'Suspend Transmission'. Se utiliza en el caso que, antes de enviar un

    nuevo mensaje, otra estacin enva antes otro mensaje, pasando esta estacin a serreceptora. (segunda figura).

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    69/88

    69/88

    2.5.3.6 Codif ic acin del flujo de bits

    Los segmentos 'Start of Frame', 'Arbitration Field', 'Control Field', 'Data Field' y 'CRC

    Sequence' estn codificados mediante el mtodo de 'bit stuffing'. Cuando un trasmisordetecta 5 bits consecutivos de valor idntico, inserta automticamente un bitcomplementario.

    Tanto los campos 'CRC Delimiter', 'ACK Field' y 'End of Frame', como las tramas deerror y de saturacin son de forma fija (y por tanto no son 'stuffed').

    Por lo dems se utiliza codificacin NRZ ('Non-Return-to-Zero'). Por tanto, durantetodo el 'bit time', el nivel del bit generado se mantendr igual.

    2.5.4 Ejemplos

    2.5.4.1 Contr olador del bus CAN (SJA1000)

    Diagrama de bloques:

    Figura 2.61. Diagrama de bloques del controlador de bus CAN SJA1000. (Figura obtenida de Philips(www.philips.com)).

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    70/88

    70/88

    La 'interface management logic' interpreta comandos de la CPU, controla eldireccionamiento de los registros, proporciona interrupciones, informacin de estado,etc.

    El buffer de transmisin almacena un mensaje completo para ser transmitido por el bus,a travs de TX. Para ello, la CPU guarda este mensaje, mientras que es el BSP (BitStream Processor) el que lo lee para transmitirlo. El BSP es un secuenciador quecontrola el flujo de datos entre el buffer de transmisin y el bus.

    El buffer de recepcin es donde se almacenan los mensajes recibidos y aceptados. Poseeun cierto tamao para que la CPU puede procesar un mensaje, mientras puede estarrecibiendo otros.

    El BTL ('Bit Timing Logic') monitoriza el bus y controla la temporizacin del bus.

    El buffer de recepcin es una parte de una memoria FIFO en el que puede almacenarse64 bytes.

    Figura 2.62. Memoria FIFO de recepcin de mensajes. (Figura obtenida de Philips (www.philips.com)).

    Para que un dispositivo acepte un mensaje, existe un proceso de filtrado. En una tramaestndar, se usa todo el identificador y los dos primeros bytes de datos. Tambin puedenaceptarse mensajes que no contienen datos (al estar el bit RTR activo), o que slotengan un dato (el cdigo de longitud). En este filtrado, todos los bits han de coincidir

    para aceptar el mensaje.

    El filtro est definido en los 'Acceptance Code Registers' (contiene realmente lospatrones de bits que pueden ser aceptados) y los 'Acceptance Mask Registers' (definealgunas posiciones de bits que son 'don't care').

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    71/88

    71/88

    Figura 2.63. Filtro de aceptacin de mensaje. (Figura obtenida de Philips (www.philips.com)).

    2.5.4.2 Trans cep tor po r bus CAN (PCA82C250/51)

    El componente PCA82C250/251 proporciona la interfaz entre un controlador del busCAN y la implementacin fsica del bus.

    Tambin puede realizar con aislamiento galvnico, mediante optoacopladores.

    Figura 2.64. Transceptor con aislamiento galvnico. (Figura obtenida de NXP/Philips (www.nxp.com)).

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    72/88

    72/88

    Nivel de tensiones para estos drivers:

    Figura 2.65. Niveles de tensin en el bus para estos transceptores.

    Las velocidades mximas de transmisin dependern de la longitud del bus:

    Figura 2.66. Velocidades de transmisin.

    Figura 2.67. Mxima longitudes del cable en funcin del tipo y del nmero de nodos.

    2.5.4.3 Conexin entr e SJA 1000 y PCA82C250/51

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    73/88

    73/88

    Figura 2.68. Conexin entre SJA1000 y PCA82C250/51. (Figura obtenida de NXP/Philips (www.nxp.com)).

    El 80C51 es un microcontrolador.

    El controlador CAN funciona como un generador de reloj, mientras que la seal de resetes externa.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    74/88

    74/88

    3.INSTRUMENTACIN INTELIGENTE

    3.1 INTRODUCCIN

    Existen enormes dificultades a la hora de integrar diferentes tipos de sensores yactuadores (transductores) en una misma red. Las causas son varias:

    Existen muchos tipos diferentes de transductores y con distintos tipos de seales:

    Bucle de corriente 4-20 mA.

    Niveles de tensin: 0-5V, 0-12V,

    Salida en frecuencia.

    Etc.

    Figura 3.1. Diferentes tipos de salidas de sensores.

    Existen muchas redes de control distribuido (CAN, LonWorks, etc.).

    (tpicamente, el P se encarga del protocolo de la red, adems de realizar lasmedidas y actuar (filtrar, etc.)).

    Diferentes buses de campo (aquellos usados en procesos industriales para facilitar lainstalacin y control de mquinas) que se utilizan son:

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    75/88

    75/88

    Figura 3.2. Propiedades de buses de campo utilizados en la industria.

    Buses en la automatizacin de edificios:

    Figura 3.3. Buses utilizados en la automatizacin de edificios.

    Buses en la automatizacin de casas (para domtica):

    Figura 3.4. Buses utilizados en domtica.

    Buses utilizados en automocin:

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    76/88

    76/88

    Figura 3.5. Buses utilizados en el automvil.

    El fabricante de transductores puede actuar de tres formas:

    Fabricar transductores que proporcionen seales de los tipos estndar o mshabituales.

    Desarrollar interfcies propias entre los transductores y el P que soporta elprotocolo de red.

    Desarrollar transductores que se conecten directamente a la red. Para ello esnecesario:

    Conocer los detalles de los protocolos.

    Integrar Transductores + Acondicionamiento de la seal + NCAP('Network-Capable Application Processor').

    Hacer todo lo anterior para cada red que el fabricante quiera soportar.

    Figura 3.6. .

    Para simplificar esta tarea, se define el estndar IEEE 1451. Este estndar establece una

    serie de seales y un protocolo entre los elementos transductores (STIM, 'SmartTransducer Interface Module') y los NCAP.

  • 8/10/2019 Instrumentacin Electrnica Avanzada

    77/88

    77/88

    Figura 3.7. .

    3.2 ESTNDAR IEEE 1451

    IEEE 1451 consiste en una serie de estndares para sensores inteligentes ('SmartSensors'), que pretende integrar difere