STEbus - STEbus

Processador STEbus 68008
Processador STEbus 8088
Processador STEbus Z80 e FDC
Processador STEbus 68B09E
Processador STEbus 80C188
Processador STEbus 68000
Processador STEbus Z280
Placa STEbus VGA e LCD

O STEbus (também chamado de barramento IEEE-1000 ) é um barramento de computador não proprietário e independente de processador com 8 linhas de dados e 20 linhas de endereço. Era popular para sistemas de controle industrial no final dos anos 1980 e no início dos anos 1990, antes que o onipresente IBM PC dominasse este mercado. STE significa ST andard E urocard.

Ele continua sendo um padrão bem projetado. Embora não seja mais competitivo em seu mercado original, é uma escolha válida para entusiastas que desejam fazer sistemas de computador 'caseiros'. O Z80 e provavelmente o CMOS 65C02 seriam bons processadores para usar. O ônibus padronizado permitiria aos amadores interagirem com os projetos uns dos outros.

Origens

No início da década de 1980, havia muitos sistemas de ônibus proprietários, cada um com seus pontos fortes e fracos. A maioria havia crescido de maneira ad-hoc, normalmente em torno de um microprocessador específico. O barramento S-100 é baseado em sinais Intel 8080 , o barramento STD em torno de sinais Z80 , o barramento SS-50 em torno do Motorola 6800 e o barramento G64 em torno de 68000 sinais.

Isso dificultou a interface com outros processadores. Atualizar para um processador mais poderoso mudaria sutilmente os tempos, e as restrições de tempo nem sempre eram especificadas com precisão. Nem os parâmetros elétricos e as dimensões físicas. Eles geralmente usavam conectores de borda para o ônibus, que eram vulneráveis ​​a sujeira e vibração.

O VMEbus forneceu uma solução de alta qualidade para processadores de 16 bits de alto desempenho , usando conectores DIN 41612 confiáveis e tamanhos de placa Eurocard e sistemas de rack bem especificados . No entanto, eles eram muito caros quando um aplicativo só precisava de um modesto processador de 8 bits .

Em meados da década de 1980, o padrão STEbus tratou desses problemas especificando o que se assemelha a um VMEbus simplificado para processadores de 8 bits. Os sinais de barramento são suficientemente genéricos para que os processadores de 8 bits tenham uma interface fácil. O tamanho da placa era geralmente um Eurocard de altura única (100 mm x 160 mm), mas também permitia placas de altura dupla (233 x 160 mm). O último posicionou o conector de barramento de forma que pudesse se fundir perfeitamente aos sistemas de barramento VME.

O Grupo de Trabalho IEEE P1000 inicialmente considerou simplesmente recolocar o barramento STD , substituindo o conector da borda da placa pelo conector DIN41612. Mas eles decidiram criar um barramento de 8 bits de alto desempenho completamente novo. Eles decidiram fazer um ônibus mais parecido com o VMEbus e Futurebus . O STEbus foi projetado para ser independente do fabricante, do processador e ter capacidade multimaster.

Maturidade

O STEbus fez muito sucesso em sua época. Recebeu o padrão oficial IEEE 1000-1987.

Muitos processadores estavam disponíveis em placas STEbus, em uma variedade de preços e desempenho. Essas placas incluíram Intel 8031 , 8085 , 8088 , 80188 ; o National Semiconductor 32008 e 32016 ; o Motorola 6809 , 68000 e 68008 ; O Zilog Z80 e Z280 ; o Hitachi HD64180 ; e o Transputer Inmos .

O STEbus é projetado para microprocessadores de 8 bits . Os processadores que normalmente usam um barramento de dados mais amplo ( 16 bits , etc.) podem usar o STEbus se o processador puder lidar com dados em blocos de bytes, dando ao escravo o tempo que ele precisa para responder.

O STEbus suportava processadores do popular Z80, o 6809, ao poderoso 68020. O único micro popular que estava ausente era o 6502, porque ele naturalmente não suportava estados de espera durante a escrita. O CMOS 65C02 não tinha essa deficiência, mas era mais raro e mais caro do que o NMOS 6502 e o Z80. O 6809 usava alongamento em ciclo.

As placas periféricas incluem placas de prototipagem, controladores de disco, placas de vídeo, E / S serial, E / S analógica e digital. O STEbus atingiu seu objetivo de fornecer um sistema de montagem em rack robusto o suficiente para uso industrial, com placas facilmente intercambiáveis ​​e independência de processador.

Os pesquisadores descrevem os sistemas STEbus como robustos, adaptáveis ​​e econômicos.

Declínio

O mercado STEbus começou a declinar à medida que o IBM PC avançava em sistemas de controle industrial. Os clientes optaram por produtos baseados em PC, pois a base de software era maior e mais barata. Mais programadores estavam familiarizados com o PC e não precisavam aprender novos sistemas.

Os custos de memória caíram, então havia menos razão para ter expansão de memória baseada em barramento quando se poderia ter bastante na placa do processador.

Portanto, apesar das desvantagens, os fabricantes criaram sistemas de PC industriais e, eventualmente, abandonaram outros sistemas de barramento.

Seguindo em frente, os sistemas de PC eliminaram a necessidade de gaiolas para cartões e painéis traseiros, mudando para o formato PC104 , onde as placas são empilhadas umas nas outras. Embora não seja tão bem projetado quanto o STEbus, o PC104 é bom o suficiente para muitas aplicações.

Os principais fabricantes de seu período de pico agora oferecem suporte ao STEbus principalmente pela boa vontade com clientes antigos que compraram muitos produtos deles.

Em 2013, alguns fabricantes ainda oferecem suporte a STEbus, G64, Multibus II e outros sistemas de barramento legados.

O IEEE retirou o padrão, não por causa de alguma falha, mas porque ele não está mais ativo o suficiente para ser atualizado.

Formato físico

Eurocard 3U - O tamanho mais comum foi o Eurocard 100 x 160 mm.

6U Eurocard - Raro, às vezes usado em placas híbridas VMEbus

Conector

DIN 41612 , linhas a e c, passo de 0,1 ".

As placas híbridas VME / STE têm o STEbus e o VMEbus compartilhando o conector VME P2, sinais VME na linha b. Por este motivo, as placas STEbus não podem usar a linha b para nenhum propósito.

Pinagem

Pinagem de STEbus
vista olhando para o soquete do backplane
num. nome abc nome
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
16 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

Sinais baixos ativos indicados por asterisco.

GND: Tensão de referência de terra

+ 5V: Alimenta a maioria da lógica.

+ 12V e -12V: principalmente útil para alimentação de buffer RS232. O + 12V tem sido usado para programar geradores de tensão. Ambos podem ser usados ​​em circuitos analógicos, mas observe que são principalmente trilhos de alimentação para circuitos digitais e, como tal, costumam ter ruído digital. Algum desacoplamento ou regulação local é recomendado para circuitos analógicos.

VSTBY: Tensão de espera. Opcional. Esta linha é reservada para transportar uma tensão de backup de bateria para placas que a fornecem ou consomem. Uma bateria NiCad de 3,6 V é uma fonte comum. A especificação STEbus não é rígida sobre a origem disso.

Na prática, isso significa que a maioria das placas que requerem energia de reserva tende a jogar com segurança e tem uma bateria a bordo, geralmente com um link para permitir que forneça ou aceite energia de VSTBY. Portanto, você pode acabar com mais baterias do que o necessário em seu sistema e, então, deve tomar cuidado para que não mais de uma bateria esteja dirigindo o VSTBY.

D0 ... 7: Barramento de dados. Tem apenas 8 bits de largura, mas a maioria dos periféricos I / O ou mapeados na memória são orientados por bytes.

A0 ... 19: Barramento de endereços. Isso permite que até 1 MByte de memória seja endereçado. A tecnologia atual é tal que o processador que requer grande quantidade de memória tem isso na placa do processador, portanto, esta não é uma grande limitação. O espaço de E / S é limitado a 4K, para simplificar a decodificação de endereços de E / S a um nível prático. Um único 74LS688 em cada placa escrava pode decodificar A11 ... A4 para localizar placas escravo de E / S em qualquer endereço de E / S com alinhamento de 16 bytes. Normalmente, 8 pequenos jumpers ou uma única unidade de 8 chaves DIP ou duas chaves rotativas hexadecimais com codificação binária são usados ​​para dar a cada placa escrava de E / S um endereço exclusivo.

CM0 ... 2: Modificadores de comando. Eles indicam a natureza do ciclo de transferência de dados.

Modificadores de comando
CM
2 1 0
Função
1 1 1 leitura memória
1 1 0 Escreva
1 0 1 leitura I / O
1 0 0 Escreva
0 1 1 Vector-fetch
0 1 0 reservado
0 0 1
0 0 0

Uma placa de processador simples pode conduzir CM2 alto para todos os acessos de barramento, conduzir CM1 de um sinal memory / not_IO e CM0 de um sinal read / not_write. O estado baixo do CM2 é usado apenas durante as fases de "solicitação de atenção" (para interrupções e / ou ciclos de DMA) para o modo de resposta explícita. Quando o modo de resposta implícita é usado, o barramento mestre consulta as placas escravas para descobrir qual delas acionou a solicitação de atenção e redefinir a fonte do sinal. Nesse caso, o Vector-fetch não é usado.

