Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
863 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  [Projet] entrer une sinusoide dans une EPROM

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Projet] entrer une sinusoide dans une EPROM

n°907768
VS_bacteri​a
Posté le 25-11-2004 à 15:57:07  profilanswer
 

Bonjour a tous
Je souhaite inscire dans une eprom M27C512 les valeurs de l'amplitude d'un sinus.
Plusieurs problemes se posent:
 
-Comment convertir les valeurs de decimal en binaire ou hexa de maniere automatique(512 valeurs a la main c est moyen  :o )
-Les valeurs doivent etre codé sous 8 bits.=>pas de virgules possibles
-Comment faire pour coder la partie negative.
-le logiciel Chipwriter permet le transfert sur l'eprom.Il est possible d'ouvrir la tableau de valeur a partir d un fihier .bin.Comment le creer?
 
La resolution est de 512 points pour une période.
Pour info, la sorie de la mémoire es reliée a un DAC.
 
j'espere que j ai été clair..
Si quelqu'un peut suggerer quelques idées ....MERCI  ;)

mood
Publicité
Posté le 25-11-2004 à 15:57:07  profilanswer
 

n°907969
suizokukan
Posté le 25-11-2004 à 20:29:33  profilanswer
 

 Bonjour !
  Je n'ai pas bien compris ce que tu voulais faire :
 
  (1) Pourquoi mettre une période [0...2*PI] entière dans ton éprom ? Tu peux mettre seulement les valeurs pour [0...PI/2] : les autres valeurs se déduisent simplement.
  (2) Tu n'as pas à t'occuper de valeurs négatives si tu écris seulement les valeurs qui correspondent à l'intervalle   [0...PI/2]
  (3) Je ne comprends pas comment tes valeurs peuvent être codées sur 8 bits ? Cela te ferait (au mieux) 256 valeurs différentes possibles et tu dis vouloir écrire 512 valeurs...
  (4) Qu'est-ce qu'un DAC ?
 
  En espérant n'avoir pas trop raconté de bêtises et/ou posé de questions stupides...

n°907977
beel1
Posté le 25-11-2004 à 20:43:46  profilanswer
 

vs_bacteria a écrit :

Bonjour a tous
Je souhaite inscire dans une eprom M27C512 les valeurs de l'amplitude d'un sinus.
Plusieurs problemes se posent:
 
-Comment convertir les valeurs de decimal en binaire ou hexa de maniere automatique(512 valeurs a la main c est moyen  :o )


bah là je pense qu'il va falloir que tu te fasses un pti bout de programme, dans le langage que tu veux, pour générer un .bin

vs_bacteria a écrit :

-Les valeurs doivent etre codé sous 8 bits.=>pas de virgules possibles


garde la partie entière de 255*(1+sin(2*pi*n/512))/2 pour n allant de 0 à 511

vs_bacteria a écrit :

-Comment faire pour coder la partie negative.


ton DAC est bipolaire ? et qui prend des données signées (sur 7 bits + 1 bit de signe) ? :heink:
(dans ce cas, ma formule ci-dessus ne fonctionne pas)

vs_bacteria a écrit :

-le logiciel Chipwriter permet le transfert sur l'eprom.Il est possible d'ouvrir la tableau de valeur a partir d un fihier .bin.Comment le creer?


cf. ma première réponse
le .bin c'est les données brutes les unes à la suite des autres (ça s'ouvre avec un éditeur hexadécimal)


Message édité par beel1 le 25-11-2004 à 20:44:40
n°907986
beel1
Posté le 25-11-2004 à 21:01:58  profilanswer
 

autre possibilité pour générer ton fichier .bin, utiliser un logiciel de traitement audio pour faire un fichier .raw de résolution 8 bits (signé/non signé selon ton besoin) et tu génères une sinus d'amplitude maxi et de fréquence égale à la fréquence d'échantillonage / 512

n°908473
VS_bacteri​a
Posté le 26-11-2004 à 13:47:39  profilanswer
 

Merci pour tout, je vais essayer de creer un .raw
par contre la frequence d'echantillonage n'est pas fixe ...
Pour info , DAC =CNa en francais soit convertisseur numerique analogique

n°908775
beel1
Posté le 26-11-2004 à 19:36:57  profilanswer
 

je parle de fréquence d'échantillonnage pour la génération du .raw ;)

n°908789
beel1
Posté le 26-11-2004 à 20:01:08  profilanswer
 

