MAX128 & MCP32017

Vous avez réalisé ou vous voulez réaliser un truc impensable avec votre Raspberry Pi ? Cet endroit est pour vous...

Modérateur : Francois

dyox
Raspinaute
Messages : 363
Enregistré le : dim. 28 déc. 2014 15:28
Localisation : Le long de la côte, au dessus du pays des bigoudennes, aïe

Re: MAX128 & MCP32017

Message par dyox » mer. 10 janv. 2018 19:20

Bonsoir,

Pour ceux qui veulent en savoir plus sur le SPI et le I2C. Je suis tombé sur cette chaîne grâce à un article de BlogMotion.fr.

Je mets les autres communications série dans ma signature.
Débutant sous Rpi / linux
[Pour bien commencer] Pour les nouveaux acquéreurs de Raspberry Pi (liste de liens utiles)

spourre
Raspinaute
Messages : 705
Enregistré le : lun. 22 déc. 2014 16:50
Localisation : 67380 LINGOLSHEIM

Re: MAX128 & MCP32017

Message par spourre » mer. 10 janv. 2018 19:52

Bud Spencer a écrit : ...
Vu comme ça, je t’accorde que ça simplifie grandement la réflexion du débutant, et pourtant c'est tout aussi faux que si on écrivait :
...
/
Merd* alors :cry:
Je viens de perdre une réponse détaillée (fausse manip de ma part ou bug BLOG ?).
Pour faire très bref:

1) pour le MCP, suite à ta remarque, j'ai relu la notice entièrement, y compris pour la version S que j'avais survolée.
Il y a bien une possibilité d'adressage dont 3 bits sont à disposition de l'utilisateur. Pour l'activer il faut:
-) Partager le même CS
-) Activer le bit HAEN du registre IOCON
Ça doit être faisable avec la wiringPi mais ce n'est pas trivial.

