Pages: [1]   Go Down
Author Topic: Mega2560 et  plusieurs SPI  (Read 1287 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 26
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

J'utilise les pins 50 51 52 et 53 (SPI) pour me servir d'un module sd card, mais je voudrais aussi utilisé un autres module a base de MAX7221 qui utilise aussi le SPI en meme temps

Comment je peux faire ?

Existe t-il un circuit permettant d'avoir plusieurs SPI ?

Ou sinon est ce que je peux aussi utilise les 6 pin au dessus de la carte (ICSP) comme SPI ?

je ne devrais pas les utilise en meme temps car il partagent les memes pin de l'arduino.

Merci de votre aide.
« Last Edit: November 11, 2010, 11:08:20 pm by andromeda » Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 26
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

une idee ?
Logged

France, Nice
Offline Offline
Full Member
***
Karma: 3
Posts: 194
www.Zartronic.fr
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Il y a un seul SPI sur le micro, connecté à 50... et sur ICSP.

On connecte plusieurs périphériques SPI sur le même bus en pilotant un CS (Chip Select) par périphérique.
Si le périphérique n'as pas son CS actif, il met ses lignes en haute impédance.



A+ Teiva

www.Zartronic.fr : Votre source Arduino en France
Logged


www.Zartronic.fr : Arduino & Robotique

0
Offline Offline
Newbie
*
Karma: 0
Posts: 26
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

donc si je veux piloter deux modules avec spi je peux brancher l'autre module sur l'icsp qui est libre et sa broche cs sur une pin de l'arduino, quand je veux utiliser le deuxieme module je met a l'etat bas le cs du premier module et  a l'etat haut le pin cs du deuxieme module qui utlise spi aussi et vice et versa ?

a moins de creer un circuit avec plusieurs connecteur spi connecter sur les broche 50 51 52 53 de l'arduino et je gere apres les cs sur les different pin cs qui sont sur l'arduino par exemple ?
« Last Edit: November 13, 2010, 06:44:53 pm by andromeda » Logged

France, Nice
Offline Offline
Full Member
***
Karma: 3
Posts: 194
www.Zartronic.fr
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Oui dans la théorie c'est ainsi, tu peux brancher sur l'un ou l'autre des connecteurs c'est les mêmes signaux.

Par exemple la carte Ethernet Shield V2 utilise le SPI pour le contrôleur Ethernet et pour la carte SD.

Il faut que tes librairies soft commutent bien le CS qui va bien, ça en pratique c'est moins évident, à vérifier de prêt dans le code.


A+ Teiva

www.Zartronic.fr : Votre source Arduino en France
Logged


www.Zartronic.fr : Arduino & Robotique

0
Offline Offline
Newbie
*
Karma: 0
Posts: 26
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oui mais on es toujours bloqué avec deux connecteurs SPI, si j'ai 7 capteurs en SPI je fais comment ?

il doit bien exister des circuits avec SPI multiplexer dans le commerce ?
ou un autre moyen.

Merci.
Logged

France
Offline Offline
Newbie
*
Karma: 1
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il y a un seul port SPI:
On y accède via les i/o 50 à 53 et via le connecteur ISCP.
cf le schéma: http://arduino.cc/en/uploads/Main/arduino-mega2560-schematic.pdf
Si tu as plusieurs capteurs SPI, tu mets en parallèle les lignes MISO, MOSI et SCK et tu alloues à chaque CS une pin dédiée.
Logged

France, Nice
Offline Offline
Full Member
***
Karma: 3
Posts: 194
www.Zartronic.fr
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ant.b a exactement indiqué la connexion.
Il n'y a pas de multiplexeur SPI a ma connaissance, il suffit de prendre du fil et un fer à souder  smiley
Ou un shield de prototypage et poser des connecteurs dessus, puis souder tout ça.


A+ Teiva

www.Zartronic.fr : Votre source Arduino en France
Logged


www.Zartronic.fr : Arduino & Robotique

Ales
Offline Offline
Faraday Member
**
Karma: 29
Posts: 3176
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oui je confirme, SPI c'est un peu la même logique que l'i2c mais sans les adresses : tu connectes autant de périphériques que tu veux sur les deux lignes et tu choisis à qui tu adresses ton message en passant son chip select en HIGH. Page 27 de cette doc tu as un exemple : http://docs-europe.origin.electrocomponents.com/webdocs/05ad/0900766b805ad384.pdf
Logged


0
Offline Offline
Newbie
*
Karma: 0
Posts: 26
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci de vos eclaircissement.
avec des barrettes secable ca doit etre faisable a faire sur une petite platine de test.
Logged

Pages: [1]   Go Up
Jump to: