Ir ao conteúdo
  • Cadastre-se

ISA Plug and Play


     65.370 visualizações    Placas-mãe    0 comentários
ISA Plug and Play

Registradores de Controle

Todo projeto ISA plug and play deve implementar 8 registradores para o controle de configuração do adaptador físico (conectado ao slot) e alguns outros para cada dispositivo lógico presente (ex: porta serial, interface de disco, porta paralela, etc. - cada dispositivo pode exigir seus próprios recursos). Ver Figura 1.

Para selecionar qual registrador será acessado num determinado instante, escreve-se um offset (de acordo com a Figura 1) no registrador de endereços (279h). Decodifica-se o valor escrito, visando a condicionar a habilitação do registrador selecionado a um ciclo de I/O para o endereço do registrador de escrita (A79h) ou para o registrador de leitura (programável), e à condição de não se estar no estado de Espera por Chave. O circuito 2 realiza esta função. Notar que os sinais Y00h a Y07h são os offsets já decodificados.

 

offset registrador presença
00h Reg. de Endereço de Leitura um por placa
01h Reg. de Seqüência de Isolamento um por placa
02h Reg. de Controle de Configuração um por placa
03h WAKE um por placa
04h Reg. Dados dos Recursos um por placa
05h Reg. de Estado um por placa
06h CSN um por placa
07h Reg. Seleção do Dispositivo um por placa
30h Ativação dispositivo
31h I/O Check dispositivo
40h a 5Ch Descritores de Memória dispositivo
60h e 61h bloco de I/O dispositivo
62h e 63h boco de I/O dispositivo
64h e 65h bloco de I/O dispositivo
66h e 67h bloco de I/O dispositivo
68h e 69h bloco de I/O dispositivo
6Ah e 6Bh bloco de I/O dispositivo
6Ch e 6Dh bloco de I/O dispositivo
6Eh e 6Fh bloco de I/O dispositivo
70h e 71h canal de interrupção dispositivo
72h e 73h canal de interrupção dispositivo
74h canal de DMA dispositivo
75h canal de DMA dispositivo
76h a A8h blocos de memória dispositivo


Figura 1: Mapeamento dos registradores de configuração de uma placa ISA plug and play.

ISA Plug and Play
Circuito 2: Faz a seleção adequada do registrador de controle.

O registrador de Endereço de Leitura (offset 00h) é programado pelo software plug and play e define, dentre 203h e 3FFh, qual o endereço atribuído para o registrador de leitura. A regra é simples: o bit 7 escrito corresponde ao bit 9 do registrador de leitura, o bit 6 ao bit 8 e assim por diante. Os dois bits menos significativos foram arbitrados iguais a 1. O circuito 3 implementa este registrador. A seguinte seqüência de código programa o registrador de leitura para o endereço 203h:

mov dx, 279h	;seleciona reg. de endereços
mov al, 0h	;seleciona offset 00h
out dx, al	;realiza ciclo de I/O
mov dx, A79h	;seleciona reg. de escrita
mov al, 80h	;programa pela regra 203h
out dx, al	;realiza ciclo de I/O

ISA Plug and Play
Circuito 3: Controla leituras aos registradores de configuração.

O registrador de Seqüência de Isolamento (offset 01h) é responsável por colocar 55h ou AAh no barramento, isto quando o adaptador estiver participando da seqüência de isolamento.

O registrador de Controle de Configuração (offset 02h), conforme ilustrado na Figura 2 e implementado no circuito 4, é utilizado para zerar o número de seleção de todas as placas (CSN) ou o de todos os dispositivos lógicos e também para colocar todas as placas no estado Espera por Chave, para que fiquem operacionais.

 ISA Plug and Play
Figura 2: Mapeamento do registrador de Controle de Configuração.

 

 ISA Plug and Play
Circuito 4: Implementação do registrador de controle de configuração.

Os offsets relativos a WAKE e CSN (03h e 06h) são gerenciados de forma que, quando WAKE=CSN (CSN é programado durante a seqüência de isolamento), o adaptador fica selecionado como foco de entrada para determinados acessos. Um valor CSN=0 é inválido, devendo ser interpretado como se CSN¹WAKE, pois a placa requer uma seqüência de isolamento. O circuito 5 implementa a comparação CSN=WAKE.

O registrador de Dados dos Recursos (offset 04h) permite que se obtenham dados do fabricante, número de série, identificadores de dispositivos lógicos e descritores que informam que recursos estes exigem.

O registrador de Estado (offset 05h) informa se o adaptador está pronto para ter seu registrador de Dados dos Recursos acessado.

ISA Plug and Play
Circuito 5: Verifica se o adaptador está selecionado, ou seja, se está no modo de Configuração.

O registrador de Seleção do Dispositivo (offset 07h), em placas com mais de um dispositivo lógico implementado, é comparado com o identificador do dispositivo para, no máximo, permitir que um dos dispositivos lógicos seja o foco de entrada para a programação de recursos. O circuito 6 realiza tal comparação. A partir deste ponto, supõem-se gerados sinais Y30h a YFFh, condicionados ao casamento do dispositivo lógico.

A Figura 3 (circuito 7) sugere a implementação de uma região de 8 endereços consecutivos de I/O, programável pelos offsets 60h e 61h. Notar que os bits A8 a A15, que compõem os endereços da região de I/O são escritos e lidos com offset 60h, e que os bits A3 a A7 são acessados pleo offset 61h. Observar que uma leitura deste offset retorna os 3 bits menos significativos iguais a zero. Desta forma, para que o software plug and play saiba o tamanho da região de I/O a alocar, basta escrever FFh nos offsets 60h e 61h. Em seguida, fazer uma leitura dos mesmos. O número de bits iguais a zero está associado ao tamanho da região a alocar. No exemplo da Figura 3, são lidos três bits nulos, o que informa que são 8 (23) endereços de I/O necessários. A programação de blocos de memória é parecida com a de blocos de I/O, e, por isso, não será detalhada.

 ISA Plug and Play
Circuito 6: Checa o casamento do dispositivo selecionado com o dispositivo lógico.

 

 ISA Plug and Play

Figura 3: Circuito para a programação de uma região de 8 endereços de I/O.

A Figura 4 (circuito 8) mostra como são programados os recursos de interrupção (offsets 70h e 71h). Pelo offset 70h, é passado o valor da IRQ alocada, que é decodificado para permitir que o pedido de interrupção seja conectado eletricamente ao barramento. O offset 71h é responsável por informar o tipo de ativação elétrica. No caso da Figura 4, optou-se por uma interrupção ativada por nível alto.

O circuito 8 (para programar um canal de DMA) lembra a Figura 3. Contudo, cada sinal gerado pelo decodificador controla duas conexões elétricas: a do pedido de DMA e a do reconhecimento do pedido.

Reparar que os circuitos 8 e 9 são alimentados pelo sinal HAB BARR, que condiciona todas as conexões de saída para o barramento e é gerado pelo circuito 1.

 ISA Plug and Play
Figura 4: Circuito para receber um valor de IRQ e conectar o pedido de interrupção ao barramento.

 

ISA Plug and Play
Circuito 9: Programa um canal de DMA.


Artigos similares


Comentários de usuários

Respostas recomendadas

Não há comentários para mostrar.



Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!