Problème avec une interface sérielle I2C EEPROM

N

nemolee

Guest
Est-ce que quelqu'un sait?
J'ai une question à propos de EEPROM interface série.Si elle est arrêtée subitement à la lecture processus parce que le capitaine est remis à zéro, mais l'esclave n'est pas réinitialisé, même le maître envoie la condition de démarrage, mais pas toute atteinte à l'esclave.Le maître ne peut pas contrôler l'esclave plus.Pourquoi?Comment puis-je modifier le maître?Merci.

 
Essayez d'envoyer un message court insignifiante à l'esclave au début des travaux de master après un redémarrage.Le moment clé de ce est la condition STOP.Après avoir reçu esclave STOP ont pour réinitialiser tous ses états internes à leur valeur initiale.

 
vous pouvez essayer ajouté Start & Stop avant de vous envoyer des données dans l'EEPROM.

 
Je ne sais pas Vey bien sur votre qustion
le capitaine doit déjà connaître l'adresse esclave qui le souhaitent d'envoyer, donc après réinitialisation, vous devez renvoyer signal de départ, puis addr (sinon, qui esclave, il veut contrôler), alors tous les esclaves cuira à l'état initial de votre machine d'État (il devrait exister dans votre maître et l'esclave code RTL), l'esclave va attendre pour le match de l'adresse, puis redémarrez la machine d'Etat, alors pourquoi vous avez un problème après la réinitialisation maître?
Si cela arrive vraiment

même le maître envoie la condition de démarrage, mais pas toute atteinte à l'esclave
signal first !!

alors je ne pense pas que votre numéro de série est IIC, vérifier et mesurer les CLK et SDI assurez-vous vraiment envoyer un premier signal de départ!
 
Mediatek a écrit:

Je ne sais pas Vey bien sur votre qustion

le capitaine doit déjà connaître l'adresse esclave qui le souhaitent d'envoyer, donc après réinitialisation, vous devez renvoyer signal de départ, puis addr (sinon, qui esclave, il veut contrôler), alors tous les esclaves cuira à l'état initial de votre machine d'État (il devrait exister dans votre maître et l'esclave code RTL), l'esclave va attendre pour le match de l'adresse, puis redémarrez la machine d'Etat, alors pourquoi vous avez un problème après la réinitialisation maître?

Si cela arrive vraimentmême le maître envoie la condition de démarrage, mais pas toute atteinte à l'esclavesignal first !!
alors je ne pense pas que votre numéro de série est IIC, vérifier et mesurer les CLK et SDI assurez-vous vraiment envoyer un premier signal de départ!

 
à la lecture, SDI esclave devenu broches de sortie
donc aucun moyen de detecte de démarrage,
C'est pourquoi vous envoyez démarrage ne fonctionne pas
mais en ce moment, je ne comprends pas pourquoi esclave pull SCK au plus bas, normalement esclave n'est pas prêt à recevoir des données (écriture), alors il sera d'horloge à faible pour faire une pause maître envoyer des données,
mais après esclave est prêt à accepter les données, il sera de retour le contrôle CLK à maîtriser.
essayer
Envoyer pas ACK ('1 'à la 9ème CLK ou ..., suivre les spec SII. vous utilisez), après réinitialisation,
de laisser SDI broches devenir pin.then entrée de démarrage ....

si stll esclave laisse peu d'horloge et ne peut pas detecte commencer, je pense que certains d'erreur laisser sans fin machine d'état de boucle Salve ===> que vous pouvez faire est de réinitialiser esclave
becsuae esclave problème de lui, pas le maître.

 
Salut,

Je pense que vous pouvez essayer d'envoyer "STOP", le "STOP" signal de réinitialisation de l'esclave et donc réinitialiser le "SDA" à "élevé".J'ai conçu I2C avant, c'est que ça fonctionne pour mon projet.

Bonne chance ...

Intelligent

 

Welcome to EDABoard.com

Sponsor

Back
Top