selector de datos 2 a 1 (multiplexor)

Buenas, pues quiero hacer el siguiente proyecto (personal):
tengo una centralita de un vehiculo la cual lee los datos de una eeprom (27128) sobre los mapas de gasolina y encendido.

Quiero hacer con un pic que mediante un pc pueda ir cambiando los datos de esta memoria, como las eeprom no se pueden modificar he pensado usar una nvram, por ahora tengo en mente como hacerlo, lo ideal seria aprobechar despues de cada lectura de la memoria (lecturas de la centralita) para escribir en esta memoria y asi ir poder modificando parametros sobre la marcha.

El unico problema es que tendria que ir seleccionando entre la direccion que desee leer la centralita y la direccion que desee escribir el PIC (aparte tambien los 8 bits de lectura/escritura), y en el momento que la centralita desee leer un dato se le de prioridad sobre el pic.

He pensado en usar unos cuantos 74157 para ir secionando entre la direccion del pic y la direccion de la centralita (tambien los bits de datos). El unico problema es que este integrado solo tiene 4 puertos y la memoria tendria 14 (128k), necesitaria 4 integrados para la direccion, y 2 para los bits de datos, vamos ke serian 6 integrados, me gustaria saber si vosotros sabeis otro multiplexor que tenga mas puertos de entrada para no tener que recurrir a poner tantos integrados en un mismo circuito, he estado buscando en google, en las bibliotecas del isis, pero nada no encuentro ninguno solo el 74157 de cuatro puertos.

Realmente lo que necesito es, un selector de datos de 2 a 1, pero que en vez de 4 puertos tenga 8 o incluso mas.
 
Me he perdido un poco.
Supongo que quieres dos o mas mapas de motor para elegir el que quieras según el momento.
Pues nada, compras una memoria el doble o cuatro veces mas grande y seleccionas el bit que te sobra o los dos bits de mas que tienes, eso es todo. En la memoria grabas consecutivamente los mapas.

Si no encuentras mas grandes compras dos o cuatro veces la misma memoria las pones totalmente en paralelo excepto el pin ce de cada una que se los pones a la salida de un decodificador que ocupe los bits altos.

No creo que quieras ir cambiando datos sobre la marcha, eso podría ser un caos e incluso dañar el motor.
 
No, eso no es lo que quiero, eso lo pense en su momento pero lo que realmente quiero es poder modificar los mapas segun voy haciendo pruebas, esto no es perjudicial ya hay sistemas que lo hacen, de una forma u otra, pero quiero hacer mi propio sistema para poderlo modificar a mi gusto.

La mayoria de las centralitas que venden modifican los mapas sobre la marcha (realtime tune)

Lo que quiero es mediante un PIC en los momentos que la centralita no esta leyendo datos de la memoria poder escribir para modificar los mapas.



el esquema seria asi, luego vienen los pins de enable, escritura y eso pero bueno eso es lo de menos
 
Última edición:
Eso es muy complicado, mas bien imposible, sin tener las señales de control del microprocesador de la centralita. Compra una RAM de doble puerta, no son ni baratas ni fáciles de encontrar. Siemens tenía varios modelos.
Para no complicarte la vida busca un microcontrolador que admita memoria externa; un modo de funcionamiento tipo microprocesador, no se si algún PIC lo permite. Los 8052 por ejemplo si.

PD. A riesgo de parecer incrédulo y antipático, no me creo que no sea peligroso.
 
No lo es, te pongo una web ke funciona de esta forma www.nistune.com, lo llevan mucha gente y perfecto pero yo queria algo mas custom y ke me saliera por menos dinero.

Si tengo las señales de control, piensa que el pin E de la eprom se activa cada vez que necesite leer los datos de la eprom, luego la UCE da determinado tiempo para completar la lectura, lo normal es que la eprom que lleva tiene una lectura de 250ns, las nvram que he mirado tienen un tiempo de lectura de unos 25ns por lo cual tengo una ventaja y es que la lectura seria mas rapida.

A mi no me parece complicado la verdad, he visto cosas mas complicadas aun.

El tema es que no puedo usar un microcontrolador directamente, la lectura no seria tan rapida y entonces no le llegarian los datos a tiempo a la UCE, por lo cual seria un problema.
 
El sistema de ver la señal de enable no es en abosoluto predictivo; puede llegar a mitad de escribir un dato por el otro procesador y haber un choque de buses o a mitad de mapa ¿Entonces funciona con medio mapa de cada clase?
Además ¿la centralita solo usa ese bus para leer la eprom, no lo usa par mas cosas?
Si no quieres la ram de doble puerta entonces yo pondría dos ram con buffers triestado por duplicado cada una que harían la función del multiplexor que buscas, de esa dorma tendrías dos configuraciones; memoria A conectada a la centralita y memoria B al microcontrolador y cuando cambies un bit haría lo contrario; mem B a centralita y men A a micro.
Si quieres hacerlo con una sola memoria me parece que tendrás conflictos como los que te he dicho a cada momento pero bueno, los buses con dos dos buffers triestado; cuatro 74xx244 para el bus de direcciones y dos 27xx245 para el bus de datos según cual selecciones te manda las señales a un sitio o a otro.
Como los pinouts de esos integrados es un tanto caótico hay equivalentes eléctricos con pines ordenados, no recuerdo las referencias pero van por 74xx5yy
Cuando ajustes el sistema yo si que grabaría una eprom para evitar que por accidente se te borre en el momento mas inoportuno.
 
Última edición:
Si, tambien pense hacerlo con 2 nvram para asi mientras escribo una la otra esta libre para la UCE, luego cambio y escribo la otra para que asi ambas tengan los mismos datos. Pero segun veo en la web ke te puse lo hace con 1 sola nvram asi que supongo ke se podra hacer sin problemas.

Queria hacer pruebas asi, y si asi no me sirve hacerlo de la otra forma para ahorrarme comprar rams.
 
Atrás
Arriba