[Thomson] SDDRIVE

Placez ici vos trucs et astuces, étalez sans retenue votre savoir-faire et votre science qui va nous permettre de redonner une apparence neuve et fonctionnelle à nos bouzes.

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
jice
Messages : 213
Inscription : 21 avr. 2014 15:08
Localisation : Madrid

Re: [Thomson] SDDRIVE

Message par jice »

Impressionnant la démo Daniel ! Bravo :)
Et ce thread se lit comme une aventure :D
MO5 - MO5 Platini - TO7 - TO7/70 - TO8 - TO9+
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] SDDRIVE

Message par Daniel »

@jice: Merci pour les encouragements. L'aventure n'est pas terminée, par contre le premier obstacle est franchi...

Pour mémoire, le signal SCK en jaune après un filtre RC (R=100 ohms, C=470 pF). En vert la ligne d'adresse /$Axxx

sddrive-glitch6.png
sddrive-glitch6.png (10.76 Kio) Consulté 6348 fois

J'ai eu l'idée d'ajouter une résistance de pull-up de 1K, voici le résultat :

sddrive-glitch7.png
sddrive-glitch7.png (11.14 Kio) Consulté 6348 fois

C'est (à mon avis) excellent. Le glitch lors de la montée du signal /$Axxx est à peine discernable. La forme arrondie du signal SCK n'est pas gênante, car avant la carte SD il y a un buffer d'adaptation de niveau (5V --> 3,3V) qui le remet parfaitement en forme.

Cette solution étant la plus simple possible, je vais en rester là, sauf si je rencontre d'autres problèmes par la suite. Dans l'immédiat tout fonctionne merveilleusement bien, j'ai booté plusieurs dizaines de fois sur la carte SD sans la moindre erreur et la démo "Imagine" tourne en boucle depuis ce matin. J'ai juste coupé le son car au bout d'une vingtaine de fois la répétition devient pénible, même si la qualité est bonne.

Maintenant je vais me consacrer au logiciel du contrôleur. Je maîtrise mieux l'informatique que l'électronique, tout devrait bien se passer.
Sauf imprévu, les Thomson auront un nouveau périphérique début 2018.
J'ai déjà reçu le boîtier en plastique, il est noir et brillant, il faudra faire attention aux traces de doigts...
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [Thomson] SDDRIVE

Message par 6502man »

Bravo Daniel, pour la résolution du problème, fallait trouvé :D
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
irios
Messages : 3396
Inscription : 04 nov. 2007 19:47
Localisation : Rochefort du Gard (30)
Contact :

Re: [Thomson] SDDRIVE

Message par irios »

Bravo !!!
http://irioslabs.over-blog.com/

La connaissance ne vaut que si elle est partagée par tout le monde.
I2C
jasz
Messages : 1313
Inscription : 05 oct. 2016 20:05
Localisation : Quelque part dans le 31

Re: [Thomson] SDDRIVE

Message par jasz »

Félicitations! 8)

Je passe dors et déjà commande :)
Avatar de l’utilisateur
Totor le Butor
Messages : 2224
Inscription : 07 sept. 2011 16:14
Localisation : Paris - Mezels

Re: [Thomson] SDDRIVE

Message par Totor le Butor »

Top ! 8)
La résistance de 1k est installée où ?
Directement en sortie du 133 ou après la résistance de 100 ohms ?
Born to bricole
[Rch] Vieux composants électroniques et circuits intégrés toute époque et vieilles cartes .
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] SDDRIVE

Message par Daniel »

C'est après la résistance de 100 ohms, juste à l'entrée du module de la carte SD. Il y a le condensateur de 470 pF vers la masse et la résistance de 1K vers le +5V. Dès que j'aurai fini le schéma définitif de l'ensemble contrôleur + interface carte SD je le publierai dans ce fil de discussion.
Merci à tous ceux qui m'ont aidé !

[Edit]
J'ai oublié de préciser qu'avec le filtre du signal SCK après la porte NAND, il n'est plus nécessaire de filtrer les lignes d'adresse en entrée.
C'est un gain de 13 résistances et de 13 condensateurs. Le circuit imprimé sera plus simple et la fabrication plus facile.
Pour le filtre, j'ai essayé différentes valeurs de condensateurs. Avec 220 pF ou 1 nF ça ne marche pas, il faut impérativement 470 pF.
Sans la résistance de 100 ohms ça ne marche pas davantage. Je n'ai pas essayé d'autres valeurs.
[/Edit]
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Totor le Butor
Messages : 2224
Inscription : 07 sept. 2011 16:14
Localisation : Paris - Mezels

Re: [Thomson] SDDRIVE

Message par Totor le Butor »

Daniel a écrit : 07 déc. 2017 19:06 C'est un gain de 13 résistances et de 13 condensateurs
Champagne !!! :mrgreen:
Daniel a écrit : 07 déc. 2017 19:06 Avec 220 pF ou 1 nF ça ne marche pas, il faut impérativement 470 pF.
Sans la résistance de 100 ohms ça ne marche pas davantage.
A cette fréquence, les filtres sont très chatouilleurs et dépendent entièrement des types de circuit utilisés, du type de parasite à supprimé/atténué et surtout de la charge sur le signal à remettre en forme.
A ma connaissance il n'existe pas de formule standard à utiliser et il n'est pas rare de trouver des montages alambiqués avec des associations de diode, résistance et condensateur (Cf le DAI par exemple).
Born to bricole
[Rch] Vieux composants électroniques et circuits intégrés toute époque et vieilles cartes .
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] SDDRIVE

Message par Daniel »

Ci-dessous le schéma provisoire de SDDRIVE (Cliquez sur l'image pour l'agrandir) :

Image


Et voici à quoi ressemblera la carte (Sous réserve de modifications ultérieures) :

Image


Le boîtier :

Image
Daniel
L'obstacle augmente mon ardeur.
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] SDDRIVE

Message par Daniel »

Après les dernières modifications le contrôleur SDDRIVE fonctionne parfaitement bien sur MO5. Il a ensuite été testé avec quelques autres machines, une dizaine d'essais sur chaque (chargement d'un jeu). Je note ci-dessous le nombre de tentatives réussies pour 10 essais :
- MO5 : 10/10 8)
- MO6 : 10/10 8)
- TO7/70 : 10/10 8)
- TO8D : 10/10 8)
- TO8 n°1 : 5/10 :roll:
- TO8 n°2 : 1/10 :twisted:

La bonne nouvelle, c'est qu'il a fonctionné sur TO8 alors qu'avant la modif la carte SD ne s'initialisait jamais. Mais il y a un vrai problème avec cette machine, il va falloir l'élucider, et ce n'est pas facile. On peut exclure un problème soft puisque de temps en temps ça marche. Qu'a donc de particulier le TO8 ?

Côté soft le BIOS (initialisation, lecture/écriture secteur, formatage, etc.) et le programme SDDRIVE_SEL (choix du fichier SD dans la liste du répertoire principal) sont terminés et en cours de test. Il ne reste que de petites corrections et optimisations à terminer. Les tests de vitesse montrent les progrès réalisés. En débit pur, c'est 4 fois plus rapide, mais ce n'est pas pour autant que toutes les opérations de chargement vont 4 fois plus vite, car il y a des temps de traitement des données incompressibles. Néanmoins on constate un net progrès par rapport au contrôleur CS91-280. Comparés avec ceux d'une vraie disquette, les temps de chargement d'un jeu sont en moyenne divisés par 2 ou 3.

Code : Tout sélectionner

=============================================
Temps comparés entre les contrôleurs sur MO6
- CD90-351 avec disquette 3,5 pouces
- CS91-280 avec interface SDMOTO et carte SD
- SDDRIVE avec interface SDDRIVE et carte SD
=============================================
Fonction               CD90-351   CS91-280   SDDRIVE 
--------------------   --------   --------   --------  
Charger MACH3             0:58       0:32      0:17
Charger SPACE RACER       0:25       0:15      0:11
Charger TURBO CUP         1:13       0:56      0:38        
DSKINI0                   0:35       0:02      0:01  
BACKUP0TO1                3:45       2:56      1:20 
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
irios
Messages : 3396
Inscription : 04 nov. 2007 19:47
Localisation : Rochefort du Gard (30)
Contact :

Re: [Thomson] SDDRIVE

Message par irios »

Daniel,
Quel est le signal que tu prends sur le TO8 pour valider ton adresse ? D'ailleurs, même question pour les autres machines ? :D
En effet, je pense que le signal d'horloge E y est pour quelque chose. :mrgreen:
http://irioslabs.over-blog.com/

La connaissance ne vaut que si elle est partagée par tout le monde.
I2C
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] SDDRIVE

Message par Daniel »

Si l'adresse est simplement décodée sans validation, il y a un glitch au moment ou l'une des lignes d'adresse inversée (/$Axxx, A11 et A6) change d'état. Je l'explique par le temps de propagation dans les inverseurs.

J'ai donc eu l'idée de valider l'adresse par le signal d'horloge E. Dans ce cas le glitch est supprimé, comme je m'y attendais, mais il en apparaît un autre juste à la fin du top d'horloge SCK en sortie du 74LS133 (voir mes posts précédents). C'est pourquoi j'ai abandonné cette solution, je suis revenu à la première en ajoutant un filtre RC.

J'ai prévu de faire un autre essai de la deuxième solution (valider l'adresse par le signal d'horloge E) en ajoutant aussi le filtre RC en sortie.

Après je pourrais essayer la technique du transistor, c'est certainement plus propre. La seule difficulté est de trouver la place sur mon prototype pour ajouter les trois transistors et les résistances qui vont avec.

Un autre point à étudier : le filtre RC s'applique uniquement au signal SCK à destination de la carte SD. Par contre, dans la logique de commande du buffer 74LS125, le glitch n'est pas éliminé, car j'utilise directement la sortie du 74LS133 (voir schéma). Il faudrait essayer de prendre le signal après le filtre RC et pas avant.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Silou78
Messages : 382
Inscription : 11 févr. 2017 14:54
Localisation : Yvelines (78)

Re: [Thomson] SDDRIVE

Message par Silou78 »

Bonjour,
Et pourquoi ne pas essayer aussi de réduire le glitch en augmentant le retard sur les lignes d'adresses non-inversées ? Par exemple en remplaçant le 100pF par un 470pF ? On devrait plus ou moins ramener le temps de montée aux alentours du temps de propagation des inverseurs, mais est-ce que ce sera suffisant pour éliminer complètement le problème, là est toute la question...
Sylvain
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] SDDRIVE

Message par Daniel »

La bonne nouvelle du jour : l'erreur sur TO8 était un problème logiciel, il est corrigé.
Il a fallu quand même six jours pour le trouver, mais je préfère cela à un problème électronique.

Résumé de la situation au 14/12/2017 :
- Le contrôleur et l'interface SDDRIVE fonctionnent avec tous les MO et TO (sauf évidemment le TO9).
- Le logiciel du contrôleur est quasiment terminé, il est en cours de tests intensifs et n'évoluera plus beaucoup.
- La prochaine étape est de construire un prototype aussi proche que possible de la version finale.

En développant le contrôleur j'ai trouvé des optimisations qui augmentent encore un peu le débit. Les nouvelles démos de musique en streaming seront à 15152 Hz (à comparer à 11764 Hz pour Imagine). Toutes les opérations sur disquette, en particulier les chargements de jeux, seront au minimum trois fois plus rapides qu'avec un vrai lecteur ou un Gotek. Une petite merveille... 8)
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [Thomson] SDDRIVE

Message par __sam__ »

Daniel a écrit : 14 déc. 2017 16:11 La bonne nouvelle du jour : l'erreur sur TO8 était un problème logiciel, il est corrigé.
Logiciel mais n'affectait pas les TO8D... C'était quoi cette erreur?
En développant le contrôleur j'ai trouvé des optimisations qui augmentent encore un peu le débit. Les nouvelles démos de musique en streaming seront à 15152 Hz (à comparer à 11764 Hz pour Imagine).
Hey mais c'est 28% plus rapide. Whaou, carrément cool 8) Les routines que tu avais indiqué au dessus semblaient pourtant in-optimisables.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Répondre