Fórum témák
» Több friss téma |
Cikkek » HMC6352 iránytűmodul - I2C (TWI) használata AVR-rel HMC6352 iránytűmodul - I2C (TWI) használata AVR-rel
Szerző: Fizikus, idő: Nov 27, 2010, Olvasva: 23940, Oldal olvasási idő: kb. 1 perc
Ebben a cikkben egy HMC6352 iránytűmodul használatát mutatom be, ami I2C (TWI) buszon keresztül kommunikál az ATMega8-as AVR-rel. Ezért ennek a perifériának a rövid ismertetésére is sor kerül.
BevezetésAz 1980-as években a Philips, kifejlesztett egy egyszerű, kétirányú, kétvezetékes buszrendszert a hatékony IC-k közötti vezérlésre és kommunikációra (Inter IC = IIC = I2C). Egyszerűsége és rugalmassága miatt az I2C az egyik legelterjedtebben használt buszrendszerré vált, amit a mikrokontrollerek és különböző IC-k közötti összeköttetésre használnak. Az I2C busz csak két darab, kétirányú adatvonalat használ a mikrovezérlő és a többi eszköz közötti kommunikációra (egy soros adatvonalat (SDA) és egy soros órajelvonalat (SCL)), amivel akár 128 különböző eszköz is ugyanarra a buszra köthető. Amint azt a következő fejezetekben látni fogjuk, a megfelelő eszközazonosító címek használatával a mikrovezérlő minden nehézség nélkül tud majd kommunikálni az I2C buszra csatlakozó összes eszközzel, csak arra kell ügyelni, hogy minden eszköz I2C azonosítója (címe) különböző legyen. Az I2C kommunikációs protokoll szerint a mikrokontroller és az I2C buszra csatlakozó eszközök között egyszerre csak egyetlen kapcsolat engedélyezett, azaz a mikrovezérlő egyszerre csak egy I2C eszközzel kommunikálhat. A kommunikációt mindig a mikrovezérlő kezdi. Az I2C buszon elküld egy Start jelet, majd elküldi annak az I2C eszköznek az azonosítóját amelyikkel kommunikálni kíván. Az az eszköz, amelyiknek az azonosítója a mikrovezérlő által küldött címmel megegyezik, felveszi a kapcsolatot a mikrokontrollerrel, a többi I2C eszköz pedig hallgat, figyelmen kívül hagyja a nem neki szánt kommunikációt, és vár egy újabb Start jelre. Az adatátvitel végeztével a mikrovezérlő a kommunikációt egy Stop jellel zárja le, újra szabaddá téve ezzel az I2C buszt. Rengetegféle I2C-t használó IC közül választhatunk. Például soros EEPROM, I/O portbővítő, valós idejű óra, digitális-analóg átalakító, analóg-digitális átalakító, hőmérséklet szenzor, az ebben a cikkben is használt iránytűmodul és így tovább. A TavIR weboldalon (LINK) rengeteg példát találhatunk a használatukra, igaz hogy ott Bascom-ot használnak az AVR programozására, nem pedig C-t, de a különböző IC-k működésének a lényege nagyon jól megérthető. Látható az is, hogy az AVR csak két lábának a felhasználásával az I2C IC-kel kiterjeszthetjük a lehetőségeinket, és a mikrovezérlő által támasztott határokat nagymértékben kitolhatjuk. Nézzük meg kicsit részletesebben is, hogyan működik a fent vázolt kommunikáció. A cikk még nem ért véget, lapozz! Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |