LOGIN: Email:  Senha:
Esqueci a senha: Email:

RESET - Início de operação

O circuito de RESET existe para gerar um sinal sincronizado de início de operação para todos os circuitos integrados existentes no MSX.

O sinal de RESET é utilizado em duas situações: quando o computador é ligado e todos os circuitos integrados precisam de um nível lógico estável e sincronizado para iníco de operação ou quando a chave de RESET é utilizada para reiniciar todo o computador, como no caso de travamento por algum programa.

O funcionamento do circuíto pode ser resumido em três fases:

Fase 1 - Ligando

Quando o micro está desligado o capacitor C120 está com seus dois pólos, positivo e negativo, no mesmo potencial ou seja descarregado.

Quando o computador é ligado o pólo positivo do capacitor C120 é levado subitamente à tensão de 5V o que faz com que seu pólo negativo também atinja este nível de tensão.

Como o pólo negativo do capacitor, que está com 5V, está ligado à base do transistor T1 através do resistor R43, o transistor fica saturado e passa a conduzir, isto faz com que em seu coletor o nível de tensão seja próximo de 0V.

Este sinal do coletor com nível lógico 0 passa à entrada do inversor ,U40:F pino 13, através do resistor R46. Como o nome já diz este circuito inverte o nível lógico 0 gerando um nível 1 em sua saída, pino 12, este sinal é o TESER usado somente para início da PPI 8255 e é invertido em relação ao sinal de RESET.

O sinal TESER está ligado à entrada do outro inversor U40:E pino 11, que gera o sinal RST de nível 0 em sua saída, pino 10, que irá gerar o sinal de RESET usado por vários integrados na placa.

O resistor R45 retorna o sinal RST à entrada do primeiro inversor para acelerar a transição entre os níveis e evitar oscilações.

Fase 2 - Duração do RESET

Como o pólo negativo do capacitor C120 está ligado ao nível de 0V (TERRA) pelos resistores R43 e R44 ele começa a se carregar negativamente até chegar a 0V.

Quando a tensão na base do transistor T1 estiver próxima a 0,7V e descendo, o transistor passa da saturação ao corte o que faz com que seu coletor vá para 5V que é mantido pelo resistor R48.

Havendo a inversão do sinal na entrada do primeiro inversor os sinais TESER e RST também são invertidos passando respectivamente para 0 e 1 e são mantidos assim até que o micro seja desligado ou que alguém acione a chave de RESET.

A duração do pulso de RESET é dada pelo tempo que o capacitor demora para trocar o estado do transistor que neste caso é de aproximadamente 70ms.

Fase 3 - Desligando

Quando a fonte de alimentação é desligada o diodo de sinal D5 faz com que o capacitor C10 seja descarregado o mais rápido possível e portanto gere um sinal de RESET que enquanto a tensão de +5V da fonte está abaixando até atingir 0V todos os circuítos estejam parados.

Tecla de RESET

Quando a tecla de RESET é acionada ela simplesmnte curtocircuita e descarrega o capacitor C120, que faz com que todo o processo de geração do sinal de RESET seja reiniciado.

Somente depois que a tecla é solta é que a fase de duração do pulso é iniciada.


Partida fria e partida quente

Nos micros MSX 2+ foi incluído um circuíto para que se possa diferenciar quando o micro é ligado ou quando foi gerado um sinal de RESET pelo acionamento da chave de RESET ou se foi executado algum comando de reinício de operação por algum programa.

Esta característica é notada principalmente quando se liga um MSX 2+ e surge a apresentação mostrando o logotipo MSX e quando se aciona a chave de RESET este logotipo náo é apresentado.

O funcionamento do circuíto é semelhante ao do circuíto de RESET, a principal diferença está no fato de se usar o pólo positivo do capacitor como gerador de temporização ao invés do negativo.

Quando o micro é ligado o capacitor C129 está descarregado o que provoca um sinal de nível 0 no pino 4 do U26:A. Este sinal faz com que a saída deste registro, pino 5, vá para o nível 1.

Este registro é formado por metade de um 74LS74, circuíto integrado com dois registros tipo D com saídas invertidas.

Após o tempo de carga do capacitor o pólo positivo só irá descarregar, isto através do diodo D1, quando a fonte de alimentação for desligada.

Para se ler o estado do registro de partida usa-se o endereço de entrada/saída "B7" que devolve pelo bit 7 da linha de dados o nível do pino 5 do registro.

A leitura é feita através da porta U53:C que é uma porta cuja saída pode ter três estados (0, 1 ou desligada).

Quando um nível 0 é colocado no pino 10 que habilita o U53:C, em sua saída, pino 8, aparece uma cópia do nivel que está em sua entrada, pino 9, que pode estar em 0 ou 1 de acordo com o pino 5 do registro, esta informação é colocada na linha de dados no bit 7 (D7).

Quando o pino 10 vai para 1 o pino 8 fica em aberto como se estivesse desligado do circuíto. Esta característica de três estados é muito ulizada para que vários componentes possam usar a mesma linha de dados sem que um interfira com o outro.

O sinal de habilitação, gerado pelo pino 11 da porta U59:D, é uma combinação entre o sinal IOB7, pino 12, que é a seleção do endereço feita pela combinação das linhas de endereço A0 a A7 do Z80, e o sinal IORD que é a juncão dos sinais IORQ e o RD do Z80.

Pelo mesmo endereço de E/S "B7" pode-se alterar o estado do registro escrevendo-se um valor 0 ou 1 através do bit 7 da linha de dados.

O sinal de escrita é gerado pela porta U59:C que usa o sinal IOB7 e o sinal WR do Z80 para gerar um pulso em sua saída, pino 8, que ligado à entrada de clock, pino 3, faz com que o sinal presente no pino 2 do registro U26:A seja armazenado e apareça em suas saídas, pino 5 (normal) e 6 (invertida).

Todos os sinais de seleção são válidos somente quando estão no nível lógico 0, por exemplo, quando IOB7 e IORD estão em nível 0 é que será gerado o sinal que aciona o pino 10 do U52:C.

Testes do circuíto:

Digite as linhas em BASIC e pressione a tecla ENTRA ao final de cada.

1 Desligue o micro e lígue-o novamente. => Deverá aparecer a apresentação com o logotipo MSX. Quando o micro é ligado o registro é levado para 1.
2 DEFUSR=0:A=USR(0) => O micro deverá reiniciar sem mostrar o logotipo. Depois que a apresentação é mostrada o programa zera o registro.
3 PRINT HEX$(INP(&HB7)) => Deverá retornar o valor em hexadecimal 7F. Mostra que o bit 7 está em 0 (7Fh = 01111111b)
4 OUT &HB7,&H80 : PRINT HEX$(INP(&HB7))=> Deverá retornar o valor em hexadecimal FF, o que mostra que o bit 7 foi trocado (FFh = 11111111b)
5 OUT &HB7,&H80 : DEFUSR=0 : A=USR(0) => Deverá reiniciar mostrando o logotipo. Com o registro em 1 o programa é enganado e acha que foi ligado pela primeira vez.

Obs: Estes testes são somente para micros MSX 2+ ou TurboR, no MSX 2.0 não existe o circuíto de partida a quente.