SpecSD, interfaz de almacenamiento para tarjetas SD
Publicado: 11 Nov 2019, 13:41
Como ya comenté en este otro hilo estoy diseñando un interfaz de almacenamiento para tarjetas SD compatible con el DivMMC. El diseño original de Mario Prato está aquí: http://aticatac.altervista.org/portale/?q=node/14
Mi diseño es prácticamente igual al original. Solo hay un pequeño, aunque fundamental, cambio. El original utiliza la señal de reloj proveniente del bus de expansión del Spectrum. Dicha señal no es igual entre los diversos modelos de Spectrum (o inexistente en el caso del 128K español) y durante mis pruebas provocaba que si la ajustaba para unos modelos dejaba de funcionar en otros.
Al final he prescindido de dicha señal y he incluido un oscilador independiente en el diseño.
El código de la CPLD estaba preparado para funcionar con los 3.5 MHz del reloj del bus de expansión que está sincronizado con la CPU y hay el tiempo justo para realizar una operación de lectura/escritura entre instrucción e instrucción del Z80. Al poner un oscilador independiente es necesario meter unos retardos para sincronizar un reloj con otro y eso hacía que no hubiera tiempo suficiente y dejaba de funcionar. La solución ha sido poner un oscilador más rápido, de 8 MHz, y modificar el código de la CPLD para que funcione a esta nueva velocidad.
Después de probarlo en varios modelos de Spectrum creo que puedo decir que funciona correctamente así que abro una ronda de pedidos para 9 placas que tengo, pero tened en cuenta que esta primera tirada es para usuarios 'avanzados' porque puede haber todavía algún fallo que se me haya escapado y que es todo montaje superficial no apto para principiantes. Además hay que grabar una EEPROM y hace falta, además del grabador, un adaptador de SMD a DIP; y hay que grabar la CPLD con el cable de plataforma Xilinx. Por eso prefiero montarlo yo y venderlo ya montado y probado.
El esquema, layout de los componentes, y el JED para grabar en la CPLD están aquí:
https://1drv.ms/u/s!Aj2oYYIgITnQkVaE7DF ... 2?e=VZCen4
El precio montado es de 45 € y sin montar 25 €, envío a parte.
El precio montado es de 55 €, envío a parte (actualizado a 2022).
Interesados
1x - P E R - jgilcas (sin montar) - cambio de placa
1x - P E R - kik3 (sin montar) - placa ok
1x - P E R - BCH (sin montar) - placa ok
1x - P E R - Quickie (sin montar) - placa ok
1x - P E R - llopis (sin montar) - placa ok
1x - P E R - alt (sin montar) - cambio de placa
1x - P E R - Jason_rg (sin montar)
1x - P E R - papanillu (sin montar) - cambio de placa
1x - P E R - geloalex (sin montar) - placa ok
1x - P E R - Lord Raptor (sin montar) - cambio de placa
---
Total 10
Interesados 2ª tirada
1x - P E R - kyp
1x - P E R - popopo (sin montar)
1x - ves (sin montar)
1x - P E R - valfac (sin montar)
1x - P E - retrolab (montada)
1x - P E R - spirax (montado)
1x - P E R - garvidal (sin montar)
1x - P E R - sejuan (montado)
1x - P E R - alvaroalea (sin montar)
1x - P E R - neithan (montado)
1x - luis80 (montado)
---
Total 10
Interesados 3ª tirada
4x Kyp
1x - P E R - flopping (kit)
1x - P E R - eplas (kit)
1x - P E R - alki (kit)
1x - P E R - kik3 (kit)
1x - P E R - cacharreo (kit)
---
Total 9
NOTA para el montaje: Hay que tener cuidado al soldar los dos mini conmutadores del interfaz porque por abajo tienen unas pestañas de metal que quedan muy cerca de los pads de soldadura y pueden hacer contacto al soldarlos. Es mejor dejar un poco de separación entre la base del conmutador y la placa. Aquí se comenta el problema: viewtopic.php?f=63&t=6734&start=130#p149779
Fotos:
Mi diseño es prácticamente igual al original. Solo hay un pequeño, aunque fundamental, cambio. El original utiliza la señal de reloj proveniente del bus de expansión del Spectrum. Dicha señal no es igual entre los diversos modelos de Spectrum (o inexistente en el caso del 128K español) y durante mis pruebas provocaba que si la ajustaba para unos modelos dejaba de funcionar en otros.
Al final he prescindido de dicha señal y he incluido un oscilador independiente en el diseño.
El código de la CPLD estaba preparado para funcionar con los 3.5 MHz del reloj del bus de expansión que está sincronizado con la CPU y hay el tiempo justo para realizar una operación de lectura/escritura entre instrucción e instrucción del Z80. Al poner un oscilador independiente es necesario meter unos retardos para sincronizar un reloj con otro y eso hacía que no hubiera tiempo suficiente y dejaba de funcionar. La solución ha sido poner un oscilador más rápido, de 8 MHz, y modificar el código de la CPLD para que funcione a esta nueva velocidad.
Después de probarlo en varios modelos de Spectrum creo que puedo decir que funciona correctamente así que abro una ronda de pedidos para 9 placas que tengo, pero tened en cuenta que esta primera tirada es para usuarios 'avanzados' porque puede haber todavía algún fallo que se me haya escapado y que es todo montaje superficial no apto para principiantes. Además hay que grabar una EEPROM y hace falta, además del grabador, un adaptador de SMD a DIP; y hay que grabar la CPLD con el cable de plataforma Xilinx. Por eso prefiero montarlo yo y venderlo ya montado y probado.
El esquema, layout de los componentes, y el JED para grabar en la CPLD están aquí:
https://1drv.ms/u/s!Aj2oYYIgITnQkVaE7DF ... 2?e=VZCen4
El precio montado es de 45 € y sin montar 25 €, envío a parte.
El precio montado es de 55 €, envío a parte (actualizado a 2022).
Interesados
1x - P E R - jgilcas (sin montar) - cambio de placa
1x - P E R - kik3 (sin montar) - placa ok
1x - P E R - BCH (sin montar) - placa ok
1x - P E R - Quickie (sin montar) - placa ok
1x - P E R - llopis (sin montar) - placa ok
1x - P E R - alt (sin montar) - cambio de placa
1x - P E R - Jason_rg (sin montar)
1x - P E R - papanillu (sin montar) - cambio de placa
1x - P E R - geloalex (sin montar) - placa ok
1x - P E R - Lord Raptor (sin montar) - cambio de placa
---
Total 10
Interesados 2ª tirada
1x - P E R - kyp
1x - P E R - popopo (sin montar)
1x - ves (sin montar)
1x - P E R - valfac (sin montar)
1x - P E - retrolab (montada)
1x - P E R - spirax (montado)
1x - P E R - garvidal (sin montar)
1x - P E R - sejuan (montado)
1x - P E R - alvaroalea (sin montar)
1x - P E R - neithan (montado)
1x - luis80 (montado)
---
Total 10
Interesados 3ª tirada
4x Kyp
1x - P E R - flopping (kit)
1x - P E R - eplas (kit)
1x - P E R - alki (kit)
1x - P E R - kik3 (kit)
1x - P E R - cacharreo (kit)
---
Total 9
NOTA para el montaje: Hay que tener cuidado al soldar los dos mini conmutadores del interfaz porque por abajo tienen unas pestañas de metal que quedan muy cerca de los pads de soldadura y pueden hacer contacto al soldarlos. Es mejor dejar un poco de separación entre la base del conmutador y la placa. Aquí se comenta el problema: viewtopic.php?f=63&t=6734&start=130#p149779
Fotos: