sexta-feira, 16 de março de 2007

Status do Projeto

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;

Cumprido. Módulo RTC já construído, e testado.

-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 já foram reescritos e testados.

-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. Programa de teste para relógio de tempo real já escrito e testado. Programa de teste para SD/MMC ainda precisa ser escrito.

-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;

Cumprido. A rotina de inicialização prevê ambos os tipos. Testado em um cartão SD e um cartão MMC

-Deverão ser implementadas as rotinas de baixo nível para acesso ao relógio de tempo real;

Cumprido. Drivers I2C já testados, e suportam a operação básica do relógio de Tempo Real

Nenhum comentário: