O novo decodificador de I/O é essencialmente igual ao anterior. A única diferença é que em vez de termos 4 endereços de I/O, agora há apenas 2:
0Ch: SPI_DATA
0Dh: SPI_CONTROL
Ambos os registros são vistos pelo MSX como registros de apenas para leitura, porém a escrita é feita utilizando-se as linhas [A8..A15] presentes no barramento de endereços durante as intruções de entrada ("IN")
O endereço SPI_DATA permite escrever e ler nos registradores de deslocamento 74'165 e 74'595. Já o SPI_CONTROL permite escrever no registrador endereçável 74'259 e ler do seletor de dados ("mux" 8 pra 1 ) 74'251.
As funções ALT_CLOCK, CHIP_SEL e SPI_POWER se tornam então registros individualmente selecionáveis pelo valos das linhas [A8..A10] e o valor, "0" ou "'1", é dado pela linha [A15], juntamente com os sinais SCL e SDAout. para a interface I2C (provisão para o relógio de tempo real) e mais 3 linhas reserva: RSV0, RSV1, RSV2.
A leitura de dados em SPI_CONTROL é uma palavra onde apenas o BIT 0 interessa. As linhas [A8..A10] endereçam um dos 8 bits disponíveis. Temos assim os bits SDAin, RES0, RES1, RES2, RES3, RES4, RES5, RES6.
Nenhum comentário:
Postar um comentário