Quant au lien , il pointe vers un brevet pour améliorer le SPI. Ce n'est pas une note d'application d'un circuit réel, même s'il en existe peut-être déjà un.
Cela rajoute tellement de fonctions (acquittement d'adresse, echoing vers le maître, calcul de CRC..) et demande que l'adresse soit transmise par le CS, que je doute que cela soit gérable même avec la BCM.

Encore merci pour ton intervention qui m'a obligé à creuser le sujet et j'espère que l'on a pas découragé le PO.

Sylvain
Modifié en dernier par spourre le jeu. 11 janv. 2018 17:10, modifié 1 fois.

Bud Spencer
Raspinaute
Messages : 372
Enregistré le : lun. 15 août 2016 21:38

Re: MAX128 & MCP32017

Message par Bud Spencer » mer. 10 janv. 2018 22:16

dyox a écrit :Bonsoir,

Pour ceux qui veulent en savoir plus sur le SPI et le I2C. Je suis tombé sur cette chaîne grâce à un article de BlogMotion.fr.
Sympa la vidéo, surtout l’accent de caribou (j’aime bien :lol: ). C’est une bonne explication de ce qu’est une liaison SPI. Il est très bien expliqué que la liaison SPI est beaucoup plus rapide (et donc doit être plus soignée) que l’I2C (ce qui n'empêche pas non plus de soigner celle de l'I2C ...). Qu’une liaison SPI n’a pas de protocole établi si ce n’est celui des composants utilisés. Que c’est le maitre seul qui impose la fréquence d’horloge aux esclaves (très important ca …). Dommage, mais pas un mot sur l’adressage ou le chainage et comme d’habitude, cette énorme affirmation erronée ‘IL NI A PAS D’ADRESSAGE POSSIBLE’ …
spourre a écrit :...Ça doit être faisable avec la wiringPi mais ce n'est pas trivial.
Je trouve que c'est tout aussi ‘trivial’ que sur de l’I2C. Tu configure tes esclaves en initialisant leurs registres de config et ensuite tu échanges des données. C’est exactement pareil. L’adresse n’est pas transmise par le CS mais bien par le MOSI en début de transmission. Il ni a pas non plus d’acquittement d’adressage en direction du maitre (peut être sur certain composant complexe mais je n’en ai jamais utilisé de la sorte). Si on ne veux pas chercher à comprendre comment ca marche, on peut juste se dire que plusieurs chips SPI adressables s’utilisent comme sur de l' I2C sauf qu’en SPI il y a cette activation CS en plus. Ceci dit, attention, du fait que les liaisons SPI sont très ‘ouvertes’, les pièges y sont très nombreux aussi et on ne se lance pas sans avoir épluché et compris la datasheet de chaque composant que l’on souhaite utilisé avec un même CS. alors qu'en I2C, on se contente juste d'éviter les conflits d'adresses.

Je n’utilise généralement pas wiringPI sauf pour des tests destinés à écrire des exemples pour ce forum, mais c’est effectivement faisable aussi avec cette lib. Il y a d’ailleurs une extension sur le site WiringPi qui est dédiée à 2 composants SPI adressable (mcp23s08 et mcp23s17) ou l’auteur indique clairement que l’on peut utiliser 8 de ces composant par liaison (en réalité seulement 4 pour le 23s08 puisqu’il n’a que 2 bit d’adresse accessible). Il y précise bien qu’il faut penser a bien câblé les pinoches d’adressage pour faire du multichip (logique, sinon ces bits ne servirait a rien). Il existe la même page pour les modèles en I2C, mais aucune précision sur l’adressage alors que cela fonctionne exactement pareil (bit IOCON.HAEN en plus pour les modèles SPI et patte /CS en moins pour les I2C ).

wiringpi mcp23s17 et 23s08 (spi) : http://wiringpi.com/the-gpio-utility/sp ... xtensions/
wiringpi mcp23017 et 23008 (i2c) : http://wiringpi.com/the-gpio-utility/i2 ... xtensions/

Juste pour info, si vous utilisez un de ces composant avec le PI vous serez limté a 100KHz (peut être 400KHz mais pas garanti) en I2C et pourrez aller jusqu'à 10MHz en SPI (testé et approuvé avec 4 x 23s17 sur un seul CS sous Windows 10 IoT). Ca fait quand meme une belle différence ...
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Metogon
Messages : 4
Enregistré le : sam. 6 janv. 2018 20:46

Re: MAX128 & MCP32017

Message par Metogon » dim. 14 janv. 2018 17:30

Bonjour,

Désolé de ne pas avoir répondu plus tôt, c'est assez difficile en semaine, et merci de toutes vos réponses !

Mais j'ai changé d'avis, je vais finalement partir sur le 1-wire, ça me fera un montage plus simple et moins de fils dans tous les sens, et je n'ai pas besoin d'une grosse vitesse de transmission.

spourre
Raspinaute
Messages : 705
Enregistré le : lun. 22 déc. 2014 16:50
Localisation : 67380 LINGOLSHEIM

Re: MAX128 & MCP32017

Message par spourre » lun. 15 janv. 2018 01:02

Bonsoir,

Au moins, on ne vous a pas fait fuir :twisted:

Il est préférable de partir du besoin pour élaborer une réponse technique.
Pour de la domotique, le débit d'information à transmettre est plutôt faible et les capteurs et actionneurs sont dispersés dans tout le domicile (appartement ou maison), avec une logique de regroupement par pièces et/ou par étage.

Si vous en avez la possibilité (neuf ou grosse rénovation), tirer un réseau filaire est préférable. Dans le pire des cas (distance, murs épais) , il reste le "sans fil"
N'hésitez pas à nous tenir au courant.

Sylvain

Bud Spencer
Raspinaute
Messages : 372
Enregistré le : lun. 15 août 2016 21:38

Re: MAX128 & MCP32017

Message par Bud Spencer » mer. 17 janv. 2018 20:35

Metogon a écrit :Bonjour,

Désolé de ne pas avoir répondu plus tôt, c'est assez difficile en semaine, et merci de toutes vos réponses !

Mais j'ai changé d'avis, je vais finalement partir sur le 1-wire, ça me fera un montage plus simple et moins de fils dans tous les sens, et je n'ai pas besoin d'une grosse vitesse de transmission.
En générale on décide d'une technologie en fonction du besoin, mais rarement l'inverse. Juste a titre d'info (ca peut toujours servir ....),sachez que l' on peut aussi utiliser des composants spi sur des liaisons d'une centaine de mètre avec seulement une paire et depasser le Km sur du 4 paires. En effet, un des enorme avantage des lisaison SPI comparé à l'I2C et le 1-Wire, c'est que l'on peut maitriser l'horloge en fonction de l'etat et de la longueur de la liaison physique.
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Répondre

Retourner vers « Utilisateurs avancés »