Accueil > Matériel, Raspberry > Activer le support du bus SPI sur le Raspberry

Activer le support du bus SPI sur le Raspberry

Aujourd’hui, on va voir comment activer l’utilisation du bus SPI (Serial Peripheral Interface) sur le Raspberry. Le bus SPI est un standard de communication qui utilise 4 fils :

image

 

SCLK : horloge

MOSI : Master Out Slave In

MISO : Master In Slave Out

SS : Slave Select

Les broches utilisées (repérées en violet) sur le Raspberry sont les suivantes :

image

Par défaut, le support du bus SPI n’est pas activé sur une version Raspbian. Donc il va falloir éditer le fichier /etc/modprobe.d/raspi-blacklist.conf :

image

Ajouter un ‘#’ devant la ligne ‘blacklist spi-bcm2708’. Enregistrer le fichier et effectuer un reboot.

Le Raspberry ne fonctionne actuellement qu’en mode Maitre et ne supporte que 2 esclaves; il ne dispose que 2 sorties (CE0 et CE1) qui permettent de sélectionner l’esclave; ainsi on retrouve 2 nouveaux périphériques :

image

Pour tester le fonctionnement du bus SPI, il est possible de télécharger un petit programme écrit en langage C à cette adresse http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Documentation/spi/spidev_test.c

Ensuite il faut le compiler en tapant la commande :

gcc spidev_test.c –o spidev_test

La syntaxe d’utilisation du programme est la suivante :

image

L’outil envoie la séquence d’octets suivant pour le test :

0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x40, 0x00, 0x00, 0x00, 0x00, 0x95,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xDE, 0xAD, 0xBE, 0xEF, 0xBA, 0xAD,
0xF0, 0x0D

Pour effectuer le test, relier les broches GPIO 9 et GPIO 10 via un câble et lancer la commande suivante :

image

Voilà, tout est prêt pour utiliser des modules qui s’appuient sur le bus SPI.

Publicités
Catégories :Matériel, Raspberry Étiquettes : ,
  1. Falco
    15/05/2014 à 10:53

    Bonjour,

    Merci pour ce post !

    Savez vous s’il est possible de connecter sur le raspberry, à la fois un pitft qui utilise les deux canaux SPI du Rpi et une puce MCP3008, qui utilise un canal SPI ?

    Merci pour votre aide.

  1. No trackbacks yet.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :