Microcircuitos 1 hilo. Limitaciones e interfaz con redes industriales. Ejemplos de códigos de programa.

Principios básicos de la construcción de redes.

La interfaz Single-wire 1-Wire, desarrollada a finales de los años 90 por Dallas Semiconductor Corp., está regulada por los desarrolladores para su uso en tres áreas de aplicación principales:

dispositivos en edificios especiales MicroCAN para la resolución de problemas de identificación, transferencia o transformación de información (tecnología iButton),

programar la memoria incorporada de los componentes integrados,

sistemas de automatización (tecnología de red 1-Wire).

1-Wire-net es red de información, que se utiliza para implementar comunicaciones digitales una línea de datos y un cable de retorno (o tierra). Por lo tanto, para implementar el entorno de intercambio de esta red, se pueden utilizar cables disponibles que contengan pares trenzados sin blindaje de una categoría u otra, e incluso cables telefónicos comunes. Para tender dichos cables, no se requiere ningún equipo especial y la limitación longitud máxima La línea de un solo cable está regulada por los desarrolladores a un nivel de 300 m.

La base de la arquitectura de las redes 1-Wire es una topología de bus común, cuando cada dispositivo está conectado directamente a una única red troncal, sin conexiones en cascada ni ramas. En este caso, se utiliza la estructura de red básica con un líder o maestro y numerosos esclavos. Aunque existen varias técnicas específicas para organizar el funcionamiento de sistemas monocable en modo multimaestro.

La configuración de cualquier red 1-Wire se puede cambiar arbitrariamente durante su funcionamiento, sin interferir con el funcionamiento posterior y el rendimiento de todo el sistema en su conjunto, si estos cambios cumplen con los principios básicos de la organización de un bus de un solo cable. Esta característica se logra debido a la presencia de una interfaz 1-Wire en el protocolo. equipo especial buscar dispositivos esclavos (Buscar ROM), que le permite identificar rápidamente nuevos participantes en el intercambio de información. Velocidad estándar El procesamiento de dicho comando es de ~75 nodos de red por segundo.

Debido a la presencia en cualquier dispositivo equipado con versión de red Una interfaz de 1 cable, una dirección individual única (la ausencia de coincidencias de direcciones para los dispositivos jamás producidos por Dallas Semiconductor Corp. está garantizada por el propio fabricante), dicha red tiene un espacio de direcciones casi ilimitado. Al mismo tiempo, cada uno de los dispositivos de un solo cable está inmediatamente listo para su uso como parte de una red 1-Wire, sin modificaciones adicionales de hardware ni software. Los componentes de un solo cable tienen sincronización automática dispositivos semiconductores, cuyo intercambio de información se basa en el control de los cambios en la duración de los intervalos de tiempo. señales de pulso en un entorno de un solo cable y su medición. La transmisión de señales para la interfaz 1-Wire es asíncrona y semidúplex, y los suscriptores perciben toda la información que circula en la red como comandos o como datos. Los comandos de red son generados por el maestro y proporcionan varias opciones buscar y direccionar dispositivos esclavos, determinar la actividad en la línea incluso sin direccionamiento directo componentes individuales, gestionar el intercambio de datos en la red, etc.

La velocidad estándar de la red 1-Wire, que es de 15,4 Kbps, se eligió, en primer lugar, para garantizar la máxima fiabilidad de la transmisión de datos a largas distancias y, en segundo lugar, teniendo en cuenta la velocidad de los tipos de microcontroladores más utilizados, que debe utilizarse principalmente al implementar maestros de bus de un solo cable. Este valor de velocidad en baudios se puede reducir a cualquier posible significado gracias a la introducción de un retraso forzado entre la transmisión de bits de datos individuales a la línea (estirando los intervalos de tiempo del protocolo). O se aumenta cambiando a un modo de intercambio acelerado especial (velocidad Overdrive - hasta 125 Kbps), que está permitido para ciertos tipos de componentes de un solo cable en una línea de comunicación de alta calidad y de corta distancia que no está sobrecargada con otros. dispositivos.

Implementación física Interfaz de 1 cable

La implementación física de la interfaz 1-Wire es bastante sencilla. La figura muestra un diagrama simplificado de la implementación de hardware de la interfaz 1-Wire.


Arroz. Implementación de hardware de la interfaz 1-Wire

El pin DQ del dispositivo es una entrada de puerta CMOS que puede ser puenteada (cortada a tierra) por un transistor de efecto de campo. La resistencia del canal de este transistor en estado abierto es de unos 100 ohmios. Cuando el transistor está bloqueado, hay una pequeña corriente de fuga (aproximadamente 5 μA) al cable común.

El bus 1-Wire debe conectarse con una resistencia separada a la tensión de alimentación de los dispositivos. La resistencia de esta resistencia es de 4,7 K, sin embargo, este valor se recomienda sólo para líneas bastante cortas. Si se utiliza el bus 1-Wire para conectar el control remoto larga distancia dispositivos, entonces se debe reducir la resistencia de esta resistencia. Su resistencia mínima permitida es de unos 300 ohmios y la máxima es de unos 20 a 30 kOhmios. Estos valores son aproximados y siempre están sujetos a especificaciones. dispositivo específico 1-Conecte su corriente de entrada máxima de la línea DQ, que, de hecho, determina la corriente mínima resistencia externa.

La conexión del bus 1-Wire al MK se muestra de forma condicional en dos versiones: usando 2 pines MK separados (uno como salida y el otro como entrada), y uno que funciona como entrada y salida. La separación de estos métodos se muestra mediante una línea de puntos, que convencionalmente indica el límite del caso MK. Con un poco de estiramiento uno puede imaginar estructura lógica Buses de 1 hilo como la conocida conexión de los pines de los microcircuitos con un colector abierto según el circuito "cableado O". Es obvio que la transmisión de cualquier información en este caso solo es posible enviando un nivel bajo a la línea, es decir cerrándolo a un cable común, y la línea volverá al nivel lógico alto por sí sola, gracias a la presencia de una resistencia pull-up externa. También es obvio que la transmisión simultánea de varios dispositivos está condenada al fracaso debido a la distorsión total de la información (todos los unos transmitidos desde un dispositivo serán suprimidos por los ceros transmitidos desde otro dispositivo).

Transmisión de datos a través de una red 1-Wire

Reglas básicas para la transmisión de datos en una red 1-Wire:

1. El cambio siempre se realiza por iniciativa de un dispositivo maestro, que en la mayoría de los casos es un microcontrolador (MCU).

2. Cualquier intercambio de información comienza con el envío de un pulso de reinicio (“Reset Pulse” o simplemente RESET) a la línea 1-Wire por parte del dispositivo maestro.

3. Para interfaz de 1 cable caso general Se proporciona conexión y desconexión "en caliente" de dispositivos.

4. Cualquier dispositivo conectado a 1-Wire, después de recibir energía, emite un pulso de presencia en la línea DQ, llamado “pulso de presencia”. El dispositivo siempre emite el mismo pulso en la línea si detecta una señal de RESET.

5. La aparición de un pulso de PRESENCIA en el bus 1-Wire después de emitir RESET indica claramente la presencia de al menos un dispositivo conectado.

6. La información se intercambia en los llamados intervalos de tiempo: se utiliza un intervalo de tiempo para intercambiar un bit de información.

7. Los datos se transfieren byte a byte, bit a bit, comenzando por el bit menos significativo. La fiabilidad de los datos transmitidos/recibidos (comprobación de la ausencia de distorsiones) se garantiza mediante el cálculo de una suma de comprobación cíclica.

Las reglas enumeradas definen el protocolo lógico de intercambio de datos de bajo nivel. La figura muestra un diagrama de las señales RESET y PRESENCIA, con las que siempre comienza cualquier intercambio de datos. Emitir un pulso RESET durante el proceso de intercambio también sirve para completar el procedimiento de intercambio de información antes de lo previsto.

Arroz. Diagrama de señales de RESET y PRESENCIA

Como puedes ver, la duración de la mayoría de los intervalos de tiempo es muy aproximada y tiene sólo una limitación mínima (no menor que la especificada). Leyenda Las líneas seguirán utilizándose. El pulso RESET es generado por la MCU host, lo que lleva el bus 1-Wire a un nivel lógico bajo y lo mantiene en este estado durante al menos 480 microsegundos. Entonces el MK debe "liberar" el neumático. Después de un tiempo, dependiendo de la capacitancia de la línea y la resistencia de la resistencia pull-up, se establecerá un nivel lógico alto en la línea. El protocolo 1-Wire limita este tiempo de "relajación" al rango de 15 a 60 microsegundos, lo cual es decisivo para elegir una resistencia pull-up (por regla general, no podemos cambiar significativamente la capacitancia de la línea, pero tiene un impacto significativo en el momento en que la línea vuelve a un nivel alto).

Habiendo detectado el pulso RESET, el dispositivo esclavo pone sus nodos internos en estado inicial y genera un pulso de PRESENCIA de respuesta, como se muestra en la figura, a más tardar 60 microsegundos después de completar el pulso de RESET. Para hacer esto, el dispositivo baja la línea DQ y la mantiene en este estado durante 60 a 240 microsegundos. El tiempo de espera específico depende de muchos parámetros, pero siempre está dentro del rango especificado. Después de esto, el dispositivo también “libera” el autobús.

Pero después de completar el pulso de PRESENCIA, al dispositivo se le da más tiempo para completar los procedimientos de inicialización interna, por lo que el MK debe comenzar cualquier intercambio con el dispositivo no antes de 480 microsegundos después de completar el pulso de RESET.

Así, el procedimiento de inicialización de la interfaz, que inicia cualquier intercambio de datos entre dispositivos, dura al menos 960 microsegundos, consiste en transmitir la señal RESET del MK y recibir la señal PRESENCIA del dispositivo. Si no se detecta la señal de PRESENCIA, significa que no hay dispositivos listos para intercambiar en el bus 1-Wire.

Ahora veamos los procedimientos para el intercambio de bits de información que se llevan a cabo en determinadas franjas horarias. Un intervalo de tiempo es esencialmente una secuencia específica, bastante estrictamente limitada en el tiempo, de cambios de niveles de señal en una línea de 1 cable. Hay 4 tipos de franjas horarias: transmitir “1” desde el MK, transmitir “0” desde el MK, recibir “1” del dispositivo y recibir “0” del dispositivo.

Cualquier intervalo de tiempo siempre inicia el MK moviendo el bus 1-Wire a un nivel lógico bajo. La duración de cualquier franja horaria debe estar entre 60 y 120 microsegundos. Entre cada intervalo de tiempo debe haber siempre un intervalo de al menos 1 microsegundo (el valor específico está determinado por los parámetros del dispositivo esclavo).

Los intervalos de tiempo de transmisión se diferencian de los intervalos de tiempo de recepción en el comportamiento del MK: cuando transmite, solo genera señales cuando recibe, también sondea (es decir, recibe) el nivel de señal en la línea 1-Wire; La siguiente figura muestra los diagramas de tiempo de los intervalos de tiempo de los 4 tipos: en la parte superior están los intervalos de tiempo de transmisión del MK, en la parte inferior están los intervalos de tiempo de recepción del dispositivo.

Arroz. Diagramas de tiempos de transmisión de datos en una red 1-Wire

El intervalo de tiempo de transmisión "0" simplemente implica mantener el bus 1-Wire bajo durante todo el intervalo de tiempo. La transmisión de "1" se lleva a cabo "liberando" el bus 1-Wire desde el lado MK no antes de 1 microsegundo después del inicio del intervalo de tiempo, pero no más tarde de 15 microsegundos. El dispositivo esclavo sondea el nivel en el bus 1-Wire durante un intervalo de tiempo que convencionalmente se muestra como un rectángulo gris, es decir comenzando desde el microsegundo 15 desde el inicio de la franja horaria y finalizando en el microsegundo 60 desde el inicio. El momento típico de entrada de nivel en el dispositivo (es decir, típico para la mayoría de los dispositivos) es aproximadamente el microsegundo 30 desde el inicio del intervalo de tiempo.

El área sombreada es el área de nivel "ascendente" en el bus 1-Wire, que depende de la capacitancia de la línea y la resistencia de la resistencia pull-up, se proporciona como referencia.

Los intervalos de tiempo para recibir información se diferencian en que el MK forma solo el comienzo del intervalo de tiempo (exactamente de la misma manera que cuando se transmite "1"), y luego el dispositivo toma el control del nivel del bus 1-Wire y el MK ingresa este nivel de la misma manera en una determinada zona de intervalo de tiempo. Esta zona, como puede verse en la figura, es bastante pequeña. Como antes, el área sombreada es un área de incertidumbre, por lo que para la entrada, de hecho, el controlador ni siquiera tiene un espacio, sino un momento específico en el que debe ingresar el nivel de señal desde la línea. Este momento es el microsegundo 14 o 15 desde el inicio del intervalo de tiempo. Por supuesto, si la línea tiene una capacitancia baja y la resistencia pull-up es pequeña, la zona de interrogación se expande un poco.

Entonces, resumamos. El MK inicia el intervalo de tiempo enviando "0" al bus 1-Wire durante 1 microsegundo. El nivel posterior depende del tipo de intervalo de tiempo: para recibir y transmitir "1", el nivel debe ser alto, y para transmitir "0", debe permanecer bajo hasta el final del intervalo de tiempo, es decir. no menos de 60 y no más de 120 microsegundos. Si el MK recibe datos, entonces debe sondear el nivel en el bus en el intervalo del 13 al 15 microsegundo del intervalo de tiempo. El microcontrolador debe proporcionar un intervalo entre intervalos de tiempo individuales de al menos 1 microsegundo (cuanto más, mejor, valor máximo no limitado).

Es importante comprender que se debe tener mucho cuidado al proporcionar los intervalos de tiempo requeridos en el bus 1-Wire, ya que, por ejemplo, aumentar la duración del intervalo de tiempo de salida “0” más allá del valor recomendado puede llevar a una percepción errónea. de esta franja horaria como señal RESET, y, por supuesto, después de esto se detendrá todo el procedimiento de intercambio. Pero también hay que tener en cuenta la influencia de la propia línea en la duración de los frentes de pulso. Por tanto, en general, esta no es una tarea fácil. Pero seguir unas sencillas recomendaciones lo solucionará bastante bien. por medios simples: en primer lugar, todas las señales que el MK debe generar deben generarse de acuerdo con el principio de la duración mínima requerida (es decir, un poco más que la duración mínima especificada), y las señales del dispositivo deben esperarse de acuerdo con el principio del peor de los casos ( es decir, centrarse en lo más peores opciones parámetros de temporización de la señal).

Protocolo de intercambio de información

Veamos los principios para direccionar dispositivos y administrarlos. Cada dispositivo 1-Wire tiene un número de identificación único de 64 bits, programado en la etapa de fabricación del chip. Único: esto significa que el fabricante garantiza que no habrá dos microcircuitos con el mismo número de identificación(al menos durante varias décadas al ritmo de producción actual).

Al considerar el protocolo de intercambio, partiremos del principio de que hay más de un dispositivo en el bus 1-Wire. En este caso, el MK enfrenta dos problemas: determinar la cantidad de dispositivos disponibles y seleccionar (abordar) uno específico para el intercambio de datos.

Los números de algunos dispositivos están impresos directamente en la carcasa de los microcircuitos (por ejemplo, para los dispositivos iButton, las conocidas teclas de tableta), mientras que los números de otros se pueden determinar mediante programas especiales o dispositivos. Entonces, supongamos que conocemos los números de todos los dispositivos 1-Wire en el bus. El algoritmo para trabajar con ellos es el siguiente: el MK envía, como de costumbre, un pulso de RESET y todos los dispositivos disponibles emiten PRESENCIA. Luego, el MK envía un comando al bus, que es aceptado por todos los dispositivos. Hay varios comandos que son comunes a todos los tipos de dispositivos 1-Wire y también puede haber comandos únicos para tipos individuales. Entre los comandos generales, nos pueden interesar principalmente los siguientes:

No consideraremos el primer comando por el motivo indicado anteriormente; el segundo le permitirá determinar la dirección de los dispositivos existentes antes de instalarlos en el producto terminado.

Después de que el MK emita el comando READ ROM, se recibirán del dispositivo 8 bytes de su propia dirección única; el MK debe aceptarlos. Tenga en cuenta que cualquier procedimiento de intercambio de datos con el dispositivo debe completarse por completo o interrumpirse enviando una señal de RESET.

Si se envía el comando MATCH ROM, luego el MK también debe transmitir 8 bytes de la dirección específica del dispositivo con el que se llevará a cabo el intercambio de datos posterior. Esto equivale a configurar una dirección en un bus paralelo en dispositivos con microprocesador. Después de aceptar este comando, cada dispositivo compara dirección transmitida con el tuyo. Todos los dispositivos cuya dirección no coincide dejan de analizar y emitir señales en la línea 1-Wire, y el dispositivo que reconoce la dirección continúa funcionando. Ahora todos los datos transmitidos por MK irán únicamente a este dispositivo "direccionado". Exactamente qué datos deben enviarse o recibirse del dispositivo después de direccionarlo depende del dispositivo específico y no se analizan en este artículo (por ejemplo, para un termómetro, estos podrían ser comandos para iniciar una medición o leer el resultado; para un tecla de tableta, no hay otros comandos además de los principales, y para los chips ADC puede haber alrededor de una docena de comandos adicionales).

Si solo hay un dispositivo en el bus, puede acelerar el proceso de interacción con él usando el comando SKIP ROM. Habiendo aprendido este comando, el dispositivo inmediatamente considera que la dirección coincide, aunque ninguna dirección sigue a este comando. Algunos procedimientos no requieren recibir ningún dato del dispositivo, en cuyo caso el comando SKIP ROM se puede utilizar para transmitir cierta información a todos los dispositivos a la vez. Esto permite, por ejemplo, iniciar simultáneamente un ciclo de medición de temperatura con varios sensores termostáticos del tipo DS18S20.

La recepción y transmisión de bytes siempre comienza con el bit menos significativo. El orden de los bytes al transmitir y recibir la dirección de un dispositivo también es de menor a mayor. La forma en que se transmite otra información varía según el dispositivo, así que consulte la documentación de su dispositivo.

Para completar la descripción general de la interfaz, consideremos en detalle la estructura del número de dirección único de 64 bits de los dispositivos 1-Wire. En realidad, consta de 8 bytes separados: un byte del identificador de familia, seis bytes (48 bits) de la dirección única y un byte de la suma de verificación de todos los bytes anteriores.

Entonces, una suma de verificación o CRC es un byte cuyo valor es el transmitido más recientemente y se calcula utilizando un algoritmo especial basado en los valores de los 7 bytes anteriores. El algoritmo de conteo es tal que si todos los bytes se transmiten y reciben sin distorsión (y la distorsión es bastante posible, si recuerda la naturaleza de la implementación del hardware de la interfaz), el byte de suma de verificación recibido necesariamente coincidirá con el valor calculado en el MK. (o dispositivo). Aquellos. al implementar un algoritmo de software para el intercambio de información, debemos contarlos al transmitir y recibir bytes suma de control de acuerdo con un algoritmo estrictamente definido, y luego transmitir el valor recibido (si estuviéramos transmitiendo dirección/datos), o comparar el valor calculado con el valor CRC recibido. Sólo si ambos CRC coinciden, el MK o dispositivo considera que los datos recibidos son confiables. De lo contrario, la continuación del intercambio será imposible. Obviamente, el algoritmo para calcular el CRC debe ser el mismo tanto para el MK como para cualquier dispositivo. Está "estandarizado" y descrito en la documentación.


No es posible realizar tales cálculos en el marco de este proyecto de tesis. Sin embargo, tiene sentido formular una evaluación predictiva de la implementación de una u otra opción para la integración local. redes informáticas MIET y campus MIET. La estimación del pronóstico se formará en base al monto de los costos directos de las principales partidas de gastos, así como al costo del soporte de comunicación, en relación con...

¿Qué comandos especializados se deben utilizar para interrogar al sensor? 2.3 Lanzamiento y ejecución El programa compilado es un archivo del tipo cof, que se flashea en el microcontrolador ATmega 128 de la familia AVR. Conexión de los componentes modelo de trabajo dispositivo, recibimos una señal del sensor de temperatura, leemos la temperatura ambiente. 3. Lista de literatura usada...

29-10 Ejercicio 29 29-11 [KS xv] Apéndice A Referencias A-1 Apéndice B Figuras B-1 Apéndice C Soluciones C-1 Diccionario Abreviaturas Índices [KS xvi] Tecnología para la creación de redes informáticas Preguntas y respuestas Este formulario le ayudará obtenga la respuesta a cualquier pregunta que haya surgido durante el estudio...

El desarrollador de la plataforma 1-Wire es Dallas Semiconductor Corporation (EE.UU.). En 2001, fue adquirida por el gigante mundial de la microelectrónica Maxim Integrated Products (EE.UU.). La plataforma incluye una serie de microcircuitos y dispositivos iButton basados ​​en ellos, así como varios adaptadores, kits de creación de prototipos y software.

La producción de microcircuitos y dispositivos iButton es prerrogativa exclusiva de Maxim; su clonación por parte de otros fabricantes no está prevista en la política de licencias. Al mismo tiempo, empresas de terceros desarrollan y producen diversos módulos para sistemas de automatización, adaptadores, controladores, sistemas de creación de prototipos y software basados ​​en los chips de esta plataforma.

Fig.1. Componentes de plataforma de 1 cable.

La plataforma se desarrolló entre finales de los 80 y finales de los 90 y estaba destinada a tareas de identificación por contacto de objetos, incl. con funciones de medición y registro de temperatura, humedad, parámetros de suministro de energía autónomo, así como funciones de recuperación, almacenamiento y transferencia de datos. Un ejemplo muy utilizado de este tipo de aplicaciones es la tecla de tableta para intercomunicadores. Menos conocido, pero también extendido, es el uso de la plataforma 1-Wire para resolver problemas de identificación y registro de parámetros de cartuchos. placas base, objetos biológicos, identificación y protección contra el acceso no autorizado de diversas cajas, contenedores, etc. La esencia de este propósito y principio de funcionamiento se refleja en el término "Memoria táctil" (memoria de contacto), que a menudo se utiliza para referirse a los dispositivos iButton. Información detallada sobre aplicaciones estándar y ventajas de la plataforma 1-Wire se puede encontrar en siguientes paginas Sitio web de Maxim Integrated:

A pesar de este propósito inicialmente limitado, la plataforma 1-Wire, en términos de sus características técnicas y económicas, resultó ser muy adecuada para soluciones económicas para ciertas categorías de sistemas automatizados de control de procesos. El avance de la plataforma en el nicho de la automatización fue un requisito previo para su uso futuro en sistemas domésticos inteligentes, principalmente en sistemas de control climático y meteorológico, lo que se debe a la composición de los sensores. La plataforma gustó especialmente a las pequeñas empresas privadas y a varios artesanos que desarrollaron una serie de herramientas de software, controladores, módulos periféricos para ella y también crearon una serie de proyectos. domótica.

No hay estimaciones sobre la participación de la plataforma en el mercado de la domótica.

Las soluciones básicas en las que se basa la plataforma son las siguientes:

A. Interfaz de dos cables.

Al mismo tiempo, en dispositivos que tienen función de grabación de datos autónoma, es decir. sin conexión a la línea principal, se proporciona fuente interna fuente de alimentación (batería de litio) y los dispositivos con mayor consumo se alimentan desde una fuente externa a través de linea separada.

Limitar la autopista a solo dos líneas permite garantizar el contacto de los circuitos externos del dispositivo iButton con los circuitos del dispositivo de contacto de la autopista “con un ligero movimiento de la mano”, porque esto requiere el acoplamiento mecánico de sólo dos pares de elementos. Ésta, de hecho, es la principal ventaja de "two-wire" en relación con las tareas iniciales de la plataforma 1-Wire.

B. Indicación de conexión en caliente.

El protocolo 1-Wire prevé la emisión de un pulso por parte de un dispositivo conectado a la red troncal en modo activo, notificando que ha aparecido un nuevo dispositivo en la red troncal. La necesidad de dicha notificación también viene dictada por el propósito específico de la plataforma, ya que el intercambio con el dispositivo iButton debe iniciarse en el momento en que se conecta a la red troncal.

C. Identificador único del dispositivo

Cada chip 1-Wire contiene un código único de 64 bits que se escribe durante la fabricación. Este código permite individualizar todos los dispositivos 1-Wire fabricados, para lo cual el fabricante garantiza la ausencia de códigos idénticos (similares a las direcciones MAC adaptadores de red). Cuando está conectado a la línea principal este codigo leído por el controlador y utilizado para identificar el objeto asociado con este dispositivo, así como para determinar el tipo de dispositivo. Cuando se conectan varios dispositivos a la red troncal, sus códigos se pueden utilizar como direcciones, lo que permite construir redes tecnológicas denominadas MicroLAN.

Comentario. Para las tareas de control automatizadas, que incluyen, entre otras, tareas de “hogar inteligente”, estas soluciones no ofrecen ninguna ventaja. Por lo tanto, no hay una diferencia notable cuando se utiliza un cable de dos hilos y, por ejemplo, uno de cuatro hilos en un interior moderno, especialmente porque el uso de actuadores aún requerirá una línea eléctrica separada. Tampoco es relevante para la domótica la posibilidad de conectar un dispositivo en modo "caliente", a menos que sea una llave. cerradura electrónica. Utilizar su identificador como dirección del dispositivo en lugar de establecer una fija, regulada por el proyecto, generalmente se asocia con ciertos inconvenientes a la hora de configurar y reparar la red, aunque el desarrollador ofrece adecuados algoritmos de autoajuste y adaptación, así como la posibilidad de para instalar 4 bits adicionales dirección local. La idoneidad de la plataforma para ciertos nichos de automatización se debe a su bajo costo, facilidad de uso y la presencia de una serie de sensores y dispositivos de interfaz populares con interfaces estándar, conductores para común sistemas operativos, así como la posibilidad de ampliar la funcionalidad mediante el uso de base del elemento propósito general.

Una red basada en el protocolo 1-Wire tiene una arquitectura centralizada. El intercambio de información se produce bajo el control de un controlador central: el "maestro" el resto de los dispositivos de la red tienen el estado de "esclavo" (Fig. 3). Cualquier dispositivo programable que tenga Interfaz. Para coordinar controladores con bus 1-Wire, el software y hardware de la plataforma incluye adaptadores y drivers para cableado interfaces seriales RS-232, RS-485, I2C, SPI, Ethernet, para interfaz LPT paralela, así como para Wi-Fi.

Fig.3. Configuración de red MicroLAN basada en protocolo 1-Wire

La topología de la red puede tener una estructura de árbol lineal o ramificada. Los principales parámetros de la interfaz 1-Wire son los siguientes:

  • longitud máxima del tronco cuando se utiliza par trenzado: hasta 300 m;
  • el número máximo de abonados en una troncal de longitud máxima es de hasta 250;
  • velocidad de intercambio en una carretera de longitud máxima: hasta 16,3 kbit/s;

Para la red troncal, se recomienda utilizar un cable telefónico de par trenzado CAT5 estándar. En el caso de utilizar un cable telefónico estándar con dos pares, no se recomienda utilizar el segundo par para otros fines para evitar aumentar la capacidad de la línea, es decir, Si se suministra alimentación externa a los dispositivos, es deseable un cable separado.

El intercambio de datos a través de la carretera incluye tres fases (Fig.4):

  • una fase de reinicio, que incluye un pulso de reinicio del controlador y un pulso de confirmación de presencia del o los abonados;
  • la fase de muestreo del dispositivo, incluido el comando para su muestreo (por código, sin código, grupo, búsqueda) y su código, si lo proporciona el comando;
  • Fase de escritura/lectura de datos, incluido el código de comando y los datos.

Fig.4. Ciclograma de intercambio de datos

La lógica de todos los dispositivos es sincronizada por el flanco negativo de las señales del controlador tanto en modo de escritura como de lectura. Los bits se codifican según la duración del pulso positivo: "1" se transmite como un pulso largo y "0" como un pulso corto. En el modo de grabación, todos los pulsos de datos son generados por el controlador. En modo lectura, el controlador genera una secuencia de unos y el suscriptor les pone su propia máscara de ceros (Fig. 5).

Fig.5. Reloj y codificación de la capa física

Más detalles Sobre la arquitectura del bus 1-Wire se proporciona en los siguientes documentos oficiales de Maxim:

La arquitectura de almacenamiento y registros de los dispositivos periféricos de la plataforma está organizada de tal manera que la totalidad de todos los dispositivos de la red se pueden representar como un único sistema de archivos, lo que permite trabajar con la red como un soporte de datos integrado. Una descripción de su estructura se da en AN114. Estructura de archivos de 1 cable.

La gama de chips de plataforma 1-Wire y dispositivos iButton incluye: medios simples código de identificación y portadores del código de identificación con funciones adicionales, incl.

  • con funciones varios tipos memoria - Memoria EPROM, EEPROM, ROM, NV SRAM ;
  • con funciones de medición de temperatura - Sensores de temperatura ;
  • con funciones de monitorización, protección y configuración de elementos de alimentación - Monitores, protectores y selectores de batería Y ID de batería y autenticación ;
  • con funciones de temporización - Cronometraje y relojes en tiempo real ,
así como chips de interfaz para emparejar controladores con un bus 1-Wire - Productos de interfaz de 1 cable .

Todos los circuitos que implementan la arquitectura ya están integrados en los chips de la plataforma. Al desarrollar dispositivos periféricos, el desarrollador solo necesita agregar cableado para la interfaz con sensores, actuadores y dispositivos de visualización, elementos para proteger circuitos externos y, si es necesario, elementos para el suministro de energía externo. Al desarrollar adaptadores de interfaz, es necesario, en consecuencia, interconectar los chips (controladores de bus) con la interfaz del controlador de red. En la figura. A modo de ejemplo, la Fig. 6 muestra un fragmento del diagrama de circuito de un módulo de entradas y salidas discretas de ElIn.

Fig.6. Fragmento del diagrama del circuito del módulo de entradas/salidas discretas ElIn

Sobre la base de los componentes 1-Wire fabricados por Maxim, se produce una variedad bastante grande de dispositivos estructural y funcionalmente completos para sistemas de automatización, incl. para una casa inteligente. Estos dispositivos incluyen varios adaptadores y servidores troncales, módulos de entrada/salida para señales discretas y analógicas, sensores, cables, etc. La gama, las características y los precios de dichos dispositivos se indican en los sitios web de sus fabricantes, entre los más famosos se encuentran:

La gama más desarrollada de dispositivos OEM, que incluye: y enchufes controlados para fuentes de alimentación conmutadas, ofrece NTL ElIn. Los módulos de Embedded Data Systems son los más populares en el extranjero. Sin embargo, el número total de fabricantes de equipos originales es pequeño, no se encuentran entre los gigantes de la automatización y se centran principalmente en el mercado del bricolaje.

Fig.7. Ejemplos de módulos OEM de 1 cable

Maxim Integrated proporciona bibliotecas API y SDK para programar sistemas basados ​​en 1-Wire para una amplia gama de plataformas: computadoras personales con Windows/Linux/MacOS, dispositivos móviles, microcontroladores, .NET y JAVA. Su descripción general se proporciona en AN155, y en los siguientes documentos se proporciona una descripción de paquetes específicos con enlaces para descargar distribuciones y documentación:

También se ofrece un escáner de red de software. Visor OneWire, que le permite buscar e identificar dispositivos conectados a la red y mostrar una lista completa de sus parámetros y datos.

De los desarrollos de terceros, los de mayor interés son los siguientes:

También hay gran número programas especializados desarrollados para tareas estrechas(ver, por ejemplo, módulos NTL ElIn).

El diseño de la red troncal de 1-Wire juega un papel importante en la construcción de redes de 1-Wire. Como regla general, las carreteras largas de 1 cable tienen una estructura que consta de tres conductores principales: DATOS- bus de datos, RET (TIERRA)– bus de retorno o cable de tierra, EXT_POWERfuente de alimentación externa no sólo los suscriptores esclavos a los que se da servicio, sino también los circuitos de sensores y control externos a ellos. Dependiendo de la tecnología de tendido del cable, el método de emparejamiento con suscriptores esclavos, las características de las técnicas de instalación utilizadas y la calidad de los materiales utilizados, de acuerdo con la siguiente tabla, existen cuatro opciones principales para organizar 1-Wire. redes, cada una de las cuales implica el uso de tecnología y accesorios especiales para la implementación de la carretera.

Clasificación de la red de 1 cable Longitud del cable troncal Número de suscriptores esclavos Tipo de cable utilizado Topología Maestro de red de 1 cable
Miniatura Hasta 5 metros Hasta 10 piezas Cualquier Gratis Cualquier líder con pull-up pasivo (resistencia a la fuente de alimentación)
Corto Hasta 30 metros Hasta 50 piezas teléfono de 4 hilos Bus común con parches de hasta 0,5 m. Adaptadores basados ​​en componentes discretos DS9097E, DS1410E
Promedio Hasta 100 metros Hasta 100 unidades Par trenzado categoría 3 Autobús común estricto Pull-up activo (DS2480B, DS2482, DS2483 o especial diseño de circuito(MAX6314))
Largo Hasta 300 metros Hasta 250 unidades Par trenzado categoría 5 o IEEE1394 (Firewire) Neumático general sin rotura de maletero. Modificación de enlace o software de franjas horarias del protocolo 1‑Wire

