ES2908672T3 - Dispositivo de comunicación, procedimiento de comunicación, programa y sistema de comunicación - Google Patents
Dispositivo de comunicación, procedimiento de comunicación, programa y sistema de comunicación Download PDFInfo
- Publication number
- ES2908672T3 ES2908672T3 ES17724946T ES17724946T ES2908672T3 ES 2908672 T3 ES2908672 T3 ES 2908672T3 ES 17724946 T ES17724946 T ES 17724946T ES 17724946 T ES17724946 T ES 17724946T ES 2908672 T3 ES2908672 T3 ES 2908672T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- error
- preamble
- bits
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1032—Simple parity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/041—Speed or phase control by synchronisation signals using special codes as synchronising signal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Systems (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Communication Control (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
Un dispositivo de comunicación, que comprende: circuitos de transmisión y recepción configurados para la comunicación con dispositivos de comunicación externos, lo que incluye transmitir y recibir datos a través de una línea de señales de datos y transmitir una señal de reloj a través de una línea de señales de reloj; y circuitos de control configurados para detectar la aparición de un error en una señal comparando una primera secuencia de bits de una señal recibida después de un preámbulo de los datos con una segunda secuencia de bits correspondiente a un tipo de datos designado para la transmisión por el preámbulo, en el que cuando el preámbulo de los datos especifica la transmisión de una palabra de comprobación de redundancia cíclica, CRC, donde la palabra CRC incluye un testigo y una CRC-5, los circuitos de control están configurados para detectar la aparición de al menos uno de entre un error de testigo o un error CRC en función de la primera secuencia de bits, y en caso de que se detecte la aparición del error, los circuitos de transmisión y recepción están configurados para transmitir una señal de reloj durante una primera duración correspondiente a al menos un número predeterminado de bits después del preámbulo, en el que los circuitos de transmisión y recepción están configurados para transmitir una señal de comando de salida de alta velocidad de datos, HDR, o una señal de comando de reinicio de HDR después de transmitir la señal de reloj durante una segunda duración correspondiente a al menos el número de bits en la palabra CRC y después de recibir una señal de reloj adicional durante la primera duración, donde dicha primera duración tiene una longitud correspondiente a la diferencia entre el número de bits en la palabra CRC y el número de bits en los datos de lectura, en el que los circuitos de control están configurados para ignorar los datos durante al menos un período durante la transmisión de la señal de reloj adicional.
Description
DESCRIPCIÓN
Dispositivo de comunicación, procedimiento de comunicación, programa y sistema de comunicación
La presente divulgación se refiere a un dispositivo de comunicación, un procedimiento de comunicación, un programa y un sistema de comunicación y, más en particular, se refiere a un dispositivo de comunicación, un procedimiento de comunicación, un programa y un sistema de comunicación que permiten una comunicación más fiable.
Técnica anterior
En la actualidad se está utilizando de manera generalizada una interfaz (IF) de bus utilizada para la comunicación entre dispositivos a través de un bus dentro de una placa en la que están montados múltiples dispositivos, tal como, por ejemplo, un circuito interintegrado (I2C).
Además, recientemente, se demandan velocidades de I2C más rápidas y se está avanzando en el establecimiento de un Circuito Interintegrado Mejorado (I3C) como norma de próxima generación. Con I3C, un dispositivo maestro y un dispositivo esclavo son capaces de comunicarse bidireccionalmente utilizando dos líneas de señales. Por ejemplo, se realiza una transferencia de datos desde el dispositivo maestro al dispositivo esclavo (transferencia de escritura) y una transferencia de datos desde el dispositivo esclavo al dispositivo maestro (transferencia de lectura).
Por ejemplo, la literatura de patente 1 divulga un sistema de procesamiento de datos digital en el que un procesador principal y un controlador de subsistema están interconectados mediante I2C. Además, la literatura de patente 2 divulga un procedimiento para realizar un protocolo de comunicación implantado en una capa superior por encima del protocolo I2C estándar.
El documento de NXP Semiconductors “I2C-bus specification and user manual’ , describe un dispositivo que solo tiene dos líneas de bus, a saber, una línea de datos en serie (SDA) y una línea de reloj en serie (SCL).
El documento US 2015/0100711 A1 describe un sistema, procedimientos y un aparato para extraer datos y señales de reloj a partir de un bus de interfaz de control de cámara.
Lista de citas
Literatura de patentes
PTL 1: JP 2000-99448A
PTL 2: JP 2002-175269A
Resumen de la invención
Problema técnico
Por otro lado, I3C, como se describió anteriormente, estipula que entre el dispositivo maestro y el dispositivo esclavo debe realizarse, por ejemplo, una detección de errores utilizando un procedimiento tal como paridad o una comprobación de redundancia cíclica (CRC), pero también se transmiten y reciben señales para las cuales dicha detección de errores no está disponible. Por esta razón, cuando se produce un error en una señal para la cual no se dispone de detección de errores, se teme que el dispositivo maestro y el dispositivo esclavo no puedan llevar a cabo una comunicación normal.
La presente divulgación se ha diseñado a la luz de dichas circunstancias y permite llevar a cabo una comunicación de manera más fiable.
Solución al problema
De acuerdo con una primera solución, la invención proporciona un dispositivo de comunicación de acuerdo con la reivindicación independiente 1. De acuerdo con una segunda solución, la invención proporciona un procedimiento de comunicación de acuerdo con la reivindicación independiente 11. De acuerdo con una tercera solución, la invención proporciona un sistema de comunicación de acuerdo con la reivindicación independiente 12. Otras soluciones y aspectos de la invención se exponen en las reivindicaciones dependientes, los dibujos y la siguiente descripción. Todas las formas de realización que no sean las figuras 3, 4, 7 no se encuentran dentro del alcance de las reivindicaciones (pero se consideran útiles para resaltar aspectos específicos de las reivindicaciones).
Un dispositivo de comunicación de acuerdo con un primer aspecto de la presente divulgación incluye: una unidad de transmisión y recepción que transmite y recibe una señal con otro dispositivo de comunicación; una unidad de detección de errores que detecta la aparición de un error haciendo que la unidad de transmisión y recepción reciba un preámbulo que especifica un tipo de datos que se transmitirán a continuación y comparando una secuencia de bits de una señal recibida después del preámbulo con una secuencia de bits que debería transmitirse para el tipo especificado para la transmisión por el preámbulo; y una unidad de evitación de conflictos que, si la unidad de detección de errores
detecta la aparición de un error, indica a la unidad de transmisión y recepción que transmita una señal de reloj correspondiente a un determinado número de bits después del preámbulo y que, a continuación, transmita una señal de interrupción que proporciona una instrucción para finalizar la comunicación parcialmente.
Un procedimiento o un programa de comunicación de acuerdo con el primer aspecto de la presente divulgación incluye: transmitir y recibir una señal con otro dispositivo de comunicación; detectar la aparición de un error haciendo que se reciba un preámbulo que especifica un tipo de datos que se transmitirán a continuación y comparando una secuencia de bits de una señal recibida después del preámbulo con una secuencia de bits que debería transmitirse para el tipo especificado para la transmisión por el preámbulo; y si se detecta la aparición de un error, transmitir una señal de reloj correspondiente a un determinado número de bits después del preámbulo y, a continuación, transmitir una señal de interrupción que proporciona una instrucción para finalizar la comunicación parcialmente.
En el primer aspecto de la presente divulgación, la transmisión y recepción de una señal se realiza con otro dispositivo de comunicación, y la aparición de un error se detecta haciendo que se reciba un preámbulo que especifica un tipo de datos que se transmitirán a continuación y comparando una secuencia de bits de una señal recibida después del preámbulo con una secuencia de bits que debería transmitirse para el tipo especificado para la transmisión por el preámbulo. A continuación, si se detecta la aparición de un error, se transmite una señal de reloj correspondiente a un determinado número de bits después del preámbulo y, a continuación, se transmite una señal de interrupción que proporciona una instrucción para finalizar la comunicación parcialmente.
Un sistema de acuerdo con un segundo aspecto de la presente divulgación incluye: un primer dispositivo de comunicación que tiene una iniciativa de control en un bus; y un segundo dispositivo de comunicación que lleva a cabo una comunicación bajo el control del primer dispositivo de comunicación. El primer dispositivo de comunicación incluye una unidad de transmisión y recepción que transmite y recibe una señal con el segundo dispositivo de comunicación, una unidad de detección de errores que detecta la aparición de un error haciendo que la unidad de transmisión y recepción reciba un preámbulo que especifica un tipo de datos que se transmitirán a continuación y comparando una secuencia de bits de una señal recibida después del preámbulo con una secuencia de bits que debería transmitirse para el tipo especificado para la transmisión por el preámbulo, y una unidad de evitación de conflictos que, si la unidad de detección de errores detecta la aparición de un error, indica a la unidad de transmisión y recepción que transmita una señal de reloj correspondiente a un determinado número de bits después del preámbulo y que, a continuación, transmita una señal de interrupción que proporciona una instrucción para finalizar la comunicación parcialmente.
En el segundo aspecto de la presente divulgación, la comunicación se lleva a cabo mediante un primer dispositivo de comunicación que tiene una iniciativa de control en un bus y un segundo dispositivo de comunicación que se comunica de acuerdo con el control del primer dispositivo de comunicación. Además, en el primer dispositivo de comunicación, las señales se transmiten y reciben hacia y desde el segundo dispositivo de comunicación, se recibe un preámbulo que especifica el tipo de datos que se transmitirán a continuación, y la aparición de un error se detecta comparando la secuencia de bits de la señal recibida después del preámbulo con la secuencia de bits que debería transmitirse para el tipo especificado para la transmisión por el preámbulo. Posteriormente, si se detecta la aparición de un error, tras transmitirse una señal de reloj correspondiente a un determinado número de bits después del preámbulo, se transmite una señal de interrupción que proporciona una instrucción para finalizar la comunicación parcialmente.
Efectos ventajosos de la invención
De acuerdo con el primer y segundo aspecto de la presente divulgación, la comunicación puede llevarse a cabo de forma más fiable.
Breve descripción de los dibujos
La Fig. 1 es un diagrama de bloques que ilustra una configuración de ejemplo de una forma de realización de una IF de bus que aplica la presente tecnología.
La Fig. 2 es un diagrama que explica un error de conflicto.
La Fig. 3 es un diagrama que ilustra un ejemplo de un formato que evita un error de conflicto.
La Fig. 4 es un diagrama de flujo que explica un proceso de comunicación en un modo DDR de un dispositivo maestro. La Fig. 5 es un diagrama de circuito que ilustra una configuración de ejemplo de un dispositivo maestro.
La Fig. 6 es un diagrama que ilustra otro ejemplo de un formato que evita un error de conflicto.
La Fig. 7 es un diagrama que ilustra otro ejemplo de un formato que evita un error de conflicto.
La Fig. 8 es un diagrama de bloques que ilustra una configuración de ejemplo de una forma de realización de un ordenador que aplica la presente tecnología.
Descripción de formas de realización
A continuación en el presente documento, formas de realización específicas que aplican la presente tecnología se describirán en detalle con referencia a los dibujos.
<Configuración de ejemplo de IF de bus>
La Fig. 1 es un diagrama de bloques que ilustra una configuración de ejemplo de una forma de realización de una IF de bus que aplica la presente tecnología.
La IF de bus 11 ilustrada en la Fig. 1 está compuesta de un dispositivo maestro 12 y tres dispositivos esclavos 13-1 a 13-3 conectados entre sí a través de una línea de señales de datos 14-1 y una línea de señales de reloj 14-2.
El dispositivo maestro 12 tiene iniciativa de control en la IF de bus 11 y es capaz de comunicarse con los dispositivos esclavos 13-1 a 13-3 a través de la línea de señales de datos 14-1 y la línea de señales de reloj 14-2.
Los dispositivos esclavos 13-1 a 13-3, bajo el control del dispositivo maestro 12, pueden comunicarse con el dispositivo maestro 12 a través de la línea de señales de datos 14-1 y la línea de señales de reloj 14-2. Cabe señalar que los dispositivos esclavos 13-1 a 13-3 están configurados de manera similar entre sí y, en lo sucesivo, se designarán simplemente como el dispositivo esclavo 13 cuando no se distingan individualmente. Esto se aplica asimismo a los bloques respectivos que constituyen el dispositivo esclavo 13.
La línea de señales de datos 14-1 y la línea de señales de reloj 14-2 se utilizan para transmitir señales entre el dispositivo maestro 12 y el dispositivo esclavo 13. Por ejemplo, en la IF de bus 11, los datos en serie (SDA) se transmiten secuencialmente bit a bit a través de la línea de señales de datos 14-1, mientras que una señal de reloj en serie (SCL) de una determinada frecuencia se transmite a través de la línea de señales de reloj 14-2.
Además, en la IF de bus 11, múltiples esquemas de transmisión con diferentes velocidades de comunicación se estipulan de acuerdo con la norma I3C, y el dispositivo maestro 12 puede conmutar entre estos esquemas de transmisión. Por ejemplo, en la IF de bus 11, dependiendo de la velocidad de transferencia de datos, se estipula un modo de velocidad de datos estándar (SDR) en el que la comunicación de datos se lleva a cabo a una velocidad de transferencia estándar y un modo de alta velocidad de datos (HDR) en el que la comunicación de datos se lleva a cabo a una velocidad de transferencia más alta que en el modo SDR. Además, en el modo HDR, la norma define tres modos, a saber, un modo de doble velocidad de datos (DDR), un modo de bus puro de símbolos ternarios (TSP) y un modo de bus inclusivo y heredado de símbolos ternarios (TSL). Cabe señalar que en la IF de bus 11, se estipula que la comunicación se lleva a cabo en modo SDR al iniciar la comunicación.
El maestro 12 está provisto de una unidad de transmisión y recepción 21, una unidad de detección de errores 22, una unidad de detección de señales de confirmación 23 y una unidad de evitación de conflictos 24.
La unidad de transmisión y recepción 21 transmite y recibe señales hacia y desde el dispositivo esclavo 13 a través de la línea de señales de datos 14-1 y la línea de señales de reloj 14-2. Por ejemplo, la unidad de transmisión y recepción 21 transmite una señal al dispositivo esclavo 13 activando la línea de señales de datos 14-1 (cambiando el potencial eléctrico al nivel H o nivel L) de acuerdo con los tiempos de la señal de reloj en serie transmitida activando la línea de señales de reloj 14-2. Además, la unidad de transmisión y recepción 21 recibe una señal transmitida desde el dispositivo esclavo 13 como resultado de que el dispositivo esclavo 13 activa la línea de señales de datos 14-1 de acuerdo con los tiempos de la señal de reloj en serie en la línea de señales de reloj 14-2. Cabe señalar que la activación de la línea de señales de reloj 14-2 se lleva a cabo continuamente por el lado de dispositivo maestro 12.
La unidad de detección de errores 22 detecta un error que se produce en una señal recibida por la unidad de transmisión y recepción 21. Por ejemplo, la unidad de detección de errores 22 es capaz de detectar un error realizando una comprobación tal como una comprobación de paridad o una comprobación de redundancia cíclica (CRC) en una señal recibida por la unidad de transmisión y recepción 21, o confirmando un testigo emitido al cambiar la transmisión desde el dispositivo esclavo 13 al dispositivo maestro 12. Además, cuando la unidad de detección de errores 22 detecta que se está produciendo un error en una señal recibida por la unidad de transmisión y recepción 21, por ejemplo, la unidad de detección de errores 22 es capaz de indicar a la unidad de transmisión y recepción 21 que reinicie la comunicación con el dispositivo esclavo 13 desde el principio.
Por ejemplo, entre dos bits de paridad incluidos en los datos transmitidos desde el dispositivo esclavo 13, la unidad de detección de errores 22 puede tratar uno como paridad par y el otro como paridad impar, y detectar la aparición de un error realizando una comprobación de paridad en los datos recibidos por la unidad de transmisión y recepción 21. En consecuencia, incluso si se produce un estado en el que la línea de señales de datos 14-1 no es activada por el dispositivo maestro 12 o el dispositivo esclavo 13, la unidad de detección de errores 22 aún puede detectar si los datos son correctos o no.
La unidad de detección de señales de confirmación 23 detecta una señal de acuse de recibo (ACK) o una señal de acuse de recibo negativo (NACK) transmitida desde el dispositivo esclavo 13 que recibe una señal transmitida desde la unidad de transmisión y recepción 21 y, por lo tanto, confirma si el dispositivo esclavo 13 recibió con éxito información, tal como un comando o datos. Por ejemplo, en la IF de bus 11, se estipula que cuando no se produce un error en la señal y el dispositivo esclavo 13 recibe con éxito información, tal como un comando o datos, se debe transmitir un ACK desde el dispositivo esclavo 13 al dispositivo maestro 12. Además, en la IF de bus 11, se estipula
que cuando se produce un error en la señal y el dispositivo esclavo 13 no recibe información, tal como un comando o datos, se debe transmitir un NACK desde el dispositivo esclavo 13 al dispositivo maestro 12.
En consecuencia, en caso de detectar un ACK transmitido desde el dispositivo esclavo 13 en respuesta a información, tal como un comando o datos, transmitida desde el dispositivo maestro 12, la unidad de detección de señales de confirmación 23 puede confirmar que el dispositivo esclavo 13 ha recibido con éxito la información, tal como un comando o datos. Por otro lado, en caso de detectar un NACK transmitido desde el dispositivo esclavo 13 en respuesta a información, tal como un comando o datos, transmitida desde el dispositivo maestro 12, la unidad de detección de señales de confirmación 23 puede confirmar que el dispositivo esclavo 13 no ha recibido la información, tal como un comando o datos.
Con respecto a la unidad de evitación de conflictos 24, tal como se describe posteriormente con referencia a la Fig. 3, por ejemplo, cuando la unidad de transmisión y recepción 21 recibe un preámbulo con una instrucción para transmitir una palabra CRC y la unidad de detección de errores 22 detecta la aparición de un error de testigo o un error CRC en la señal recibida después del preámbulo, tras transmitirse una señal de reloj correspondiente a un determinado número de bits después del preámbulo, la unidad de evitación de conflictos 24 indica a la unidad de transmisión y recepción 21 que transmita una señal de interrupción que proporciona una instrucción para finalizar la comunicación parcialmente. En consecuencia, la unidad de evitación de conflictos 24 puede evitar la aparición de un conflicto debido a datos de lectura transmitidos desde el dispositivo esclavo 13 y un comando de salida de HDR transmitido desde el dispositivo maestro 12, por ejemplo.
Además, si la unidad de detección de señales de confirmación 23 detecta un NACK, por ejemplo, después de ignorar un determinado número de bits después del NACK, la unidad de evitación de conflictos 24 indica a la unidad de transmisión y recepción 21 que transmita una señal de interrupción que proporciona una instrucción para finalizar la comunicación parcialmente. En consecuencia, la unidad de evitación de conflictos 24 puede evitar la aparición de un conflicto debido a datos de lectura transmitidos desde el dispositivo esclavo 13 y un comando de salida de HDR transmitido desde el dispositivo maestro 12, por ejemplo.
El dispositivo esclavo 13 está provisto de una unidad de transmisión y recepción 31 y de una unidad de detección de errores 32.
La unidad de transmisión y recepción 31 transmite y recibe señales hacia y desde el dispositivo maestro 12 a través de la línea de señales de datos 14-1 y la línea de señales de reloj 14-2. Por ejemplo, la unidad de transmisión y recepción 31 recibe una señal transmitida desde el dispositivo maestro 12 como resultado de que el dispositivo maestro 12 activa la línea de señales de datos 14-1 de acuerdo con los tiempos de la señal de reloj en serie en la línea de señales de reloj 14-2. Además, la unidad de transmisión y recepción 31 transmite al dispositivo maestro 12 activando la línea de señales de datos 14-1 de acuerdo con los tiempos de la señal de reloj en serie en la línea de señales de reloj 14-2.
La unidad de detección de errores 32 detecta un error que se produce en una señal recibida por la unidad de transmisión y recepción 31, de manera similar a la unidad de detección de errores 22 del dispositivo maestro 12. Además, cuando no se produce un error en una señal recibida por la unidad de transmisión y recepción 31, la unidad de detección de errores 32 hace que la unidad de transmisión y recepción 31 transmita al dispositivo maestro 12 un ACK que informa al dispositivo maestro 12 que la información transmitida por la señal, tal como un comando o datos, se ha recibido con éxito. Por otro lado, cuando se produce un error en una señal recibida por la unidad de transmisión y recepción 31, la unidad de detección de errores 32 hace que la unidad de transmisión y recepción 31 transmita al dispositivo maestro 12 un NACK que notifica al dispositivo maestro 12 que la información transmitida por la señal, tal como un comando o datos, no se ha recibido.
Además, cuando se produce un error en una señal recibida por la unidad de transmisión y recepción 31, y la comunicación normal no está disponible, por ejemplo, la unidad de detección de errores 32 hace que el dispositivo esclavo 13 ignore toda comunicación posterior, deje de responder al dispositivo maestro 12 y entre en un estado de espera.
En la IF de bus 11 configurada como se indicó anteriormente, el dispositivo maestro 12 y el dispositivo esclavo 13 son capaces de transmitir y recibir señales a través de la línea de señales de datos 14-1 y la línea de señales de reloj 14 2, y son capaces de comunicarse de manera más fiable evitando la aparición de conflictos con la unidad de evitación de conflictos 24.
<Explicación de la aparición de conflictos>
En este punto, antes de describir una técnica para evitar la aparición de un conflicto con la unidad de evitación de conflictos 24, la aparición de un conflicto se describirá con referencia a la Fig. 2.
En la IF de bus 11, se estipula que durante el modo DDR se utiliza una señal de 2 bits, denominada preámbulo, para especificar el tipo de datos que se transmitirán a continuación. Sin embargo, dado que la detección de errores por
paridad o CRC no está disponible para el preámbulo, si se produce un error en el preámbulo, es posible que no se detecte el error.
Por ejemplo, en el preámbulo después de que el dispositivo esclavo 13 transmita datos de lectura de acuerdo con un comando de lectura con una instrucción para leer datos del dispositivo maestro 12, se estipula que el primer bit es activado por el dispositivo esclavo 13, mientras que el segundo bit se mantiene en el nive1H (High-Keeper). Además, con el primer bit, el dispositivo esclavo 13 puede notificar al dispositivo maestro 12 que a continuación va a transmitirse uno de entre una palabra CRC o datos de lectura. Por ejemplo, en caso de transmitir una palabra CRC después del preámbulo, se estipula que el primer bit del preámbulo después de transmitir los datos de lectura se activa con valor 0. Por otro lado, en caso de transmitir datos de lectura después del preámbulo, se estipula que el primer bit del preámbulo después de transmitir los datos de lectura se activa con valor 1.
Sin embargo, si se produce un error de 1 bit en el primer bit de este preámbulo y el valor del bit está invertido, por ejemplo, el dispositivo maestro 12 reconoce erróneamente los datos de lectura que se transmiten a continuación y una palabra CRC que se transmite a continuación.
En otras palabras, tal como se ilustra en la parte superior de la Fig. 2, en caso de transmitir datos de lectura, el dispositivo esclavo 13 establece el primer bit del preámbulo en 1 y transmite los datos de lectura (datos DDR) después del preámbulo. Cabe señalar que en la Fig. 2, la parte con sombreando en gris aplicado representa la parte activada por el dispositivo esclavo 13, mientras que la parte con sombreado en diagonal aplicado representa la parte mantenida en el nivel H.
Por el contrario, en un caso en el que se produce un error de 1 bit en el primer bit del preámbulo y el primer bit del preámbulo pasa a tener valor 0, tal como se ilustra en la parte inferior de la Fig. 2, el dispositivo maestro 12 reconoce erróneamente que se debe transmitir una palabra CRC (CRC DDR) desde el dispositivo esclavo 13. En consecuencia, en este caso, el dispositivo maestro 12, después de recibir 10 bits correspondientes a la palabra CRC (Testigo (0xC), CRC5 y Preparar=Configurar), transmite un comando de salida de HDR (Salida de HDR) con una instrucción para finalizar la comunicación en modo HDR.
Como resultado, existe el riesgo de que (la segunda mitad de) los datos de lectura transmitidos desde el dispositivo esclavo 13 y el comando de salida de HDR transmitido desde el dispositivo maestro 12 puedan entrar en conflicto. En consecuencia, posteriormente, es factible que a pesar de que el dispositivo maestro 12 ha transmitido el comando de salida de HDR, el dispositivo esclavo 13 no puede recibir correctamente el comando de salida de HDR y, por lo tanto, no puede salir del modo HDR y la IF de bus 11 se bloquea, lo que da como resultado un estado en el que la comunicación no está disponible.
Por consiguiente, en la IF de bus 11, si el dispositivo maestro 12 ha recibido un preámbulo que especifica la transmisión de una palabra CRC, pero la señal recibida después del preámbulo no coincide con la palabra CRC (es decir, si se produce un error de testigo o un error CRC), se infiere que se ha producido un error de 1 bit en el preámbulo. Además, en este caso, se estipula que el dispositivo maestro 12, después de transmitir una señal reloj adicional de un determinado número de bits después de la palabra CRC, transmite una señal de interrupción que proporciona una instrucción para finalizar la comunicación parcialmente. Como resultado, incluso si se produce un error de 1 bit como el anterior, es posible evitar la aparición de un conflicto entre los datos de lectura transmitidos desde el dispositivo esclavo 13 y un comando de salida de HDR transmitido desde el dispositivo maestro 12.
<Explicación de la evitación de conflictos>
La Fig. 3 ilustra un formato en el que, en la IF de bus 11, el dispositivo maestro 12 añade una señal de reloj para la prevención de conflictos para evitar un conflicto debido a la aparición de un error de 1 bit en el primer bit del preámbulo después de que se transmitan los datos de lectura.
Tal como se ilustra en la Fig. 3, en la IF de bus 11, si el dispositivo maestro 12 infiere que se produjo un error en el preámbulo que sigue a los datos de lectura (datos DDR) transmitidos desde el dispositivo esclavo 13, se estipula que el dispositivo maestro 12 transmite una señal de reloj adicional de 9 bits correspondiente a la diferencia entre la palabra CRC y los datos de lectura. Además, se ignoran los datos recibidos durante la transmisión de la señal de reloj adicional.
En otras palabras, tal como se describe con referencia a la Fig. 2, supóngase que se produce un error de 1 bit en el primer bit del preámbulo después de los datos de lectura e incluso que aunque el dispositivo esclavo 13 transmite datos de lectura, el dispositivo maestro 12 reconoce erróneamente que se debe transmitir una palabra CRC. En este caso, el dispositivo maestro 12 detecta que se produce un error de testigo o un error CRC en los 9 bits correspondientes a la palabra CRC y es capaz de inferir que estos errores se deben a la aparición de un error de 1 bit en el preámbulo.
En este punto, en la IF de bus 11, se estipula que el dispositivo esclavo 13 recibe un comando de lectura (CMD de lectura) y transmite datos de lectura de 18 bits (datos DDR) después del preámbulo posterior. Además, en la IF de bus 11, se estipula que en el preámbulo tras transmitir los datos de lectura desde el dispositivo esclavo 13, el primer bit es activado por el dispositivo esclavo 13, mientras que el segundo bit es activado por el dispositivo maestro 12. Además,
en la IF de bus 11, el caso en el que el segundo bit del preámbulo es 0 se estipula como una señal de interrupción que proporciona una instrucción desde el dispositivo maestro 12 al dispositivo esclavo 13 para realizar una interrupción maestra que finaliza la comunicación parcialmente. Cabe señalar que para realizar de manera fiable la interrupción maestra, el dispositivo maestro 12 activa continuamente el segundo bit del preámbulo transmitido y recibido después de los datos de lectura.
En consecuencia, tal como se ilustra en la Fig. 3, cuando el segundo bit del preámbulo que sigue a la señal de reloj adicional se activa con valor 0, el dispositivo esclavo 13 detecta que se ha transmitido una señal de interrupción desde el dispositivo maestro 12 y puede interrumpir la transmisión de los datos de lectura. Como resultado, si el dispositivo maestro 12 transmite un comando de salida de HDR (Salida de HDR) después del preámbulo, el dispositivo esclavo 13 puede salir del modo HDR de acuerdo con el comando de salida de HDR. Después, el dispositivo maestro 12 y el dispositivo esclavo 13 reinician la comunicación desde el modo SDR.
En otras palabras, en caso de detectar un error de testigo o un error CRC, el dispositivo maestro 12 infiere un error de preámbulo. Posteriormente, tal como se ilustra en la Fig. 2, el dispositivo maestro 12 no transmite el comando de salida de HDR justo después de transmitir la palabra CRC, sino que, en cambio, tal como se ilustra en la Fig. 3, transmite una señal de reloj adicional después de la palabra CRC, transmite el preámbulo después de la señal de reloj adicional y, a continuación, transmite el comando de salida de HDR.
Como resultado, incluso si el dispositivo maestro 12 detecta que el primer bit es 0 en el preámbulo después de recibir los datos de lectura, el dispositivo maestro 12 puede evitar la aparición de un conflicto tal como se describe con referencia a la Fig. 2. En otras palabras, incluso si el preámbulo mediante el cual el dispositivo esclavo 13 transmite datos de lectura se reconoce erróneamente como el preámbulo mediante el cual el dispositivo maestro 12 transmite una palabra CRC, es posible evitar que la IF de bus 11 se bloquee y llevar a cabo la comunicación de manera más fiable.
<Procedimiento de comunicación que evita la aparición de conflictos>
La Fig.4 es un diagrama de flujo que explica un proceso de comunicación (lectura DDR) mediante el cual el dispositivo maestro 12 lee datos del dispositivo esclavo 13 en modo DDR, que es uno de los modos HDR.
En la etapa S11, el dispositivo maestro 12 lleva a cabo un proceso para cambiar la comunicación del modo SDR al modo HDR. Específicamente, en el dispositivo maestro 12, la unidad de transmisión y recepción 21 activa la línea de señales de datos 14-1 y la línea de señales de reloj 14-2, y en el modo SDR transmite un comando de difusión amplia (0x7E+R/W=0) que indica que se transmitirá a la vez un comando a todos los dispositivos esclavos 13 que constituyen la IF de bus 11. Después, en el dispositivo maestro 12, cuando la unidad de detección de señales de confirmación 23 recibe un ACK transmitido desde cada dispositivo esclavo 13 para confirmar que el comando de difusión amplia se ha recibido con éxito, la unidad de transmisión y recepción 21 transmite un código de comando común para entrar en el modo HDR (ENTHDR CCC(0x20)).
En la etapa S12, la unidad de transmisión y recepción 21 del dispositivo maestro 12 activa la línea de señales de datos 14-1 y la línea de señales de reloj 14-2 para transmitir un comando de lectura.
En la etapa S13, la unidad de transmisión y recepción 21 recibe datos de lectura transmitidos desde el dispositivo esclavo 13 en respuesta al comando de lectura transmitido en la etapa S12 y, además, también recibe un preámbulo transmitido después de los datos de lectura.
En la etapa S14, la unidad de transmisión y recepción 21 determina si el preámbulo recibido en la etapa S13 especifica la transmisión de datos de lectura o una palabra CRC.
En la etapa S14, si la unidad de transmisión y recepción 21 determina que el preámbulo especifica la transmisión de datos de lectura, el proceso vuelve a la etapa S13 y, posteriormente, se repite un proceso similar. Por otro lado, en la etapa S14, si la unidad de transmisión y recepción 21 determina que el preámbulo especifica la transmisión de una palabra CRC, el proceso avanza hasta la etapa S15.
En la etapa S15, la unidad de transmisión y recepción 21 recibe una señal transmitida después del preámbulo recibido en la etapa S13, y la unidad de detección de errores 22 determina si se está produciendo o no un error en la señal.
En la etapa S15, si la unidad de detección de errores 22 determina que se está produciendo un error en la señal transmitida después del preámbulo que especifica la transmisión de una palabra CRC, el proceso avanza hasta la etapa S16. En otras palabras, en este caso, si la unidad de detección de errores 22 detecta un error de testigo o un error CRC, la unidad de evitación de conflictos 24 infiere que se ha producido un error en el preámbulo.
En la etapa S16, la unidad de detección de errores 22 transmite una señal de reloj adicional tal como se describe con referencia a la Fig. 3 y, después, indica a la unidad de transmisión y recepción 21 que transmita una señal de interrupción que proporciona una instrucción para finalizar la comunicación parcialmente. De manera correspondiente,
la unidad de transmisión y recepción 21 transmite una señal de interrupción al dispositivo esclavo 13 después de transmitir la señal de reloj adicional.
Después del procesamiento en la etapa S16, la unidad de transmisión y recepción 21 transmite un comando de salida de HDR después de la señal de reloj adicional. Además, incluso en el caso de determinar que no se está produciendo un error en la etapa S15, la unidad de transmisión y recepción 21 transmite, en la etapa S17, un comando de salida de HDR. En consecuencia, finaliza el proceso de comunicación de lectura de datos del dispositivo esclavo 13 (lectura DDR) en modo DDR por parte del dispositivo maestro 12.
Como se indicó anteriormente, en la IF de bus 11, incluso si se produce un error de 1 bit en el preámbulo que proporciona una instrucción para transmitir datos de lectura transmitidos por el dispositivo esclavo 13, es posible evitar la aparición de un conflicto y llevar a cabo la comunicación de manera más fiable.
<Diagrama de circuito del dispositivo maestro>
A continuación, la Fig. 5 es un diagrama de circuito que ilustra una configuración de ejemplo del dispositivo maestro 12. Tal como se ilustra en la Fig. 5, el dispositivo maestro 12 está provisto de una unidad de control de activación de SCL 51, una unidad de amplificación 52, una unidad de mantenimiento de nivel H 53, una unidad de amplificación 54, una unidad de conversión en serie 55, un detector de errores de conflicto 56, un detector de errores de paridad 57, una unidad de detección de errores CRC558, una unidad de conversión en paralelo 59, un detector de errores de testigo 60, un detector de ACK/NACK 61, un detector de errores de preámbulo 62 y una máquina de estados finitos (FSM) 63.
La unidad de control de activación de SCL 51, después de una señal a una frecuencia que actúa como una salida de referencia de la máquina de estados 63, genera una señal de reloj en serie que proporcionar al dispositivo esclavo 13 a través de la línea de señales de reloj 14-2 y controla la activación de la línea de señales de reloj 14-2.
La unidad de amplificación 52 amplifica la señal de reloj generada por la unidad de control de activación de SCL 51 hasta un determinado nivel necesario para su transmisión a través de la línea de señales de reloj 14-2, y la proporciona a la línea de señales de reloj 14-2.
La unidad de mantenimiento de nivel H 53 mantiene el nivel de la línea de señales de datos 14-1 en el nive1H. La unidad de amplificación 54 amplifica y proporciona los datos en serie transmitidos a través de la línea de señales de datos 14-1 hasta un determinado nivel y amplifica los datos en serie transmitidos a través de la línea de señales de datos 14-1 hasta un nivel necesario para su procesamiento interno dentro del dispositivo maestro 12.
La unidad de conversión en serie 55 convierte y proporciona datos en paralelo proporcionados por la máquina de estados 63 como datos en serie.
El detector de errores de conflicto 56 compara datos en serie proporcionados por la unidad de conversión en serie 55 con datos en serie transmitidos a través de la línea de señales de datos 14-1 y, por lo tanto, detecta un error de conflicto en la línea de señales de datos 14-1.
El detector de errores de paridad 57, que utiliza bits de paridad añadidos para detectar un error de bits en función de la paridad par o impar, detecta un error en los datos en serie transmitidos a través de la línea de señales de datos 14 1 y notifica el resultado de detección de errores a la máquina de estados 63.
La unidad de detección de errores CRC558 corresponde a la unidad de detección de errores 22 en la Fig. 1, y mediante el uso de datos de 5 bits añadidos para detectar un error de bits en función de una CRC, detecta un error en los datos en serie transmitidos a través de la línea de señales de datos 14-1 y notifica el resultado de la detección de errores a la máquina de estados 63.
La unidad de conversión en paralelo 59 convierte y proporciona datos en serie transmitidos a través de la línea de señales de datos 14-1 como datos en paralelo.
El detector de errores de testigo 60 corresponde a la unidad de detección de errores 22 en la Fig. 1, y mediante la comprobación de la secuencia de bits de un testigo incluido en los datos en paralelo convertidos por la unidad de conversión en paralelo 59, detecta si se ha producido o no un error en el testigo y notifica el resultado de la detección de errores a la máquina de estados 63.
El detector de ACK/NACK 61 corresponde a la unidad de detección de señales de confirmación 23 de la Fig. 1, detecta a partir de los datos en paralelo convertidos por la unidad de conversión en paralelo 59 un ACK o un NACK transmitido desde el dispositivo esclavo 13 y notifica el resultado de detección (ACK/NACK) a la máquina de estados 63.
El detector de errores de preámbulo 62 detecta si se ha producido o no un error en el preámbulo incluido en los datos en paralelo convertidos por la unidad de conversión en paralelo 59 y notifica el resultado de la detección de errores a la máquina de estados 63.
La máquina de estados 63 es un circuito secuencial cuyo siguiente estado se determina de acuerdo con una condición de entrada y el estado actual, y funciona como la unidad de transmisión y recepción 21 y la unidad de evitación de conflictos 24 de la Fig. 1, por ejemplo. En otras palabras, la máquina de estados 63 toma los resultados de detección de errores de la unidad de detección de errores CRC558 y del detector de errores de testigo 60 como entradas, y si no se ha producido ni un error de testigo ni un error CRC, entra en un estado que finaliza con normalidad el modo HDR. Por otro lado, si se ha producido un error de testigo y un error CRC, la máquina de estados 63 transmite una señal de reloj adicional después de la palabra CRC y entra en un estado de transmisión de una señal de interrupción con el segundo bit del preámbulo posterior.
El dispositivo maestro 12 se configura de esta manera y, como se describió anteriormente, incluso si el preámbulo que proporciona una instrucción para la transmisión de datos de lectura transmitidos por el dispositivo esclavo 13 se reconoce erróneamente como el preámbulo mediante el cual se transmite una palabra CRC, es posible evitar que la IF de bus 11 se bloquee y llevar a cabo la comunicación de manera más fiable.
Sin embargo, en la IF de bus 11, cuando se prescribe que el número de bits en una palabra CRC es de 9 bits (un testigo de 4 bits y una CRC5 de 5 bits), diferente del número de bits en los datos de lectura (18 bits), se produce un conflicto como se describió anteriormente. Por consiguiente, por ejemplo, al estipular un formato en el que el número de bits en una palabra CRC pasa a ser los mismos 18 bits que el número de bits en los datos de lectura, se puede evitar la aparición de un conflicto.
En otras palabras, tal como se ilustra en la Fig. 6, la alineación de palabras se realiza adoptando como formato de la palabra CRC un formato en el que 9 bits reservados se han insertado entre el testigo (Testigo(0xC)) y la CRC5. Por lo tanto, ya no es necesario transmitir una señal de reloj adicional. El número de bits reservados corresponde a la diferencia entre el número de bits en el testigo y la CRC5 (9 bits) y el número de bits en los datos de lectura (18 bits). Además, incluso en caso de utilizar una palabra CRC en dicho formato, si el dispositivo maestro 12 detecta cualquiera de entre un error de testigo, un error CRC y la recepción de una palabra CRC de una determinada longitud o menor después de recibir un preámbulo con una secuencia de bits de 0 y 1, con el fin de suspender el funcionamiento del dispositivo esclavo 13 de forma segura, el dispositivo maestro 12 puede posteriormente finalizar la comunicación de manera similar a una interrupción maestra normal.
Además, tal como se ilustra en la Fig. 6, la comunicación se puede finalizar de forma segura y temprana haciendo que la activación de la línea de señales de datos 14-1 pase del dispositivo esclavo 13 al dispositivo maestro 12 de acuerdo con el bit justo después de la recepción de la palabra CRC.
Cabe señalar que, aunque la forma de realización descrita anteriormente con referencia a la Fig. 3 describe un ejemplo en el que el dispositivo maestro 12 transmite un comando de salida de HDR después de un preámbulo tras transmitirse una señal de reloj adicional, la configuración no se limita a la transmisión del comando de salida de HDR, siempre y cuando se pueda evitar el conflicto y se pueda recuperar la comunicación.
Por ejemplo, tal como se ilustra en la Fig. 7, después del preámbulo tras transmitirse una señal de reloj adicional, en lugar del comando de salida de HDR de la Fig. 3, el dispositivo maestro 12 puede transmitir un comando de reinicio de HDR (reinicio de HDR) que proporciona una instrucción para reiniciar la comunicación en modo HDR. De esta manera, en la IF de bus 11, después de que la comunicación finalice parcialmente de acuerdo con una interrupción maestra, la comunicación se puede reanudar con el comando de reinicio de HDR.
Cabe señalar que, por ejemplo, la unidad de evitación de conflictos 24 también puede inferir que se ha producido un error si la unidad de transmisión y recepción 21 recibe una palabra CRC en lugar de recibir datos de lectura de una determinada longitud, e indicar a la unidad de transmisión y recepción 21 que transmita una señal de interrupción después de transmitir una señal de reloj adicional como se describió anteriormente.
Cabe señalar que la presente tecnología no se limita a una IF de bus 11 que se ajusta a la norma I3C, y también se puede aplicar a una IF de bus 11 que se ajusta a otra norma. Además, en la IF de bus 11 ilustrada en la Fig. 1, se ilustra una configuración de ejemplo en la que dispositivos esclavos 13-1 a 13-3 están conectados, pero también puede haber uno o dos dispositivos esclavos 13, o tres o más dispositivos esclavos 13, por ejemplo.
Debe apreciarse que las operaciones descritas con referencia al diagrama de flujo descrito anteriormente no se limitan a procesarse en una serie de tiempo siguiendo el orden representado en el diagrama de flujo, sino que también se pueden procesar en paralelo o individualmente (tal como mediante procesamiento paralelo o procesamiento orientado a objetos, por ejemplo). Además, mientras que el programa puede procesarse por una única CPU, el programa también puede procesarse de manera distribuida por una pluralidad de CPU.
Además, en esta memoria descriptiva, el término "sistema" representa la totalidad de un aparato compuesto por una pluralidad de aparatos.
Además, la serie de operaciones anterior se puede ejecutar en hardware y también se puede ejecutar en software. En caso de ejecutarse la serie de operaciones en software, un programa que constituye dicho software puede instalarse desde un medio de grabación de programas que almacena el programa en un ordenador integrado en hardware de propósito especial o, de manera alternativa, en un ordenador capaz de ejecutar diversas funciones mediante la instalación de diversos programas en el mismo, tal como un ordenador personal de propósito general, por ejemplo.
<Ejemplo de configuración de hardware>
La Fig. 8 es un diagrama de bloques que ilustra una configuración de hardware ejemplar de un ordenador que ejecuta la serie anterior de procesos de acuerdo con un programa.
En el ordenador, una unidad de procesamiento central (CPU) 101, una memoria de solo lectura (ROM) 102, una memoria de acceso aleatorio (RAM) 103 y memoria de solo lectura programable y borrable eléctricamente (EEPROM) 104 están conectadas entre sí mediante un bus 105. También está conectada al bus 105 una interfaz de entrada/salida 106, y la interfaz de entrada/salida 106 está conectada a equipos externos (por ejemplo, la línea de señales de datos 14-1 y la línea de señales de reloj 14-2 de la Fig. 1).
En un ordenador configurado como anteriormente, la serie de procesos anterior se lleva a cabo como resultado de que la CPU 101 cargue un programa almacenado en la ROM 102 o la EEPROM 104 en la RAM 103 a través del bus 105 y ejecute el programa, por ejemplo. Además, el programa ejecutado por el ordenador (CPU 101), además de estar escrito en la ROM 102 de antemano, también puede instalarse y actualizarse en la EEPROM 104 desde una fuente externa a través de la interfaz de entrada/salida 106.
Cabe señalar que la presente forma de realización no se limita a la forma de realización descrita anteriormente, y son posibles varias modificaciones dentro del alcance de las reivindicaciones adjuntas.
Lista de signos de referencia
11 IF de bus
12 Dispositivo maestro
13 Dispositivo esclavo
14-1 Línea de señales de datos
14-2 Línea de señales de reloj
21 Unidad de transmisión y recepción
22 Unidad de detección de errores
23 Unidad de detección de señales de confirmación
24 Unidad de evitación de conflictos
31 Unidad de transmisión y recepción
32 Unidad de detección de errores
51 Unidad de control de activación de SCL
52 Unidad de amplificación
53 Unidad de mantenimiento de nivel H
54 Unidad de amplificación
55 Unidad de conversión en serie
56 Detector de errores de conflicto
57 Detector de errores de paridad
58 Unidad de detección de errores CRC5
59 Unidad de conversión en paralelo
60 Detector de errores de testigo
61 Detector de ACK/NACK
62 Detector de errores de preámbulo
63 Máquina de estados
Claims (14)
1. Un dispositivo de comunicación, que comprende:
circuitos de transmisión y recepción configurados para la comunicación con dispositivos de comunicación externos, lo que incluye transmitir y recibir datos a través de una línea de señales de datos y transmitir una señal de reloj a través de una línea de señales de reloj; y
circuitos de control configurados para
detectar la aparición de un error en una señal comparando una primera secuencia de bits de una señal recibida después de un preámbulo de los datos con una segunda secuencia de bits correspondiente a un tipo de datos designado para la transmisión por el preámbulo,
en el que cuando el preámbulo de los datos especifica la transmisión de una palabra de comprobación de redundancia cíclica, CRC, donde la palabra CRC incluye un testigo y una CRC-5, los circuitos de control están configurados para detectar la aparición de al menos uno de entre un error de testigo o un error CRC en función de la primera secuencia de bits, y
en caso de que se detecte la aparición del error, los circuitos de transmisión y recepción están configurados para transmitir una señal de reloj durante una primera duración correspondiente a al menos un número predeterminado de bits después del preámbulo,
en el que los circuitos de transmisión y recepción están configurados para transmitir una señal de comando de salida de alta velocidad de datos, HDR, o una señal de comando de reinicio de HDR después de transmitir la señal de reloj durante una segunda duración correspondiente a al menos el número de bits en la palabra CRC y después de recibir una señal de reloj adicional durante la primera duración, donde dicha primera duración tiene una longitud correspondiente a la diferencia entre el número de bits en la palabra CRC y el número de bits en los datos de lectura, en el que los circuitos de control están configurados para ignorar los datos durante al menos un período durante la transmisión de la señal de reloj adicional.
2. El dispositivo de comunicación de acuerdo con la reivindicación 1, en el que los circuitos de transmisión y recepción están configurados para transmitir la señal de comando en un instante de tiempo del segundo bit del preámbulo, en el que el preámbulo es una señal de 2 bits.
3. El dispositivo de comunicación de acuerdo con la reivindicación 1, en el que los circuitos de control están configurados además para detectar al menos una de entre una señal de acuse de recibo o una ausencia de una señal de acuse de recibo transmitida desde el dispositivo de comunicación externo en respuesta a la recepción de los datos transmitidos desde los circuitos de transmisión y recepción, en el que cuando se detecta la ausencia de una señal de acuse de recibo, los circuitos de control están configurados para hacer que los circuitos de transmisión y recepción transmitan una señal de comando HDR después de ignorar un número predeterminado de bits tras la ausencia de una señal de acuse de recibo.
4. El dispositivo de comunicación de acuerdo con la reivindicación 1, en el que los circuitos de transmisión y recepción son capaces de transmitir los datos y recibir la señal en un modo de velocidad de datos estándar (SDR) en el que la comunicación de datos se lleva a cabo a una primera velocidad de transferencia, y al menos un modo HDR en el que la comunicación de datos se lleva a cabo a una segunda velocidad de transferencia, siendo la segunda velocidad de datos mayor que la primera velocidad de datos.
5. El dispositivo de comunicación de acuerdo con la reivindicación 4, en el que los circuitos de transmisión y recepción están configurados para transmitir un comando que proporciona una instrucción para salir del al menos un modo HDR después de que haya transcurrido la primera duración.
6. El dispositivo de comunicación de acuerdo con la reivindicación 4, en el que los circuitos de transmisión y recepción están configurados para transmitir un comando que proporciona una instrucción para reiniciar la comunicación en el al menos un modo HDR después de que haya transcurrido la primera duración.
7. El dispositivo de comunicación de acuerdo con la reivindicación 1, en el que los circuitos de transmisión y recepción llevan a cabo la comunicación a través de una línea de señales de datos (14-1) configurada para transmitir datos en serie secuencialmente bit a bit, y a través de una línea de señales de reloj (14-2) configurada para transmitir una señal de reloj en serie de una frecuencia predeterminada.
8. El dispositivo de comunicación de acuerdo con la reivindicación 7, en el que los circuitos de transmisión y recepción están configurados para activar la línea de señales de datos (14-1) a partir de un bit justo después de recibir una palabra de comprobación de redundancia cíclica, CRC, transmitida por el dispositivo de comunicación externo que activa la línea de señales de datos (14-1) y en caso de que el error se produzca durante la CRC.
9. El dispositivo de comunicación de acuerdo con la reivindicación 1, en el que los circuitos de control están configurados para detectar que el error se ha producido si un número de bits en la segunda secuencia de bits es diferente de un número de bits en la primera secuencia de bits.
10. El dispositivo de comunicación de acuerdo con la reivindicación 1, en el que los circuitos de transmisión y recepción están configurados para llevar a cabo la comunicación de acuerdo con la norma de Circuito Interintegrado Mejorado (I3C).
11. Un procedimiento de comunicación para un dispositivo de comunicación, comprendiendo el procedimiento:
comunicarse con un dispositivo de comunicación externo;
detectar la aparición de un error en una señal comparando una primera secuencia de bits de una señal recibida después de un preámbulo de los datos con una segunda secuencia de bits correspondiente a un tipo de datos designado para la transmisión por el preámbulo,
en el que cuando el preámbulo de los datos especifica la transmisión de una palabra de comprobación de redundancia cíclica, CRC, donde la palabra CRC incluye un testigo y una CRC-5, los circuitos de control del dispositivo de comunicación detectan la aparición de al menos uno de entre un error de testigo o un error CRC en función de la primera secuencia de bits; y
en caso de que se detecte la aparición de un error,
hacer que los circuitos de transmisión y recepción del dispositivo de comunicación transmitan una señal de reloj durante una duración correspondiente a al menos un número predeterminado de bits después de un preámbulo,
transmitir una señal de comando de salida de alta velocidad de datos, HDR, o una señal de comando de reinicio de HDR después de transmitir la señal de reloj durante una segunda duración correspondiente a al menos el número de bits en la palabra CRC y
tras recibir una señal de reloj adicional durante la primera duración, donde dicha primera duración tiene una longitud correspondiente a la diferencia entre el número de bits en la palabra CRC y el número de bits en los datos de lectura, ignorar los datos durante al menos un período durante la transmisión de la señal de reloj adicional.
12. Un sistema de comunicación, que comprende:
el primer dispositivo de comunicación de acuerdo con la reivindicación 1; y
un segundo dispositivo de comunicación, que incluye:
segundos circuitos de transmisión y recepción configurados para la comunicación con el primer dispositivo de comunicación, lo que incluye transmitir y recibir los datos a través de la línea de señales de datos y recibir la señal de reloj a través de la línea de señales de reloj,
en el que el segundo dispositivo de comunicación está configurado para transmitir la primera secuencia de bits al primer dispositivo de comunicación.
13. El sistema de comunicación de acuerdo con la reivindicación 12, en el que los circuitos de control están configurados para detectar que el error se ha producido si un número de bits en la segunda secuencia de bits es menor que un número de bits en la primera secuencia de bits.
14. El sistema de comunicación de acuerdo con la reivindicación 12, en el que los circuitos de control están configurados para detectar que el error se ha producido si se produce un error de 1 bit en el primer bit del preámbulo.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016099955A JP6786871B2 (ja) | 2016-05-18 | 2016-05-18 | 通信装置、通信方法、プログラム、および、通信システム |
PCT/JP2017/017221 WO2017199761A1 (en) | 2016-05-18 | 2017-05-02 | Communication device, communication method, program, and communication system |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2908672T3 true ES2908672T3 (es) | 2022-05-03 |
Family
ID=58745320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES17724946T Active ES2908672T3 (es) | 2016-05-18 | 2017-05-02 | Dispositivo de comunicación, procedimiento de comunicación, programa y sistema de comunicación |
Country Status (11)
Country | Link |
---|---|
US (1) | US11791934B2 (es) |
EP (1) | EP3459190B1 (es) |
JP (1) | JP6786871B2 (es) |
KR (1) | KR102350137B1 (es) |
CN (1) | CN109075902B (es) |
BR (1) | BR112018073104A2 (es) |
ES (1) | ES2908672T3 (es) |
RU (1) | RU2741484C2 (es) |
SG (1) | SG11201808955PA (es) |
TW (1) | TWI753907B (es) |
WO (1) | WO2017199761A1 (es) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6828271B2 (ja) | 2016-05-18 | 2021-02-10 | ソニー株式会社 | 通信装置、通信方法、プログラム、および、通信システム |
TWI811597B (zh) * | 2020-12-18 | 2023-08-11 | 新唐科技股份有限公司 | 恢復通訊界面中斷的方法及通訊界面控制器 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6356984B1 (en) | 1998-06-30 | 2002-03-12 | Sun Microsystems, Inc. | Digital data processing system having a data bus and a control bus |
US6874052B1 (en) | 2000-09-29 | 2005-03-29 | Lucent Technologies Inc. | Expansion bridge apparatus and method for an I2C bus |
US7092041B2 (en) * | 2000-12-20 | 2006-08-15 | Thomson Licensing | I2C bus control for isolating selected IC's for fast I2C bus communication |
JP2005516485A (ja) * | 2002-01-16 | 2005-06-02 | アビオム,インコーポレイティド | 複数レベルの保護を使用するオーディオ又はビデオデータを送信するシステム及び方法 |
US7451381B2 (en) * | 2004-02-03 | 2008-11-11 | Phonex Broadband Corporation | Reliable method and system for efficiently transporting dynamic data across a network |
JP4416543B2 (ja) * | 2004-03-10 | 2010-02-17 | パナソニック株式会社 | データ検出装置、および多チャンネルデータ検出装置 |
KR100778114B1 (ko) * | 2006-09-18 | 2007-11-21 | 삼성전자주식회사 | 통신에러를 개선하기 위한 통신방법 및 그 통신방법이적용된 전자장치 |
JP4962060B2 (ja) * | 2007-03-14 | 2012-06-27 | 富士通セミコンダクター株式会社 | パリティエラー復旧回路 |
CN101541078B (zh) * | 2008-03-17 | 2012-11-21 | 华为技术有限公司 | 一种tdoa的估计方法、系统和装置 |
US8194480B2 (en) * | 2009-11-19 | 2012-06-05 | Himax Technologies Limited | Method for initializing memory device |
CN102263767B (zh) * | 2011-08-30 | 2013-12-18 | 北京北方烽火科技有限公司 | 应用于无线通信的帧同步、频偏估计方法与装置 |
US8788756B2 (en) * | 2011-11-28 | 2014-07-22 | Xilinx, Inc. | Circuit for and method of enabling the transfer of data by an integrated circuit |
JP6275427B2 (ja) * | 2013-09-06 | 2018-02-07 | 株式会社東芝 | メモリ制御回路およびキャッシュメモリ |
US20150100711A1 (en) * | 2013-10-07 | 2015-04-09 | Qualcomm Incorporated | Low power camera control interface bus and devices |
US9237467B2 (en) * | 2013-11-27 | 2016-01-12 | At&T Intellectual Property I, L.P. | Adaptive pacing of media content delivery over a wireless network |
US20150248373A1 (en) | 2014-02-28 | 2015-09-03 | Qualcomm Incorporated | Bit allocation over a shared bus to facilitate an error detection optimization |
US9734121B2 (en) | 2014-04-28 | 2017-08-15 | Qualcomm Incorporated | Sensors global bus |
JP6534312B2 (ja) * | 2015-07-31 | 2019-06-26 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US20170255588A1 (en) * | 2016-03-07 | 2017-09-07 | Qualcomm Incorporated | Multiprotocol i3c common command codes |
US11233582B2 (en) * | 2016-03-25 | 2022-01-25 | Lisnr, Inc. | Local tone generation |
JP6828271B2 (ja) * | 2016-05-18 | 2021-02-10 | ソニー株式会社 | 通信装置、通信方法、プログラム、および、通信システム |
JP6911282B2 (ja) * | 2016-05-18 | 2021-07-28 | ソニーグループ株式会社 | 通信装置、通信方法、プログラム、および、通信システム |
WO2017199762A1 (ja) * | 2016-05-18 | 2017-11-23 | ソニーセミコンダクタソリューションズ株式会社 | 通信装置、通信方法、プログラム、および、通信システム |
JP6971538B2 (ja) * | 2016-05-18 | 2021-11-24 | ソニーセミコンダクタソリューションズ株式会社 | 通信装置、通信方法、プログラム、および、通信システム |
-
2016
- 2016-05-18 JP JP2016099955A patent/JP6786871B2/ja active Active
-
2017
- 2017-05-02 KR KR1020187031445A patent/KR102350137B1/ko active IP Right Grant
- 2017-05-02 RU RU2018139479A patent/RU2741484C2/ru active
- 2017-05-02 EP EP17724946.3A patent/EP3459190B1/en active Active
- 2017-05-02 BR BR112018073104-8A patent/BR112018073104A2/pt not_active IP Right Cessation
- 2017-05-02 US US16/092,240 patent/US11791934B2/en active Active
- 2017-05-02 SG SG11201808955PA patent/SG11201808955PA/en unknown
- 2017-05-02 WO PCT/JP2017/017221 patent/WO2017199761A1/en unknown
- 2017-05-02 CN CN201780028376.5A patent/CN109075902B/zh active Active
- 2017-05-02 ES ES17724946T patent/ES2908672T3/es active Active
- 2017-05-05 TW TW106114885A patent/TWI753907B/zh active
Also Published As
Publication number | Publication date |
---|---|
JP6786871B2 (ja) | 2020-11-18 |
TW201741888A (zh) | 2017-12-01 |
RU2741484C2 (ru) | 2021-01-26 |
US11791934B2 (en) | 2023-10-17 |
CN109075902B (zh) | 2022-02-08 |
CN109075902A (zh) | 2018-12-21 |
EP3459190A1 (en) | 2019-03-27 |
WO2017199761A1 (en) | 2017-11-23 |
KR102350137B1 (ko) | 2022-01-14 |
BR112018073104A2 (pt) | 2019-03-06 |
JP2017208713A (ja) | 2017-11-24 |
KR20190008198A (ko) | 2019-01-23 |
EP3459190B1 (en) | 2022-02-23 |
US20190097757A1 (en) | 2019-03-28 |
RU2018139479A (ru) | 2020-05-12 |
TWI753907B (zh) | 2022-02-01 |
SG11201808955PA (en) | 2018-11-29 |
RU2018139479A3 (es) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2941346T3 (es) | Dispositivo de comunicación, método de comunicación, programa y sistema de comunicación | |
CN109074294B (zh) | 通信装置和通信系统 | |
US10740172B2 (en) | Communication apparatus, communication method, program, and communication system | |
ES2908672T3 (es) | Dispositivo de comunicación, procedimiento de comunicación, programa y sistema de comunicación | |
US20190146939A1 (en) | Communication device, communication method, program, and communication system | |
US10805043B2 (en) | Data transmission apparatus and data transmission method, reception device and reception method, program, and data transmission system | |
CN109155689B (zh) | 通信设备、通信方法、程序和通信系统 | |
JP6903645B2 (ja) | 通信装置、通信方法、プログラム、および、通信システム |