Nouvelles:

Bienvenue au Forum de discussion Électro-Bidouilleur! Inscrivez-vous pour participer aux discussions!: 
https://forum.bidouilleur.ca/index.php?action=signup Les demandes d'inscription sont révisées quotidiennement.

Menu principal

Programmation circuit I2C ou SPI Python

Démarré par Nolimit60, Mai 02, 2017, 10:59:32 AM

« précédent - suivant »

Nolimit60

Bonjour à  tous les  bidouilleurs,

Je serai intéressé par une ou des vidéos sur la compréhension et l'utilisation de circuit intégrer type   I2C et SPI.

Mon but et de pourvoir utiliser ces composant avec Raspberry Pi (Python).

Je sais qui existe des modules I2C ou SPI déjà  tous fait.

Je souhaite surtout de partir d'un datasheet pour créer de toutes pièces le programme et le protocole afin apprendre la démarche de A a Z.

Le circuit peut servir a piloté un afficheur, une horloge, un moteur ou autre.

Merci par avance.

Olivier.

PS:Merci beaucoup pour vos vidéos très instructives. :) :)

Électro-Bidouilleur

Bonjour Olivier,

Merci de la suggestion. Oui, cela pourrait faire des bonnes vidéos, en effet. Je l'ai déjà  fait à  quelques reprises implicitement dans mes vidéos, mais pas de façon explicite.

La communication série SPI est simple quand il s'agit de communiquer d'un contrôleur vers un périphérique. Mais c'est un peu plus compliqué lorsque c'est bi-directionnel. Cependant comme c'est un lien Master-Slave unique, ça facilite la vie.

Le I2C est plus complexe, car c'est un bus à  plusieurs périphériques, et il y a donc la notion d'adresse à  gérer, ainsi que les risques de conflits de bus. C'est préférable d'utiliser un port I2C dédié sur un micro-contrôleur ainsi qu'une librairie I2C. C'est beaucoup plus ardu de couvrir toutes les possibilités d'état du bus avec du simple code. Tout dépend évidemment du périphérique à  gérer.

Nolimit60

Bonsoir,

Exemples, j'ai des circuits mémoires 24c16 et 93c56b  que je ne c'est pas exploiter. :-[ :-[

Cordialement

Olivier

Électro-Bidouilleur

Écrire de la mémoire morte externe (EEPROM, Flash, etc) n'est pas une mince tâche. Il y a une séquence précise à  rencontrer, et la mémoire s'écrit souvent par blocs d'adresses, pas comme de la mémoire RAM, une adresse à  la fois. C'est pour cela qu'il existe des fonctions logicielles et des ports I2C, pour que vous n'ayez pas à  vous taper ce pénible travail...

Pour faciliter votre apprentissage, je vous suggère d'expérimenter plutôt avec une sonde de température par exemple, avant de vous lancer dans la mémoire.

Multiman78

Bonjour,
Je te déconseille d'écrire tout un protocole I2C "à  la main" sans utiliser soit un système I2C embarqué dans un micro-contrôleur comme le signale Bertrand ou un PIC.


Sache qu'il faut gérer les fronts montants descendants à  la µs. Cela ne me semble pas envisageable dans un programme écrit en C, Python ou autre, à  moins d'y intégrer des portions de code en assembleur.


Alors finalement quel est ton besoin ? Ne peux-tu pas remplacer ces CI mémoires par un module I2C avec carte SD ? J'imagine que si cela est juste du stockage que tu veux faire, il doit y avoir une bibliothèque sur le PI pour gérer ces petits modules ?

Nolimit60

Bonjour Multiman78,

Les circuits mentionner était là  comme exemple .S'il faut utiliser un autre composant pour la compréhension cela me va très bien . La démarche est de prendre un composant SPI (car je comprend que pour le I2C est trop complexe pour un débutant) vers le datasheet, l'analyse du protocole, l'écriture du code et l'exploitation de celui-ci.

Et mon besoin est avant tous d'apprendre les mécanismes , j'aime comprendre ce que je fais , utiliser une bibliothèque c'est très simple et tout le monde peu le faire, comprendre les mecanismes est bien plus compliqué.


Multiman78

Bien... très bonne idée..


Tu peux rester sur l'I2C. Faire alors comme moi. Une carte de programmation de PIC et le logiciel qui va bien. Cela fait tellement d'années que je ne saurais pas te conseiller le matériel.


Bon courage et effectivement quand cela marche après nos heures de déchiffrages et de codage, des tests c'est gratifiant.

Nolimit60

Bonjour,

Vidéo EB_#153 La Communication Série, Partie 1: Introduction très intéressent pour avoir les basses.

Merci pour vidéo qui permet de comprendre très clairement le fonctionnement pour cette première vidéo.

Olivier

Électro-Bidouilleur

Bonjour Olivier,

Je ne sais pas si cette série de vidéos saura satisfaire, car il faut quand même s'en tenir à  un sommaire pour chaque protocole/bus. On verra bien!

Nolimit60

Bonjour,

Encore une très bonne vidéo, le SPI expliqué comme cela c'est vraiment plus facile pour la compréhension.

Merci ;)