A menudo, al organizar redes complejas de 1 cable, para facilitar el tendido del cable troncal, reducir su longitud o reducir la carga eléctrica en la red reduciendo el número de suscriptores conectados simultáneamente a ella, es necesario prever una estructura de árbol o radial de la columna vertebral, significativamente diferente de la estructura del autobús general. Para ello se utilizan redes ramificadas 1-Wire de uno o más niveles. El elemento principal en la construcción de tales ramas es una clave direccionable normal del tipo DS2406, que proporciona bifurcación al conmutar el bus de retorno del bus 1-Wire, o un divisor especializado DS2409, que conmuta directamente el bus de datos del 1 -Autobús de alambre. La última opción es más preferible porque los suscriptores en una sucursal que está desconectada del maestro y controlada por una sucursal siempre permanecen en un estado activo. El mantenimiento alternativo de cada una de las ramas por parte del maestro de la red, con las otras ramas deshabilitadas, puede aumentar significativamente la longitud total del cable troncal 1-Wire y aumentar el número total de suscriptores esclavos de la red 1-Wire. El uso de acopladores universales DS2409 permite, entre otras cosas, garantizar la conmutación de todos los buses de una red 1-Wire, o probar el estado de las ramas no conectadas a la troncal principal de una red 1-Wire, u organizar una -Hub de cable, que permite que un maestro sirva alternativamente a muchas ramas separadas de 1 cable. Desafortunadamente, Maxim Integrated ya no suministra los acopladores DS2409 y, para reemplazarlos, se propone utilizar soluciones de circuitos complejos.

Otra opción para dar servicio eficazmente a redes radiales de 1 cable es el uso de controladores DS2482. Por lo tanto, el chip maestro DS2482‑800 es capaz de gestionar ocho ramas independientes de 1 cable, cada una de las cuales se puede configurar con parámetros pull-up activos individuales. La presencia de tres pines de dirección de la interfaz I2C le permite organizar un circuito completo de 8, 16, 24, 32 canales, etc. basado en dicho microcircuito y un microcontrolador universal. 1‑Wire‑hub, que implementa un radial ramificado muy económico estructura de red, sin cambiar el bus de datos y el bus de retorno. A diferencia del componente DS2482‑800, el controlador DS2482‑100 le permite implementar un maestro de una sola rama de 1 cable. Gracias a la presencia de dos entradas direccionables del nodo de interfaz I2C, el microcontrolador maestro podrá dar servicio a hasta 4 controladores similares a través de uno de esos buses I2C. Además, cada uno de ellos puede aislarse galvánicamente de la autopista I2C sin dificultad. Y esto permite, a diferencia del concentrador 1-Wire basado en el DS2482-800, implementar, en el caso de utilizar varios DS2482-100, estructuras radiales 1-Wire más resistentes al ruido aisladas entre sí.

Si la organización de una red 1-Wire basada en ordenador personal asociado con dificultades especiales (larga longitud del cable troncal, gran número de suscriptores esclavos, mala calidad cable o topología compleja, mucha interferencia, etc.), entonces lo más óptimo es utilizar un adaptador inteligente para el puerto COM. Tipo de enlace o su equivalente para el puerto USB del adaptador LinkUSB. La base de cualquiera de estos adaptadores es un microprocesador equipado con un programa de control especializado. Además, todos los dispositivos implementados utilizando Tecnologías de enlace, emular completamente desde el exterior puerto serie funcionamiento del popular adaptador DS9097U fabricado por Maxim Integrated. Por lo tanto, todo el software desarrollado previamente para admitir adaptadores DS9097U también funcionará con cualquiera de los adaptadores Link. Pero lo principal es que, gracias a sus propios recursos intelectuales, los adaptadores Link y LinkUSB brindan un funcionamiento preferencial para suscriptores esclavos en redes 1-Wire problemáticas, en condiciones de interferencia difíciles. Adaptadores de enlace y LinkUSB mejoran enormemente el mecanismo de extracción activa del bus de datos 1-Wire, lo que le permite recibir señales de intercambio ideales con longitudes de cable de hasta 300 metros y el número de suscriptores esclavos de hasta 250 unidades. Además, el uso del adaptador Link por parte del procesador algoritmos especiales filtrado digital mejora en gran medida la resistencia de la red 1-Wire a la que sirve interferencia electromagnética, ruido y reflejos de señal.

Desde el punto de vista de la implementación del circuito de la interfaz 1-Wire y la estabilidad del funcionamiento como parte de redes 1-Wire problemáticas, todos los componentes esclavos 1-Wire son técnicamente diferentes entre sí desde el punto de vista del circuito, ya que se dividen en grupos:

    DS2401, DS2405 son los primeros componentes con una interfaz de 1 cable en cajas de plástico, completamente similares en diseño de circuito a los primeros modelos de "tabletas" iButton, que fueron diseñadas para funcionar con líneas cortas de 1 cable (hasta 1994).

    DS1820, DS2407P, DS2450, DS2404, DS2415, DS2417, DS1920, etc. – la segunda versión, especialmente orientada para funcionar como parte de redes 1-Wire con una red troncal larga (hasta el año 2000, ahora estos componentes están en su mayoría fuera de producción),

    DS18S20, DS18B20, DS1822, DS2406P, DS2409, DS2438, DS2890, DS1973, etc. – la tercera opción, más resistente a colisiones en redes 1-Wire en comparación con la anterior (desde 2000).

    DS2408, DS2411, DS2413, DS2422, DS2431, DS1923, DS1977, etc. - última opción, el circuito de interfaz 1-Wire de mayor éxito en términos de confiabilidad, teniendo en cuenta las peculiaridades de funcionamiento en redes ruidosas de 1-Wire (desde 2003).

El material de este artículo está tomado del sitio:

Para uno de los proyectos de automatización, fue necesario crear un dispositivo que sea un dispositivo esclavo de 1 cable, reciba comandos del maestro y establezca el valor en sus salidas. señal analógica en el rango de 0 a 10V.
Después de analizar la línea de microcircuitos estándar de 1 cable de Maxim, quedó claro que no existe ningún microcircuito que permita implementar dicha funcionalidad.
Por lo tanto, se decidió implementar un esclavo 1-Wire en un microcontrolador. Esperanza, este material será interesante y útil para las personas que lo hacen " hogar inteligente» con tus propias manos, porque 1-Wire es un bus bastante popular en este tipo de proyectos. Se eligió como piedra el microcontrolador Cortex M0+ ATSAMD20G16 de Atmel, pero hablaremos de la implementación en código en la segunda parte. Mirando un poco hacia el futuro, diré que en la tercera parte de la serie hablaremos sobre la implementación de nuestra propia familia de dispositivos para la biblioteca Linux OWFS (One Wire File System). Y hoy hablaremos de algunas soluciones de hardware a las que llegamos durante el proceso de desarrollo.

