Mcu Readers
Todos os leitores de MCU descritos aqui tiram partido de uma falha de design dos MCUs OKI (e a falha de design está presente em todos os MCUs que vimos até à data).
Adaptado de pgmfi.org wiki
Todos os leitores de MCU descritos aqui tiram partido de uma falha de design dos MCUs OKI (e essa falha de design está presente em todos os MCUs que vimos até à data). Os MCUs podem utilizar tanto a ROM interna como a ROM externa para armazenamento da memória de programa, e um sinal GND ou +5V no _EA (EA prime - normalmente tem uma linha sobre o EA) é utilizado para controlar se é selecionada a memória de programa interna ou externa. *Os MCUs OKI não fazem o Latch do estado do pino _EA no arranque - através de um truque engenhoso, a memória de código interna pode ser desmascarada após o MCU ter começado a executar código. Todos os dumpers de ROM que tiram partido desta falha funcionam assim:
- Ligar manualmente um pino de I/O ao pino _EA do MCU. Utilizar um resistor pull-up/pull-down se necessário.
- Utilizar uma ROM que seja maior do que a ROM interna do MCU. Garantir que todas as linhas de endereço estão ligadas conforme necessário.
- Inicializar a porta série do MCU para comunicação com o PC
- Saltar para cima da área de ROM mascarada (32k para
66207, 48k para66507, ...) - Inverter o estado do _EA usando o pino de I/O
- Entrar num ciclo de atraso (delay loop) suficientemente longo para permitir que a ROM interna seja novamente mascarada na memória
- Copiar o conteúdo da ROM para fora através da porta série
Existem vários designs que foram testados:
- Leitor OBD0 Oki83 C154 - Adaptação de Blundar
- Leitor OBD1 Oki66207-DIP64 - Design original
66207do Doc para chips de encapsulamento DIP - Leitor OBD1 Oki66207-PLCC68 - Adaptação do design de Doc por John de sol para 66207s SMT do mercado japonês (JDM)
- Leitor OBD2 Oki66507 Nico - Leitor original de Nico para o
66507 - Leitor OBD2 Oki66507 Didier - Design revisto de Didier para um leitor de
66507
Um leitor para outros chips exigiria o ajuste do encapsulamento físico da placa e do código para a velocidade do relógio (clock speed) e tamanho da ROM.
Créditos e fonte
Fonte Adaptado de Mcu Readers em pgmfi.org wiki. Licenciado sob CC BY-NC-SA 1.0.