Sustitución de una matriz de conmutación por diodos con un conmutador analógico de punto de cruce 8x8

0

Tengo una pieza antigua de un equipo (un teclado Casio MT65) que usa una matriz de interruptores con diodos en serie con cada interruptor.

Similar a esto: enlace

Quería reemplazar este chip es similar a este: ADG2188BCPZ enlace

Mi pregunta es: ¿es esto posible ya que el chip no tiene el equivalente de los diodos en sus puntos de cruce? ¿Hay alguna forma de hacer esto?

Gracias

    
pregunta Guy Taylor

1 respuesta

1

La hoja de datos muestra que la matriz de conmutación no tiene el equivalente de los diodos en su lugar:

Estotienesentidoyaquelamatrizestádestinadaacambiarunavariedaddeseñales,yparalamayoríadelasaplicacionesnodesealosdiodosyaquepuedeninterferirconlaseñal.

Siestocausaunproblemaparausteddependedelusodelteclado/teclado.

Siestácreandountecladoenelquesolosepresionaunateclaalavez,técnicamentenonecesitalosdiodosparaelaislamientoyelADG2188BCPZfuncionaría.Perosiestácreandountecladoautomáticodondesepuedenpresionarvariasteclassimultáneamente,entoncesnecesitarálosdiodosdeaislamientoyestosnosepuedeninstalarenlamatrizdeconmutadoresADG2188BCPZ,yaquesolotienelasclavijasdebusX,Ydisponibles.

Hayunabuenaexplicación aquí para lo que se describe como clave fantasma, pero si te gustan los teclados de PC, generalmente llamado el problema de reinversión de N-Key.

En su caso con su matriz como se muestra:

SupongamosquePB0-7sonbitsdesalidadeunaMCUyquePR0-7sonbitsdeentrada(esnecesariomedirlosconunosciloscopioparaasegurarse).Enestecaso,un'1'digitalen,porejemplo,PB7sealimentaríaatravésdeunodelosdiodosenesacolumnayuninterruptorcerradoparaproporcionarlaseñal'1'enunadelasentradasPR0-7.YaquenopuedeproporcionarelaislamientorequeridoutilizandoelADG2188BCPZ,tendríaquehacerlodeotramanera.
Sugeriríalosiguiente:
  ComoobviamentetieneunaMCU(paracontrolarlainterfazI2C),puedeusar8bitsdeentradaparaencontrarcuáldelaslíneasPB0-7esalta(obajasilalógicafuncionadeesamanera)yluegosimplementeconfigurePR0-7líneacorrespondienteaesaposicióndelinterruptormientrasquelaseñalesalta. Puedeutilizardos PCA9538 de NXP, una para detectar las líneas de la columna y uno para conducir las entradas de registro. El PCA9538 es un registro de 8 bits que puede configurarse para entrada o salida e incluso puede crear una interrupción utilizando un valor de comparación para las entradas.

La velocidad de escaneo del teclado, como la que tiene, suele ser bastante baja, del orden de unos pocos kHz, por lo que, dependiendo de su MCU seleccionada, puede decidir que puede compilar el código directamente o pasarlo a algo como un Arduino se centró en la tarea.
Configuraría un PCA9538 para leer las columnas de exploración y una para generar el estado del interruptor de llave para cada columna. Entonces no necesita ningún diodo para el aislamiento y solo necesita 17 líneas (PB0-7, PR0-7 y grnd) para su conexión. Mantendría su matriz de estado clave en la memoria y transferiría los valores a medida que cada columna aparece. Tienes que hacer esto a la velocidad de escaneo de la columna continuamente, por supuesto.

    
respondido por el Jack Creasey

Lea otras preguntas en las etiquetas