ATNRQ0 ... 7 *: Pedidos de atenção. Eles são reservados para placas para sinalizar a atenção do processador, um termo que abrange interrupções e acesso direto à memória (DMA). A escolha sábia do sinal não compromete essas linhas a serem tipos específicos, como interrupções mascaráveis, interrupções não mascaráveis ​​ou DMA.

O número de Pedidos de Atenção reflete a função pretendida do STEbus, em sistemas de controle em tempo real. Oito linhas podem ser codificadas por prioridade em três bits e é um número razoavelmente prático de linhas para tratar.

BUSRQ0 ... 1 * e BUSAK0 ... 1 *: Solicitações de ônibus e confirmação de ônibus. Opcional. Usado por sistemas multi-master.

O número de Pedidos de Atenção reflete que o STEbus pretende ser simples. Os sistemas de mestre único são a norma, mas esses sinais permitem que os sistemas tenham mestre de barramento secundário, se necessário.

DATSTB *: Data Strobe. Este é o sinal principal nos ciclos de transferência de dados.

DATACK *: Reconhecimento de dados. Um escravo ativará este sinal quando reconhecer a conclusão segura de uma transferência de dados via STEbus. Isso permite que os sistemas STEbus usem placas plug-in com uma ampla variedade de velocidades, uma melhoria em relação aos sistemas de barramento anteriores que exigiam que tudo funcionasse na velocidade do dispositivo mais lento.

TRFERR *: Erro de transferência. Um escravo ativará este sinal ao reconhecer a conclusão errônea de uma transferência de dados via STEbus.

ADRSTB *: Endereço Strobe. Este sinal indica que o barramento de endereço é válido. Originalmente, isso tinha algum uso prático em placas DRAM que podiam começar a disparar as linhas de endereço em chips DRAM antes que o barramento de dados estivesse pronto. A especificação STEbus foi posteriormente confirmada para dizer que os escravos não tinham permissão para iniciar as transferências até que DATSTB * estivesse pronto, então ADRSTB * tornou-se bastante redundante. Hoje em dia, os mestres STEbus podem simplesmente gerar DATSTB * e ADRSTB * a partir do mesmo sinal lógico. Os escravos simplesmente observam quando DATSTB * é válido (uma vez que a definição do barramento insiste que o endereço também será válido ao mesmo tempo que os dados). ADRSTB * também permite que um mestre de barramento retenha a propriedade do barramento durante os ciclos indivisíveis de leitura-modificação-gravação, permanecendo ativo durante dois pulsos DATSTB *. A sequência corresponde à do barramento do 68008. Outras CPUs podem exigir lógica adicional para criar ciclos de leitura-modificação-gravação.

SYSCLK: Relógio do sistema. Fixo em 16 MHz. 50% do ciclo de trabalho.

SYSRST *: Reinicialização do sistema.

O painel traseiro conecta todos os conectores DIN em paralelo. Portanto, uma placa de expansão STEbus vê os mesmos sinais, não importa em qual slot do backplane ela está conectada.

Tipos de sinais

Sinal Modelo
A [19..0] Tri-state
D [7..0] Tri-state
CM [2..0] Tri-state
ADRSTB * Tri-state
DATSTB * Tri-state
DATACK * Coletor aberto / dreno aberto
BUSRQ [1..0] * Coletor aberto / dreno aberto
TFRERR * Coletor aberto / dreno aberto
ATNREQ [7..0] * Coletor aberto / dreno aberto
SYSRST * Coletor aberto / dreno aberto
SYSCLK Totem-pole
BUSAK [1..0] * Totem-pole

O SYSCLK deve ser acionado por apenas uma placa no sistema. Conforme explicado na norma, este sinal deve ser gerado pelo Controlador do Sistema.

O Controlador do Sistema também é responsável pela Arbitragem de Barramento, caso haja vários mestres. Quando há apenas um mestre, o controlador do sistema não é necessário, e SYSCLK pode ser gerado pela placa mestre

Notas técnicas

  • As entradas de sinal devem ser gatilho Schmitt
  • Apenas uma carga TTL por sinal de linha de barramento por placa
  • As saídas de sinal devem ter um fanout de 20
  • O painel traseiro pode ter até 21 soquetes
  • Comprimento máximo de 50 mm do traço de PCB da linha de sinal de barramento em qualquer placa
  • Comprimento máximo de 500 mm do comprimento da linha de sinal de barramento
  • Recomenda-se terminação de barramento ativo (270R pull-up até 2,8 V)
  • Os chips da série 7400 são freqüentemente usados ​​para construir placas de controle personalizadas, diretamente conectadas ao STEbus.

links externos

  • Padrão STEbus (IEEE1000) (disponível para assinantes e membros IEEE) 8 . 1988. doi : 10.1109 / IEEESTD.1988.122133 . ISBN   0-7381-4593-9 .
  • STEbus (ISO / IEC 10859: 1997) custo: 192 francos suíços

Referências