Hablaremos principalmente sobre cómo conectar una pata de microcontrolador a un bus de 1 cable con un daño mínimo para la salud. Pasaremos de lo simple a lo complejo.

Conversión de nivel


La opción más sencilla es un convertidor de nivel de transistor bidireccional. Será necesario obtener 5 V de algún lugar del lado del bus 1-Wire.
La primera opción es generar 5 V en su dispositivo (además de 3,3 V) para "alimentar" el bus. Como resultado, aumenta la complejidad del circuito.
La segunda opción es colocar el bus 1-Wire en tres cables. El tercer cable es la línea de alimentación de +5V. De los problemas - cable extra, caída de voltaje en un cable largo.

Coordinación de niveles

Si realmente no desea utilizar +5V, puede dividir la línea de señal en 2 componentes (entrada y salida)

Es importante tener en cuenta que con este esquema las líneas del lado del controlador son inversas.
Como beneficio adicional, dividir la línea de datos en 2 partes facilita la depuración del software, ya que permite ver con un osciloscopio las señales que salen de nosotros por separado (línea Transmisión de 1 cable), no mezclado con señales de otros dispositivos del bus.

Aumento de la sostenibilidad

Para que la recepción de datos a través de 1-Wire sea más confiable, es necesario realizar flancos de pulso pronunciados en el lado del microcontrolador. Para hacer esto, usaremos un comparador de TI LMV331, que proporcionará una transición más precisa y nítida entre el "0" y el "1" lógico, así como una histéresis de 160 mV. También reemplazaremos el transistor bipolar de salida BC547 por un transistor de efecto de campo IRLML6346 e instalaremos un diodo TVS protector ESD5Z6 a 6V.


Para este circuito, el comparador deberá recibir alimentación de 5 V. Dónde puede conseguirlos se mencionó anteriormente.

1 cable desacoplado

Para garantizar el aislamiento eléctrico del bus 1-Wire y electrónica interna En estos dispositivos utilizaremos un traductor de nivel aislado ADuM1201 y un convertidor CC/CC aislado TES 1-1211. Como en el caso anterior, dividimos la línea de datos 1-Wire en 2 líneas: 1W_Rx y 1W_Tx.


Se toma como ejemplo un convertidor DC/DC de 12 a 5 voltios; se puede utilizar un 3,3/5 similar;

Otros circuitos

Para completar la imagen, mostraremos el circuito para conectar el microcontrolador, así como la salida. canales analógicos 0-10V.




Porque El protocolo 1-Wire requiere una dirección única para cada dispositivo en el bus, por lo que instalamos un UID 1-Wire de Maxim DS2411 en la placa. Al ser el bus maestro del mismo, leeremos su UID y lo usaremos como nuestra propia dirección. DS2411 tiene un código de familia de 0x01 (el código de familia es el byte alto del UID). En el sitio web de OWFS, seleccionaremos un código de familia desocupado para nuestro nuevo dispositivo y reemplazaremos el primer byte.

Como ya hemos mencionado, en la segunda parte procederemos a implementación de software Protocolo esclavo de 1 cable.

1-Wire es una interfaz de baja velocidad de un solo cable desarrollada por Dallas Semiconductor (ahora una división de MAXIM) para el intercambio de datos bidireccional con varios dispositivos periféricos(sensores de temperatura, llaves electronicas, baterías).

Esta es una interfaz bastante económica y confiable para dispositivos que no requieren un intercambio rápido. un gran número datos. Le permite intercambiar datos a velocidades de hasta 15,4 kbit/s en modo normal y hasta 125 kbit/s en modo "overdrive" (en el artículo consideraremos el modo normal). Cuando se utilizan cables especiales (IEEE1394 - Firewire), la distancia de transmisión de datos puede ser de hasta 300 m.

¿Cómo está diseñada físicamente la interfaz? Sí, es muy sencillo, mira la imagen de la izquierda. Los mikrukhs están equipados con puertos de 1 cable, que constan de un receptor de alta impedancia y un transmisor en transistor de efecto de campo Con drenaje abierto, conectado a un pin común (pin de puerto de 1 cable). La corriente de fuga típica de un interruptor de campo de salida cerrada es de 5 µA. Externamente se implementa un bus de 1 hilo. Consiste en un cable de señal (por eso la interfaz se llama monocable), conectado a través de una resistencia (valor típico 5,1 kOhm) a la fuente de alimentación (al más) y un cable conectado al cable común (es decir, a el menos).

El intercambio de datos se realiza según el principio Maestro-Esclavo; por lo tanto, los dispositivos con interfaz de 1 cable son de dos tipos: "Maestro" (dispositivo maestro) y "Esclavo" (dispositivo esclavo). Como regla general, el controlador (o la computadora, a través de dispositivo especial emparejamiento) y como "esclavos": varios dispositivos periféricos.

Se pueden conectar muchos (hasta 2-48) dispositivos esclavos a un bus de 1 cable, ya que cada uno de estos dispositivos tiene un número de serie único de 48 bits que, junto con el byte "CRC" y el byte "código de familia" ( determinar el tipo de dispositivo), forma una etiqueta única de 64 bits. En el bus de 1 hilo sólo debe haber un maestro.

Los dispositivos con una interfaz de 1 cable se pueden alimentar desde una fuente independiente o desde un cable de señal. Si los dispositivos utilizan la arquitectura CMOS, entonces el rango de voltajes de suministro puede ser bastante amplio, pero cuando se conectan a un bus, el suministro de energía de todos los dispositivos debe ser aproximadamente el mismo (para que los receptores reconozcan correctamente los niveles de voltaje). Se utilizan principalmente niveles TTL (respectivamente, fuente de alimentación de cinco voltios). También me gustaría agregar que la salida implementada en la máquina de campo con baja corriente fugas: este es un afilado especial para la energía de la línea de señal. Si su dispositivo tiene alimentación externa, nadie le impide organizar un puerto de 1 cable, por ejemplo, en un transistor bipolar de colector abierto. Asimismo, una resistencia de 5,1 kOhm tampoco es un dogma; su valor puede variar dependiendo, por ejemplo, de la capacitancia de la línea.

Ahora echemos un vistazo más de cerca al mecanismo de transferencia de datos a nivel de protocolo.

En primer lugar, cabe señalar que todas las comunicaciones en el bus están controladas por el "Maestro". Sólo el maestro decide cuándo y con qué dispositivo quiere hablar y cuándo el dispositivo debe enviar o recibir el siguiente bit. Los "esclavos" se sincronizan con el "maestro" mediante la disminución de la línea de señal y luego cuentan los intervalos antes de ciertas de sus acciones mediante un contador interno. lo unico acción independiente, se le permite al “Slave” la emisión de la señal de “Presencia” (pulso de presencia), que emite inmediatamente después de conectarse al bus para indicar su presencia. Además, el “Maestro” puede generar una señal de “Reset” en el bus, después de lo cual todos los “Esclavos” en el bus deben reiniciarse y también responder al “Maestro” con la señal de “Presencia”.

