6 de mayo de 2012

Las interfaces comunes entre los microprocesadores del sistema y los circuitos integrados (ICs) incluyen SPI, I ² C, yGPIO . Este artículo describe un error de SPI común que puede ser casi imposible de encontrar en un gran sistema

 

Las interfaces comunes entre los microprocesadores del sistema y los circuitos integrados (ICs) incluyen SPI, I ² C, yGPIO . Este artículo describe un error de SPI común que puede ser casi imposible de encontrar en un gran sistema.El ruido como un problema del sistema es discutido y circuitos integrados que reducen al mínimo sus efectos son mencionados. Las ventajas y desventajas en un I ² C implementación del sistema se explican, y la operación básica de la comunicación GPIO de un microprocesador se describe. Enlaces a información didáctica se proporcionan para su posterior lectura.

¿Cómo puede una interfaz de hacer una cara feliz una cara triste?

Las interfaces comunes para circuitos integrados incluyen SPI, I ² C, y GPIO. La determinación de cómo se conectará un circuito integrado en el microcontrolador o la CPU es muy importante para cualquier diseño de éxito. Sin embargo, las interfaces entre los microprocesadores y circuitos integrados son simples, incluso fácil, y por lo tanto ignorada con demasiada frecuencia en muchos diseños. El tiempo y esfuerzo al parecer guarda desde el principio en un proyecto puede hacer que los ingenieros de diseño feliz ... por el momento. Esta situación trae a la mente la cara feliz o ubicua lindo emoticono "cara sonriente" que se ha convertido en una parte de la vida cotidiana uno y es nuestra metáfora aquí.
El ingeniero de "triste" la cara por lo general surge al final del proyecto cuando la ley de Murphy 2 que "todo lo que puede salir mal, saldrá mal en el peor momento posible" se cierne sobre los hombros doblados de un diseñador. Este artículo narra una triste historia de la interfaz SPI, es sorprendente que no es poco común. Es la historia de cómo el funcionamiento de una interfaz puede hacer una cara feliz triste.

"Mi ordenador me odia y mi bus SPI al azar hace lo que quiere, cuando quiere."

Funcionamiento básico SPI

Una serie de interfaz periférica de autobuses, o SPI (se pronuncia "espía") nombrado por el bus de Motorola, es un bus síncrono de datos en serie que opera en full-duplex modo. 3 Los dispositivos se comunican en modo maestro / esclavo donde el dispositivo maestro inicia la trama de datos. Múltiples dispositivos esclavos se les permite a las líneas individuales de esclavos seleccionar (es decir, de selección de chip). A veces, una interfaz SPI se llama "tres hilos" (es decir, no se vuelve a leer desde el esclavo) o "de cuatro hilos" de bus serie. 4 Una interfaz SPI con la señalización unidireccional ofrece un fácil aislamiento galvánico para reducir los lazos de tierra en la planta . Tal una interfaz SPI se llama unidireccional porque cada uno de los cuatro cables sólo pasa la información en una dirección. Aislamiento galvánico puede lograrse con óptica, un condensador, o transformador de acoplamiento.
El primer error que algunos diseñadores hacen es asumir que un bus SPI tiene la inteligencia. No es así. Figura 1 se explica cómo un esclavo SPI funciona, porque la recepción de datos es sólo una serie-in, en paralelo a cabo registro de desplazamiento.
Figura 1.  Un esclavo SPI diagrama de bloques (serial-in, en paralelo a cabo registro de desplazamiento).
Figura 1. Un esclavo SPI diagrama de bloques (serial-in, en paralelo a cabo registro de desplazamiento).
No podemos dejar de subrayar que un bus SPI es muy sencillo, incluso tonto sin ningún tipo de comprobación de errores. Se trata esencialmente de una serie de registros escritos en serie. Cuando se levanta de selección de chip, los registros de descarga de una palabra en paralelo en el chip. Los bits de SPI no tienen ningún protocolo o significado por sí mismos. Ni siquiera hay un número fijo de bits en un mensaje, el número de bits varía en función de lo que el esclavo necesita. Para complicar las cosas en un diseño, varios dispositivos de diferentes tipos y de diferentes fabricantes pueden ser conectados en serie. Por supuesto, todos ellos deben tener la misma relación de reloj y de datos (uno de los cuatro formatos posibles 3 ).
Ahora imagínese, tres dispositivos en una cadena tipo margarita . chip de una ve por primera vez de chips de 3 de comandos a través, seguido por 2 fichas de comandos. Sólo después de que su propio comando se desplaza en la línea es de selección de chip a nivel alto. Entonces, y sólo entonces, se cualquier comando sentido a cualquiera de los chips individuales.
Como sistema se hace más grande y más ocupada, el sistema puede enviar comandos parciales de SPI, que es fatal.La mortalidad se produce cuando los bits se cargan en el inicio del registro de desplazamiento de SPI. Entonces, antes de los bits están en la posición adecuada en el registro de desplazamiento, la selección de chip pasa a alta. Lo que estaba en el registro se desplaza en paralelo en el chip. Es, por tanto, obligatorio que las interrupciones están enmascaradas durante el comando SPI para asegurar que un comando parcial SPI no se envía.
Para ilustrar el funcionamiento adecuado de una interfaz SPI, se utiliza un MAX5312 de 12 bits, de digital a analógico (DAC ).
Tabla 1 muestra el bit más significativo ( MSB ) cargado primero y el bit menos significativo ( LSB ) el pasado. La figura 2 muestra la orden de 4-bit cargado primero. Tenga en cuenta que sólo seis de las palabras de control posibles 16 se utilizan y hay una advertencia de no usar las órdenes de no cotizan en bolsa. Si los comandos no listadas se utilizan, el dispositivo puede o no puede reaccionar. En cualquier caso, no hay seguridad de que nada bueno sucederá. De hecho, la probabilidad es de que algo malo va a pasar, así que no use los comandos especificados. 5 El MAX5312 También dispone de entradas de Schmitt sobre los pines digitales para minimizar los efectos del ruido.
Tabla 1. Serial-Formato de datos
Bits de control Data Bits
MSB LSB
C3 C2 C1 C0 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
Tabla 2. Serial-Interfaz de Comandos de Programación
Bits de control * Los datos de entrada Función
C3 C2 C1 C0 D11-D0
0 0 0 0 XXXXXXXXXXXX Ninguna operación, comando se ignora
0 0 1 0 12-bit de datos del CAD Cargar registro de entrada de registro de desplazamiento; salida del DAC sin cambios.
0 1 0 0 12-bit de datos del CAD La carga de entrada y DAC registra en registro de desplazamiento; ouput CAD actualizada.
0 1 1 0 XXXXXXXXXXXX Cargar registro del CAD del registro de entrada y la salida del CAD actualizada, registro de entrada sin cambios.
1 0 0 0 XXXXXXXXXXXX Introduzca el apagado; de entrada y DAC registra cambios.
1 1 0 0 XXXXXXXXXXXX Salir de la parada; entrada y DAC registra cambios.
X = no me importa. 
* Todos los comandos de uso restringido son comandos reservados. No utilice.
Figura 2.  Interfaz SPI ejemplo de la hoja de datos MAX5312.
Figura 2. Interfaz SPI ejemplo de la hoja de datos MAX5312.

El ruido misterioso

A veces un cliente expresa su preocupación por que las cosas extrañas están sucediendo en su sistema. Muchas veces echan la culpa del ruido como la causa. Eso no es necesariamente así.
Pensamos que el ruido es poco probable. He aquí por qué. Si una transmisión SPI no estaba sucediendo, la selección de chip ( CS ) tendría que permanecer en cero (sin ruido), mientras que el reloj y los datos charlando a través del 30% y el 70% de tensión umbrales de datos. Si de selección de chip fue baja durante un mensaje de SPI, el ruido en los datos y el reloj, posiblemente, se entrometen. La experiencia demuestra que, si el ruido es realmente tan malo, nada pasa a través o de los datos buscados se destrozaron con la salida del DAC saltar salvajemente. Tener una de las tres líneas limpias (es decir, CS ) y el ruido enorme en el reloj y los datos sería muy inusual.
Hay un viejo adagio que nos dice que miremos para el más simple, la respuesta más probable primera hora de solucionar un problema. Así que en nuestro ejemplo, es mucho más probable que esta "actividad extraña" es un mensaje SPI parcial o incompleta. Pero, ¿de dónde viene? Durante el desarrollo del sistema, típicamente una trabaja con un sistema pequeño o un subconjunto del sistema de gran final. Con el procesador no muy ocupado, rara vez se interrumpe truncar un comando de SPI. A medida que el sistema crece y el procesador aumenta el número de comandos a más dispositivos, la probabilidad de una interrupción truncando un aumento de comando SPI. Esto es exactamente por qué es obligatorio para enmascarar interrupciones durante la transmisión del SPI .

¿Cómo afecta el ruido ICs?

Grandes fuentes de ruido puede abrumar a una transmisión digital de 6, 7 . En consecuencia, los mayores errores potenciales del circuito, al igual que la caída de rayos, debe abordarse a nivel del sistema, mientras que pequeños problemas pueden ser manejados a nivel de chip.
Un ejemplo de un error del sistema de gran tamaño que no puede ser fijado por un IC normales es una fuente de alimentación inestable. Una fuente de 3V que parlotea rápidamente entre 1V y 5V provocará fallos que una IC no puede manejar. Esta es, sin duda, un ejemplo extremo, pero no único en el mundo que nos rodea. Cada día hay líneas de alta tensión causados ​​por fallos motores grandes, soldadores de arco eléctrico, interferencias electromagnéticas en las subidas de tensión, subestación de energía y el cambio de carga. Las grandes redes de transmisión de energía debe reaccionar a cambios en la demanda mediante la adición y la eliminación de equipos de generación de energía durante el día. Este cambio de equipo puede causar cambios de voltaje, que pueden recorrer toda la red. Otras fuentes de ruido potencialmente grandes son la interferencia de radiofrecuencia (RFI), interferencia electromagnética (EMI), ylas descargas electrostáticas (ESD). Muchas regiones experimentan tormentas casi diarias en el verano y la humedad baja con la generación constante de la EDS en el invierno. Todas estas fallas grandes y errores deben ser anticipados y resuelto a nivel del sistema por motivos de seguridad, protección, y la supresión de sobretensión.
Los pequeños errores que se manejan a nivel de chip con el poder adecuado y las conexiones a tierra por separado de estrellas; PCB de energía y los planos de tierra para la limpieza (analógica) y sucia (digital) de tensiones; 6 y el poder de la disociación con resistencias en serie, inductores y los granos de ferrita y capacitancia en paralelo. 7
Estas fuentes de ruido más importantes pueden alterar un sistema. Maxim tiene, y hay muchos dispositivos disponibles para proteger el poder, los datos y las interfaces . En casos extremos, también sería una necesidad de proporcionar un temporizador de vigilancia de circuito para reiniciar el microprocesador del sistema.

I ² C en un mar de Interfaces

Hay una gran cantidad de sistemas de interfaz: RS-232 , RS-422/RS-485 , USB , Ethernet IEEE 802 ® y su sopa de letras, IO-Link ®, bus LIN, 1-Wire ®, I ² C, SMBus , SPI, MICROWIRE ® / PLUS ™ MICROWIRE, M-Bus (EN1434), y la CAN (ISO11898), por mencionar sólo algunos. (Muchos de ellos son marcas registradas por sus autores.) Hay así que muchos sistemas de la competencia, protocolos, estándares y normas parciales que es difícil elegir. 8
El circuito inter-integrado (I ² C) es una de varios maestros, de serie, de una sola terminal de autobuses de comunicación utilizado para conectar periféricos de baja velocidad a la televisión , equipos conjuntos de consumo, teléfonos celulares u otros dispositivos electrónicos. Es una buena opción para las comunicaciones en un área pequeña, chasis o placa de circuito impreso , donde el aislamiento galvánico no es un problema. También se ha ampliado para su uso en un sistema de cableado.
Como con la mayoría de los sistemas, un I ² C tiene sus ventajas y desventajas. Sus limitaciones son básicos pullup resistencia y una capacidad máxima de 400pF. Lo ideal sería que el autobús tendría menor consumo de energía, especialmente para los aparatos alimentados mediante baterías. Ese menor consumo de energía también se traduce en velocidades de bus más lento. Sin embargo, algunas aplicaciones requieren comunicaciones más rápidas. Típico I ² C velocidades de reloj se encuentran entre 100 kHz y 3.4MHz, para mayor velocidad de reloj SPI puede estar en las decenas de Megahertz región. I ² C también se conoce como "dos hilos" bus de serie, 9 y yo un ² C de dos líneas de interfaz digital es ideal para los sistemas más lentos. I ² C utiliza bidireccional de señalización, un cable de datos solo se transmiten los datos desde el maestro al esclavo y reconocer desde el esclavo al maestro. El sistema puede tener varios patrones, y puesto que el reloj proviene del maestro actualmente activo, el reloj también puede ser bidireccional.Esto complica las comunicaciones bidireccionales de aislamiento galvánico, por lo que I ² C se usa típicamente sólo en pequeñas áreas de un sistema.
Hay una amplia selección de dispositivos de circuitos integrados que utiliza muchas interfaces. En el diseño, lo mejor es buscar para la función requerida, por ejemplo, ADC DAC, la temperatura de sensores, o potenciómetros digitales, y luego considerar las interfaces disponibles.

GPIO sencillo y simple

De propósito general de entrada y salida (GPIO) de control consta de las líneas individuales de control paralelos de un microprocesador. Se utiliza cuando los dispositivos simples son controladas por apenas un par de cables. GPIO es sólo usar los puertos estándar de microprocesadores como un interfaz paralelo . Una vez más, hoy se pueden encontrar muchos circuitos integrados de la interfaz en paralelo, incluyendo ADC y DAC.

Conclusión

Sonrisa Ingenieros (tienen caras felices) cuando una interfaz funciona correctamente. Triste se enfrenta a todo indicar un fallo en alguna parte. Entonces, ¿cuál debería ser la lección aprendida? A decir verdad, es tan simple que se suele pasar por alto: prestar atención a los detalles, especialmente si no se dan cuenta de toda su importancia. Se ajusta bien con las caras alegres y tristes porque, como ves, se trata de la charla de la cerveza en una taberna. Nuestros colegas del Reino Unido nos dicen: "Cuidado con la P y Q" en un diseño. Cuando un diseño está funcionando bien, podría significar la mente de sus pintas y cuartos de galón de cerveza. Por lo tanto, celebramos el éxito con la cerveza y lloramos en nuestra cerveza con tristeza. Es por eso que muchos ingenieros acaba de decir: "Voy a brindar por eso", y sonríe una cara feliz.

Referencias

  1. La "cara sonriente" se incorpora a los códigos de computación Unicode en varios idiomas. Un rápido vistazo a Unicode muestra más de 50 caras, incluyendo, feliz, triste, animales, sol, la luna, relojes y mucho más. Por ejemplo, ir a la computadora Unicode fuente , http://unicode.org/~~V .
  2. Para una información general sobre la ley de Murphy, consulte 27s_law http://en.wikipedia.org/wiki/Murphy% .
  3. Para una buena introducción a la SPI y C ², vaya a www.byteparadigm.com/kb/article/AA-00255/22/Introduction-to-SPI-and-IC-protocols.html~~V .
  4. Solicitud de nota 802, " Interfaz de periféricos SPI para el procesador de MAX7651 ".
  5. Nota de aplicación 4429, " Ley de Murphy y los riesgos de la 'Hoja de Datos Off "Diseño ", acerca de la EDS, RFI, y longitudes de PCB traza.
  6. Nota de aplicación 4345, " bien fundamentada, es analógico digital ", sobre los planos de tierra y las estrellas.
  7. Nota de aplicación 4992, " Reducir las posibilidades de error humano: Parte 1, alimentación y tierra , "en la desvinculación de alimentación, el condensador de auto-resonancia, filtros de paso bajo, el ruido de alimentación y conexiones a tierra de la estrella.
  8. I ² C Tutoriales y cebadores www.i2c-bus.org/~~V~~HEAD=NNS ;
  9. Nota de aplicación 4024, " SPI / I ² C Bus Lines Control de múltiples periféricos "; nota de aplicación 3967,"Selección de un Serial Bus "," y la nota de aplicación 3438, Redes de serie de datos digitales . "



1-Wire es una marca registrada de Cypress Semiconductor, Inc. IEEE es una marca de servicio registrada del Instituto de Ingenieros Eléctricos y Electrónicos, Inc. IO-Link es una marca registrada de ifm electronic gmbh. MICROWIRE es una marca registrada de la Nacional Semiconductor Corporation. MICROWIRE PLUS es una marca registrada de National Semiconductor Corporation.



No hay comentarios:

Publicar un comentario