ES2694168T3 - Módulo de control para gestión de múltiples recursos de señales mixtas - Google Patents

Módulo de control para gestión de múltiples recursos de señales mixtas Download PDF

Info

Publication number
ES2694168T3
ES2694168T3 ES15723553.2T ES15723553T ES2694168T3 ES 2694168 T3 ES2694168 T3 ES 2694168T3 ES 15723553 T ES15723553 T ES 15723553T ES 2694168 T3 ES2694168 T3 ES 2694168T3
Authority
ES
Spain
Prior art keywords
address
scps
instruction
module
group
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
Application number
ES15723553.2T
Other languages
English (en)
Inventor
José Alberto PEIXOTO MACHADO DA SILVA
Miguel Fernando Paiva Velhote Correia
António José SALAZAR ESCOBAR
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inesc Tec Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciencia
Original Assignee
Inesc Tec Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciencia
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inesc Tec Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciencia filed Critical Inesc Tec Instituto de Engenharia de Sistemas e Computadores Tecnologia e Ciencia
Application granted granted Critical
Publication of ES2694168T3 publication Critical patent/ES2694168T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test

Abstract

Un módulo, designado por la presente como Configuración, Captura, Proceso y Exploración, definido posteriormente como módulo de SCPS, que comprende: - un submódulo de intérprete; y - un módulo de banco de registros que comprende: - un registro de instrucción para almacenar la última instrucción válida; - un registro de estado para almacenar el estado de acción actual de la instrucción; - un registro de estado para almacenar el estado interno de dicho módulo de SCPS; - un registro de dirección de grupo para almacenar la dirección de grupo de dicho módulo de SCPS; - un registro de dirección de miembro para almacenar la dirección específica en el grupo de dicho módulo de SCPS; - un registro de puntero de registro de escritura para almacenar la dirección de registro objetivo en la que se va a escribir; - un registro de puntero de registro de lectura para almacenar la dirección de registro objetivo desde la que se va a leer; - un registro de puntero de escritura de grupo para almacenar la dirección de miembro en la que se va a escribir; - un registro de puntero de lectura de grupo para almacenar la dirección de registro objetivo desde la que se va a leer; - al menos un registro de testigo para almacenar un espacio de testigo de los recursos asociados que se han asignado a dicho módulo de SCPS; en el que el submódulo intérprete está configurado para recibir y responder a secuencias de I2C, complementado con secuencias de SCPS, en la recepción de una instrucción precedida por cualquiera de: - una dirección de I2C; - una dirección de SCPS global que comprende una solicitud de dirección global de I2C seguida por una instrucción global de SCPS, definida posteriormente como SGI; - una dirección de SCPS de grupo que comprende una dirección de I2C de 10 bits seguida por una dirección de SCPS de grupo de 8 bits y por una instrucción de grupo; o - una dirección de SCPS específica de miembro que comprende una dirección de SCPS de grupo, seguida por una dirección de miembro y una instrucción específica de miembro.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Modulo de control para gestion de multiples recursos de senales mixtas Campo tecnico
La presente invencion se refiere a un modulo y su metodo de operacion que puede implementarse como un PLD (dispositivo de logica programable, FPGA (campo de matriz de puertas programables), un circuito integrado, o sustrato similar.
Antecedentes de la tecnica
Los circuitos componentes y sensores son vulnerables al envejecimiento, uso, problemas ambientales y ffsicos, diversos factores imprevistos, ya sea con configuraciones controladas por laboratorio o escenarios de aplicacion en el campo, que representan una preocupacion creciente para la fiabilidad de los datos. Esto es un problema particular en aplicaciones de seguridad cntica, en concreto, de sistemas electronicos medicos y de automoviles.
Tales problemas de fiabilidad de datos se han tratado a traves de un numero de estrategias ad hoc o una mezcla de normas en su mayona dirigidas a escenarios digitales; sin embargo, los escenarios de multiples sensores rara vez se benefician de tales enfoques.
El documento CN102866967 desvela un metodo de gestion de equipo de I2C (circuito inter-integrado). De acuerdo con dicho documento, multiples equipos de I2C en un equipo de maquina anfitrion pueden gestionarse eficazmente. Sin embargo, esta solucion tiene como objetivo el problema de direcciones de bus de I2C limitadas, en particular en escenarios donde un numero de dispositivos del mismo tipo necesitan accederse de manera individual mientras comparten la misma direccion de I2C (o un subconjunto limitado). Por lo tanto, la solucion anteriormente mencionada esta limitada a problemas de gestion de accesibilidad y no permite sincronizacion de intra e inter modulo y/o tiene un conjunto de instrucciones de I2C ampliado asociado.
El documento US 2012/066423 A1 describe una solucion para facilitar la expansion de un unico bus de I2C a multiples dispositivos. Esta solucion presenta varios problemas, tal como la centralizacion de las accesibilidades del dispositivo a traves de un modulo expansor comun. Aunque tal enfoque permite capacidades de multi-difusion y difusion a dispositivos con una direccion comun, el enfoque metodologico crea un cuello de botella a traves del modulo expansor descrito. Tal limitacion no permite escalabilidad distribuida y agrupar ffsicamente dispositivos a un modulo expansor espedfico. Adicionalmente, la solucion presentada no permite intra e inter sincronizacion de modulo, puesto que tiene como objetivo unicamente flexibilidad de accesibilidad de comunicacion.
En general, las soluciones de la tecnica anterior no permiten direccionalidad flexible, configurable y ampliable granular a traves de un enfoque descentralizado. Ademas, el conjunto asociado de mecanismos e instrucciones descritos por la presente, introducen intra- e inter- sincronizacion y/o gestion de modulo, ampliable a circuitos de senal mixta, sensores, y todo tipo de dispositivos y ampliacion mientras sean compatibles con I2C.
El documento US6237112B1 desvela un dispositivo SCSI disponible para prediccion de avena y auto-examinacion o un metodo de prediccion de avena y auto-examinacion por este dispositivo que aumenta el rendimiento del sistema global a traves de la reduccion de la carga de un procesador de I2C maestro y bus SCSI, informando al procesador de I2C maestro unicamente cuando sea necesario, despues de que un procesador de I2C lee el estado del dispositivo SCSI. El dispositivo SCSI disponible para prediccion de avena y auto-examinacion incluye un sensor de accionamiento de temperatura y motor, que monitoriza el estado de accionamiento de temperatura y motor del dispositivo SCSI; un sensor de potencia y un conmutador de encendido/apagado, que monitoriza la potencia del dispositivo SCSI y recibe un comando desde el procesador de I2C maestro para encender/apagar la potencia del dispositivo SCSI a traves del procesador de I2C; un sensor SMART, que monitoriza el estado del dispositivo SCSI: una logica de control de dispositivo, que informa todos los informes de estado anteriores, informes de error y funciones SMART al procesador de I2C maestro a traves del controlador SCSI; un procesador de I2C, que informa al procesado de I2C maestro 130 a traves de un canal SCSI o canal de I2C, cuando sea necesario, analizando una informacion detectada por la temperatura, sensor de accionamiento de motor, sensor de potencia, conmutador de encendido/apagado y sensor SMART.
Divulgacion de la invencion
La presente solucion tiene por objeto escenarios intra e inter modulares y otros escenarios de recursos independientes o inter-dependientes pretendidos para gestion de recursos como parte de una metodologfa aplicable a un numero de escenarios de sistema tales como, pero sin limitacion, monitorizacion a largo plazo de sensor/componentes para calibracion, pruebas, mediciones y/o estrategias de sincronizacion de grupo para analisis de datos.
5
10
15
20
25
30
35
40
45
50
55
60
65
Se describe una ampliacion a instrumentos compatibles con I2C. Se describe un modulo integrado, denominado de ahora en adelante como modulo de Configuracion, Captura, Proceso y Exploracion (SCPS). Los mismos modulos de SCPS han de subdividirse en cuatro secciones:
- un interprete de I2C, que sigue el modo convencional UM10204, “especificacion de bus de I2C y manual de usuario”, modo convencional con capacidades de direccion esclava de 10 bits;
- un interprete de SCPS, un super-conjunto de instrucciones para ampliar la funcionalidad de I2C, introducir capacidades de direccionamiento de grupo e instrucciones embebidas dentro de la referencia de grupo de modulo objetivo;
- una seccion de conmutacion/control, pretendida para gestion de encaminamiento de aspectos de control asociados opcionales, tales como un bus analogico; y
- un banco de registros, para control de secuencia de respuesta, declaracion de bandera y otros aspectos de capacidad de observacion y capacidad de control.
El mecanismo propuesto esta estructurado alrededor de cuatro tipos de operacion. Tales operaciones se han de gestionar a traves de un conjunto de registros e instrucciones accedidas a traves de un bus de I2C.
Una vista general de las operaciones anteriormente mencionadas se presenta a continuacion:
- Configuracion: pretendida para configuracion independiente de evento intra-modular de ajustes/registros de los dispositivos objetivo; considerada para configuracion de dispositivo. Acciones de ejemplo incluyen: precarga de senal/patron, ajustes de muestreo, agrupamiento de componentes, procedimiento de manejo BIST, y parametros definidos por la entrada de usuario.
- Captura: pretendida para gestionar escenarios dependientes de evento inter-modular, tales como carga/generacion de senal/patron, coleccion de datos y activacion BIST.
- Proceso: pretendido para escenarios dependientes de evento intra-modular, tales como procesamiento de datos y activaciones de algoritmos de toma de decisiones. Un ejemplo de tales operaciones es la comparacion de datos recopilados reflejados a traves de actualizaciones de registros objetivo que pueden usarse para seguir el historial de sensor, mantenimiento de referencia global o comparacion de referencia espedfica. Puede activarse algoritmo/heunstica localizados tales como rutinas de procesamiento de senal generadas, estrategias de media de mmimos cuadrados (LMS), filtros de Kalman, cadenas de Markov, etc., a traves de estas operaciones.
- Exploracion: pretendida para distribucion de datos e instrucciones, como para cubrir tareas independientes de evento inter-modular. Las posibilidades de interactuar con elementos externos para modos de configuracion y recogida de datos se consideran en esta etapa.
La presente solucion representa una ampliacion a un interprete de un bus de I2C, con caractensticas ampliadas que mantiene compatibilidad hacia atras completa. Tambien constituye una estructura con flexibilidad para adaptarse a unos fines del disenador de electronica.
Posibilita a un maestro en un bus de I2C comun leer o escribir, asf como controlar a traves de un conjunto de instrucciones dadas, todos los modulos esclavos, grupos de modulos esclavos o cualquier modulo esclavo de manera individual que este conectado al bus de I2C comun: por lo tanto anade accesibilidad granular a I2C.
Posibilita tambien un maestro en un bus de I2C comun con acceso sincronizado a multiples modulos esclavos conectados al bus de I2C comun.
Adicionalmente, con el modulo de extension de manejador de SCPS, tambien permite que se amplfen los mismos efectos que en los efectos 1 y 2 a elementos analogicos y/o digitales del sistema asimismo, anadiendo una fuente de gestion de capacidad de control y capacidad de observacion a traves del modulo de SCPS.
Acelera la comunicacion, en ciertos escenarios, entre un maestro y varios esclavos reduciendo la longitud de las secuencias implicadas. Particularmente en casos donde el registro de LECTURA/ESCRITURA objetivo tenga la misma direccion entre los modulos implicados, reduciendo la operacion a una secuencia de grupo (SWA o SRA dependiendo del caso) en lugar de multiples secuencias espedficas de dispositivo.
Tambien acelera y simplifica la transferencia de datos de esclavo a esclavo, anadiendo la capacidad de una transferencia controlada por maestro de un registro desde un esclavo (que proporciona el registro) a otro (que recibe el registro) en una unica operacion.
5
10
15
20
25
30
35
40
45
50
55
60
65
Adicionalmente facilita la sincronizacion de acciones inter-modulo desde una perspectiva espedfica global y de grupo, proporcionando banderas, registros y elementos de control opcionales que facilitan la coordinacion de acciones inter-modulo a traves de un formato de conjunto de instrucciones comun y recursos.
Facilita la implementacion de estrategias de testigo a traves del uso del conjunto de instrucciones global para solicitud de recursos, que genera instancias a un mecanismo para verificacion de disponibilidad de recursos.
Tambien proporciona mecanismo de bloqueo de operacion, es decir, un sub-conjunto de instrucciones permite reducir la funcionalidad del modulo de SCPS en cuanto a limitar una respuesta del modulo. Esto se pretende que sirva como un mecanismo para aislar un miembro de grupo en caso de mal-funcionamiento o fallo detectado.
Adicionalmente, amplfa el conjunto de instrucciones de SOLICITUD GENERAL establecido de I2C para permitir acciones de RESTEO o de impacto global (tal como aislamiento de modulos, omision, etc., requerido durante un evento de inicializacion o de re-calibracion).
Facilita operaciones secuenciales e instantaneas inter-modulo para un sub-conjunto de instrucciones (es decir, instrucciones de CAPTURA), que cuando se utilizan apropiadamente pueden sincronizar las acciones de modulo individuales para permitir una operacion de grupo, que puede actualizarse secuencialmente a traves de parametros definidos por el usuario y flujo de instrucciones espedficas, reduciendo de esta manera las secuencias de comunicacion y reduciendo posiblemente recursos permitiendo la re-utilizacion sincronizada.
Tambien reduce, en ciertos escenarios, los recursos que se requerinan para realizar las mismas operaciones en multiples modulos permitiendo la reutilizacion de recursos a traves de la sincronizacion y gestion de accion intermodulo.
Adicionalmente, reduce la necesidad de direcciones de I2C de 7 bits individuales a traves del uso de una direccion de grupo compartido, 10 bits u 8 bits, y la direccion de miembro, proporcionando de esta manera flexibilidad en el esquema de direccionamiento individual y reduciendo la dependencia al dominio de direcciones de 7 bits disponible.
La presente solucion proporciona flexibilidad de implementacion, mientras permite compatibilidad con numerosos sensores comerciales a traves del uso de I2C como el bus de comunicacion. Tal enfoque permite tambien la inclusion de sensores comercialmente disponibles (compatibles con I2C) en las estrategias de prueba/calibracion ampliando su funcionalidad; ofreciendo en consecuencia una infraestructura de prueba y medicion de senal mixta. Adicionalmente, la solucion trata las especifidades de soluciones de monitorizacion basadas en sensor a largo plazo continuas.
Breve descripcion de los dibujos
Las siguientes figuras proporcionan realizaciones preferidas para ilustrar la descripcion y no debenan observarse como que limitan el alcance de la invencion.
La Figura 1 muestra una representacion esquematica de una realizacion de ejemplo de modulos de SCPS como parte de un esquema de gestion de recursos.
La Figura 2 muestra una representacion esquematica de secuencias de tipo de Accion de Escritura de SCPS (SWA) y Accion de Lectura de SCpS (SRA) que permiten la escritura y lectura en una manera en grupo, asf como acciones inter-dependientes e independientes sincronizadas entre instrumentos compatibles con SCPS.
La Figura 3 muestra una representacion esquematica de una representacion modular de una implementacion de modulo de SCPS generico.
La Figura 4 muestra un flujo de datos y operacion generico para multiples lecturas de dispositivo.
La Figura 5 muestra un flujo de datos y operacion generico para multiples escrituras de dispositivo.
La Figura 6 muestra un flujo de datos y operacion generico para multiples transferencias de dispositivo.
Mejor modo para llevar a cabo la invencion
En el presente documento se describen realizaciones opcionales en mas detalle, que, sin embargo, no estan pretendidas para limitar el alcance de la presente solicitud.
Modulo de SCPS
En una realizacion, el modulo de SCPS esta compuesto de dos secciones de modulo de extension para disenos compatibles con I2C actuales: un modulo de extension de interprete de I2C (interprete de SCPS), y un modulo de
5
10
15
20
25
30
35
40
45
50
55
60
65
extension de banco de registros (registros de SCPS). Opcionalmente, un tercero esta tambien comprendido por el modulo de SCPS: un modulo de extension de banco de elementos (manejador de SCPS).
El modulo de extension de interprete de I2C (interprete de SCPS) cuenta con el mecanismo para que un identificador de secuencia reconozca secuencia de comandos asociados con SCPS, asf como el correspondiente mecanismo de respuesta para actualizar banderas, registros y elementos del modulo de SCPS, y respuestas de senal de I2C que estan asociadas con SCPS (por ejemplo, acuses de recibo apropiados a instrucciones de SCPS); tanto para secuencias de I2C de escritura como de lectura, que, de ahora en adelante, se denominaran como Accion de Escritura de SCPS (SWA) y Accion de Lectura de SCPS (SRA), respectivamente, cuando tales secuencias de I2C estan asociadas a una secuencia de SCPS.
El interprete identifica tres tipos de formatos de direccionamiento: global (denominado como SOLICITUD GENERAL en las especificaciones de |2c UM10204), grupo (alcanzable a traves de dos tipos de alternativas seleccionables) y espedfico (asociado al formato de direccion de 7 bits de I2C o a traves del uso de un identificador de miembro de grupo a traves de instrucciones de SCPS). La direccion de 7 bits de I2C tradicional permanece completamente compatible para tales instrumentos que tienen una direccion de 7 bits asociada, y provocara que el interprete de SCPS ignore cualquier secuencia adjunta de este tipo, permitiendo de esta manera que el instrumento sea accesible a traves de medios de I2C directos (por lo tanto no se incluiran referencias adicionales en este documento a tal tipo de direccionamiento).
Para direccionamiento global, el interprete de SCSP esperara una Instruccion Global de SCPS (SGI) formateada despues de una SOLICITUD GENERAL (todo ceros segun se definen por especificaciones de I2C, es decir, 8h00) y acuse de recibo en consecuencia. Una vista general de las correspondientes SGI y sus acciones pueden hallarse en la seccion de conjunto de instrucciones a continuacion y una descripcion del flujo de secuencia puede hallarse en la seccion de flujo de trabajo.
Con respecto al direccionamiento de grupo, para flexibilidad se permiten dos formatos de direccionamiento de grupo: formato de direccionamiento de 10 bits o formato de protocolo alternativo. Los formatos de direccionamiento de 10 bits consideran que los modulos compatibles con SCPS que conforman un grupo tienen una direccion de I2C de 10 bits compartida denominada como Direccion de Grupo de 10 bits (10GA).
En el caso del formato de protocolo alternativo, se usa la direccion de I2C de 7 bits reservada 7b0000010 (reservada para usar diferentes protocolos y formatos) como un iniciador de secuencia que el protocolo de SCPS ha de utilizar y una se espera a continuacion una Direccion de Grupo de 8 bits (8GA) como un segundo byte en el caso de una secuencia de escritura. Para una secuencia de lectura se espera un acceso de escritura anterior a una 8GA espedfica siguiendo el mismo flujo que la lectura de I2C de 10 bits. Ambos formatos de direccionamiento de grupo, acceden a las mismas secuencias de tipo SWA y SRA. Las secuencias de SCPS siguen formatos de secuencias de escritura/lectura compatibles con I2C, permaneciendo por lo tanto completamente compatibles con los dispositivos compatibles con I2C, y las variaciones observadas en el formato esperado no deben afectar a los dispositivos compatibles con I2C (asegurado por el siguiente cumplimiento con I2C UM10204). Las secuencias denominadas pueden describirse en general como en la Figura 2.
El modulo de extension de banco de registros (registros de SCPS) es la segunda seccion de modulo de extension para disenos compatibles con I2C actuales. Las secuencias SWA/SRA acceden a registros asociados, denominados por la presente como registros de SCSP, para su correspondiente recuperacion y actualizacion, algunos de los cuales se actualizan de una manera secuencial y se denominaran como punteros. Los punteros tienen un numero reservado 00h. El tamano por defecto de los registros de SCPS es 8 bits (opcionalmente se preven tamanos de multiples bytes opcionales para futura compatibilidad). Aunque no los registros mismos, un conjunto de PARAMETROS DEFINIDOS POR EL USUARIO o UDP estan asociados a los registros de SCPS. UDP hace referencia a todos los parametros que son espedficos de instrumento, tales como las posiciones de puntero de inicio por defecto y valores de registro (por ejemplo, el valor de repliegue por defecto de un registro despues de un RESETEO o la direccion de puntero de inicio preestablecida para instrucciones espedficas).
Los registros obligatorios son:
- un REGISTRO DE INSTRUCCION o INSTR, actualizado a traves de secuencias de SWA, para almacenar la ultima instruccion introducida de SWA valida, y configurada para resetear al valor 8h00 por defecto, como una indicacion de que no se ha recibido instruccion de SCPS valida o se ha solicitado una accion de RESETEO;
- un REGISTRO DE ESTADO o ESTADO, con el fin general de servir como un registro de control de instrumento que permite configuracion de ajuste interno del instrumento, que se usa por instrucciones espedficas para definir el “estado” de instrumento seleccionado para una accion espedfica, estando configurado dicho REGISTRO de ESTADO para almacenar el estado de accion actual de la instruccion, recuperandose dicho estado desde una biblioteca de estados definidos por el usuario opcional (que contiene UDP) o a traves de bytes de datos de ciertas instrucciones;
5
10
15
20
25
30
35
40
45
50
55
60
65
- un REGISTRO de ESTADO o STATU, que es el registro de salida de LECTURA por defecto, es dedr, cuando se recibe una secuencia de SRA por un grupo sin especificacion del registro objetivo (permitido para ciertas instrucciones o si unicamente se env^a secuencia de SWA de 2 bytes), estando dicho REGISTRO de ESTADO compuesto por defecto por una agrupacion de banderas internas definidas, que reflejan el estado interno del modulo de SCPS;
- una DIRECCION de GRUPO o GADDR, que puede estar en el formato 10GA o 8GA anteriormente mencionados, conteniendo tal registro la informacion de direccion de grupo del modulo y puede ser dinamico (es decir programable), donde la direccion 8h00 se reserva como una direccion NULA y no puede asignarse a ningun grupo;
- un registro de DIRECCION de MIEMBRO o MADDR que contiene la informacion de la direccion de miembro del modulo, es decir la posicion relativa del modulo en el grupo. El registro puede ser dinamico, donde se reserva la direccion 8h00 como una direccion NULA y no puede asignarse a ningun modulo;
- un registro de PUNTERO DE REGISTRO de ESCRITURA o WRP configurado para almacenar la direccion de registro objetivo a la que se va a escribir, actualizandose posiblemente dicho registro a traves de ciertas instrucciones y especificadores de instrucciones, o extendiendose una secuencia de escritura para ciertas instrucciones (es decir, como cuando se envfan unos pulsos ACK y SCK adicionales despues del primer byte de escritura de datos de una secuencia de escritura de I2C),
donde se reserva el valor 8h00 como una direccion NULA y significa que no tendra lugar accion al puntero durante esta secuencia de instrucciones,
donde el valor inicial del puntero durante una instruccion espedfica se establece por UDP, si ninguno debiera ponerse por defecto a 00h, y
donde todos los asuntos relacionados con el incremento y decremento del puntero se han de tratar por el usuario a traves de interaccion con la seccion de registro de SCPS;
- un PUNTERO de REGISTRO de LECTURA o RRP que almacena la direccion de registro objetivo desde la que se va a leer, actualizandose posiblemente dicho registro a traves de la utilizacion de ciertos comandos o extendiendose a una secuencia de lectura (es decir, como cuando se envfan pulsos de acuse de recibo y SCK adicionales despues del primer byte lefdo de una secuencia de lectura de I2C),
donde se reserva el valor 8h00 como una direccion NULA y significa que no tendra lugar accion al puntero durante esta secuencia de instrucciones,
donde el valor inicial del puntero durante una instruccion espedfica se establece por UDP, si ninguno debiera ponerse a por defecto a o0h, y
donde todos los asuntos relacionados con el incremento y decremento del puntero se han de tratar por el usuario a traves de interaccion con la seccion de registro de SCPS;
- un PUNTERO de ESCRITURA de GRUPO o GWP que almacena la direccion de miembro a la que se va a escribir,
donde la coincidencia del GWP a la MADDR indica el modulo en el que ha de almacenarse el BYTE de DATOS en la direccion de WRP,
donde la actualizacion de la GWP es espedfica de instruccion y su valor inicial depende de la instruccion y de UDP,
donde ciertas instrucciones pueden auto incrementar el puntero en un estilo reflectante del puntero de registro de I2C (se deja al usuario en la norma de I2C), que se utiliza por la mayona de los mecanismos compatibles con I2C para simplificar multiples operaciones de lectura y escritura,
donde el valor 8h00 se reserva como una direccion NULA y significa que no tendra lugar accion en el puntero durante esta secuencia de instrucciones. La respuesta del modulo para un GWP 8h00 es equivalente a un escenario de NO coincidencia,
donde el valor inicial del puntero durante una instruccion espedfica se establece por UDP, si ninguno debiera establecerse por defecto a 00h, y
donde todos los asuntos relacionados con el incremento y decremento del puntero han de tratarse por el usuario a traves de interaccion con la seccion de registro de SCPS; y
- un PUNTERO de LECTURA de GRUPO o GRP que almacena la direccion de miembro desde la que se ha de leer,
donde la coincidencia del GRP a la MADDR indica que el BYTE de DATOS del registro de RRP del modulo es para servir como una SALIDA en la siguiente secuencia de LECTURA de I2C,
donde ciertas instrucciones pueden auto incrementar el puntero en un estilo reflectante del puntero de registro de I2C (se deja al usuario en la norma de I2C), que se utiliza por la mayona de los mecanismos compatibles con I2C para simplificar multiples operaciones de lectura y escritura,
donde el valor 8h00 se reserva como una direccion NULA y significa que no tendra lugar accion en el puntero durante esta secuencia de instrucciones,
donde el comportamiento del modulo para un GRP 8h00 es equivalente a un escenario de NO coincidencia, y donde tal registro puede incrementarse tambien ampliando una secuencia de lectura (es decir, como cuando se
5
10
15
20
25
30
35
40
45
50
55
60
65
envfan pulsos de acuse de recibo y de SCK adicionales despues del primer byte lefdo de una secuencia de lectura de I2C); sin embargo, como en I2C el incremento o decremento se deja al usuario.
Los registros opcionales son:
- un REGISTRO O REGISTROS de TESTIGO o TKR, que sirven como un espacio de testigo donde cada bit, o conjunto de bits, representa un testigo espedfico, que almacena la informacion de los recursos asociados que se han asignado a un modulo espedfico, donde en el caso de unicamente un recurso compartido (tal como un bus analogico) entonces la simplificacion puede conseguirse mediante el uso de la bandera RQST; y
- unos REGlSTROS DEFINIDOS PoR EL USUARIO o UDR, que se refieren a todos los registros asociados al mismo instrumento/dispositivo y por lo tanto definidos por su disenador,
donde tales registros incluyen todos los registros accesibles por I2C de instrumento que se han definido por el usuario, donde si se pretende el acceso a traves del modulo de SCPS por el usuario, entonces se espera la asignacion en los registros de SCPS proporcionando recuperacion y actualizacion direccionable a su localizacion definida por el usuario, y
donde tales UDR son por definicion no convencionales, permaneciendo por lo tanto la responsabilidad del disenador para establecer los elementos necesarios y el flujo si se pretende para acciones de modulo cruzado.
El modulo de extension de banco de elementos (manejador de SCPS) es un modulo de extension opcional que puede estar integrado en el modulo de SCPS para servir como biblioteca de conmutacion/elemento, en cuanto a gestionar la capacidad de control y capacidad de observacion a traves de conmutadores y la funcionalidad de otros elementos. Tales elementos pueden ser digitales o analogicos y su configuracion es la responsabilidad del disenador. El manejador de SCPS se ha de controlar principalmente a traves del ESTADo, permitiendo preestablecer la configuracion para gestionar la capacidad de enrutamiento y funcionalidad del instrumento. Un ejemplo de tal modulo de extension sena un diccionario de encaminamiento conectado a las patillas de activacion de conmutadores analogicos, que permite el acceso a un bus analogico. El diccionario traducina a continuacion un ESTADO a un esquema de conexion objetivo; adicionalmente, tal biblioteca podna activar tambien un mecanismo de auto-prueba integrado (BIST) u otro aspecto funcional del instrumento. Tal modulo de extension es opcional, debido al uso directo de banderas y los registros de modulo de SCPS (accesibles internamente por el instrumento) pueden usarse directamente para los mismos fines para escenarios sencillos.
Los modulos de extension anteriormente mencionados se ilustran y destacan en la Figura 3.
Descripcion del flujo de trabajo
Existe flexibilidad con respecto al flujo de trabajo asociado de la implementacion anteriormente descrita, sin embargo, la intencion es la simplificacion de acciones inter-modulares y gestion de eventos. Aunque, aparentemente complejo mientras se compara con la simplicidad de una estrategia de dos operaciones tal como la presentada por el I2C UM10204 (a traves del uso de operacion de escritura y lectura, ignorando operaciones especiales opcionales tales como SOLiCiTUD GENERAL, BYTE de INICIO, etc.), el conjunto de instrucciones de SCPS sigue un enfoque similar con su SWA y SRA, ampliando las capacidades funcionales de las operaciones de escritura y lectura de I2C convencionales.
El uso de una estructura de interfaz comun entre instrumentos permite que las banderas, registros, punteros y respuestas funcionales asociados sirvan un papel de normalizacion que minimiza el conocimiento del mecanismo interno requerido para interconectar instrumentos que se pretende que se usen por multiples modulos, reduciendo de esta manera la necesidad global de recursos (a traves de la reutilizacion de instrumento) y de tara de comunicacion (simplificando el esquema de comunicacion). En las Figuras 4 a 6, existen algunos ejemplos de la operacion de datos y flujo, en comparacion con I2C, en cuanto a percibir mejor los beneficios de la compatibilidad de SCPS en el nivel de comunicacion.
La estrategia de granularidad direccionada presentada permite lecturas de multiples esclavos en una secuencia comprimida segun se presenta en la Figura 4, que reduce significativamente la tara de comunicacion cuando se compara con las secuencias de I2C convencionales.
La Figura 5 ilustra la representacion generica de la instruccion de SCPS secuenciada, en comparacion con secuencias de escritura de I2C convencionales. Cabe senalar que las estrategias de difusion presentadas por otras soluciones permiten accesibilidad donde unicamente pueden conseguirse secuencias de bloques; que se diferencia del enfoque presentado que permite secuencias coordinadas y lecturas coordinadas de multiples esclavos.
Finalmente, la Figura 6 presenta la representacion generica de secuencias de transferencia que claramente presenta la ventaja del enfoque presentado, puesto que las operaciones de lectura/escritura entre miembros esclavo pueden coordinarse sin la necesidad de lecturas y escrituras de datos secuenciales.
Desde un punto de vista mas practico, el modulo de SCPS permite no unicamente la ampliacion funcional de las operaciones de I2C convencionales, a traves de su conjunto de instrucciones, sino que cuando se asocia a un
5
10
15
20
25
30
35
40
45
50
55
60
65
manejador de SCPS, sirve para sincronizar y gestionar aspectos funcionales y de encaminamiento de los instrumentos tambien; introduciendo la nocion de acciones de grupo.
Conjunto de instrucciones
Las instrucciones asociadas, que se introducen a traves de SWA y se dividen en cuatro categonas: CONFIGURACION, CAPTURA, PROCESO y EXPLORACION (tales categonas estan as^ denominadas debido a la metodologfa de estructura de SCPS, sin embargo, representan cuatro tipos de instrucciones distintos de manera independiente del esquema utilizado). Cada instruccion sigue actualizaciones espedficas de las banderas asociadas, registros y punteros, que se describen en esta seccion de instruccion. Las SRA tienen respuestas espedficas dependiendo de la instruccion valida actual (introducida por SWA) para permitir una simplificacion de la transferencia de datos, se describe una descripcion general del flujo de instrucciones y de datos en la seccion de flujo de trabajo.
Pueden introducirse instrucciones futuras a traves del uso del formato de instruccion de SCPS que no se ha de reservar para instrucciones obligatorias. Instrucciones opcionales pueden hacer uso tambien de las opciones libres en el dominio de instruccion, sin embargo no se puede esperar respuesta por los registros de SCPS, banderas y otros elementos. Es decir, la instruccion puede interpretarse directamente por el instrumento tras la examinacion de los datos de I2C en el registro. Conjuntos de instrucciones personalizados pueden por lo tanto formularse usando el espacio de dominio de instrucciones vacante, con actualizaciones particulares a los registros de SCPS, banderas y elementos; tales conjuntos de instrucciones, personalizados en naturaleza, tendnan que considerar su particularidad cuando se coordinan acciones inter-modulares. En todos los casos, la respuesta de instrumento espedfica no se define para ninguna SGI, SWA o SRA, de manera que se ha de especificar por el disenador del instrumento basandose en las banderas obligatorias y opcionales, registros y punteros, con el entendimiento del comportamiento normalizado a traves de instrumentos compatibles con SCPS puede sincronizarse por lo tanto unicamente a traves de coordinacion inter-modulo.
Las instrucciones se describiran basandose en el tipo de direccion, ya sean globales (de una SOLICITUD GENERAL), de grupo o espedficas. Aunque se denomino el direccionamiento espedfico en este escenario al acceso de un instrumento a traves del uso de una direccion de 7 bits de I2C, tambien es posible seleccionar un miembro espedfico de un grupo para una accion aislada, que es de utilizacion cuando los miembros del grupo no tienen una direccion de 7 bits de I2C asociada a los mismos. Desde este punto de vista, tal estilo de direccionamiento se denominara como direccionamiento espedfico de miembro o MSAddr, que conlleva una subseccion de las instrucciones permisibles.
El conjunto de instrucciones global se pretende para acciones que afectan a todos los modulos receptores de SCPS de manera simultanea (por ejemplo, una solicitud de RESETEO o de inicializacion), aunque la respuesta de instrumento espedfica depende de las particularidades del diseno, por ejemplo, en el caso de una instruccion de RESETEO, no todos los instrumentos se espera que reseteen sus registros y elementos internos de la misma manera (por ejemplo, el registro de SCPS se reseteara basandose en UDP espedficos). Cuando el manejador de SCPS esta presente y se estan utilizando conmutadores analogicos para configuraciones de encaminamiento de senal, alguna posible solicitud global puede ser OMITIR y AISLAR, que hacen referencia a transparencia de tiempo de operacion y aislamiento de modulo de buses analogicos respectivamente. La instruccion global se introduce despues de una SOLICITUD GENERAL (todo ceros en el primer byte, es decir, 8h00), y usa el espacio de SOLICITUD GENERAL de software teniendo el bit menos significativo establecido a 'cero'. Para evitar entrar en conflicto con instrucciones establecidas de I2C UM10204, el bit mas significativo se establece a 'uno'.
El conjunto de instrucciones global comprende las siguientes instrucciones:
- la instruccion ESTADO modifica el registro de estado para permitir que tenga lugar una accion general tal como configuracion de RESETEO, AISLAMIENTO u OMISI6N. La instruccion despeja los punteros y INSTR a 8h00, ESTADO se actualiza con el correspondiente UDP de instruccion asociada, que tiene el valor por defecto de 8h00. Las banderas internas se despejan y todas las banderas de TESTIGO se liberan, excepto una bandera global que se establece. Todos los modulos de SCPS receptores realizan ACK para tal instruccion. Pueden seguir bytes adicionales; sin embargo, seran ignorados por el modulo de SCPS.
- la instruccion BLOQUEO establece los modulos de SCPS en el correspondiente nivel de BLOQUEO. Por BLOQUEO se pretende diferentes niveles de limitacion funcional del modulo de SCPS para proporcionar un mecanismo para limitar las acciones de un miembro de grupo o miembros (tal como en el caso de funcionamiento incorrecto o fallo detectado), donde el BLOQUEO de nivel 0 significa: no bloqueo, todas las instrucciones y operaciones estan permitidas.
Debena observarse que las instrucciones de BLOQUEO no afectan a los registros o banderas excepto para aquellas espedficas a instrucciones de BLOQUEO, por lo que debe tenerse cuidado. Pueden introducirse niveles adicionales usando el espacio restante en el dominio de instruccion.
Todos los modulos de SCPS receptores realizan ACK a tal instruccion. Pueden seguir bytes adicionales, sin embargo seran ignorados por el modulo de SCPS.
5
10
15
20
25
30
35
40
45
50
55
60
65
- la instruccion de SOLICITUD tiene el fin de que multiples maestros puedan coordinar el uso de recursos compartidos a traves de verificacion de disponibilidad. La secuencia de instruccion de SOLICITUD se diferencia de los dos tipos anteriores, puesto que unicamente los miembros que tienen el TESTIGO asignado asociado a ellos producen un ACK (asignado a los mismos de una solicitud anterior), si no se recibe ACK el MAESTRO continua con un segundo byte con el resto de la direccion de grupo de 10 bits (en caso de 10GA que usa YY para los primeros dos MSB) o el 8GA (en este caso el YY se vuelve sin importancia). El grupo especificado a continuacion establece su bandera RQST y correspondiente TKR.
El conjunto de instrucciones de grupo se pretende para acciones inter-modulo y para acciones espedficas de miembro tambien (la MSAddr denominada anteriormente). La INSTRUCCION se introduce en el tercer byte de una SWA.
El byte de INSTRUCCION indica el tipo de instruccion, en caso de una instruccion formada incorrectamente debena ignorarse por el modulo de SCPS. En un caso de este tipo la bandera de GRUPO permanecena establecida como en el caso de una SWA de dos bytes, usada en general para preceder una SRA. Si la instruccion corresponde a una instruccion espedfica de miembro, el cuarto byte se supondna que es la direccion de miembro y cualquier byte de datos despues de ese se asociana a especificadores de instruccion. Las instrucciones no basadas en especificadores estan relacionadas con estrategias preestablecidas basadas en UDP, y utilizadas para simplificacion de acciones repetitivas y evitar instrucciones y repeticiones largas y complejas. Cualquier byte de datos adicional despues del byte de INSTRUCCION para una instruccion no de especificadores se ignorana por el modulo de SCPS. Los bytes de INSTRUCCION adicionales pueden considerarse para ampliar de manera significativa el domino de comando. Sigue una descripcion del conjunto de instrucciones de grupo por tipo.
El conjunto de instrucciones de configuracion o SIS, es el reflejo de las operaciones pretendidas para escribir o actualizar los registros de los modulos implicados. Esto puede hacerse a traves del uso de ESTADOS dependientes de UDP preestablecidos o a traves de ESCRITURA directa de un registro o registros. Adicionalmente, proporciona los estados de LIBERACION o BLOQUEO o de recursos compartidos (limpiando el bit espedfico de registro de testigo). Los modulos implicados realizan ACK al byte de INSTRUCCION; sin embargo en el caso de instrucciones espedficas de miembro, unicamente el miembro objetivo realizara ACK a su MADDR y especificadores.
El conjunto de instrucciones de configuracion comprende las siguientes instrucciones:
- la instruccion de RESETEO limpia los punteros, banderas y restaura registros a su valor por defecto (8h00 por defecto si no hay UDP). Unicamente la bandera GRP permanece establecida para permitir una SRA de continuacion.
- la instruccion de ESTADO actualiza el registro de estado y el registro de INSTR, las unicas banderas actualizadas son la bandera de GRUPO que identifica si es una instruccion dirigida espedfica de grupo o de miembro. Se pretende que sirvan para acceso de configuracion preestablecido a traves de UDP.
- ESCRITURA: estas instrucciones se usan para dirigir la escritura de registro a traves del uso de la direccion de registro como un especificador, de la misma manera que se escribina a un registro asociado con I2C, la diferencia radica en que para instrucciones de grupo, la ESCRITURA tiene lugar en multiples modulos, permitiendo la actualizacion de multiples modulos de manera simultanea. La estrategia para auto incrementar o reducir la direccion de registro (de una manera consistente con la mayona de los dispositivos compatibles con I2C) se deja al disenador como se ha establecido anteriormente (manteniendose acorde con I2C UM10204).
- BLOQUEO: permite el cambio del nivel de BLOQUEO del modulo (informacion almacenada en las banderas de BLOQUEO). Los niveles de BLOQUEO siguen el mismo comportamiento que la instruccion de BLOQUEO GLOBAL.
- LIBERACION DE RQST: permite la liberacion de un recurso compartido espedfico, a traves de la liberacion de los bits de TESTIGO del soporte de grupo y la bandera de RQST, que tambien es conseguible a traves del uso de un RESETEO o ESTADO GLOBAL.
El conjunto de instrucciones de captura o CIS, es el reflejo de las operaciones pretendidas para sincronizar acciones inter-modulo que tienen dependencia entre modulos, por ejemplo, mediciones sincronizadas desde multiples modulos o una medicion que requiere que participen multiples modulos. Esto puede hacerse a traves del uso de ESTADOS dependientes de UDP preestablecidos o a traves de configuraciones “al vuelo” a traves del uso de especificadores.
Las instrucciones se subdividen en dos tipos: en espera (STBY) y captura (CAPT). Dependiendo del modulo y la respuesta de instrumento las dos instrucciones podnan servir funciones identicas, se diferencian principalmente en el ajuste de bandera y en su fin conceptual. La instruccion STBY se pretende para acciones que requieren un periodo de espera, por ejemplo, un periodo de ajuste para un estfmulo para permitir una medicion apropiada. La instruccion CAPT se pretende que indique el inicio de una medicion o ensayo (siguiendo posiblemente un STBY).
5
10
15
20
25
30
35
40
45
50
55
60
65
Adicionalmente, se ha incluido una instruccion FIN-CAPT para senalizar un fin del evento de captura, util en casos donde el evento de captura no es instantaneo y requiere una interrupcion intencionada del proceso. Los modulos implicados realizan aCk al byte de INSTRUCCION; sin embargo en el caso de instrucciones espedficas de miembro, unicamente el miembro objetivo realizara ACK a su MADDR y especificadores. La limpieza de las banderas relacionadas con STBY y cApT unicamente tiene lugar despues de una instruccion de estilo FIN-CAPT o un RESETEO (permite acciones de configuracion, proceso y exploracion en paralelo).
El conjunto de instrucciones de captura comprende las siguientes instrucciones:
- STBY: la instruccion puede incluir o no especificadores, utilizando por lo tanto el UDP por defecto para el ultimo caso. Una instruccion Nxt-STBY actualiza el registro de estado para permitir acceso a configuraciones de STBY secuenciales (por ejemplo, para modificar el encaminamiento para una serie de sensores para permitir mediciones secuenciales de sus elementos o realizar una medicion de multiples etapas como en el caso de un barrido de frecuencia). La instruccion STBY con especificadores puede diferenciarse del formato de instruccion normal no tendiendo longitud preestablecida, y unicamente el miembro pertinente realizara ACK despues de su MADDR y el siguiente byte de DATOS. Es decir, todos los miembros leen los bytes de datos entrantes en grupos de dos, representando el 1er byte la MADDR, y el 2° byte el especificador.
- CAPT: la instruccion puede incluir o no especificadores. Si no sigue ningun especificador que una configuracion haya establecido previamente a traves de una instruccion STBY. Tambien es posible usar la instruccion CAPT sin un STBY anterior en casos donde no se requiera configuracion. Como se ha descrito anteriormente, una FIN- CAPT permite finalizar la accion de captura. De manera similar a la STBY las instrucciones CAPT pueden permitir configuracion y captura “al vuelo”, siendo diferente que las banderas de CAPT que se establecen para indicar el inicio de la accion de captura en lugar de la bandera STBY.
El conjunto de instrucciones de proceso o PrIS, es el reflejo de las operaciones pretendidas para sincronizar acciones inter-modulo que no tienen dependencia inter-modulo directa, por ejemplo, operaciones de modulo internas sincronizadas para multiples modulos o el procesamiento de un estado de FALLO por los modulos implicados (para permitir el estado de FALLO global de un grupo). Esto puede hacerse a traves del uso de ESTADOS dependientes de UDP preestablecidos o a traves del uso de especificadores, ambos a un nivel de grupo o espedfico de miembro; por ejemplo, las instrucciones de proceso pueden seguir una captura satisfactoria para actualizar apropiadamente las banderas de FALLO; sin embargo, no se hace restriccion del uso de secuencia de instruccion.
El conjunto de instrucciones de proceso comprende las siguientes instrucciones:
- PSET: la instruccion tiene varias versiones, con o sin especificadores y a nivel espedfico de grupo y de miembro. Es similar a CAPT en comportamiento aunque actualizando las banderas FALLO y PROC en lugar de las banderas de CAPT. Las banderas de FALLO se actualizan directamente por el instrumento y se pretende que sirvan como un indicador de estado de FALLO, sin embargo los detallas y uso se dejan al disenador del instrumento. Adicionalmente, el PrIS no actualiza el registro de estado, por lo tanto podna tener lugar una operacion de captura y proceso en paralelo. En caso de que las banderas de FALLO o la determinacion de estado de FALLO interna del instrumento requiera una accion que afecte el “estado” del modulo, puede realizarse una omision de registro de ESTADO a un UDP espedfico de respuesta, fuera del interprete de SCSP (en el mismo instrumento o interceptando la ruta de manejador del interprete de SCSP a SCPS). Si se requiere, pueden estar opcionalmente disponibles patillas de BLOQUEO externas para forzar un estado de BLOQUEO a traves de hardware externo. Debena mencionarse que la accion de proceso puede realizarse a nivel de ESTADO, asf como utilizar las banderas de SCPS para inicializar acciones de proceso unicamente en los modulos de interes, por ejemplo, actualizar el estado de FALLO del modulo que es un objetivo de prueba mientras esta en un proceso STBY.
El conjunto de instrucciones de exploracion o ScIS, es el reflejo de operaciones pretendidas para leer o transferir (leer desde y escribir en) registros de los modulos implicados. Esto puede hacerse a traves del uso de UDP preestablecidos o el uso de especificadores. Los modulos implicados realizan ACK al byte de INSTRUCCION; sin embargo en el caso de instrucciones espedficas de miembro, unicamente el miembro objetivo realizara ACK a su MADDR y especificadores.
El conjunto de instrucciones de exploracion comprende las siguientes instrucciones:
- LECTURA: la instruccion de lectura permite que se lea un registro desde multiples modulos o un modulo espedfico de miembro a traves del bus de I2C comun. Se diferencia de estrategias de I2C convencionales en que simplifica la operacion de lectura a traves del bit de R/W en el primer byte de la transaccion, permitiendo seleccion de registro a traves de la ultima operacion de lectura. En este caso, la variacion permite la cadena lefda desde multiples modulos, reduciendo significativamente los bytes de transaccion puesto que no deben realizarse instrucciones de lectura y escritura de ida y vuelta. Esto se consigue usando los punteros para determinar el modulo objetivo y registro objetivo desde los que se va a leer; sin embargo, en lugar de la modificacion de incremento o decremento al registro objetivo como en estrategias de I2C convencionales en este punto el modulo
5
10
15
20
25
30
35
40
45
50
55
60
65
objetivo puede actualizarse permitiendo que una instruccion de LECTURA contenga informacion encadenada desde multiples modulos. Como alternativa una LECTURA puede usar UDP para leer registros preestablecidos e incluso cambiar el modulo desde el que se esta leyendo, puesto que el incremento o decremento de los modulos se deja al disenador. La instruccion de LECTURA con especificadores permite la seleccion del registro objetivo desde el que leerse, mientras que el N° de REG adicional permite controlar el numero de incrementos por modulo que se leeran.
- TRNF: la instruccion de transferencia permite que se lea un registro desde un modulo y se escriba en una localizacion o modulo diferente o (dependiendo del UDP). Se diferencia de estrategias de I2C convencionales que unicamente consideran operacion maestro-esclavo y no transferencia de datos de esclavo a esclavo. Como con la LECTURA, la TRNF permite transferencias preestablecidas. La variacion del especificador permite la eleccion del modulo de origen y de destino. Durante una transferencia el ACK de 9 bits se controla por una tercera parte maestra para evitar los modulos de RX y TX a los mismos ACK, impidiendo por lo tanto un re-inicio de evento de parada, y bloqueando el bus de I2C comun. Si uno de los modulos implicados esta sirviendo como el maestro, entonces debena seguirse el comportamiento de ACK apropiado para evitar ciclos infinitos.
Las operaciones de SRA por defecto leen el registro de estado desde los modulos en un grupo, en el orden determinado por el UDP; sin embargo, la actualizacion de los punteros se deja al disenador (como se ha establecido anteriormente) por lo que la informacion desde las banderas SCPS y el registro de ESTADO pueden usarse para permitir lecturas definidas por el usuario, que se denominan como lecturas rapidas. Esto se permite de manera deliberada, y puede ampliarse para permitir operaciones de transferencia tambien (los punteros de escritura no necesitan establecerse a 8h00 tras el inicio de un SRA, aunque es un valor por defecto), que se denominan como transferencias rapidas. Un ejemplo de una transferencia rapida util es cuando un modulo es responsable de la digitalizacion de una medicion (contiene un ADC, por ejemplo), sin embargo los datos necesitan asignarse en un modulo diferente (el objetivo de la medicion, por ejemplo), de esta manera una transferencia rapida permite mantener elementos en un STBY, transferir los datos y continuar con una medicion diferente (a traves de una instruccion STBY- SIGUIENTE o CAPT).
Otras realizaciones
En algunas realizaciones, el modulo de SCPS supone que dispositivos no compatibles con SCPS conectados al bus I2C compartido son compatibles con la norma UM10204 I2C.
En algunas realizaciones, todas las consideraciones electricas y de temporizacion son la responsabilidad del disenador de CI y debenan cumplir con la norma UM10204 I2C y cualquier norma adicional que se aplique.
En algunas realizaciones, en el caso de usar un formato de direccion de I2C de 10 bits para la identificacion de los grupos de sistemas, se supone que la direccion es unica en el sistema y no coincide con dispositivos no compatibles con SCPS conectados al bus I2C compartido.
En algunas realizaciones, en el caso de usar un formato de direccion de I2C de 8 bits para la identificacion del grupo de sistemas, se supone que el uso de la direccion de 7 bits reservada del protocolo alternativo no entrara en conflicto con protocolos alternativos adicionales conectados al bus I2C compartido, es decir los unicos dispositivos que responderan a la direccion de protocolo alternativa son compatibles con SCPS.
En algunas realizaciones, caractensticas de I2C opcionales tales como arbitracion, compresion de reloj, etc., son la responsabilidad del disenador de CI y debenan implementarse de tal manera que no entren en conflicto con operaciones de SCPS.
En algunas realizaciones, el interprete de I2C se implementa de tal manera que proporciona al modulo de SCPS con suficiente capacidad de control y capacidad de observacion de las lmeas de SDA y SCK.
En algunas realizaciones, los registros asociados al interprete de I2C (aquellos accesibles a traves de secuencias de I2C) cuando se consideran en el registro de SCPS deben ser accesibles directamente para el modulo de SCPS.
En algunas realizaciones, los registros y parametros definidos por el usuario estan formateados apropiadamente.
En algunas realizaciones, la respuesta de CI a operaciones de SCPS es la unica responsabilidad del disenador.
En algunas realizaciones, cualquier conflicto de encaminamiento que pueda tener lugar debido a configuracion imprevista aplicada a traves del modulo de SCPS es la unica responsabilidad del disenador del sistema.
En algunas realizaciones, cuando se usa el modulo de SCPS para estrategias de testigo, se supone que los modulos implicados verificaran la disponibilidad del recurso antes del uso y su responsabilidad del disenador para implementar cualesquiera salvaguardas relacionadas.
En algunas realizaciones, las salvaguardas relacionadas con la seguridad de sistema y/o usuario son la responsabilidad del disenador de sistema.
En algunas realizaciones, la coordinacion de accion inter-modulo supone un entendimiento o definicion de tiempo de 5 operacion preestablecida de respuestas, entre los disenadores de los instrumentos implicados.
En algunas realizaciones, las consideraciones electricas y de temporizacion que puede necesitarse considerar durante operaciones inter modulo son la responsabilidad del disenador de sistema.
10 En algunas realizaciones, el modulo de SCPS, las operaciones y estructura se pretenden para facilitar operaciones, mediciones y pruebas de datos inter modulo e intra modulo; sin embargo, las acciones espedficas de los instrumentos implicados son la responsabilidad del disenador, incluyendo consideraciones electricas y de temporizacion. Cualquier dano o perjuicio que pudiera tener lugar mientras se tienen los modulos de SCPS implementados es por lo tanto la responsabilidad del disenador.
15

Claims (12)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    1. Un modulo, designado por la presente como Configuracion, Captura, Proceso y Exploracion, definido posteriormente como modulo de SCPS, que comprende:
    - un submodulo de interprete; y
    - un modulo de banco de registros que comprende:
    - un registro de instruccion para almacenar la ultima instruccion valida;
    - un registro de estado para almacenar el estado de accion actual de la instruccion;
    - un registro de estado para almacenar el estado interno de dicho modulo de SCPS;
    - un registro de direccion de grupo para almacenar la direccion de grupo de dicho modulo de SCPS;
    - un registro de direccion de miembro para almacenar la direccion espedfica en el grupo de dicho modulo de SCPS;
    - un registro de puntero de registro de escritura para almacenar la direccion de registro objetivo en la que se va a escribir;
    - un registro de puntero de registro de lectura para almacenar la direccion de registro objetivo desde la que se va a leer;
    - un registro de puntero de escritura de grupo para almacenar la direccion de miembro en la que se va a escribir;
    - un registro de puntero de lectura de grupo para almacenar la direccion de registro objetivo desde la que se va a
    leer;
    - al menos un registro de testigo para almacenar un espacio de testigo de los recursos asociados que se han asignado a dicho modulo de SCPS;
    en el que el submodulo interprete esta configurado para recibir y responder a secuencias de I2C, complementado con secuencias de SCPS, en la recepcion de una instruccion precedida por cualquiera de:
    - una direccion de I2C;
    - una direccion de SCPS global que comprende una solicitud de direccion global de I2C seguida por una instruccion global de SCPS, definida posteriormente como SGI;
    - una direccion de SCPS de grupo que comprende una direccion de I2C de 10 bits seguida por una direccion de SCPS de grupo de 8 bits y por una instruccion de grupo; o
    - una direccion de SCPS espedfica de miembro que comprende una direccion de SCPS de grupo, seguida por una direccion de miembro y una instruccion espedfica de miembro.
  2. 2. El modulo de acuerdo con la reivindicacion anterior, en el que el modulo de banco de registros comprende al menos un registro definido por el usuario.
  3. 3. El modulo de acuerdo con cualquiera de las reivindicaciones anteriores, que comprende un submodulo de manejador de SCPS adicional del banco de elementos para servir como biblioteca de elementos de conmutacion.
  4. 4. El modulo de acuerdo con cualquiera de las reivindicaciones anteriores, en el que la instruccion global de SCPS, en lo sucesivo denominada como SGI, comprende:
    - una instruccion de estado;
    - una instruccion de bloqueo; o
    - una instruccion de solicitud.
  5. 5. El modulo de acuerdo con cualquiera de las reivindicaciones anteriores, en el que la instruccion espedfica de grupo o de miembro comprende:
    - un conjunto de instrucciones de configuracion;
    - un conjunto de instrucciones de captura;
    - un conjunto de instrucciones de proceso;
    - un conjunto de instrucciones de exploracion.
  6. 6. Un dispositivo, que comprende el modulo de SCPS descrito en cualquiera de las reivindicaciones 1 a 5.
  7. 7. Un bus de senal mixta, que comprende al menos uno del dispositivo, y una conexion al mismo, descrito en la reivindicacion anterior que se considera como un recurso compartido.
  8. 8. Metodo de operacion de un modulo de SPCS de acuerdo con cualquiera de las reivindicaciones anteriores, que comprende las etapas:
    - almacenar la ultima instruccion introducida valida, en el registro de instruccion;
    - almacenar el estado de accion actual de la instruccion, en el registro de estado;
    - almacenar el estado interno del modulo de SCPS, en el registro de estado;
    - almacenar la direccion de grupo del modulo actual, en el registro de direccion de grupo;
    - almacenar la direccion espedfica del modulo en el grupo del modulo actual, en el registro de direccion de miembro;
    - almacenar la direccion de registro objetivo en la que se va a escribir, en el registro de puntero de registro de escritura;
    - almacenar la direccion de registro objetivo desde la que se va a leer, en el registro de puntero de registro de lectura;
    5
    10
    15
    20
    25
    30
    - almacenar la direccion de miembro en la que se va a escribir, en el registro de puntero de escritura de grupo;
    - almacenar la direccion de miembro desde la que se va a leer, en el registro de puntero de lectura de grupo.
    - almacenar un espacio de testigo de los recursos asociados que se ha asignado a un modulo espedfico, en el al menos un registro de testigo,
    en el que cada uno de los bits del registro de testigo representa un testigo espedfico para un recurso compartido espedfico.
  9. 9. Metodo de acuerdo con cualquiera de las reivindicaciones 8 a 9, que comprende la etapa:
    - el submodulo de manejador de SCPS adicional del banco de elementos conmutando la capacidad de encaminamiento y funcionalidades de dispositivos direccionados.
  10. 10. Metodo de acuerdo con cualquiera de las reivindicaciones 8 a 10, que comprende las etapas:
    - ejecutar una instruccion de estado modificando el registro de estado, limpiando los registros de puntero, banderas internas y registro de testigo, si estan presentes, excepto una bandera global si esta presente;
    - ejecutar una instruccion de bloqueo estableciendo un nivel de bloqueo para el modulo de SCPS;
    - ejecutar una instruccion de solicitud coordinando el uso de recursos compartidos a traves de la verificacion de disponibilidad.
  11. 11. Metodo de acuerdo con cualquiera de las reivindicaciones 8 a 11, que comprende las etapas:
    - ejecutar una instruccion de configuracion limpiando punteros, banderas o registros, escribiendo o actualizando registros, bloqueando o liberando recursos de registro de testigo;
    - ejecutar una instruccion de captura inicializando multiples configuraciones secuenciales de etapa, accediendo de manera directa a configuraciones pre-dispuestas, enviando parametros de configuracion, iniciando una captura o finalizando una captura;
    - ejecutar una instruccion de proceso sincronizando acciones inter-modulo que no tienen dependencia inter-modulo directa, a traves de la utilizacion de ESTADOS dependientes preestablecidos o a traves de la utilizacion de especificadores, tanto a un nivel de grupo o espedficos de miembro;
    - ejecutar una instruccion de exploracion leyendo o transfiriendo desde registros de los modulos direccionados.
  12. 12. El modulo de acuerdo con cualquiera de las reivindicaciones 1 a 5, en el que dicho modulo esta configurado para implementar el metodo descrito en cualquiera de las reivindicaciones 8 a 11.
ES15723553.2T 2014-03-24 2015-03-24 Módulo de control para gestión de múltiples recursos de señales mixtas Active ES2694168T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PT10753714 2014-03-24
PT10753714 2014-03-24
PCT/IB2015/052141 WO2015145347A1 (en) 2014-03-24 2015-03-24 Control module for multiple mixed-signal resources management

Publications (1)

Publication Number Publication Date
ES2694168T3 true ES2694168T3 (es) 2018-12-18

Family

ID=53189853

Family Applications (1)

Application Number Title Priority Date Filing Date
ES15723553.2T Active ES2694168T3 (es) 2014-03-24 2015-03-24 Módulo de control para gestión de múltiples recursos de señales mixtas

Country Status (7)

Country Link
US (1) US9921835B2 (es)
EP (1) EP3123348B1 (es)
JP (1) JP6321221B2 (es)
KR (1) KR101842540B1 (es)
CN (1) CN106471483B (es)
ES (1) ES2694168T3 (es)
WO (1) WO2015145347A1 (es)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170371830A1 (en) * 2016-06-28 2017-12-28 Qualcomm Incorporated Accelerated i3c master stop
JP6976728B2 (ja) 2017-06-08 2021-12-08 ソニーセミコンダクタソリューションズ株式会社 通信装置、通信方法、プログラム、および、通信システム
JP6976729B2 (ja) * 2017-06-08 2021-12-08 ソニーセミコンダクタソリューションズ株式会社 通信装置、通信方法、プログラム、および、通信システム
JP6983542B2 (ja) * 2017-06-08 2021-12-17 ソニーセミコンダクタソリューションズ株式会社 通信装置、通信方法、プログラム、および、通信システム
US10417161B2 (en) 2018-01-26 2019-09-17 Qualcomm Incorporated Efficient technique for communicating between devices over a multi-drop bus
US11022511B2 (en) 2018-04-18 2021-06-01 Aron Kain Sensor commonality platform using multi-discipline adaptable sensors for customizable applications
CN108776590A (zh) * 2018-05-31 2018-11-09 湖南品腾电子科技有限公司 一种精简烧录方法及装置
JP7284751B2 (ja) * 2018-06-18 2023-05-31 ソニーセミコンダクタソリューションズ株式会社 通信システム、マスタデバイス、スレーブデバイスおよび通信方法
KR101986154B1 (ko) 2018-11-27 2019-06-05 주식회사 팜팜랩스 다수의 모듈을 구비하는 임베디드 시스템 및 모듈 관리 방법
CN111078604B (zh) * 2019-11-15 2022-06-03 苏州浪潮智能科技有限公司 一种i2c总线设备读写的方法及装置
CN113312217A (zh) * 2020-02-26 2021-08-27 瑞昱半导体股份有限公司 内部集成电路总线的从属装置的测试方法
CN111626010B (zh) * 2020-04-24 2022-08-23 广西华南通信股份有限公司 一种硬件兼容通用型i2c控制器ip核设计的方法及装置
CN111610435B (zh) * 2020-05-22 2022-06-10 Oppo广东移动通信有限公司 用于控制时钟门控单元的控制电路、芯片及控制方法
US20220046019A1 (en) * 2020-08-04 2022-02-10 Juniper Networks, Inc. Adding third party hardware to network devices
US20220180009A1 (en) * 2020-12-03 2022-06-09 Huawei Technologies Co., Ltd. Peripheral component interconnect express protection controller

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100244781B1 (ko) * 1997-07-10 2000-02-15 윤종용 고장예측과 자기진단 가능한 스카시 디바이스 및 이 디바이스에 의한 고장예측과 자기진단 방법
US6081783A (en) * 1997-11-14 2000-06-27 Cirrus Logic, Inc. Dual processor digital audio decoder with shared memory data transfer and task partitioning for decompressing compressed audio data, and systems and methods using the same
JP3894252B2 (ja) * 1998-05-29 2007-03-14 ソニー株式会社 情報処理システムおよび方法、並びに提供媒体
US20020056063A1 (en) 2000-05-31 2002-05-09 Nerl John A. Power saving feature during memory self-test
CN100353718C (zh) 2003-09-16 2007-12-05 华为技术有限公司 一种扩展i2c总线的系统及方法
CN1292360C (zh) * 2004-01-18 2006-12-27 中兴通讯股份有限公司 一种实现自动读写内部集成电路设备的装置和方法
JP2008009804A (ja) * 2006-06-30 2008-01-17 Sony Corp 情報処理装置および情報処理方法、情報処理システム、プログラム、並びに、記録媒体
CN100568211C (zh) * 2007-09-11 2009-12-09 中兴通讯股份有限公司 用可编程器件实现访问多个i2c从器件的方法及装置
CN101159972B (zh) * 2007-09-12 2011-04-20 华为技术有限公司 业务处理方法和处理系统以及业务控制点
US8093929B2 (en) * 2010-03-02 2012-01-10 Freescale Semiconductor, Inc. Programmable digital clock signal frequency divider module and modular divider circuit
US8319441B2 (en) * 2010-06-17 2012-11-27 Trend Lighting Corp. Road lamp dimming control device
US20120066423A1 (en) * 2010-09-13 2012-03-15 Boon Siang Choo Inter-integrated circuit bus multicasting
US8521942B2 (en) * 2011-03-21 2013-08-27 Microsoft Corporation HID over simple peripheral buses
TWI569205B (zh) * 2012-08-31 2017-02-01 威盛電子股份有限公司 一種微處理器及其操作方法
CN102866967B (zh) 2012-09-03 2015-08-26 杭州华三通信技术有限公司 I2c设备管理方法及复杂可编程逻辑器件cpld
CN103501026A (zh) * 2013-09-17 2014-01-08 武汉大学 一种基于Labview的锂电池管理系统
CN103593316B (zh) * 2013-11-25 2016-04-06 深圳市共进电子股份有限公司 一种减少mcu中断占用i2c总线时间的方法

Also Published As

Publication number Publication date
JP2017518585A (ja) 2017-07-06
JP6321221B2 (ja) 2018-05-09
CN106471483A (zh) 2017-03-01
KR101842540B1 (ko) 2018-03-27
EP3123348A1 (en) 2017-02-01
CN106471483B (zh) 2019-12-13
EP3123348B1 (en) 2018-08-22
KR20160124227A (ko) 2016-10-26
US9921835B2 (en) 2018-03-20
US20170115987A1 (en) 2017-04-27
WO2015145347A1 (en) 2015-10-01

Similar Documents

Publication Publication Date Title
ES2694168T3 (es) Módulo de control para gestión de múltiples recursos de señales mixtas
US10185563B2 (en) Control module for multiple mixed-signal resources management
US10445285B2 (en) Integrated data concentrator for multi-sensor MEMS systems
ES2313297T3 (es) Estructura de bus de dos canales de direcciones multiples.
US7529862B2 (en) System for providing access of multiple data buffers to a data retaining and processing device
US8543740B2 (en) Apparatus and method for increased address range of an I2C or I2C compatible bus
ES2371767T3 (es) Procedimiento y aparato para llevar a cabo una operación atómica de semáforo.
WO1995006378A1 (en) Serial interface for automotive application having reduced number of transmit and receive buffer registers
KR880001167B1 (ko) 외부 기억 장치 제어용 회로
WO2005106689A1 (en) Bus system for selectively controlling a plurality of identical slave circuits connected to the bus and method therefore
US7930535B1 (en) Method and apparatus for loading configuration data
US20190361833A1 (en) Bus system
US11216049B2 (en) Bus system
US10380061B2 (en) Dual I2C and SPI slave for FPGA and ASIC implementation
CN107750358B (zh) 数据处理方法
US20110268256A1 (en) Communication Apparatus, Programmable Device Incorporated in the Apparatus, and Method of Controlling Program Writing of the Device
KR20050046932A (ko) i2C 버스를 이용한 슬레이브 장치들의 상태 검사 시스템
JPWO2010097831A1 (ja) I2c監視シーケンシャルリードデータ記憶装置
CN100504712C (zh) 版本可编程电路模块
JP2018506795A (ja) 電圧出力制御システムと電圧出力システム
KR101816895B1 (ko) 섀시형 통신 장비를 위한 관리용 시리얼 버스
US8639860B2 (en) Data transfer system and data transfer method
JP2009130684A (ja) 制御信号通信方法、光トランシーバ装置
CN112817893A (zh) 具备扩充外部装置功能的桥接芯片以及扩充方法
JP2007072685A (ja) データ転送装置及び情報処理装置