Placa KC89C72
Placa para Experiências com Chip de Som AY-3-8910 / KC89C72
O CI AY-3-8910 é um gerador programável de sons, usado em jogos arcade e microcomputadores pessoais como o ZX Spectrum e MSX. O objetivo deste projeto é fazer uma placa para facilitar experiências em conjunto com o Arduino e outros microcontroladores.
Será usado o chip KC89C72 que é um clone chinês do AY-3-8910.
Responsáveis em ordem alfabética
Referências
- Descrição do AY-3-8910 na Wikipedia (english)
- Descrição do AY-3-8910 na Wikipedia (português)
- Exemplo no Arduino Playground
- Datasheet (pdf)
- Manual com dicas de uso (rar contendo o pdf)
Circuito
Circuito montado (atualizado em 20/jan/14):
Obs.:
- Transistor é o S8050
Placa:
Estudos do Circuito
Será montado em uma placa padrão, contendo um soquete para o KC89C72 e os seguintes circuitos de apoio:
- 74HC595 (conversor serial para paralelo) para reduzir o número de interconexões com o microcontrolador
- LM386 (amplificador de audio) para reproduzir o som diretamente em um alto falante
- datasheet
- Circuito básico: http://web.mit.edu/6.s28/www/schematics/lm386.htm
- Alternativa: amplificador com transistor S8050
- Oscilador de 2MHz
- Ideia inicial oscilador a cristal com 74HC00 - cristal de 2MHz não é muito comum
- Expansões para Spectrum ZX e Timex 2048 usando oscilador RC @ 1.7MHz - parece ser a melhor opção
- Nos testes o circuito acima não funcionou
- Funcionou com o circuito desta página, com R1=330 ohms, R2=3.3K e C=470pF (dois capacitores de 1nF em série). A fórmula na página não dá o resultado correto (porque não considera o tempo de propagação das portas?).
- Outro circuito é descrito neste application note (pdf).
- Ideia maluca: usar uControlador de 8 pinos para gerar o sinal a partir do oscilador interno
- Pode ser outros valores entre 1 e 2MHz. Tenho um cristal de 1,8432MHz
- 11/jan/14: trocado o oscilador RC por um oscilador a cristal de 2MHz com 74HC00
A conexão da placa com o microcontrolador será através de um conector com os seguintes sinais:
- Gnd
- +5V
- Dado, Clock e Latch para o 595
- Sinais BC1 e BDIR do KC89C72
Teste em 22/9/13
Montagem em protoboard
- Conexão Arduino + KC89C72 + 74HC595 conforme exemplo no Arduino Playground
- Oscilador de 1,7MHz composto de 74HC00 + RC
- Código copiado do exemplo no Arduino Playground
- Pendente acertar valores para 1,7MHz ao invés de 2MHz
- Testados amplificador c/ LM386 e S8050 - ambos funcionaram a contento
CIs, no sentido horário a partir do alto à esquerda: 74HC00 (NAND, para geração do clock), KC89C72 (Gerador Programável de Sons), 74HC595 (Conversor serial p/ paralelo), LM386 (amplificador de áudio).
Teste em Out e Nov/13
Feita a montagem em placa padrão. Som gerado muda muito de frequência quando encosto a ponta de prova do osciloscópio na saída do oscilador, cálculo da frequência não está funcionando. Feitas experiências para montar um oscilador usando um cristal de 2MHz.
11 e 12/jan/14
Substituído o oscilador RC por um com cristal de 2MHz. Som gerado continua mudando de frequência quando encosto a ponta de prova do osciloscópio na saída do oscilador, mas agora o cálculo de frequência funciona (não encostando a ponta de prova no oscilador).
13 a 19/jan/14
Várias experiências feitas com sucesso, documentadas no meu blog.
20/jan/14
Projeto considerado concluído.