Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

27/05/2015 #21

Avatar de pandacba

y que has echo hasta ahora, primero que nada tienes idea de que hace un 74ls174? porque para empezar tenes que saber que hace cada integrado y luego ver como implementas tales funciones en el micro, todo el esfuerzo que esto supone se justifica si se va a utilzar un número elevado de veces, para una sola aplicación no tiene ni sentido, por el costo del tiempo y dinero, es más práctico hacer el diseño de los tres integrados en SMD y te van a ocupar menos espacio que un micro e incluso podes utilzar unos circuios lógicos que hay ahora que tiene uno o dos elemetos con lo cual ahorras más espacio aún
27/05/2015 #22

Avatar de Daniel Meza

No no no, MCU's para un circuito combinatorio no van (vamos de que se da la solución si pero no es lo recomendable). Te sugiero utilices alguna matriz de compuertas programable como el GAL22V10, GAL22V8 que son pequeños y baratos sin mencionar que mucho más rápidos que un MCU.
27/05/2015 #23


Mx23c8111
Hola,

A mi me parece una MX23C8111

Saludos
Archivos Adjuntos
Tipo de Archivo: pdf MX23C8111.pdf (327,5 KB (Kilobytes), 10 visitas)
27/05/2015 #24

Avatar de pandacba

Es otra posibilidad, pero no tiene idea con un micro menos con una gal, como para saber elegir la que necesita, no siempre se consiguen y tener los elementos para programarla tanto soft como hard
Por tiempo, costo y voumen lógica smd
27/05/2015 #25

Avatar de Meta

pandacba dijo: Ver Mensaje
y que has echo hasta ahora, primero que nada tienes idea de que hace un 74ls174?
Lo he estado mirando, me recuerda mucho al 74LS595 que si se manejar. Por supuesto que hay que mirarlo a fondo para imitarlo junto con los OR del 74LS32.

Daniel Meza dijo: Ver Mensaje
No no no, MCU's para un circuito combinatorio no van (vamos de que se da la solución si pero no es lo recomendable). Te sugiero utilices alguna matriz de compuertas programable como el GAL22V10, GAL22V8 que son pequeños y baratos sin mencionar que mucho más rápidos que un MCU.
Estos MCU si son lentos, se que hay de 200 MHz pero es complicado para mi conseguirlos a parte que debo aprender como se maneja aunque sean de C y el mismísimo C++ que lo diseñaron así Microchip.

¿Como estamos habladno de la Mega Drive un MCU de 20 MHz habrá problemas?

Puede que tenga la velocidad suficiente y no lo se. De todas maneras lo probaré y programaré el PIC en asm que pondré aquí.

miborbolla dijo: Ver Mensaje
Hola,

A mi me parece una MX23C8111

Saludos
Gracais por la eprom MX223C8111. No te digo que sea esa, a lo mejor lo es, investigaré para confirmarlo.

pandacba dijo: Ver Mensaje
Es otra posibilidad, pero no tiene idea con un micro menos con una gal, como para saber elegir la que necesita, no siempre se consiguen y tener los elementos para programarla tanto soft como hard
Por tiempo, costo y voumen lógica smd
Si es posible conseguir componentes que sean fáciles. En cuanto al tiempo, como esto es un hobby, me da igual, luego hago una buena documentación en Word y pdf paso a paso todo para no olvidarlo y los demás construirlo si les interesa. La parte de la programación es la más que se tarda. Cuando esté todo hecho, luego para los demás en montar y probar.

Lo que más me preocupa es que los MCU son más lentos que los 74XXyy, ya que 74LS es muchísimo más rápido y caro que los 74HC que también es más rápido que un MCU.

Por eso preguntaba sus consejos, haré prueba con la protoboard de los dos esquemas y sacaré con clusiones de experiencias si realmente funciona o no.

Programar el PIC en asm internamente funciona mucho más rápido que en C, ya que al compilar crea mucho más asm todavía en plan bestia y se nota el rendimiento.



Muchas gracias por los consejos. La mayoría no quiere saber nada de mi método aunque sea para ahorrar cables y componentes.
27/05/2015 #26

Avatar de Daniel Meza

El 74LS174 es más parecido a un 74LS373, e incluso más sencillo de comprender que un 74HC595, es sólo un registro paralelo con una entrada RESET.

Luego, aún programando en ASM el MCU queda muy lento; pues su "filosofia" de funcionamiento es el control no la decodificación. Si no quieres optar por un GAL puedes decantarte por utilizar algunos integrados LSI como decodificadores, multiplexores, etc en SMD (como recomienda Pandacba).

Como dices, es hobby, no pierdes con intentar y si es lo que está a la mano, adelante.
27/05/2015 #27

Avatar de Meta

Buenas:

A pesar de ser lento el MCU, sabiendo que los PIC son para control de periféricos y los TTL para codificación y decodificación. Quiero saber si realmente para lo que quiero de la Mega drive no haya problemas de velocidad. Que los TTL como el 74LSxx vayan muy rápidos (se que hay otros de 1 GHz pero no lo he visto en tiendas solo en wikipedia) no quiere decir que la Mega Drive aproveche su velocidad, jejeejjeej.

A, los PIC también puede hacer de code y decode muy perfect y a tu medida, es más, hascerle hasta un clone de un 74LS174 o el que sea, lo comento porque he hecho alguna imitación de un 74HXxx hace años como curiosidad y fucniona. Como bien dicen, el problema de la CPU es su lentitud, si no afecta esto para el circuito y no encuentras ese 74LS, lo imitas.

Hacer una buena tabla de la verdad.
Código:
; Implementar una tabla de la verdad mediante el manejo de tablas grabadas en ROM.
; Por ejemplo, la tabla será de 3 entradas y 6 salidas tal como la siguiente:
; 
;         C  B  A  | S5  S4  S3  S2  S1  S0
;         -----------|---------------------------
;         0   0   0   |   0    0    1    0    1    0    ; (Configuración 0).
;         0   0   1   |   0    0    1    0    0    1    ; (Configuración 1).
;         0   1   0   |   1    0    0    0    1    1    ; (Configuración 2).
;         0   1   1   |   0    0    1    1    1    1    ; (Configuración 3).
;         1   0   0   |   1    0    0    0    0    0    ; (Configuración 4).
;         1   0   1   |   0    0    0    1    1    1    ; (Configuración 5).
;         1   1   0   |   0    1    0    1    1    1    ; (Configuración 6).
;         1   1   1   |   1    1    1    1    1    1    ; (Configuración 7).
;
; Las entradas C, B, A se conectarán a las líneas del puerto A: RA2 (C), RA1 (B) y RA0 (A).
; Las salidas se obtienen en el puerto B:
; RB5 (S5), RB4 (S4), RB3 (S3), RB2 (S2), RB1 (S1) y RB0 (S0).
;
; ZONA DE DATOS **********************************************************************

    LIST        P=16F84A
    INCLUDE        <P16F84A.INC>
    __CONFIG    _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC

; ZONA DE CÓDIGOS ********************************************************************

    ORG     0                    ; El programa comienza en la dirección 0.
Inicio
    bsf        STATUS,RP0            ; Acceso al Banco 1.
    clrf    TRISB                ; Las líneas del Puerto B se configuran como salida.
    movlw    b'00011111'            ; Las 5 líneas del Puerto A se configuran como entrada.
    movwf    TRISA
    bcf        STATUS,RP0            ; Acceso al Banco 0.
Principal
    movf    PORTA,W                ; Lee el valor de las variables de entrada.
    andlw    b'00000111'            ; Se queda con los tres bits de entrada.
    addwf    PCL,F                ; Salta a la configuración adecuada.
Tabla
    goto    Configuracion0
    goto    Configuracion1
    goto    Configuracion2
    goto    Configuracion3
    goto    Configuracion4
    goto    Configuracion5
    goto    Configuracion6
    goto    Configuracion7
Configuracion0
    movlw     b'00001010'            ; (Configuración 0).
    goto    ActivaSalida
Configuracion1
    movlw     b'00001001'            ; (Configuración 1).
    goto    ActivaSalida
Configuracion2
    movlw     b'00100011'            ; (Configuración 2).
    goto    ActivaSalida
Configuracion3
    movlw     b'00001111'            ; (Configuración 3).
    goto    ActivaSalida
Configuracion4
    movlw     b'00100000'            ; (Configuración 4).
    goto    ActivaSalida
Configuracion5
    movlw     b'00000111'            ; (Configuración 5).
    goto    ActivaSalida
Configuracion6
    movlw     b'00010111'            ; (Configuración 6).
    goto    ActivaSalida
Configuracion7
    movlw     b'00111111'            ; (Configuración 7).
ActivaSalida
    movwf    PORTB                ; Visualiza por el puerto de salida.
    goto     Principal

    END
Por cierto, que eso de GAL. Nunca lo he oído antes.

Saludos.
27/05/2015 #28


pero si segun el intenet http://www.epforums.org/showthread.p...e-Genesis-Cart

la memoria es 27C
28/05/2015 #29

Avatar de Meta

Eso parece que es la 27C.

¿Qué hará esta placa de EEPROMssssssssssssssss?

Ver zoom.

http://www.psxdev.net/forum/viewtopic.php?f=62&t=723

Hay que leer bien l aWeb que pusiste sobre la EEPROM.
http://www.epforums.org/showthread.p...e-Genesis-Cart

Saludos.

Edito:

Mirando enlaces sobre velocidad de los TTL y los MCU.

Los circuitos de tecnología TTL se prefijan normalmente con el número 74 (54 en las series militares e industriales). A continuación un código de una o varias cifras que representa la familia y posteriormente uno de 2 a 4 con el modelo del circuito.
Con respecto a las familias cabe distinguir:
  • TTL: serie estándar.
  • TTL-L (low power): serie de bajo consumo.
  • TTL-S (schottky): serie rápida (usa diodos Schottky).
  • TTL-AS (advanced schottky): versión mejorada de la serie anterior.
  • TTL-LS (low power schottky): combinación de las tecnologías L y S (es la familia más extendida).
  • TTL-ALS (advanced low power schottky): versión mejorada de la serie LSS.
  • TTL-F (FAST : fairchild advanced schottky).
  • TTL-AF (advanced FAST): versión mejorada de la serie F.
  • TTL-HCT (high speed C-MOS): Serie HC dotada de niveles lógicos compatibles con TTL.
  • TTL-G (GHz C-MOS): GHz (From lbkj).
http://es.wikipedia.org/wiki/Tecnolog%C3%ADa_TTL

Un PIC16F con 20 MHz con oscilador externo, su CPU a 5 MPIS (Millones de instrucciones por segundos).

1) ¿Qué velocidad en MHz tiene un 74HC32?

2) ¿Y un 74LS32?

3) ¿Un PIC16Fxx con 20 MHz de oscilador simulando puerto OR o el 74xx32?

Esto es importante saberlo, ya que se puede saber si afecta a lo que busco o no.

Saludos.
28/05/2015 #30

Avatar de Daniel Meza

En las compuertas el tiempo de respuesta está dado básicamente por el tiempo que tardan en saturarse/cortarse los transistores por los que está compuesta, hablamos de algunos cuantos nS. En cambio un MCU utilizado como compuerta tiene un tiempo de retraso que depende estrictamente de su frecuencia de CPU y del programa que ejecuta.
Utilizar interrupciones será entonces lo viable para disminuir el tiempo de respuesta.

Otra cosa, puedes investigar el CPU que usan esas consolas que mencionas y buscar si tienen algún pin de "espera" para detener al CPU al momento de acceder a la memorias.
Recuerdo que el Z80 tenía precisamente un pin llamado #WAIT que al activarlo detenía tantos ciclos máquina a la CPU como tiempo estuviera en bajo este pin; en caso de existir este pin en las CPU's puedes utilizar un pin del PIC para detener a la CPU y le de tiempo de acceder a las memorias.

Respondiendo a tus preguntas, según la hoja de datos la compuerta 74HC32 tiene un retardo de propagación de 6nS @25°C, a lo burdo podemos decir que puede operar hasta a 166MHz aprox pero en realidad andan por l orden de los 100MHz. Ni a palos un MCU llega a mejorar ese tiempo de respuesta (claro que puede no ser crítico en tu aplicación).

Los GAL son circuitos combinatorios/secuenciales que se "graban" según las necesidades; matrices cuyo objetivo es resolver ecuaciones lógicas en lugar de resolverlas por compuertas discretas.

Salu2
28/05/2015 #31

Avatar de Meta

Hola:

Un buen MCU sería un PIC32 del que va a 200 MHz. Por lo que he estado informando, un buen ARM viene de perlas, pero es más complejo de ocnseguir y saber como se maneja, ajjjajajaja, si no ocurre una cosa, ocurre otra. Hay un ARM a 1,7 GHz, un procesador claro, tampoco necesitamos cosas en plan bestia,

Por lo que veo en el esquema del cartucho de Mega Drive, usa un TTL. Así que sospecho que el PIC hace el cambio de memoria cuando hay un juego.

Por ejempl, si tenemos 10 memorias que solo usa un juego para cada uno, con el PIC cambia de EEPROM, no necesita cambiar estados cada dos por tres, así que de paso, se guarda el estado del último juego jugado con posibilidad si deseas programarlo así también.

Voy a buscar cuanto aguanta el procesador de la Mega Drive. Saludos.
29/05/2015 #32


En su momento, en una época lejana cuando los Slots (conectores de los cartuchos) de mi Timex Sinclair 2068 se comenzaban a deteriorar, me propuse a fabricar un multiplexor para poder tener todos mis cartuchos (eproms) en una sola tarjeta y seleccionaba el que me placiera por medio de un "DIP switch" o "JUMPERS", este dip switch actuaba sobre uno o varios 74ls138, 74ls139 e incluso un 74ls30 para poder seleccionar el emprom que necesitaba.

Ya después con el avance de la tecnología tuve a mano emproms mas grandes 27c64, 27c128, 27c256, y aprendía a meter en un solo eprom varios cartuchos o programas y con el mismo metodo mencionado y algunas modificaciones minimas, seleccionaba la dirección de "boot" o arranque que buscaba el bios de mi Timex Sinclair; Todo esto que comento es por que despejo que Meta quiere hacer justamente eso.

Así que yo, antes de meterme en pic´s y su programación, buscaría información técnica que haga mención a las direcciones de memoria para el arranque de los juegos, acto seguido con algunas ROMS de dichos juegos, intentaría el primer cartucho y de ahi hasta el infinito.

Francamente no tengo ni diagramas ni apuntes de esa época lejana como para compartir.

Reciban un cordial saludo
29/05/2015 #33


Meta dijo: Ver Mensaje
Eso parece que es la 27C.

¿Qué hará esta placa de EEPROMssssssssssssssss?
http://www.psxdev.net/forum/download...35145800c6d65f
Ver zoom.
segun foro http://www.smspower.org/forums/12038...nADevkitAnyway


esa es una cartucho de desarrollo para con puerto paralelo para conectar al pc



(C) 1991 Western Technologies, Inc.
GENESIS DEVELOPMENT CARD REV C
SC DS4992

Memory capacity:

2MB of SRAM (16x Sony CXK581000P 128Kx8 100ns SRAM)
8K of EPROM (2x 27C16)

Upon initial inspection it appears to have an IEEE 1284 (Centronics) connector on the back that interfaces to a standard PC parallel port. On the 68000 side this appears as an 8-bit I/O port at $A13000, which is in the /TIME range yet that pin is not connected on the cartridge. It may do its own address decoding instead.
29/05/2015 #34

Avatar de Meta

miborbolla dijo: Ver Mensaje
En su momento, en una época lejana cuando los Slots (conectores de los cartuchos) de mi Timex Sinclair 2068 se comenzaban a deteriorar, me propuse a fabricar un multiplexor para poder tener todos mis cartuchos (eproms) en una sola tarjeta y seleccionaba el que me placiera por medio de un "DIP switch" o "JUMPERS", este dip switch actuaba sobre uno o varios 74ls138, 74ls139 e incluso un 74ls30 para poder seleccionar el emprom que necesitaba.

Ya después con el avance de la tecnología tuve a mano emproms mas grandes 27c64, 27c128, 27c256, y aprendía a meter en un solo eprom varios cartuchos o programas y con el mismo metodo mencionado y algunas modificaciones minimas, seleccionaba la dirección de "boot" o arranque que buscaba el bios de mi Timex Sinclair; Todo esto que comento es por que despejo que Meta quiere hacer justamente eso.

Así que yo, antes de meterme en pic´s y su programación, buscaría información técnica que haga mención a las direcciones de memoria para el arranque de los juegos, acto seguido con algunas ROMS de dichos juegos, intentaría el primer cartucho y de ahi hasta el infinito.

Francamente no tengo ni diagramas ni apuntes de esa época lejana como para compartir.

Reciban un cordial saludo
Buenas:

He estado leyendo. Si quiero poner un juego por cada cartucho o dos juegos por EEPROM según memoria. En la SNES hace Reset durante dos segundos cambia de juegos y desde un PIC. Así que el multiplexor no funcinoa constantemente los cambios y no necesita grandes velocidades, así que en la Mega drive funcionará igual.



Saludos.
29/05/2015 #35


Entonces quiere decir que solo se actuara sobre el CE o chip enable de los eproms, dejando tal cual el bus de direcciones y el bus de datos. Y en su defecto, si se ocupan memorias mucho mas grandes que la ROM original, solo se debe activar el pin de Dirección (Ax) correspondiente de la memoria para activar el banco de memoria que se desee seleccionar.

Siendo así la cosa, entonces el pic funcionara a la perfección para esa función, no importa para nada la velocidad del microcontrolador y solo se debe prever que el propio microcontrolador sea el arbitro a través de la señal del RESET de la consola, para que cada que se cambie de banco de memoria se reinicie el sistema y se ejecute la nueva rutina.

Saludos
30/05/2015 #36

Avatar de Meta

Así es, lo que no sabía como explicarlo desde el principio. He visto en algunos cartuchos de SNES con un pulsador integrado en la parte de arriba, al lado de la carátula. También sin apagar la SNES, se cambia de juego, era un 4 en 1.

Hay sistemas de menús en algunos cartuchos, lo que no se si así servirá el MCU ya que no hay que reiniciar la consola, solo se cambia los bancos de memoria y no se si es obligado el TTL.

Hay que experimentar.

Saludos.
30/05/2015 #37


Yo considero que si vas a meter varios programas en una sola ROM, las compuertas del TTL 74ls32 que conmutaran la parte alta del bus de direcciones son prácticamente inevitables, ya que la "armonía" o sincronía entre los buses de datos, direcciones y de control debe ser casi perfecta para que opere el microprocesador; muy difícilmente la podrás lograr con el puro Microcontrolador por muy rápido que pudiera ser este.

Aunque reitero que tomando esto en cuenta, el Microcontrolador cumplirá perfectamente la función de Conmutar los diferentes eproms y sus bancos de direcciones, a tal sofisticacion que el propio microcontrolador podrá tener un LCD donde despliegue el eprom seleccionado y toda una gama de cosas cosméticas.

Saludos
30/05/2015 #38

Avatar de Meta

Hola:

El tema de multiplexado, si solo se hacen en cada ciertos momentos, no todo el rato, a lo mejor funciona. Digo a lo mejor, porque al elegir un juego que hay en el menú, en ese caso puede pasar lo que dices, si lo cambias con el Reset de la consola o el propio pulsador que incluye en el cartucho, pues es otro cantar, ejejje.

Toca hacer pruebas y ya se verá.

Saludos.
22/01/2016 #39

Avatar de Meta

Hola:

Hice un tema nuevo y lo cerraron, así que a continuar por aquí.

De esta placa.


La serie 74LSxx ya buscaré cada uno de ellos que son y lo que hacen, sus datasheet. Esto parace un cambio de mapa de memoria como dices.

A seguir investigando.

Respuesta de TRILO-BYTE:

yo en el 2010 y 2012 hise experimentos sobre cartridges atari 2600 y NES.

pero en el NES habia halgo diferente que habia 2 ROMS.

yo hise desensambladores de .NES escritos en C de borland 5 pero mi computadora murio y se perdio el ejecutable que rompia el .nes en CHR.BIN y PGR.BIN

muy importante que sean .BIN

el .HEX es mas complicado por que debes seguir un protocolo ya sea intel "lo conoses en los pic" y el formato S de motorola.

si es que vaz a usar un grabador

si vas a usar un grabador casero te recomiendo el batronix v3.1 es gratuito pero en puerto paralelo solo corren en WinXP.

una vez hise un post de como crear un grabador de memorias paralelas con un 18f4550 en usb
pero es muy lento , y solo graba en memorias HY6264.


no te puedo pasar el codigo fuente por que tambien se perdio. hubiera sido interesante que alguien con mas talento en programacion lo modificara para que grabara EEPROMS.

tambien te digo si tienes un Atari 2600 tambien puedes hacer su rom y escribir tu propio videojuego con VISUAL BATARI BASIC es muy intuitivo como complejo.

si quieres copia este mensaje y publicalo para que alguien interesado lo pueda realizar
22/01/2016 #40

Avatar de Meta

Con los willem se graba.

http://www.sivava.com/programmer/wil...rom-programmer

Ahora me toca conseguir el bin o la ROM de este clon de los 400 juegos, modelos GY-636 400.

Dentro de un buen rato conseguiré más información.
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.