Exemples mettant en œuvre les périphériques embarqués

I2C
ChristianDupaty
BTSSystèmesNumériques
LycéeFourcade‐Gardanne
Académied’AixMarseille
RASPBERRYPIetPYTHON:I2C 
BTS systèmes numériques http://genelaix.free.fr2/6
1) TP:I2C
LebusI2Cestunbuslocalpermettantleséchangessériesàcourtedistanceentreunmicrocontrôleuretdes
périphériques(ADC,DAC,afficheur,mémoire,capteursetc…)ouunautremicrocontrôleur,leséchangessont
gérésparprotocoleavecadressage.
LebusI2Cestsynchroneethalfduplex,satechnologied’interfacesdrainsouvertslerendtrèsrésistantaux
courtscircuitsetpermetunegestionsimpledeserreurs.
©wilkipedia
Leniveauhaut(1)estrécessif,le(0)estdominant.
Unéchangededonnéesesttoujoursinitiéparlemaitre(iciRaspberryPi).
IlcommenceparuneStartCondition:SDApasseà0puisSCLpasseà0
Puisl’adressedudestinataire:impairepouruneécriture,pairepourunelecture
Acquittementparledestinatairequiplaceunniveaubassurla9ièmeimpulsionsurSCL.
Lesensdel’échangedesdonnéesdépenddel’application,lecturepouruncapteur,écriturepourunafficheur.
L’échangesetermineparuneconditionstop,sdapasseà1puisSCLpasseà1
ExempledetrameI2C,lectured’unTMP102(TexasInstruments)
RASPBERRYPIetPYTHON:I2C 
BTS systèmes numériques http://genelaix.free.fr3/6
LeTPmetenœuvrelecapteurTexasInstrumentTMP102:http://www.ti.com/product/tmp102
CecomposantdisponibleenboitierSOT563estdifficilementimplantablesurcircuit
imprimésansl’aidedemachinedepositionnement.Sparkfunproposeunepetite
carteéquipéed’unTMP102,desrésistancesdepullupdubusI2Cetd’un
condensateurdedécouplage:https://www.sparkfun.com/products/11931
RasperryPidisposed’uninterfaceI2Cetd’unebibliothèque.
broche3:SDA,broche5:SCL
(lesrésistancesdepullupsontdéjàsurlemoduleSparkfun)
LabibliothèquePythonI2CSMBUSpourRaspberryPi
I2CetSMBUSsonttrèssimilaires,lesdifférencesrésidentdanslesfréquencesd’horlogeetlestensionsde
déclenchement.
I²CSMBus
TimeoutNo Yes
MinimumClockSpeedDC 10kHz
MaximumClockSpeed100kHz(400kHzand2MHzalsoavailable) 100kHz
VHIGH0.7×VDD,3.0VFixed 2.1V
RASPBERRYPIetPYTHON:I2C 
BTS systèmes numériques http://genelaix.free.fr4/6
VLOW0.3×VDD,1.5VFixed 0.8V
MaxI3mA 350µA
ClockNomenclatureSCL SMBCLK
DataNomenclatureSDA SMBDAT
Programmationd’unthermomètre
Recuperationdesparquets
apt-get update
sudo apt-get install i2c-tools
Lacommandemodprobe
modprobe permetd’ajouter(etd’enlever)desmodulesdansleNoyauLinux,commelemoduleI2C.
sudo modprobe i2c-dev
sudo modprobe i2c-bcm2708
lsmod retournelalistedesmodulesactifs
modinfo nom_du_module retournelesinformationsdumodulenom_du_module
RASPBERRYPIetPYTHON:I2C 
BTS systèmes numériques http://genelaix.free.fr5/6
Commandesdelalibrairiei2cdev
sudo i2cdetect -y 1
Litlemot(w)oul’octet(b)dansl’adresse5(rienpourunlireoctetunique)ducircuitàl’adresseI2C0x1F
sudo i2cget -y 1 0x48 0x5 w
Ecrit55danslecircuitàl’adresseI2C0x20surlebus1
sudo i2cset -y 1 0x20 55
Litlecontenuenoctets(b)oumot(w)ducircuitàl’adresseI2C0x48surlebus1
i2cdump –f 1 0x48 b
l
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !