Prototipo 2 del ZX-Uno

Sinclair QL, ZX81, +2, +3, 128K ...
Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Prototipo 2 del ZX-Uno

Mensajepor antoniovillena » 20 Oct 2014, 20:57

Me comenta flopping que tiene su prototipo 1 a medio montar pero que está muy liado con los DivIDEs y no le va a dar tiempo a montarlo antes del 26. Así que he decidido darle un mes más para que lo monte, sería antes del 26 de Noviembre. Lo siento enkonsierto, vas a estar más tiempo sin saber si ese ZX-Uno será para tí.

Avatar de Usuario
Hark0
Amiga 1200
Amiga 1200
Mensajes: 1695
Registrado: 11 Jul 2012, 23:44
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: (Otro)
Primera consola: (Otro)
Ubicación: Cornellà de Llobregat - Barcelona
Contactar:

Re: Prototipo 2 del ZX-Uno

Mensajepor Hark0 » 21 Oct 2014, 13:00

(12 páginas y como aquel que dice el hilo es "nuevo") :shock: ;)
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.

Avatar de Usuario
yombo
Amstrad PCW 8256
Amstrad PCW 8256
Mensajes: 190
Registrado: 01 Ago 2014, 22:52
Sistema Favorito: Spectrum +2
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: TV Games/Pong Clone
Primera consola: TV Games/Pong Clone

Re: Prototipo 2 del ZX-Uno

Mensajepor yombo » 21 Oct 2014, 13:12

Ya que aún hay tiempo, me gustaría hacer una sugerencia que no he hecho antes por timidez.

Se trata de poner en la serigrafía de la placa el número de versión del prototipo (no sé, tal vez Prototype 2 o algo así)

Sólo es una sugerencia por si lo veis adecuado, nada más. Saludos.

jepalza

Re: Prototipo 2 del ZX-Uno

Mensajepor jepalza » 21 Oct 2014, 13:29

Es un invento Español, nada de "prototype", en cristiano, o sea, "tropotipo" o sino "V-DOS", luego "V-TRES", etc, y hace juego con "ZX_UNO"

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Prototipo 2 del ZX-Uno

Mensajepor antoniovillena » 21 Oct 2014, 13:57

Estoy de acuerdo, también se puede poner algo más neutral como v2.0 a secas.

Toma nota TallerSeverino.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Prototipo 2 del ZX-Uno

Mensajepor mcleod_ideafix » 21 Oct 2014, 14:47

Yo sigo repasando el esquemático...
Superfo ha puesto la inductancia en la entrada de 5V, ¡bien! Lo que me preocupa ahora es el tema de la tolerancia a 5V.

A ver: resulta que con la Spartan 3 no hay (demasiado) problema, ya que los pines incorporan internamente diodos de clamping, así que con limitar la corriente con una resistencia, es suficiente.

Pero la Spartan 6 no dispone de estos diodos en sus pines, por lo que la resistencia no basta. Hay que añadir, según especifica Xilinx, un conversor de niveles de tensión. Usar 5V en entradas no tolerantes lleva, antes o después, a la destrucción de, al menos, la circuitería asociada a ese pin (el driver de entrada)

Esto afecta sólamente a un periférico en el ZX-Uno: el teclado, que está alimentado a 5V y suministra señales a la Spartan.

Hay que investigar un poquito para ver lo siguiente:
- ¿Conoceis alguna placa de evaluación con Spartan 6 en la que hayan incorporado conector PS/2, y en tal caso, cómo se hace la interfaz con la FPGA? Yo sólo he encontrado una, y usa un chip "level shifter" para pasar de 5V a 3,3V
- ¿Son compatibles los teclados y ratones PS/2 con una alimentación a 3,3V? Si podemos verificar eso, cambiar la tensión de alimentación de 5 a 3,3V en el conector.
- Dado que las señales del teclado/ratón PS/2 son en colector abierto, y suponiendo que no incorporen el pullup de forma interna en el teclado/ratón, ¿sería factible sencillamente hacer los pull-ups a 3,3V (como de hecho está)? A fin de cuentas, una salida en colector abierto nunca envía 5V, sino que su estado es, o conectado a 0V, o desconectado del todo. Según esta entrada de Stack Overflow, parece que es así: http://electronics.stackexchange.com/qu ... -3v-inputs

Suponiendo que no podamos tocar las tensiones de alimentación de los periféricos PS/2, y suponiendo que no pudiéramos poner los pullups a 3,3V porque internamente ya están a 5V, las opciones para hacer tolerantes a 5V las entradas de la Spartan 6 son:
- Buffer con level shifter (la mejor opción, pero la más cara/engorrosa)
- Configurar el pin en modo PCI_33, en donde sí se activan los diodos de clamping. ¡Cuidado! porque dichos diodos se activan sólo una vez que el dispsoitivo está configurado y funcionando. Si mientras está cargando su bitstream, se reciben 5V por sus entradas, se corre riesgo probable de freir la etapa de entrada.
- Usar un divisor de tensión externo. Según he podido leer, no funciona demasiado bien para el teclado.

De momento, y a falta de hacer más averiguaciones, propongo lo siguiente: hay que recordar que el pullup interno de la Spartan 6 te da un máximo de 200uA, es decir, es un pullup muy débil. Dependiendo de cómo implemente un teclado u otro el driver de salida, esos 200uA podrían no ser suficientes para que la salida se leyera como "1" en el lado de la FPGA. Por otra parte, al ser colector abierto, no se necesitan resistencias limitadoras. Así, mi propuesta consiste en sustituir las resistencias que vienen de los 4 pines que se usan del conector PS/2, y que están en serie entre ellos y la FPGA, por 4 resistencias de pullup externas a 3,3V de unos 3,3K (para que la corriente sea de aprox. 1mA)
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
Hark0
Amiga 1200
Amiga 1200
Mensajes: 1695
Registrado: 11 Jul 2012, 23:44
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: (Otro)
Primera consola: (Otro)
Ubicación: Cornellà de Llobregat - Barcelona
Contactar:

Re: Prototipo 2 del ZX-Uno

Mensajepor Hark0 » 21 Oct 2014, 16:33

antoniovillena escribió:Estoy de acuerdo, también se puede poner algo más neutral como v2.0 a secas.

Toma nota TallerSeverino.



+1


Y un "Diseñado en España"???? o ya es mucho.... :P
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.

Avatar de Usuario
TallerSeverino
Amstrad PC 1640
Amstrad PC 1640
Mensajes: 519
Registrado: 12 Abr 2013, 09:55
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo NES/Clónica
Primera consola: Nintendo NES/Clónica
Ubicación: Cádiz
Gracias dadas: 17 veces
Gracias recibidas: 17 veces

Re: Prototipo 2 del ZX-Uno

Mensajepor TallerSeverino » 21 Oct 2014, 16:47

antoniovillena escribió:Estoy de acuerdo, también se puede poner algo más neutral como v2.0 a secas.

Toma nota TallerSeverino.


Pues sí, tomo nota, es que lo de V-DOS se parece demasiado a "MS-DOS", a lo mejor soy yo solo, pero V-DOS yo me iría a interpretarlo como "Virtual DOS".

En el definitivo si que V.TRES sí me gustaría, pero vamos, esto es cuestión de gustos.

Un saludo!
Logo_V3.jpg
Logo_V3.jpg (42.67 KiB) Visto 5156 veces

¿Qué tal?

Avatar de Usuario
yombo
Amstrad PCW 8256
Amstrad PCW 8256
Mensajes: 190
Registrado: 01 Ago 2014, 22:52
Sistema Favorito: Spectrum +2
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: TV Games/Pong Clone
Primera consola: TV Games/Pong Clone

Re: Prototipo 2 del ZX-Uno

Mensajepor yombo » 21 Oct 2014, 17:59

TallerSeverino escribió:
antoniovillena escribió:Estoy de acuerdo, también se puede poner algo más neutral como v2.0 a secas.

Toma nota TallerSeverino.


Pues sí, tomo nota, es que lo de V-DOS se parece demasiado a "MS-DOS", a lo mejor soy yo solo, pero V-DOS yo me iría a interpretarlo como "Virtual DOS".

En el definitivo si que V.TRES sí me gustaría, pero vamos, esto es cuestión de gustos.

Un saludo!
Logo_V3.jpg

¿Qué tal?


Muy chula esa tipografía spectrumiana! Con eñe y todo, ahí... :D :D

-- Actualizado 21 Oct 2014, 18:09 --

mcleod_ideafix escribió:Yo sigo repasando el esquemático...
Superfo ha puesto la inductancia en la entrada de 5V, ¡bien! Lo que me preocupa ahora es el tema de la tolerancia a 5V.

A ver: resulta que con la Spartan 3 no hay (demasiado) problema, ya que los pines incorporan internamente diodos de clamping, así que con limitar la corriente con una resistencia, es suficiente.

