Mais uma atualização de "Status" dos requisitos.
Requisitos de Hardware:
O hardware...
-Deverá utilizar o espaço de endereçamento de I/O do Z80, dentro do padrão MSX (abaixo de 040h);
Cumprido. O circuito foi projetado para funcionar nas portas 12 e 13 do endereçamento de I/O do Z80. Os drivers do programa utilizam endereçamento relativo, via registrador C e suportam operação em quaisquer 2 portas consecutivas, sem necessidade de adaptação do código.
-Deverá utilizar o clock do Z80 como fonte de clock;
Cumprido. Comprovação pelo próprio projeto.
-Deverá suportar um clock (do Z80) de até 7,16MHz;
Teste a 3.5MHz ok. Simulação até 8MHz .
-Deverá ser capaz de gerar um clock numa frequência inferior a 400KHz, para inicialização do cartão;
Cumprido. O circuito possui um sinal de clock alternativo. A frequência do sinal de clock alternativo é definida por software, alternando-se o tempo em que o sinal de clock alternativo fica em nível alto e nível baixo.
-Deverá realizar a transferência de dados de forma bidirecional, conforme padrão SPI (transmite e recebe ao mesmo tempo);
Cumprido.
Deverá realizar uma transferência de blocos através de instruções de I/O de bloco (INI, INIR, OUT, OTIR), tão rápido quanto possível para o Z80;
Cumprido.
- Deverá realizar transferência de bytes num tempo igual ao do MSX para fazer acessos consecutivos de I/O;
Cumprido (acessos consecutivos automáticos - INI, INIR, OUTI, OTIR)
- Deverá ser possível implementar a interface sem a necessidade de chips de lógica programável, utilizando apenas componentes comuns no mercado: chips TTL, resistores e capacitores de famílias padrão;
Cumprido.
- Deverá haver um LED indicador de acesso ao cartão.
Cumprido. Um LED vermelho foi utilizado.
- Deverá haver um LED indicador de que a alimentação do cartão está ativa.
Cumprido. Um LED verde foi utilizado.
- Deverá suportar Inserção/Remoção/troca do cartão sem necessidade de se desligar o computador.
Cumprido.
- Deverá possuir um conversor para alimentar o cartão MMC/SD, fornecendo uma tensão entre 2,8V e 3,6V, com capacidade de pelo menos 100mA;
Cumprido. Mas está sendo estudada a possibilidade de alternativa para o conversor atual. Uma boa possibilidade é a transferênica deste conversor para para uma placa auxiliar, cuja ligação com a placa principal se dará por apenas 4 fios. Esta placa auxiliar pode conter várias alternativas (BJT, JFET, LDO, chaveados, etc), dependendo da disponibilidade de componentes de quem for montar o projeto.
-O circuito deve ser projetado de forma a consumir pouca energia.
Cumprido. O circuito utiliza chips de tecnologia HCT e HC. O consumo ainda não foi medido.
-Todos os diagramas e "lay-outs" devem ser disponibilizados;
Em andamento. O protótipo 2 está sendo reformulado para refletir as alterações sofridas durante os testes e experimentações.
-A placa de circuito impresso da versão final deve ser projetada de forma a permitir a montagem caseira (refs [1] [2] [3]);
Em andamento. aguardando o circuito chegar à versão final. Mas todas as placas de protótipo até o momento foram construídas utilizando este método, em placas de face simples.
-Deverá possuir suporte para um relógio de tempo Real I2C;
Parcialmente cumprido. "Hardware" necessário já pronto e testado. Módulo RTC já construído, mas ainda não testdo.
-Deverá possuir circuitos de teste auxiliares, montados em placa externa, para auxiliar no teste dos vários blocos que compõem o circuito, de forma a suportar a construção e teste gradual da interface;
Cumprido. Uma sonda lógica foi projetada especialmente para auxiliar na montagem deste circuito.
-Deverá possuir um guia de montagem que suporte a construção e o teste gradual da interface;
Em andamento. Pendente revisão do guia após definida versão "release" de hardware.
Requisitos de Software:
-Todo o código fonte será disponibilizado sob licença GPL;
Em andamento. Drivers básicos SD/MMC em estágio avançado de desenvolvimento. Drivers I2C precisam ser reescritos e testados, para suportar o relógio de tempo real.
-Deverá haver um software de testes que suporte o teste dos vários blocos que compõem o circuito, de forma a suportar a construção e teste gradual da interface;
O guia de montagem e teste substitiu tal software. Entretanto, 2 programas de teste necessitam ainda serem escritos; um para SD/MMC e outro para I2C.
-Deverão ser implementadas as rotinas de baixo nível destinadas à inicialização e identificação do cartão, bem como à leitura, escrita e apagamento de blocos de memória;
Rotinas de inicialização, escrita e de leitura prontas. Rotinas de identificação de fabricante e capacidade de disco ainda não escritas. Rotina de pré apagamento será desconsiderada, dada a velocidade de gravação já obtida sem tal rotina.
-O software deverá suportar cartões MMC e SDC;
A rotina de inicialização prevê ambos os tipos. Testado em um cartão SD. Ainda não testado com um cartão MMC.
-Deverão ser implementadas as rotinas de baixo nível para acesso ao relógio de tempo real;
Drivers I2C precisam ser reescritos e testados, para suportar o relógio de tempo real
Nenhum comentário:
Postar um comentário