O módulo RTC é baseado num PCF8563. Uma bateria tipo botão alimenta o circuito enquanto a alimentação está desligada. Abaixo encontra-se uma figura da placa, que foi projetada para encaixar-se sobre o leitor de MMC/SD.
O layout, em 300dpi, encontra-se abaixo.
quarta-feira, 31 de janeiro de 2007
terça-feira, 30 de janeiro de 2007
Mais um passo.
As modificações nos circuitos dos registradores de deslocamento foram testadas com sucesso. Agora é possível inclusive operar em modo SPI como se fosse num microcontrolador, ou seja, para transferir um byte, basta:
O circuito aogora está pronto para iniciar os primeiros testes com o cartão SD.
Mas antes é necessário realizar...
- Atualização do guia de montagem e teste, para contemplar as modificações já efetuadas;
- Atualização do circuito e do "layout" da placa para a revisão A;
- Limpeza da casa (mesas dos computadores, bancada, etc);
Nota: Entre o OUT e o IN é necessário que se passem ao menos 8 ciclos de clock. As instruções automáticas INIR e OTIR funcionam porque gastam ciclos de clock suficientes entre leituras ou escritas consecutivas.
Na foto, o protótipo 2 e a sonda lógica com contador digital, uma ferramenta desenvolvida especialmente para ajudar na montagem e teste do circuito (desde o protótipo 1). O projeto completo da sonda vai ser divulgado em breve.
LD A,BYTE ; Byte a ser enviado
OUT (SPI_ADDRESS),A ; Envia byte
NOP ; entre o OUT e o IN é necessário que
; ocorram ao menos 8 ciclos de clock.
IN A,(SPI_ADDRESS) ; Recebe o byte
O circuito aogora está pronto para iniciar os primeiros testes com o cartão SD.
Mas antes é necessário realizar...
- Atualização do guia de montagem e teste, para contemplar as modificações já efetuadas;
- Atualização do circuito e do "layout" da placa para a revisão A;
- Limpeza da casa (mesas dos computadores, bancada, etc);
Nota: Entre o OUT e o IN é necessário que se passem ao menos 8 ciclos de clock. As instruções automáticas INIR e OTIR funcionam porque gastam ciclos de clock suficientes entre leituras ou escritas consecutivas.
Na foto, o protótipo 2 e a sonda lógica com contador digital, uma ferramenta desenvolvida especialmente para ajudar na montagem e teste do circuito (desde o protótipo 1). O projeto completo da sonda vai ser divulgado em breve.
Reta final do projeto de "hardware"
O Hardware do protótipo 2 está em fase final de testes. Falta ainda testar duas modificações, relacionada aos sinais "RCK" do 74HCT595 e "LD165" do 74HCT165, pois há um pequeno erro de conceito que passou batido durante o projeto do prototipo2.
Eu criei sinais pra desabilitar o "reset" do gerador automático de clock nos eventos de leitura e de escrita na porta SPI, mas me esqueci de que os sinais que acionam o 74HCT595 e o 74HCT165 ficaram DEPOIS do circuito de desabilitação, ou seja depois dos flip-flops sincronizadores. Assim, não é possível nem ler o byte que foi transferido anteriormente, nem carregar um novo byte para ser transferido depois.
Quanto ao sinal "LD165", que vai para o 74HC165, é fácil de resolver, pois basta conectar este sinao à linha /WR0, ou seja, antes do flip-flop. Já o sinal "RCK595" temque ser tirado de um outro ponto, pois este é invertido em relação ao sinal /RD0. Assim este sinal vai ser retirado do evento do STOP do gerador de clock automatico (pino 8 do contador 393).
Com estas configurações vai ser possível o funcionamento como se fosse um "hardware" SPI tradicional, ou seja
OUT (porta dados), valor
serialização automática do valor
e em seguida IN (porta de dados)
O circuito atual pode ser visto abaixo, já com as modificações incorporadas.
clique na imagem para ampliar
Eu criei sinais pra desabilitar o "reset" do gerador automático de clock nos eventos de leitura e de escrita na porta SPI, mas me esqueci de que os sinais que acionam o 74HCT595 e o 74HCT165 ficaram DEPOIS do circuito de desabilitação, ou seja depois dos flip-flops sincronizadores. Assim, não é possível nem ler o byte que foi transferido anteriormente, nem carregar um novo byte para ser transferido depois.
Quanto ao sinal "LD165", que vai para o 74HC165, é fácil de resolver, pois basta conectar este sinao à linha /WR0, ou seja, antes do flip-flop. Já o sinal "RCK595" temque ser tirado de um outro ponto, pois este é invertido em relação ao sinal /RD0. Assim este sinal vai ser retirado do evento do STOP do gerador de clock automatico (pino 8 do contador 393).
Com estas configurações vai ser possível o funcionamento como se fosse um "hardware" SPI tradicional, ou seja
OUT (porta dados), valor
serialização automática do valor
e em seguida IN (porta de dados)
O circuito atual pode ser visto abaixo, já com as modificações incorporadas.
clique na imagem para ampliar
segunda-feira, 29 de janeiro de 2007
Resolvendo problemas no conversor 5V->3V
O conversor de 5V-3V estava apresentando um comportamento estranho. Logo após a tensão ter sido ajustada para 3,4Volts, o 74HC125 foi conectado e a tensão passou para 4,3Volts. E desta vez o potenciômetro de ajuste de nada adiantava.
A causa eram os diodos internos de proteção do 74HC125, que conduziam, grampeando assim a tensão do lado de 3V para 4,3Volts, que é exatamente 5V-0,7V da tensão direta do diodo.
A solução foi identificar as linhas responsáveis (SCK, CS e DIN) e colocar em serie um resistor de alguns kilo-ohms. Um capacitor eletrolítico logo após o regulador de 3V também foi colocado.
Em tempo: 3V é o nome da linha que é ajustada para 3,4Volts em aberto, mas cujo valor flutua um pouco, dependendo do consumo do cartão. Mas isso não é problema, pois o cartao trabalha bem entre 2,6 a 3,6 Volts
A causa eram os diodos internos de proteção do 74HC125, que conduziam, grampeando assim a tensão do lado de 3V para 4,3Volts, que é exatamente 5V-0,7V da tensão direta do diodo.
A solução foi identificar as linhas responsáveis (SCK, CS e DIN) e colocar em serie um resistor de alguns kilo-ohms. Um capacitor eletrolítico logo após o regulador de 3V também foi colocado.
Em tempo: 3V é o nome da linha que é ajustada para 3,4Volts em aberto, mas cujo valor flutua um pouco, dependendo do consumo do cartão. Mas isso não é problema, pois o cartao trabalha bem entre 2,6 a 3,6 Volts
sexta-feira, 26 de janeiro de 2007
Mais alguns testes em vista, e mais algumas possibilidades
O protótipo 2 já está quase 100% testado, pronto portanto para ser usado no desenvolvimento dos drivers para cartão SD e MMC, mas algumas coisas no circuito ainda podem ser melhoradas.
Mas isso só vai ser testado depois que as rotinas básicas de acesso ao cartão já estiverem prontas. Além disso, o escopo dos requisitos definidos há um bom tempo é suportar um cartão.
- O conversor 5V->3V pode ser melhorado,
- A linha LIGA_3V3 que também aciona 2 portas do HC125 estã inútil, pois quando não há alimentação, não importa se as portas estão ou não conectadas. Com isso é provável que o diodo D5 saia do circuito, liberando assim uma linha do 74HCT595.
- A porta IC6C talvez possa ser eliminada, ligando-se a linha SD_DOUT do cartão diretamente ao pino de entrada (SER) do 74HC595.
Mas isso só vai ser testado depois que as rotinas básicas de acesso ao cartão já estiverem prontas. Além disso, o escopo dos requisitos definidos há um bom tempo é suportar um cartão.
quinta-feira, 25 de janeiro de 2007
HB-7000: Guia de Montagem e Teste
O guia de montagem para a interface leitora de SD/MMC está quase pronto.
O guia está sendo criado/revisado juntamente com a primeira montagem do protótipo 2. Até agora, os principais sub-circuitos já foram testados e estão funcionando.
Os testes de hardware se baseiam em comandos simples do BASIC do MSX, e têm como objetivo testar passo a passo o funcionamento do circuito, enquanto este está sendo montado.
A estrutura dos testes é apresentada abaixo. Os testes em verde já foram efetuados no protótipo2. Os testes em laranja ainda estão sendo escritos.
Durante os testes do "hardware" I2C, o teste permitiu isolar uma falha, cuja causa já foi descoberta e corrigida, gerando uma nota no roteiro de teste. O diodo que estava aberto foi substituído e os testes prosseguiram.
1. Montagem da placa
2. Hardware Básico
O guia está sendo criado/revisado juntamente com a primeira montagem do protótipo 2. Até agora, os principais sub-circuitos já foram testados e estão funcionando.
Os testes de hardware se baseiam em comandos simples do BASIC do MSX, e têm como objetivo testar passo a passo o funcionamento do circuito, enquanto este está sendo montado.
A estrutura dos testes é apresentada abaixo. Os testes em verde já foram efetuados no protótipo2. Os testes em laranja ainda estão sendo escritos.
Durante os testes do "hardware" I2C, o teste permitiu isolar uma falha, cuja causa já foi descoberta e corrigida, gerando uma nota no roteiro de teste. O diodo que estava aberto foi substituído e os testes prosseguiram.
1. Montagem da placa
- Testes Estáticos
2. Hardware Básico
- Teste do Decodificador de Endereços
- Teste do Registrador Endereçável
- Teste do "flip-flop" Sincronizador
- Teste do Gerador de "clock" Automático
- Teste do "Hardware" I2C
- Teste dos registradores de deslocamento
- Teste do conversor 5V->3V
- Teste do conversor TTL<->LV
Enfim, um nome para o projeto
O projeto do leitor de SD/MMC, apesar de ter avançado bastante, ainda não tinha um nome. Apesar de vários terem surgido, nenhum ainda tinha soado bem.
Decidi então seguir a nomenclatura de produtos para o HotBit, e por isso projeto foi batizado de:
HB-7000: Interface rápida para cartões SD/MMC
Decidi então seguir a nomenclatura de produtos para o HotBit, e por isso projeto foi batizado de:
HB-7000: Interface rápida para cartões SD/MMC
quarta-feira, 24 de janeiro de 2007
Concluída a montagem do protótipo2
A montagem do protótipo 2 foi concluída. Eis a foto, ainda sem os CIs nos soquetes:
Os testes estáticos foram realizados comparando as ligações do diagrama contra o circuito montado. Foram necessárias apenas 3 correções, duas delas por falha na placa, durante a corrosão do circuito impresso, e uma por um erro no diagrama. Houve ainda uma modificação que não estava prevista inicialmente no diagrama, que também foi implementada.
Agora começam os testes dos diversos sub-circuitos.
O diagrama da Revisão A encontra-se abaixo:
Os testes estáticos foram realizados comparando as ligações do diagrama contra o circuito montado. Foram necessárias apenas 3 correções, duas delas por falha na placa, durante a corrosão do circuito impresso, e uma por um erro no diagrama. Houve ainda uma modificação que não estava prevista inicialmente no diagrama, que também foi implementada.
Agora começam os testes dos diversos sub-circuitos.
O diagrama da Revisão A encontra-se abaixo:
terça-feira, 23 de janeiro de 2007
Montagem do Protótipo2
Captura de Listagem
O "software" em assembler para captura de listagem foi testado e está funcionando. A configuração do HyperTerminal, ou de qualquer outro programa de captura serial é 9600Bauds, 8 bits, Sem paridade, 1 bit de parada (9600 8-N-1).
quinta-feira, 18 de janeiro de 2007
Protótipo 2 a caminho!
Assinar:
Postagens (Atom)