Placa KC89C72

De Garoa Hacker Clube
Revisão de 07h28min de 20 de janeiro de 2014 por DQ (discussão | contribs)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

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

Circuito

Circuito montado (atualizado em 20/jan/14):

Circuito KC89C72.png

Obs.:

Placa:

Placa KC89C72.jpg

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

Protoboard KC89C72.jpg

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.