Panoramix
Guest
Tue Oct 26, 2004 5:28 pm
Jak uP (ATMEL `51) ma wybrać układ który jest połączony do UART`a przez
magistrale I2C razem z innymi urządzeniami na tej samej magistrali.
Na SPI jest CS a na I2C jak to działa?
Pawel \"O'Pajak\"
Guest
Tue Oct 26, 2004 6:32 pm
Powitanko,
Quote:
Jak uP (ATMEL `51) ma wybrać układ który jest połączony do UART`a przez
magistrale I2C
Do UART przez I2C? Nic nie rozumiem.
Pozdroofka,
Pawel Chorzempa
--
"-Tato, po czym poznać małą szkodliwość społeczną?
-Po wielkiej szkodzie prywatnej" (kopyrajt: S. Mrożek)
Przy odpowiadaniu na priv zastanow sie nad moim adresem;-)
Panoramix
Guest
Tue Oct 26, 2004 6:57 pm
Ekhm...
no wiesz....
ja tez nie rozumiem, dlatego pytam
A.Grodecki
Guest
Tue Oct 26, 2004 7:21 pm
Użytkownik Panoramix napisał:
Quote:
Ekhm...
no wiesz....
ja tez nie rozumiem, dlatego pytam
I2c i uart to 2 różne rzeczy.
Urządzenia na magistrali i2c maja adresy i po nich sa rozpoznawane, tak
jak w każdym szeregowym systemie magistralowym. Scalaki gotowe z
interfejsem i2c mają adres całkowicie lub częściowo zdefiniowany na sztywno.
W i2c występuje pojęcie mastera (układu zarządzającego magistralą) i
slave (układu podrzędnego, który nie może inicjować zdarzeń). Weź
pierwsy lepszy scalak z i2c, np jakiś e2rom, poczytaj i Ci się rozjaśni.
--
Pozdrawiam,
A. Grodecki
Krzysztof Gawryś
Guest
Wed Oct 27, 2004 9:55 am
Użytkownik "Panoramix" <panoramix[nospam]@neostrada.pl> napisał w wiadomości
news:clm572$bgg$1@nemesis.news.tpi.pl...
Quote:
Jak uP (ATMEL `51) ma wybrać układ który jest połączony do UART`a przez
magistrale I2C razem z innymi urządzeniami na tej samej magistrali.
Na SPI jest CS a na I2C jak to działa?
UART to kompletnie osobna sprawa w stosunku do I2C.
Domyslny standard UART nieposiada adresowania urzadzen i jest dedykowany do
pracy w parach.
Jesli chcesz pod '51 podpiac peceta przez RS232 to wykorzystujesz do tego
UART + np. MAX232 i nic wiecej do tego nie podpinasz, w sensie zadnych
innych ukladow na UART.
Natomiast I2C ma adresowanie, wybor ukladu z ktorym uP chce "gadac" polega
na wyslaniu adresu tego ukladu do wszystkich urzadzen podpietych pod I2C, a
reagowal bedzie tylko ten ktoremu przypisany zostal adres pod ktory sie
odwolujemy. A dopiero pozniej polecen sterujacych.
Standard I2C pozwala na zdefiniowanie kilku adresow ukladow, a co za tym
idzie mozna na jednym I2C (na dwoch zylach) podpiac kilka ukladow.
Adres konkretnego ukladu jest albo calkowicie zaszyty w jego strukturze,
albo czesciowo konfigurowalny poprzez dodatkowe zewnetrzne piny Ax (zaleznie
od ukladu moze to byc jeden lub kilka pinow).
Przykładowo, dla układu PCF8583 adres wygada nastepujaco:
(zapis binarny)
101000(A0)(R/-W)
gdzie - A0 to bit rownowazny z pinem A0, moze byc spiety do masy lub do
plusa zasilania ukladu,
a R/-W to bit adresowania odczytu lub zapisu.
zalozmy ze A0 mamy spiete do masy i teraz adres _zapisu_ do ukladu PCF8583
bedzie wygladal tak: 10100000 (w hex 0xA0), a ades _odczytu_ 10100001 (hex
0xA1).
Jesli w projekcie mamy kilka ukladow pracujacych na wspolnym I2C, MUSIMY, na
poziomie sprzetowym, zadbac o to aby kazdy z tych ukladow mial inny adres!
Mysle, ze ten troche przydlugi opis, w czyms Ci pomoze.
K.
Panoramix
Guest
Wed Oct 27, 2004 5:42 pm
Nawet nie wiesz jak baaaardzo. Lubie takie długie i dokładne odpowiedzi
thnx