Los diagramas de las señales de “Reset” y “Presencia” se muestran en la figura de la izquierda. El color azul indica el estado de actividad del “Maestro” (cuando lleva el nivel del autobús a cero), el color rojo indica el estado de actividad del “Esclavo” (cuando el “Esclavo” lleva el nivel del autobús a cero) cero), gris indica el estado en el que “Maestro” y “Esclavo” están inactivos (la señal está conectada a la fuente de alimentación a través de una resistencia).

Para que todo quede claro, describamos con palabras lo que se dibuja en esta figura. Entonces, para generar una señal de “Reset”, el “Master” debe llevar el nivel del bus a cero por un tiempo no menor a 480 μs y no mayor a 960 μs (480 μs ≤ T RSTL< 960 мкс). После этого он должен отпустить шину и, не менее, чем на 480 мкс, прекратить свою активность на шине (T RSTH >480 µs). “Esclavos”, no antes de 15 µs, pero no más tarde de 60 µs después de que el “Maestro” libere el bus (15 µs< T PDH < 60 мкс), должны сформировать на шине низкий уровень (это и есть сигнал присутствия), длительностью от 60 до 240 мкс (60 мкс < T PDL < 240 мкс), после чего они также отпускают шину.

Después de que el "Maestro", habiendo recibido la señal de "Presencia", se dio cuenta de que hay "Esclavos" en el autobús, puede comenzar el intercambio de datos con estos "Esclavos". Los datos en el bus se transmiten bit a bit, empezando por el bit menos significativo. 0 y 1 están codificados por los niveles de voltaje en el cable de señal (0 es un nivel de voltaje bajo, 1 es un nivel de voltaje alto).

Cada bit se transmite en un período de tiempo establecido llamado intervalo de tiempo. El inicio de cada franja horaria (como ya dije) lo determina el “Maestro”, tirando del autobús hasta nivel bajo. El tiempo entre franjas horarias no está regulado, es decir, un bit se puede transmitir, relativamente hablando, ahora, y el otro, digamos, después de 5 minutos, no pasará nada malo y los datos no se perderán.

El muestreo de datos por parte de “Esclavo” y “Maestro” se produce en diferentes intervalos de tiempo, en relación con el comienzo del intervalo de tiempo, por lo que consideraremos por separado las opciones para la transferencia de datos en las direcciones “Maestro” ⇒ “Esclavo” (intervalo de tiempo de grabación) y “Esclavo” ⇒ “Maestro” "(franja horaria de lectura).

El intervalo de tiempo de grabación se muestra en la figura de la izquierda. Como antes, el azul indica la actividad del "Maestro", el rojo indica la actividad del "Esclavo" y el gris indica los momentos en que la línea está conectada a la alimentación a través de una resistencia.

  1. 1 µs≤ T BAJO1<15 мкс — время, в течении которого шина притянута к нулю при передаче 1
  2. 60 µs≤ T BAJO0
  3. 60 µs≤ RANURA EN T<120 мкс — длительность тайм-слота
  4. T REC>

Déjame explicarte esta figura con un poco más de detalle. Entonces, para que el “Esclavo” reconozca el inicio del intervalo de tiempo, el “Maestro” debe mantener la señal en el bus igual a cero durante un período de tiempo T LOW1. Después de esto, pero a más tardar 15 μs desde el inicio del intervalo de tiempo, el “Master” debe configurar el nivel de señal en el bus correspondiente al bit transmitido. Es decir, si quiere transmitir 1, entonces debe liberar el bus después de un cierto período de tiempo desde el inicio del intervalo de tiempo para que la señal tenga tiempo de establecerse en uno antes del inicio de la “Ventana de muestreo”. Si el “Maestro” quiere transmitir cero, entonces simplemente debe dejar la línea trazada en cero. Durante la “Ventana de muestreo” la señal en la línea no debe cambiar, porque en cualquier momento durante este tiempo la señal puede ser leída por el “Esclavo”. La “ventana de muestreo” finaliza 60 µs desde el inicio del intervalo de tiempo. Después del final de la ventana de muestreo y antes del final del intervalo de tiempo, el “Master” debe liberar el bus para que la señal vuelva a un nivel alto. Está claro que liberar el bus es relevante solo si el "Maestro" transmitió 0, pero si transmitió 1, entonces solo necesita esperar el final del intervalo de tiempo.

El horario de lectura se muestra en la figura de la derecha.

  1. 1 µs≤ T BAJO<15мкс — время, в течении которого шина притянута к нулю
  2. T RDV=15 µs - el momento del final de la “Ventana de muestreo”
  3. 0 µs≤ T LIBERACIÓN<45 мкс — время, в течении которого «Слэйв» должен отпустить шину
  4. 60 µs≤ RANURA EN T<120 мкс — длительность тайм-слота
  5. T REC>1 μs - intervalo entre franjas horarias

Aquí todo sucede de la siguiente manera: el “Maestro” pone el autobús a cero para indicar el inicio de la franja horaria. Mientras la línea se lleva a cero, el “Esclavo” debe también llevar la línea a cero si quiere transmitir cero, o dejar la línea libre si quiere transmitir uno. Después de que el “Maestro” libera el bus (después del tiempo T LOWR), comienza la “Ventana de muestreo” y el “Maestro” puede leer el valor del bit del bus. Además, después del final de la "Ventana de muestreo", el "Esclavo" debe liberar el bus dentro del tiempo T RELEASE.

Me gustaría aclarar que el “Master” no debe leer el nivel en el bus inmediatamente después de soltarlo, sino después de un tiempo, lo cual es necesario para eliminar la influencia de la capacitancia de la línea (si el “Slave” transmite 1, entonces, debido a la presencia de esta capacidad, el voltaje no puede aumentar instantáneamente después de que el “Maestro” libera el bus). Teniendo esto en cuenta, lo más recomendable es que el Maestro haga que el período durante el cual mantiene el bus bajo sea lo más corto posible (para aumentar su ventana de muestreo) y lea los datos del bus lo más cerca posible del final del muestreo. ventana posible (así será posible trabajar con líneas de mayor capacidad).

En los propios dispositivos, los bits individuales transmitidos se recopilan en comandos, datos, etc., pero este es un nivel superior del protocolo, que no consideraremos aquí, ya que puede ser diferente en diferentes dispositivos (en consecuencia, es necesario Mírelo en la hoja de datos de un dispositivo específico).

  1. Emulación de dongle de 1 cable en ATTiny2313



Arriba