segunda-feira, 9 de outubro de 2006

Leitor de MMC/SD rápido: Novo decodificador de I/O

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: