[Thomson] Streaming à 58824 octets/seconde

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

__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [Thomson] Streaming à 58824 octets/seconde

Message par __sam__ »

Hum on peut réduire la différence à 1 cycle entre les deux chemins:

Code : Tout sélectionner

(2)    LSLA     
(3)    BCS XX
       FCB $8E  (LDX = 3 cycles si branche non prise. On peut aussi utiliser $CE)
(2) XX XORB #8
(4)    STB <$C1
(2)    NOP
(2)    NOP
(2)    NOP
Si C est à 1, ca coute 2+3+2+4+2+2+2=17 cycles, et si C est à 0, ca coute 2+3+3+4+2+2+2=18 cycles par échantillon. C'est vraiment quasi constant à présent. Bon par contre ca trash X. On peut utiliser $CE pour un LDU à 3 cycles à la place.

Pour rappel, quelle était la vitesse pour le 1bit avec la carte SD simple sans l'arduino ?
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
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Streaming à 58824 octets/seconde

Message par Daniel »

Tu veux dire dans la première démo lisant un octet pour chaque bit ? C'était 38462 Hz, et le signal 1 bit était généré à partir d'un échantillon 6 bits.

Dans le dernier fichier 50kHz 1bit, la fréquence est 13% plus élevée, le signal est généré à partir d'échantillons 8 bits et le fichier original a été amplifié à la limite de la saturation. Je trouve le résultat bien meilleur. En allant un peu plus vite, on introduira des erreurs de timing qui risquent de faire perdre le bénéfice de l'augmentation de vitesse.
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [Thomson] Streaming à 58824 octets/seconde

Message par __sam__ »

Daniel a écrit :Tu veux dire dans la première démo lisant un octet pour chaque bit ? C'était 38462 Hz, et le signal 1 bit était généré à partir d'un échantillon 6 bits.
Non le truc où on lit les bits directement depuis le module catalex. Ca y est j'ai retrouvé: http://forum.system-cfg.com/viewtopic.p ... 469#p96469

J'avais calculé 47khz en théorie. C'est presque aussi bien que la version parallèle.

En pratique le son est pas mal du tout, il est même nettement moins bruité que la version parallèle via l'arduino.
En allant un peu plus vite, on introduira des erreurs de timing qui risquent de faire perdre le bénéfice de l'augmentation de vitesse.
Le décalage de 1µs sera je crois à peine audible, surtout qu'il est là une fois sur 2 (quand on doit inverser l'état du buzzer). C'est suffisamment régulier pour ne pas être perceptible je pense.
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
Avatar de l’utilisateur
gilles
Messages : 2779
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: [Thomson] Streaming à 58824 octets/seconde

Message par gilles »

si vous pouvez calculer à quel moment le décalage se produit, vous pouvez peut être modifier le convertisseur de sample en amont pour limiter son influence.
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Streaming à 58824 octets/seconde

Message par Daniel »

De toutes façons, 50kHz ou 60, ou 70, ça ne donnera jamais en 1 bit de la bonne qualité, comme le 6 bits.

On peut certainement améliorer un peu mes résultats, mais il n'y aura pas de miracle à ces fréquences inférieures à 100 kHz.
Le procédé Direct Stream Digital (DSD) utilise aussi du 1 bit, mais à 2,8224 MHz, et le Thomson ne pourra jamais :cry:
http://fr.wikipedia.org/wiki/Direct_Stream_Digital

Finalement j'arrête les essais 1 bit, pour ne pas perdre de temps inutilement. Le résultat actuel est suffisant pour démontrer la faisabilité avec un ordinateur 8 bits, à condition de disposer d'une mémoire de masse à accès rapide, comme la carte SD.

J'ai fait un nouvel essai en 6 bits, en amplifiant un peu l'original et en changeant les paramètres pour le "downsampling" de 88,2 kHz à 58,8 kHz. Il n'y a presque plus de bruit dans les passages d'amplitude faible, c'est vraiment excellent. Sur Thomson le 6 bits est de loin la meilleure solution.
Daniel
L'obstacle augmente mon ardeur.
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Streaming à 58824 octets/seconde

Message par Daniel »

Pour information : la page http://dcmoto.free.fr/bricolage/streaming/index.html a été complétée avec des détails sur la réalisation de l'interface carte SD à base d'Arduino. La version normale nécessite la soudure de deux connecteurs DB9, mais une autre version sans aucune soudure est également proposée.

Image

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

Re: [Thomson] Streaming à 58824 octets/seconde

Message par Daniel »

Ci-dessous le montage définitif en fonctionnement. L'arduino a été placé sur un support ZIF pour faciliter le démontage.
Notez à l'arrière droit du MO5 l'interface SDMO à peine visible. Elle fonctionne avec le contrôleur CS91281 interne.

Ce MO5 à ROM version 2.1, avec une extension mémoire 64K interne, quatre unités de disquette sur carte SD et une interface parallèle à 60 Ko/s, utilisables simultanément, est le plus puissant au monde. Il contient, sur la carte SD du module SDMO, toute la logithèque MO5 sur cassette, disquette et cartouche MEMO5, y compris les démonstrations audio SDPLAY de __sam__ et les miennes. Sur la carte SD connectée à l'Arduino, il y a aussi toutes les démonstrations audio à 58 kHz, et toutes les démonstrations vidéo + son en streaming. Soit au total 112 Ko de RAM, 20 Ko de ROM et 16 Go de mémoire de masse, extensible à 64 Go.

Image
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [Thomson] Streaming à 58824 octets/seconde

Message par 6502man »

Daniel a écrit :..... 16 Go de mémoire de masse, extensible à 64 Go.
:lol: :lol: :lol:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [Thomson] Streaming à 58824 octets/seconde

Message par __sam__ »

Coool!

Mais il manque un truc pour être vraiment le MO5 le plus puissant du monde: remplacer le 6809e par un 6309 Hitachi histoire de bénéficier d'opcodes et registres supplémentaires permettant d'accélérer les vitesses de transfert même en mode émulation.
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
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Streaming à 58824 octets/seconde

Message par Daniel »

Ah oui, j'ai oublié de le dire : il a déjà un HD63C09EP. C'est sur ce MO5 que j'ai fait les tests du mode 6309.
C'est donc le plus puissant du monde :D
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [Thomson] Streaming à 58824 octets/seconde

Message par __sam__ »

ouais, définitivement. A moins qu'un savant-fou ne tente l'overclock. Mais la CM n'est pas concue pour ca.
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