Pero la Spartan 6 no dispone de estos diodos en sus pines, por lo que la resistencia no basta. Hay que añadir, según especifica Xilinx, un conversor de niveles de tensión. Usar 5V en entradas no tolerantes lleva, antes o después, a la destrucción de, al menos, la circuitería asociada a ese pin (el driver de entrada)

Esto afecta sólamente a un periférico en el ZX-Uno: el teclado, que está alimentado a 5V y suministra señales a la Spartan.

Hay que investigar un poquito para ver lo siguiente:
- ¿Conoceis alguna placa de evaluación con Spartan 6 en la que hayan incorporado conector PS/2, y en tal caso, cómo se hace la interfaz con la FPGA? Yo sólo he encontrado una, y usa un chip "level shifter" para pasar de 5V a 3,3V
- ¿Son compatibles los teclados y ratones PS/2 con una alimentación a 3,3V? Si podemos verificar eso, cambiar la tensión de alimentación de 5 a 3,3V en el conector.
- Dado que las señales del teclado/ratón PS/2 son en colector abierto, y suponiendo que no incorporen el pullup de forma interna en el teclado/ratón, ¿sería factible sencillamente hacer los pull-ups a 3,3V (como de hecho está)? A fin de cuentas, una salida en colector abierto nunca envía 5V, sino que su estado es, o conectado a 0V, o desconectado del todo. Según esta entrada de Stack Overflow, parece que es así: http://electronics.stackexchange.com/qu ... -3v-inputs

Suponiendo que no podamos tocar las tensiones de alimentación de los periféricos PS/2, y suponiendo que no pudiéramos poner los pullups a 3,3V porque internamente ya están a 5V, las opciones para hacer tolerantes a 5V las entradas de la Spartan 6 son:
- Buffer con level shifter (la mejor opción, pero la más cara/engorrosa)
- Configurar el pin en modo PCI_33, en donde sí se activan los diodos de clamping. ¡Cuidado! porque dichos diodos se activan sólo una vez que el dispsoitivo está configurado y funcionando. Si mientras está cargando su bitstream, se reciben 5V por sus entradas, se corre riesgo probable de freir la etapa de entrada.
- Usar un divisor de tensión externo. Según he podido leer, no funciona demasiado bien para el teclado.

De momento, y a falta de hacer más averiguaciones, propongo lo siguiente: hay que recordar que el pullup interno de la Spartan 6 te da un máximo de 200uA, es decir, es un pullup muy débil. Dependiendo de cómo implemente un teclado u otro el driver de salida, esos 200uA podrían no ser suficientes para que la salida se leyera como "1" en el lado de la FPGA. Por otra parte, al ser colector abierto, no se necesitan resistencias limitadoras. Así, mi propuesta consiste en sustituir las resistencias que vienen de los 4 pines que se usan del conector PS/2, y que están en serie entre ellos y la FPGA, por 4 resistencias de pullup externas a 3,3V de unos 3,3K (para que la corriente sea de aprox. 1mA)



Puedo intentar alguna prueba con un microcontrolador AVR, haciéndolo funcionar a 3.3V. Pondría esas resistencias de pull-up y a ver si funciona el teclado PS-2.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Prototipo 2 del ZX-Uno

Mensajepor mcleod_ideafix » 21 Oct 2014, 20:06

yombo escribió:Puedo intentar alguna prueba con un microcontrolador AVR, haciéndolo funcionar a 3.3V. Pondría esas resistencias de pull-up y a ver si funciona el teclado PS-2.

Gracias! Aunque eso lo que demostraría es que TU teclado es o no, compatible con los 3,3V . Lo que me interesa saber es si en la norma, especificación, o lo que sea por lo que se rige el estándar PS/2 indica si las líneas de datos y reloj SIEMPRE están en colector abierto (que me da que sí va a ser), y (más importante aún) si las resistencias de pullup que se necesitan para resolver el "1" lógico están dentro del teclado, o ha de suministrarlas el host. Si es lo segundo, estamos salvados. Si no es así, y el pull-up es interno a la tensión de alimentación del teclado, hay que ver si es posible alimentar los teclados (todos) con 3,3V. Es decir, si en algún lado pone escrito algo así como "el estándar PC-2008 indica que los periféricos que se alimenten a 5V puedan hacerlo con 3,3V bla bla bla..."
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista


Volver a “Sinclair/Spectrum”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 12 invitados