bon, ça se fait rapido
je te donne la version .hex en 8 bits non signés (qui a l'avantage de n'être du texte, alors qu'un .bin ne peut pas se copier-coller)

:020000040000FA
:10000000808183848687898A8C8E8F91929495973C
:10001000989A9C9D9FA0A2A3A5A6A8A9ABACAEAFA1
:10002000B0B2B3B5B6B8B9BABCBDBFC0C1C3C4C520
:10003000C7C8C9CACCCDCECFD1D2D3D4D5D7D8D9C1
:10004000DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E998
:10005000EAEBECECEDEEEFF0F0F1F2F3F3F4F5F5A2
:10006000F6F6F7F7F8F9F9FAFAFAFBFBFCFCFCFDF7
:10007000FDFDFEFEFEFEFFFFFFFFFFFFFFFFFFFF98
:10008000FFFFFFFFFFFFFFFFFFFFFFFEFEFEFEFD86
:10009000FDFDFCFCFCFBFBFAFAFAF9F9F8F7F7F6C0
:1000A000F6F5F5F4F3F3F2F1F0F0EFEEEDECECEB46
:1000B000EAE9E8E7E6E5E4E3E2E1E0DFDEDDDCDB18
:1000C000DAD9D8D7D5D4D3D2D1CFCECDCCCAC9C81E
:1000D000C7C5C4C3C1C0BFBDBCBAB9B8B6B5B3B259
:1000E000B0AFAEACABA9A8A6A5A3A2A09F9D9C9AB9
:1000F0009897959492918F8E8C8A89878684838134
:10010000807F7D7C7A7977767472716F6E6C6B69A3
:100110006866646361605E5D5B5A5857555452511E
:10012000504E4D4B4A484746444341403F3D3C3B7F
:1001300039383736343332312F2E2D2C2B292827BE
:10014000262524232221201F1E1D1C1B1A191817C7
:100150001615141413121110100F0E0D0D0C0B0B9D
:100160000A0A090908070706060605050404040328
:100170000303020202020101010101010101010167
:10018000000101010101010101010102020202035A
:100190000303040404050506060607070809090AFF
:1001A0000A0B0B0C0D0D0E0F101011121314141559
:1001B000161718191A1B1C1D1E1F20212223242567
:1001C000262728292B2C2D2E2F3132333436373841
:1001D000393B3C3D3F404143444647484A4B4D4EE6
:1001E000505152545557585A5B5D5E606163646666
:1001F00068696B6C6E6F7172747677797A7C7D7FCB
:00000001FF


copie-colle ça dans un fichier texte, sauve-le sous l'extension .hex et normalement chipwriter doit pouvoir le prendre ;)
 
edit : au fait, t'as une eeprom aussi grosse pour mettre que ça ? (512 octets sur 65535 dispos)


Message édité par beel1 le 26-11-2004 à 20:07:51
n°912836
VS_bacteri​a
Posté le 02-12-2004 à 13:21:04  profilanswer
 

Pourrai tu m expliquer comment as tu réalisé ce .hex .
Finalement il ne dois pas avoir 512 mais 256 valeurs.
merci

n°913214
beel1
Posté le 02-12-2004 à 19:57:18  profilanswer
 

J'ai à ma disposition Sound Forge de Sonic Foundry (je crois que ça a été racheté par Sony depuis... je sais pas si y'a toujours des démos dispos, ou peut être qu'un shareware genre goldwave ou cooledit peut te faire ça)
 
File/New -> tu rentres une fréquence d'échantillonnage de 5120 Hz, résolution 8 bits, mono canal
ça t'ouvre un document vide
 
Tools/Synthesis/Simple -> forme sinus, amplitude maxi (0dB), fréquence 10 Hz
 
Zoome beaucoup, désactive l'option "auto-snap to zero" (sinon tu prendrais 513 échantillons), affiche la sélection en samples plutôt qu'en secondes et sélectionne 512 échantillons (de 0 à 511) en partant du début
 
Copie, ouvre un nouveau document (même format), colle et enregistre au format .raw en précisant 8 bits PCM, unsigned et mono (menu "custom" )
 
et ton .raw, tu peux le renommer en .bin tel quel.
Pour l'obtenir au format texte (.hex), tu ouvres le .bin avec ton programmeur d'eeprom et tu le sauvegarde en .hex et voilà

n°915312
cmoijulie
Posté le 05-12-2004 à 21:16:36  profilanswer
 

merci beaucoup ca fait plaisir de savoir qu il y a encore des gens qui donnent de leur temps pour aider gratuitement.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  [Projet] entrer une sinusoide dans une EPROM

 

Sujets relatifs
[C++ / OpenGL] Projet open source de moteur 3Didées de projet en c
Existe-t-il un editeur gratuit de projet visual basic ?Quel logiciel pour compiler un projet .dsw?
ou entrer le product key dans vb.net ? con mais bon....Projet Important
outil de suivi de projet[PROJET] création d'un script windows
Comment executer un .exe a partir d'un projet C# ?![Divers] Idée de projet informatique (DUT 2ème année)
Plus de sujets relatifs à : [Projet] entrer une sinusoide dans une EPROM


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR