I2c grande question

C

CHESS

Guest
J'ai un problème
i nécessité de résoudre une question: comment il
est possible d'insérer des informations dans un bus I2c.
Lorsque le bus est en fonction, le microcontrôleur est le numéro avec tous les circuits qui ont I2c, si je veux demander à un circuit, comment puis-je faire?
Le microcontrôleur ne sais pas moi, i dont have adresse II2.
Lorsque les différents circuits veux demander à l'autobus
qu'ils ont de mettre le bus de cette manière "0" ou "1" Je ne me souviens pas exactement et après ils peuvent parler au micro.Je voudrais demander à des circuits, pour exécuter une commande, et je ne veux pas savoir que le microcontrolleur moi.
?

 
vous avez besoin d'acquérir la propriété sur le bus par l'arbitrage il.

lorsque vous permettra d'avoir la propriété, vous pouvez écrire ou de lire à tout appareil sur le bus.

 
Peut-être que vous devriez lire le I ˛ C-bus spécification.
h ** p: / / w * w.semiconductors.philips.com/buses/i2c/facts /

Cela dépend de ce que l'autre type de microcontrôleur est (je ˛ Hardware Software ou C).Si le matériel que vous devez essayer de gagner le bus d'arbitrage.Si le logiciel, il ya une grande chance que la LC ne prend pas en compte
s'il existe d'autres masters (je
n'ai pas dans mes dessins

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Wink" border="0" />

) Je suppose que, dans ce cas, la LC est seulement de transmettre une horloge sur le SCL fils quand il a des données à transmettre.Si ce
n'est pas trop fréquentes, vous pouvez envoyer vos données quand il
est silencieux.

J'espère que cela aide (je ne
suis pas sûr que
j'ai compris le problème)

Antharax

 
Peut-être pas facile à comprendre
J'ai un téléviseur que les cadrans, avec beaucoup de ci
de lai suffit de parler à un circuit, je veux lui faire une commande, c'est tout.
le type de micro est par la force matérielle
le type de famille est p90ce201
Je ne veux pas compliquer une solution

 
Dans ce cas, vous avez juste besoin de connaître l'adresse de la composante.(il devrait être facile à trouver dans les fiches techniques de la composante. Quand il
est réglable, vous pouvez utiliser un multimètre afin de déterminer les bits supplémentaires sur la puce)

Il vous suffit d'envoyer I C ˛ données sur le fil.(Je suppose que vous allez faire avec un autre CL?)
Vous pouvez vérifier avec un champ de savoir si il ya toujours une horloge sur le SCL-fil.

Si non,
de générer et d'envoyer vos propres certaines données dans le temps.

Tout d'abord, un état de départ.
Suivant le premier octet (l'adresse de la composante)
Attendez un ack
Suivant byte
....

C'est ainsi que le bus, je travaille ˛ C (I got some I ˛ code C ou un lien pour la LC 8051)Si l'autre est toujours LC générer une horloge, il peut être un peu plus difficile.
* Quand il permet d'arbitrage pour le bus, vous pouvez essayer d'obtenir l'accès busmaster.
* Vous pouvez essayer d'envoyer des données comme un esclave (il suffit d'utiliser une CL c'est assez rapide)
* Vous pouvez toujours utiliser un PLL pour verrouiller sur le signal SCL et d'utiliser un diviseur dans sa boucle de rétroaction.De cette façon, vous générer un signal d'horloge de votre microcontrôleur qui
est un multiple de la SCL signal.Il
est maintenant facile d'envoyer des données lorsque l'autre LC est de ne pas utiliser le bus.

 

Welcome to EDABoard.com

Sponsor

Back
Top