El STEbus (también llamado bus IEEE-1000 [1] ) es un bus de computadora no propietario, independiente del procesador, con 8 líneas de datos y 20 líneas de dirección. Fue popular para los sistemas de control industrial a fines de la década de 1980 y principios de la de 1990 antes de que la omnipresente IBM PC dominara este mercado. STE significa ST andard E urocard. [2]
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/d/d6/STEbus_Z80_and_FDC%2C_with_64K_DRAM%2C_and_SCC_on_100x160mm_Eurocard.png/220px-STEbus_Z80_and_FDC%2C_with_64K_DRAM%2C_and_SCC_on_100x160mm_Eurocard.png)
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/f/fc/STEbus_68B09E_on_100x160mm_Eurocard.png/220px-STEbus_68B09E_on_100x160mm_Eurocard.png)
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/4/4e/STEbus_68000_CPU_on_100x160mm_Eurocard.png/220px-STEbus_68000_CPU_on_100x160mm_Eurocard.png)
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/4/4a/STEbus_Z280_CPU_on_100x160mm_Eurocard.png/220px-STEbus_Z280_CPU_on_100x160mm_Eurocard.png)
Sigue siendo un estándar bien diseñado. Aunque ya no es competitivo en su mercado original, es una opción válida para los aficionados que deseen fabricar sistemas informáticos de fabricación casera. El Z80 y probablemente el CMOS 65C02 serían buenos procesadores para usar. El bus estandarizado permitiría a los aficionados interactuar con los diseños de los demás.
Orígenes
A principios de la década de 1980 había muchos sistemas de bus patentados, cada uno con sus propias fortalezas y debilidades. La mayoría había crecido de manera ad-hoc, generalmente alrededor de un microprocesador en particular. El bus S-100 se basa en señales Intel 8080 , el bus STD alrededor de las señales Z80 , el bus SS-50 alrededor del Motorola 6800 y el bus G64 alrededor de las señales 68000 .
Esto hizo que fuera más difícil interactuar con otros procesadores. La actualización a un procesador más potente cambiaría sutilmente los tiempos, y las restricciones de tiempo no siempre se especificaron estrictamente. Tampoco lo fueron los parámetros eléctricos y las dimensiones físicas. Por lo general, usaban conectores de borde para el autobús, que eran vulnerables a la suciedad y las vibraciones.
El VMEbus había proporcionado una solución de alta calidad para procesadores de 16 bits de alto rendimiento , utilizando conectores DIN 41612 fiables y sistemas de bastidor y placas Eurocard bien especificadas . Sin embargo, estos eran demasiado costosos cuando una aplicación solo necesitaba un modesto procesador de 8 bits .
A mediados de la década de 1980, el estándar STEbus abordó estos problemas al especificar lo que es más bien un VMEbus simplificado para procesadores de 8 bits. Las señales de bus son suficientemente genéricas para que sea fácil de conectar con procesadores de 8 bits. El tamaño de la placa era normalmente una Eurocard de una sola altura (100 mm x 160 mm), pero también se permitían placas de doble altura (233 x 160 mm). [3] Este último colocó el conector de bus de modo que pudiera fusionarse perfectamente en los sistemas de bus VME.
El Grupo de Trabajo IEEE P1000 consideró inicialmente simplemente repintar el bus STD , reemplazando su conector de borde de tarjeta con el conector DIN41612. Pero decidieron crear un bus de 8 bits de alto rendimiento completamente nuevo. Decidieron hacer un autobús más parecido al VMEbus y Futurebus . El STEbus fue diseñado para ser independiente del fabricante, del procesador y con capacidad multimaestro. [4]
Madurez
El STEbus tuvo mucho éxito en su día. Se le dio el estándar oficial IEEE 1000-1987.
Muchos procesadores estaban disponibles en tarjetas STEbus, en un rango de precio y rendimiento. Estas placas incluían Intel 8031 , 8085 , 8088 , 80188 ; el National Semiconductor 32008 y 32016 ; Motorola 6809 , 68000 y 68008 ; Zilog Z80 y Z280 ; el Hitachi HD64180 ; y el Transputer Inmos . [4]
El STEbus está diseñado para microprocesadores de 8 bits . Los procesadores que normalmente usan un bus de datos más ancho ( 16 bits , etc.) pueden usar STEbus si el procesador puede manejar datos en trozos de ancho de bytes, dando al esclavo el tiempo que necesita para responder. [1]
El STEbus admitía procesadores desde el popular Z80, el 6809, hasta el poderoso 68020. El único micro popular que estuvo notablemente ausente fue el 6502, porque naturalmente no admitía estados de espera al escribir. El CMOS 65C02 no tenía esta deficiencia, pero era más raro y caro que el NMOS 6502 y el Z80. El 6809 utilizó estiramiento en ciclo.
Las tarjetas de periféricos incluían tarjetas de creación de prototipos, controladores de disco, tarjetas de video, E / S en serie, E / S analógicas y digitales. El STEbus logró su objetivo de proporcionar un sistema de montaje en bastidor lo suficientemente robusto para uso industrial, con placas fácilmente intercambiables e independencia del procesador. [5]
Los investigadores describen los sistemas STEbus como resistentes, adaptables y rentables. [6]
Disminución
El mercado STEbus comenzó a declinar a medida que IBM PC avanzaba hacia los sistemas de control industrial. Los clientes optaron por productos basados en PC ya que la base de software era más grande y más barata. Más programadores estaban familiarizados con la PC y no tenían que aprender nuevos sistemas.
Los costos de la memoria disminuyeron, por lo que había menos razones para tener una expansión de memoria basada en bus cuando se podía tener suficiente en la placa del procesador.
Entonces, a pesar de las desventajas, los fabricantes crearon sistemas de PC industriales y finalmente abandonaron otros sistemas de bus.
Continuando, los sistemas de PC eliminaron la necesidad de jaulas de tarjetas y placas posteriores al pasar al formato PC104 donde las placas se apilan unas sobre otras. Aunque no está tan bien diseñado como el STEbus, el PC104 es lo suficientemente bueno para muchas aplicaciones.
Los principales fabricantes de su período pico ahora apoyan a STEbus principalmente por la buena voluntad con los clientes antiguos que les compraron una gran cantidad de productos.
A partir de 2013, algunos fabricantes todavía admiten STEbus, G64, Multibus II y otros sistemas de bus heredados. [7]
El IEEE ha retirado el estándar, no debido a fallas, sino porque ya no está lo suficientemente activo como para actualizarse.
Formato físico
Eurocard 3U : el tamaño más común fue el Eurocard de 100 x 160 mm.
Eurocard 6U - Rara, a veces utilizada en placas híbridas VMEbus
Conector
DIN 41612 , filas ayc , paso de 0,1 ".
Las tarjetas híbridas VME / STE tienen STEbus y VMEbus compartiendo el conector VME P2, señales VME en la fila b. Por esta razón, las placas STEbus no pueden usar la fila b para ningún propósito.
Pinout
num. | nombre | a B C | nombre |
---|---|---|---|
1 | GND | o + o | GND |
2 | + 5V | o + o | + 5V |
3 | D0 | o + o | D1 |
4 | D2 | o + o | D3 |
5 | D4 | o + o | D5 |
6 | D6 | o + o | D7 |
7 | A0 | o + o | GND |
8 | A2 | o + o | A1 |
9 | A4 | o + o | A3 |
10 | A6 | o + o | A5 |
11 | A8 | o + o | A7 |
12 | A10 | o + o | A9 |
13 | A12 | o + o | A11 |
14 | A14 | o + o | A13 |
15 | A16 | o + o | A15 |
dieciséis | A18 | o + o | A17 |
17 | CM0 | o + o | A19 |
18 | CM2 | o + o | CM1 |
19 | ADRSTB * | o + o | GND |
20 | DATACK * | o + o | DATSTB * |
21 | TRFERR * | o + o | GND |
22 | ATNRQ0 * | o + o | SYSRST * |
23 | ATNRQ2 * | o + o | ATNRQ1 * |
24 | ATNRQ4 * | o + o | ATNRQ3 * |
25 | ATNRQ6 * | o + o | ATNRQ5 * |
26 | GND | o + o | ATNRQ7 * |
27 | BUSRQ0 * | o + o | BUSRQ1 * |
28 | BUSAK0 * | o + o | BUSAK1 * |
29 | SYSCLK | o + o | VSTBY |
30 | -12V | o + o | + 12V |
31 | + 5V | o + o | + 5V |
32 | GND | o + o | GND |
Señales bajas activas indicadas con un asterisco.
GND: voltaje de referencia de tierra
+ 5V: Potencia la mayoría de la lógica.
+ 12V y -12V: principalmente útil para potencia de búfer RS232. El + 12V se ha utilizado para programar generadores de tensión. Ambos se pueden usar en circuitos analógicos, pero tenga en cuenta que estos son principalmente rieles de alimentación para circuitos digitales y, como tales, a menudo tienen ruido digital. Se recomienda algún desacoplamiento o regulación local para circuitos analógicos.
VSTBY: Voltaje en espera. Opcional. Esta línea está reservada para transportar un voltaje de respaldo de batería a las placas que lo alimentan o consumen. Una batería NiCad de 3,6 V es una fuente común. La especificación STEbus no es rígida acerca de dónde debe obtenerse.
En la práctica, esto significa que la mayoría de las placas que requieren energía de respaldo tienden a jugar de manera segura y tienen una batería a bordo, a menudo con un enlace que le permite suministrar o aceptar energía de VSTBY. Por lo tanto, puede terminar con más baterías en su sistema de las que necesita, y luego debe tener cuidado de que no más de una batería esté impulsando VSTBY.
D0 ... 7: Bus de datos. Tiene solo 8 bits de ancho, pero la mayoría de los periféricos asignados en memoria o de E / S están orientados a bytes.
A0 ... 19: Bus de direcciones. Esto permite direccionar hasta 1 MByte de memoria. La tecnología actual es tal que los procesadores que requieren grandes cantidades de memoria tienen esto en la placa del procesador, por lo que esto no es una gran limitación. El espacio de E / S está limitado a 4K, para simplificar la decodificación de direcciones de E / S a un nivel práctico. Un solo 74LS688 en cada placa esclava puede decodificar A11 ... A4 para ubicar placas esclavas de E / S en cualquier dirección de E / S con alineación de 16 bytes. [1] [8] Normalmente se utilizan 8 puentes pequeños o una sola unidad de 8 interruptores DIP o dos interruptores giratorios hexadecimales codificados en binario para dar a cada placa esclava de E / S una dirección única. [1]
CM0 ... 2: Modificadores de comandos. Estos indican la naturaleza del ciclo de transferencia de datos.
CM 2 1 0 | Función | |
---|---|---|
1 1 1 | leer | memoria |
1 1 0 | escribir | |
1 0 1 | leer | E / S |
1 0 0 | escribir | |
0 1 1 | Vector de búsqueda | |
0 1 0 | reservado | |
0 0 1 | ||
0 0 0 |
Una placa de procesador simple puede manejar CM2 alto para todos los accesos al bus, manejar CM1 desde una señal de memoria / no_IO y CM0 desde una señal de lectura / no_escritura. El estado bajo de CM2 se usa solo durante las fases de "solicitud de atención" (para interrupciones y / o ciclos DMA) para el modo de respuesta explícita. Cuando se utiliza el modo de respuesta implícita, el bus maestro sondea las placas esclavas para encontrar cuál ha activado la solicitud de atención y restablece la fuente de señal. En ese caso, no se utiliza Vector-fetch.
ATNRQ0 ... 7 *: Solicitudes de atención. Estos están reservados para que las placas señalen la atención del procesador, un término que cubre las interrupciones y el acceso directo a memoria (DMA). La elección acertada de la señal no compromete estas líneas a ser tipos específicos, como interrupciones enmascarables, interrupciones no enmascarables o DMA.
El número de solicitudes de atención refleja el papel previsto del STEbus en los sistemas de control en tiempo real. Se pueden codificar con prioridad ocho líneas en tres bits, y es un número razonablemente práctico de líneas para manejar.
BUSRQ0 ... 1 * y BUSAK0 ... 1 *: Solicitudes de bus y reconocimiento de bus. Opcional. Utilizado por sistemas multimaestro.
El número de solicitudes de atención refleja que STEbus pretende ser simple. Los sistemas de maestro único son la norma, pero estas señales permiten que los sistemas tengan maestros de bus secundarios si es necesario.
DATSTB *: Estroboscopio de datos. Esta es la señal principal en los ciclos de transferencia de datos.
DATACK *: Reconocimiento de datos. Un esclavo hará valer esta señal cuando reconozca la finalización segura de una transferencia de datos a través del STEbus. Esto permite que los sistemas STEbus utilicen tarjetas enchufables con una amplia variedad de velocidades, una mejora en los sistemas de bus anteriores que requieren que todo funcione a la velocidad del dispositivo más lento.
TRFERR *: Error de transferencia. Un esclavo hará valer esta señal cuando reconozca la finalización errónea de una transferencia de datos a través del STEbus.
ADRSTB *: Dirección estroboscópica. Esta señal indica que el bus de direcciones es válido. Originalmente, esto tenía algún uso práctico en placas DRAM que podían comenzar a transferir las líneas de dirección a chips DRAM antes de que el bus de datos estuviera listo. La especificación STEbus se confirmó más tarde para decir que los esclavos no podían iniciar transferencias hasta que DATSTB * estuviera listo, por lo que ADRSTB * se ha vuelto bastante redundante. Hoy en día, los maestros STEbus pueden simplemente generar DATSTB * y ADRSTB * a partir de la misma señal lógica. Los esclavos simplemente notan cuándo DATSTB * es válido (ya que la definición del bus insiste en que la dirección también será válida al mismo tiempo que los datos). ADRSTB * también permite que un maestro de bus retenga la propiedad del bus durante ciclos indivisibles de lectura-modificación-escritura, permaneciendo activo durante dos pulsos DATSTB *. La secuencia coincide con la del bus del 68008. Otras CPU pueden requerir lógica adicional para crear ciclos de lectura-modificación-escritura.
SYSCLK: Reloj del sistema. Fijo a 16 MHz. Ciclo de trabajo del 50%.
SYSRST *: Reinicio del sistema. [9]
El backplane conecta todos los conectores DIN en paralelo. Entonces, una tarjeta de expansión STEbus ve las mismas señales sin importar en qué ranura del backplane esté conectada. [8]
Tipos de señales
Señal | Tipo |
---|---|
A [19..0] | Triestatal |
D [7..0] | Triestatal |
CM [2..0] | Triestatal |
ADRSTB * | Triestatal |
DATSTB * | Triestatal |
DATACK * | Colector abierto / Drenaje abierto |
BUSRQ [1..0] * | Colector abierto / Drenaje abierto |
TFRERR * | Colector abierto / Drenaje abierto |
ATNREQ [7..0] * | Colector abierto / Drenaje abierto |
SYSRST * | Colector abierto / Drenaje abierto |
SYSCLK | Tótem |
BUSAK [1..0] * | Tótem |
El SYSCLK debe ser impulsado por una sola placa en el sistema. Como se explica en la norma, esta señal será generada por el controlador del sistema.
El controlador del sistema también está a cargo del arbitraje de bus en caso de que haya varios maestros. Cuando solo hay un maestro, el controlador del sistema no es necesario y la placa maestra puede generar SYSCLK
Notas técnicas
- Las entradas de señal deben ser un disparador Schmitt
- Solo una carga TTL por señal de línea de bus por placa
- Las salidas de señal deben tener un abanico de 20
- El backplane puede tener hasta 21 sockets
- 50 mm de longitud máxima de trazado de PCB de línea de señal de bus en cualquier placa
- 500 mm de longitud máxima de la línea de señal de bus
- Se recomienda terminación de bus activa (270R pull-up a 2.8V)
- Los chips de la serie 7400 se utilizan a menudo para construir tableros de control personalizados, conectados directamente al STEbus. [8]
enlaces externos
- Estándar STEbus (IEEE1000) (disponible para suscriptores y miembros de IEEE) 8 . 1988. doi : 10.1109 / IEEESTD.1988.122133 . ISBN 0-7381-4593-9.
- STEbus (ISO / IEC 10859: 1997) costo: 192 francos suizos
Referencias
- ^ a b c d Michael J. Spinks. "Diseño de sistema de microprocesador: una introducción práctica" . 2013. p. 158, 162, 166.
- ^ Mitchell, RJ, Dr. (1989). Sistemas de microcomputadoras que utilizan el bus STE . Macmillan. pag. 27. ISBN 978-0-333-49649-7.
- ^ Leroy Davis. "STEBus" .
- ^ a b ISO / IEC 10859: Interfaz de backplane de 8 bits: STEbus y especificaciones de núcleo mecánico para microcomputadoras . 1997. p. 4
- ^ Tooley, Michael H. (17 de marzo de 1995). Instrumentación y control basados en PC . págs. 91-101. ISBN 0-7506-2093-5.
- ^ Prof. MM Cusack y Sr. J. Thomas. "Software y hardware de control para un robot trepador" . 1994.
- ^ "Placas posteriores y placas de extensión: Multibus / STEbus / G64" .
- ^ a b c Paul Qualtrough. "Hardware basado en STEbus para un sistema de control de ferrocarril modelo" . 1998.
- ^ Información del bus STE