Page 5 sur 83

Re: [Thomson] SDDRIVE

Publié : 07 déc. 2017 11:00
par jice
Impressionnant la démo Daniel ! Bravo :)
Et ce thread se lit comme une aventure :D

Re: [Thomson] SDDRIVE

Publié : 07 déc. 2017 13:52
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é 6457 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é 6457 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...

Re: [Thomson] SDDRIVE

Publié : 07 déc. 2017 16:41
par 6502man
Bravo Daniel, pour la résolution du problème, fallait trouvé :D

Re: [Thomson] SDDRIVE

Publié : 07 déc. 2017 17:07
par irios
Bravo !!!

Re: [Thomson] SDDRIVE

Publié : 07 déc. 2017 17:47
par jasz
Félicitations! 8)

Je passe dors et déjà commande :)

Re: [Thomson] SDDRIVE

Publié : 07 déc. 2017 18:35
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 ?

Re: [Thomson] SDDRIVE

Publié : 07 déc. 2017 19:06
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]

Re: [Thomson] SDDRIVE

Publié : 07 déc. 2017 20:49
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).

Re: [Thomson] SDDRIVE

Publié : 08 déc. 2017 10:33
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

Re: [Thomson] SDDRIVE

Publié : 08 déc. 2017 21:42
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 

Re: [Thomson] SDDRIVE

Publié : 08 déc. 2017 22:47
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:

Re: [Thomson] SDDRIVE

Publié : 09 déc. 2017 08:11
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.

Re: [Thomson] SDDRIVE

Publié : 09 déc. 2017 08:46
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...

Re: [Thomson] SDDRIVE

Publié : 14 déc. 2017 16:11
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)

Re: [Thomson] SDDRIVE

Publié : 14 déc. 2017 19:41
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.