ES2247692T3 - Metodo de transmision de datos y sistema de juego construido segun dicho metodo. - Google Patents
Metodo de transmision de datos y sistema de juego construido segun dicho metodo.Info
- Publication number
- ES2247692T3 ES2247692T3 ES98919599T ES98919599T ES2247692T3 ES 2247692 T3 ES2247692 T3 ES 2247692T3 ES 98919599 T ES98919599 T ES 98919599T ES 98919599 T ES98919599 T ES 98919599T ES 2247692 T3 ES2247692 T3 ES 2247692T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- peripheral
- expansion
- server
- function
- 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.)
- Expired - Lifetime
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 462
- 238000000034 method Methods 0.000 title claims description 142
- 230000002093 peripheral effect Effects 0.000 claims abstract description 423
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 claims abstract 12
- 230000006854 communication Effects 0.000 claims description 76
- 238000004891 communication Methods 0.000 claims description 75
- 230000004044 response Effects 0.000 claims description 74
- 238000001514 detection method Methods 0.000 claims description 22
- 230000000903 blocking effect Effects 0.000 claims description 12
- 230000008054 signal transmission Effects 0.000 claims description 11
- 230000000630 rising effect Effects 0.000 claims description 10
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 230000007704 transition Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 465
- 239000000872 buffer Substances 0.000 description 134
- 238000010586 diagram Methods 0.000 description 117
- 230000008569 process Effects 0.000 description 91
- 238000012545 processing Methods 0.000 description 61
- 239000000203 mixture Substances 0.000 description 55
- 238000012546 transfer Methods 0.000 description 46
- 230000008520 organization Effects 0.000 description 39
- 238000006073 displacement reaction Methods 0.000 description 29
- 238000004364 calculation method Methods 0.000 description 23
- 238000005192 partition Methods 0.000 description 19
- 230000008859 change Effects 0.000 description 16
- 238000003860 storage Methods 0.000 description 15
- 238000013500 data storage Methods 0.000 description 11
- 238000003780 insertion Methods 0.000 description 10
- 230000037431 insertion Effects 0.000 description 10
- 238000012544 monitoring process Methods 0.000 description 10
- 238000005070 sampling Methods 0.000 description 7
- 239000008186 active pharmaceutical agent Substances 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 6
- 239000002184 metal Substances 0.000 description 6
- 229910052751 metal Inorganic materials 0.000 description 6
- 238000013499 data model Methods 0.000 description 5
- 238000009432 framing Methods 0.000 description 5
- 108091008695 photoreceptors Proteins 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 101000855325 Oncorhynchus mykiss Cytochrome P450 2M1 Proteins 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005265 energy consumption Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001681 protective effect Effects 0.000 description 3
- 238000010187 selection method Methods 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 230000001143 conditioned effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000035699 permeability Effects 0.000 description 2
- 206010048669 Terminal state Diseases 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000004061 bleaching Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000010894 electron beam technology Methods 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000003863 physical function Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/14—Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01R—ELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
- H01R2107/00—Four or more poles
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01R—ELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
- H01R2201/00—Connectors or connections adapted for particular applications
- H01R2201/06—Connectors or connections adapted for particular applications for computer periphery
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01R—ELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
- H01R24/00—Two-part coupling devices, or either of their cooperating parts, characterised by their overall structure
- H01R24/60—Contacts spaced along planar side wall transverse to longitudinal axis of engagement
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Power Engineering (AREA)
- Information Transfer Systems (AREA)
- Pinball Game Machines (AREA)
- Communication Control (AREA)
- Dc Digital Transmission (AREA)
Abstract
PROPORCIONA UN NUEVO SISTEMA DE TRANSMISION DE DATOS ENTRE UN DISPOSITIVO DE JUEGO Y DISPOSITIVOS PERIFERICOS RELACIONADOS, Y UN DISPOSITIVO QUE LO UTILIZA. LA TRANSMISION EN SERIE DE DATOS SE DIVIDE EN UNA SECUENCIA DE BITS IMPARES Y UNA SECUENCIA DE BITS PARES. CADA BIT DE LA SECUENCIA DE BITS IMPARES SE DISTRIBUYE ENTRE PULSOS DE UNA PRIMERA SEÑAL DE SECUENCIA DE PULSOS CON UN INTERVALO CONSTANTE, FORMANDO ASI UNA PRIMERA SEÑAL DE SECUENCIA DE PULSOS (SDCKA). CADA BIT DE LA SECUENCIA DE BITS PARES SE DISTRIBUYE ENTRE PULSOS DE UNA SEGUNDA SEÑAL DE SECUENCIA DE PULSOS CON UN INTERVALO CONSTANTE, FORMANDO ASI UNA SEGUNDA SEÑAL DE SECUENCIA DE PULSOS (SDCKB). LOS EJES DE TIEMPO RESPECTIVOS SE AJUSTAN DE TAL FORMA QUE EL COMPONENTE DE RELOJ DE LA PRIMERA SEÑAL DE SECUENCIA DE PULSOS SE SITUA EN LA SECCION DE DATOS DE LA SEGUNDA SEÑAL DE SECUENCIA DE PULSOS, Y EL COMPONENTE DE RELOJ DE LA SEGUNDA SEÑAL DE SECUENCIA DE PULSOS SE SITUA EN LA SECCION DE DATOS DE LA PRIMERA SEÑAL DE SECUENCIA DEPULSOS. LOS DATOS SE TRANSMITEN UTILIZANDO ESTAS SEÑALES AJUSTADAS PRIMERA Y SEGUNDA DE SECUENCIA DE PULSOS.
Description
Método de transmisión de datos y sistema de juego
construido según dicho método.
La presente invención se refiere a una tecnología
de interfaz que proporciona una conexión mutua entre dispositivos
de procesamiento de datos, los cuales procesan datos, y
dispositivos periféricos, que conducen la entrada/salida de
información, y similares; y, más en particular, se refiere a un
nuevo estándar de tecnología de interfaz relacionado con las
conexiones entre los dispositivos de juego y aquellos periféricos
asociados.
Los métodos de transmisión de datos que se
emplean en las comunicaciones de datos entre una unidad principal
de un dispositivo de procesamiento de imágenes y los dispositivos
periféricos asociados a la misma incluyen:
- \bullet
- Sistema bus I^{2}C de Philips
- En este sistema, dos cables transmiten datos en serie y un reloj en serie. Los datos y el reloj están físicamente separados y la transmisión/recepción de datos y su reproducción son posibles gracias al método más simple. El bus I^{2}C se describe, por ejemplo, en el manual de instrucciones del sistema bus I^{2}C de Philips (enero 1992).
- \bullet
- Sistema de enlace DS de SGS - Thomson
- En este sistema, dos cables transmiten una señal de datos y señales de muestreo. Se reproduce una señal de reloj por medio de la señal de datos y de la señal de muestreo. Cuando los datos transmitidos cambian a un valor diferente, sólo cambia la señal de datos. Cuando los datos transmitidos tienen el mismo valor, sólo cambia la señal de muestreo. Por ejemplo, si cambian los datos transmitidos en la señal de datos de "0" \rightarrow "1" ó de "1" \rightarrow "0", entonces la señal de muestreo no cambia. Si los datos transmitidos en la señal de datos no cambian, por ejemplo "0" \rightarrow "0" ó "1" \rightarrow "1", entonces sólo cambia la señal de muestreo. Por tanto, si se realiza una operación OR-exclusivo para la señal de datos y la señal de muestreo, es posible reproducir la señal de reloj. El sistema de enlace DS se presenta en Nikkei Electronics, vol. 675, (4 noviembre 1996, pp. 167 - 171). En aquellos dispositivos destinados al consumidor, por ejemplo dispositivos de juego, es necesario usar un sistema de transmisión de datos y de conexión de interfaz estándar que se pueda utilizar con un bajo coste. Sin embargo, en el sistema de bus I^{2} mencionado, debido a que el límite de transición de la señal de datos tiene la misma temporización que el límite de transición del reloj, no es posible utilizar la señal de reloj directamente en la parte de reproducción de datos (desmodulación). Además, en el sistema de enlace DS se aplica una lógica OR-exclusivo a la señal de datos y a la señal de muestreo para reproducir un reloj de sincronización. La señal de datos debe muestrearse usando este reloj. Por tanto, el nivel de simplicidad de la estructura de circuitos de la interfaz no satisface adecuadamente las condiciones de los dispositivos de juego domésticos, ya que es muy importante que los precios sean bajos.
En US 3.909.541 se describe una estructura
"framing" de baja velocidad para un flujo de bits digital de
alta velocidad. Un flujo de bits de alta velocidad que comprende
información procedente de múltiples canales multiplexados y bits
"framing" se divide sin ninguna restricción en varias flujos
de bits de baja velocidad. Los flujos de bits de baja velocidad se
dividen entonces de forma condicionada para formar un nuevo grupo
de flujos de bits, y los nuevos flujos de bits son examinados en un
detector de frames. Este detector varía la sincronización de la
división condición según los flujos de bits hasta que aparece un
patrón "framing" predeterminado entre los nuevos flujos de
bits. La naturaleza de la coincidencia del patrón de framing
identifica el modo de funcionamiento de la división no
condicionada. Los nuevos flujos de bits se transfieren, de acuerdo
con el modo de funcionamiento, para proporcionar múltiples salidas,
donde cada salida corresponde a un canal multiplexado determinado
independientemente del modo de funcionamiento de la división no
condicionada.
Por tanto, un objeto de la presente invención es
proporcionar un sistema de transmisión de datos para una interfaz
que tiene una composición de circuitos de bajo coste y que se puede
aplicar a un dispositivo de procesamiento de imágenes, por ejemplo
a un sistema de juego doméstico. Otro objeto de la presente
invención es proporcionar un sistema de transmisión de datos para
una interfaz, donde los datos se pueden separar de aquellos datos
que portan señales mediante una composición de circuitos
simple.
Es otro objeto de la presente invención
proporcionar un dispositivo de juego y un dispositivo periférico
asociado que comprenda interfaces, donde los datos se pueden
separar de los datos que portan señales mediante una composición de
circuitos simple.
Es otro objeto de la presente invención
proporcionar una tecnología básica para desarrollar varios tipos de
dispositivos periféricos, proponiendo una tecnología de interfaz
novedosa entre un dispositivo de juego y un dispositivo
periférico.
El objetivo se alcanza mediante un método de
transmisión de datos según la reivindicación 1, un dispositivo de
juego según la reivindicación 7 y un dispositivo periférico según
la reivindicación 12. Otras novedades de la invención se indican en
las reivindicaciones dependientes respectivas.
De este modo es posible crear una interfaz de
comunicaciones en la que los circuitos de modulación y
desmodulación se pueden formar de manera relativamente fácil con un
pequeño número de líneas de transmisión de datos (a saber, dos
líneas de transmisión de datos).
El dispositivo de juego relacionado con el método
de transmisión de datos puede separar fácilmente los datos ya que
una o las dos señales de datos comprenden un componente reloj de
transmisión. El circuito de modulación y de desmodulación se puede
construir de manera relativamente fácil.
Ya que el formato de señal para las
comunicaciones de datos entre el dispositivo de juego y el
dispositivo periférico está estandarizada mediante un formato de
frame, se puede garantizar fácilmente la compatibilidad entre el
dispositivo de juego y múltiples tipos de dispositivos
periféricos.
Es posible aislar fácilmente los datos
superpuestos en una señal de datos mediante el otro reloj.
El dispositivo de juego puede identificar, a
partir de los datos de transmisión recibidos, la dirección del
dispositivo periférico en la vía de transmisión de datos y las
características de tal dispositivo periférico.
Las comunicaciones de datos directas se realizan
entre el dispositivo de juego y los dispositivos periféricos de
expansión.
Es posible evitar el uso de dispositivos de juego
que sean incompatibles con los sistemas o aplicaciones denominados
"plug and play".
El método de transmisión de datos según la
presente invención se puede aplicar a un dispositivo de juego.
Conectando el dispositivo periférico a un
dispositivo de juego que tiene múltiples puertos de entrada y
salida, éste dirige las comunicaciones de datos con el dispositivo
de juego y crea una dirección origen para si mismo en la vía de
transmisión de datos con la información que se refiere a los
puertos de entrada y salida tal como lo indica el dispositivo de
juego, e información que representa el tipo de dispositivo
periférico que incluye el mismo dispositivo.
El dispositivo periférico de expansión dirige las
comunicaciones de datos con un dispositivo de juego que comprende
múltiples puertos de entrada y salida mediante un dispositivo
periférico (dispositivo periférico base) que tiene múltiples
conectores de expansión conectados en paralelo a cualquiera de los
puertos de entrada y salida. Éste crea una dirección fuente que se
emplea en las comunicaciones de datos gracias a la información que
se refiere al puerto de entrada/salida, tal como lo indica el
dispositivo de juego, e información que se refiere al conector de
expansión utilizado, tal como lo indica el dispositivo periférico.
La dirección fuente no es simplemente una dirección, sino que
también incluye información específica. Este tipo de función del
dispositivo periférico es adecuada para sistemas "plug and
play" y similares.
Figura 1: diagrama ilustrativo que muestra
ejemplos de un servidor (dispositivo de juego) 1, un dispositivo
periférico 2 y un dispositivo periférico de expansión 3.
Figura 2: organigrama que muestra un sistema de
control del servidor.
Figura 3: organigrama que ilustra relaciones de
conexión entre un servidor y los dispositivos.
Figura 4: organigrama que ilustra las relaciones
entre un servidos, dispositivos superiores y dispositivo
inferiores.
Figura 5: organigrama que ilustra la asignación
de posiciones absolutas.
Figura 6: organigrama que ilustra que los
dispositivos tienen permeabilidad posicional cuando se miran desde
el servidor.
Figura 7: diagrama que ilustra la composición de
un frame de datos transferidos.
Figura 8: organigrama que ilustra la composición
de una interfaz a partir de la zona software.
Figura 9: organigrama que ilustra los niveles del
protocolo de transmisión entre un servidor y un dispositivo.
Figura 10: diagrama que ilustra un sistema de
transmisión de datos.
Figura 11: diagrama que ilustra un formato
estándar de un frame de transmisión.
Figura 12: diagrama que ilustra un formato de
frame de transmisión que comprende una opción CRC.
Figura 13: diagrama que ilustra (a) un modelo de
puesta en marcha y (b) un modelo de fin de un patrón de
sincronización.
Figura 14: diagrama que ilustra un modelo de
puesta en marcha con opción CRC.
Figura 15: diagrama que ilustra un patrón de
permiso de ocupación SDCKB.
Figura 16: diagrama que ilustra un modelo de
reinicialización.
Figura 17: diagrama que ilustra un modo de
comunicación entre un servidor y una función de dispositivo.
Figura 18(a): diagrama que ilustra un
aspecto del bus M donde las comunicaciones de datos se realizan de
manera intermitente de acuerdo con un formato según el cual las
funciones del dispositivo responden a los comandos del servidor.
Figura 18 (b): diagrama que ilustra un ejemplo
donde los datos que se van a transmitir son largos, y los datos se
transmiten de manera intermitente mediante múltiples frames de
transmisión.
Figura 19: diagrama que muestra una ilustración
aproximada del funcionamiento de un dispositivo.
Figura 20: diagrama que ilustra un procedimiento
de establecimiento de posición absoluta (AP).
Figura 21: diagrama de circuito en bloques que
ilustra un MIE servidor.
Figura 22: diagrama de circuito en bloques que
ilustra los principios de funcionamiento de un codificador de
frame.
Figura 23: tabla de tiempos que ilustra el
funcionamiento de un codificador frame.
Figura 24: diagrama de circuito en bloques que
ilustra los principios de funcionamiento de un registro de
desplazamientos alternos.
Figura 25: tabla de tiempos que ilustra el
funcionamiento de un registro de desplazamientos alternos
(conversión paralelo a serie).
Figura 26: diagrama de circuito en bloques que
ilustra los principios de funcionamiento de un decodificador de
frame.
Figura 27: tabla de tiempos que ilustra el
funcionamiento de un decodificador de frame.
Figura 28: diagrama de circuito en bloques que
ilustra los principios de funcionamiento de un registro de
desplazamientos alternos (conversión serie a paralelo).
Figura 29: tabla de tiempos que ilustra el
funcionamiento de un registro de desplazamientos alternos.
Figura 30: organigrama que ofrece una ilustración
aproximada de la composición general de un controlador
estándar.
Figura 31: organigrama que ilustra un MIE de
controlador estándar.
Figura 32: organigrama que ilustra una sección de
conexión de bus que es permeable a los datos (permeabilidad
posicional).
Figura 33: diagrama de circuito en bloques que
ilustra un MIE de dispositivo U.
Figura 34: diagrama de circuito en bloques que
ilustra un MIE de dispositivo L.
Figura 35: organigrama que ilustra la
identificación de un modelo de transmisión en un MIE.
Figura 36: organigrama que ilustra la formación
de una señal de frame de formato estándar.
Figura 37: organigrama que ilustra la formación
de una señal frame de un formato con opción CRC.
Figura 38: organigrama que ilustra el
funcionamiento mediante un modelo de ocupación SDCKB.
Figura 39: organigrama que ilustra la transmisión
de un modelo de reinicialización.
Figura 40: organigrama que ilustra la operación
de recepción de un MIE.
Figura 41: organigrama que ilustra el
procesamiento en un caso en el que se detecta un modelo de puesta
en marcha.
Figura 42: organigrama que ilustra el
procesamiento en un caso en el que se detecta un modelo de puesta
en marcha que comprende CRC.
Figura 43: organigrama que ilustra un ejemplo en
el que el servidor lee información inherente que incluye el
dispositivo.
Figura 44: diagrama que ilustra múltiples modos
para conectar un servidor, dispositivos base y dispositivos de
expansión.
Figura 45: diagrama que ofrece una ilustración
conceptual de la relación entre un servidor y las funciones
(dispositivos base y dispositivos de expansión).
Figura 46: diagrama que ilustra la comunicación
de datos entre un servidor, un dispositivo base y un dispositivo de
expansión, mediante un modelo en capas.
Figura 47: diagrama que ilustra las relaciones de
conexión entre un dispositivo base y dispositivos de expansión.
Figura 48: diagrama que ilustra la composición de
los datos del frame.
Figura 49: diagrama que ilustra un Time Out
(exceso de tiempo permitido).
Figura 50: diagrama que ilustra la transmisión de
datos mediante una señal SDCKA y una señal SDCKB.
Figura 51: diagrama que ilustra un modelo de
puesta en marcha y un modelo de terminación.
Figura 52: diagrama que ilustra un patrón de
permiso de ocupación SDCKB.
Figura 53: diagrama que ilustra un modelo de
reinicialización.
Figura 54: diagrama que ilustra un formato de
frame.
Figura 55: diagrama que ofrece una ilustración
aproximada de una transmisión de datos entre un servidor y un
dispositivo periférico (dispositivo base o dispositivo de
expansión).
Figura 56(a): diagrama que ilustra cómo se
realizan comunicaciones de datos de manera intermitente mediante un
formato donde los dispositivos responden a comandos transmitidos por
el servidor a los dispositivos.
Figura 56(b): diagrama que ilustra un
ejemplo en el que los datos que se van a transmitir se dividen en
múltiples de datos y se transmiten de manera intermitente mediante
múltiples frames de transmisión, cuando los datos que se van a
transmitir sobrepasan el volumen que se puede transmitir mediante un
único frame de transmisión.
Figura 57: diagrama que ilustra todos los valores
AP para un servidor, dispositivos base y dispositivos de
expansión.
Figura 58: diagrama que ilustra un procedimiento
de selección AP (dirección absoluta) para un dispositivo base.
Figura 59: diagrama que ilustra un procedimiento
de selección AP (dirección absoluta) para un dispositivo de
expansión.
Figura 60: diagrama que ilustra una transferencia
de datos de frame entre un servidor, un dispositivo base y un
dispositivo de expansión.
Figura 61: diagrama que ilustra un procedimiento
de comunicación normal entre un servidor y un dispositivo base (o
dispositivo de expansión).
Figura 62: diagrama que ilustra un procedimiento
de ocupación SDCKB entre un servidor y un dispositivo base.
Figura 63: organigrama que ilustra un MIE
servidor.
Figura 64: organigrama que ilustra la composición
de un dispositivo base.
Figura 65: organigrama que ilustra la composición
de un MIE de dispositivo base.
Figura 66: organigrama que ilustra una conexión
entre un dispositivo base y un dispositivo de expansión.
Figura 67: diagrama que ilustra un procedimiento
en un caso en el que un dispositivo base recibe datos de un
servidor.
Figura 68: diagrama que ilustra un procedimiento
en un caso en el que un dispositivo base recibe datos del servidor
que se refieren a un volumen superior al búfer de transmisión y
recepción.
Figura 69: diagrama que ilustra un procedimiento
en un caso en el que se transmiten datos desde un dispositivo base
al servidor.
Figura 70: diagrama que ilustra un procedimiento
en un caso en el que datos con un volumen superior al búfer de
transmisión y recepción del MIE se transmiten de un dispositivo base
a un servidor.
Figura 71: diagrama que ilustra un comando
"Device Request".
Figura 72: diagrama que ilustra un comando "All
Status Request".
Figura 73: diagrama que ilustra un comando
"Device Reset".
Figura 74: diagrama que ilustra un comando
"Device Kill".
Figura 75: diagrama que ilustra un comando
"Data Transfer".
Figura 76: diagrama que ilustra un comando "Get
Condition".
Figura 77: diagrama que ilustra un comando "Get
Media Info".
Figura 78: diagrama que ilustra un comando
"Block Read".
Figura 79: diagrama que ilustra un comando
"Block Write".
Figura 80: diagrama que ilustra un comando "Get
Last Error".
Figura 81: organigrama que muestra un ejemplo de
un dispositivo base (controlador de juego) que tiene una dirección
relativa.
Figura 82: organigrama que muestra un ejemplo de
un dispositivo base (controlador de juego) que tiene una dirección
absoluta.
Figura 83: organigrama que muestra un ejemplo de
un dispositivo de expansión (cartucho LCD) que tiene una dirección
relativa.
Figura 84: organigrama que muestra un ejemplo de
un dispositivo de expansión (cartucho LCD) que tiene una dirección
absoluta.
Figura 85: organigrama que muestra un ejemplo de
un dispositivo de expansión (cartucho de memoria) que tiene una
dirección relativa.
Figura 86: organigrama que muestra un ejemplo de
un dispositivo de expansión (cartucho de memoria) que tiene una
dirección absoluta.
Figura 87: organigrama que muestra un ejemplo de
un dispositivo de expansión (cartucho vibratorio) que tiene una
dirección relativa.
Figura 88: organigrama que muestra un ejemplo de
un dispositivo de expansión (cartucho vibratorio) que tiene una
dirección absoluta.
Figura 89: organigrama que muestra un ejemplo de
un dispositivo de expansión (cartucho de arma luminosa) que tiene
una dirección relativa.
Figura 90: organigrama que muestra un ejemplo de
un dispositivo de expansión (cartucho de arma luminosa) que tiene
una dirección absoluta.
Figura 91: organigrama que muestra un ejemplo de
un dispositivo de expansión (cartucho de entrada de sonido) que
tiene una dirección relativa.
Figura 92: organigrama que muestra un ejemplo de
un dispositivo de expansión (cartucho de entrada de sonido) que
tiene una dirección absoluta.
Figura 93: organigrama que muestra un ejemplo de
un dispositivo de expansión (cartucho de salida de sonido) que
tiene una dirección relativa.
Figura 94: organigrama que muestra un ejemplo de
un dispositivo de expansión (cartucho de salida de sonido) que
tiene una dirección absoluta.
Figura 95: diagrama que muestra un ejemplo en el
que un bus M está formado por un sistema inalámbrico (radio).
Figura 96: diagrama que muestra otro ejemplo en
el que un bus M está formado por un sistema inalámbrico
(transmisión óptica).
Figura 97(a): diagrama que muestra un
conector de bus M de un controlador de juego.
Figura 97(b): diagrama que ilustra un
conector de bus M de un controlador de juego.
Figura 98: diagrama que muestra otro ejemplo de
un controlador de juego.
Figura 99: vista lateral que ilustra un ejemplo
de socket de un conector bus M.
Figura 100(a): vista lateral que ilustra
una clavija de conector de bus M.
Figura 100(b): vista superior de esa
clavija.
Figura 100(c): una vista frontal de esa
clavija.
Figura 101: diagrama de un conector situado en un
lateral del dispositivo periférico (dispositivo base) de un cable
de bus M.
Figura 102(a): vista superior de una
socket de conector bus LM.
Figura 102(b): vista frontal de esa
clavija.
Figura 103(a): vista superior de una
clavija de conector de bus LM.
Figura 103(b): vista frontal de esa
clavija.
En primer lugar, y con referencia a las Figuras 1
y 2, se describe un resumen de la composición del sistema. La
Figura 1 es un diagrama ilustrativo para describir un dispositivo
de juego que comprende un sistema informático. La Figura 2 es un
organigrama para describir un sistema de control para este
dispositivo de juego.
El dispositivo de juego (servidor) 1 comprende:
una CPU 1a para ejecutar programas de juego y similares; una ROM 1b
para almacenar programas de control, datos, OS y similares, para el
dispositivo de juego; un dispositivo CD-ROM 1c para
almacenar programas de aplicación y datos de juegos; un controlador
de bus 1d para controlar la transferencia de datos entre la CPU y
otras secciones; una RAM 1e para almacenar programas y datos para la
CPU 1a, que se usan en el procesamiento de datos; un procesador de
dibujo 1f para generar señales de imagen a partir de datos del
dibujo; un procesador de sonido 1g para formar señales de sonido a
partir de datos de sonido; una interfaz periférica 1h para
transferir datos entre la CPU 1a y los dispositivos periféricos
externos; y similares. Una parte de la RAM 1e se utiliza como RAM de
trabajo para procesar datos periféricos, facilitando así una
operación denominada DMA. Una señal de imagen y una señal de sonido
se suministran a un monitor 4 (por ejemplo un monitor de televisión)
y se general salidas de imágenes de vídeo y sonido. Los dispositivos
periféricos comprenden dispositivos periféricos básicos 2 y
dispositivos periféricos de expansión 3. Los dispositivos
periféricos básicos 2 se conectan a la interfaz periférica 1h
mediante un conector 1i y los dispositivos periféricos de expansión
3 se conectan a los dispositivos periféricos básicos 2. Los
dispositivos periféricos básicos 2 y los dispositivos periféricos de
expansión 3 se conectan eléctricamente (o mediante una estructura
lógica) al servidor en paralelo. Los dispositivos periféricos
básicos 2 son, por ejemplo, controladores de juego, y los
dispositivos periféricos de expansión 3 son, por ejemplo,
dispositivos de entrada de sonido, de salida de sonido, módulos de
armas de rayos luminosos, dispositivos vibrantes, dispositivos de
memoria o similares.
Aquí, en el primer modo de ejecución descrito
(primer modelo de interfaz), los dispositivos periféricos se
investigan en lo que se refiere a la función que realizan y éstos
se dividen en dispositivos de función U y de función L. Esta
clasificación tiene en cuenta el hecho de que, además de los casos
en los que un único dispositivo periférico realiza una sola
función, también existen casos en los que un único dispositivo
periférico realiza múltiples funciones, y casos en los que
múltiples dispositivos periféricos realizan una única función.
Por otro lado, en el segundo modo de ejecución
descrito posteriormente (segundo modelo de interfaz), los
dispositivos periféricos se dividen en dispositivos periféricos
básicos y dispositivos periféricos de expansión dependiendo de las
relaciones entre los dispositivos.
En líneas generales, los modos de llevar a cabo
la presente invención se clasifican en un primer modo de ejecución
y en un segundo modo de ejecución.
Primer modo de
ejecución
Inicialmente, el significado de la terminología
que se usa en el primer modelo de interfaz según la presente
invención se describe haciendo referencia a las figuras.
En primer lugar, los datos que se han obtenido
expandiendo datos en una serie de tiempos se denominan "datos en
serie". Una línea de señal que intercambia datos como de datos
en serie se denomina "bus en serie". Un bus en serie que
conecta un dispositivo de juego y dispositivos periféricos mediante
el modelo de interfaz según la presente invención se denomina bus M
(bus-M).
El número de identificación del sistema de
registro asignado inicialmente a la función del dispositivo de cada
dispositivo periférico se denomina "ID del dispositivo". Se
pueden preparar múltiples tipos de dispositivos, por ejemplo 256
tipos de dispositivos ID. También es posible tener varios de los
múltiples los dispositivos en un único puerto.
La sección mediante la cual se puede conectar un
dispositivo periférico a un dispositivo controlador periférico de
juego a través del bus M se denomina "puerto". El bus M
permite la conexión activa de múltiples puertos. Es posible, por
ejemplo, incluir 16 puertos, aunque este modo de ejecución se
refiere a un ejemplo en el que se incluyen cuatro puertos (puerto
A, puerto B, puerto C, puerto D).
Como se muestra en la Figura 3, el dispositivo de
juego se denomina "servidor" y una función del dispositivo
periférico conectada al mismo se denomina "función de
dispositivo". Ya que la "función de dispositivo" indica una
función de un dispositivo más que al dispositivo en su mismo
(producto), además de los casos en los que un único dispositivo
realiza una única función, es posible también dividir la función de
un único dispositivo en múltiples funciones, cada una de las cuales
es aceptada como una función de dispositivo. En el bus M hay un
dispositivo servidor que se conecta a las funciones de dispositivo
en una configuración en árbol. Cada función de dispositivo aparece
como si estuviera presente en el mismo bus M. Se pueden conectar
múltiples funciones de dispositivo, por ejemplo 14 funciones de
dispositivo, a un único puerto. Las funciones de dispositivo
permiten a los dispositivos periféricos del dispositivo de juego
funcionar, por ejemplo, como un controlador de juego, un bloque de
juegos, un joystick, un teclado, un dispositivo de control de
imitación, un arma de imitación, un dispositivo de grabación, un
dispositivo de sonido y similares.
Como se muestra en la Figura 4, las funciones de
dispositivo se dividen en dos tipos: "función de dispositivo
superior (U)" y "función de dispositivo inferior (L)". Las
funciones de dispositivo U se pueden conectar al servidor. Las
funciones de dispositivo U tienen capacidad para controlar las
funciones de dispositivo L. Las funciones de dispositivo L están
basadas en la premisa de que están conectadas (o pueden conectarse)
con una función de dispositivo U. Un bus M que conecta una función
de dispositivo-L a una función de
dispositivo-U se denomina "bus LM".
Si no se proporciona al menos una función de
dispositivo U en un puerto, ese puerto no se puede utilizar.
Principalmente, los controladores del dispositivo de juego forman
funciones de dispositivo U y los dispositivos de expansión
(conectados periféricamente) forman funciones de dispositivo L. El
bus M se puede conectar, por ejemplo, a un máximo de 14 funciones
de dispositivo-L.
Además, es posible conectar una función de
dispositivo-U a una función de
dispositivo-U. En este caso, la función de
dispositivo-U conectada se convierte en una función
de dispositivo-L. No es necesario separar
físicamente las funciones de dispositivo-U y las
funciones de dispositivo-L y otra función del
dispositivo que está separado de manera lógica dentro de la función
de dispositivo-U puede formar una función de
dispositivo-L.
Por ejemplo, dentro del IC de control de función
del dispositivo (por ejemplo un microordenador o microcontrolador)
del dispositivo periférico, las secciones de control digital y
analógico se pueden ajustar mediante función como funciones de
dispositivo-U y funciones de
dispositivo-L, respectivamente, y cuando no se
emplea una sección de control analógico, es decir una función de
dispositivo-L, es posible inutilizar esa
sección.
Según muestra la Figura 5, se asignan números en
orden a cada función de dispositivo desde un puerto A, de manera que
se puede acceder directamente a cada una de las múltiples funciones
de dispositivo a través del servidor en cada puerto del mismo. El
número de identificación (o símbolo) de acceso asignado a cada
función de dispositivo se denomina "posición absoluta
(AP)".
En el bus M, se asignan múltiples funciones de
dispositivo a un único puerto del servidor. La relación entre el
número de puertos en el bus M y el número de APs se expresa con la
siguiente ecuación:
(máximo número
de puertos) x (máximo número de APs asignados a un puerto) =
constante
En el bus M según el modo de ejecución, la
"constante" se toma para representar un byte. En este caso, (4
puertos (máximo 16 puertos)) x (APs para un máximo número de
puertos) = 1 byte.
De los 16 APs, un AP se reserva para el puerto de
servidor, con lo cual hay un máximo de 15 APs asignados a cada uno
de los puertos. Por tanto, se puede usar un máximo de 15 funciones
de dispositivo en un puerto. Además, ya que una función de
dispositivo U está conectada a un puerto, el máximo número de
funciones de dispositivo L en cada puerto es de 14.
El rando de números que se pueden emplear en un
puerto se designa para cada puerto mediante los APs asignados a las
funciones de dispositivo. Por ejemplo, el AP se compone de la
siguiente manera:
- Bit
- 76543210
- AP
- pppp\Box\Box\Box\Box
Aquí "pppp" es el número de puerto (puerto A
= "0000", puerto B = "0001", C = "0010", puerto D =
"0011"), y "\Box\Box\Box\Box" es el número de
serie ("0000" (decimal de "0") - "1111" (decimal de
"15")). En consecuencia, los APs para un máximo de funciones
de dispositivo es quince, y se pueden ajustar quince funciones de
dispositivo en un puerto.
Si se indica en valores binarios, el valor AP de
la función de dispositivo es "00000001" - "00001111" en
el puerto A, "000100001" - "00011111" en el puerto B,
"00100001" - "00101111" en el puerto C y "00110001" -
"00111111" en el puerto D.
Si se indica en valores decimales, los valores
anteriores son 1-15, 17-31,
33-47, 49-63, y en valores
hexadecimales, #01 - #0F, #11 - #1F, #21 - #2F y #31 - #3F.
El AP de cada puerto del servidor visto desde la
función de dispositivo es siempre el menor valor AP que se puede
utilizar en ese puerto, y en el puerto A, es #00, en el puerto B,
es #10 (16), en el puerto C, es #20 (32) y en el puerto D es #30
(48). La función de dispositivo y el servidor pueden identificar el
puerto al que está conectado mediante los primeros cuatro bits del
AP. El acceso a la función de dispositivo especifica una función de
dispositivo a la que accede este AP.
Si la designación de un AP relacionado a cada
función de dispositivo es al mismo tiempo la designación de una
función de dispositivo, el servidor puede acceder directamente a
cada función de dispositivo del dispositivo periférico. Por tanto,
como se muestra en la Figura 6, vista desde el servidor, el
servidor aparece conectado directamente a cada función de
dispositivo. Dicho de otro modo, cada dispositivo aparece conectado
al mismo bus.
El intercambio de datos entre el servidor y la
función de dispositivo no se realiza mediante comunicaciones
unidireccionales convencionales, sino que se hace utilizando
determinadas instrucciones específicas, por ejemplo se pueden
transmitir y recibir datos adecuados de ese momento y lugar. Estas
instrucciones se denominan "comandos". Los datos de comando se
denominan "parámetros".
Un ciclo de datos de transmisión se compone de un
frame (por ejemplo 256 bytes) que comprende un comando + un
parámetro, como se muestra en la Figura 7. El parámetro puede
incluir datos de AP, tamaño de los datos, y datos, o se pueden
omitir los datos.
En principio, el servidor accede a una función de
dispositivo mandando un comando. Cuando la función de dispositivo ha
preparado los datos correspondientes, manda un comando al servidor y
envía los datos. En el bus M se puede preparar, por ejemplo, un
máximo de 254 comandos y se puede transmitir un máximo de 253 bytes
de datos.
Un lugar para conectar un dispositivo de
expansión para expandir las funciones del dispositivo periférico,
por ejemplo un controlador de juego que funciona como un dispositivo
de entrada de ejecución de juegos, se denomina "socket de
expansión". En principio, los dispositivos L están conectados a
sockets de expansión. Un controlador de juego estándar puede
comprender, por ejemplo, dos sockets de expansión. El bus M puede
estar provisto de un número de sockets de expansión igual al número
de funciones de dispositivo L, por ejemplo 14 en el caso de este
modo de ejecución.
Un circuito que transforma datos determinados en
datos en serie para el bus M, de manera que se pueden comunicar a
través del bus M, se denomina "motor I/E del bus M" (MIE).
Todos los dispositivos estándar de bus M comprenden MIEs de este
tipo. El servidor incorpora un MIE de servidor, las funciones de
dispositivo U, un MIE de función de dispositivo U, las funciones de
dispositivo L y un MIE de función de dispositivo L.
Como se muestra en la Figura 8, para que el
servidor tenga acceso a una función del dispositivo, siempre es
necesario operar a través de un software (driver de bus M) que
ejerza un control general sobre las funciones del dispositivo. El
driver de bus M controla y gestiona las funciones del dispositivo.
Este driver de bus M gestiona el ID del dispositivo (número de
identificación de función), el AP (posición absoluta), el puerto,
etc, y controla y gestiona la recepción y transmisión de comandos,
el formato de los datos y similares. Los comandos se pueden
aumentar mejorando (modernizando) y aumentando el driver de bus
M.
En el bus M, todas las funciones de dispositivo
tienen obligación de contener información particular de si mismas
(información inherente) grabada según un formato prescrito. Esta
función de dispositivo se denomina "Estado de
dispositivo".
El estado de dispositivo graba el nombre del
producto, la ID del dispositivo, el número de modelo, el destino,
el número de buses LM, y similares, como datos de gestión, y el
consumo de energía en estado de espera y el consumo de energía
máximo, etc, como datos eléctricos (información hardware). El
driver de bus y la interfaz del programa de aplicación (API)
gestionan y utilizan el estado del dispositivo; por ejemplo,
permite identificar el nombre del producto y la capacidad de
conexión del dispositivo periférico, y permite que se pueda
controlar la energía de todos los puertos en base al máximo consumo
de energía, y similares.
La Figura 9 ofrece una ilustración aproximada del
objeto propuesto del presente modelo de interfaz. El software de
aplicación que se realiza en el servidor controla la comunicación de
datos con las funciones de dispositivo en los dispositivos
periféricos vía el software llamado API, o directamente dando
instrucciones al driver de bus M. Los comandos que forman el driver
de bus M según las instrucciones se suministran vía el MIE del
servidor, el cable, el MIE del dispositivo periférico y el
controlador de MIE, al software de control, que forma el núcleo de
las funciones de dispositivo del dispositivo periférico. Este
software de control envía una respuesta correspondiente al comando
en cuestión al software de aplicación que se realiza en el servidor
vía el controlador de MIE, el MIE de dispositivo periférico, el
cable, el MIE del servidor y el driver de bus. Es posible
proporcionar generar múltiples funciones de dispositivo en un
dispositivo periférico y, en este caso, es posible que cada función
de dispositivo comparta el uso de un MIE. Aquí, los MIEs, los cables
de conexión, etc, representan niveles físicos, y el driver de bus M
y el controlador de MIE representan niveles lógicos.
A continuación se describe la transmisión de
datos al bus M. En el bus M, la transmisión de datos se realiza
mediante un sistema en serie sincronizado. Los cables de conexión
comprenden un total de cuatro líneas: un par de líneas de corriente
(Vcc, GND) y un par de líneas de transmisión de datos (SDCKA, SDCKB:
bidireccionales). Si es necesario, se añade un cable protector para
proteger el cable de conexión con miras a evitar ruidos. La
transmisión y recepción de datos utiliza un sistema semiduplex de
comunicaciones bidireccional que se ajusta a una velocidad de
transferencia de datos adecuada, por ejemplo 2 Mbps.
A continuación se describen los principios de
transmisión de datos con referencia a la Figura 10. Los datos se
transmiten mediante un reloj de transmisión de datos en serie (SDCK)
A y un reloj de transmisión de datos en serie (SDCK) B, que propagan
una línea de datos. Cuando transmiten los datos, los relojes de
transmisión de datos en serie A y B comprenden un componente de
reloj y forman alternativamente un borde negativo (borde
descendente), como se muestra en la Figura 10. Dicho de otro modo,
como se muestra en la sección de modelos de datos de la Figura 11,
los bits de datos se introducen entre cada impulso de la secuencia
de impulsos del reloj de transmisión y los relojes de transmisión de
datos en serie A y B se desplazan relativamente entre si una
distancia adecuada por el eje del tiempo (un salto de tiempo por el
cual el borde de impulso de una señal se coloca en la sección de
datos de la otra señal). En el lado de recepción, la sección de
datos de una señal se bloquea de acuerdo con la sincronización del
borde negativo de la ondulación de la otra señal, y esta sección de
datos se lee para producir datos (reproducción de datos). Los datos
se transfieren comenzando por el bit más significativo (MSB). Un
circuito para llevar a cabo la transmisión de datos de este modo se
puede construir de manera relativamente simple. Además, la
sincronización del bloqueo de datos puede basarse también en el
borde positivo (borde ascendente) de la señal.
De acuerdo con este sistema, es posible reducir
la frecuencia de transmisión en una ruta de transmisión de datos, si
se compara con un sistema de enlace BUS I^{2} o DS. Por ejemplo,
para transmitir a una velocidad de transferencia de datos de 10
Mbit/s utilizando un sistema de enlace BUS I^{2} o DS, es
necesario hacer funcionar el medio de transferencia de datos a 10
MHz. Sin embargo, si se aplica el presente sistema, ya que 10 Mbit
de datos se trasmiten particionándolos en dos líneas de transmisión
de datos que portan, en teoría, 5 Mbit cada una, es posible obtener
una velocidad de transferencia de datos de 10 Mbit/s usando un reloj
de transferencia de datos de 5 MHz en las líneas de datos. Además,
ya que la duración del impulso se prolonga insertando datos entre
los impulsos del reloj, en las secciones correspondientes, la
frecuencia de transmisión desciende en una cantidad equivalente. Ya
que una menor velocidad de transmisión es satisfactoria, el diseño
del circuito se simplifica.
Las Figuras 11 y 12 muestran ejemplos de formatos
de transmisión de señales. Un formato de transmisión comprende un
modelo de puesta en marcha, un modelo de transmisión de datos y un
modelo de fin, y si es necesario, se añaden bits CRC (control
cíclico por redundancia).
La Figura 11 muestra un formato de transmisión
estándar. La transmisión de datos se controla en unidades frame
(unidad más pequeña). La composición de una frame en el formato
estándar comienza con un modelo de puesta en marcha (START), que
indica el comienzo de la transmisión de datos, y después comprende
un modelo de datos de 256 bytes de longitud (DATA), y un modelo de
fin (END). Los símbolos "D" que se muestran en el modelo de
datos representan secciones que contienen información de los bits
"0" y "1" de los datos.
La Figura 12 muestra un ejemplo de un formato que
incorpora la opción CRC, donde se añade una función de corrección de
errores al formato de datos estándar. Por ejemplo, se puede emplear
un control cíclico por redundancia (CRC) como método para la
corrección de errores. En la transmisión de datos con la opción CRC,
se añade un patrón código CRC después de los datos que son objeto
del CRC, como se ilustra en el modelo de datos de la Figura 12.
Las partes que están fuera del modelo de datos
con el formato de transmisión descrito anteriormente forman patrones
de información que contienen información específica. Los patrones de
información se definen mediante el número de impulsos de señal
(relojes de transmisión) para los cuales cada una de las líneas de
datos SDCKA o SDCKB propaga la otra línea de señales mientras está
en un nivel "L". Los patrones de información pueden incluir,
por ejemplo, modelos de sincronización, modelos de permiso de
ocupación de líneas de datos, modelos de reinicialización y
similares. Los patrones de sincronización incluyen: patrones de
comienzo como los que se ilustran en la Figura 13(a),
patrones de fin como los que se ilustran en la Figura 13(b) y patrones de comienzo con opción CRC como los que se ilustran en la Figura 14.
patrones de fin como los que se ilustran en la Figura 13(b) y patrones de comienzo con opción CRC como los que se ilustran en la Figura 14.
Un patrón de puesta en marcha es un modelo de
sincronización que se ha transmitido antes del modelo de datos
mencionado antes. Si el MIE del lado receptor detecta cuatro bordes
negativos de la línea de datos SDKB mientras la línea de datos SDCKA
está en el nivel "L", el siguiente patrón se lee como un patrón
de datos y se almacena en el búfer usando una memoria. El patrón de
fin indica el fin del patrón de datos. Si el MIE del lado receptor
detecta dos bordes negativos de la línea de datos SDCKA mientras la
línea de datos SDCKB está en el nivel "L", esto confirma que el
patrón de datos ha terminado e indica que el proceso ha finalizado
de manera adecuada.
El patrón de puesta en marcha con la opción CRC
representa el patrón START cuando se añade la opción CRC. Si el MIE
del lado receptor detecta seis bordes negativos de la línea SDKB
mientras la línea SDCKA está en el nivel "L", esto se
identifica como una transmisión de datos que comprende una opción
CRC. Se realiza una revisión de errores con respecto a la sección de
datos empleando los 16 bits anteriores al patrón END como datos
CRC.
La Figura 15 muestra un ejemplo de modelo de
permiso de ocupación de una línea de datos por el cual el servidor
permite al lado receptor ocupar una de las líneas de datos. En un
modelo de permiso de ocupación que se refiere a la ocupación de la
línea de datos SDCKB, la línea SDCKB tiene ocho bordes negativos
cuando SDCKA está en el nivel "L". Cuando el MIE del lado
receptor detecta un modelo de permiso de ocupación SDCKB, es posible
ocupar SDCKB cuando SDCKA está en el nivel "L", comenzando por
el siguiente borde negativo de SDCKA. El siguiente borde positivo de
SDCKA, cancela la ocupación de SDCKB.
Por ejemplo, es posible enviar datos de salida
desde un arma luminosa de un dispositivo de juego de tiro al
dispositivo de juego ocupando la línea de datos SDCKB. Los datos se
transfieren usando únicamente la línea de datos SDCKB, y la línea de
datos SDCKA indica el tiempo de ocupación (periodo).
La Figura 16 muestra un patrón de
reinicialización. El patrón de reinicialización comprende 14 bordes
negativos de la línea datos SDCKB cuando la línea de datos SDCKA
está en el nivel "L". Cuando el MIE del lado receptor detecta
el patrón de reinicialización, éste lo identifica como una petición
de reinicialización procedente del servidor. El dispositivo
inicializa entonces el MIE y borra el AP. Ningún dato más aparte de
estos se inicializa.
A continuación, y con referencia a la Figura 17,
se describe el protocolo de transmisión en la comunicación de datos
entre el servidor y el dispositivo.
En primer lugar, el servidor tiene, en principio,
el derecho de prioridad para transmitir comandos. Las
comunicaciones se realizan en un modo en el que la función de
dispositivo correspondiente responde a un comando procedente del
servidor. Por tanto, todos los protocolos de transmisión empiezan
con la transmisión de un comando procedente del servidor. La Figura
18(a) ilustra esto. Los datos se transmiten desde el servidor
a la función de dispositivo cuando surge la necesidad. Por tanto, en
el bus M y el bus LM se sucede una comunicación de datos
intermitente entre el servidor y múltiples funciones de dispositivo.
Si los datos a transmitir sobrepasan la longitud estipulada para
una frame de transmisión, los datos se particionan en múltiples
secciones, como se muestra en la Figura 18(b), y cada una de
las secciones de datos ya divididas se transmite mediante múltiples
frames de transmisión (ver Figura
70).
70).
El programa de aplicación del servidor accede al
driver del bus para obtener datos de la función de dispositivo de un
dispositivo periférico determinado. El driver crea un AP, formando
una dirección y un comando, y el MIE envía datos frame llevando el
AP y el comando al bus M. En un estado normal, las funciones de
dispositivo conectadas al bus están en espera de un comando del
servidor. El MIE del dispositivo periférico recibe los datos frame y
transfiere el comando al programa de control de la función de
dispositivo vía el controlador del MIE.
Si el programa de control detecta su propio AP,
devuelve una respuesta al comando pertinente vía el controlador del
MIE. El MIE crea datos frame que contienen el comando de retorno y
el AP del servidor, y envía de salida éstos al bus. El servidor
recibe estos datos frame obteniendo así una respuesta al comando
transmitido. La función de dispositivo vuelve a un estado de espera
de comandos.
De este modo, el servidor puede obtener la
información requerida de una función de dispositivo.
A continuación, y con referencia a la Figura 19,
se muestra una vista general del procesamiento realizado en las
funciones de dispositivo. Cuando una línea eléctrica se conecta al
dispositivo periférico y se suministra energía, la función de
dispositivo ejecuta un proceso de inicialización para asignar
valores iniciales de hardware y similares. Acto seguido, se realiza
un proceso de asignación de AP para asignar el valor AP de la
función de dispositivo. En el proceso de asignación de AP, se
identifican las funciones de dispositivo conectadas, y se asignan
los AP a las funciones de dispositivo, etc. Dando a la función de
dispositivo un AP, es posible controlar las comunicaciones entre el
servidor y la función de dispositivo usando el AP, produciéndose así
un estado operativo normal.
En un estado operativo normal, cuando una función
de dispositivo recibe un comando de reinicialización desde el
servidor, se reinicializa el AP (reinicialización del software).
Cuando se recibe un comando de reinicialización de bus, se
inicializan todas las funciones de dispositivo conectadas al bus en
el puerto correspondiente, y los AP se reinicializan
(reinicialización del hardware). El servidor también puede ordenar
que se prohiba o suspenda una operación, transmitiendo un comando a
cada función de dispositivo.
A continuación, y con referencia a la Figura 20,
se describe el proceso de asignación de AP en las funciones de
dispositivo.
- (1)
- Después de completarse la incialización, el servidor transmite un Device Request (Petición de Dispositivo) en secuencia, empezando por el puerto A, para confirmar si alguna función de dispositivo está conectada a los puertos. El comando Device Request es un comando que requiere cualquier función de dispositivo a la que no se le haya asignado un AP para devolverle su Device Status (Estado de Dispositivo), lo que proporciona información inherente al dispositivo. Ésta se transmite en secuencia empezando por el puerto A y terminando por el puerto D.
- (2)
- Después de completarse la incialización, una función de dispositivo-U desconecta el bus LM del bus M y espera un Device Request (Petición de Dispositivo) procedente del servidor. Si recibe una Device Request del servidor, como respuesta devuelve un Device Status (Estado de Dispositivo) al servidor. En esta fase, sólo hay una función de dispositivo en un puerto que recibe una petición de dispositivo en cualquier momento. Las funciones de dispositivo no responden si no se les ha asignado un AP.
- (3)
- Cuando el servidor recibe un Device Status procedente de una función de servidor, éste determina la relación de conexión y los atributos del dispositivo en base a estos datos y asigna un AP a la función de dispositivo y transmite una asignación de AP que incluye el valor AP asignado a la función de dispositivo. Los APs se asignan de manera consecutiva dentro de un rango asignado a cada puerto, y el servidor detecta la relación entre el AP y la función de dispositivo. Si los atributos de la función de dispositivo no son los que espera el software de aplicación (fuera del rango de uso), entonces la operación de esa función de dispositivo puede terminarse enviando un comando Device Kill. Si la función de dispositivo es una función de dispositivo-U, también terminan las funciones de dispositivo-L conectadas al mismo, permitiendo así inutilizar todo el puerto.
- (4)
- La función de dispositivo lee la asignación de AP procedente del servidor, almacena su AP asignado y después transmite una Device Replay (Respuesta de Dispositivo) al servidor como respuesta desde la función de dispositivo. A continuación, el servidor accede a la función de dispositivo usando el ID del dispositivo y el AP.
- (5)
- Ya que el servidor detecta el número de buses LM de la función de dispositivo que se ha fijado desde el Device Status (Estado de Dispositivo), si hay un bus LM, el servidor transmite Connect Lm-Bus (Conectar bus LM) de manera que uno de los buses LM conecte con una función de dispositivo. Si no se produce conexión de bus LM, se realiza el procesamiento (10) posterior.
- (6)
- Cuando la función de dispositivo-U recibe Connect LM-Bus, ésta conecta un bus LM al bus M. Después envía una Device Replay al servidor.
- (7)
- Cuando el servidor recibe Device Replay, éste transmite una Device Request. En este caso, ya que a la función de dispositivo-U ya se le ha asignado un AP, ésta no responde.
- (8)
- Cuando una función de dispositivo-L recibe Device Request procedente del servidor, ésta envía un Device Status al servidor como respuesta.
- (9)
- El proceso desde (3) a (8) se repite hasta que se conectan todos los buses LM (se han asignado APs a todas las funciones de dispositivo).
- (10)
- El servidor envía Function Start (Comienzo de Función) para que comience la operación de cada función de dispositivo.
- (11)
- Cuando la función de dispositivo recibe Function Start, ésta cambia desde la operación de asignación de AP a la operación normal. Después del cambio, la función de dispositivo envía Device Replay al servidor.
- (12)
- Al recibir Device Replay, el servidor envía Function Start al siguiente AP.
- (13)
- Cada función de dispositivo se activa en secuencia repitiéndose el proceso (11) y (12), hasta que la función de dispositivo que está en el AP final transmite Device Replay, después de lo cual termina el proceso de asignación de AP.
- (14)
- Una vez que las funciones de dispositivo se han transferido a la operación normal, el servidor continúa con la asignación de AP para el siguiente puerto.
De este modo, se selecciona un AP para cada
función de dispositivo conectada a un puerto determinado.
A continuación, se describe el proceso necesario
para conectar o desconectar un cable mientras el servidor esta
operativo (conexión/desconexión de una línea activa).
- (1)
- El servidor transmite Device Request a cada puerto a intervalos determinados. Los puertos que no están en uso se pueden excluir de la operación de acceso.
- (2)
- Si se transmite Device Status desde un puerto que no se ha conectado previamente, el servidor reconoce que se ha conectado una función de dispositivo. Al reconocer esto, envía un patrón de reinicialización a ese puerto y borra los APs para todas funciones de dispositivo. Después realiza un proceso de asignación de APs para restaurar los APs y volver a crear las conexiones.
- (3)
- Si el servidor transmite un comando a una función de dispositivo y no hay respuesta desde ésta, el servidor reconoce que la función de dispositivo se ha desconectado. Si la función de dispositivo se desconecta, el servidor borra los APs y vuelve a crear las conexiones.
A continuación, se describe el proceso de
transmisión y recepción de datos durante una operación normal.
El servidor siempre transmite inicialmente un
comando y las funciones de dispositivo responden a éste. Si una
función de dispositivo transmite primero un comando al servidor,
éste no se reconoce. El servidor no retransmite comandos a menos que
haya una petición desde el lado de la función de dispositivo.
La transmisión y recepción de datos está formada
por comandos y parámetros (datos AP, tamaño de los datos, datos).
Cuando se transmite exactamente una señal por una línea de datos, el
MIE le añade un patrón de puesta en marcha y de fin, antes del
comando y al final de los parámetros, respectivamente. Por tanto, se
forma y se transmite un frame en el orden: "patrón puesta en
marcha" + "patrón comando" + "datos AP" + "tamaño de
datos" + "patrón de fin".
El MIE del lado receptor analiza el frame,
confirmando así el patrón de puesta en marcha y de fin.
Posteriormente se describirán en detalle los comandos y
parámetros.
El MIE empleado por el servidor es controlado por
el driver del bus M. La lectura de los datos de la función de
dispositivo no la realiza el MIE de forma automática, sino que la
realiza el software correspondiente vía el driver del bus M. El
software correspondiente aquí quiere decir un sowftare de un nivel
superior si se compara al del driver del bus M, por ejemplo un
software de librerías o un software de juego. En una única operación
de acceso, es posible comunicar con una función de dispositivo que
tenga un AP específico. Con miras a leer los datos procedentes de
múltiples funciones de dispositivo en 1 INT, se accede al número
correspondiente de funciones de dispositivo. 1 INT (interrupción) es
una unidad de sincronización de la reescritura en pantalla TV, en
concreto de aproximadamente 1/60 segundos. El control de conexión
del puerto transmite un Device Request a los puertos no conectados,
y si hay una respuesta, ese puerto se establece como
"conectado". Cuando no hay transmisión, un puerto siempre se
establece al modo entrada (recepción). El tipo de comando a utilizar
difiere según la función de dispositivo y del tiempo y las
circunstancias, ajustándose según la especificación de la función de
dispositivo.
La CPU o equivalente, controla los MIE para los
dispositivos periféricos vía un controlador MIE, ejecutando la CPU
los programas de función de dispositivo. Las funciones de
dispositivo mantienen un estado de recepción hasta que el servidor
transmite un comando. Las funciones de dispositivo generan entonces
sus propios datos necesarios para las comunicaciones. Además, de
manera asíncrona al acceso desde el servidor, las funciones de
dispositivo crean datos para ser transmitidos como función de ese
dispositivo determinado (por ejemplo, dispositivo de entrada de
operación como un mando de control o joystick). Si hay una petición
del servidor, los datos se transmiten dentro de un periodo de tiempo
fijado. El servidor transmite el mismo comando a todas las funciones
de dispositivo conectadas al mismo puerto. Las funciones de
dispositivo analizan el comando y los parámetros recibidos, y
devuelven un comando sólo si se corresponde a sus propios AP. Si no
se corresponde a sus propios AP, no tienen que responder al
servidor. El tipo de comando utilizado varía dependiendo de la
función de dispositivo y del tiempo y las circunstancias, con lo
cual los detalles del mismo se determinan dependiendo de la
especificación de la función de dispositivo.
El acceso directo desde una función de
dispositivo a otra función de dispositivo conectada al mismo puerto
está prohibido. Las comunicaciones entre funciones de dispositivo se
deben hacer vía el servidor. Además, no de deben usar comandos que
sólo puede transmitir el servidor.
A continuación se describe un proceso
excepcional. Se trata de un proceso especial preparado para aquellos
dispositivos en los que la transmisión y recepción de datos no puede
controlarse mediante comandos. Un ejemplo de tal dispositivo es un
arma luminosa de un juego de tiro.
- (1)
- Si el servidor reconoce que la función de dispositivo tiene un ID de dispositivo de arma luminosa, entonces éste cambia el bus M de modo normal a modo de ocupación SDCKB. El cambio de modo no es posible desde el lado de la función de dispositivo. Antes de cambiar, el servidor transmite un cambio de modo, y después de confirmar que se ha conectado un arma luminosa, cambia el modo del bus M a un patrón de ocupación SDCKB.
- Al entrar en el modo de ocupación SDCKB, todos los dispositivos de ese puerto asumen el modo de ocupación SDCKB y las funciones de dispositivo que no operan en modo de ocupación SDCKB no reciben comandos. Por ejemplo, si un arma luminosa, una tarjeta de memoria y una unidad vibrante se conectan a un puerto A, la función de dispositivo que opera en el modo de ocupación SDCKB es únicamente el arma luminosa. Durante el modo de ocupación, el servidor sólo controla el arma luminosa, y las otras funciones de dispositivo, a saber, la tarjeta de memoria y la unidad vibrante, no operan (no las puede controlar el servidor).
- (2)
- Para volver desde el modo de ocupación SDCKB, el servidor cancela el proceso. Cuando se termina el modo de ocupación SDCKB, el sistema vuelve inmediatamente al modo normal.
- (3)
- En el caso de un arma luminosa, el periodo de tiempo para reescribir la pantalla en 1 INT omitiendo el periodo de borrado vertical, en otras palabras el periodo de tiempo para dibujar la pantalla de TV, forma el modo de ocupación SDCKB.
- Cuando termina el periodo de dibujar la pantalla y ha comenzado el periodo de borrado, el sistema cambia directamente a modo normal, y la transmisión y recepción de datos para las funciones de dispositivo se realizan en otros puertos.
- (4)
- Para conseguir una función de arma luminosa, una sección que contiene un elemento fotorreceptor se toma como una función de dispositivo, y las secciones que contienen el gatillo y las teclas direccionales, teclas analógicas y similares se toman como otra función de dispositivo. De este modo, es posible evitar problemas convencionales tales como la inutilización de teclas direccionales cuando se usa el arma luminosa. Además, ya que el arma luminosa forma una única unidad de función de dispositivo, ésta se puede conectar a otros dispositivos de expansión. Con estos medios, es posible proporcionar aplicaciones de juego con nuevas funciones.
A continuación se describen ejemplos de comandos.
En líneas generales, los comandos se pueden dividir en comandos de
control y comandos de error. Los comandos de control comprenden los
comandos básicos de: Device Request, Status Request, All Status
Request, AP Assign, LM-Bus Connect, Function Start,
Host DAta Transmit, Data Request, All Data Request, Mode Change,
Device Sleep, Device Request, Device Kill, Device Status, Device
Reply, DEvice Data Transmit y similares. Además, existen comandos de
expansión que no pertenecen a estos comandos básicos. Los comandos
de expansión varían dependiendo de la función de dispositivo y del
driver del bus M.
Device Rquest es un comando desde el servidor
pidiendo una función de dispositivo que no tenga un AP asignado para
devolver un Device Status.
Status Request es un comando desde el servidor
pidiendo una función de dispositivo especificada por un AP para
devolver un DEvice Status (estos datos constituyen una información
inherente de dispositivo (Fixed Device Status)).
All Status Request es un comando desde el
servidor pidiendo que un AP especifique todos los estados de
dispositivo (en concreto, el Fixed Device Status y el Free Device
Status) de una función de dispositivo. La función de dispositivo
devuelve el Fixed Device Status y después el Free Device Status
mediante una Device Data Transmit.
AP Assign es un comando mediante el cual el
servidor asigna un AP a una función de dispositivo. Esto sólo se
puede ejecutar durante el proceso de asignación de AP. Si la función
de dispositivo es una operación normal, no procesa el comando sino
que devuelve un Command Refusal.
LM-Bus Connect es un comando
desde el servidor pidiendo una función de dispositivo para conectar
un Bus LM al Bus M. Al recibir la LM-Bus Connect,
las funciones de dispositivo conectan el Bus LM que les corresponde,
un bus para cada función. Si una función de dispositivo es una
operación normal, ésta no procesa el comando sino que devuelve un
Command Refusal.
Function Start es un comando del servidor que
hace que una función de dispositivo especificada por su AP comience
una operación normal. Si la función de dispositivo recibe este
comando y comienza una operación normal, devuelve Device Reply. No
se produce incialización. Si la función de dispositivo está en
operación normal, no procesa el comando sino que devuelve un Command
Refusal.
Host Data Transmit es un comando mediante el cual
el servidor transmite datos a una función de dispositivo. El
contenido de los datos varía dependiendo de la función de
dispositivo. Los detalles de estos datos los determina la
especificación de función de dispositivo. Si el tamaño de los datos
es 0, la función de dispositivo no recibe y devuelve un Command
Refusal. Durante la asignación de AP, la función de dispositivo
tampoco recibe y devuelve un Command Refusal.
Data Request es un comando del servidor pidiendo
una función de dispositivo para transmitir datos especificados. En
la región de datos se pueden especificar múltiples números de datos
pedidos. Si el tamaño de los datos es 00h, entonces la función de
dispositivo no procesa el comando y devuelve un Command Refusal.
También durante la asignación de AP, la función de dispositivo no
procesa el comando y devuelve un Command Refusal.
All Data Request es un comando del servidor
pidiendo una función de dispositivo para transmitir todos sus datos.
Durante el proceso de asignación de AP, la función de dispositivo no
recibe el comando y devuelve un Command Refusal.
Mode Change es un comando mediante el cual el
servidor cambia el modo de puerto del bus M. Cuando se cambia al
modo de ocupación SDCKB, después de emitirse un comando Mode Change
se confirma un Device Reply y el puerto especificado se cambia al
modo de ocupación SDCKB. Si la función de dispositivo no corresponde
a las operaciones del modo de ocupación SDCKB, entonces no procesa
el Mode Change y devuelve un Command Refusal. También durante el
proceso de asignación de AP, la función de dispositivo no procesa el
Mode Change, sino que devuelve un Command Refusal.
Device Sleep es un comando mediante el cual el
servidor suspende temporalmente un dispositivo especificado. Cuando
se suspende una función de dispositivo, ésta devuelve un Device
Reply y después de esto sólo puede recibir un Function Start.
Durante el proceso de asignación de AP, la función de dispositivo no
procesa el Device Sleep sino que devuelve un Command Refusal.
Device Reset es un comando mediante el cual el
servidor aplica una reinicialización de software a una función de
dispositivo especificada para inicializarla. La reinicialización de
software no es una reinicialización (inicialización) que use
funciones hardware como por ejemplo terminales de reinicialización
IC, sino que es, por ejemplo, la inicialización de RAMs internos o
de registros de programas (software). Ya que la reinicialización del
software permite que se puedan seleccionar partes que se van a
reinicializar en el programa, es posible retener partes, por ejemplo
el estado fijado del terminal IC, para las que no se desea la
inicialización. Los valores AP que se han asignado ya no se
inicializan. Después de la inicialización, la función de dispositivo
devuelve un Device Reply y empieza una operación normal. Durante la
asignación de AP, la función de dispositivo no procesa el Device
Request sino que devuelve un Command Refusal.
Device Kill es un comando mediante el cual el
servidor prohibe la operación de una función de dispositivo. La
función de dispositivo sólo puede procesar este comando antes del AP
Assign en la secuencia de asignación de AP. La función de
dispositivo espera en un consumo de energía en reserva y no puede
recibir comandos. Para activar la función de dispositivo, tiene que
reinicializarse el hardware o desconectarse la corriente. La
reinicialización del hardware se realiza mediante reinicialización
(inicialización) utilizando funciones hardware como por ejemplo
terminales de reinicialización IC. También es posible realizar un
procesamiento de inicialización igual en el programa. Este
procesamiento es igual a la reincialización de conexión al comienzo
del suministro de energía que lleva a cabo la inicialización de IC
al mismo tiempo. Al contrario que en la reinicialización de
software, no se puede seleccionar la parte que se va a inicializar.
Si la función de dispositivo es una operación normal, ésta no
procesa este comando, sino que devuelve un Command Refusal. Para
suspender una función de dispositivo temporalmente durante la
operación normal, se emplea el comando Device Sleep.
Device Status es un comando por el cual una
función de dispositivo envía un Fixed Device Status al servidor.
Este Fixed Device Status se describe después.
Device Reply tiene una amplia variedad de usos
como respuesta de función de dispositivo transmitida por una función
de dispositivo. El AP en el contenido de los datos indica el propio
AP de la función del dispositivo, especificando así la procedencia
de Device Reply.
Device Data Transmit es un comando mediante el
cual una función de dispositivo transmite datos según la petición
del servidor. El contenido de los datos varía dependiendo de la
función de dispositivo. Si el tamaño de los datos es de 00h (h
indica notación hexadecimal), el servidor no procesa el comando sino
que devuelve un Command Refusal. Dependiendo de las circunstancias,
se pueden emitir comandos tales como retransmisión, Device Status o
similares.
A continuación se describen los comandos de
error. Los comandos de error comprenden comandos básicos tales como
command Refusal, Command Unknown, Transmit Again,
LM-Bus Error, Device Error y similares. Además de
esto, también existen comandos de expansión, que son intrínsecos a
la función de dispositivo y al driver de bus M. Comandos intrínsecos
aquí no quiere decir comandos estándar contenidos en el driver sino
comandos preparados para funciones de dispositivo específicas.
Command Resfusal es un comando mediante el cual
el servidor o la función de dispositivo rechaza recibir datos
correspondientes a un comando de entrada. Este comando también se
transmite si se recibe un comando incompatible con el servidor o con
la operación de la función. Este comando prohibe un acceso
indebido.
Command Unknown es un comando que se transmite
desde una función de dispositivo al servidor cuando la función de
dispositivo recibe un comando del servidor que no reconoce.
Transmit Again es un comando enviado por el
servidor o por una función de dispositivo solicitando los mismos
datos que se van a transmitir de nuevo cuando ha habido un error de
algún tipo en los datos recibidos.
LM-Bus Error es un comando de una
función de dispositivo al servidor notificando que se ha producido
un error en el bus LM. Este comando se envía al servidor en aquellos
casos donde, por ejemplo, se recibe LM-Bus Connect
desde el servidor pero no existe bus LM que conectar.
Device Error es un comando de una función de
dispositivo notificando al servidor que se ha producido un error de
algún tipo en la función de dispositivo y que la función de
dispositivo está en proceso de reinicialización.
A continuación se describe la información sobre
Device Status mencionada. El Device Status almacena datos
directamente de manera que no se pueden reescribir o borrar. Por
ejemplo, no está permitido calcular un cierto valor para
proporcionar un valor o texto de estado.
Device Status comprende: Fixed Device Status y
Free Device Status.
Fixed Device Status se refiere a un estado
permanente de dispositivo que es una descripción fundamental del
dispositivo, por ejemplo formato total de 108 bytes. A menos que se
describan todos los datos, no se pueden garantizar la operación y
conexión del dispositivo.
Free Device Status se refiere a un estado de
dispositivo que se puede usar libremente dependiendo de la función
individual de dispositivo. Por ejemplo, la capacidad debe ser de 148
bytes o inferior.
Fixed Device Status comprende los siguientes:
Describe el ID y los atributos de la función de
dispositivo. Si se registra y asigna previamente un ID a cada
función de dispositivo, el servidor puede identificar qué tipo de
función de dispositivo está conectada leyendo su ID. Por tanto,
aquellos empleados por el bus M se registran como producto por
adelantado para aquellos que tengan licencia de bus M.
Describe el máximo tamaño de los datos que emite
la función de dispositivo.
Esto describe el número de buses LM que contiene
la función de dispositivo.
El nombre del producto se describe en inglés o
romaji usando el código ASCII. Este puede ser diferente del nombre
comercial actual. El nombre del producto también está sujeto a un
registro previo.
Describe la zona de venta del producto. Por
ejemplo, Norte de América, Europa, Japón, etc. Este código hace
posible determinar la compatibilidad entre los dispositivos
periféricos y las aplicaciones de juego para zonas de destino
determinadas.
Muestra la licencia del producto en inglés o
romaji usando el código ASCII.
Esto describe la energía consumida durante una
suspensión temporal, en unidades de 0,1 mA.
Esto describe la máxima energía consumida, en
unidades de 0,1 mA.
Por otra parte, el Free Device Status se refiere
a áreas de información que los planificadores de producto,
promotores, diseñadores, programadores o similares pueden asignar
libremente. El servidor puede obtener esta información desde la
función de dispositivo mediante el comando de All Device Request.
Cuando se emplea esta zona de información en el software de
aplicación y similares, es necesario asegurar de antemano la
compatibilidad de las secuencias de datos, etc.
Al MIE del servidor se le denomina
específicamente controlador periférico. La Figura 21 muestra un
ejemplo de un diagrama de circuito en bloques para un controlador
periférico (MIE) provisto en el servidor.
En este diagrama, un divisor de reloj 51 crea un
reloj para alimentar cada bloque de procesamiento del controlador
desde un reloj de sistema y, variando el ratio de frecuencias del
reloj suplementado, es posible alterar la velocidad de transmisión
(de transferencia), y similares.
Un registro de instrucciones 52 es un registro de
32 bits en el que las instrucciones enviadas desde la aplicación,
etc, a los dispositivos periféricos se escriben vía el bus
principal. Los contenidos escritos en este registro se transfieren a
un controlador de puerto 57 y a un controlador de unidad de
información 58.
El búfer de escritura 53 consiste en una RAM de
256 bytes en la que se copian datos de transferencia.
Un controlador de interrupción 54 controla las
interrupciones que se producen debido a las transmisiones,
recepciones o errores de diferentes tipos.
Un registro de estado 55 es un registro de 32
bits que indica el estado del controlador principal.
El búfer de lectura 56 consiste en una RAM de 256
bytes para guardar los datos recibidos.
El controlador de puerto 57 controla los puertos
implicados en la transmisión y recepción de datos. Si se controla un
búfer de tres estados 68 de un puerto de transmisión seleccionado
mediante un comando, las salidas SDCKA y SDCKB de un primer y un
segundo selector 64 y 65 se dirigen al puerto seleccionado. Un
puerto de recepción se selecciona controlando un tercer y un cuarto
selector 66 y 67.
El controlador de frame 58 controla la
composición del frame en lo que se refiere al modelo de salida, la
longitud de los datos y similares.
El codificador de frame 59 se controla mediante
el controlador frame 58 y éste genera y emite modelos de
información.
El registro de desplazamientos alternos 60 se
controla mediante el controlador de frame, y es un registro para
trasformar (P/S) datos paralelos del búfer de escritura en datos en
serie, y de manera alternativa transmitir datos y un reloj a SDCKA
y SDCKB. Se proporciona una sección de cálculo de CRC dentro del
registro de desplazamientos alternos, y se aplica el procesamiento
CRC a los datos según los comandos procedentes del controlador de
frames.
El primer selector 64 se controla mediante el
controlador de frames 58, y emite SDCKA seleccionando las salidas
del codificador de frame 59 o la salida del registro de
desplazamientos alternos 60.
El segundo selector 65 se controla mediante el
controlador de frames 58, y emite SDCKB seleccionando la salida del
registro de desplazamientos alternos 60 o la salida del codificador
de frames 59.
El tercer selector 66 selecciona un puerto de
recepción según los comandos procedentes del controlador de puerto
57, y suministra SDCKA recibido vía un búfer amplificador 69 a un
descodificador de frames 61 y a un registro de desplazamientos
alternos 62.
El cuarto selector 67 selecciona un puerto de
recepción según los comandos del controlador de puerto 57, y
suministra SDCKB recibido vía un búfer amplificador 69 a un
descodificador de frames 61 y a un registro de desplazamientos
alternos 62.
El descodificador de frames 61 analiza la
composición de los frames recibidos, la refleja en el Statis
Register (Registro de Estado) 55, y controla el registro de
desplazamientos alternos 62.
El registro de desplazamientos alternos 62 se
controla mediante el descodificador de frames 61, y es un registro
(S/P) para transformar datos en serie recibidos en datos paralelos.
El registro de desplazamientos alternos 62 también comprende un
circuito de cálculo de CRC para realizar una inspección de errores
de la señal recibida.
\newpage
El controlador de frame 58 activa el controlador
de señal de bloqueo HV. Por ejemplo, cuando el controlador de frame
58 ha transmitido un patrón de permiso de ocupación SDCKB, el
descodificador de frames se desactiva y se activa el controlador de
señal de bloqueo HV. Cuando el controlador de señal de bloqueo HV
recibe un SDCKB después de que se ha transmitido un patrón de
permiso de ocupación SDCKB, se suministra una señal de bloqueo HV a
un contador (se ha omitido del dibujo). El contador HV comprende un
contador de posición horizontal y un contador de posición vertical,
que generan los valores correspondientes a una posición en una
pantalla. Por ejemplo, en un juego de tiro, cuando se aprieta el
gatillo de un arma que apunta hacia una pantalla de TV, el arma
emite SDCKB. Este SDCKB se emplea para identificar la posición de la
mira (disparo) del arma en la pantalla mediante el contador HV.
La Figura 22 es un diagrama de circuitos que
ilustra los principios operacionales del codificador de frames 59.
En este diagrama, 591 es un circuito flip-flop
(basculante), 592 es un contador, 593 es un comparador y 594 es una
puerta lógica.
La Figura 23 es un organigrama de tiempos para
describir la operación del codificador de frames 59.
Cuando se suministra un pulso de escritura al
codificador de frames 59, este circuito adopta un estado activo. El
SDCKA que está en la salida Q del circuito flip-flop
(basculante) 591 se ajusta al nivel "L" mediante el borde
ascendente del pulso de escritura. El SDCKA crea una entrada
habilitada al contador 592, el cual empieza el recuento del reloj
CLK que se suministra al mismo. El contador 592 adelanta un valor de
conteo CNT OUT a través de "0", "1", "2", ...,
"7", "8". Este valor de cuente se suministra a la entrada
de comparación A del comparador 593. Un valor asignado de patrón de
salida n se suministra a la entrada de referencia de comparación B
del comparador 593. Por ejemplo, si se genera un "patrón de puesta
en marcha", el codificador de frames 59 descodifica este comando
y suministra "9" como un valor asignado n. Si las dos entradas
concuerdan, el comparador 593 emite CMP OUT desde el terminal de
salida EQ, que se suministra al terminal preseleccionado /PR del
circuito flip-flop (basculante) 591. Por tanto, la
SDCKA en la salida Q del circuito flip-flop 591 se
fija al nivel "H". El SDCKB se obtiene sintetizando el SDCKA y
una señal CLKB que tiene la mitad de la frecuencia de la señal del
reloj CLK en la puerta OR 594.
De este modo, se suministran valores asignados al
patrón de salida que corresponden a un patrón de puesta en marcha,
de reinicialización y de fin, etc, y cuando se introduce un pulso de
escritura, el SDCKA se ajusta al nivel "L", y para SDCKB se
puede obtener una señal patrón que tenga un número predeterminado de
bordes descendentes.
La Figura 24 es un diagrama de circuitos que
ilustra los principios operacionales del registro de desplazamientos
alternos 60. En este diagrama, 601 es un registro de desplazamientos
para transformar datos paralelos en datos en serie; 602 es un
selector de entrada dual; 603 es un registro de desplazamiento para
transformar datos paralelos en datos en serie; 604 es un selector de
entrada dual.
La Figura 25 es un organigrama de tiempos que
describe la operación del registro de desplazamientos alternos
60.
Se suministran múltiples bits pares D6, D4, D2,
D0 para la transmisión de datos a múltiples terminales de entrada D
del registro de desplazamientos 601, y los datos se desplazan con la
ayuda de un reloj de desplazamiento SHIFT CLKA cuya sincronización
se ilustra en el diagrama, y se suministran desde el terminal de
salida Q al de entrada A del selector 602 como datos en serie. Un
reloj CLKA como el que se muestra en el diagrama se introduce en el
terminal de entrada B del selector 602. El selector 602 selecciona
los datos en serie procedentes del terminal de salida Q según el
nivel "H" del reloj de desplazamiento SHIFT CLKA, y selecciona
el reloj CLKA según el nivel "L" del SHIFT CLKA.
Por tanto, en el terminal de salida Y del
selector 602 se obtiene una señal SDCKA, en la que los datos D6,
D4, D2, D0 se superponen en el reloj CLKA a intervalos
predeterminados.
De manera similar, múltiples bits impares D7, D5,
D3, D1 para la transmisión se suministran respectivamente a
múltiples terminales de entrada D del registro de desplazamientos
603, y los datos se desplazan con ayuda de un reloj de
desplazamiento SHIFT CLKB cuya sincronización se muestra en el
diagrama y se suministran desde el terminal de salida Q al de
entrada A del selector 604 como datos en serie. Un reloj CLKB como
el que se muestra en el diagrama se introduce en el terminal de
entrada B del selector 604. El selector 604 selecciona los datos en
serie procedentes del terminal de salida Q según el nivel "H"
del reloj de desplazamiento SHIFT CLKB, y selecciona el reloj CLKB
según el nivel "L" del SHIFT CLKA. Por tanto, en el terminal de
salida Y del selector 604 se obtiene una señal SDCKB en la que los
datos D7, D5, D3, D1 se superponen con el reloj CLKB a intervalos
predeterminados. Las secciones "D0" a "D7" que se muestran
en las señales SDCKA y SDCKB tienen un nivel "H" o un nivel
"L" dependiendo del valor de sus datos.
La Figura 26 es un diagrama de circuitos que
muestra un ejemplo de composición de un descodificador de frames 61.
En este diagrama, 611 es un contador, 612 es un
flip-flop compuesto por múltiples conjuntos
flip-flop, 613 es un contador y 614 es un
flip-flop compuesto consistente en múltiples
flip-flop.
La Figura 27 es un organigrama de tiempos que
describe el funcionamiento del descodificador de frames 61.
De los elementos del diagrama, el contador 611 y
el flip-flop 612 operan para detectar un patrón de
puesta en marcha. Cuando el SDCKA está en el nivel "H", se
deshabilita el contador. Cuando SDCKA está en el nivel "L", se
habilita el contador y se cuentan los bordes descendentes del
SDCKB. Al contar el número de bordes descendentes del SDCKB mientras
que el SDCKA está en el nivel "L" , se suministra un salida de
recuento al flip-flop 612 que está en el borde
ascendente de SDCKA.
Como se muestra en la Figura 27, si el número de
bordes descendentes del SDCKB es cuatro durante el periodo en el que
el SDCKA está en el nivel "L" (patrón de puesta en marcha, cf.
Figura 13), el circuito flip-flop genera la salida
de detección del patrón puesta en marcha.
Para detectar el patrón fin, se cuenta el número
de bordes descendentes del SDCKA cuando el SDCKB está en el nivel
"L" con el contador 613 y el flip-flop 614. La
salida de recuento 613 se incorpora al contador 613 a través del
borde ascendente del SDCKB. Como se muestra en la Figura 27, cuando
se cuentan dos bordes descendentes del SDCKA mientras que el SDCKB
está en el nivel "L", el flip-flop 612 emite la
detección del patrón fin. Cuando no se especifica el número de
bordes descendentes del SDCKA durante el periodo en el que el SDCKB
está en el nivel "L", el flip-flop 614 emite
una detección de error de frame. En el modo de operación normal, el
patrón de datos y el de fin con dos bordes descendentes de SDCKA
siguen al primer patrón de puesta en marcha con cuatro bordes
descendentes del SDCKB (cf. Figura 11).
Además, aunque no se ilustra en la Figura 27,
después de comenzar la recepción, cuando el contador 611 detecta
seis bordes descendentes del SDCKB mientras que el SDCKB está en el
nivel "L", el flip-flop 612 emite la detección
de un patrón de puesta en marcha con CRC (Figura 14). En el modo de
operación que usa CRC, el patrón de datos, los datos CRC y el patrón
de fin vienen a continuación del patrón de puesta en marcha CRC con
seis bordes descendentes del SDCKB (cf. Figura 12).
Además, si el contador 611 detecta ocho veces los
bordes descendentes del SDCKB mientras que el SDCKA está en el nivel
"L", entonces el flip-flop 612 emite el patrón
de permiso de ocupación SDCKB (cf. Figura 15). Cuando se detecta el
patrón, el modo de operación cambia al modo de operación de permiso
de ocupación SDCKB. En el modo de operación de permiso de ocupación
SDCKB, se puede usar un arma luminosa. El modo de permiso de
ocupación SDCKB se restablece mediante el modelo de reinicialización
del modo de operación de permiso de ocupación SDCKB (borde
ascendente del SDCKA).
Si el contador 611 detecta catorce veces los
bordes descendentes del SDCKB mientras que SDCKA está en el nivel
"L", el flip-flop 612 emite la detección del
patrón de reinicialización (cf. Figura 16). La detección permite la
operación de reinicialización.
Si no se especifica el número de bordes
descendentes del SDCKB, el flip-flop 612 emite la
detección de error de frame. Las salidas de detección de patrones
desde los flip-flop 612 y 614 se mantienen en el
registro de estado 55.
La Figura 28 muestra un ejemplo de la composición
del registro de desplazamientos alternos 62. En este diagrama, los
datos en serie SDCKB se suministran al terminal de entrada de datos
D de un registro de desplazamientos 621, y SDCKA se suministra a la
entrada de reloj de desplazamiento del mismo. El registro de
desplazamientos 621 lee las secciones de datos de SDCKB
sucesivamente en los bordes descendentes de SDCKA, como se ilustra
en la Figura 29. Los datos transformados de serie a paralelo se
colocan en los terminales de salida paralelos D7, D5, D3, D1 del
registro de desplazamientos 621 mediante cuatro bordes del reloj de
SDCKA.
De manera similar, los datos en serie SDCKA
mostrados en la Figura 29 se suministran a los terminales de entrada
de datos D del registro de desplazamientos 622 que se muestran en la
Figura 28, y SDCKB se suministra a la entrada de reloj de
desplazamiento del mismo. El registro de desplazamientos 622 lee las
secciones de datos de SDCKA sucesivamente en los bordes descendentes
de SDCKB. Los datos transformados de serie a paralelo se colocan en
los terminales de salida paralelos D6, D4, D2, D0 del registro de
desplazamientos 622 mediante cuatro bordes del reloj de SDCKB.
La Figura 30 es un diagrama de bloques similar de
un dispositivo periférico a conectar a un dispositivo de juego,
denominado normalmente controlador de juego, un controlador de
operación de entrada o un dispositivo de entrada de operación, etc.
Después se describe un controlador de juego. Es posible añadir
(acoplar) además otros dispositivos periféricos (funciones de
dispositivo-L) proporcionando dos sockets de
expansión en el controlador de juego. El controlador de juego
contiene un microcontrolador de un sólo chip. También comprende 11
switches para generar una salida digital, y teclas analógicas para
generar una salida de cuatro ejes. La salida de estos switches, etc,
se procesa mediante el microcontrolador, y se emite al servidor vía
una sección MIE y un bus M.
La Figura 31 es un diagrama de bloques que ofrece
una aproximación a la composición de un MIE que está en el lado de
la función de dispositivo, donde las funciones de un dispositivo
periférico son admitidas como funciones de dispositivo.
En este diagrama, el controlador de juego se
conecta a un servidor (se omite del dibujo) vía un bus M. El
controlador de juego comprende una función de
dispositivo-U que se conecta al servidor vía el bus
M, y dos funciones de dispositivo-L que se conectan
a la función de dispositivo-U vía los buses LM.
\newpage
La Figura 32 es un diagrama de circuitos en
bloques que muestra la sección de conexión de bus (selector) de la
Figura 31. Hay dos buses que derivan de la función de
dispositivo-U, y se les denomina bus LM 1 y bus LM
2, respectivamente. La operación de conexión para conectar y
desconectar los buses LM y el bus M se realiza con ayuda del
selector MIE en la función de dispositivo-U.
La Figura 33 es un diagrama de bloques similar de
una sección hardware de la función de dispositivo-U.
La sección de procesamiento de transmisión, la sección de control
socket, la sección CPU y la sección I/O están formadas por un
microcontrolador de un solo chip. El bloque de procesamiento de
transmisión forma una interfaz con el servidor. La sección CPU
controla el procesamiento de la señal en el dispositivo periférico,
por ejemplo un controlador de juego o similar. La sección I/O es
una interfaz de entrada externa para botones digitales, teclas
analógicas o similares. La sección de control del socket controla
los sockets de expansión. En este ejemplo, se preparan sockets de
expansión hardware (dos ranuras) para dos funciones de dispositivo
L.
La Figura 34 es un diagrama de bloques similar de
una función de dispositivo-L. Una sección de
procesamiento de transmisión, una sección CPU y una sección de
función de soporte están constituidas por un microordenador de un
solo chip. La sección de procesamiento de transmisión forma una
interfaz con la función de dispositivo-U (MIE para
la función de dispositivo-L). La sección CPU lleva
a cabo un proceso relacionado con la función de
dispositivo-L. El bloque de la función de soporte
opera la función del dispositivo-L, por ejemplo un
circuito para realizar la función de gatillo de un arma luminosa, la
función de memoria o la función vibración, etc.
A continuación, y con referencia a las Figuras 33
y 34, se describe la operación del MIE en el lado de la función de
dispositivo. En el estado inicial donde no se han asignado APs, el
controlador de socket que se muestra en la Figura 33 controla una
búfer de tres estados, y se inhabilitan los SDCKA OUT y SDCKB OUT
transmitidos a los sockets de expansión 1 y 2. Aquí, el controlador
de socket realiza las funciones de controlador de bus LM 1 y LM
2.
Con SDCKA OUT en estado inhabilitado, cuando no
se ha conectado ninguna función de dispositivo L al socket de
expansión, DSCKA OUT asume el nivel "L" debido a la resistencia
de empuje conectada al terminal de salida del búfer de tres estados.
El controlador socket puede identificar que no hay ninguna función
de dispositivo-L conectada a la función de
dispositivo-U detectando el nivel "L" de esta
terminal de salida.
Por otro lado, se conecta una fuente de
alimentación al terminal de entrada de SDCKA OUT del hardware de la
función de dispositivo-L mediante una resistencia de
empuje, como se ilustra en la Figura 34. Por tanto, si se conecta el
hardware de la función de dispositivo-L al socket de
expansión, la terminal SDCKA OUT (búfer de tres estados en estado
desconectado) se eleva al nivel "H" debido a la resistencia
relativamente alta de la resistencia de empuje que se muestra en la
Figura 33 y a la baja resistencia de dicha resistencia de empuje.
Si se detecta el nivel "H" de esta salida, el controlador
socket puede identificar que el hardware que contiene una función
de dispositivo-L se ha conectado al hardware que
comprende una función de dispositivo-U.
Se asigna un AP a la función de
dispositivo-U mediante un comando AP Assign desde el
servidor, y cuando se recibe un comando LM-Bus
Connect, el SDCKA OUT y el SDCKB OUT del socket 1 asumen el estado
habilitado. Por tanto, los comandos procedentes del servidor se
transmiten a la función de dispositivo-U y a la
función de dispositivo-L que están conectadas al
socket de expansión 1.
Si el servidor asigna un AP a la función de
dispositivo-L que está en socket de expansión 1 y
transmite un comando LM-Bus Commect a la función de
dispositivo-U, ésta habilita el SDCKA OUT y el SDCKB
OUT que están en el socket de expansión 2. Después de que se ha
completado el proceso de asignación de Aps a la función de
dispositivo-L del socket de expansión 2, los
comandos procedentes del servidor se transmiten a la función de
dispositivo-U y a todas las funciones de
dispositivo-L por igual. Las funciones de
dispositivo U y L comparan el valor AP contenido en el comando,
determinan si se les ha seleccionado a ellos mismos y responden
adecuadamente.
Las Figuras 35 a 39 son organigramas que ilustran
las operaciones de control que lleva a cabo el MIE durante la
transmisión.
La aplicación de servidor genera una secuencia de
comandos de proceso al software del driver del bus a través de un
API. El driver del bus traduce estos comandos de proceso en
instrucciones controladas por el MIE, y las registra en el registro
de instrucciones 52 del MIE.
El controlador de frame 58 determina si los
comandos (instrucciones) del registro de instrucciones ordenan la
salida de la señal del patrón de formato de transmisión estándar
(S12), la salida de una señal de formato con opción CRC (S14), la
salida de un patrón de permiso de ocupación SDCKB (S16) o la salida
de un patrón de reinicialización (S18).
Si se va a emitir un patrón de formato de
transmisión estándar (S12; Yes), el controlador frame 58 selecciona
la salida del codificador frames 59 mediante los selectores 64 y 65
y genera la salida de un patrón de puesta en marcha desde el
codificador de frames 59 (S21) según la secuencia mostrada en la
Figura 36. Acto seguido, selecciona la salida del registro de
desplazamientos alternos 60 con la ayuda de los selectores 64 y 65,
hace que se escriban los datos de transmisión en el registro de
desplazamientos alternos 60 (S22) desde la búfer de escritura 53, y
genera la salida de un patrón de datos desde el registro de
desplazamientos alternos 60 (S23).
El controlador de frame 58 confirma que los datos
transmitidos comprenden, por ejemplo, 256 bytes (S24). Si no
comprenden 256 bytes (S24; No), se repite el proceso de lectura
desde la búfer de escritura (S22) y la emisión de datos (S23). Si
se han transmitido 256 bytes (S24; Yes), los selectores 64 y 65
seleccionan la salida del codificador de frames 59 y el codificador
de frames 59 transmite un patrón de fin. De este modo, se transmiten
datos según un patrón estándar.
Si el código que fijado en el registro de
instrucciones 52 ordena la salida de un señal de formato con opción
CRC (S14; Yes), el controlador de frame 58 selecciona la salida del
codificador de frames 59 mediante los selectores 64 y 65 y hace que
el codificador de frames 59 genere un patrón de puesta en marcha con
CRC (S31), según la secuencia que se muestra en la Figura 37. Acto
seguido, los selectores 64 y 65 seleccionan la salida del registro
de desplazamientos alternos 60, y se leen los datos de transmisión
entre el búfer de escritura 53 y el registro de desplazamientos
alternos 60 (S32). Además, el controlador de frame 58 hace que la
sección de cálculo de CRC en el registro de desplazamientos alternos
realice cálculos de CRC sobre los datos leídos (S33). Esto genera un
patrón de datos de salida desde el registro de desplazamientos
alternos 60 (S34).
El controlador de frame 58 confirma la
transmisión de datos de, por ejemplo, 256 bytes (S35). Si no
encuentra 256 bytes (S35; No), se repiten los procesos de lectura
desde el búfer de escritura (S32), el cálculo de CRC (S33) y la
salida de datos (S34).
Si se han enviado 256 bytes (S35; Yes), el
controlador de frame 58 provoca que el registro de desplazamientos
alternos 60 transmita datos CRC después de los datos (S36). Entonces
selecciona la salida del codificador de frames 59 mediante los
switches 64 y 65 y hace que el codificador de frames 59 transmita un
patrón de fin (S37).
De este modo, los datos se transmiten en un
modelo que contiene CRC.
Si el controlador de unidad de frames 58
identifica un comando de salida para un patrón de permiso de
ocupación SDCKB (S16; Yes), entonces selecciona la salida del
codificador de frames 59 mediante los switches 64 y 65 y hace que el
codificador de frames 59 emita el patrón de permiso de ocupación
SDCKB (S41), según la secuencia que se muestra en la Figura 38. El
búfer 68 se controla vía el controlador de puerto 57 y prohíbe la
salida de SDCKB (S42). Acto seguido, el codificador de frames 59
genera el patrón de permiso de ocupación SDCKB, en donde SDCKA se
fija en el nivel "L" (S43).
Después de esto, se habilita el controlador de
bloqueo HV 63. El controlador de bloqueo HV 63 monitoriza la línea
SDCKB (S44). Si hay una respuesta desde el lado del dispositivo
(S44; Yes), entonces el controlador de bloqueo HV 63 genera una
salida de bloqueo del contador HV (S45). Después de generar una
salida de bloqueo (S45), o si no hay respuesta desde el lado del
dispositivo (S44; No), entonces identifica si el comando que
selecciona el modo de ocupación SDCKB está todavía presente en el
registro 52 (S46). Si todavía está presente (S46; No), se repiten
las fases S44 a S46, y se generan salidas de bloqueo sucesivamente
según las respuestas procedentes del lado del dispositivo.
Si se ha cancelado el comando que selecciona el
modo de ocupación SDCKB (S46; Yes), el SDCKA vuelve al nivel
"H" y el sistema reanuda un estado en el que SDCKA y SDCKB se
pueden usar para transmitir (S47).
De este modo, se aplica el modo de ocupación
SDCKB.
Si el controlador de unidad de frame 58
identifica que el código seleccionado en el registro de comandos es
un comando de emisión de un patrón de reinicialización (S18),
entonces hace que el codificador de frame 59 genere un patrón de
reinicialización (S51), como se muestra en la secuencia de la
Figura 39.
De este modo, se pueden transmitir señales de
diferentes formatos.
A continuación, se describe la operación del MIE
durante la recepción.
Como se muestra en la secuencia de la Figura 40,
el descodificador de frame 61 descodifica los SDCKA y SDCKB
recibidos, e identifica si las señales recibidas comprenden un
patrón de puesta en marcha (S62), de puesta en marcha con CRC (S64),
o un error de frame que no corresponde a ninguno de estos patrones
(S66).
Si se detecta un patrón de puesta en marcha (S62;
Yes), se identifica si éste es indefinido (S71), como se muestra en
la secuencia de la Figura 41. Si es un patrón de puesta en marcha
indefinido (S71; Yes), la marca de error de frame se fija en el
registro de estado, y el software del driver o equivalente realiza
un proceso de detección de error de frame prescrito.
Si es un patrón de puesta en marcha previamente
definido (S71; No), entonces la marca de detección de patrón de
puesta en marcha se fija en el registro de estado. Por tanto, se
activa el registro de desplazamientos alternos 62 y se extraen
datos sucesivamente desde las señales SDCKA y SDCKB recibidas,
desmodulándose los datos en serie extraídos en datos paralelos
(S73). Esta desmodulación/transferencia de datos se repite hasta que
el descodificador de frame 61 detecta un patrón de fin (S71 a S75).
Cuando se ha detectado un patrón de fin (S75; Yes), se fija una
marca de detección de patrón de fin en el registro de estado 55, y
termina la recepción.
Por otro lado, si se detecta un patrón de puesta
en marcha que contiene CRC, se identifica si éste es un patrón de
puesta en marcha indefinido (S81). Si es un patrón de puesta en
marcha indefinido (S81; Yes), se fija una marca de detección de
error de frame en el registro de estado, y el software del driver o
equivalente realiza el proceso de detección de error de frame
prescrito (S82).
Si es un patrón de puesta en marcha previamente
definido (S81; No), se fija una marca de detección para el patrón de
puesta en marcha con CRC. De este modo, se activa el registro de
desplazamientos alternos 62, se extraen datos sucesivamente de las
señales SDCKA y SDCKB recibidas y los datos en serie extraídos se
desmodulan en datos paralelos (S83). Después se realiza un cálculo
de CRC para los datos desmodulados (S84), y los datos desmodulados
se escriben en el búfer de lectura 56 (S85). Esta desmodulación y
transferencia de datos se repite hasta que el descodificador de
frame 61 detecta un patrón de fin (S81 a S86). Cuando se detecta un
patrón de fin (S86, Yes), el cálculo de CRC para los datos recibidos
se compara con los datos de CRC anexionados después de la sección de
datos para determinar si hay un error de CRC (S87).
Si se detecta un error de CRC (S87, Yes), se fija
una marca de detección de error de CRC en el registro de estado 55,
y entonces es posible procesar la detección de error de CRC, por
ejemplo una petición de retransmisión de datos (Transmit Again). Si
no se detecta error de CRC, se completa el proceso de recepción de
datos mediante un patrón de señal que contiene CRC (S87; No).
La Figura 43 es un organigrama que ilustra la
obtención y el uso de la información inherente (Fixed Device Status)
referido a un dispositivo periférico (función de dispositivo)
mediante programas incorporados en las aplicaciones (software), por
ejemplo programas de juego.
El programa de aplicación suministrado desde un
medio de almacenamiento de datos, por ejemplo un
CD-ROM, se almacena en la memoria y lo pone en
práctica la CPU. El programa de aplicación hace que el comando de
Device Request se transmita a la función de dispositivo (S102), y
después espera una respuesta de la función de dispositivo. Si no se
recibe un Fixed Device Status desde la función de dispositivo
incluso después de que haya transcurrido un periodo de tiempo
determinado, se determina que no hay ninguna función de dispositivo
conectada al bus (S104; No), y se lleva a cabo un proceso de "no
conexión" (S106).
Si se recibe un Fixed Device Status desde la
función de dispositivo (S104; Yes), se compara la información de
descripción de licencia (S108), la información de región de destino
(S110) y el ID del dispositivo con la información que se encuentra
en la aplicación del programa de juego, etc, que se suministra desde
el medio de almacenamiento de datos, por ejemplo un
CD-ROM (S112). Si esta comparación se corresponde
(S112; Yes), se realiza el proceso para asignar un AP a esa función
de dispositivo (S114).
Sin embargo, si la comparación no se corresponde,
se lleva a cabo un proceso para informar al usuario de que las
funciones de dispositivo conectadas (o los dispositivos periféricos
conectados) no corresponden a la aplicación (S116). Acto seguido, se
realiza el proceso de desconectar estas funciones de dispositivo
desde servidor (S106), y termina la rutina.
Estas funciones se usan como contramedidas PL
(responsabilidad civil de productos) para los dispositivos
periféricos. En un juego de tiro, por ejemplo, se usa un arma de
imitación, aunque existe el riesgo de que un dispositivo modelado
exactamente como un arma se puede confundir con un arma real. En
algunos países, por ejemplo, este tipo de uso puede no es causa de
problemas, pero en otros países sí. En tales casos, en estos países
donde sí pueden surgir problemas, sólo se puede usar un "arma"
cuyo aspecto exterior indica claramente que es un arma de
imitación.
Por tanto, en aplicaciones en las que se tienen
que tener en cuenta las costumbres, circunstancias, etc., en
particular en países o regiones, es deseable que se pueda
restringir el tipo y el modelo de dispositivo que se puede emplear
con esa aplicación mediante el Fixed Device Status que se ha
descrito anteriormente.
De este modo, según el estándar de conexión para
un dispositivo de juego y sus dispositivos periféricos
correspondientes según la presente invención, es posible conectar un
dispositivo de juego y múltiples dispositivos periféricos mediante
un número reducido de líneas de bus.
Además, si un usuario conecta un dispositivo
periférico de juego a un dispositivo de juego mediante un cable, ya
que el dispositivo de juego identifica automáticamente el
dispositivo conectado e inicializa y pone en marcha el dispositivo
periférico conectado de manera que se corresponda con la aplicación,
es posible eliminar procedimientos especiales y operaciones de
ajuste que involucran al usuario, proporcionando así un tipo de
conexión adecuada entre el dispositivo de juego y los dispositivos
periféricos.
Además, en la ejecución descrita, ya que los
dispositivos periféricos no tienen acceso a otros dispositivos
conectados al bus, sino que las comunicaciones de datos se realizan
en un formato mediante el cual los dispositivos periféricos
responden para acceder desde el dispositivo de juego, la regulación
de la sincronización de acceso entre el dispositivo de juego y los
múltiples dispositivos periféricos se hace obsoleta. Ya que el
acceso de un dispositivo periférico a otro dispositivo periférico
está prohibido, la regulación de la sincronización de acceso entre
dispositivos periféricos tampoco es necesaria. Por tanto, sólo se
necesita una estructura relativamente simple para el hardware y el
software I/O.
Además, se pueden conectar múltiples dispositivos
periféricos y de varios tipos. Por ejemplo, es posible conectar un
controlador de dispositivo de juego, un joystick, un teclado, una
unidad CD-ROM, una unidad DVD, un dispositivo de
entrada y salida de voz, un paquete de memoria, un dispositivo FDD,
un MODEM, un terminal ISDN (red digital de servicios integrados), o
similares.
Además, ya que la comunicación de datos se
realiza según un formato de comando entre el dispositivo de juego y
los dispositivos periféricos, es posible que una aplicación de juego
obtenga los datos necesarios en un momento y en una situación que se
correspondan con la evolución del juego desde un controlador de
juego (dispositivo periférico), o equivalente.
Además, ya que se transmiten pequeños volúmenes
de datos de manera intermitente, se reduce el ruido que producen los
cables de conexión.
Ya que un driver de bus controla la transmisión
de datos, se pueden añadir comandos o se pueden desarrollar
fácilmente nuevos dispositivos periféricos, actualizando el
driver.
Ya que se pueden transmitir datos entre un
dispositivo de juego y dispositivos periféricos, es posible
transferir datos multimedia, por ejemplo salida de sonido, entrada
de sonido, pantallas fijas, pantallas animadas, etc., mediante un
par de cables.
Ya que una unidad o aplicación principal de
dispositivo de juego puede utilizar la información inherente de un
dispositivo periférico, ésta puede distinguir entre los
dispositivos periféricos que se pueden usar con una aplicación y
aquellos que no se pueden usar con esa aplicación, desde múltiples
dispositivos de juego conectados, y de manera deseable, puede
suspender la operación de los dispositivos periféricos que no sean
compatibles.
Segundo modo de
ejecución
A continuación, se describe un segundo estándar
de interfaz periférica para un bus M. De todos los procesos que se
han realizado en el bus M, este estándar determina las
especificaciones de interfaz entre el servidor MIE y el driver del
bus M, las especificaciones de interfaz entre la función y el
controlador del MIE, las especificaciones de protocolo de
comunicaciones, y el formato de datos.
En primer lugar, se describen las topologías
física y lógica de la segunda interfaz después de un procedimiento
similar a la explicación anterior del primer estándar de
interfaz.
- La Figura 44 muestra una ilustración aproximada de la topología de conexión física según este segundo modo de ejecución. El modo de conexión física comprende una configuración servidor-dispositivo base (dispositivo periférico)-dispositivo de expansión (dispositivo periférico). Los dispositivos base representan el hardware (dispositivo periférico) conectado directamente al servidor. Los dispositivos de expansión representan el hardware (dispositivos periféricos) conectados al servidor vía un dispositivo base. En cualquier sistema, existe un único servidor (por ejemplo, una máquina de juego). El servidor puede tener un máximo de cuatro puertos para conectar a los dispositivos periféricos. Un dispositivo base se conecta a un puerto. Se puede conectar un máximo de cuatro dispositivos de expansión externos a cualquier dispositivo base. El servidor y los dispositivos base se conectan con cables asignados.
- Sin embargo, los siguientes tipos de conexiones no están permitidos: a) conexión directa servidor a dispositivo de expansión; b) conexión dispositivo base a dispositivo base; c) conexión dispositivo base a dispositivo de expansión; d) conexión dispositivo de expansión a dispositivo de expansión. Estas afirmaciones no pretenden limitar la presente invención a las realizaciones.
- La Figura 45 es un diagrama simbólico que ilustra la topología de conexión lógica según el segundo modo de ejecución. Según muestra este diagrama, la conexión lógica entre cada función (formada por el hardware del dispositivo de expansión y del dispositivo base) y el servidor forma una conexión denominada conexión en estrella con el servidor por su centro. El servidor controla la transmisión y recepción de señales.
La Figura 46 es un diagrama simbólico que
describe la estructura en capas entre un servidor y los dispositivos
periféricos. Según muestra el diagrama, el servidor y los
dispositivos periféricos forman una estructura en capas para las
comunicaciones de datos entremedias.
\newpage
En la Figura 46, la capa de función utiliza cada
función de un dispositivo periférico y controla la transmisión y
recepción de datos según el formato de datos. Un dispositivo
periférico tiene hasta un máximo de tres funciones. La capa de
control I/O controla la transmisión y recepción de datos que están
en los frames y también controla el MIE (Motor I/F del bus M) que se
describe después. La capa interfaz del bus controla la conexión
física y la transmisión y recepción de señales entre el servidor y
los dispositivos base (o dispositivos de expansión). La obtención
de datos (transmisión de datos) y el control entre la aplicación en
el servidor y las funciones físicas de los dispositivos periféricos
se realizan mediante una librería de funciones, una librería de bus,
el MIE del servidor, líneas de conexión, MIEs de dispositivos base
(o expansión), controlador MIE y funciones.
Los dispositivos periféricos (periféricos) se
clasifican y diferencian de la siguiente manera. Primeramente, los
dispositivos periféricos se clasifican en dos tipos: dispositivos
base y dispositivos de expansión. A su vez los dispositivos base y
los dispositivos de expansión se dividen en controladores de juego y
en otros periféricos. Como ejemplos del tipo controlador de juego de
dispositivo periférico se incluyen componentes estándar de
dispositivos de juego, por ejemplo controladores de juego estándar,
joysticks, volantes y similares, asociados a los dispositivos de
juego. Ejemplos de "otros periféricos" incluyen: teclado,
ratón, arma (arma de imitación) y similares. Un dispositivo de
expansión es un periférico de un sistema de expansión controlador,
ejemplos de éstos incluyen: una entrada de sonido, memoria
back-up, un arma (arma de imitación) y similares. El
sistema controlador tiene un formato de datos estándar fijo, con lo
cual se puede usar con cualquier software de aplicación. Ya que los
otros dispositivos base y de expansión tienen diferentes formatos de
datos dependiendo del dispositivo, se prepara una librería de
función para cada función respectiva.
A continuación se explica la terminología que se
usa en la descripción del segundo modo de ejecución. Por razones de
conveniencia, éste se solapa parcialmente con la descripción del
primer modo de realización. Primeramente, a los datos que se
expanden a lo largo de una serie de tiempos se les denomina "datos
en serie". Una línea de señales (flujo) que controla el
intercambio de datos en serie se denomina "bus serie". Un bus
serie que conecta un dispositivo de juego con dispositivos
periféricos según el estándar a que se refiere la presente
invención se denomina "bus M". Un grupo de parámetros que
indican la función de un dispositivo periférico y que se asigna a
cada dispositivo periférico correspondiente se denomina "ID de
dispositivo". Un ID de dispositivo contiene 16 bytes, incluidos
los atributos del dispositivo periférico y las funciones (formato
de datos y elementos funcionales) que comprende. El ID de
dispositivo se puede obtener mediante un comando Device Status, como
se describe posteriormente.
Un terminal de bus M al que se puede conectar un
dispositivo periférico del dispositivo de juego se denomina
"puerto". En un terminal de un puerto, hay cuatro clavijas
estándar, que comprenden terminales de alimentación de energía (VVC,
GND) y líneas de transmisión de datos (SDCKA, SDCKB), o cinco
clavijas que comprenden una línea adicional protectora. En el "bus
M" según el estándar del segundo modo de ejecución, se mantienen
un máximo de cuatro puertos (puerto A; puerto B; puerto C; puerto
D).
Al dispositivo de juego se le conoce como
"servidor", y las funciones realizadas por los dispositivos
periféricos conectados al mismo se denominan "función". Una
función no se refiere a un producto en si mismo, sino a un elemento
que constituye un producto, y por esta razón un producto puede
comprender múltiples funciones. Un dispositivo periférico forma una
colección de funciones, y el acceso desde el servidor se controla en
las unidades de dispositivo periférico, especificándose el acceso a
las funciones mediante el tipo de función. Se pueden emplear
múltiples funciones en un único dispositivo periférico, aunque con
el "bus M" según el segundo modo de ejecución, por ejemplo, se
puede usar un máximo de tres funciones.
Según se muestra en la Figura 47, los
dispositivos periféricos se dividen físicamente en dos tipos;
"dispositivos base" y "dispositivos de expansión". Un
dispositivo base es un dispositivo periférico que se conecta al
servidor y tiene la función de controlar los dispositivos de
expansión. Un dispositivo base identifica y conecta automáticamente
un dispositivo de expansión unido al mismo. Un dispositivo de
expansión es un dispositivo periférico conectado a un dispositivo
base que no puede operar si no tiene dispositivo base. Un bus M que
conecta un dispositivo base a un dispositivo de expansión se
denomina bus "LM". Un bus LM es lo mismo que el bus M en
términos lógicos (señal), aunque es diferente físicamente. De los
dispositivos periféricos, los dispositivos base comprenden
principalmente sistemas de control de juego y los dispositivos de
expansión comprenden dispositivos de expansión de los sistemas de
control de juego. Por ejemplo, sólo se puede conectar un dispositivo
base a un puerto del servidor, aunque el dispositivo base puede
gestionar hasta cinco dispositivos de expansión (hasta cinco buses
LM).
En el caso de un dispositivo base y múltiples
dispositivos de expansión en un único puerto, se asigna un número de
identificación a cada dispositivo base y dispositivo de expansión
según el punto donde esté conectado, con lo cual se puede acceder al
mismo directamente. Este número asignado se denomina "posición
absoluta AP". En el "bus M", el AP es un único byte fijo que
tiene la siguiente estructura:
(Máximo 4
puertos (2 bit)) x (Máximo número de APs asignados a 1 puerto = 6
(6 bit)) = (1 byte (8
bit))
El AP asignado se determina según el modo de
conexión y si el dispositivo es un dispositivo base o un dispositivo
de expansión, como se describe después. Este AP se usa para acceder
al dispositivo base o de expansión.
El intercambio de datos entre el servidor y las
funciones no se controla usando un sistema de comunicación
unilateral convencional, sino mediante el uso de instrucciones
específicas determinadas, de manera que se pueden transmitir y
recibir datos adecuados a la situación y al tiempo. Estas
instrucciones se denominan "comandos" y los datos objeto del
comando se denominan "parámetros". Un "parámetro" está
formado por el AP del dispositivo de destino, el AP del dispositivo
fuente, el tamaño de los datos, y los datos. En el bus M, se puede
preparar un máximo de 254 comandos básicos y se puede transmitir o
recibir un máximo de 1.020 bytes de datos en una sola operación de
acceso.
La transmisión de datos a través de un puerto se
realiza en unidades "frame". La Figura 48 muestra un ejemplo de
la composición de un frame. Un frame está formado por un patrón de
puesta en marcha, un código de comando, un parámetro (AP destino, AP
fuente, tamaño de datos, datos y similares), bits de paridad, y un
patrón de fin. Un frame se transmite en una única operación de
acceso. Un acceso se hace a un dispositivo en un intervalo (INT). El
patrón de puesta en marcha, los bits de paridad y el patrón de fin
se añaden mediante el MIE (se describe posteriormente).
La Figura 49 es un diagrama simbólico que ilustra
el proceso de respuesta y de "Time Out" ("exceso de tiempo
permitido") en un bus M. La respuesta que se transmite cuando un
servidor envía un comando a un dispositivo base o de expansión se
denomina "respuesta". Después de transmitir un comando, el
servidor espera una respuesta durante un determinado periodo de
tiempo, y si no hay respuesta después de esperar, este estado se
denomina "Time Out". El servidor considera que un dispositivo
base (o de expansión) ha sobrepasado el tiempo permitido como que ha
sido desconectado. Además, si un dispositivo base (o de expansión)
sobrepasa el tiempo permitido cuando está recibiendo, se
reinicializa el software. El periodo de tiempo hasta que se
sobrepasa el tiempo permitido ("Time Out") puede ser por
ejemplo de 1,0 ms.
En la Figura 49, en el caso (1), la respuesta del
dispositivo base (o de expansión) está dentro del tiempo de
respuesta y por tanto es normal. En el caso (2) no hay respuesta,
con lo cual se sobrepasa el tiempo permitido. En el caso (3), no hay
respuesta dentro del periodo de respuesta, con lo cual se sobrepasa
el tiempo permitido. En el caso (4), el intervalo de tiempo que se
produce durante la transmisión sobrepasa el tiempo de respuesta, con
lo cual se sobrepasa el tiempo permitido. El puerto al que se
conecta un dispositivo periférico que ha sobrepasado el tiempo
permitido ejecuta una reinicialización del hardware.
Un lugar para conectar un dispositivo de
expansión para expandir las funciones del controlador se denomina
"socket de expansión". Un dispositivo de expansión se conecta a
un socket de expansión. El bus M puede tener un máximo de cuatro
sockets de expansión. Esto se debe a que la correspondencia entre
los sockets de expansión y los buses LM se ejecuta según la lógica
de las dos líneas ID, que se describirán después. El número de buses
LM y el número de sockets de expansión no tiene que ser el
mismo.
Un circuito que convierte los datos en datos en
serie para el bus M de manera que se puedan transmitir y recibir vía
el bus M se denomina ``MIE (Motor I/F del bus M). Todos los
dispositivos estándar del bus M tienen este MIE. El servidor tiene
un MIE servidor, los dispositivos base tienen un MIE de dispositivo
base y los dispositivos de expansión tienen un MIE de dispositivo de
expansión. Un MIE sólo convierte datos, con lo cual el proceso de
extraer datos desde un frame lo realiza el driver del bus M (se
describirá después) en el servidor, y el software (firmware)
llamado driver del MIE en el dispositivo.
La operación de acceso del servidor a un
dispositivo periférico se controla vía software "driver del bus
M" y la "librería de función" que controlan los dispositivos
periféricos (dispositivos base y dispositivos de expansión). El
driver del bus M controla y gestiona los frames, mientras que las
operaciones de control de cada dispositivo periférico (función)
mediante comandos y parámetros de gestión (formato de datos) las
lleva a cabo una librería de función. Sólo hay un tipo de driver de
bus M para todos los dispositivos periféricos, mientras que las
librerías de función se proporcionan de manera que correspondan a
cada función respectiva. Se pueden usar hasta tres librerías de
función por el ID del dispositivo para cada uno de los dispositivos
periféricos.
En el "bus M", todos los dispositivos base y
de expansión graban información específica de ellos mismos según un
formato determinado.
La información que se refiere a un dispositivo
base o a un dispositivo de expansión se denomina "Device
Status". El Device Status graba datos de gestión, por ejemplo el
nombre del producto, el ID del dispositivo, la licencia, el número
de modelo, el lote de fabricación, la región de destino, etc., y
datos eléctricos tales como el consumo de corriente de reserva, el
máximo consumo de corriente y similares. El Device Status se
gestiona y utiliza mediante una librería de dispositivo y el
software de aplicación. Por ejemplo, es posible rechazar copias de
un producto ilegal según el nombre del producto y la información de
la licencia, y para controlar la corriente en todo el puerto según
la información del máximo consumo de corriente.
A continuación se describe la transmisión física
de datos en el bus M. Para esta transmisión de datos se emplea el
mismo formato que en el primer modo de ejecución. Dicho de otro
modo, los datos se transmiten mediante un formato en serie
sincronizado. Hay un total de cuatro líneas: Vcc para suministrar
energía; una línea a tierra GND; una línea de datos SDCKA
(bidireccional) para transmitir una señal SDCKA; y una de datos
SDCKB (bidireccional) para transmitir una señal SDCKB. La
comunicación de datos bidireccional emplea un sistema semidúplex y
la velocidad de transferencia es, por ejemplo, de 2 Mbps como
máximo. Si es necesario, se puede añadir un cable de protección de
señal.
La Figura 50 muestra patrones de datos para SDCKA
y SDCKB. Las señales que transmite el reloj de datos en serie A
(SDCKA) y el reloj de datos en serie B (SDCKB) se forman de manera
que sus bordes descendentes siempre se presentan alternativamente
cuando se están transmitiendo datos. En el lado de recepción, se
bloquea una señal en el borde descendente (o borde ascendente) de la
otra señal, y se desmodula el nivel de la señal bloqueada para
ofrecer datos digitales. Los datos se transfieren comenzando desde
el MBS, y en la posición de puesta en marcha, SDCKA proporciona
información del reloj y SDCKB proporciona información de los
datos.
La Figura 51 muestra un ejemplo de un patrón de
sincronización. El patrón de sincronización comprende un patrón de
puesta en marcha (START) y un patrón de fin (END). El patrón de
puesta en marcha es un patrón de sincronización que se transmite
antes que el de datos. Cuando el lado de recepción detecta cuatro
veces el borde descendente (o borde ascendente) de SDCKB (cuatro
pulsos negativos) en un periodo que va desde el descenso de SDCKA
hasta su siguiente borde ascendente, se decide que el siguiente
patrón es un patrón de datos. Cuando el lado de recepción detecta
dos veces el descenso (o ascenso) de SDCKA (dos pulsos negativos) en
el periodo que va desde el descenso de SDCKB hasta su siguiente
borde ascendente, se confirma que el patrón de datos ha terminado, y
se decide que la operación ha terminado de forma normal.
La Figura 52 muestra un ejemplo de un patrón de
permiso de ocupación. Si el lado de recepción detecta ocho veces el
borde descendente (8 pulsos negativos) en el periodo que va desde el
descenso de SDCKA hasta su siguiente borde ascendente, se puede
ocupar SDCKB desde el siguiente descenso de SDCKA hasta que
ascienda. La ocupación de SDCKB se debe liberar mediante un borde
ascendente de SDCKA. Este modelo se usa, por ejemplo, con un arma
luminosa en un juego de tiro.
La Figura 53 muestra un ejemplo de un patrón de
reinicialización. Si el lado de recepción detecta 14 veces el borde
descendente de SDCKB (14 pulsos negativos) en el periodo que va
desde el descenso de SDCKA hasta su siguiente borde ascendente, se
decide que hay una petición de reinicialización desde el lado de
transmisión, y se realiza una reinicialización.
La Figura 54 muestra un ejemplo de un formato de
transmisión. La transmisión de datos se realiza en frames (unidad
mínima). El contenido de un frame empieza con un patrón de puesta en
marcha que indica el comienzo de la transmisión de datos, y
comprende también un patrón de datos con una longitud máxima de
1.024 bytes, paridad, y un patrón de fin. La paridad comprende 8
bits en dirección horizontal, y se añade automáticamente mediante el
hardware durante la transmisión y se borra durante la recepción.
A continuación se describe el protocolo de
comunicaciones entre el servidor y los dispositivos periféricos. Los
comandos se indican con "nombre de comando", y los detalles se
describen después.
La Figura 55 es un diagrama simbólico que ofrece
un esbozo del protocolo de comunicaciones. En primer lugar, el
derecho de prioridad para transmitir comandos en una secuencia de
procesamiento lo tiene el servidor. Por tanto, al principio, los
dispositivos periféricos (dispositivos base o de expansión) asumen
un estado "standby" de espera de comando. Todas las
comunicaciones entre los dispositivos periféricos y el servidor se
controlan en unidades frame, como se ha descrito antes. El servidor
ejecuta un programa de aplicación y genera comandos a los
dispositivos periféricos. Estos comandos se transmiten a los
dispositivos periféricos vía el bus M como datos frame. Se da una
orden a un dispositivo periférico a través del comando y los
parámetros de un frame. Cuando un dispositivo periférico que
corresponde al AP de destino en el frame recibe los datos frame,
responde de manera acorde. En concreto, el dispositivo periférico
genera un comando adecuado y crea datos frame que transmite al
servidor vía el bus M. Acto seguido, el dispositivo periférico asume
el estado standby esperando la siguiente transmisión de datos. El
servidor recibe los datos frame procedentes del dispositivo
periférico y extrae el comando reply (respuesta). Este comando se
pasa después a la aplicación. La aplicación ejecuta la siguiente
acción usando la información que transmite este comando. Las
comunicaciones de datos entre el servidor y el dispositivo
periférico se controlan repitiendo este procedimiento. La Figura
56(a) ilustra este tipo de comunicación de datos intermitente
entre un servidor y múltiples dispositivos periféricos vía un bus M
y buses LM. Además, la Figura 56(b) ilustra un ejemplo en el
que no es posible enviar todos los datos a transmitir en una sola
transmisión de frame, y por tanto los datos se reparten y transmiten
de manera intermitente mediante múltiples frames de transmisión (ver
Figura 70 posterior).
El proceso de comunicación de datos anterior
tiene las siguientes características. El servidor puede acceder
directamente a un dispositivo base y a un dispositivo de expansión
usando el mismo protocolo, sin necesitar una conversión de datos, o
similar, durante la operación. Los datos AP necesarios para el
acceso se determinan según el puerto del servidor, el dispositivo
base y el socket de expansión donde se conecta la función. Cuando se
accede a un dispositivo base, se puede confirmar el estado de
conexión de los dispositivos de expansión en ese dispositivo base.
Los dispositivos periféricos se pueden conectar o desconectar
incluso aunque el servidor esté funcionando. Con miras a obtener
información que se refiere a un dispositivo periférico, el servidor
pide un Device Status. Si no se pide un Device Status, un
dispositivo periférico no comienza a funcionar, sino que permanece
en standby (estado de espera). Hay dos tipos de operación de
reinicialización de dispositivo periférico, a saber, una
reinicialización de software (comando de reinicialización) y una
reinicialización de hardware (patrón de reinicialización), que se
describirán después. Una reinicialización de software sólo
reinicializa dispositivos periféricos determinados que están
conectados a un puerto. Una reinicialización de hardware
reinicializa todos los dispositivos periféricos. La transferencia de
datos se controla en unidades frame que contienen un máximo de 1.024
bytes. Un único dispositivo periférico puede usar hasta tres
funciones y se accede a las funciones especificando los tipos de
función correspondientes. Dentro de un intervalo (1 INT) es posible
un máximo de una operación de acceso a una función, y mediante un
acceso se puede comunicar un frame de datos. A un único puerto no se
accede en un modo continuo. Después se describe el modo en el que se
consiguen estas características.
Para una función, es posible un máximo de una
operación de acceso durante un periodo INT interno, y la cantidad de
datos que se pueden transferir en una operación de acceso es frame
de transmisión de datos y un frame de recepción de datos. La Figura
54 antes descrita muestra ejemplos de datos frame, donde un frame
comprende un patrón de puesta en marcha, un patrón de datos, bits de
paridad y un patrón de fin.
El patrón de puesta en marcha, bits de paridad y
el patrón de fin son designados por el patrón de transmisión de
datos, y son procesados automáticamente por el MIE. El patrón de
datos en el frame está formado por unidades de 4 bytes, y contiene
un mínimo de cuatro bytes y un máximo de 1.024 bytes. Cuando tiene
un mínimo de 4 bytes, comprende únicamente un código de comando, un
AP destino, un AP fuente, y un tamaño de datos (=00 h). El código de
comando indica el código del comando emitir al dispositivo destino.
El AP destino indica el AP del dispositivo al que se transmite el
frame. Dicho de otro modo, el servidor especifica el AP de un
dispositivo base o de expansión, y un dispositivo base o de
expansión especifica el AP de un puerto de servidor. El AP fuente
indica el propio AP del dispositivo de transmisión. El tamaño de los
datos indica el tamaño de los datos de transmisión en unidades de 4
bytes. Los datos son los datos para la transmisión (formato de
datos, etc.) y se almacenan en unidades de 4 bytes.
Los códigos de comando comprenden 1 byte y
almacenan los códigos para comandos.
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Datos | COM_{7} | COM_{6} | COM_{5} | COM_{4} | COM_{3} | COM_{2} | COM_{1} | COM_{0} |
Aquí, COM_{0} a COM_{7} son códigos de
comando. Los códigos de comando se definen en un rango entre 01h y
FEh. Los diferentes tipos de código de comando se describen
después.
Los datos que se describen con referencia a esta
tabla se almacenan en un emplazamiento adecuado en una memoria o
registro interno, etc., que no se muestra en los dibujos.
A continuación se describe AP. Hay tres tipos de
AP: el AP de un dispositivo básico o de expansión en si mismo; un AP
que indica un destino para los datos (AP destino); y un AP que
indica una fuente de datos (AP fuente). El AP de un dispositivo base
o expansión es el AP del dispositivo en si mismo, y se compara con
el AP destino de un frame transmitido desde el servidor y que se usa
para identificar si los datos procedentes del servidor se dirigen o
no a ese dispositivo. El AP fuente de un dispositivo son los datos
que se escriben en el tercer byte de un frame cuando un dispositivo
base o de expansión devuelve los datos al servidor (Figura 48). Esto
indica al servidor qué datos transmitidos al dispositivo se han
enviado. En el AP fuente del dispositivo, los cinco bits menos
significativos indican el estado de conexión anterior del bus M. El
servidor accede al dispositivo base y examina el AP fuente en el
comando de respuesta (frame desde el dispositivo base) para ver qué
buses LM del dispositivo base tienen dispositivos de expansión
conectados. El valor de AP se determina según la configuración de
conexión del puerto, al dispositivo base y al dispositivo de
expansión (sistema de número de sockets fijos), como se ilustra en
la Figura 57, que se describe después.
La Tabla 2 muestra una composición de bits del AP
que se guardan en un registro interno. El AP comprende un byte (8
bits). Los bits séptimo y octavo del AP son los bits de selección de
puerto PO_{1} y PO_{2}, que indican el puerto de entrada/salida
del puerto al que está conectado el dispositivo base. El quinto bit
del AP es un bit de selección de dispositivo base/dispositivo de
expansión, que indica si el dispositivo es un dispositivo base o de
expansión. Los bits cuarto a cero del AP son los bits LM_{4} a
LM_{0} de selección de bus LM, que indican el número de un bus
LM.
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Datos | PO_{1} | PO_{0} | D/E | LM_{4} | LM_{3} | LM_{2} | LM_{1} | LM_{0} |
En la tabla se muestran ejemplos del uso de los
bits de puerto elegidos PO_{0} y PO_{1}. Cualquiera puerto desde
el puerto A al puerto D se designa mediante los dos bits de
selección de puerto PO_{0} y PO_{1}.
| Puerto seleccionado | PO_{1} | PO_{2} |
| Puerto A | 0 | 0 |
| Puerto B | 0 | 1 |
| Puerto C | 1 | 0 |
| Puerto D | 1 | 1 |
Como se muestra en la Tabla 4, el bit se
selección dispositivo base/dispositivo de expansión es "1"
cuando el AP se selecciona para un dispositivo base, "0" cuando
se selecciona un dispositivo de expansión, y es "0" cuando se
selecciona un puerto.
| Dispositivo seleccionado | D/E |
| Dispositivo base | 1 |
| Dispositivo de expansión | 0 |
| Puerto | 0 |
Los bits LM_{4} a LM_{0} de selección de bus
LM se muestran en la Tabla 5. Si el AP designa un dispositivo base o
un puerto, LM_{4} a LM_{0} se fijan en "0". Si un
dispositivo de expansión se conecta a un bus LM, o se accede a un
dispositivo de expansión, el bit de selección LM_{n} para el bus
correspondiente se fija en "1". Además, si no hay ningún
dispositivo de expansión conectado, el bit de selección LM_{n} del
bus LM correspondiente se fija en "0". Cuando se accede a un
dispositivo de expansión, sólo el bit de selección del número de
buses LM del dispositivo de expansión al que se accede se fija en
"1".
| Destino transferencia | LM_{4} | LM_{3} | LM_{2} | LM_{1} | LM_{0} |
| Dispositivo base | 0 | 0 | 0 | 0 | 0 |
| Dispositivo expansión | La tabla que se muestra después | ||||
| Puerto | 0 | 0 | 0 | 0 | 0 |
\vskip1.000000\baselineskip
| Número de bus LM | Bit de selección | Acceso o estado conectado | Estado desconectado |
| Nº 1 | LM_{0} | 1 | 0 |
| Nº 2 | LM_{1} | 1 | 0 |
| Nº 3 | LM_{2} | 1 | 0 |
| Nº 4 | LM_{3} | 1 | 0 |
| Nº 5 | LM_{4} | 1 | 0 |
Cuando hay una respuesta desde un dispositivo
base, el AP fuente comprende el AP del dispositivo base
automáticamente combinado mediante una puerta OR con los bits de
selección de estado de conexión de dispositivo de expansión para los
buses LM correspondientes.
Por ejemplo, si el servidor accede a un
dispositivo base desde el puerto A (00 h), el AP fuente será
"00100000" (20 h), y el AP destino será "00000000" (00 h).
Aquí, h indica notación decimal. Si los dispositivos de expansión se
conectan al dispositivo base por los buses LM números 1 y 3, la
respuesta desde el dispositivo base al puerto A será: AP destino =
"00000000" (00 h), AP fuente = "00100101" (25 h). El AP
fuente añade (mediante una operación OR) el estado de conexión de
los dispositivos de expansión (LM_{0} y LM_{2} = "1") al AP
del dispositivo base ("00100000").
Después, cuando el servidor accede a un
dispositivo de expansión conectado al bus LM nº 1 desde el puerto B,
el AP destino es "01000001" (41 h), el AP fuente es
"01000000" (40 h). La respuesta del dispositivo de expansión
conectado al bus LM nº 1 es AP destino = "01000000" (40 h), AP
fuente = "01000001" (41 h).
La Figura 57 muestra una tabla de Aps (notación
hexadecimal) para dispositivos base y dispositivos de expansión
cuando el servidor accede a los mismos. Cuando un dispositivo base
responde, el AP receptor es la suma (todas las sumas OR) del AP del
mismo dispositivo base, más los valores AP de los dispositivos de
expansión conectados a él. Por tanto, el AP fuente desde un
dispositivo base contiene información de la conexión de los
dispositivos de expansión. El servidor puede saber por el AP fuente
del dispositivo base si uno o varios dispositivos de expansión están
conectados.
A continuación se describe un procedimiento para
seleccionar inicialmente Aps. La persona que está jugando puede
conectar dispositivos base a cualquier puerto del servidor, y puede
también conectar dispositivos de expansión a cualquier bus LM del
dispositivo base. Por tanto, antes de empezar el juego, el servidor
tiene que descubrir si un dispositivo base o de expansión está
conectado a alguno de los puertos del servidor, y tiene que
identificar el AP de estos dispositivos. A continuación se describe
un procedimiento para seleccionar en principio Aps de dispositivo
base con referencia al organigrama de la Figura 58. La Figura 58
muestra un ejemplo de un caso en el que un dispositivo base está
conectado al puerto A del servidor y hay dispositivos de expansión
conectados a los buses LM nº 1 y nº 2 del dispositivo base. El
diagrama ilustra la operación del servidor y del dispositivo base
CPU.
Primeramente, el servidor, el dispositivo base y
el dispositivo de expansión se conectan entre si mediante líneas de
comunicación, y cuando se conecta la fuente de alimentación para los
dispositivos, comienzan los programas de inicialización desde una
ROM a la CPU en cada dispositivo. El MIE del dispositivo base se
ilustra en la Figura 64 posterior, y el MIE del dispositivo de
expansión se ilustra en la Figura 66. Según estos programas, el
dispositivo base (CPU) inicializa el registro de interfaz y el
puerto, que se describen después (S22, S24). Acto seguido, el
dispositivo base genera un AP para si mismo. En este caso, ya que el
AP se refiere al mismo dispositivo, sólo el bit 5 del AP se fija en
"1", dando un AP de " - - 100000".
Aquí, el símbolo "-" indica un valor indefinido (S26). A
continuación, el dispositivo base investiga si se proporciona un bus
LM nº 5. A diferencia de otros buses LM, el bus LM nº 5 es una
conexión de bus o una conexión lógica. Esto se debe a que se prevén
usos en donde las funciones del mismo dispositivo base se expanden,
instalando un dispositivo de expansión dentro del dispositivo base,
o usando un dispositivo base y un dispositivo de expansión en
combinación. Por ejemplo, si se crea un controlador de juego que
comprende una función vibrante, entonces el controlador de juego
formará el dispositivo base y una sección vibrante se conectaría a
éste vía el bus LM nº 5, formando así todo el dispositivo un
controlador de juego que contiene una sección vibrante. La presencia
o ausencia de este bus nº 5 ya se ha establecido en el dispositivo
base CPU (esta información está escrita en una ROM, etc), y no
necesita configurarse, o similares. En el ejemplo que se describe
aquí, se supone que no hay bus LM nº 5 (S28).
A continuación, la CPU del dispositivo base
selecciona los buses LM para los sockets externos. Como se muestra
en la Figura 64, el dispositivo base genera una combinación de
valores de voltaje que corresponden al número de buses LM
significativos en terminales particulares, por ejemplo terminales
ID_{0}, ID_{1}, de cada socket de bus LM, comenzando por la
sección I/O. La Tabla 6 muestra ejemplos de la lógica de salida a
los terminales ID_{0}, ID_{1} de cada bus LM que ha
seleccionado el dispositivo base (S30).
| ID_{0} | ID_{1} | Nº de bus LM | Nº socket |
| 0 | 0 | 1 | 1 |
| 1 | 0 | 2 | 2 |
| 0 | 1 | 3 | 3 |
| 1 | 1 | 4 | 4 |
El dispositivo base emite "0", "0"
respectivamente a los terminales ID_{0}, ID_{1} del socket del
bus LM nº 1 y emite "1", "0" respectivamente a los
terminales ID_{0}, ID_{1} del socket del bus LM nº 2. Estos
voltajes de salida lógicos se suministran a los dispositivos de
expansión vía los buses LM y los puertos I/O. Un dispositivo de
expansión examina los valores de salida lógicos del dispositivo base
para identificar qué bus LM (socket de expansión) está conectado
(S32).
El dispositivo base lee el nivel lógico desde un
terminal especialmente reservado, por ejemplo el ID_{2} de cada
socket de bus LM. El terminal ID_{2} se conecta a tierra vía una
resistencia de empuje, y cuando se conecta un dispositivo de
expansión a este socket, se aplica un voltaje Vcc desde el lado del
dispositivo de expansión. El resultado es que cuando se conecta un
dispositivo de expansión a ese socket, el nivel lógico del terminal
ID_{2} se convierte en "1". Además, si no se conecta el
dispositivo de expansión, el nivel lógico del terminal ID_{2} se
convierte en "0". Si se examina el nivel lógico de ID_{2} con
respecto a ID_{0} e ID_{1} emitidos al bus LM, el dispositivo
base puede identificar si un dispositivo está o no conectado al nº
de bus LM que indica la lógica emitida a los terminales mencionados
ID_{0} y ID_{1}. Si se repite este proceso, el terminal ID_{2}
sirve para confirmar la conexión de los dispositivos de expansión, y
cuando ID_{2} es "0", esto indica que no hay ningún
dispositivo de expansión conectado, y cuando ID_{2} es "1",
esto indica que sí hay un dispositivo de expansión conectado. En
este ejemplo, ID_{2} del bus LM nº 1 e ID_{2} del bus LM nº 2
son "1" (S34).
En determinadas condiciones, las salidas lógicas
a los terminales socket ID_{0}, ID_{1} sirven como señal de
reinicialización desde el dispositivo base a un dispositivo de
expansión. Por ejemplo, si el dispositivo base cambia las salidas
ID_{0}, ID_{1} que van al dispositivo de expansión, se forma una
señal "detener funcionamiento" que va al dispositivo de
expansión y el dispositivo de expansión detiene su funcionamiento.
Por ejemplo, si ID_{0}, ID_{1} fueran "00" y se cambiaran a
ID_{0}, ID_{1}= "11", el dispositivo de expansión detendría
su funcionamiento. Además, si el dispositivo base cambiase las
salidas ID_{0}, ID_{1} y después las devolviese a sus valores
originales, se crearía una señal de reinicialización hacia el
dispositivo de expansión y el dispositivo de expansión se
reincializaría. Por ejemplo, si ID_{0}, ID_{1} fueran "00",
y después se emitiera ID_{0}, ID_{1}= "11" (señal de
detención) para detener el dispositivo de expansión, el dispositivo
base se reinicializaría después. Después de reinicializar el
dispositivo base, se reinicializa el dispositivo de expansión
cambiando a ID_{0}, ID_{1}= "00" (señal de
reinicialización) (volver a los valores originales). Después de la
reinicialización, los dispositivos asumen el mismo estado que el que
sigue al una reinicialización de software, el cual se describe
después. A continuación, cuando el dispositivo base está
transmitiendo, genera un AP fuente. El AP fuente tiene la
forma
" - - 1xxxxx" dependiendo del AP del dispositivo base y del estado del terminal ID_{2}. Los símbolos "x" en bits de 0 a 4 son "0" ó "1", dependiendo de los estados de conexión de los buses LM. En este ejemplo, hay dispositivos conectados únicamente a los buses LM 1 y 2, con lo cual el AP fuente es " - - 100011" (S36).
" - - 1xxxxx" dependiendo del AP del dispositivo base y del estado del terminal ID_{2}. Los símbolos "x" en bits de 0 a 4 son "0" ó "1", dependiendo de los estados de conexión de los buses LM. En este ejemplo, hay dispositivos conectados únicamente a los buses LM 1 y 2, con lo cual el AP fuente es " - - 100011" (S36).
El dispositivo base espera a recibir un Device
Request, que es un tipo de comando que envía el servidor. Si el
dispositivo base no recibe un Device Request, éste permanece en un
estado de espera y repite el proceso desde la fase 34 (S38; No). En
este ejemplo, el dispositivo base está conectado al puerto A del
servidor. El AP destino para este dispositivo base desde el servidor
es "00100000", que indica que el dispositivo base está en el
puerto A. El "1" en el quinto bit indica un dispositivo base, y
el "00" en el sexto y el séptimo indica puerto A.
Por otro lado, el servidor envía sucesivamente un
comando (Device Request) a cada puerto y espera una respuesta desde
un dispositivo base, de este modo puede identificar si los
dispositivos base o los dispositivos de expansión (dispositivos
periféricos) están conectados a los puertos A a D (H22). Cuando el
dispositivo base en el puerto A recibe un comando (Device Request)
del servidor (S38; Yes), éste lee el AP fuente en el frame recibido,
y deduce el nº de puerto que se conecta desde los bits sexto y
séptimo. En este ejemplo, es el puerto A, con lo cual estos bits son
"00" (S40).
En la fase S26, el dispositivo base completa su
propio AP (8 bits) usando los 6 bits menos significativos que se han
creado antes y los dos bits más significativos que indican el puerto
(S42). En concreto, combina el "00" (bits sexto y séptimo)
deducido para el puerto A, y el AP que ya ha creado el dispositivo
base (= " - - 100000") (bits cero a quinto),
completando así el propio AP del dispositivo base "00100000"
(20h en notación hexadecimal).
Acto seguido, el dispositivo base completa el AP
fuente para el frame de transmisión. Los bits de puerto se añaden,
en las posiciones más significativas, al AP fuente que ya se ha
completado hasta únicamente los 6 bits menos significativos en la
fase S36. En este ejemplo, los bits de puerto "00" se añaden al
AP fuente = " - - 100011" para proporcionar
un AP fuente "00100011" (S44). Si se mira el código de este AP
fuente, se puede ver que el dispositivo base está conectado al
puerto A, y que los dispositivos de expansión están conectados a
los buses LM nº 1 y nº 2 de este dispositivo base.
Este dispositivo base crea un frame de
transmisión para contestar al Device Reply (S46). El dispositivo
base prepara un Device Status como comando de respuesta para el
comando de Device Request. El AP destino es "00000000" que
indica el puerto A, y el AP fuente es "00100011" como se ha
descrito antes.
El dispositivo base envía un frame de transmisión
que contiene el Device Status, devolviendo así un comando al
servidor (S48). Después de esto, ya que el dispositivo base no está
desconectado, su AP es "00100000". El dispositivo base
monitoriza constantemente el estado del terminal ID_{2} de los
sockets de los buses LM. Si cambia el estado de conexión de los
dispositivos de expansión con los buses LM, también cambian los bits
del AP fuente, manteniendo así un AP fuente que corresponde al
estado de conexión de los dispositivos de expansión.
El servidor recibe frames de transmisión desde el
dispositivo base e identifica que hay un dispositivo base conectado
al puerto A y que los dispositivos de expansión están conectados a
los buses LM nº 1 y nº 2 de este dispositivo base (H24). El servidor
puede apreciar si existen dispositivos de expansión conectados al
dispositivo base simplemente accediendo al dispositivo base. Como se
describe después, mediante el comando de Device Status, el servidor
puede identificar también los detalles del dispositivo base (tipo de
dispositivo periférico, etc) conectado al puerto.
En el proceso de selección de AP mencionado
antes, los sockets mediante los cuales los dispositivos de expansión
se conectan al dispositivo base tienen números fijos y se comprueba
si un dispositivo de expansión está o no conectado a cada uno de los
sockets (sistema de número fijo de socket (número de bus LM)). Dicho
de otro modo, (a) después de inicializarse el mismo dispositivo
base, éste selecciona primeramente los ID_{0}, ID_{1}
correspondientes al nº de bus LM (socket), y después (b) examina el
nivel lógico del ID_{2} de cada socket para identificar la
presencia o ausencia de una conexión de dispositivo de expansión en
cada bus LM. Acto seguido, (c) determina qué número de dispositivos
de expansión de buses LM se conectan desde la información de
conexión ID_{2}, y por tanto crea los seis bits menos
significativos del AP fuente para el frame de transmisión en base a
esta información. (d) El dispositivo base obtiene información que
indica el puerto del servidor que se conecta desde el AP fuente en
el frame recibido desde el servidor, y añade los dos bits más
significativos del AP fuente del dispositivo base, completándose
así el AP fuente.
Por otro lado, también es posible que el
dispositivo base ejecute un chequeo previo del ID_{2} para
identificar los buses LM en uso, y después para asignar los números
de bus LM a los buses LM usados (sistema de asignación de número de
socket (número de bus LM)). En concreto, (a) después de
inicializarse el mismo dispositivo base, éste examina la lógica ID2
para identificar si un dispositivo de expansión está conectado a un
bus LM determinado. (b) Después asigna ID_{0}, ID_{1} a los
buses LM que ha identificado el terminal ID_{2} como que tienen
una conexión de dispositivo de expansión. Los números se asignan en
orden ascendente con lo cual no se solapan entre ellos. La Tabla 7
muestra un ejemplo de ID_{0}, ID_{1} y números de bus LM. Un bus
LM cuyo estado de conexión permanece inalterado mantiene el número
de su estado anterior.
| ID_{0} | ID_{1} | Nº de Bus LM |
| 0 | 0 | 1 |
| 0 | 1 | 2 |
| 1 | 0 | 3 |
| 1 | 1 | 4 |
Acto seguido, (c) el dispositivo base crea los 6
bits menos significativos de su AP fuente usado cuando transmite, en
base a la información que hay en ID_{2} y ID_{0}, ID_{1}. (d)
Después obtiene información que identifica el puerto del servidor al
que se conecta desde el AP fuente que está en el frame recibido del
servidor, y añade los dos bits más significativos del AP fuente del
dispositivo base, completando así su AP fuente.
Una vez que el dispositivo base ha establecido su
AP fuente, si recibe después una instrucción del servidor que pide
que se actualice el AP, en el sistema de número fijo de socket, ya
se han proporcionado los ID_{0}, ID_{1} correspondientes a cada
socket, con lo cual el procesamiento que ejecuta el dispositivo base
para actualizar el AP comienza en la fase (b) anterior. En el
sistema de asignación de número de socket, los números de socket
cambian, y por tanto el procesamiento en el dispositivo base para
actualizar el AP comienza desde la fase (a) anterior.
A continuación se describe un procedimiento para
la selección inicial de APs para dispositivos de expansión,
haciendo referencia al organigrama de la Figura 59. En este
diagrama, las operaciones del servidor, del dispositivo base y del
dispositivo de expansión se muestran en paralelo. Además, se aplican
los mismos números de fase a las secciones que corresponden a la
Figura 58, y estas secciones no se describen aquí. En el ejemplo que
se describe aquí, un dispositivo base está conectado al puerto B del
servidor, y un dispositivo de expansión está conectado al bus LM nº
2 del dispositivo base.
Primeramente, el servidor, el dispositivo base y
el dispositivo de expansión se conectan entre si, y se suministra
energía a cada dispositivo (K22). El MIE del dispositivo de base y
el MIE del dispositivo de expansión se describen después mediante
las Figuras 64 y 66, respectivamente. El dispositivo de expansión se
conecta al dispositivo base y cuando se ejecuta la denominada
"power on reset" ("reinicialización de conexión"), se
inicializa su registro interno y su puerto de bus LM (K24,
K25).
El dispositivo de expansión (CPU) examina el bus
LM según un programa de control. Como ya se ha descrito antes, los
niveles lógicos que corresponden al número de bus LM se emiten
mediante el dispositivo base (CPU) a terminales determinados, por
ejemplo ID_{0}, ID_{1}, de cada conector de bus LM. El
dispositivo de expansión lee la lógica de los terminales ID_{0},
ID_{1} del bus LM al que está conectado (K28). En este ejemplo,
el dispositivo de expansión se conecta al socket 2, con lo cual la
salida lógica de los terminales ID_{0}, ID_{1} se fija en
"01". El dispositivo de expansión identifica el número de bus
LM consultando la salida lógica de los terminales ID_{0}, ID_{1}
y la Tabla 6. En este ejemplo, ID_{0}, ID_{1}= "01", con
lo cual el número de bus LM se identifica como "2" (K30).
El dispositivo de expansión crea después su
propio AP. El dispositivo de expansión sabe que es un dispositivo de
expansión. Esto se consigue copiando previamente la información
necesaria en una ROM, o copiándola directamente en el programa de
control de dispositivo de expansión. El bit 5 (bit de selección
dispositivo de expansión/dispositivo) del AP que está en el registro
que se muestra en la Tabla 2 se fija en "0", y los bits 0 a 4
(bits de selección de número de bus LM) se fijan en "1" en
correspondencia con el número de bus LM al que está conectado el
dispositivo de expansión. En este ejemplo, el bus LM es el nº 2, con
lo cual el bit 1 se fija en "1". Por tanto, el AP del mismo
dispositivo de expansión es " - - 000010"
(K32).
Acto seguido, el dispositivo de expansión crea un
AP fuente de dispositivo de expansión. A diferencia del dispositivo
base, el dispositivo de expansión no realiza un chequeo de conexión
para el AP fuente, y por tanto el "AP fuente = AP de dispositivo
de expansión". En este ejemplo, el AP fuente = AP de dispositivo
de expansión = " - - 000010" (K34).
El dispositivo de expansión entonces espera un
frame de entrada procedente del servidor que contiene un comando de
Device Request que especifica su propio AP
(" - - 000010") (K36). Si no recibe un
comando Device Request continúa esperando en standby (reserva)
(K36; No).
Como se ha descrito antes, ya que el dispositivo
base ya ha informado al servidor del estado de conexión de los buses
LM (S48), el servidor sabe qué buses LM tienen un dispositivo de
expansión conectado a ellos (H26). Por tanto, los comandos de Device
Request sólo se pueden transmitir al dispositivo de expansión para
que se pueda usar el dispositivo de expansión, en aplicaciones que
permitan el uso de dispositivos de expansión. En este ejemplo, el AP
fuente en el frame de transmisión enviado por el servidor es
"01000000" que indica el puerto B, y el AP destino es
"010000010" que indica un dispositivo de expansión y un bus LM
nº 2 (H28).
El dispositivo de expansión recibe el frame que
contiene el comando Device Request (K36; Yes). Entonces lee el AP
fuente de estos datos del frame ("01000000") para deducir el
número de puerto significativo del servidor. Aquí, es el puerto B,
con lo cual el número de puerto es "01". El dispositivo de
expansión añade los bits que indican el puerto B a las posiciones
más significativas del AP del dispositivo de expansión que ya se ha
completado hasta únicamente los 6 bits menos significativos,
completándose así su propio AP de dispositivo de expansión. En este
ejemplo, se añaden los bits "01" para el puerto B al AP del
dispositivo de expansión " - - 000010",
produciéndose así un AP de dispositivo de expansión de
"01000010".
Después, se completa el AP fuente del dispositivo
de expansión. Los bits del puerto se añaden, en las posiciones más
significativas, al AP fuente que ya se ha completado hasta
únicamente los seis bits menos significativos. Aquí, los bits de
puerto "01" se añaden al AP fuente "--000010" para ofrecer
un AP fuente de "010000010" (K42). Este AP fuente del
dispositivo de expansión es el mismo que el AP del dispositivo de
expansión, con lo cual se puede suprimir este proceso (K42).
El dispositivo de expansión crea entonces un
frame de transmisión para contestar al servidor (K44). Prepara un
comando de respuesta Device Status en respuesta al comando Device
Request. El AP destino es "01000000" que indica el puerto B del
servidor, y el AP fuente es "010000010". El dispositivo de
expansión envía el comando al servidor (K46). Este comando es un
comando Device Status. Acto seguido, el dispositivo de expansión
mantiene "010000010" como su propio AP y AP fuente, a menos que
se desconecte el suministro de energía o los cables.
El servidor obtiene los detalles del dispositivo
de expansión que está conectado (diferente información que se
refiere al dispositivo periférico) al recibir el comando Device
Status del dispositivo de expansión.
A continuación se describe la composición de la
sección del tamaño de los datos que se encuentran en un frame de
transmisión o recepción. La sección del tamaño de los datos
comprende un único byte, como se muestra en la Tabla 8.
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Datos | DS_{7} | DS_{6} | DS_{5} | DS_{4} | DS_{3} | DS_{2} | DS_{1} | DS_{0} |
Aquí, los datos DS_{0} a DS_{7} en el bit 0 a
bit 7 indican el tamaño de los datos. La sección del tamaño de los
datos indica el tamaño de los datos que están en unidades de 4
bytes, desde un mínimo de 0 bytes a un máximo de 1.020 bytes. Esto
se muestra en la Tabla 9.
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Tamaño datos | ||||||||
| esp. | DS_{7} | DS_{6} | DS_{5} | DS_{4} | DS_{3} | DS_{2} | DS_{1} | DS_{0} |
| 0 bytes | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 4 bytes | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 8 bytes | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| : | : | : | : | : | : | : | : | : |
| 508 bytes | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 512 bytes | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 516 bytes | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| : | : | : | : | : | : | : | : | : |
| 1012 Bytes | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
| 1016 bytes | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 1020 bytes | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
\newpage
A continuación se describe la composición de la
sección de datos que se encuentra en un frame de transmisión o
recepción. La sección de datos almacena datos que se van a
transferir a un tamaño indicado por el tamaño de los datos (unidades
de 4 bytes). Por ejemplo, un sistema controlador contiene el tipo de
función y el formato de los datos del controlador. La composición de
la sección de datos se muestra en la Tabla 10.
\vskip1.000000\baselineskip
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 1^{os} Datos | D1_{7} | D1_{6} | D1_{5} | D1_{4} | D1_{3} | D1_{2} | D1_{1} | D1_{0} |
| 2^{os} Datos | D2_{7} | D2_{6} | D2_{5} | D2_{4} | D2_{3} | D2_{2} | D2_{1} | D2_{0} |
| 3^{os} Datos | D3_{7} | D3_{6} | D3_{5} | D3_{4} | D3_{3} | D3_{2} | D3_{1} | D3_{0} |
| 4^{os} Datos | D4_{7} | D4_{6} | D4_{5} | D4_{4} | D4_{3} | D4_{2} | D4_{1} | D4_{0} |
| : | : | : | : | : | : | : | : | : |
\vskip1.000000\baselineskip
A continuación se describe una visión general de
la transmisión de datos entre el servidor y un dispositivo
periférico (dispositivo base o dispositivo de expansión). En este
proceso de transmisión de datos, se elaboran las reglas de manera
que sean adecuadas para dispositivos de juego. Primeramente, las
comunicaciones de datos se controlan básicamente según un formato
por el cual el servidor hace peticiones y los dispositivos
periféricos responden de manera acorde. Todas las instrucciones y
las peticiones entre el servidor y un dispositivo periférico se
ejecutan mediante comandos (frames). Si se transmite un comando
(frame) a un dispositivo periférico, éste siempre devuelve un
comando de cualquier tipo al servidor. Si se produce un error de
transmisión, se usa un indicador de error y las funciones de
hardware ejecutan un proceso de error.
Después de la conexión al servidor, se activa un
dispositivo periférico al recibir un comando de Device Request desde
el servidor con el fin de deducir los detalles del dispositivo
periférico. El dispositivo periférico siempre devuelve un comando
de cualquier tipo en respuesta al comando del servidor. El
dispositivo periférico (o una función que proporciona este
dispositivo periférico) puede, por ejemplo, recibir un comando
durante un intervalo
INT.
INT.
La Figura 60 es un diagrama simbólico que ilustra
la transmisión de datos entre un servidor y un dispositivo
periférico. Como se ha afirmado antes, el servidor y el dispositivo
periférico (dispositivo base o dispositivo de expansión) se
interconectan, y cuando se conecta el suministro de energía, se
establecen sus APs respectivos antes de que comience la transmisión
de datos. Esto proporciona los AP de dispositivo inherente, AP
fuente y AP destino correspondientes que se necesitan para la
transmisión de datos.
Al ejecutarse una aplicación, la CPU del servidor
pide acceso al dispositivo periférico. Los datos de transmisión y
el comando de transmisión emitidos por la aplicación se copian
respectivamente en un búfer de escritura y en un registro de
comandos del MIE del servidor. Los datos de transmisión y el comando
de transmisión se establecen en un frame, como se ha ilustrado antes
en la Figura 48, y este frame se transmite al dispositivo periférico
que está en un estado de espera de comando. Al recibir esta unidad
de información, el MIE del dispositivo periférico lee el comando y
los datos, y los suministra a la CPU del dispositivo periférico. La
CPU del dispositivo periférico lee el comando y controla el proceso
que corresponde al comando para obtener un comando de respuesta y,
si es necesario, los datos que se van a devolver al servidor. Estos
datos y el comando se establecen un frame mediante el MIE del
dispositivo periférico, y después se envían al servidor.
Acto seguido, el dispositivo periférico asume un
estado standby en espera del siguiente comando. Cuando el MIE del
servidor recibe el frame de respuesta, copia el estado de las
comunicaciones en el registro de estado y copia los datos recibidos
en un búfer de lectura. La CPU del servidor lee después los datos de
ambos registros y continúa la aplicación. Al repetirse estas
operaciones, se controlan las comunicaciones de los datos entre el
servidor y el dispositivo periférico (dispositivo base o dispositivo
de expansión).
\newpage
Los detalles concretos de un proceso de
comunicaciones entre el MIE del servidor y el MIE del dispositivo
periférico se describen después. Si el hardware produce un
indicador de error, entonces se ejecuta un proceso de error. Los
detalles de la interfaz interna del servidor también se describen
después.
Aquí se describe el error de transferencia que se
produce durante la transmisión de datos. Los errores que puede
detectar el hardware incluyen: errores de paridad, Time Outs
(excesos de tiempo permitidos) y Overflows (desbordamientos). Un
error de paridad es un error que se detecta cuando la paridad del
frame de datos no corresponde. Un Time Out (exceso de tiempo
permitido) es un error que se detecta cuando ha transcurrido más del
tiempo permitido mientras que las líneas SDCKA y SDCKB permanecen en
un estado de régimen permanente. Un overflow (desbordamiento) de
datos es un error que se detecta cuando el volumen de los datos
sobrepasa la capacidad del búfer de transmisión/recepción. Otros
errores diferentes a estos (por ejemplo corrupción de datos) los
detecta el software. Si se produce un error que puede detectar el
hardware cuando se recibe un frame, esto lo indica un indicador de
error, o equivalente.
Si se produce un error de recepción en el
servidor, se emite un comando de retransmisión mediante el comando
enviado al dispositivo periférico (dispositivo base o dispositivo de
expansión). El comando de retransmisión se envía un máximo de tres
veces. Si todavía se produce un error, se ejecuta un proceso de
visualización de "no conexión" o de visualización de error. El
número de transmisiones y el método de procesamiento varían según el
software de aplicación y la librería. Un comando de transmisión
enviado al dispositivo periférico se reconoce hasta tres veces para
cada transmisión del servidor, y después de esto se ejecuta un
proceso de visualización de "no conexión" o de error, o
equivalente. En un procesamiento de "no conexión", se envía una
reinicialización de hardware (patrón de reinicialización) al puerto
donde se ha producido el error. Acto seguido, si es necesario, se
ejecuta un Device Request.
Si se produce un error de transmisión, el
dispositivo periférico (dispositivo base o dispositivo de
expansión) controla una operación de retransmisión en respuesta a
las peticiones del servidor, aunque no lleva a cabo un proceso de
error, tal como una retransmisión basada en la decisión del
dispositivo periférico. Si se produce un error de recepción, el
dispositivo periférico puede enviar un comando de retransmisión al
servidor. Si se produce un Time out durante la recepción, el
dispositivo periférico ejecuta una reinicialización de software.
Los Time outs (excesos de tiempo permitidos) los detectan únicamente
los dispositivos base, y se envían señales de reinicialización a los
dispositivos de expansión desde un dispositivo base usando la línea
ID.
En concreto, (1) si se conectan múltiples
dispositivos periféricos (dispositivos base y dispositivos de
expansión) a un servidor, se prohibe el acceso directo desde un
dispositivo periférico a otro. En principio, el acceso se debe
hacer vía el servidor. (2) A un dispositivo periférico no se le
permite usar comandos que sólo puede emitir el servidor. (3) No se
puede acceder al mismo puerto en un modo continuo.
Sin embargo, estas prohibiciones sólo se dan como
ejemplo en un modelo según una realización, y no se pretende con las
mismas reducir el objeto de la presente invención o restringir la
aplicación de la invención. Naturalmente, es posible controlar las
comunicaciones de datos mediante un estándar diferente que permita
estas operaciones prohibidas y otras similares.
Aquí se describe el proceso de juicio que ejecuta
el servidor para conectar y desconectar dispositivos periféricos
(dispositivos base y dispositivos de expansión). Para ejecutar este
proceso de juicio, el servidor transmite un comando Device Request a
los dispositivos periféricos de cada puerto. Como se ha explicado
antes, cuando se conecta una fuente de alimentación después de
conectar un servidor y los dispositivos periféricos, el servidor,
los dispositivos base y los dispositivos de expansión ejecutan por
separado procedimientos para establecer su propio AP. Por tanto,
antes de este proceso de juicio, se determinan los APs de los
dispositivos periféricos destino para cada puerto. El intervalo en
el que se transmite un Device Request es, preferentemente, 1
intervalo INT. Si ha habido una respuesta desde el dispositivo
periférico, entonces no es necesario transmitir un comando Device
Request posterior. Naturalmente, no es necesario que el servidor
transmita un comando Device Request a los puertos que no ha usado el
software de aplicación.
Ahora se describe la comprobación de conexión. Si
el servidor transmite un comando de Device Request a un puerto
determinado y el dispositivo de base devuelve el comando Device
Status, el servidor identifica que un dispositivo base descrito por
el Device Status (se explica después) está conectado a ese puerto.
Si no hay ninguna respuesta del dispositivo base (Time
out-exceso de tiempo permitido), se juzga que no hay
ningún dispositivo base conectado a ese puerto. Un exceso de tiempo
permitido se genera cuando no hay respuesta en 1,0 ms, por ejemplo,
desde la transmisión del comando.
Al acceder únicamente a los dispositivos base que
están conectados a sus puertos correspondientes, el servidor también
recibe desde los dispositivos base información del estado de
conexión de los dispositivos de expansión que están conectados a
esos dispositivos base (mediante los APs fuente), y por tanto no es
necesario realizar una comprobación de conexión de todos los
dispositivos de expansión de la misma forma que para los
dispositivos base. Además, si, cuando se accede a un dispositivo
base, un bit de selección de conexión de dispositivo de expansión
que antes indicaba que no había conexión en el AP fuente que se
encontraba en la respuesta procedente del dispositivo base cambia
ahora a "1", esto indica que un dispositivo de expansión
indicado mediante ese bit de selección se acaba de conectar. Ya que
el servidor puede identificar el estado de conexión de los
dispositivos de expansión después de acceder a un dispositivo base,
también transmite un Device Request a los dispositivos de expansión,
y espera un comando de respuesta Device Status. Aquí, si no hay
respuesta Device Status se genera un Time Out, y se juzga que no hay
ningún dispositivo de expansión conectado.
Todos los dispositivos periféricos (dispositivos
base y dispositivos de expansión) asumen un estado de espera
inmediatamente después de la conexión y en vez de comenzar su
operación de dispositivo, obtienen los seis bits menos
significativos de únicamente su propio AP. Un dispositivo periférico
no responde a ningún comando del servidor hasta que recibe un Device
Request. El dispositivo periférico recibe después un comando Device
Request desde el servidor. Graba el puerto AP al que se conecta
desde el AP fuente que está en el frame recibido, completa su propio
AP y AP fuente y después comienza a funcionar para devolver un
Device Request.
El servidor transmite un comando a un dispositivo
base conectado (dispositivo base que se ha confirmado previamente
que está conectado a un puerto), y si no hay respuesta del
dispositivo base en un periodo de tiempo predeterminado (Time Out),
el servidor decide que el dispositivo base se ha desconectado. Esta
desconexión se confirma tres veces, y si aún está desconectado, se
transmite un patrón de reinicialización después de un intervalo (1
INT).
Si el servidor no recibe respuesta a un comando
que ha transmitido a un dispositivo de expansión, que se ha
confirmado previamente que está conectado a un puerto, Time Out, el
servidor decide que el dispositivo de expansión se ha retirado y ha
asumido un estado desconectado. Esta desconexión se confirma tres
veces, y si aún está desconectado, se transmite un patrón de
reinicialización después de un intervalo (1 INT).
Además, el servidor accede al dispositivo base y
recibe un frame de respuesta desde el dispositivo base. Acto
seguido, si el servidor identifica que un bit de selección de
conexión de dispositivo de expansión en el AP fuente del frame
recibido ha cambiado a "0", decide que el dispositivo de
expansión que se indica mediante ese bit de selección de conexión
LM_{n} se ha eliminado y ha entrado en un estado desconectado.
Si un dispositivo base se retira de un puerto del
servidor, se interrumpe la fuente de alimentación que va del
servidor al dispositivo base conectado a ese puerto. Por tanto, se
pierde la información que se refiere al puerto de conexión
almacenado en el dispositivo base. En consecuencia, incluso aunque
un dispositivo base cuyo conector se ha retirado se vuelva a
conectar al puerto del servidor (reincicialización hardware), el
dispositivo base no comienza a funcionar en este estado. De manera
similar, si un dispositivo de expansión se separa de un socket de
dispositivo base, se interrumpe la fuente de alimentación al
dispositivo de expansión y por tanto se pierde la información
almacenada que se refiere al puerto de conexión. En consecuencia,
aunque el dispositivo de expansión separado se vuelva a conectar al
dispositivo base, no empieza a funcionar.
Existen dos tipos de reinicialización:
reinicialización hardware (patrón de reinicialización) y
reinicialización software (comando de reinicialización). Las
reinicializaciones sólo las puede ejecutar el servidor. Una
reinicialización hardware es aquella que se realiza mediante un
patrón de reinicialización, y permite que todos los dispositivos
periféricos (dispositivos base y dispositivos de expansión)
conectados a un puerto determinado se inicialicen. Los dispositivos
periféricos no envían ninguna respuesta. Una reinicialización
software es aquella que se realiza mediante un comando Device
Reset, y puede inicializar un dispositivo periférico determinado. En
este caso, el dispositivo periférico en cuestión devuelve un comando
DEvice Reply, después de lo cual el dispositivo periférico ejecuta
un proceso de autoinicialización.
El dispositivo periférico reinicializado
(dispositivo base o dispositivo de expansión) inicializa sus datos
almacenados, por ejemplo variables y contenidos RAM, etc, al estado
que viene inmediatamente después del encendido, a excepción de
algunas funciones. Ya que el AP del dispositivo periférico se
inicializa cuando se va a volver a usar, el servidor tiene que
transmitir un Device Request.
Como ya se ha descrito antes, en una comprobación
de conexión, un dispositivo periférico (dispositivo base o
dispositivo de expansión) que recibe un Device Request desde el
servidor transmite un Device Status en respuesta al servidor.
Diversa información referente al dispositivo está almacenada en esta
zona de datos de Device Status, que forma información de dispositivo
fija. Uno de estos es el ID de dispositivo. El ID del dispositivo
registra si el dispositivo es un dispositivo base o un dispositivo
de expansión, el tipo de función, y texto del bloque de definición
de función. Todos los dispositivos periféricos tienen al menos un
ID de dispositivo y una o más funciones. De ese modo, el servidor
puede identificar los detalles del dispositivo periférico que está
conectado al mismo (tipo, función, formato de señal, etc.). Los
diferentes tipos de comando se describen después.
El ID del dispositivo comprende 16 bytes /128
bit), como se muestra en la Tabla 11.
\vskip1.000000\baselineskip
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 1^{os} Datos | FT_{31} | FT_{30} | FT_{29} | FT_{28} | FT_{27} | FT_{26} | FT_{25} | FT_{24} |
| 2^{os} Datos | FT_{23} | FT_{22} | FT_{21} | FT_{20} | FT_{19} | FT_{18} | FT_{17} | FT_{16} |
| 3^{os} Datos | FT_{15} | FT_{14} | FT_{13} | FT_{12} | FT_{11} | FT_{10} | FT_{9} | FT_{8} |
| 4^{os} Datos | FT_{7} | FT_{6} | FT_{5} | FT_{4} | FT_{3} | FT_{2} | FT_{1} | FT_{0} |
| 5^{os} Datos | FD1_{31} | FD1_{30} | FD1_{29} | FD1_{28} | FD1_{27} | FD1_{26} | FD1_{25} | FD1_{24} |
| 6^{os} Datos | FD1_{23} | FD1_{22} | FD1_{21} | FD1_{20} | FD1_{19} | FD1_{18} | FD1_{17} | FD1_{18} |
| 7^{os} Datos | FD1_{15} | FD1_{14} | FD1_{13} | FD1_{12} | FD1_{11} | FD1_{10} | FD1_{9} | FD1_{8} |
| 8^{os} Datos | FD1_{7} | FD1_{6} | FD1_{5} | FD1_{4} | FD1_{3} | FD1_{2} | FD1_{1} | FD1_{0} |
| 9^{os} Datos | FD2_{31} | FD2_{30} | FD2_{29} | FD2_{28} | FD2_{27} | FD2_{26} | FD2_{25} | FD2_{24} |
| 10^{o} Datos | FD2_{23} | FD2_{22} | FD2_{21} | FD2_{20} | FD2_{19} | FD2_{18} | FD2_{17} | FD2_{16} |
| 11^{o} Datos | FD2_{15} | FD2_{14} | FD2_{13} | FD2_{12} | FD2_{11} | FD2_{10} | FD2_{9} | FD2_{8} |
| 12^{o} Datos | FD2_{7} | FD2_{6} | FD2_{5} | FD2_{4} | FD2_{3} | FD2_{2} | FD2_{1} | FD2_{0} |
| 13^{o} Datos | FD3_{31} | FD3_{30} | FD3_{29} | FD3_{28} | FD3_{27} | FD3_{26} | FD3_{25} | FD3_{24} |
| 14^{o} Datos | FD3_{23} | FD3_{22} | FD3_{21} | FD3_{20} | FD3_{19} | FD3_{18} | FD3_{17} | FD3_{16} |
| 15^{o} Datos | FD3_{15} | FD3_{14} | FD3_{13} | FD3_{12} | FD3_{11} | FD3_{10} | FD3_{9} | FD3_{8} |
| 16^{o} Datos | FD3_{7} | FD3_{6} | FD3_{5} | FD3_{4} | FD3_{3} | FD3_{2} | FD3_{1} | FD3_{0} |
\vskip1.000000\baselineskip
Aquí, FT indica el tipo de función que
proporciona el periférico. FD1 indica un bloque de definición de
función de una primera función. FD2 indica un bloque de definición
de función de una segunda función. FD3 indica un bloque de
definición de función de una tercera función. FD1, FD2 y FD3 tienen
un significado de contenido que difiere dependiendo de la función
indicada por FT.
\newpage
La Tabla 12 ilustra los contenidos de los tipos
de función mencionados FT_{0} a FT_{31}. El tipo de función FT
indica una función que proporciona un dispositivo periférico. Hay 32
tipos de función en total, comprendiendo cada una comandos de
selección y formatos de datos.
\vskip1.000000\baselineskip
| Bit | Función | Bit | Función |
| FT_{31} | Reservada | FT_{15} | Reservada |
| FT_{30} | Reservada | FT_{14} | Reservada |
| FT_{29} | Reservada | FT_{13} | Reservada |
| FT_{28} | Reservada | FT_{12} | Reservada |
| FT_{27} | Reservada | FT_{11} | Reservada |
| FT_{26} | Reservada | FT_{10} | Reservada |
| FT_{25} | Reservada | FT_{9} | Reservada |
| FT_{24} | Reservada | FT_{8} | Reservada |
| FT_{23} | Reservada | FT_{7} | (Provisional) Arma Luminosa |
| FT_{22} | Reservada | FT_{6} | (Provisional) FFB |
| FT_{21} | Reservada | FT_{5} | (Provisional) Salida de sonido |
| FT_{20} | Reservada | FT_{4} | (Provisional) Entrada de Sonido |
| FT_{19} | Reservada | FT_{3} | (Provisional) Temporizador |
| FT_{18} | Reservada | FT_{2} | B/W LCD |
| FT_{17} | Reservada | FT_{1} | Almacenamiento |
| FT_{16} | Reservada | FT_{0} | Controlador |
\vskip1.000000\baselineskip
Por ejemplo, en un único dispositivo es posible
proporcionar tres tipos de función, y los bits de selección que
corresponden a una función provista se fijan en "1". Existe
una orden de prioridad para los bits de selección: el bit más
significativo (FT_{31}) tiene la mayor prioridad, y el bit menos
significativo (FT_{0}) tiene la menor prioridad. Se seleccionan
hasta tres librerías de función según este orden de prioridad.
En la tabla 11, FD1_{31} a FD1_{0} indican
los primeros bloques de definición de función. Estos son bloques
que definen los elementos individuales que constituyen la primera
función. Los contenidos de los mismos varían dependiendo de la
función. Los detalles los controlan las especificaciones de función
correspondientes (no se muestran en los
dibujos).
dibujos).
FD2_{31} a FD2_{0} indican los segundos
bloques de definición de función. Estos son bloques que definen los
elementos individuales que constituyen la segunda función. Los
contenidos de los mismos varían dependiendo de la función. Los
detalles los controlan las especificaciones de función
correspondientes.
De manera similar, FD3_{31} a FD3_{0} indican
los terceros bloques de definición de función. Estos son bloques
que definen los elementos individuales que constituyen la tercera
función. Los contenidos de los mismos varían dependiendo de la
función. Los detalles los controlan las especificaciones de función
correspondientes.
A continuación, se describe el formato de datos y
los bloques de definición para funciones. Esto muestra el formato
de datos que se usa para intercambiar datos con un dispositivo
periférico.
En primer lugar, los dispositivos periféricos
(periféricos) se clasifican y diferencian según se muestra en la
Tabla 13.
\vskip1.000000\baselineskip
| Tipo de dispositivo | Tipo de periférico | Ejemplos |
| Dispositivo base | Controlador | Controlador estándar, |
| joystick, volante | ||
| Otro | Teclado, ratón, arma | |
| Dispositivo de expansión | Unidad de expansión | Entrada de sonido, arma, |
| memoria de reserva |
\vskip1.000000\baselineskip
Según muestra la tabla, un controlador de juego
representa un dispositivo base típico. El tipo de función de un
controlador de juego es "controlador", y se usa conectándolo a
un puerto del servidor. El controlador de juego utiliza un formato
de datos estándar seleccionado con lo cual se puede usar con
múltiples aplicaciones. Los elementos funcionales de un sistema de
controlador son los siguientes:
| - Tecla digital A de mando: | Ra, La, Da, Ua |
| - Tecla digital B de mando: | Rb, Lb, Db, Ub |
| - Botones digitales: | A, B, C, D, X, Y, Z, START |
| - Tecla analógica: | A1, A2, A3, A4 |
| - Palanca analógica: | A5, A6 |
Además, es una condición de los dispositivos
periféricos de sistema de controlador que estén provistos de los
siguientes elementos:
| - Tecla digital A de dirección: | Ra, La, Da, Ua |
| - Botones digitales: | A, B, START |
Estos y otros tipos comprenden dispositivos
periféricos de un tipo de función diferente a la del controlador de
juego. Ya que el contenido de los datos, el formato de los datos y
el ciclo de lectura/escritura, etc., varían dependiendo del
dispositivo periférico, cada dispositivo tiene un formato y
librerías de datos correspondientes a sus funciones.
Estos son dispositivos periféricos para expandir
las funciones de los dispositivos base. Ya que el contenido y el
formato de los datos, el ciclo de lectura/escritura, etc, varían
dependiendo del dispositivo periférico, cada dispositivo tiene un
formato y librerías de datos que se corresponden con sus
funciones.
El tipo de función indica el formato de datos del
controlador y el bloque de definición de ID del dispositivo.
En la Tabla 14 se muestra un formato de datos de
lectura. El formato de datos de lectura es un formato que se usa
para leer datos del controlador. El tamaño del formato de datos es
de 8 bytes.
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 1^{os} Datos | Ra | La | Da | Ua | Start | A | B | C |
| 2^{os} Datos | Rb | Lb | Db | Ub | D | X | Y | Z |
| 3^{os} Datos | A1_{7} | A1_{6} | A1_{5} | A1_{4} | A1_{3} | A1_{2} | A1_{1} | A1_{0} |
| 4^{os} Datos | A2_{7} | A2_{6} | A2_{5} | A2_{4} | A2_{3} | A2_{2} | A2_{1} | A2_{0} |
| 5^{os} Datos | A3_{7} | A3_{6} | A3_{5} | A3_{4} | A3_{3} | A3_{2} | A3_{1} | A3_{0} |
| 6^{os} Datos | A4_{7} | A4_{6} | A4_{5} | A4_{4} | A4_{3} | A4_{2} | A4_{1} | A4_{0} |
| 7^{os} Datos | A5_{7} | A5_{6} | A5_{5} | A5_{4} | A5_{3} | A5_{2} | A5_{1} | A5_{0} |
| 8^{os} Datos | A6_{7} | A6_{6} | A6_{5} | A6_{4} | A6_{3} | A6_{2} | A6_{1} | A6_{0} |
\vskip1.000000\baselineskip
En esta tabla, los primeros datos son datos de
los botones digitales (ON = "0", OFF = "1"), Los segundos
son datos de los botones digitales (ON = "0", OFF = "1").
Los terceros son datos del eje analógico 1 (valor entre 00 h y FFh).
Los cuartos datos son datos del eje analógico 2 (valor entre 00 h y
FFh). Los quintos son datos del eje analógico 3 (valor entre 80 h y
\pm 7F). Los sextos datos son datos del eje analógico 4 (valor
entre 80 h y \pm 7F). Los séptimos son datos del eje analógico 5
(valor entre 80 h y \pm 7F). Los octavos datos son datos del eje
analógico 6 (valor entre 80 h y \pm 7F).
No hay formato para pasar datos de escritura al
controlador. El tamaño de los datos es de 0 bytes. Si los datos se
escriben, no hay respuesta.
Los bloques de definición FD para el controlador
de juego indican funciones que se dividen en elementos empleados en
el formato de lectura que se muestra en la Tabla 14. La Tabla 15
muestra un ejemplo de bloques de definición de función para un
controlador de juego.
\vskip1.000000\baselineskip
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 1^{os} Datos | RB_{15} | RB_{14} | RB_{13} | RB_{12} | RB_{11} | RB_{10} | RB_{9} | RB_{8} |
| 2^{os} Datos | RB_{7} | RB_{6} | RB_{5} | RB_{4} | RB_{3} | RB_{2} | RB_{1} | RB_{0} |
| 3^{os} Datos | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 4^{os} Datos | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
\vskip1.000000\baselineskip
En esta tabla, RB_{n} indica un bloque de
formato de lectura particionado. La Tabla 16 muestra un ejemplo de
una división de bloque.
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 1^{os} Datos | Rb_{1} | RB_{0} | ||||||
| 2^{os} Datos | RB_{9} | RB_{8} | RB_{7} | RB_{6} | RB_{5} | RB_{4} | RB_{3} | RB_{2} |
| 3^{os} Datos | RB_{10} | |||||||
| 4^{os} Datos | RB_{11} | |||||||
| 5^{os} Datos | RB_{12} | |||||||
| 6^{os} Datos | RB_{13} | |||||||
| 7^{os} Datos | RB_{14} | |||||||
| 8^{os} Datos | RB_{15} |
Esta tabla corresponde a la Tabla 14, los bits de
selección para los bloques que se han usado se fijan en "1" y
para los bloques que no se han usado se fijan en "0". La
librería de función ignora los bloques que no se han usado.
La Tabla 17 muestra un ejemplo de ID de
dispositivo para un controlador estándar. Este ejemplo se refiere a
un ID de dispositivo para un controlador estándar que sólo tiene
funciones de controlador.
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 1^{os} Datos | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2^{os} Datos | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 3^{os} Datos | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 4^{os} Datos | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 5^{os} Datos | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 |
| 6^{os} Datos | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
| 7^{os} Datos | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 8^{os} Datos | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 9^{os} Datos | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 10^{os} Datos | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 11^{os} Datos | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 12^{os} Datos | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 13^{os} Datos | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 14^{os} Datos | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 15^{os} Datos | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 16^{os} Datos | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
El ID de dispositivo que se muestra en esta tabla
comprende, en secuencia desde los primeros datos hasta los sextos:
00h-00h-00h-01h-3Ch-1Fh-00h-00h-00h-
00h-00h-00h-00h-00h-00h-00h.
La Tabla 18 muestra el formato de datos (formato
de lectura) de un controlador estándar.
\vskip1.000000\baselineskip
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 1^{os} Datos | Ra | La | Da | Ua | Start | A | B | C |
| 2^{os} Datos | 1 | 1 | 1 | 1 | 1 | X | Y | Z |
| 3^{os} Datos | A1_{7} | A1_{6} | A1_{5} | A1_{4} | A1_{3} | A1_{2} | A1_{1} | A1_{0} |
| 4^{os} Datos | A2_{7} | A2_{6} | A2_{5} | A2_{4} | A2_{3} | A2_{2} | A2_{1} | A2_{0} |
| 5^{os} Datos | A3_{7} | A3_{6} | A3_{5} | A3_{4} | A3_{3} | A3_{2} | A3_{1} | A3_{0} |
| 6^{os} Datos | A4_{7} | A4_{6} | A4_{5} | A4_{4} | A4_{3} | A4_{2} | A4_{1} | A4_{0} |
| 7^{os} Datos | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 8^{os} Datos | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
\vskip1.000000\baselineskip
No se espera ningún formato de escritura en un
controlador estándar.
Una función del tipo de almacenamiento es un tipo
de función para almacenar datos e indica los bloques de definición
de función. La información diferente a las definiciones de función
(capacidad total, etc.) se deduce mediante un comando Get Media
Info.
El tipo de función es FT_{1} = 1, y el bloque
de definición de función (almacenamiento) es como se muestra en la
Tabla 19.
\vskip1.000000\baselineskip
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 1^{os} Datos | PT_{7} | PT_{6} | PT_{5} | PT_{4} | PT_{3} | PT_{2} | PT_{1} | PT_{0} |
| 2^{os} Datos | BB_{7} | BB_{6} | BB_{5} | BB_{4} | BB_{3} | BB_{2} | BB_{1} | BB_{0} |
| 3^{os} Datos | WA_{7} | WA_{6} | WA_{5} | WA_{4} | RA_{3} | RA_{2} | RA_{1} | RA_{0} |
| 4^{os} Datos | RM | FD_{6} | FD_{5} | FD_{4} | FD_{3} | FD_{2} | FD_{1} | FD_{0} |
\vskip1.000000\baselineskip
En esta tabla, PT_{0} a PT_{7} representan
números particionados. El número de particiones puede establecerse
entre 1 y 256. Número de particiones = (PT + 1). BB_{0} a BB_{7}
representan el número de bytes en 1 bloque. Estos se pueden
establecer entre 32 bytes y 8.192 bytes. Número de bytes en un
bloque = (BB + 1) x 32 (bytes). RA_{0} a RA_{3} representan el
número de accesos de lectura en 1 bloque. Estos establecen el número
de veces que se debe acceder para leer los datos en un bloque. El
número de accesos se puede establecer entre 1 y 15. El volumen de
datos para un acceso es el volumen de un bloque dividido a partes
iguales por el número de accesos. Número de accesos = RA (veces), y
volumen en un acceso = volumen de un bloque / RA (bytes). RA = 0
indica que no hay acceso de lectura. WA_{3} a WA_{0} representa
el número de accesos de lectura en un bloque. Estos establecen el
número de veces que se tiene que acceder para escribir los datos en
un bloque. El número de accesos se puede establecer entre 1 y 15. El
volumen de los datos para un acceso es el volumen de un bloque
dividido a partes iguales por el número de accesos. Número de
accesos = WA (veces), y volumen en un acceso = volumen de un bloque
/ WA (bytes). WA = 0 indica que no hay acceso de escritura. RM
representa medios separables. Esto establece si los datos de
almacenamiento de medios se pueden separar (FD o tarjetas de memoria
flash, etc). Un ejemplo de selecciones de RM se muestra en la
Tabla 20.
Tabla 20.
\vskip1.000000\baselineskip
| Medios | RM |
| Fijos | 0 |
| Separables | 1 |
\vskip1.000000\baselineskip
En la Tabla 19, FD_{6} a FD_{0} representan
bits reservados. Un bit reservadoes un bit de selección que se
reserva para un uso futuro. Normalmente, todos estos bits se fijan
en "0".
Una función tipo B/WLCD indica una función de
visualización en cristal líquido matricial de puntos monocromos, y
un bloque de definición de función. La información que no sea la
definición de función (resolución, etc.) se obtiene mediante un
comando Get Media Info.
La función tipo FT2 = "1". Un bloque de
definición de función tipo B/WLCD puede ser, por ejemplo, como se
muestra en la Tabla 21.
\vskip1.000000\baselineskip
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 1^{os} Datos | PT_{7} | PT_{6} | PT_{5} | PT_{4} | PT_{3} | PT_{2} | PT_{1} | PT_{0} |
| 2^{os} Datos | BB_{7} | BB_{6} | BB_{5} | BB_{4} | BB_{3} | BB_{2} | BB_{1} | BB_{0} |
| 3^{os} Datos | WA_{3} | WA_{2} | WA_{1} | WA_{0} | 0 | 0 | 0 | 0 |
| 4^{os} Datos | H/V | B/W | FD_{5} | FD_{4} | FD_{3} | FD_{2} | FD_{1} | FD_{0} |
\vskip1.000000\baselineskip
En la Tabla 21, PT_{7} a PT_{0} representan
números LCD. Estos se pueden establecer entre 1 y 256. Número LCD
=
(PT + 1). BB_{7} a BB_{0} representan números de byte para la transferencia de un solo bloque. Estos se pueden establecer entre 32 bytes y 8.192 bytes. Número de bytes en un bloque = (BB + 1) x 32 (bytes). WA_{3} a WA_{0} representan números de accesos de escritura de un boque. Estos establecen el número de veces que se tiene que acceder para escribir un bloque de datos. El número de accesos se puede establecer entre 1 y 15. El volumen de datos para un acceso es el volumen de un bloque dividido en partes iguales por el número de accesos. Número de accesos = WA (veces), y volumen en un acceso = volumen de un bloque / WA (bytes). WA = 0 indica que no hay acceso de
escritura.
(PT + 1). BB_{7} a BB_{0} representan números de byte para la transferencia de un solo bloque. Estos se pueden establecer entre 32 bytes y 8.192 bytes. Número de bytes en un bloque = (BB + 1) x 32 (bytes). WA_{3} a WA_{0} representan números de accesos de escritura de un boque. Estos establecen el número de veces que se tiene que acceder para escribir un bloque de datos. El número de accesos se puede establecer entre 1 y 15. El volumen de datos para un acceso es el volumen de un bloque dividido en partes iguales por el número de accesos. Número de accesos = WA (veces), y volumen en un acceso = volumen de un bloque / WA (bytes). WA = 0 indica que no hay acceso de
escritura.
\newpage
H/V indica si una cadena de datos LCD es
horizontal o vertical. Esto se muestra en la Tabla 22.
| Secuencia de Datos | H/V |
| Horizontal | 0 |
| Vertical | 1 |
En la Tabla 21, B/W indica si la visualización en
cristal líquido es normalmente blanca o normalmente negra. Esto se
muestra en la Tabla 23.
| Normalmente | B/W |
| Negra | 0 |
| Blanca | 1 |
Los detalles del formato de datos y de los
bloques de definición de función para funciones que no sean de tipo
controlador se determinan mediante las especificaciones individuales
para cada función (no se muestra en los dibujos).
Más adelante se describe un ejemplo de un método
real para acceder a un dispositivo periférico.
- (1)
- El servidor confirma la región de destino, el nombre del producto, la licencia, el voltaje de funcionamiento, etc., que se dan en el comando Device Status que devuelve el dispositivo base, y comprueba si el dispositivo periférico es incompatible con la región de destino del servidor, que no soporta la aplicación o que no puede operar debido al hardware, etc. Si el dispositivo base no es compatible, el servidor ejecuta una reinicialización de hardware del dispositivo base, o controla el procesamiento para evitar que se acceda después al dispositivo base en cuestión.
- (2)
- El servidor confirma el tipo de función del dispositivo base a partir de los datos dados en el Device Status. El servidor busca los bits más significativos de selección del tipo de función y demanda hasta tres de las librerías de función más significativas. Acto seguido, se preparan los datos necesarios para los bloques de definición de función.
- (3)
- Si el servidor identifica a partir del valor del AP fuente que se ha conectado un dispositivo de expansión, transmite un Device Request a ese dispositivo de expansión y repite el proceso desde (1).
Después de conectarse, el servidor entra en
comunicaciones con el dispositivo periférico, y accede a las
funciones del dispositivo periférico. A continuación se describe
esto mediante un ejemplo en el que el dispositivo periférico
conectado al puerto A es un controlador (de juego) estándar.
- (1)
- El servidor pide datos desde el controlador estándar. Se usa un comando Get Condition. Este comando necesita la condición física de la función que se va a transmitir de nuevo al servidor. El servidor pide las condiciones de los botones, teclas y palancas que pertenecen al controlador de juego. De manera deseable, el intervalo entre las transmisiones de comandos es, por ejemplo, 1 intervalo (INT), y un acceso más rápido que éste está prohibido. En la Tabla 24 se muestra un ejemplo de transmisión de datos enviados desde el servidor a un dispositivo periférico.
| Orden de | Datos | Secuencia de | Descripción |
| transmisión | establecimiento | ||
| 1^{os} Datos | Código de comando | 09 h | Especifica ``Get Condition'' |
| 2^{os} Datos | AP destino | 20 h | Especifica disp. en puerto A |
| 3^{os} Datos | AP fuente | 00 h | Transmite desde puerto A |
| 4^{os} Datos | Tamaño de datos | 01 h | Tamaño de Datos = 4 Bytes |
| 5^{os} Datos | Tipo de función | 00 h | Tipo de función indica "controlador" |
| 6^{os} Datos | 00 h | ||
| 7^{os} Datos | 00 h | ||
| 8^{os} Datos | 01 h |
- (2)
- Los datos se transmiten desde el controlador al servidor según el formato de datos. Se usa un comando Data Transfer. La Tabla 25 muestra un ejemplo de datos transmitidos desde un dispositivo periférico (controlador) al servidor.
| Orden de | Datos | Secuencia de | Descripción |
| transmisión | establecimiento | ||
| 1ª | Código de comando | 08 h | Especifica ``Data Transfer'' |
| 2ª | AP destino | 00 h | Especifica puerto A |
| 3ª | AP fuente | 20 h | No dsp. expansión |
| 4ª | Tamaño de datos | 03 h | Tamaño de datos = 12 Bytes |
| 5ª | Tipo de función | 00 h | Tipo de función indica "controlador" |
| 6ª | 00 h | ||
| 7ª | 00 h | ||
| 8ª | 01 h | ||
| 9ª | Formato de lectura | FFh | Los datos del |
| 10ª | FFh | controlador se | |
| 11ª | 00 h | almacenan según el | |
| 12ª | 00 h | formato del | |
| 13ª | 80 h | controlador. Los | |
| 14ª | 80 h | bloques usados ya | |
| 15ª | 80 h | se han descrito | |
| 16ª | 80 h | mediante Device ID |
El tipo de función almacena directamente el tipo
transmitido por el servidor, y el formato de lectura se anexiona
según el mismo. El formato de lectura del controlador comprende 8
bytes.
Procesamiento excepcional se refiere a un proceso
especial definido para dispositivos que no pueden controlar la
transmisión y recepción de datos mediante comandos. Un ejemplo
típico es un arma luminosa.
- (1)
- Si el servidor determina que el dispositivo periférico tiene el ID del dispositivo de un arma luminosa o de un arma de tiro empleada en un juego de tiro, éste cambia el bus M del modo normal al modo de ocupación SDCKB cuando se usa el arma luminosa. El cambio de modo no es posible desde el lado del dispositivo periférico. Si el servidor transmite un patrón de ocupación SDCKB (ver Figura 52) y el puerto cambia al patrón de ocupación SDCKB, entonces todos los dispositivos periféricos que están en ese puerto cambian al patrón de ocupación SDCKB y sólo pueden funcionar los dispositivos periféricos que operan en el patrón de ocupación SDCKB. Si múltiples dispositivos que tienen el ID de dispositivo de un arma luminosa se conectan a un puerto, el servidor indica entonces esto al usuario mediante un mensaje de aviso, o similar, e informa al usuario a través de la pantalla o mediante sonido para que reduzca el número de tales dispositivos conectados a un puerto.
- (2)
- Con miras a hacer que vuelva el bus M desde el modo de ocupación SDCKB, el servidor dirige un proceso de cancelación. Cuando termina el modo de ocupación SDCKB, el bus M vuelve inmediatamente al modo normal.
- (3)
- En el caso de un arma luminosa, el modo de ocupación SDCKB representa el periodo de tiempo tomado para 1 intervalo (INT) de escritura en pantalla menos el periodo de supresión vertical; dicho de otro modo, el periodo de tiempo durante el cual se dibuja la pantalla de TV. Cuando termina el periodo de tiempo en el que se dibuja la pantalla y comienza un periodo de blanqueo, el bus M cambia inmediatamente al modo normal, y otros dispositivos periféricos que están en ese puerto pueden transmitir y recibir datos.
- (4)
- Para realizar la función de un arma luminosa, una sección que comprende un elemento fotorreceptor se toma como una función (también se puede usar un dispositivo de expansión), y una sección que comprende el gatillo, teclas direccionales, teclas analógicas, etc., se toma como una función diferente (también se puede usar un dispositivo de expansión). De este modo, se pueden evitar problemas usuales como, por ejemplo, deshabilitar las teclas de dirección cuando se usa el arma luminosa.
- (5)
- En el modo de ocupación SDCKB, no se ejecuta ningún proceso Time Out.
A continuación se describe la interfaz entre el
driver del bus M y el MIE del servidor (ver Figuras 46 y 63).
El controlador periférico que mostrado en la
Figura 63 comprende un conjunto de registro que consiste en
múltiples registros dentro de una sección objeto 52a. En concreto,
el controlador periférico comprende: un registro de dirección de
tabla de instrucciones DMA de 32 bits; un registro de selección de
gatillo DMA; un registro de habilitación DMA; un registro de puesta
en marcha/estado DMA; un registro de control de sistema; un registro
de estado; un registro de borrado de gatillo de hardware; un
registro de protección de área de RAM de trabajo; y
equivalentes.
Posteriormente se describe el funcionamiento
básico de la interfaz periférica en el servidor. El controlador
periférico carga datos de transmisión en la RAM de trabajo indicada
mediante el registro de dirección de tabla de instrucciones DMA al
FIFO de datos de transmisión en sincronismo con la V_BLANK (se puede
establecer un retraso de la puesta en marcha en el registro de
control del sistema). La RAM de trabajo se puede crear asignando un
área particular de la memoria principal. Los datos de transmisión
comprenden: instrucción + dirección de almacenamiento de datos de
recepción + datos de salida.
La instrucción es un comando para el controlador
periférico, y cuando ésta se completa, se establecen el puerto de
salida, la longitud de los datos de transmisión, etc. Además, si no
se completa, tan pronto como se vacía el FIFO de datos de
transmisión, los datos de transmisión que están en la RAM de trabajo
se cargan en el FIFO de datos de transmisión (que se realiza en
unidades de 32 bits). Una dirección cabecera donde se almacenan los
datos recibidos se establece en la dirección de almacenamiento de
datos de recepción. Los datos de transferencia son los datos que
realmente se transfieren al dispositivo periférico que controla el
protocolo de aplicación (unidades de 4 bytes). Los datos de
recepción procedentes del dispositivo periférico son unidades de 4
bytes, y en el momento en el que se llena el FIFO de datos de
recepción (32 bytes), se transfieren sucesivamente al área de
trabajo de la RAM indicada por la dirección de almacenamiento de
datos de recepción. Aquí, incluso aunque el FIFO no esté lleno, tan
pronto como termina la recepción, se transfiere obligatoriamente
como 32 bytes (datos válidos + datos no válidos).
Además, si el dispositivo periférico genera un
Time Out (por ejemplo 1 ms) debido a una desconexión, un fallo,
etc., el ffff_ffffh de 32 bits se copia en la dirección de cabecera
de almacenamiento de datos de recepción que corresponde a esa
instrucción. Cuando se completa esta secuencia de operaciones, el
controlador periférico detiene su operación, y refleja el estado
del registro de puesta en marcha/estado DMA.
El registro de dirección de tabla de
instrucciones DMA es un registro que se puede leer y escribir y que
comprende 32 bits. Los elementos que lo forman son: un comando
(instrucción) al controlador periférico; una dirección de
almacenamiento de datos de recepción; y bits que indican una
dirección de cabecera para el grupo de datos de transmisión
(Ct_{31} a Ct_{5}).
El registro de selección de gatillo DMA es un
registro que se puede leer y escribir y que comprende 32 bits. El
elemento que lo forma es un bit de selección (Ts) que nos dice si el
gatillo de puesta en marcha de transmisión y recepción es una
puesta en marcha de software o una puesta en marcha de hardware (V
blank-out).
El registro de habilitación es un registro que se
puede leer y escribir y que comprende 32 bits. El elemento que lo
forma es un bit de selección de habilitación y deshabilitación de
transmisión/recepción (Tn). En el caso de un gatillo de software, se
habilita este bit y comienza la transmisión o recepción
estableciendo en "1" el bit de puesta en marcha DMA que se
muestra en el registro de puesta en marcha/estado DMA. En el caso de
un gatillo de hardware, se habilita este bit y comienza la
transmisión y recepción tan pronto como se detecta el gatillo de
hardware (V blank-out). Además, en el estado
habilitado, es posible ejecutar una terminación obligatoria
escribiendo "0".
El registro de puesta en marcha/estado DMA es un
registro que se puede leer y escribir y que comprende 32 bits. El
elemento que lo forma es un bit (Ss) para ejecutar una puesta en
marcha de software para transmisión/recepción. Además, cuando se
lee, se convierte en un registro de estado que indica el estado de
transmisión/recepción. Sólo cuando se selecciona un gatillo de
software como gatillo de puesta en marcha, es válido introducir
"1", empezando así la transmisión.
El registro de control de sistema es un registro
que se puede leer y escribir y que comprende 32 bits. Los elementos
que lo forman son: bits de establecimiento de Time Out (TO_{15} a
TO_{0}) procedentes de la transmisión de datos a un dispositivo
periférico; un bit de selección (Si) para seleccionar si hay una
puesta en marcha en cada V blank-out en el caso de
un gatillo de hardware, o si se suspende la operación hasta que se
borra la marca que está en el registro de borrado; bits de
establecimiento de velocidad de transferencia (DC3 a DC0); bits de
establecimiento de sincronización de puesta en marcha (Dt3 a Dt0)
(retraso de establecimiento desde V blank-out)
cuando hay una puesta en marcha hardware. Tiempo de establecimiento
Time Out = 20 ns x To_{15} a To_{0}. Por ejemplo, se puede fijar
en 300 \mus = 20 ns x 3a98. Si es un bit de establecimiento de
repetición para una puesta en marcha automática. Cuando este bit es
"0", se ejecuta una puesta en marcha en cada intervalo. Cuando
es "1", la siguiente puesta en marcha no se ejecuta hasta que
se borra la marca que está en el registro de borrado del gatillo de
hardware. DC_{1} a DC_{0} indican los bits de establecimiento
de velocidad de transferencia.
El registro de estado es un registro de sólo
lectura que comprende 32 bits. Los elementos que lo forman son: un
bit (Do) que indica que el controlador periférico está funcionando
(durante la transmisión/recepción); bits para monitorizar un
contador de estado de bloque interno (St_{5} a St_{0}); y bits
para monitorizar la línea de entrada/salida de cada puerto (La_{3}
a La _{0}, Lb_{3} a Lb_{0}). Este registro se usa para buscar
y corregir errores de hardware, y no para la aplicación.
El registro de borrado de gatillo hardware es un
registro de sólo lectura que comprende 32 bits. El elemento que
forma este registro es un bit de cancelación (Tc) para realizar una
única parada automática de puesta en marcha de hardware en el
controlador periférico. La parada automática se borra escribiendo
"1" en este bit.
\newpage
El registro de protección del área RAM de trabajo
es un registro de sólo lectura que comprende 32 bits. Los elementos
que forman este registro son bits que establecen: un código de
seguridad de escritura de 16 bits; un rango de cabecero para la
recepción de una dirección de almacenamiento de datos (Ha); y una
dirección de terminación (Ta).
El registro de recuento de direcciones de datos
de transmisión es un registro de sólo lectura que comprende 32 bits.
Los elementos que forman este registro indican un punto de dirección
para transmitir datos que están en la RAM de trabajo, que lee el
controlador periférico. Ya que este registro es para buscar y
corregir errores, no lo usa la aplicación.
El registro de recuento de direcciones de datos
de recepción es un registro de sólo lectura que comprende 32 bits.
Los elementos que forman este registro indican un punto de dirección
para recibir datos que están en la RAM de trabajo, que lee el
controlador periférico. Ya que este registro es para buscar y
corregir errores, no lo usa la aplicación.
El registro de dirección de base de datos de
recepción es un registro de sólo lectura que comprende 32 bits. Los
elementos que forman este registro indican una dirección de cabecera
para datos de recepción que están en la RAM de trabajo, escritos por
el controlador periférico. Ya que este registro es para buscar y
corregir errores, no lo usa la aplicación.
A continuación se describen datos de transmisión.
Una unidad de datos de transmisión comprende: una instrucción, una
dirección de almacenamiento de datos de recepción y datos de salida.
Ya que estos datos se almacenan en la RAM de trabajo como:
instrucción + dirección de almacenamiento de datos de recepción +
datos de salida + instrucción + dirección de almacenamiento de datos
de recepción + datos de salida..., el controlador periférico los
ejecuta en secuencia.
Una instrucción comprende 32 bits de datos que se
suministran a un controlador periférico mediante el programa de
aplicación para controlar el controlador periférico. Los elementos
que la forman son: un bit de fin que indica el final de la
instrucción en curso; bits de selección de puerto activo (Po_{1} a
Po_{0}) para transmitir y recibir; bits de selección de patrón
(Pn_{2} a Pn_{0}); y bits de selección de longitud de datos de
salida (Ln_{8} a Ln_{0}). Cuando el controlador periférico
detecta que el bit Ef es "1", termina el procesamiento para esa
instrucción (el comando final en los datos de transmisión debe ser
siempre para fijar el bit Ef en "1"). Además, si el controlador
periférico detecta que el bit Ef es "0", ejecuta la siguiente
instrucción. Cuando se selecciona "START" en los bits de
selección de patrón se emiten los datos de salida. Cuando se
selecciona otro patrón (ocupación SDCKB permitida, RESET, ocupación
SDCKB cancelada) sólo es valida la emisión de un modelo de
información en el puerto, y se invalida la especificación de la
longitud de datos de salida. Cuando se selecciona un patrón de
permiso de ocupación SDCKB, el bit Ef que está en esa instrucción
debe fijarse en "1". Se invalida la ejecución de cualquier
instrucción posterior a excepción del modelo de cancelación de
ocupación SDCKB.
Además, durante la ocupación SDCKB, el
controlador periférico emite a los terminales negativos que ha
introducido la línea SDCKB como señales de bloqueo del contador HV.
El bit de selección de longitud de datos de salida Ln se puede
fijar, por ejemplo, en hasta 1.024 bytes, en unidades de 4
bytes.
La dirección de almacenamiento de datos de
recepción es un bit de selección (Ra) para que la dirección de
cabecera almacene los datos de recepción.
Los datos de salida son aquellos que realmente se
transmiten al dispositivo periférico. La longitud de los datos de
salida debe ser igual que la longitud de los datos de salida que se
ha establecido mediante la instrucción mencionada (unidades de 32
bits).
El registro de interrupción no se encuentra en
esta interfaz. En vez de esto, se conectan seis señales desde la
interfaz a un bloque de interrupción. Una interrupción se produce,
por ejemplo, cuando se completa la transmisión o recepción
(conclusión DMA), cuando la operación de transmisión o recepción
(DMA) se prolonga hasta V BLANK IN, cuando la recepción FIFO está
llena y se busca copiar más datos en el FIFO de recepción, cuando
hay una selección o puesta en marcha fuera de la región de
protección de la dirección de la tabla de instrucciones DMA, y
cuando hay una operación de búsqueda de instrucciones ilegales, y
similares.
El registro de contador HV en el modo de arma
luminosa no se encuentra en esta interfaz. En vez de esto, se
conecta cualquier señal de bloqueo HV desde la interfaz a un bloque
de dibujo. La aplicación lee el valor del contador HV en el bloque
de dibujo durante V BLANK.
A continuación se describe la secuencia de
transmisión/recepción. La secuencia de transmisión/recepción
comprende una secuencia normal y un procedimiento de ocupación
SDCKB, como se describe después.
Un ejemplo de secuencia normal se muestra en la
Figura 61. Este diagrama ilustra la transmisión y recepción de datos
entre la CPU del servidor y el controlador periférico, como se
muestran en la Figura 63 descrita en detalle después, y los
dispositivos periféricos A y B que se ilustran en la Figura 64.
En la Figura 61, la CPU del servidor determina si
un dispositivo periférico está conectado a cualquiera de sus puertos
e identifica los APs destino para los dispositivos periféricos
relevantes mediante la operación de establecimiento de AP
mencionada. Acto seguido, deduce los detalles de cada dispositivo
periférico transmitiendo un Device Request a los dispositivos
periféricos y recibiendo las respuestas correspondientes. Después,
por ejemplo, la CPU selecciona datos de transmisión que están en la
RAM de trabajo para la operación DMA, con el fin de controlar las
comunicaciones de datos con el dispositivo periférico A en respuesta
a una petición de la aplicación, o equivalente, y se ejecutan varias
operaciones de establecimiento de instrucciones, etc en los
registros que están en la sección objeto 52a del controlador
periférico. Estas instrucciones son comandos que se suministran al
controlador periférico y establecen el final de una instrucción, el
puerto de salida, la longitud de los datos de salida y similares.
Además, si no se indica el final de una instrucción, los datos de
transmisión que están en la RAM de trabajo se continúan cargando en
el FIFO de transmisión 53a, tan pronto como se vacía el FIFO de
transmisión 53a. La operación de carga se realiza, por ejemplo, en
unidades de 32 bytes.
El controlador periférico carga los datos de
transmisión en la RAM de trabajo indicada por el registro de
dirección de tabla de instrucciones DMA al FIFO de transmisión 53a
en sincronismo con la aparición de la señal V BLANK, por ejemplo en
la señal visual que aparece (final del periodo de borrado). Como se
ha explicado antes, se puede establecer un retraso en la puesta en
marcha mediante un registro de control de sistema. El controlador
periférico crea datos de transmisión en el formato del frame
ilustrado en la Figura 48 en base a las instrucciones y datos de
salida de la CPU y envía estos datos de transmisión al bus M del
puerto relevante.
El dispositivo periférico A monitoriza
continuamente la señal de los datos en el bus M. Cuando confirma que
el AP destino de los datos de transmisión coincide con su propia
dirección (AP), lee estos datos de transmisión. El dispositivo
periférico A ejecuta después un procesamiento que corresponde al
comando, y crea datos de respuesta en un formato preseleccionado de
frame, que envía al bus M.
Cuando el controlador periférico recibe los datos
del dispositivo periférico A, los coloca primeramente en un FIFO de
recepción 56b, y después los transfiere a la RAM de trabajo para la
operación DMA. Los datos recibidos desde el dispositivo periférico
están, por ejemplo, en unidades de 4 bytes y tan pronto como se
llena el FIFO de recepción 56b (32 bytes), los datos se transfieren
a la RAM de trabajo indicada por la dirección de almacenamiento de
datos de recepción.
Sin embargo, aunque el FIFO de recepción 56b no
se llene, tan pronto como termine la recepción, los datos se
transfieren obligatoriamente como 32 bytes (datos válidos + datos no
válidos). Después, se leen los datos que permanecen en la RAM de
trabajo y que se va a transmitir al dispositivo periférico B, se
colocan en el FIFO de datos de transmisión 53a y se organizan en
datos de transmisión que se envían al dispositivo periférico B.
Después se transmiten al bus M del puerto al que está conectado el
dispositivo periférico B.
De manera similar al dispositivo periférico A, el
dispositivo periférico B monitoriza continuamente la señal de los
datos en el bus M. Cuando confirma que el AP destino de los datos de
transmisión coincide con su propia dirección (AP), lee estos datos
de transmisión. El dispositivo periférico B ejecuta después un
procesamiento que corresponde al comando, y crea datos de respuesta
en un formato preseleccionado de unidad de información, que envía al
bus M.
Cuando el controlador periférico recibe los datos
del dispositivo periférico B, los coloca primeramente en un FIFO de
recepción 56b, y después los transfiere a la RAM de trabajo para la
operación DMA.
La CPU lee el estado del controlador periférico
en sincronismo con la desaparición de la señal V BLANK que está en
la señal de vídeo suministrada (comienzo del periodo de borrado).
Por tanto, se puede identificar la presencia de datos procedentes de
un dispositivo periférico. Después lee los datos de recepción
almacenados procedentes de un área relevante de la RAM de trabajo, y
suministra estos datos a la aplicación.
Las comunicaciones de datos entre el servidor y
los dispositivos periféricos se controlan repitiendo este
procedimiento. Cuando termina una secuencia de operaciones, el
controlador periférico detiene la operación, e indica su estado al
registro de puesta en marcha/estado DMA.
Si el dispositivo periférico genera un Time Out
(por ejemplo 1 ms) debido a una desconexión, un fallo, etc, el
controlador periférico copia un ffff_ffffh de 32 bits en el
registro de dirección de cabecera de almacenamiento de datos de
recepción correspondiente a esa instrucción. Si se produce un error
de paridad, se copia un ffff_ff00h de 32 bits. La CPU ejecuta un
proceso que se corresponde con esto.
A continuación se describe el procedimiento de
ocupación SDCKB con referencia a la Figura 62. El procedimiento de
ocupación SDCKB se usa, por ejemplo, para las comunicaciones de
datos entre el servidor y un arma luminosa que constituye un
dispositivo periférico en un juego de tiro. Como se ha explicado
antes, la CPU determina si un dispositivo periférico está o no
conectado a cualquiera de sus puertos e identifica los APs destino
de los dispositivos periféricos relevantes mediante la operación de
establecimiento de AP mencionada. Entonces deduce los detalles de
los dispositivos periféricos transmitiendo un Device Request a cada
dispositivo periférico y recibiendo sus respuestas correspondientes.
La CPU, por ejemplo, selecciona los datos de transmisión que están
en la RAM de trabajo mediante una operación DMA con el fin de
establecer comunicaciones de datos con el arma luminosa en respuesta
a una petición de la aplicación del juego de tiro, y lleva a cabo
varias operaciones de selección para instrucciones, etc, en
registros que están en la sección objeto 52 del controlador
periférico.
Por ejemplo, si una aplicación de juego de arma
pide una ocupación SDCKB a la CPU, la CPU cambia la operación del
puerto de modo normal a modo de ocupación SDCKB. Mediante los
comandos mencionados, los datos de transmisión que contienen el
puerto seleccionado y el permiso de ocupación SDCKB se escriben en
la RAM de trabajo. La dirección de datos en la RAM de trabajo se
copia en el registro de dirección de tabla de comandos DMA.
El controlador periférico carga los datos de
transmisión de la RAM de trabajo indicada por el registro de
dirección de tabla de comandos DMA en el FIFO de los datos de
transmisión 53a en sincronismo con la aparición de la señal V BLANK,
por ejemplo, en la señal de vídeo suministrada. El controlador
periférico lee después los comandos y datos de la RAM de trabajo,
crea un patrón de permiso de ocupación SDCKB del formato ilustrado
en la Figura 52 y transmite esto al bus M del puerto relevante.
El dispositivo periférico A monitoriza
continuamente la señal de datos en el bus M. Al recibir el patrón de
permiso de ocupación SDCKB, el dispositivo periférico A puede
transmitir su salida al bus M con la sincronización deseada. Si el
usuario manipula (aprieta el gatillo) del dispositivo periférico A
(arma luminosa), el dispositivo periférico A (arma luminosa)
transmite una señal de disparo al bus M.
Cuando el dispositivo periférico recibe los datos
de la señal de disparo del dispositivo periférico A, éste emite una
señal del bloqueo al contador HV (se omite en los dibujos). El
contador HV cuenta los valores que corresponden a la posición del
punto de iluminación que se escanea en la pantalla de vídeo. A
partir de los valores del contador HV bloqueado, es posible
identificar el punto de mira del dispositivo periférico A (arma
luminosa) en la pantalla cuando se aprieta el gatillo.
Si el dispositivo periférico es un arma luminosa,
la CPU asigna el periodo de dibujado de la pantalla de vídeo de 1
intervalo de la señal visual que se suministra como un periodo de
ocupación SDCKB. Después, cuando termina el periodo de dibujado y
desaparece la señal V BLANK (comienzo del periodo de borrado), la
CPU cancela el modo de ocupación SDCKB y cambia la operación del
puerto relevante del modo de ocupación SDCKB al modo normal. Para
este fin, la CPU escribe los datos de transmisión que contienen el
puerto seleccionado y la cancelación de ocupación SDCKB en la RAM
de trabajo mediante los comandos mencionados. La dirección de los
datos de la RAM de trabajo se copia en el registro de dirección de
la tabla de comandos DMA.
El controlador periférico carga inmediatamente
los datos de transmisión en la RAM de trabajo indicada por el
registro de dirección de la tabla de comandos DMA en el FIFO de
transmisión. El controlador periférico lee los comandos y los datos
procedentes de la RAM de trabajo, crea un patrón de cancelación de
permiso de ocupación SDCKB y transmite esto al bus M del puerto
relevante. El dispositivo periférico A monitoriza continuamente la
señal de los datos en el bus M. Si recibe un patrón de cancelación
de ocupación SDCKB, el dispositivo periférico A cancela su estado
habilitado de salida.
De esta manera, el modo de ocupación SDCKB ocupa
el periodo durante el cual se dibuja la pantalla de vídeo en 1
intervalo de la señal de vídeo. Por tanto, incluso aunque se use un
dispositivo periférico que produce una información de salida
aleatoria, por ejemplo un arma luminosa, es todavía posible usar
otros dispositivo periféricos conectados al mismo bus M.
A continuación, se describen ejemplos de
selección de registro en el caso de una puesta en marcha software y
una puesta en marcha hardware (puesta en marcha automática en cada
disparo).
En una puesta en marcha software, se establecen
los valores de registro definidos en los siguientes casos.
1. Selección de registro de protección de área
RAM de trabajo
2. Selección de registro de control de
sistema
3. Selección de registro de selección de disparo
DMA
4. Selección de datos de la RAM de trabajo (tabla
de comandos DMA)
5. Selección de registro de dirección de tabla de
comandos DMA
6. Selección de registro permitido DMA
7. Selección de registro de puesta en
marcha/estado DMA
8. Confirmación de puesta en marcha/estado
DMA
9. Interrupción de datos de recepción en la RAM
de trabajo
En una puesta en marcha hardware (puesta en
marcha automática en cada disparo), los valores de registro
definidos se establecen en los siguientes casos.
1. Selección de registro de protección de área
RAM de trabajo
2. Selección de registro de control de
sistema
3. Selección de registro de selección de disparo
DMA
4. Selección de datos de la RAM de trabajo (tabla
de comandos DMA)
5. Selección de registro de dirección de tabla de
comandos DMA
6. Selección de registro permitido DMA
7. Selección de registro de puesta en
marcha/estado DMA
8. Confirmación de puesta en marcha/estado
DMA
9. Interrupción de datos de recepción en la RAM
de trabajo
La Figura 63 es un diagrama de bloques que
muestra la composición aproximada de un controlador periférico (MIE)
1h en un servidor. En este diagrama, a las secciones que
corresponden a la Figura 21 se les ha asignado el mismo símbolo.
En la Figura 63, una sección iniciadora 50
realiza el papel de un bus master para acceder a la RAM de trabajo,
cuando el controlador periférico 1h ha asumido un estado de
operativo. Ésta lee los datos que se van a transmitir a un
dispositivo periférico desde la RAM de trabajo y escribe los datos
recibidos desde el dispositivo periférico en la RAM de trabajo. Un
divisor de reloj 51 es un circuito de división de reloj para
seleccionar la velocidad de transferencia de bits (velocidad de
transferencia) de los datos de transmisión. La sección objeto 52a es
un bloque que opera como un objeto en el bus de ruta, y la forma la
CPU del servidor mediante el grupo mencionado de registros de 32
bits que se pueden leer y escribir. En esta sección se copian
fundamentalmente instrucciones o similares. Un registro temporal de
datos de transmisión 53b es un registro para almacenar 32 bits de
datos de transmisión procedentes del FIFO de datos de transmisión de
3 bytes 53a. El FIFO de datos de transmisión 53a es un registro FIFO
de 32 bytes (First In First Out) para almacenar temporalmente datos
de transmisión. El FIFO de datos de recepción 56b es un registro
FIFO de datos de recepción de 32 bytes. El registro temporal de
datos de recepción 56a es un registro para almacenar datos de
recepción de 32 bits. En cuanto termina la recepción de datos, éstos
se escriben en el FIFO de datos de recepción 56b. Una sección de
control de señal de interrupción 54 genera una señal de interrupción
de un pulso de reloj que se envía a una sección de interrupción bajo
determinadas condiciones. Un controlador de unidad de información 58
es un bloque que controla el frame de transmisión (patrón de puesta
en marcha, de fin, etc) en base a las instrucciones y similares. Un
codificador de frames 59 es un bloque para crear un patrón de frame.
Un registro de desplazamientos alternos (paralelo/serie) 60 es un
circuito para transformar, de manera alterna, datos de transmisión
paralelos en dos líneas en serie. Además, el registro de
desplazamientos alternos 60 realiza un cálculo de paridad para los
datos de transmisión y añade los datos de paridad (por ejemplo un
byte de bits de paridad) al final de los datos de transmisión. Un
descodificador de frame 61 es un circuito para analizar un frame de
la señal de recepción. Un registro de desplazamientos alternos
(serie/paralelo) 62 es un circuito para transformar, de manera
alterna, los datos recibidos de dos líneas en serie en datos
paralelos. Además, el registro de desplazamientos alternos realiza
un cálculo de paridad para los datos de recepción. Los resultados de
este cálculo se comparan con los datos de paridad recibidos para
determinar si hay o no un error. Si hay un error, se envía una
notificación al controlador de interrupción de la CPU vía la sección
de control de señal de interrupción 54. De ese modo, la CPU puede
controlar un proceso de error emitiendo un comando de retransmisión
o similar. Un controlador de señal de bloqueo HV 63 es un circuito
para transferir una señal de bloqueo HV desde las líneas en serie a
un contador HV que está en una sección del procesador de dibujo
(sección de generación de señales visuales) 1f. El controlador de
puerto 57 controla el puerto activo que se refiere al proceso de
transmisión/recepción. Dicho de otro modo, el búfer de tres estados
68a a 68h del puerto de transmisión seleccionado mediante la
instrucción se controla de manera que las salidas SDCKA y SDCKB de
los selectores 64 y 65 se dirigen al puerto seleccionado. El
selector 64 se controla mediante el controlador de frame 58, y forma
una señal SDCKA seleccionado la salida del codificador de frame 59 o
la salida del registro de desplazamientos alternos 60, y emite esta
señal a una línea de bus M vía el búfer de tres estados seleccionado
68. El selector 65 se controla mediante el controlador de frame 58,
y forma una señal SDCKB seleccionando la salida del codificador de
unidad de información 59 o la salida del registro de desplazamientos
alternos 60, y emite esta señal a una línea de bus M vía el búfer
de tres estados seleccionado 68. El selector 66 selecciona un puerto
de recepción de acuerdo con los comandos procedentes del controlador
de puerto 57, y suministra una señal de recepción SDCKA, que ha
atravesado un búfer amplificador 69, al descodificador de frame 61 y
al registro de desplazamientos alternos 62. El selector 67
selecciona un puerto de recepción de acuerdo con los comandos
procedentes del controlador de puerto 57, y suministra una señal de
recepción SDCKA, que ha atravesado un búfer amplificador 69, al
descodificador de frame 61 y al registro de desplazamientos alternos
62.
La Figura 64 es un diagrama de circuitos en
bloque que muestra una ilustración aproximada de la composición de
los circuitos de un dispositivo periférico que es un dispositivo
base. Además, la Figura 65 es un diagrama de circuitos en bloque que
muestra una ilustración más detallada de la interfaz (MIE del
dispositivo base) entre la sección de control de socket 203 y la
sección de procesamiento de comunicaciones 204 que se muestran en la
Figura 64. En estos ejemplos, para simplificar la descripción
(ilustración), sólo se representan dos sockets de expansión
externos, aunque en realidad, se pueden proporcionar cuatro sockets
de expansión externos.
El bloque de CPU 201 realiza las funciones de
control del dispositivo base, por ejemplo crear los datos de
transmisión que incluyen la información de la operación de entrada,
y procesar datos de respuesta para hacer las peticiones
correspondientes desde el servidor 1. Esto también incluye
operaciones de inicialización, por ejemplo establecer los APs de
dispositivo y los APs de los dispositivos de expansión durante la
instalación, como se ha descrito antes. El bloque I/O 202 transforma
información de funcionamiento del medio de entrada a una señal de
datos. Si el dispositivo base 2 es un mando de control de un
dispositivo de juego, entonces múltiples botones digitales y claves
analógicas, etc corresponden al medio de entrada. Además, el bloque
I/O 202 indica un número de bus LM conectado a los dispositivos de
expansión vía los terminales ID0 e ID1 de cada socket de expansión,
de acuerdo con la salida de la CPU. El papel de los terminales ID0 e
ID1 se ha descrito antes en el procedimiento de establecimiento de
APs para los dispositivos de expansión, con referencia a la Figura
59. El bloque de control de socket 203 determina la presencia o
ausencia de una conexión de dispositivo de expansión en cada socket
de expansión. Acto seguido, las líneas de transmisión de datos SDCKA
y SDCKB suministradas al dispositivo mediante el servidor se
conectan respectivamente a las líneas de transmisión de datos SDCKA
y SDCKB del bus LM, mediante los búfers de tres estados, a los
sockets de expansión a los que están conectados los dispositivos de
expansión. Por tanto, viendo el bus M desde el servidor 1, esto
equivale a conectar múltiples dispositivos periféricos
(dispositivos base y dispositivos de expansión) al bus M en
paralelo. El bloque de procesamiento de comunicaciones 204 realiza
descodifica los datos de recepción y codificación los datos de
salida procedentes de la CPU, y equivalentes. El bloque de la CPU
201 y el bloque de procesamiento de comunicaciones 204 se pueden
constituir como un único chip
integrado.
integrado.
La sección de procesamiento de comunicaciones 204
realiza las funciones de desmodular frames recibidas desde el
servidor y framing (descodificar) datos de transmisión emitidos por
la sección de CPU 201. La sección de procesamiento de comunicaciones
204 y la sección de control de socket 203 juntas forman los
componentes principales del MIE (interfaz de entrada/salida).
La señal SDCKA (señal corriente abajo) emitida
por el servidor al bus M se suministra a la sección de procesamiento
de comunicaciones 204 vía el búfer amplificador 212a. Además, la
señal SDCKA, al haber pasado por el búfer amplificador 212a, forma
una señal SDCKADS-1 y una señal
SDCKADS-2 vía los búfers de tres estados
correspondientes 215a y 215b, que se suministran a los buses LM 1 y
2.
La señal SDCKB (señal corriente abajo) emitida
por el servidor al bus M se suministra a la sección de procesamiento
de comunicaciones 204 vía el búfer amplificador 212b. Además, la
señal SDCKB, al haber pasado por el búfer amplificador 212b, forma
una señal SDCKBDS-1 y una señal
SDCKBDS-2 vía los búfers de tres estados
correspondientes 216a y 216b, que se suministran a los buses LM 1 y
2.
Por otro lado, la señal SDCKA (corriente arriba)
que va al servidor emitida por la sección de procesamiento de
comunicaciones de dispositivo 204 se emite vía (el primer terminal
de) una puerta OR 214a y un búfer de tres estados 211a a la línea de
datos del bus M SDCKA, donde es recibida por el MIE del servidor.
Además, una señal SDCKB que va al servidor emitida por la sección de
procesamiento de comunicaciones 204 vía (el primer terminal de) una
puerta OR 214b y un búfer de tres estados 211b a la línea de datos
del bus M SDCKB, donde es recibida por el MIE del servidor. Cuando
la sección de procesamiento de comunicaciones 204 transmite una
señal SDCKA o SDCKB, se habilita una señal al terminal de control
del búfer de tres estados 211a vía (el primer terminal de) una
puerta OR 213a para abrir la puerta 211a (conectarla), y se habilita
una señal al terminal de control del búfer de tres estados 211a vía
(el primer terminal de) una puerta OR 213b para abrir la puerta
211b. Los terminales de entrada correspondientes de las tres puertas
OR de entrada 213a y 213b se conectan a tierra vía una resistencia.
Si no se emite una señal de entrada a un terminal de entrada, ese
terminal de entrada permanece a nivel del suelo. Además, los
terminales de entrada correspondientes de las tres puertas OR de
entrada 214a y 214b se conectan a una fuente de alimentación Vcc vía
una resistencia. Por tanto, los terminales de entrada a los que no
se les envía ninguna señal de entrada se mantienen en el nivel
"H".
Una señal SDCKA emitida por el primer dispositivo
de expansión al bus LM 1 se emite a la línea de transmisión de datos
SDCKA del bus M vía el terminal SDCKAUS-1 del socket
de expansión 1, la (segundo terminal de entrada de) puerta OR 214a y
el búfer de tres estados 211a. Una señal SDCKB emitida por el primer
dispositivo de expansión al bus LM 1 se emite a la línea de
transmisión de datos SDCKA del bus M vía el terminal
SDCKBUS-1 del socket de expansión 1, la (segundo
terminal de entrada de) puerta OR 214b y el búfer de tres estados
211b. Cuando el primer dispositivo de expansión transmite una señal
SDCKA o SDCKB suministra una señal de habilitación al terminal de
control del búfer de tres estados 211a, vía la línea de transmisión
de señales del bus LM 1 SDCKAEN1 y la (segundo terminal de entrada
de) puerta OR 213a, para abrir la puerta 211a. Además, suministra
una señal de habilitar al terminal de control del búfer de tres
estados 211b, vía la línea de transmisión de señales del bus LM 1
SDCKAEN1 y la (segundo terminal de entrada de) puerta OR 213b, para
abrir la puerta 211b.
De manera similar, una señal SDCKA emitida por el
segundo dispositivo de expansión al bus LM se emite a la línea de
transmisión de datos SDCKA del bus M vía el terminal
SDCKAUS-2 del socket de expansión 2, la (tercer
terminal de entrada de) puerta OR 214a y el búfer de tres estados
211a. Una señal SDCKB emitida por el segundo dispositivo de
expansión al bus LM se emite a la línea de transmisión de datos
SDCKB del bus M vía el borne SDCKBUS-2 del socket de
expansión 2, la (tercer terminal de entrada de) puerta OR 214b y el
búfer de tres estados 211b. Cuando el segundo dispositivo de
expansión transmite una señal SDCKA o SDCKB, suministra una señal de
habilitar el terminal de control del búfer de tres estados 211a, vía
la línea de transmisión de señales del bus LM 2 SDCKAEN2 y la
(tercer terminal de entrada de) puerta OR 213a, para abrir la puerta
211a. Además, suministra una señal de habilitar al terminal de
control del búfer de tres estados 211b, vía la línea de transmisión
de señales del bus LM 2 SDCKAEN2 y la (tercer terminal de entrada
de) puerta OR 213b, para abrir la puerta 211b.
Se suministra una fuente de alimentación
operativa al dispositivo base desde el servidor mediante la líneas
de transporte de energía Vcc y GND del bus M. El suministro de
energía a los dispositivos de expansión lo realiza el dispositivo
base vía las líneas de energía Vcc y GND de los buses LM. Como se
muestra en la Figura 65, la sección de control de socket 203 está
constituida por un controlador de bus LM 203a. El controlador de
bus LM monitoriza el voltaje de un terminal determinado
proporcionado para comprobar las conexiones que hay en los sockets
de expansión. En este ejemplo, se monitoriza el voltaje de la
clavija o pin ID2 de los sockets de expansión. En el lado del
dispositivo base, el pin ID2 se conecta a la toma de tierra GND del
dispositivo base vía una resistencia R. Como se muestra en la Figura
66, cuando un dispositivo de expansión se conecta a un socket de
expansión, la fuente de alimentación Vcc y el GND se suministran al
dispositivo de expansión 3 vía los terminales Vcc y GND del socket
de expansión. Este suministro de energía Vcc en el lado del
dispositivo de expansión se aplica vía el terminal ID2 del socket
de expansión del dispositivo base a la resistencia R. El controlador
de bus LM 203a determina si se conecta o no un dispositivo de
expansión a un socket según la presencia o ausencia (o magnitud) del
voltaje que se genera en la resistencia R. El controlador de bus LM
203a indica la conexión o no conexión de un dispositivo de expansión
en cada bus LM con un registro de control 204a.
\newpage
El controlador del bus LM 203a también abre la
puerta de los búfers de tres estados del bus LM del socket de
expansión al que está conectado el dispositivo de expansión, y
conecta respectivamente las líneas de datos SDCKA y SDCKB del bus M
a las líneas de datos SDCKADS y SDCKBDS del bus M. El controlador
del bus LM 302a puede controlar la activación de los buses del
conector de expansión independientemente de la operación de otras
secciones, aunque también es posible hacer que esto dependa del
juicio de la CPU. En concreto, el controlador del bus LM 203a
detecta la conexión de un dispositivo de expansión y establece una
salida de detección en el registro de control 204a. La CPU 201
identifica la conexión de un dispositivo de expansión con un bus LM
monitorizando el registro de control 204a. Si la CPU 201 permite la
conexión del dispositivo de expansión, establece una marca LMC
ordenando la conexión del bus LM relevante del registro de control
204a. El controlador de bus LM 203a abre (conecta) el búfer de tres
estados 215, 216 del bus LM que corresponde a la marca LMC. Mediante
estas operaciones, como se muestra en la Figura 47, cuando se
conecta un dispositivo de expansión a un dispositivo base, el
dispositivo base reconoce automáticamente la conexión del
dispositivo de expansión y lo conecta al bus M.
El bloque de procesamiento de comunicaciones 204
comprende: un registro de control 204a; un registro de paridad 204b;
un controlador de frame 204c; un monitor de línea 204d; un
codificador de frames 204e; un registro de desplazamientos alternos
P/S 204f: un registro temporal 204g; un descodificador de frames
204h; un registro de desplazamientos alternos S/P 204i; un búfer de
transmisión/recepción 204j; y un registro de longitud de datos
204k.
El registro de control 204a es un registro para
almacenar varias marcas, etc, con el fin de controlar los datos de
transmisión y recepción. Estas diversas marcas se describen después
con referencia a la Tabla 26. El registro de paridad 204b es un
tabla en búfer para cálculos de paridad y cálculos que se refieren a
la conversión serie/paralelo y paralelo/serie. El búfer de
transmisión y recepción 204j es un registro para almacenar datos
que se han empleado en la transmisión y recepción de datos. El
controlador de frame 204c controla la transmisión y recepción de
frames monitorizando las diferentes marcas que hay en el registro de
control 204a. Además, también establece las marcas relevantes en el
registro de control 204a en respuesta a la detección de un patrón de
puesta en marcha, de fin, de ocupación SDCKB, de reinicialización o
similar. El codificador de frames 204e genera frames agregando
secciones de patrones a los datos. El registro de desplazamientos
alternos P/S 204f realiza una conversión paralelo/serie para
transformar datos paralelos en datos serie. El monitor de líneas
204d monitoriza las líneas de señales SDCKA y SDCKB. El registro de
longitud de datos 204k indica el tamaño de los datos de transmisión
cuando transmite.
La interfaz con el MIE vista desde la sección de
la CPU 201 del dispositivo periférico comprende: 21 marcas de
control (CFLAG), un registro de longitud de datos (LREG) 204k y un
búfer de transmisión y recepción máximo de 1.024 bytes. La capacidad
del búfer de transmisión y recepción se optimiza para que se adapte
al dispositivo.
Se describe después la interfaz entre el
controlador del MIE (CPU 201) y el MIE del dispositivo base (control
de socket 203, procesador de transmisión 204) según la composición
anterior.
Los datos de los frames transmitidos desde el
servidor vía las líneas de datos SDCKA y SDCKB son recibidos por el
descodificador de frames 204h. El descodificador frames 204h
desmodula los datos frame procedentes de las señales SDCKA y SDCKB y
separa las secciones de patrón y datos de los datos frame. Cuando el
descodificador de frames 204h detecta secciones de patrones, por
ejemplo un patrón de puesta en marcha, de fin, de ocupación SDCKB,
reinicialización o similar, transfiere la información detectada en
esa sección de patrones al controlador de frame 204c. El
controlador de frame 204c, además de controlar la operación de
recepción, también establece marcas en el registro de control que
corresponden a la detección del patrón. Estas marcas incluyen: una
marca de recepción RXB; una marca completa de recepción RFB; una
marca de modo de ocupación SDCKB POS; y una marca de recepción de
patrón de reinicialización HRES.
Las secciones de datos separados se transfieren
al registro de desplazamientos alternos 204i. El registro de
desplazamientos 204i tiene una función de conversión de datos
serie/paralelo, y transforma las señales de datos en serie separadas
en datos paralelos, que envía a un registro temporal 204g. El
registro temporal 204g ejecuta un cálculo de control de paridad para
los datos recibidos. También extrae la sección de bits de paridad
desde los datos recibidos y los almacena en un registro de paridad
204b. El resultado de la comprobación de paridad se compara con los
bits de paridad del registro de paridad 204b, y si se detecta un
error, se establece una marca de error de paridad PERR en el
registro de control 204a. Los datos de control de error se almacenan
entonces en el búfer de transmisión y recepción 204j. Si el volumen
de los datos de recepción sobrepasa la capacidad del búfer de
transmisión y recepción 204j, se establece una marca de overflow
(desbordamiento) de capacidad de búfer BFOV en el registro de
control 204a. Los datos de overflow no se almacenan en el búfer de
transmisión y recepción 204j. Cuando se completa la recepción, se
establece una marca de recepción completa RFB en el registro de
control 204a. La CPU 201 monitoriza el contenido del registro de
control 204a, y lee los datos de recepción almacenados en el búfer
de transmisión y recepción 204j en respuesta a la marca de recepción
completa RFB.
Cuando la CPU 201 transmite datos, los datos de
transmisión se almacenan en el búfer de transmisión y recepción, y
el volumen de los datos de transmisión se escribe en el registro de
longitud de datos 204k. La CPU 201 establece una marca de
transmisión TXB y una marca de transmisión de patrón de fin ENP (si
no hay datos de transmisión después) en el registro de control 204a.
Los datos de transmisión del búfer de transmisión y recepción 204j
se envían al registro temporal 204g, donde se realiza un cálculo de
paridad. El registro temporal 204g almacena el resultado del cálculo
de paridad como un byte de bits de paridad, el cual se añade al
final de los datos de transmisión. Después, los datos de
transmisión se envían desde el registro temporal 204g al registro
de desplazamientos alternos 204f, donde se convierten en datos en
serie y se envían al codificador de frame 204e. El codificador de
frame 204e crea un frame de transmisión añadiendo un patrón de
puesta en marcha y un patrón de fin al principio y al final de los
datos de transmisión respectivamente y los datos de paridad. El
controlador de frame 204c abre los búfers de tres estados
correspondientes 211a y 211b mediante las puertas OR 213a y 213b. El
frame de transmisión es codificado por el codificador de frame 204e
en las señales SDCKA y SDCKB. Las señales SDCKA y SDCKB se emiten a
las líneas se datos SDCKA y SDCKB del bus M respectivamente.
El monitor de líneas 204d monitoriza
continuamente las líneas de datos SDCKA y SDCKB. El resultado (haya
o no una señal) se establece en el registro de control 204a como una
marca de monitorización de líneas SDCKA y SDCKB. La CPU 201 puede
investigar un Time Out para los datos transmitidos por el servidor
consultando estas marcas.
Como se muestra en la Figura 62, el MIE del
dispositivo de expansión se compone de manera similar al MIE del
dispositivo base aunque no comprende una sección de control de
socket. La sección de función de soporte en este diagrama
corresponde al medio de entrada y a la sección I/O 202 del
dispositivo base y ejecuta las funciones características de, por
ejemplo, un monitor LCD, un cartucho de salida de sonido, un
cartucho de entrada de sonido, un cartucho de arma luminosa, un
cartucho de vibración, un cartucho de memoria, y similares. La
sección de la CPU 301 y la sección de procesamiento de
comunicaciones 304 corresponden, respectivamente, a la sección de la
CPU 201 del dispositivo y a la sección de procesamiento de
comunicaciones 204.
A continuación se describe la composición del
registro de control 204a, el registro de longitud de datos 204k y el
búfer de transmisión y recepción (TRBF) provistos en el MIE del
dispositivo base (o dispositivo de expansión).
La Tabla 26 muestra la composición del registro
de control 204a que contiene varias marcas de control (CFLAG). Estas
marcas de control comprenden 21 marcas para controlar la transmisión
y recepción de datos. Los tipos de marca empleados para formar este
registro varían dependiendo del tipo de dispositivo periférico.
| Dir | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W |
| Datos | HRES | CTXB | TBF | TXB | BFOV | RFB | ENDP | LMC1 | LMC2 | LMC3 | LMC4 |
| Ini | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
| Dir | R | R | R | R | R | R | R | R | R | R |
| Datos | RXB | EMP | SDAM | SDBM | PERR | POS | LMM1 | LMM2 | LMM3 | LMM4 |
| Ini | 0 | 0 | - | - | 0 | 0 | - | - | - | - |
En esta tabla, R/W indica que la marca se puede
leer y escribir. R indica que la marca sólo se puede leer.
"Ini" representa el establecimiento inicial. HRES representa
una marca de recepción de patrón de reinicialización. La marca de
recepción de patrón de reinicialización HRES se convierte en
"1" cuando se recibe un patrón de reinicialización y provoca la
inicialización del controlador del MIE. TXB es una marca de
transmisión. Si TXB se escribe durante la transmisión o recepción,
no se garantizan los contenidos de los datos correspondientes. CTXB
es una marca de transmisión continua. Si se transmite un volumen de
datos que sobrepasa la capacidad del búfer de transmisión y
recepción 204j, después de almacenar la continuación de los datos
del búfer de transmisión y recepción 204j, estos datos se transmiten
con la marca de transmisión continua CTXB, en vez de con la marca de
transmisión TXB. TFB es una marca de transmisión completa. BFOV es
una marca de overflow de capacidad de búfer de transmisión y
recepción. La marca de overflow BFOV se borra cuando comienza la
transmisión o recepción. Cuando el búfer de transmisión y recepción
204j produce un overflow, la marca de overflow BFOV se establece en
"1". RFB es una marca de recepción completa. ENDP es una marca
de transmisión de patrón de fin. Cuando se añade un patrón de fin a
los datos de transmisión, ENDP se establece en "1". RXB es una
marca de recepción, que cambia cuando se reciben datos. EMP es una
marca de vacío. Si desaparecen los datos transmitidos al búfer de
transmisión y recepción 204j durante la transmisión, la marca de
vacío EMP se estable en "1". PERR es una marca de error de
paridad. Cuando la paridad que está en el frame recibido no
concuerda, esta marca de error de paridad PERR se establece en
"1", y en condiciones normales, se borra a "0". POS es una
marca de modo de ocupación SDCKB. La marca de modo de ocupación
SDCKB POS indica si el bus M está en modo normal (POS = "0") o
en modo de ocupación SDCKB (POS = "1"). SDAM es una marca de
monitorización de línea SDCKA (sólo se proporciona en el dispositivo
base). SDBM es una marca de monitorización de línea SDCKB (sólo se
proporciona en el dispositivo base). SDAM y SDBM indican el estado
de las líneas de datos SDCKA y SDCKB, respectivamente. LMC1 a 4 son
marcas de conexión para los buses LM 1 a 4 (provistas únicamente en
el dispositivo base). Las marcas LMC1 a 4 indican una conexión (=
"1") o desconexión (= "0") en los buses LM 1 a 4. LMM1 a 4
son marcas de monitorización de conexión de los buses LM 1 a 4
(provistas únicamente en el dispositivo base). Estas marcas LMM1 a 4
indican el estado de uso de los buses LM 1 a 4. El controlador del
MIE investiga un Time Out para los datos procedentes del servidor
comprobando las marcas SDAM y SDBM. El procesamiento de time Out es
controlado únicamente por los dispositivos base y no por los de
expansión.
La Tabla 27 muestra la composición del registro
de longitud de datos. El registro de longitud de datos es un
registro de un solo byte para indicar el tamaño de un único frame
durante la transmisión.
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Dir | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W |
| Datos | Ln_{7} | Ln_{6} | Ln_{5} | Ln_{4} | Ln_{3} | Ln_{2} | Ln_{1} | Ln_{0} |
| Ini | - | - | - | - | - | - | - | - |
En esta tabla, R/W indica que un bit se puede
leer y escribir. En su estado inicial, todos los bits son
indefinidos. Ln representa la longitud de los datos, donde 00h
\leq Ln \leq FFh. La relación entre el valor de Ln y la longitud
de los datos se ilustra en la Tabla 28.
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Longitud datos | Ln_{7} | Ln_{6} | Ln_{5} | Ln_{4} | Ln_{3} | Ln_{2} | Ln_{1} | Ln_{0} |
| 4 bytes | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 8 bytes | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| : | : | : | : | : | : | : | : | : |
| 512 bytes | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 516 bytes | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| : | : | : | : | : | : | : | : | : |
| 1020 bytes | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 1024 bytes | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Durante la transmisión y recepción de datos y
después de la recepción de datos, el registro de longitud de datos
(LREG) es indefinido. La longitud de los datos se puede especificar
en unidades de cuatro bytes.
A continuación se describe el búfer de datos. El
búfer de transmisión y recepción mencionado (TRBF) 204j se usa como
búfer de datos. El búfer de transmisión y recepción 204j es una zona
de búfer donde se almacenan un frame de datos de transmisión y uno
de recepción. La capacidad oscila entre un mínimo de 4 bytes y un
máximo de 1.024 bytes, en unidades de 4 bytes. La capacidad se
optimiza para cada dispositivo periférico. El búfer se comparte para
la transmisión y recepción, y se divide en zonas para un código de
comando, un AP destino, un AP fuente, el tamaño de datos, y los
datos.
La Tabla 29 muestra la composición del búfer de
transmisión y recepción. En esta tabla, R/W indica que un bit se
puede leer y escribir. En el estado inicial, el contenido del búfer
es indefinido. Los datos se transmiten en secuencia empezando por
los primeros datos, y los datos recibidos se escriben en el búfer en
secuencia, empezando por la zona de almacenamiento de los primeros
datos. Las secciones de datos primera a cuarta son zonas donde se
especifican los datos que se van a almacenar.
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Dir | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W |
| 1^{os} Datos | D1_{7} | D1_{6} | D1_{5} | D1_{4} | D1_{3} | D1_{2} | D1_{1} | D1_{0} |
| 2^{os} Datos | D2_{7} | D2_{6} | D2_{5} | D2_{4} | D2_{3} | D2_{2} | D2_{1} | D2_{0} |
| 3^{os} Datos | D3_{7} | D3_{6} | D3_{5} | D3_{4} | D3_{3} | D3_{2} | D3_{1} | D3_{0} |
| 4^{os} Datos | D4_{7} | D4_{6} | D4_{5} | D4_{4} | D4_{3} | D4_{2} | D4_{1} | D4_{0} |
| 5^{os} Datos | D5_{7} | D5_{6} | D5_{5} | D5_{4} | D5_{3} | D5_{2} | D5_{1} | D5_{0} |
| 6^{os} Datos | D6_{7} | D6_{6} | D6_{5} | D6_{4} | D6_{3} | D6_{2} | D6_{1} | D6_{0} |
| 7^{os} Datos | D7_{7} | D7_{6} | D7_{5} | D7_{4} | D7_{3} | D7_{2} | D7_{1} | D7_{0} |
| 8^{os} Datos | D8_{7} | D8_{6} | D8_{5} | D8_{4} | D8_{3} | D8_{2} | D8_{1} | D8_{0} |
| : | : | : | : | : | : | : | : | : |
En esta tabla, la sección de los primeros datos
(1^{os} Datos) es una zona para almacenar códigos de comando. La
sección de los segundos datos (2^{os} Datos) es una zona para
almacenar valores de APs destino. La sección de los terceros
(3^{os} Datos) es una zona para almacenar valores de APs fuente.
La sección de los cuartos (4^{os} Datos) es una zona para
almacenar tamaños de datos. Cuando el valor que está en los valores
de los cuartos datos D4_{0} a D4_{7} es "00h", esto indica
que no hay datos. A partir de la sección de los quintos datos
(5^{os} Datos) en adelante son zonas para almacenar datos de
parámetros. El número de bytes de datos almacenados es el número de
bytes indicado con el tamaño de datos. El contenido de las zonas de
datos que sobrepasen el tamaño de datos es indefinido.
A continuación se describe la recepción de datos
y la transmisión de datos mediante el MIE del servidor y el MIE del
dispositivo base que tienen las composiciones ya mencionadas. Ya que
se usa un procedimiento de transferencia similar en los dispositivos
de expansión, no se va a describir aquí el procedimiento de
transmisión de datos entre el MIE del servidor y un MIE de un
dispositivo de expansión.
Primeramente, se describe un resumen de una
recepción de datos en un dispositivo base. La recepción de datos se
realiza automáticamente mediante los MIEs correspondientes del
servidor y del dispositivo base. Cuando el servidor transmite una
señal de datos y el dispositivo base comienza el proceso de
recepción, la marca de transmisión TXB, la marca de transmisión
completa TFB y la marca de recepción completa RFB se cambian a
"0" mediante el MIE. Cuando la marca de recepción RXB es
"1", esto indica que el MIE está en proceso de recibir datos, y
cuando RXB es "0", esto indica que la recepción ha terminado.
Cuando la recepción de datos se completa de forma normal y los datos
se han almacenado en el búfer de transmisión y recepción (TRBF),
mientras que se almacena el estado de error de paridad mediante la
marca de error de paridad PERR, la marca de recepción completa RFB
se establece en "1" (en caso de interrupción del proceso, se
genera una interrupción de recepción en este punto), y termina el
proceso de recepción. Si tanto la marca de recepción RXB como la
marca de recepción completa RFB son "1", esto indica que se ha
producido un error durante la recepción. Además, si los datos de
recepción sobrepasan la capacidad del búfer de transmisión y
recepción, la marca overflow de búfer de transmisión y recepción
BFOV se establece en "1", y los datos de recepción desde el
comienzo de la recepción hasta la capacidad del búfer de transmisión
y recepción se almacenan en el búfer de transmisión y recepción. Si
no coincide la paridad en los datos del frame, el PERR se establece
en "1", y si la paridad es normal, el PERR es a "0".
La Figura 67 es un diagrama que ilustra la
recepción de datos en el MIE del dispositivo, en un caso en el que
el volumen de los datos transmitidos desde el servidor al
dispositivo (dispositivo periférico) no sobrepasa la capacidad del
búfer de transmisión y recepción 204j.
Primero, en el lado del servidor, los datos de
transmisión que se van a enviar se crean en la RAM de trabajo 1e, y
el MIE del servidor crea los datos frame que contienen estos datos y
comienza a transmitirlos al bus M. El MIE del dispositivo recibe
estos datos de frame y los descodifica mediante un descodificador de
frames 204h. La sección de datos (patrón de datos) y los datos de
paridad de los datos de frame se transforman de serie a paralelo
mediante un registro de desplazamientos alternos 204i, y se
comprueba la paridad (cálculo de paridad) mediante un registro
temporal 204g. La sección de datos comprobados se almacena entonces
en un búfer de transmisión y recepción 204k, y los datos de paridad
se almacenan en un registro de paridad 204b.
Cuando el descodificador de frame 204h detecta un
patrón de puesta en marcha en los datos del frame, el controlador
frames 204c fija en "0" la marca de transmisión TXB, la marca
de transmisión completa TFB y la marca de recepción completa RFB del
registro de control 204a. Como se ha indicado anteriormente, cuando
la marca de recepción RXB es "1", esto indica que el MIE está
en proceso de recibir datos, y cuando RXB es "0", esto indica
que la recepción de datos ha terminado. La sección de la CPU 201 lee
el hecho de que la marca de recepción RXB se ha establecido en
"1", y concluye que los datos se están recibiendo. Además, la
sección de la CPU 201 también puede monitorizar el uso de líneas de
datos SDCKA y SDCKB comprobando las marcas SDAM y SDBM. Cuando el
descodificador de frame 204h detecta un patrón de fin en los datos
del frame, el controlador de frame 204c concluye que la recepción de
datos ha terminado, y establece la marca de recepción RXB en
"0".
La sección de registro de paridad 204b compara
los resultados de comprobación de paridad para los datos de
recepción con los datos de paridad recibidos, para determinar si hay
error de paridad. La ocurrencia o ausencia de un error se escribe en
la marca de error de paridad PERR del registro de control 204a.
Cuando se termina de manera normal la recepción de datos del frame,
y los datos se almacenan en el búfer de transmisión y recepción
204j, mientras que el estado de error de paridad se almacena en la
marca de error de paridad PERR del registro de control 204a, la
marca de recepción completa RFB se establece en "1", y termina
el proceso de recepción. La marca de recepción completa RFB se puede
tomar como una señal de interrupción en la sección de la CPU
201.
Si se monitoriza la marca de recepción completa
RFB de manera periódica, o alternativamente, recibiendo una señal de
interrupción cuando la marca de recepción completa RFB se fija en
"1", la sección de la CPU 201 ejecuta un programa para procesar
los datos de recepción. Primero confirma que la marca de error de
paridad PERR del registro de control 204a no indica que haya un
error. A continuación, lee los datos de recepción que van del búfer
de transmisión y recepción 204j a la memoria principal de la
sección de la CPU 201. La sección de la CPU 201 lleva a cabo después
el procesamiento que corresponde a los comandos y parámetros
transmitidos por el servidor, y el procesamiento para crear datos de
respuesta y equivalentes.
Si la marca de recepción RXB y la marca de
recepción completa RFB se fijan en "1", ya que estos son
estados básicamente incompatibles, la CPU identifica que se ha
producido un error durante la recepción y realiza un procesamiento
pertinente. Además, si la marca de error de paridad PERR indica que
hay un error, la sección de la CPU 201 realiza un procesamiento para
enviar, por ejemplo, un comando de petición de retransmisión al
servidor.
La Figura 68 es un diagrama que ilustra la
recepción de datos en un MIE del dispositivo base en el caso en el
que el volumen de datos de transmisión que van del servidor al
dispositivo base (dispositivo periférico) sobrepasa la capacidad del
búfer de transmisión y recepción TRBF. Cuando los datos de recepción
sobrepasan la capacidad del búfer de transmisión y recepción 204j,
la marca de overflow de búfer de transmisión y recepción TRBF se
fija en "1", y los datos de recepción desde el comienzo de la
recepción hasta la capacidad del búfer de transmisión y recepción se
almacenan en el búfer de transmisión y recepción. A continuación, se
describen las operaciones que se realizan en este caso.
En primer lugar, de manera similar a la Figura
67, los datos de transmisión a enviar al servidor se crean en la
RAM de trabajo 1e, y el MIE del servidor forma datos frame que
contienen estos datos y empieza a transmitirlos al bus M. El MIE del
dispositivo base recibe estos datos de frame y los descodifica con
la ayuda del descodificador de frame 204h. La sección de datos
(patrón de datos) y los datos de paridad de los datos de frame se
transforman de datos serie a paralelo mediante el registro de
desplazamientos alternos 204i, y el registro temporal 204g realiza
una comprobación de paridad (cálculo de paridad). La sección de
datos de comprobación se almacena después en el búfer de transmisión
y recepción 204j, y los datos de paridad se almacenan en el registro
de paridad 204b.
Cuando el descodificador de frame 204h detecta un
patrón de puesta en marcha en los datos de frame, el controlador de
frame 204c fija en "0" la marca de transmisión TXB, la marca de
transmisión completa TFB y la marca de recepción completa RFB del
registro de control 204a. Como se ha explicado antes, cuando la
marca de recepción RXB es "1", esto indica que el MIE está en
proceso de recibir datos y cuando RXB es "0", esto indica que
la transmisión ha terminado. La sección de la CPU 201 lee el hecho
de que la marca de recepción RXB se fija en "1" y deduce que se
están recibiendo datos. Además, la sección de la CPU 201 puede
monitorizar el uso de las líneas de datos SDCKA y SDCKB comprobando
las marcas SDAM y SDBM.
Si los datos de recepción sobrepasan la capacidad
del búfer de transmisión y recepción 204j, éste fija en "1" la
marca de overflow del búfer de transmisión y recepción BFOV en el
registro de control. Para este fin, un overflow se detecta, por
ejemplo, generando una salida de detección cuando un contador de
dirección que está en el búfer de transmisión y recepción 204j
alcanza el máximo valor de dirección en la memoria. Incluso después
de que el volumen de los datos de recepción ha sobrepasado el búfer
de transmisión y recepción 204j, los datos de recepción se
suministran aún al búfer de transmisión y recepción 204j vía el
registro temporal, aunque el búfer de transmisión y recepción no lea
estos datos. Por tanto, sólo se realiza un cálculo de paridad para
todos los datos. La sección de datos de paridad de los datos de
recepción se almacena en el registro de paridad.
Cuando el descodificador de frame 204h detecta un
patrón de fin en los datos de frame, el controlador de frame 204c
identifica que la recepción ha terminado y fija la marca de
recepción RXB en "0". La sección del registro de paridad 204b
compara los resultados de la comprobación de paridad para los datos
de recepción con los datos de paridad recibidos para determinar si
hay un error de paridad. La ocurrencia o ausencia de error se
escribe en la marca de error de paridad PERR del registro de control
204a. Cuando los datos se establecen en el búfer de transmisión y
recepción 204j y el estado de error de paridad se establece en la
marca de error de paridad PERR del registro de control 204a, la
marca de recepción completa RFB se fija en "1" y termina el
proceso de recepción. La marca de recepción completa RFB se puede
tomar como una señal de interrupción en la sección de la CPU
201.
La sección de la CPU 201 identifica que debe
ejecutar un programa para procesar datos de recepción monitorizando
de manera periódica la marca de recepción completa RFB del registro
de control, o recibiendo una señal de interrupción cuando la marca
de recepción completa RFB se fija en "1". Además, la sección de
la CPU 201 confirma que la marca de error de paridad PERR del
registro de control 204a no indica que hay un error. También
comprueba que la marca de overflow BFOV del búfer de transmisión y
recepción se fija en "1". Al identificar que los datos están en
mitad de la transmisión, la sección de la CPU 201 lee los datos de
recepción que van del búfer de transmisión y recepción 204j a la
memoria principal de la sección de la CPU 201, y después ejecuta un
proceso pertinente.
A continuación se describe un procedimiento de
transmisión de datos desde un dispositivo base al servidor con
referencia a la Figura 69. El procedimiento de transmisión de datos
desde el dispositivo de expansión al servidor es similar al
procedimiento de transmisión de datos desde el dispositivo base al
servidor, con lo cual no se describe aquí.
Cuando el dispositivo base recibe un comando del
servidor, crea unos datos de respuesta para responder al comando, y
envía estos datos de respuesta al servidor. Como se ha explicado ya,
si no hay respuesta en un periodo de tiempo determinado (por
ejemplo, 1,0 ms) después de la transmisión del comando, el servidor
deduce que no hay conexión. Por tanto, el dispositivo base tiene que
devolver un comando en este periodo de tiempo.
En primer lugar, la sección de la CPU 201 del
dispositivo base escribe los datos de transmisión (comandos,
parámetros) en el búfer de transmisión y recepción 204j. A
continuación, escribe el volumen de datos de los datos de
transmisión en el registro de longitud de datos 204k y fija en
"1" la marca de patrón de fin ENDP en el registro de
control.
Cuando la sección de la CPU 201 fija en "1"
la marca de transmisión TXB del registro de control 204a, el MIE
comienza una operación de transmisión para transmitir los datos del
tamaño indicado en el registro de longitud de datos. Si la marca de
transmisión TXB se fija en "1", la marca de recepción RXB, la
marca de recepción completa RFB, la marca de transmisión completa
TFB y la marca de overflow BFOV del búfer de transmisión y recepción
que están en el registro de control 204a se fijan (borran) a
"0". Si el volumen de los datos fijados en el registro de
longitud de datos 204k sobrepasa la capacidad del búfer de
transmisión y recepción 204j, la marca de overflow BFOV del búfer de
transmisión y recepción cambia a "1", y se transmiten todos los
datos que están el búfer de transmisión y recepción 204j.
El controlador de frame 204c permite la
transmisión de los datos almacenados en el búfer de transmisión y
recepción 204j en respuesta a la marca de transmisión TXB que se
fija en "1". El registro temporal 204g realiza un cálculo de
paridad para los datos de transmisión, y el registro de
desplazamientos alternos 204f transforma los datos de paralelos a
serie y los transmite al codificador de frame 204e. El registro
temporal 204g añade los datos de paridad al final de los datos de
transmisión. El codificador de frame 204e transmite en secuencia un
patrón de puesta en marcha, datos de transmisión (comandos,
parámetros), datos de paridad y un patrón de fin, bajo el control
del controlador de frame 204c. El frame de transmisión formado por
estos contenidos se envía al bus M mediante las citadas señales
SDCKA y SDCKB. Cuando los datos finales se envían desde el búfer de
transmisión y recepción 204j, la marca de transmisión TXB del
registro de control se fija en "0", la marca de vacío EMP se
fija en "1" y la marca de transmisión continua se fija en
"0". Los contenidos del búfer de transmisión y recepción 204j
después de que se ha completado la transmisión son indefinidos. El
controlador de frame 204c transmite un patrón de fin y si la
transmisión de datos termina de manera normal, la marca de
transmisión completa TFB del registro de control 204a se fija en
"1". El MIE del dispositivo base asume después un estado
standby, en espera de una entrada desde el bus M. La sección de la
CPU 201 confirma que ha terminado la transmisión monitorizando
periódicamente la marca de transmisión completa TFB del registro de
control para ver si se fija en "1". Además, si la marca de
transmisión TXB que indica que la transmisión está en progreso y la
marca de transmisión completa TFB se fijan en "1", la sección
de la CPU 201 identifica que se ha producido un error.
Por otro lado, el MIE del servidor recibe los
datos del frame transmitidos por el dispositivo base. Cuando el
descodificador de frame 61 detecta el patrón de puesta en marcha en
los datos, se envía una señal vía la sección de control de señal de
interrupción 54 al controlador de interrupción en la CPU 1a del
servidor, para avisar a la CPU de que se están recibiendo datos. El
registro de desplazamientos alternos 62 transforma los datos de
recepción de serie a paralelo, después de lo cual se transmiten
desde la sección iniciadora 50 vía el registro temporal de datos de
recepción 56a y el FIFO de datos de recepción 56b a la RAM de
trabajo 1e. En el emplazamiento de almacenamiento de datos de
recepción de la RAM de trabajo 1e, la dirección de almacenamiento de
datos de recepción que ha predeterminado la CPU 1a se toma como la
posición binaria inicial. Cuando el descodificador de frame 61
detecta un patrón de fin, termina la recepción y la sección de
control de señal de interrupción 54 envía una señal que indica la
terminación del proceso de recepción al controlador de interrupción.
Por tanto, a la CPU se le avisa de que la recepción ha terminado, y
puede acceder y procesar los datos de recepción que están en la RAM
de trabajo 1e.
A continuación, y con referencia a la Figura 70,
se describe el caso en el que la transmisión de datos procedente del
dispositivo base sobrepasa la capacidad de su búfer de transmisión y
recepción 204j. En un dispositivo de expansión, se ejecuta un
procedimiento similar al del dispositivo base. Si los datos de
transmisión sobrepasan la capacidad del búfer de transmisión y
recepción 204j, la sección de la CPU 201 del dispositivo base puede
transmitir los datos particionándolos en varios bloques según la
capacidad del búfer de transmisión y recepción 204j.
Si la sección de la CPU 201 del dispositivo base
recibe un comando desde el servidor, forma datos de respuesta para
responder a esto, y envía estos datos al servidor. Si no hay
respuesta dentro de un periodo de tiempo determinado (por ejemplo
1,0 ms) después de la transmisión del comando, el servidor deduce
que no hay conexión. Por tanto, el dispositivo base debe devolver un
comando y los parámetros en este periodo de tiempo.
En primer lugar, la sección de la CPU 201 del
dispositivo base compara el volumen de los datos a transmitir con la
capacidad del búfer de transmisión y recepción 204j para identificar
si el volumen de los datos de transmisión es muy grande. La sección
de la CPU 201 particiona después los datos de transmisión en
longitudes iguales o menores que la capacidad del búfer de
transmisión y recepción 204j (por ejemplo, 1.024 bytes) y copia los
datos en el búfer de transmisión y recepción 204j (agrupamiento en
bloques).
Acto seguido, el volumen de los datos de
transmisión almacenados en el búfer de transmisión y recepción 204j
se escribe en el registro de longitud de datos 204k, y la marca de
patrón de fin ENDP del registro de control 204a se fija en
"0".
Cuando la sección de la CPU 201 fija en "1"
la marca de transmisión TXB del registro de control 204a (modo
transmisión), el MIE comienza la operación de transmisión para
transmitir datos del tamaño indicado por el registro de longitud de
datos. Cuando la marca de transmisión TXB se fija en "1", el
controlador de frame 204c fija en "0" (borra) la marca de
recepción RXB, la marca de recepción completa RFB, la marca de
transmisión completa TFB, la marca de vacío EMP y la marca de
overflow del búfer de transmisión y recepción BFOV, que están en el
registro de control 204a.
El controlador de frame 204c permite la
transmisión de los datos de transmisión almacenados en el búfer de
transmisión y recepción 204j en respuesta a que la marca de
transmisión TXB se fija en "1". Se hace un cálculo de paridad
para los datos de transmisión del registro temporal 204g, y el
registro de desplazamientos alternos 204f transforma después los
datos paralelo a serie y éstos se transmiten a un codificador de
frame 204e. El codificador de frame 204e transmite sucesivamente el
patrón de puesta en marcha y los datos de transmisión (comandos y
parámetros), según los comandos procedentes del controlador de frame
204c. Ya que la marca ENDP se fija en "0", los datos de paridad
y el patrón de fin no se añaden al final de este bloque de datos. Un
frame de transmisión que comprende los items mencionados se
transmite al bus M mediante las señales SDCKA y SDCKB. Cuando el
item de dato final se emite desde el búfer de transmisión y
recepción 204j, la marca de vacío EMP que está en el registro de
control se fija en "1" y la marca de transmisión continua se
fija en "0".
La sección de la CPU 201 monitoriza
periódicamente la marca de vacío EMP del registro de control 204a.
Si confirma que la marca de vacío EMP ha cambiado a "1",
particiona los datos de transmisión añadidos hasta un tamaño igual o
menor que la capacidad del búfer de transmisión y recepción y los
almacena en el búfer de transmisión y recepción 204j. La longitud de
estos datos se establece en el registro de longitud de datos 204k.
Acto seguido, la sección de la CPU 201 fija en "1" la marca de
transmisión continua CTXB del registro de control 204a.
Cuando se fija en "1" la marca de
transmisión continua, el controlador de frame 204c fija en "0"
(borra) la marca de vacío EMP y la marca de overflow del búfer de
transmisión y recepción BFOV del registro de control 204a.
El controlador de frame 204c permite la
transmisión de los datos de transmisión almacenados en el búfer de
transmisión y recepción 204j en respuesta a que la marca de
transmisión TXB se fija en "1". Se hace un cálculo de paridad
para los datos de transmisión del registro temporal 204g, y el
registro de desplazamientos alternos 204f transforma después los
datos paralelo a serie y se envían a un codificador de frame 204e.
El codificador de frame 204e transmite sucesivamente los datos de
transmisión (comandos y parámetros) bajo el control del controlador
de frame 204c. Estos items de datos, y equivalentes, se transmiten
al bus M mediante las señales SDCKA y SDCKB mencionadas. Cuando los
datos finales se emiten desde el búfer de transmisión y recepción
204j, la marca de vacío EMP del registro de control se fija en
"1" y la marca de transmisión continua se fija en "0".
La sección de la CPU 201 identifica que la marca
de vacío EMP ha cambiado a "1" monitorizando el registro de
control a intervalos periódicos. La sección de la CPU 201 particiona
los datos de transmisión restantes (no transmitidos) a un tamaño
igual o menor que la capacidad del búfer de transmisión y recepción
204j, y los almacena en el búfer de transmisión y recepción 204j. En
el caso de este ejemplo, los datos restantes son menores que la
capacidad del búfer de transmisión y recepción 204j, con lo cual
todos los datos restantes se almacenan en el búfer de transmisión y
recepción 204j. La longitud de estos datos se establece en el
registro de longitud de datos 204k. Además, ya que el bloque de
datos final se está transmitiendo, la marca de transmisión de patrón
de fin ENDP se fija en "1" con lo cual se añade un patrón de
fin al final de los datos. Acto seguido, la sección de la CPU 201
fija en "1" la marca de transmisión continua CTXB del registro
de control 204a.
Cuando la marca de transmisión continua CTXB se
fija en "1", el controlador de frame 204c fija (borra) en
"0" la marca de vacío EMP y la marca de overflow del búfer de
transmisión y recepción BFOV del registro de control 204a.
El controlador de frame 204c permite la
transmisión de los datos de transmisión almacenados en el búfer de
transmisión y recepción 204j en respuesta a que la marca de
transmisión TXB se fija en "1". Se hace un cálculo de paridad
para los datos de transmisión del registro temporal 204g, y el
registro de desplazamientos alternos 204f transforma después los
datos de paralelo a serie y se envían a un codificador de frame
204e. El registro temporal 204g adopta los resultados del cálculo de
paridad para todos los datos de transmisión como datos de paridad
(un byte de bits de paridad), que los añade al final de los datos
de transmisión. El codificador de frame 204e transmite sucesivamente
los datos de transmisión (comandos y parámetros), los datos de
paridad y el patrón de fin, bajo el control del controlador de frame
204c. Estos items de datos, y equivalentes, se transmiten al bus M
mediante las señales SDCKA y SDCKB mencionadas. Cuando los items de
datos finales se emiten desde el búfer de transmisión y recepción
204j, la marca de vacío EMP del registro de control se fija en
"1" y la marca de transmisión continua CTXB se fija en
"0". Ya que la transmisión ha terminado, la marca de
transmisión TXB y la marca de transmisión completa TFB se fijan en
"0". La sección de la CPU 201 identifica que se ha completado
la transmisión de todos los datos según el estado de varias marcas
monitorizando periódicamente el registro de control 204a.
Por otro lado, cuando el MIE del servidor recibe
un patrón de puesta en marcha, comienza una operación de recepción,
y almacena sucesivamente datos de recepción (comandos, parámetros)
en la RAM de trabajo 1e. El registro DMA especifica previamente el
emplazamiento de almacenamiento en la RAM de trabajo 1e. Los datos
de transmisión originales se restauran encajando cada uno de los
bloques de datos recibidos en la RAM de trabajo 1e. Cuando al final
el MIE del servidor recibe un patrón de fin, termina la recepción
de datos.
Como se ha descrito antes, cuando los datos de
transmisión se particionan y transmiten en bloques, el primer bloque
usa la marca de transmisión TXB, y el segundo bloque y siguientes
usan la marca de transmisión continua CTXB para transmitir los datos
restantes. Si el periodo de tiempo que va desde que se envía un
bloque de datos hasta que se envía el siguiente bloque sobrepasa un
periodo de tiempo prescrito, por ejemplo 1,0 ms, se genera un time
Out en el servidor, con lo cual el dispositivo transmite el segundo
bloque y los siguientes dentro de este periodo de tiempo. El tamaño
de los bloques se puede establecer en unidades de bloque. El tamaño
de los bloques se establece en el registro de longitud de datos
204k para cada transmisión de bloque. Exceptuando el último bloque,
la marca de patrón de fin se fija en "0" cuando se ha
transmitido el bloque, con lo cual no se añade ningún patrón de
fin. Cuando se envía el último bloque, la marca de patrón de fin se
fija en "1", con lo cual se añade un patrón de fin al final de
los datos de transmisión.
De este modo, el dispositivo base puede
transmitir datos que sobrepasen la capacidad de su propio búfer de
transmisión y recepción. Los mismo ocurre con los dispositivos de
expansión.
A continuación, se describen las relaciones entre
las marcas que están en el registro de control 204a del dispositivo
base y su estado de comunicaciones.
- (1)
- Estado de las marcas del dispositivo base (cuando el dispositivo base se está comunicando con el servidor)
- (a)
- Cuando el dispositivo base está transmitiendo datos al servidor
| Bit | Comienzo de | Durante la | Fin de | Error de |
| transmisión | transmisión | transmisión | transmisión | |
| TXB | 1 | 1 | 0 | 1 |
| TFB | 0 | 0 | 1 | 1 |
| RXB | 0 | 0 | 0 | 0 |
| RFB | 0 | 0 | 0 | 0 |
- Si tanto la marca de transmisión TXB como la marca de transmisión completa TFB se fijan en "1", esto representa un error de transmisión.
- (b)
- Cuando el dispositivo base está recibiendo datos del servidor
| Bit | Durante la recepción | Fin de la recepción | Datos de recepción almacenados | Error de recepción |
| TXB | 0 | 0 | 0 | 0 |
| TFB | 0 | 0 | 0 | 0 |
| RXB | 1 | 1 | 0 | 1 |
| RFB | 0 | 0 | 1 | 1 |
- Cuando tanto la marca de recepción RXB como la marca de recepción completa se fijan en "1", esto representa un error de recepción.
- (2)
- Estado de las marcas del dispositivo base (cuando un dispositivo de expansión se está comunicando con el servidor)
- (a)
- Cuando un dispositivo de expansión está transmitiendo datos al servidor.
| Bit | Comienzo de transmisión | Durante la transmisión | Fin de la transmisión | Error de transmisión |
| TXB | 0 | 0 | 0 | 0 |
| TFB | 0 | 0 | 0 | 0 |
| RXB | 0 | 0 | 0 | 0 |
| RFB | 0 | 0 | 0 | 0 |
- Si cualquiera de los dispositivos de expansión (dispositivos de transmisión) transmite datos al servidor, es posible que ese dispositivo de expansión ocupe un bus LM. Esta ocupación es posible si se controlan las puertas OR 213, 214 mediante el dispositivo de transmisión. En casos de este tipo, se excluyen del bus dispositivos base y de expansión que no sean el dispositivo de transmisión, con lo cual no es necesario monitorizar la recepción de datos, reduciéndose por tanto la carga.
- (b)
- Cuando el dispositivo de expansión recibe datos del servidor
| Bit | Durante la recepción | Fin de la recepción | Datos de recepción almacenados | Error de recepción |
| TXB | 0 | 0 | 0 | 0 |
| TFB | 0 | 0 | 0 | 0 |
| RXB | 1 | 1 | 0 | 1 |
| RFB | 0 | 0 | 1 | 1 |
- Cuando tanto la marca de recepción RXB como la marca de recepción completa se fijan en "1", esto representa un error de recepción.
A continuación se describe el procesamiento de
error. Como se ha explicado antes, si la marca de transmisión TXB y
la marca de transmisión completa TFB se fijan en "1", es que
hay un error de transmisión. Si la marca de recepción RXB y la marca
de recepción completa RFB se fijan en "1", es que hay un error
de recepción. Si se produce un error durante el procesamiento de
transmisión, el MIE puede indicar que hay un error fijando tanto la
marca de transmisión TXB como la marca de transmisión completa TFB
en "1". Lo mismo ocurre si se produce un error durante el
proceso de recepción. Si se produce un error de paridad, la marca de
error de paridad PERR se fija en "1". Si los datos recibidos
sobrepasan la capacidad del búfer de transmisión y recepción
(desbordamiento de capacidad) durante la recepción de datos, o si se
especifica que durante la transmisión la longitud de los datos
sobrepasa la capacidad del búfer, la marca de overflow del búfer de
transmisión y recepción BFOV se fija en "1".
A continuación se describen ejemplos de
procesamiento de errores en un dispositivo base cuando se producen
errores de estos tipos.
- (a)
- Si se produce un error cuando se transmite al servidor, no se ejecuta ninguna operación con respecto al error, sino que simplemente se borran las marcas de transmisión TXB y de transmisión completa TFB.
- (b)
- Si se produce un error cuando se reciben datos desde el servidor, primero, si el destino de los datos corresponde al del dispositivo base, éste puede enviar un comando de retransmisión al servidor. Si el destino de los datos indica otro dispositivo, el dispositivo base borra sus propias marcas de recepción RXB y de recepción completa RFB.
- (c)
- Si el error durante la recepción de datos desde el servidor es un exceso de tiempo permitido, se reinicializa tanto el dispositivo base como los dispositivos de expansión. En otras palabras, a) se reservan los IDs de los dispositivos de expansión con el fin de formar señales de parada de operación para los dispositivos de expansión, haciendo así que los dispositivos de expansión detengan su procesamiento. b) El dispositivo base se reinicializa y después revierte su ID (lo devuelve a su ID original). Cuando se revierte el ID, los dispositivos de expansión se reinicializan. c) Después de la reinicialización, el dispositivo asume el mismo estado que asume después de una reinicialización software.
A continuación, se describen los diferentes
comandos que se usan en un frame. Se pueden usar 254 códigos de
comandos desde 01 h a Feh. 00 h y FFh no se pueden emplear. Estos
códigos se reservan para indicar "error de comunicación:datos no
seguros". Los comandos incluyen comandos de control y comandos de
error.
El rango de código de comandos que va de 01 h a
DFh se puede usar para comandos de control. Estos comandos se
emplean para controlar la transmisión y recepción de datos. Las
diferentes librerías de funciones del servidor, dispositivos base y
dispositivos de expansión no pueden proporcionar diferentes comandos
para el mismo código de comandos. Si se añaden más comandos, es
deseable buscar compatibilidad con los estándares aplicando
previamente el grupo que gestiona los estándares. A continuación se
describen comandos de control.
\vskip1.000000\baselineskip
Device Request (Figura 71)
- Derecho de emitir: Servidor
- Código de comando: 01 h
- Tamaño de datos: 00 h
- Zona de datos: ninguna
- Valor de respuesta esperada: Device Status
- Descripción: un comando a un dispositivo periférico en el AP destino pidiendo un Device Status. También se emplea para comprobar el estado de conexión en los puertos.
\vskip1.000000\baselineskip
All Status Request (Figura 72)
- Derecho de emitir: Servidor
- Código de comando: 02 h
- Tamaño de datos: 00 h
- Zona de datos: ninguna
- Valor de respuesta esperada: Device All Status
- Descripción: una petición a un dispositivo periférico en el AP destino para todos los Device Status (Fixed Device Status y Free Device Status).
\vskip1.000000\baselineskip
Device Reset (Figura 73)
- Derecho de emitir: Servidor
- Código de comando: 03 h
- Tamaño de datos: 00 h
- Zona de datos: ninguna
- Valor de respuesta esperada: Device Reply
- Descripción: Permite la inicialización de un dispositivo periférico especificado por el AP receptor.
- Procedimiento operativo: (1) El dispositivo periférico devuelve un Device Reply. (2) El dispositivo periférico se reinicializa.
\vskip1.000000\baselineskip
Device Kill (Figura 74)
- Derecho de emitir: Servidor
- Código de comando: 04 h
- Tamaño de datos: 00 h
- Zona de datos: ninguna
- Valor de respuesta esperada: Device Reply
- Descripción: Prohíbe el funcionamiento del dispositivo periférico especificado por el AP destino. El dispositivo periférico espera después en estado de consumo de corriente de espera y no acepta ningún comando. Para accionar el dispositivo periférico, es necesario bien realizar una reinicialización hardware o bien reactivarlo cortando el suministro de corriente.
- Procedimiento operativo: (1) El dispositivo periférico devuelve un Device Reply. (2) El dispositivo periférico detiene su funcionamiento.
\vskip1.000000\baselineskip
Device Status
- Derecho de emitir: Dispositivo periférico
- Código de comando: 05 h
- Tamaño de datos: 1 Ch (28)
- Zona de datos: ID de dispositivo: 16 bytes; código de región de destino: 1 byte; nombre del producto: 31 bytes; licencia: 60 bytes; consumo de corriente en espera: 2 bytes; consumo máximo de corriente; 2 bytes.
- Descripción: los datos de Fixed Device Status se envían en respuesta a un Device Request desde el servidor. Los detalles de los contenidos de los datos se describen en la información del dispositivo periférico que se dará posteriormente.
\newpage
Device All Status
- Derecho de emitir: Dispositivo periférico
- Código de comando: 06 h
- Tamaño de datos: 1 Ch + (n/4)
- Zona de datos: Fixed DEvice Status: 112 bytes, ID de dispositivo: 16 bytes; código de región de destino: 1 byte; nombre del producto: 31 bytes; licencia: 60 bytes; consumo de corriente en espera: 2 bytes; consumo máximo de corriente; 2 bytes, Free Device Status: n bytes.
- Descripción: tanto el Fixed Device Status como el Free Device Status se envían en respuesta a un All Status Request desde el servidor. Los detalles de los contenidos de los datos se describen en la información del dispositivo periférico posterior.
\vskip1.000000\baselineskip
Device Reply
- Derecho de emitir: Dispositivo periférico
- Código de comando: 07 h
- Tamaño de datos: 00 h
- Zona de datos: ninguna
- Descripción: se usa como respuesta desde el dispositivo periférico.
\vskip1.000000\baselineskip
Data Transfer (Figura 75)
- Derecho de emitir: Dispositivo periférico
- Código de comando: 08 h
- Tamaño de datos: n (01 h \leq n \leq FFh)
- Zona de datos: Tipo de función: 4 bytes; datos: (n-1) x 4 bytes
- Valor de respuesta esperada: ninguno
- Descripción: Envía datos de acuerdo con el tipo de función especificada por el servidor. Los datos varían dependiendo del comando solicitado.
\vskip1.000000\baselineskip
Get Condition (Figura 76)
- Derecho de emitir: Servidor
- Código de comando: 09 h
- Tamaño de datos: 01 h
- Zona de datos: tipo de función: 4 bytes
- Valor de respuesta esperada: Data Transfer
- Descripción: Pide el estado físico de la función especificada por el tipo de función del dispositivo periférico. El dispositivo periférico devuelve el mismo tipo como tipo de función transmitida por el servidor. Sólo se puede designar un tipo de función cada vez.
\vskip1.000000\baselineskip
Get Media Info (Figura 77)
- Derecho de emitir: Servidor
- Código de comando: 0Ah
- Tamaño de datos: 02 h
- Zona de datos: tipo de función: 4 bytes; PT (partición): 4 bytes (de los cuales 3 son bytes ficticios)
- Valor de respuesta esperada: Data Transfer
- Descripción: Pide información de los soportes de información de la función especificada por el tipo de función de dispositivo periférico y PT. Los detalles dependen de las especificaciones de los tipos de función correspondientes.
\vskip1.000000\baselineskip
Block Read (Figura 78)
- Derecho de emitir: Servidor
- Código de comando: 0Bh
- Tamaño de datos: 02 h
- Zona de datos: tipo de función: 4 bytes; partición (PT): 1 byte; Fase: 1 byte; Nº de bloques: 2 bytes
- Valor de respuesta esperada: Data Transfer
- Descripción: pide datos de un emplazamiento especificado por el tipo de función de dispositivo periférico, fase y número de bloques del medio de almacenamiento de información de la partición (por ejemplo emplazamiento de almacenamiento de datos en FDD, HDD, memoria, CD-ROM, etc). Los detalles dependen de las especificaciones de los tipos de función correspondientes.
\vskip1.000000\baselineskip
Block Write (Figura 79)
- Derecho de emitir: Servidor
- Código de comando: 0Ch
- Tamaño de datos: 02 h+n
- Zona de datos: Tipo de función: 4 bytes; partición: 1 byte; Fase: 1 byte; Nº de bloques: 2 bytes; datos de escritura: n x 4 bytes
- Valor de respuesta esperada: Data Transfer
- Descripción: copia datos en un emplazamiento especificado por el tipo de función de dispositivo periférico y la división, fase y número de bloques. Los detalles dependen de las especificaciones de los tipos de función correspondientes.
\vskip1.000000\baselineskip
Get Last Error (Figura 80)
- Derecho de emitir: Servidor
- Código de comando: 0Dh
- Tamaño de datos: 02 h
- Zona de datos: Tipo de función: 4 bytes; partición: 1 byte; Fase: 1 byte; Nº de bloques: 2 bytes
- Valor de respuesta esperada: Device Reply
- Descripción: Investiga si ocurre un error en un comando previo. Si no hay error, responde con un Device Reply, si aparece un error envía un comando de error. La partición y el número de bloques mantienen los mismos valores que tenían en el comando justo anterior, y la fase se incrementa en 1. Los detalles dependen de las especificaciones de los tipos de función correspondientes.
A continuación se describen comandos de error. El
tango de código de comando que oscila entre E0h y FEh se usa para
comandos de error. Un comando de error informa que se ha producido
un error en la transmisión, recepción o procesamiento de datos. Las
librerías de función del servidor, los dispositivos base y los
dispositivos de expansión correspondientes tienen prohibido
proporcionar comandos diferentes para el mismo código de comando. Es
deseable buscar compatibilidad con los estándares aplicando
previamente el grupo que los gestiona. A continuación se describen
comandos de error.
\vskip1.000000\baselineskip
Function Type Unknown
- Derecho de emitir: Dispositivo Periférico
- Código de comando: FEh
- Tamaño de datos: 00 h
- Zona de datos: ninguno
- Descripción: se emite cuando la función especificada por el tipo de función transmitida no está presente en el dispositivo periférico.
- Causas posibles: (1) La especificación del tipo de función es incorrecta. (2) La descripción de los datos es incorrecta. (3) Los datos del ID del dispositivo están corruptos. (4) Los datos se corrompen durante las comunicaciones.
- Acción: (1) Especificación correcta del tipo de función. (2) Descripción correcta de los datos. (3) Transmitir Device Request de nuevo y obtener ID de dispositivo. (4) Intentar transmitir de nuevo (hasta un máximo de tres veces, después de lo cual el mismo procesamiento es Time Out).
\vskip1.000000\baselineskip
Command Unknown
- Derecho de emitir: Dispositivo Periférico
- Código de comando: FDh
- Tamaño de datos: 00 h
- Zona de datos: ninguno
- Descripción: se emite cuando el comando transmitido no se encuentra en las funciones del lado del dispositivo periférico.
- Causas posibles: (1) Especificación de comando incorrecta. (2) Descripción de datos incorrecta. (3) Los datos del ID del dispositivo están corruptos. (4) Los datos se corrompen durante las comunicaciones.
- Acción: (1) Especificación correcta del comando. (2) Descripción correcta de los datos. (3) Transmitir Device Request de nuevo y obtener ID de dispositivo. (4) Intentar transmitir de nuevo (hasta un máximo de tres veces, después de lo cual el mismo procesamiento es un Time Out).
\vskip1.000000\baselineskip
Transmit Again
- Derecho de emitir: Servidor; dispositivo periférico
- Código de comando: FCh
- Tamaño de datos: 00 h
- Zona de datos: ninguno
- Descripción: pide que los mismos datos se transmitan de nuevo cuando se produce un error de algún tipo en los datos de transmisión.
- Causas posibles: (1) Se produce un error de paridad. (2) Desbordamiento de capacidad. (3) Los datos se corrompen durante las comunicaciones.
- Acción: Transmitir de nuevo (hasta un máximo de tres veces, después de lo cual el mismo procesamiento es un time Out).
\vskip1.000000\baselineskip
File Error
- Derecho de emitir: Dispositivo Periférico
- Código de comando: FBh
- Tamaño de datos: 01 h
- Zona de datos: código de error de función
- Descripción: se emite cuando se produce un error en File Function. Se transmite un error detallado mediante el código de error de función.
- Causas posibles:
\vskip1.000000\baselineskip
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 1^{os} Datos | FE_{31} | FE_{30} | FE_{29} | FE_{28} | FE_{27} | FE_{26} | FE_{25} | FE_{24} |
| 2^{os} Datos | FE_{23} | FE_{22} | FE_{21} | FE_{20} | FE_{19} | FE_{18} | FE_{17} | FE_{16} |
| 3^{os} Datos | FE_{15} | FE_{14} | FE_{13} | FE_{12} | FE_{11} | FE_{10} | FE_{9} | FE_{8} |
| 4^{os} Datos | FE_{7} | FE_{6} | FE_{5} | FE_{4} | FE_{3} | FE_{2} | FE_{1} | FE_{0} |
- En esta tabla, un item que ha producido un error se fija en "1", y un item que no produce error se fija en "0". FE_{0} representa un error de partición (PT Error); FE_{1}, un Phase Error; FE_{2}, un Block Error; FE_{3}, un Write Error; FE_{4}, un Length Error; y FE_{5}, un CRC Error. Después, se reservan los bits.
LCD Error
- Derecho de emitir: Dispositivo Periférico
- Código de comando: FAh
- Tamaño de datos: 01 h
- Zona de datos: código de error de función
- Descripción: se emite cuando se produce un error en la Función LCD. Se transmite un error detallado mediante el código de error de función.
- Causas posibles:
\vskip1.000000\baselineskip
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 1^{os} Datos | FE_{31} | FE_{30} | FE_{29} | FE_{28} | FE_{27} | FE_{26} | FE_{25} | FE_{24} |
| 2^{os} Datos | FE_{23} | FE_{22} | FE_{21} | FE_{20} | FE_{19} | FE_{18} | FE_{17} | FE_{16} |
| 3^{os} Datos | FE_{15} | FE_{14} | FE_{13} | FE_{12} | FE_{11} | FE_{10} | FE_{9} | FE_{8} |
| 4^{os} Datos | FE_{7} | FE_{6} | FE_{5} | FE_{4} | FE_{3} | FE_{2} | FE_{1} | FE_{0} |
- En esta tabla, un item que ha producido un error se fija en "1", y un item que no produce error se fija en "0". FE_{0} representa un error de partición (PT Error ); FE_{1}, un Phase Error; FE_{2}, Block Error; FE_{3}, Write Error; FE_{4}, un Length Error; y FE_{5}, ninguno. Después, se reservan los bits.
A continuación, se describe la información
inherente (Device Status) que se refiere a un dispositivo base o a
un dispositivo de expansión. Los datos del Device Status se
almacenan de manera que no se pueden sobreescribir o borrar. Device
Status comprende: Fixed Device Status y Free Device Status. El Fixed
Device Status es un Device Status predeterminado que tiene un
formato de 112 bytes, que siempre hay que definir. Si no se definen
todos los datos, no se puede garantizar ni la conexión ni el
funcionamiento. El Free Device Status es un Device Status que pueden
usar libremente los dispositivos individuales. Tiene una capacidad
máxima de 912 bytes.
Todos los datos que vienen a continuación tienen
que definirse en el Fixed Device Status.
- (1)
- ID de dispositivo
- Volumen: 16 bytes
- Descripción: indica los atributos del dispositivo periférico y el formato de datos (función). Hay información que se refiere al ID de dispositivo que está en la sección de protocolo.
- (2)
- Región de destino
- Volumen: 1 byte
- Descripción: indica el destino del producto (zona de venta). La Tabla 36 muestra la composición de los bits de selección de la región de destino. La Tabla 37 muestra la relación entre los bits de selección de región de destino y las regiones de destino.
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Datos | DES_{7} | DES_{6} | DES_{5} | DES_{4} | DES_{3} | DES_{2} | DES_{1} | DES_{0} |
| Zonas de destino | Bits de selección |
| América de Norte | DES_{0} = "1" |
| Japón | DES_{1} = "1" |
| Asia | DES_{2} = "1" |
| Europa | DES_{3} = "1" |
| Área reservada 1 | DES_{4} = "1" |
| Área reservada 2 | DES_{5} = "1" |
| Área reservada 3 | DES_{6} = "1" |
| Área reservada 4 | DES_{7} = "1" |
- Por ejemplo, en el caso de un destino global común, DES = "11111111" = FFh, y en el caso de un destino común de Japón y Asia, DES = "00000110" = 06 h. Está prohibido fijar DES en 00 h.
- (3)
- Nombre del producto
- Volumen: 31 bytes
- Descripción: ofrece el nombre del producto en inglés o alfabeto romano. Se puede usar el formato Em o en. En el volumen libre (bits) se insertan códigos de espacio. Este nombre de producto se registra previamente.
- (4)
- Licencia
- Volumen: 60 bytes
- Descripción: descripción del código ASCII de la licencia del producto en inglés o alfabeto romano. Se insertan códigos de espacio (20 h) en los bits libres. Por ejemplo, "producido por o con la licencia de XXXXX, LTD.".
- (5)
- Consumo de corriente en espera
- Volumen: 2 bytes
- Descripción: muestra el consumo de corriente en espera durante una detención temporal en unidades de 0,1 mA, en notación hexadecimal. Por ejemplo, si el valor es 10,5 mA, los datos son 00-69 h.
- (6)
- Máximo consumo de corriente
- Volumen: 2 bytes
- Descripción: describe un consumo de corriente máximo en unidades de 0,1 mA, en notación hexadecimal. Por ejemplo, si el valor es 127,9 mA, los datos son 04-FFh.
El Free Device Status es una zona que puede
copiar libremente el planificador de los productos, el constructor,
el diseñador, el programador o similar, y el servidor la puede
recuperar mediante un All Device Request. Cuando se usa el software
de aplicación, etc., es necesario que combine la configuración de
los datos, y similares.
A continuación se describen otros ejemplos de
dispositivos base y dispositivos de expansión que usan la presente
invención con referencia a los dibujos.
La Figura 81 muestra una ilustración aproximada
de un ejemplo de la composición de otro dispositivo base
(controlador) que se refiere al primer modo de ejecución, que usa
direcciones relativas. En el ejemplo de la composición de una
función de dispositivo-U que se ilustra en la Figura
33, donde se usa un sistema de direcciones relativas, la presencia o
ausencia de una conexión de dispositivo de expansión la juzga el
terminal SDCKA OUT (conectado a una resistencia), aunque en el
presente ejemplo, se proporciona un terminal ID2 conectado a una
resistencia R en cada conector de expansión, de manera similar al
ejemplo de la Figura 64, y la presencia o ausencia de una conexión
de socket de expansión se juzga identificando el voltaje que se
genera en este terminal. En la Figura 81, el circuito de control de
un dispositivo base (controlador de juego) 2 puede estar formado por
un sistema microinformático de un solo chip 200. El sistema
informático 200 comprende: una CPU 201a para controlar cada sección;
una ROM 201b para almacenar programas de control y librerías de
datos para la CPU 201a; una RAM 201c para almacenar programas de la
CPU y datos y ejecutar procesamientos de datos; una sección I/O 202a
para transformar operaciones de presión que están en 11 switches
digitales 206 en datos código; un convertidos A/D 202b para
transformar salidas de nivel variable desde cuatro switches
analógicos 207 a una señal de datos; y un MIE de dispositivo base
205 para controlar las comunicaciones de datos entre el dispositivo
base y el servidor y mantener las comunicaciones de datos entre un
dispositivo de expansión y el servidor. Además, el sistema
informático 200 comprende: un circuito generador de señales de
reinicialización, que comprende resistores, capacitores y diodos,
para generar una señal de reinicialización cuando se conecta la
energía; un oscilador cristalino para generar varias señales de
reloj para el sistema; y un circuito transformador de voltaje para
generar un voltaje eficaz de señal de 3,3V para el MIE del
dispositivo base 205 y para los dispositivos de expansión desde una
fuente de energía Vcc (+5V). La fuente de energía Vcc (+5V) que va
al dispositivo base la suministra el dispositivo de juego vía un
cable de conexión externo. El cable de conexión externo comprende la
línea de señales SDCKA, la línea de señales SDCKB, la línea de
suministro de energía Vcc, y una línea a tierra GND. La fuente de
energía Vcc (+5V) que suministra el dispositivo de juego a través
del cable de conexión externo alimenta los dispositivos de expansión
(se omiten del dibujo) junto con el suministro de potencia de señal
(+3,3V) mediante el conector de
expansión.
expansión.
La sección de la CPU 201a, la ROM 201b y la RAM
201c corresponden a la CPU en la Figura 33, el transformador A/D 20b
y la sección I/O 202a corresponden a I/O en la Figura 33, y el MIE
del dispositivo base 205 corresponde a la sección de procesamiento
de comunicaciones, la sección de control de socket y las puertas en
la Figura 33. La fuente de energía VCC y la línea a tierra GND se
suministran al dispositivo base 2 desde el servidor mediante un bus
M. Además, las comunicaciones de datos se controlan mediante la
líneas de señales SDCKA y SDCKB. El dispositivo base y el
dispositivo de expansión se conectan mediante: líneas de señales
SDCKA-US-1,
SDCKA-DS-1,
SDCKA-EN-1,
SDCKB-US-1,
SDCKB-DS-1,
SDCKB-EN-1,
SDCKA-US-2,
SDCKA-DS-2,
SDCKA-EN-2,
SDCKB-US-2,
SDCKB-DS-2,
SDCKB-EN-2, la fuente de energía Vcc
(+5V, 3,3V) y las líneas a tierra GND (cuatro líneas). En este
ejemplo, se ha descrito un dispositivo base que tiene dos conectores
de expansión, aunque como se ha explicado antes, es posible
proporcionar cuatro conectores de expansión externos. En este caso,
se usan cuatro terminales ID2, ID2-1 a
ID2-4 para confirmar si el dispositivo está o no
conectado. La función del dispositivo base 2 es la misma que la
función del dispositivo-U que se ilustra en la
Figura 33, y por tanto se aquí se omite la descripción.
La Figura 82 muestra otro ejemplo de la
composición de un dispositivo base (controlador) que se refiere a un
segundo modo de ejecución, que usa direcciones absolutas y
corresponde al ejemplo de la Figura 81 que usa direcciones
relativas. En este diagrama, las secciones que corresponden a la
Figura 65 o a la Figura 81 se han identificado de manera similar y
no se describen aquí. En un dispositivo base que emplea un sistema
de direcciones absolutas, el bloque I/O 202a indica un número de bus
M a un dispositivo de expansión que se conecta vía los terminales
ID0 e ID1 de cualquiera de los sockets de expansión, según la salida
de la CPU. El papel de los terminales ID0 e ID1 se ha descrito en el
procedimiento de establecimiento de AP de dispositivo de expansión a
que se refiere a la Figura 59. Desde el I/O 202a, los terminales
ID0-1 e ID1-1 se proporcionan en el
primer socket de expansión y los terminales ID0-2 e
ID1-2 se proporcionan en el segundo socket de
expansión.
La Figura 83 y la Figura 84 muestran ejemplos de
un dispositivo de expansión provisto de un dispositivo LCD (cartucho
LCD) en una sistema de direcciones relativas y un sistema de
direcciones absolutas, respectivamente. En este diagrama, el
circuito de control del dispositivo de expansión (cartucho LCD) 3
puede formarse con el denominado sistema microinformático de un solo
chip 300. El sistema microinformático 300 comprende:
- una CPU 301 para controlar cada sección; una ROM 302 para almacenar programas de control y librerías de datos para la CPU 301; una RAM 303 para almacenar programas de la CPU y datos y ejecutar procesamiento de datos; un MIE de dispositivo de expansión 304 para controlar las comunicaciones de datos entre el dispositivo de expansión y el servidor; una sección I/O 305 que ejecuta una interfaz de entrada y salida; un controlador LCD 306 para controlar la representación visual del LCD 308; y un driver LCD 307 para accionar el elemento LCD.
El MIE de dispositivo de expansión 304 se
constituye de manera similar al MIE del dispositivo base, aunque no
está provisto ni de un controlador de bus LM 203a ni de puertas. El
cartucho LCD almacena datos de texto, datos de imágenes fijas, datos
de imágenes animadas (que incluyen información LD,
CD-V, DVD y vídeo TV) y equivalentes que se
transmiten en formato frame desde el servidor vía el bus M, el bus
LM y el MIE 304 en la RAM 303. Estos datos que se van a mostrar
visualmente los suministra después la CPU 301 al controlador LCD 306
y los transforma en imágenes.
Además, el sistema informático 300 también
comprende un circuito de generación de señales de reinicialización
para generar una señal de reinicialización cuando se conecta la
fuente de energía, un oscilador de cristal para generar una señal de
reloj y, si es necesario, se proporciona un circuito transformador
de voltaje (se omite en los dibujos) para generar un voltaje de 3,3V
para la señal del MIE del dispositivo 205, o equivalente, desde la
fuente de energía Vcc (+5V). La fuente de energía Vcc (5V, 3,3V) la
suministra el dispositivo base, aunque es posible que el dispositivo
de expansión genere los voltajes que necesita para conseguir sus
funciones mediante un circuito interno. En la línea de transmisión
de señales ID2, el voltaje de la fuente de energía Vcc se aplica en
el lado del dispositivo de expansión. Como se ha explicado antes, en
el sistema de direcciones absolutas del dispositivo de expansión,
los terminales ID0 e ID1 para indicar el número de bus LM se
conectan a la sección I/O 305.
Las Figuras 85 y 86 muestran ejemplos de
cartuchos de memoria (dispositivos de expansión) en un sistema de
direcciones relativas y en un sistema de direcciones absolutas,
respectivamente. En estos diagramas, a las secciones que
corresponden a las Figuras 83 y 84 se les asigna los mismos
símbolos, y se omite la descripción de estas secciones.
En este ejemplo, se proporciona una RAM fija 312,
por ejemplo EEPROM o memoria con batería de reserva, etc. Los datos
que se van a retener se almacenan en la RAM 303 mediante el MIE 304.
La CPU 301 copia los datos almacenados en la RAM fija 312 a través
del driver del bus de salida externo 311. Además, según las
instrucciones procedentes del servidor, la CPU 301 también lee los
datos escritos en la RAM 312 a la RAM 303, y después los transfiere
al servidor vía el MIE 304. Por ejemplo, si el jugador detiene el
juego a medias, si almacena los parámetros del juego transmitidos
por el servidor hasta ese punto medio del juego, es posible empezar
el siguiente juego desde ese punto medio. La RAM fija 312 se conecta
con el driver del bus 311 vía un socket y puede cambiarse por
múltiples RAMs fijas 312 en forma de una tarjeta. También es posible
colocar una RAM fija 312 en el sistema informático
300.
300.
Las Figuras 87 y 88 muestran ejemplos de
cartuchos vibratorios (dispositivos de expansión) en un sistema de
direcciones relativas y un sistema de direcciones absolutas,
respectivamente. En estos diagramas, a las secciones que
corresponden a las Figuras 83 y 84 se les asigna los mismos
símbolos, y se omite la descripción de estas secciones.
En estos ejemplos, se proporciona una sección
driver/controlador 321 para accionar una unidad vibratoria 322
mediante un motor, un solenoide o equivalente, que hace que un peso
excéntrico gire, generando así una vibración. Un comando de
activación o de paro de señal para la unidad de vibración se
almacena en la RAM 303 mediante el servidor vía el MIE 304, y se
suministra mediante la CPU 301 a la sección driver/controlador 321
vía la sección I/O 305.
Las Figuras 89 y 90 muestran ejemplos de
cartuchos de armas luminosas (dispositivos de expansión) en un
sistemas de direcciones absolutas y un sistema de direcciones
relativas, respectivamente. En los diagramas, a las secciones que
corresponden a las Figuras 83 y 84 se les asigna los mismos
símbolos, y se omite la descripción de estas secciones.
En estos ejemplos, el punto de iluminación de un
haz de electrones que escanea una parte determinada (punto de mira
del arma luminosa) de una pantalla de vídeo, es leído por un
elemento fotorreceptor 332 vía una lente del cartucho del arma
luminosa. El nivel de la señal del fotorreceptor se amplifica en un
amplificador 331. Cuando se acciona el gatillo (por ejemplo, el
elemento 2d en la Figura 97(b) que se describe después) del
controlador del juego, se genera la señal de gatillo y la salida
desde el amplificador 331 se suministra como una señal de detección
al MIE 304. Esta señal se transfiere al servidor y se usa como una
señal de bloqueo para el contador HV.
Las Figuras 91 y 92 muestran ejemplos de
cartuchos de entrada de sonido (dispositivos de expansión) en un
sistema de direcciones absolutas y un sistema de direcciones
relativas, respectivamente. En los diagramas, a las secciones que
corresponden a las Figuras 83 y 84 se les asigna los mismos
símbolos, y se omite la descripción de estas secciones.
En estos ejemplos, se amplifica la salida de un
micrófono 345 hasta un nivel adecuado mediante un amplificador 344 y
después se muestrea con un transformador A/D 343. Los datos del
sonido muestreados se almacenan alternativamente en unos registros
primero y segundo (FIFO) de una memoria de búfer 342. Estos datos
los lee un controlador de bus 341 y los transmite al búfer del
transmisión y recepción del MIE 304. Los datos de sonido se forman
como frames mediante el MIE 304 y se transmiten al servidor
(dispositivo de juego). Esta función hace posible que se pueda usar
el servidor como entrada de sonido, "karaoke", teléfono
o dispositivo de comunicación.
Las Figuras 93 y 94 muestran ejemplos de
cartuchos de entrada de sonido (dispositivos de expansión) en un
sistema de direcciones absolutas y un sistema de direcciones
relativas, respectivamente. En los diagramas, a las secciones que
corresponden a las Figuras 83 y 84 se les asigna los mismos
símbolos, y se omite la descripción de estas secciones.
En estos ejemplos, los datos de sonido
transmitidos por el servidor se suministran desde el MIE 304 a un
controlador de bus 351 vía un bus local. El controlador de bus 351
almacena datos de sonido en una memoria 352 que tiene como base una
operación FIFO (First In First Out), y enlaza datos de sonido que se
transmiten sucesivamente. Los datos de sonido que emite la memoria
352 se transforman en una señal de sonido mediante un transformador
D/A 352, se amplifica su nivel mediante un amplificador 354, y se
emite como sonido desde un altavoz 355. Este tipo de función permite
al servidor funcionar como un dispositivo de respuesta de sonido
(salida de sonido), dispositivo de efectos de sonido de juego (en
particular efectos de sonido que múltiples altavoces), dispositivo
de "karaoke", receptor de teléfono o equivalente.
Los modos anteriores para ejecutar la presente
invención describen dos formatos estándar, aunque también es posible
combinar elementos del primer modo de ejecución con elementos del
segundo modo de ejecución, siempre que esto no produzca
incompatibilidades tecnológicas. Además, la presente invención no se
limita a aplicaciones de dispositivos de juego sino que también se
puede usar como sistemas informáticos a pequeña escala, redes de
ordenador, aparatos informáticos, dispositivos terminales de
comunicaciones portátiles, y equivalentes.
Las Figuras 95 y 96 ilustran otros modos de
ejecución, en los que el bus M que conecta el servidor con los
dispositivos periféricos tiene una construcción inalámbrica. En
estos diagramas, a las secciones que corresponden a los modos de
ejecución primero y segundo se les asigna los mismos símbolos y no
se describen aquí.
En la Figura 95, dispositivos MODEM de radio 500
están conectados respectivamente al controlador periférico 1h de un
servidor (dispositivo de juego) 1 y al controlador periférico de un
dispositivo de juego (dispositivo base) 2. Los MODEM de radio 500
comprenden: un controlador de datos 501, una sección de transmisión
502, un duplexor 503, una sección de recepción 504, una antena 505 y
similares, y retransmiten datos de transmisión entre el servidor y
un dispositivo periférico. En este caso, el dispositivo periférico 2
puede ser accionado mediante una batería.
El controlador de datos 501 ejecuta una
modulación de múltiples valores de las señales SDCKA y SDCKB que se
van a transmitir, por ejemplo, para transmitir mediante una
modulación QPSK de desplazamiento \eta/4, se procesan los datos
para crear un componente de señal I y un componente de señal Q.
Estos componentes de datos ortogonales se suministran a la sección
de transmisión 502. Además, el controlador de datos 501 crea una
señal SDCKA y una señal SDCKB desde los componentes de datos I y Q
descodificados por la sección de recepción 504, y suministra estas
señales al controlador periférico 501. La sección de transmisión 502
comprende un modulador de múltiples valores, por ejemplo un
modulador ortogonal para una modulación QPSK de desplazamiento
\eta/4, y crea una señal portadora de frecuencia f_{1} para
ejecutar los datos del frame. Esta señal portadora se suministra a
la antena 505 mediante el duplexor 503, y se transmite al espacio
libre como una onda electromagnética. Por otro lado, en el
dispositivo periférico 2, la onda electromagnética que recibe la
antena 505 forma una señal portadora que se suministra a la sección
de recepción 504 mediante el duplexor 503. La sección de recepción
504 comprende, por ejemplo, un detector de ondas sincrónico, que
separa el componente de señal I y el componente de señal Q de la
señal portadora, y desmodula los datos de valores múltiples. Como se
ha explicado antes, el controlador de datos 501 crea una señal SDCKA
y una señal SDCKB a partir de estos datos de valores múltiples y los
suministra al controlador periférico 501.
Por tanto, los cables y equivalentes para el bus
M que conecta el servidor y el dispositivo periférico se quedan
obsoletos. El dispositivo periférico inalámbrico 2 aumenta la
libertad en las especificaciones de uso y en el diseño de la
estructura separada del servidor. El mencionado dispositivo
inalámbrico Modem 500 puede usar también un dispositivo de teléfono
portátil (o dispositivo PHS). En este caso, se pueden conseguir
chips IC relativamente económicos, y no solo es posible el uso
inalámbrico del dispositivo periférico sino que también se puede
usar un juego competitivo o Internet conectando el servidor a un
circuito de comunicaciones.
El sistema de transmisión y el sistema de
recepción pueden duplicarse según las dos señales SDCKA y SDCKB, o
se puede usar una composición que emplee dos canales de transmisión
f_{1} y f_{2}. Además, después de hacer que la señal SDCKA y la
señal SDCKB vuelvan a ser señales frame de datos en serie, los datos
se pueden transmitir al otro lado mediante un único canal de
comunicaciones f_{1}, descodificándose la señal SDCKA y la señal
SDCKB a partir de la señal desmodulada del frame del lado
receptor.
La Figura 96 muestra un ejemplo en el que la
composición inalámbrica que se muestra en la Figura 95 está formada
por comunicaciones ópticas. En este diagrama, a las secciones que
corresponden a la Figura 95 se les asigna los mismos símbolos, y
estas secciones no se describen aquí.
En este ejemplo, un dispositivo Modem infrarrojo
600 está formado por un controlador de datos 601, un modulador, una
sección de emisión de luz 603, una sección de recepción de luz 604,
una sección desmoduladora 605, y equivalentes. El controlador de
datos 601 hace que la señal SDCKA y la señal SDCKB vuelvan a ser
señales frame de datos en serie. El modulador 602 modula la
corriente de excitación mediante una señal de frame. Por ejemplo, se
puede seleccionar la modulación de nivel o la modulación de
frecuencia. La corriente de excitación se suministra a un elemento
emisor de luz de la sección de emisión de luz 603, por ejemplo un
LED de emisión de infrarrojos para encender y apagar el LED. La luz
destellante del LED se transmite externamente vía un sistema óptico.
Esta luz transmitida se introduce en la sección de recepción de luz
604 del otro dispositivo módem infrarrojo 600. La luz introducida se
transforma en una señal eléctrica mediante un elemento
fotorreceptor, por ejemplo un fototransistor, y después se desmodula
en una señal de datos digitales mediante la sección de desmodulación
605. Esta señal de datos se vuelve a transformar en una señal SDCKA
y una señal SDCKB mediante el controlador de datos 601, y se
transmiten al controlador periférico. El controlador periférico del
servidor (dispositivo de juego) 1 o el dispositivo periférico 2 ya
se han descrito. De este modo, el bus M puede estar formado por un
sistema (inalámbrico) de radio en vez de por un sistema con
cables.
A continuación, se describen los conectores y
equivalentes que están en el servidor y el dispositivo periférico
con referencia a la Figura 97. La Figura 97(a) es un
diagrama ilustrativo que muestra un conector de bus M que conecta un
dispositivo de juego 1, que forma el servidor, con un dispositivo
base (controlador de juego) 2, que forma un dispositivo periférico.
En este diagrama, a las secciones que corresponden a la Figura 1 se
les asignan los mismos símbolos.
En el ejemplo de la Figura 97, se proporcionan
cuatro conectores (sockets) 1i en la cara lateral del dispositivo de
juego. Los conectores (clavijas) 110 del controlador de juego 2 se
conectan a cualquiera de los conectores 1i. Los sockets 1i y las
clavijas 110 tienen cada una el siguiente formato que comprende 5
terminales (pins). En la cara superior del controlador de juego 2,
se proporcionan unos botones A, B, C y D (switches A, B, C, D) 2a y
una tecla en cruz 2b (switch direccional arriba/abajo
izquierda/derecha), y en la sección de sujeción del controlador de
juego, se proporciona una palanca de gatillo (interruptor de
gatillo) 2d (ver Figura 97(b)). Estos botones diferentes
accionan los switches de entrada digitales 206. Además, se
proporcionan botones analógicos (teclas analógicas) 2c para accionar
unos switches analógicos 207 con el fin de controlar la entrada
analógica. Las teclas analógicas se utilizan, por ejemplo, para
mover cursores y punteros por la pantalla.
La Figura 97(b) es un diagrama ilustrativo
para describir un conector de bus M 131 que conecta el dispositivo
base (controlador de juego) 2 con el dispositivo de expansión 3 (se
omite de los dibujos). En este diagrama, a las secciones que
corresponden a la Figura 97(a) se les asignan los mismos
símbolos, y no se describen aquí. En el lado posterior del
controlador de juego 2 que está orientado hacia el dispositivo de
juego 1c, se proporcionan dos conectores de bus M (sockets) 131.
La Figura 98(a) muestra otro ejemplo de un
controlador de juego. Este controlador de juego tiene funciones que
incorporan un controlador de juego. En este diagrama, el controlador
de juego 2 comprende unos botones A, B, C y D 2a, una tecla en cruz
2b, teclas analógicas 2c, una palanca 2d (ver Figura 97(b)
descrita), y un botón de puesta en marcha (interruptor de puesta en
marcha) 2e. Además, se proporciona una ranura para insertar un
dispositivo de expansión en el lado posterior del controlador de
juego (ver Figura 97(b)). Se proporciona una ventana 2f en
el centro de la cara superior del controlador de juego 2, hacia el
lado posterior del mismo.
La Figura 98(b) muestra un ejemplo de un
cartucho LCD que forma un dispositivo de expansión 3. El cartucho
LCD está formado de manera que cuando el cartucho LCD 3 se inserta
en la ranura mencionada y se conecta al controlador de juego 2 a
través del conector de expansión 131, el panel LCD 308 se coloca
directamente debajo de la ventana 2f. En consecuencia, cuando se
conecta un cartucho LCD 3 al controlador de juego 2, es posible ver
imágenes de vídeo y equivalentes que se transmiten desde el
dispositivo de juego 1 del controlador de juego 2. Además, este
cartucho LCD 3 está provisto también de una tecla en cruz 2b, de
unos botones A, B, C y D 2a y similares, de manera que el cartucho
LCD 2 como unidad se puede usar como dispositivo de juego
portátil.
Las Figuras 99 a 101 son diagramas que muestran
la composición del conector de bus M que se usa en un bus M.
La Figura 99 es una ilustración aproximada del
lado de la toma de corriente de un conector de bus 1i en el caso de
un servidor 1, visto de frente (se inserta un conector de
dirección). El socket comprende una sección con un perímetro en
forma más o menos de D 101, una base de pin hexagonal con forma más
o menos de D 102 y una ranura con forma más o menos de D 103 formada
entre la sección del perímetro 101 y la base de pin 102. El socket
es un molde extruído de plástico aislante y los pins de contacto 1,
3, 5 conforman la cara principal (cara superior) de la base de pins
102, mientras que los pins de contacto 2, 4 se colocan en la cara
opuesta (cara inferior), que es paralela a la cara principal. El pin
de contacto 2 está situado enfrente de la zona aislante entre los
pins de contacto 1, 3, de manera que no es probable que se produzca
acoplamiento capacitivo con los pins de contacto 3 ó 5. Cada pin de
contacto es un componente metálico flexible y se conecta
respectivamente a cinco terminales de conexión de placas de
circuitos que están en el lado posterior de la base de pin 102, que
se omite en los dibujos. Los pins de contacto 1 y 5 se conectan
respectivamente a líneas de datos SDCKA y SDCKB. El pin de contacto
3 que está entre el pin de contacto 1 y el 5 se conecta a un alambre
blindado que evita el acoplamiento entre los pins de contacto 1 y 5
que están conectados, respectivamente, a las líneas de datos. Los
pins de contacto 2 y 4 son líneas de suministro de energía y se
conectan, respectivamente, a una fuente de energía Vcc y a una línea
a tierra GND. Como se ha explicado antes, las superficies de metal
de los pins de contacto 2 y 4 se colocan de manera que no queden
directamente opuestas a las superficies de metal de los pins de
contacto 1, 3 y 5 y por tanto la fuente de energía Vcc y la línea a
tierra GND tienen poco efecto sobre las líneas de datos.
La Figura 100 muestra la composición del lado de
conexión del conector de bus 1i que corresponde a esta socket. La
Figura 100(a) es una vista lateral del conector; la Figura
100 (b) es una vista superior; y la Figura 100(c) es una
vista frontal. El conector se moldea a partir de un plástico con
buenas propiedades aislantes, y 111 es una carcasa para alojar las
secciones de conexión que hay entre cables y terminales pin, 112 es
una sección de inserción que tiene una sección transversal en forma
más o menos de D que se corresponde con la forma de la ranura 103
del socket, 113 es una pared interna con forma más o menos de D de
la sección de inserción, 114 es una ranura que tiene una forma que
se corresponde con la forma externa de la base de pin 102, y los
números 1 a 5 son pins de contacto situados en la pared interna 113.
Cada pin de contacto es un componente metálico flexible y se coloca,
en correspondencia con los pins determinados, en el socket. Los dos
conjuntos de pins de contacto 1 a 5 se conectan entre si insertando
la sección de inserción 112 del conector en la ranura 103 del
socket.
La Figura 101 es una vista lateral que ilustra un
conector (enchufe) que está en el lado del dispositivo periférico
(dispositivo base) de un cable de bus M. El conector 121, que se
moldea a partir de un plástico con buenas propiedades aislantes,
comprende los terminales 1 a 5 que conectan los diferentes alambres
del cable. Los terminales se proporcionan en fila en un lado de un
socket que tiene forma aproximadamente rectangular o de placa. Este
socket 121 se conecta a los alambres de una placa de circuitos que
está en el dispositivo periférico mediante un conector (socket) o
directamente soldando.
La Figura 102 muestra un ejemplo de la
composición de un socket 131 de un conector de bus LM que conecta un
dispositivo base con un dispositivo de expansión. La Figura
102(a) es una vista superior y la Figura 102(b) es una
vista frontal. Además, la Figura 103 muestra un ejemplo de la
composición de una clavija 141 de un conector de bus LM. La Figura
103(a) es una vista superior, y la figura 103(b) es
una vista frontal.
En términos generales, el socket comprende una
sección de inserción 132, una sección de recepción 133 y una carcasa
134 que acomoda estas dos secciones. De manera similar, la clavija
141 también comprende una sección de inserción 142, una sección de
recepción 143 y una carcasa 144 que acomoda estas dos secciones. La
sección de inserción 132 del socket 131 se inserta en la sección de
recepción 143 de la clavija 141, y la sección de inserción 142 de la
clavija 141 se inserta en la sección de recepción 133 del socket
131.
La sección de inserción 132 del socket 131 es un
componente con forma de barra que se proyecta desde el lado
izquierdo de la cara frontal de la carcasa 134 y una ranura de
inserción 132a que tiene forma rectangular delgada que se prolonga
en una dirección lateral está formada en el extremo frontal de este
componente en forma de barra. La ranura de inserción es una ranura
provista para insertar la sección de inserción 132 en una ranura
143a que está en la clavija 141 de manera que se coloca, por encima
de una base de pin con forma de placa 143c, en la ranura 143a. La
ranura de inserción 132a se forma hacia la parte inferior del
extremo del componente en forma de barra desde del centro del mismo
en dirección vertical, para evitar una inserción incorrecta, y
también para colocar los múltiples pins de contacto aproximadamente
en el centro del componente en forma de barra 132. Los pins de
contacto metálicos 1 a 7 se proporcionan en fila en la cara superior
de la pared interna 132b de la ranura de inserción 132a. Estos pins
de contacto se colocan aproximadamente en posición central en la
dirección vertical de la unidad en forma de barra 132. Aunque no se
muestra en el diagrama, cada uno de los pins de contacto 1 a 7 se
prolonga hasta múltiples terminales de conexión que están provistos
respectivamente en correspondencia con los pins de contacto 1 a 7,
en el lado posterior de la carcasa 134, y por tanto conectados a
unos alambres o cable de una placa de circuitos. Los pins de
contacto 1 a 7 se conectan respectivamente a una línea de suministro
de energía Vcc (3,3V), una línea de suministro de energía Vcc (5V),
una línea de control SDCKA EN, una línea de datos SDKB DS, una línea
de datos SDCKA US, una línea de identificación ID1, una línea a
tierra GND.
La sección de recepción 133 del socket 131 es un
componente con forma de barra que se proyecta desde el lado derecho
de la cara frontal de la carcasa 134 y una ranura en forma de O 133a
que rodea la base de pin 133c está formada en el extremo frontal de
este componente en forma de barra 133. La forma de la pared interna
133b de la ranura 133a corresponde a la forma externa de la sección
de inserción 142 de la clavija 141. La base de pin 133c que está en
el centro de la ranura es un componente en forma de placa que tiene
una forma que se corresponde con la ranura rectangular delgada 142a
que se prolonga en dirección lateral. La cara superior de la base de
pin 133c está formada de manera que queda en posición más o menos
central en la dirección vertical del extremo del componente en forma
de barra 133, y unos pins de contacto metálicos flexibles 8 a 14 se
colocan en esta cara superior. Aunque no se muestra en el diagrama,
los pins de contacto correspondientes 8 a 14 se conectan
respectivamente a una línea a tierra GND, a una línea de
identificación ID2, a una línea de datos SDKB DS, una línea de
datos SDCKB US, a una línea de control SDCKB EN y a una línea de
identificación ID0. El pin de contacto 14 no se usa ahora y
constituye un terminal de reserva.
La clavija 141 que se inserta en el socket 131 se
forma de manera parecida al socket 131. Sin embargo, como se muestra
en la Figura 103(a), los pins de contacto 1 a 7 se
proporcionan dentro de la sección de recepción 143, y los pins de
contacto 8 a 14 se proporcionan dentro de la sección de inserción
142.
Ya que el conector de expansión que tiene la
composición mencionada comprende las secciones de inserción 132, 142
y las secciones de recepción 133, 143, que están formadas cada una
de manera separada y que tienen formas externas diferentes entre si,
el usuario puede identificar de un vistazo la dirección en la que
se van a conectar el socket 131 y la clavija 141. Además, ya que la
conexión sólo es posible en una dirección (configuración), no se
produce una conexión incorrecta. Además, es una ventaja que las
manos del usuario no toquen directamente los pins de conexión.
Como se ha descrito antes, según la presente
invención, se puede llevar a cabo la comunicación de datos entre un
dispositivo de juego (o servidor) y dispositivos periféricos
mediante dos líneas de datos y una composición de circuito I/O
relativamente simple.
Además, cuando se realizan comunicaciones de
datos, ya que las direcciones se establecen automáticamente para
múltiples dispositivos conectados a una red, los dispositivos
periféricos se pueden conectar libremente al dispositivo de juego (o
servidor), y el dispositivo de juego puede identificar los detalles
de un dispositivo periférico conectado que está, preferentemente, en
un sistema informático orientado al consumidor, por ejemplo un
dispositivo de juego.
Claims (18)
1. Método de transmisión de datos para transmitir
en serie una señal de reloj y datos formados por múltiples bits de
datos vía un par de canales de transmisión de señales, donde se
generan una señal de reloj para incluir una primera secuencia de
pulsos de reloj y una segunda secuencia de pulsos de reloj con el
mismo periodo cíclico que el de la primera secuencia de pulsos de
reloj aunque con un desfase entre si,
caracterizado
porque:
se asignan dichos múltiples bits de datos de los
datos alternativamente en orden a dichas secuencias primera y
segunda de pulsos de reloj de manera que se asigna en orden cada
segundo bit de datos de dichos múltiples bits de datos entre pulsos
de reloj de la primera secuencia de pulsos de reloj para
proporcionar una primera señal de datos, con lo cual se asigna en
orden cualquier otro segundo bit de datos que no sea cada segundo
bit mencionado de dichos múltiples bits de datos entre pulsos de
reloj de la segunda secuencia de pulsos de reloj para proporcionar
una segunda señal de datos, y de manera que un bit de datos asignado
en una de dichas secuencias primera y segunda de pulsos de reloj se
produce en un momento determinado que corresponde a una transición
de un pulso de reloj en la otra de dichas secuencias primera y
segunda de pulsos de reloj; y
se transmiten en serie una de dichas señales de
datos primera y segunda vía uno de los mencionados pares de canales
de transmisión de datos y la otra señal de datos vía el otro canal
de transmisión de señales,
donde, en un receptor de datos, dichos múltiples
bits de datos de los datos se recuperan de las señales de datos
primera y segunda recibidas vía dicho par de canales de transmisión
de señales.
2. Método de transmisión de datos según la
reivindicación 1, caracterizado porque cada segundo bit de
datos mencionado asignado en dicha primera secuencia de pulsos de
reloj es un bit impar de los datos y los otros segundos bits de
datos mencionados asignados a dicha segunda secuencia de pulsos de
reloj son bits pares de los datos.
3. Método de transmisión de datos según la
reivindicación 1 ó 2, caracterizado porque:
dichas señales de datos primera y segunda están
dispuestas para formar un formato de transmisión de datos que
incluye, como frame de datos, un patrón de puesta en marcha, un
patrón de datos y un patrón de fin, en una transmisión que
sincroniza el patrón de puesta en marcha anterior con el patrón de
datos y con el patrón de fin que va después del patrón de datos,
dicho patrón de puesta en marcha incluye un
formato de datos en el que, mientras se suministra un nivel de
potencial constante como primera señal de datos, se suministra una
primera secuencia de pulsos sucesivos como segunda señal de
datos,
dicho patrón de fin incluye un formato de datos
en el que, mientras se suministra un nivel de potencial constante
como segunda señal de datos, se suministra una segunda secuencia de
pulsos sucesivos como primera señal de datos, y
dicho patrón de datos incluye, como primera señal
de datos, dicha primera secuencia de pulsos de reloj con cada
segundo bit de datos mencionado de los datos asignados y, como
segunda señal de datos, dicha segunda secuencia de pulsos de reloj
con los otros segundos bits de datos mencionados de los datos
asignados.
4. Método de transmisión de datos según la
reivindicación 3, caracterizado porque dicho nivel de
potencial constante es o bien un potencial procedente de una fuente
de alimentación o bien el potencial de tierra y/o donde dichas
secuencias primera y segunda de pulsos sucesivos están formadas por
un número diferentes de pulsos la una de la otra.
5. Método de transmisión de datos según
cualquiera de las reivindicaciones 1 a 4, caracterizado
porque, en el receptor de datos, dichos bits de datos de los datos
que están incluidos en las señales de datos recibidos primera y
segunda se recuperan bloqueando sucesivamente el nivel de potencial
de una de dichas señales de datos durante la sincronización del
componente de la señal de reloj de las otras señales de datos
mencionadas.
6. Método de transmisión de datos según
cualquiera de las reivindicaciones 1 a 5, donde la detección de
dicho componente de señal de reloj se realiza bien con el borde
descendente o bien con el borde ascendente de cada pulso de una
secuencia de impulsos.
7. Dispositivo de juego que comprende un puerto
periférico al que se puede conectar un dispositivo periférico,
donde las señales de datos que incluyen datos y una señal de reloj
se transmiten entre el dispositivo de juego y el dispositivo
periférico vía una ruta de transmisión de señales, comprendiendo
dicho dispositivo de juego medios adaptados para llevar a cabo las
fases del método según cualquiera de las reivindicaciones 1 a 6.
8. Dispositivo de juego según la reivindicación 7
que comprende múltiples puertos periféricos pudiéndose conectar a
cada uno un dispositivo de juego,
caracterizado
porque:
cada uno de los puertos de los múltiples puertos
periféricos está definido por una dirección de puerto única, y,
cuando se conecta un dispositivo periférico a uno de dichos puertos
periféricos, tal dispositivo de juego suministra datos al
dispositivo periférico presentando una dirección de puerto única al
puerto periférico al que está conectado el dispositivo
periférico.
9. Dispositivo de juego según la reivindicación
8, caracterizado porque el dispositivo de juego transmite
datos al dispositivo periférico según dicho formato de transmisión
de datos con un parámetro, en tal patrón de datos, incluyendo una
dirección que representa el dispositivo periférico conectado al
dispositivo de juego y la dirección que representa el puerto
periférico al que se conecta el dispositivo periférico.
10. Dispositivo de juego según cualquiera de las
reivindicaciones 7 a 9, caracterizado porque dicha ruta de
transmisión de señales está formada por un par de líneas de señales
de datos a través de las cuales se transmiten por separado las
citadas señales de datos primera y segunda.
11. Dispositivo periférico que se puede conectar
a un puerto periférico del dispositivo de juego vía una ruta de
transmisión de señales, donde las señales de datos que incluyen
datos y una señal de reloj se transmiten entre el dispositivo
periférico y el dispositivo de juego, comprendiendo dicho
dispositivo periférico medios adaptados para llevar a cabo las fases
del método según cualquiera de las reivindicaciones 1 a 6.
12. Dispositivo periférico según la
reivindicación 11, caracterizado porque está adaptado para
reproducir los datos transmitidos de las señales de datos primera y
segunda transmitidas desde el dispositivo de juego y para transmitir
a dicho dispositivo de juego datos en respuesta a una petición de
transmisión de datos contenida en los datos reproducidos.
13. Dispositivo periférico según la
reivindicación 11, caracterizado porque está adaptado para
conectarse a cualquier puerto periférico de los múltiples puertos
periféricos del dispositivo de juego.
14. Dispositivo periférico según la
reivindicación 13, caracterizado porque el dispositivo
periférico incluye al menos una función de dispositivo, generándose
dicha dirección de origen que representa el dispositivo periférico,
mientras está conectado al puerto periférico, en base a la
información que representa el tipo de dicha función de dispositivo,
a la información que representa un estado de conexión de dicha
función de dispositivo con dicha ruta de transmisión de señales y en
base a los datos que representan la dirección de puerto suministrada
por dicho dispositivo de juego.
15. Dispositivo periférico según la
reivindicación 13 ó 14, caracterizado porque
el dispositivo periférico se almacena junto con
información de identificación indicativa de que el dispositivo
periférico es un tipo de dispositivo periférico principal que se va
a conectar directamente a dicho dispositivo de juego;
el dispositivo periférico comprende además un
conector de expansión a través de cual se conecta un periférico de
expansión con dicha ruta de transmisión de señales;
dicha dirección de origen que representa el
dispositivo periférico principal, mientras está conectada al puerto
periférico, se genera en base a la información que representa el
tipo de dispositivo periférico principal, a los datos que
representan la dirección de puerto que suministra dicho dispositivo
de juego y a la información de conexión indicativa del estado de
conexión o no conexión del dispositivo de expansión a dicho conector
de expansión.
16. Dispositivo periférico según la
reivindicación 15, caracterizado porque es posible una
transmisión de datos entre dicho dispositivo de juego y un
dispositivo periférico de expansión vía dicha ruta de transmisión de
señales cuando se conecta un dispositivo periférico de expansión con
dicho conector de expansión y se incluye la dirección de origen
junto con información de conexión indicativa de que el dispositivo
periférico de expansión está conectado a dicho conector de
expansión.
17. Dispositivo periférico según la
reivindicación 15 ó 16, caracterizado porque comprende
además un controlador periférico para controlar las comunicaciones
de datos con dicho dispositivo de juego a través de la citada vía de
transmisión de datos, generando dicho controlador la dirección de
origen en base a tal información de identificación de dispositivo
periférico, representando dicha información de puerto periférico que
notifica el dispositivo de juego el puerto periférico al que está
conectada dicha vía de transmisión de datos, e información de
conexión que indica si un dispositivo periférico de expansión está o
no conectado a dicho conector de expansión,
donde es posible una transmisión de datos entre
dicho dispositivo de juego y un dispositivo periférico de expansión
a través de dichas vías de transmisión de datos cuando se conecta un
dispositivo periférico de expansión con dicho conector de expansión
y las señales de datos transmitidas desde el dispositivo de juego
incluyen información que señalan al citado dispositivo periférico de
expansión como dirección de destino.
\newpage
18. Dispositivo periférico según las
reivindicaciones 15 a 17, caracterizado porque el estado de
conexión de dicho conector de expansión se determina identificando
el nivel de voltaje en un terminal determinado de dicho conector de
expansión, el cual está conectado a un circuito de alternancia de
nivel compuesto de manera tal que el citado dispositivo periférico
de expansión suministra un voltaje de polarización.
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US4646197P | 1997-05-14 | 1997-05-14 | |
| US46461P | 1997-05-14 | ||
| JP12765497 | 1997-05-16 | ||
| JP12765497 | 1997-05-16 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2247692T3 true ES2247692T3 (es) | 2006-03-01 |
Family
ID=26463550
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES98919599T Expired - Lifetime ES2247692T3 (es) | 1997-05-14 | 1998-05-14 | Metodo de transmision de datos y sistema de juego construido segun dicho metodo. |
Country Status (8)
| Country | Link |
|---|---|
| EP (1) | EP0932286B1 (es) |
| JP (2) | JP2870538B2 (es) |
| KR (1) | KR100384677B1 (es) |
| AU (1) | AU7237798A (es) |
| DE (1) | DE69831054T2 (es) |
| ES (1) | ES2247692T3 (es) |
| RU (1) | RU99102537A (es) |
| WO (1) | WO1998052331A1 (es) |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2000030314A1 (fr) * | 1998-11-16 | 2000-05-25 | Sega Enterprises, Ltd. | Procede de transmission de donnees et systeme de jeu fonctionnant selon ledit procede |
| JP2001273243A (ja) * | 2000-03-27 | 2001-10-05 | Canon Inc | データ処理装置および周辺機器およびデータ処理方法および記憶媒体 |
| JP5283133B2 (ja) * | 2000-08-23 | 2013-09-04 | 任天堂株式会社 | 情報処理システム、ゲームシステム、情報処理プログラム、および情報処理方法 |
| JP2002175263A (ja) * | 2000-12-05 | 2002-06-21 | Canon Inc | 電子機器、制御方法及び記録媒体 |
| JP2005027729A (ja) * | 2003-07-08 | 2005-02-03 | Olympia:Kk | 遊技機用サブ基板及びこれを備える遊技機並びに検査装置 |
| JP2005158056A (ja) * | 2003-11-04 | 2005-06-16 | Matsushita Electric Ind Co Ltd | コンテンツ移動システムおよびこれに用いられるコンテンツ送出機器 |
| KR100866603B1 (ko) * | 2007-01-03 | 2008-11-03 | 삼성전자주식회사 | 디시리얼라이징과 시리얼라이징을 수행하는 데이터 처리 방법 및 데이터 처리 장치 |
| JP4932546B2 (ja) * | 2007-03-07 | 2012-05-16 | 日本電気株式会社 | 通信ノード及び該通信ノードを有するネットワーク・システムとデータ伝送方法 |
| KR101319549B1 (ko) | 2007-07-16 | 2013-10-21 | 삼성전자주식회사 | 오디오 데이터 송수신방법 및 이 방법을 이용한 전자장치 |
| US8384565B2 (en) * | 2008-07-11 | 2013-02-26 | Nintendo Co., Ltd. | Expanding operating device and operating system |
| JP5137932B2 (ja) * | 2009-11-17 | 2013-02-06 | 株式会社ソニー・コンピュータエンタテインメント | 通信システム、端末装置、通信処理方法、通信処理プログラム、通信処理プログラムが記憶された記憶媒体、拡張機器 |
| JP5404522B2 (ja) * | 2010-04-30 | 2014-02-05 | 任天堂株式会社 | 入力装置 |
| KR102384855B1 (ko) | 2017-09-29 | 2022-04-08 | 주식회사 한화 | 신호 처리 방법, 장치 및 프로그램 |
| JP2020065195A (ja) * | 2018-10-18 | 2020-04-23 | 株式会社東海理化電機製作所 | 通信装置 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3909541A (en) * | 1974-03-11 | 1975-09-30 | Bell Telephone Labor Inc | Low-speed framing arrangement for a high-speed digital bitstream |
| JPS5844425Y2 (ja) * | 1979-12-05 | 1983-10-07 | オムロン株式会社 | 入出力装置 |
| JPS62232233A (ja) * | 1986-04-01 | 1987-10-12 | Ricoh Co Ltd | ロ−カルエリア・ネツトワ−ク制御方式 |
| CA1289211C (en) * | 1986-11-18 | 1991-09-17 | Timothy A. Lemke | Terminator for multiple electrical conductors |
| US4995056A (en) * | 1989-01-13 | 1991-02-19 | International Business Machines Corporation | System and method for data communications |
| JP2986105B2 (ja) * | 1989-01-25 | 1999-12-06 | オリンパス光学工業株式会社 | 電子カメラ |
| JP2786010B2 (ja) * | 1990-10-31 | 1998-08-13 | 日本電気ホームエレクトロニクス株式会社 | 情報コンセントのジャック及び該ジャックを有するホームバスシステム |
| US5437464A (en) * | 1991-08-30 | 1995-08-01 | Kabushiki Kaisha Sega Enterprises | Data reading and image processing system for CD-ROM |
| FR2704987A1 (fr) * | 1993-05-04 | 1994-11-10 | Bajeux Claude | Connecteur multipoint hermaphrodite. |
| JPH08293346A (ja) * | 1995-04-18 | 1996-11-05 | Whitaker Corp:The | 電気コネクタ及びコネクタ組立体 |
| JPH0946378A (ja) * | 1995-07-27 | 1997-02-14 | Meidensha Corp | シリアル・データ伝送装置の転送データ変調/復調方式 |
| US20020013090A1 (en) * | 1996-10-07 | 2002-01-31 | Donald L. Oros | Electrical connector for and i/o module |
-
1998
- 1998-05-14 AU AU72377/98A patent/AU7237798A/en not_active Abandoned
- 1998-05-14 ES ES98919599T patent/ES2247692T3/es not_active Expired - Lifetime
- 1998-05-14 KR KR10-1999-7000297A patent/KR100384677B1/ko not_active Expired - Fee Related
- 1998-05-14 JP JP10131803A patent/JP2870538B2/ja not_active Expired - Fee Related
- 1998-05-14 RU RU99102537/09A patent/RU99102537A/ru not_active Application Discontinuation
- 1998-05-14 EP EP98919599A patent/EP0932286B1/en not_active Expired - Lifetime
- 1998-05-14 DE DE69831054T patent/DE69831054T2/de not_active Expired - Fee Related
- 1998-05-14 WO PCT/JP1998/002134 patent/WO1998052331A1/ja not_active Ceased
- 1998-10-29 JP JP10308413A patent/JPH11234362A/ja not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| WO1998052331A1 (en) | 1998-11-19 |
| DE69831054T2 (de) | 2006-06-08 |
| EP0932286B1 (en) | 2005-08-03 |
| JP2870538B2 (ja) | 1999-03-17 |
| RU99102537A (ru) | 2001-01-10 |
| KR20000023811A (ko) | 2000-04-25 |
| AU7237798A (en) | 1998-12-08 |
| KR100384677B1 (ko) | 2003-05-22 |
| EP0932286A4 (en) | 2001-02-07 |
| EP0932286A1 (en) | 1999-07-28 |
| JPH11234362A (ja) | 1999-08-27 |
| JPH1132097A (ja) | 1999-02-02 |
| DE69831054D1 (de) | 2005-09-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6213879B1 (en) | Data transmission system and game system with game peripherals using same | |
| ES2247692T3 (es) | Metodo de transmision de datos y sistema de juego construido segun dicho metodo. | |
| ES2323129T3 (es) | Interfaz de alta velocidad de datos. | |
| ES2269309T3 (es) | Procedimiento y dispositivos de transferencia de datos. | |
| ES2357234T3 (es) | Generación e implementación de un protocolo y una interfaz de señales para velocidades de transferencia de datos elevadas. | |
| AU722079B2 (en) | High performance/low cost video game system with multi- functional peripheral processing subsystem | |
| ES2286979T3 (es) | Metodo y aparato para el control de sistemas. | |
| ES2706729T3 (es) | Sistema de robot | |
| ES2561180T3 (es) | Dispositivo de transmisión, método de conmutación de suministro de potencia, dispositivo de recepción | |
| US6582311B1 (en) | Memory card device, video game apparatus, and program providing medium | |
| JP6742281B2 (ja) | 遊技機 | |
| TW201830892A (zh) | 資訊通訊方法、資訊通訊裝置及程式 | |
| CN101609353A (zh) | 一种具有多种使用模式的个人计算机 | |
| ES2341939T3 (es) | Procedimiento y aparato de visualizacion. | |
| TW201830891A (zh) | 資訊通訊方法、資訊通訊裝置及電腦程式 | |
| CN109446137A (zh) | 一种用于与主板连接的转接卡 | |
| MXPA99000582A (es) | Sistema de transmision de datos y sistema de juego para utilizar el mismo | |
| JP5868368B2 (ja) | 遊技機 | |
| JPWO2000030314A1 (ja) | データ伝送方法及びこれを用いたゲームシステム | |
| JP4729791B2 (ja) | リモコン送信システム | |
| JP2021094050A (ja) | 遊技機 | |
| CN217724585U (zh) | 具有投影功能的玩具装置及玩具手表 | |
| JP3131532U (ja) | 無線トランスポート可能な携帯式データ読取り装置およびそれを有する無線トランスポートシステム | |
| JP2002369958A (ja) | 遊技機及びデータ配信装置 | |
| JP5993900B2 (ja) | センシングユニット、センシングシステム及び機能制御システム |