Pytanie - magistrala I2C



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Omega" <omega9_at_nospam_friko7.onet.pl>
Subject: Pytanie - magistrala I2C
Date: Thu, 8 Nov 2001 13:59:20 +0100


W pewnym urządzeniu jest magistrala I2C
Procesor + pamięć + chyba 8 scalaków.
Mam zamiar zmusić pewien scalak do wykonania
pewnego polecenia . Rozwiązanie widzę tak:
Atmelek 89C2051, Program w Bascomie
(bo to znam) i podpinam procek pod
magistralę. Czy mogą wystapić jakieś
problemy, np z arbitrażem. Zaznaczam
że na magistralę procesor cały czas coś
wysyła i nie jestem pewien czy nie nastąpi jakiś
konflikt.

Leszek Wieczorek



Poprzedni Następny
Wiadomość
Spis treści
From: "Marcin Stanisz" <mstanisz_at_nospam_SPAM.poczta.onet.pl>
Subject: Re: Pytanie - magistrala I2C
Date: Fri, 9 Nov 2001 08:04:19 +0100


"Omega" <omega9_at_nospam_friko7.onet.pl> wrote in message
news:9senpo$pcm$1_at_nospam_news.onet.pl...
magistralę. Czy mogą wystapić jakieś
problemy, np z arbitrażem. Zaznaczam

Jasne, że tak. Będziesz miał, jak rozumiem, dwóch masterów. A jeśli procesor
pracujący w urządzeniu nie obsługuje kolizji, to raczej nic nie zrobisz -
będzie na ślepo nadawał i przekłamywał. Chyba, że Ci się uda na chwilę ten
procesor wyciszyć (odciąć mu środki do pracy ;) albo odłączyć od magistrali.
Specyfikacja IIC opisuje sposób arbitrażu - do znalezienia na stronach
Philipsa.


Marcin

--
"Daleko na brzegu męskie głosy wzniosły się w pieśni:
- Z sześciu westalek z Heliodelifilodelfiboschromenos tyś jedyna...."

Terry Pratchett "Eryk"
tłum. Piotr W. Cholewa



Poprzedni Następny
Wiadomość
Spis treści
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Pytanie - magistrala I2C
Date: Fri, 09 Nov 2001 08:34:53 +0100


Omega wrote:

Czy mogą wystapić jakieś
problemy, np z arbitrażem. Zaznaczam
że na magistralę procesor cały czas coś
wysyła i nie jestem pewien czy nie nastąpi jakiś
konflikt.

Może, sprawdź co się stanie jak zablokujesz magistralę.
Jeśli nic, to może nie będzie problemem jak przejmiesz na chwilę
kontrolę nad nią, zmienisz coś gdzieć o oddasz.

--
PZD, Irek.N.



Poprzedni Następny
Wiadomość
Spis treści
From: jfox_at_nospam_friko6.onet.pl (J.F.)
Subject: Re: Pytanie - magistrala I2C
Date: Fri, 09 Nov 2001 21:25:39 GMT


On Thu, 8 Nov 2001 13:59:20 +0100, Omega wrote:
W pewnym urządzeniu jest magistrala I2C
Mam zamiar zmusić pewien scalak do wykonania
pewnego polecenia . Rozwiązanie widzę tak: Atmelek 89C2051, Program w Bascomie
Czy mogą wystapić jakieś problemy, np z arbitrażem. Zaznaczam
że na magistralę procesor cały czas coś
wysyła i nie jestem pewien czy nie nastąpi jakiś konflikt.

No to w zasadzie masz pewnosc ze klopoty wystapia :-)
Atmelek [i inne procki tez] jest po prostu za wolny zeby arbitraz
programowo obsluzyc. Chyba by sie dalo to zrobic za pomoca
kilku dodatkowych przerzutnikow. Ale .... czy procesorek w tym
urzadzeniu jest dostosowany do multi-master ? Pewnie tez nie ..

J.


Poprzedni Następny
Wiadomość
Spis treści
From: rora_at_nospam_klub.chip.pl (Rora)
Subject: Re: Pytanie - magistrala I2C
Date: 10 Nov 2001 00:47:09 +0100


No to w zasadzie masz pewnosc ze klopoty wystapia :-)
Atmelek [i inne procki tez] jest po prostu za wolny zeby arbitraz
programowo obsluzyc. Chyba by sie dalo to zrobic za pomoca
kilku dodatkowych przerzutnikow. Ale .... czy procesorek w tym
urzadzeniu jest dostosowany do multi-master ? Pewnie tez nie ..

No chyba ze transmisja nie jest zbyt szybka tzn. ponizej 100kHz,
to wtedy moze mozna by bylo zastosowac Dallasy albo AVR,
oczywiscie na max czestotliwosci, mysle ze powinno lyknac.
Nie wiem czy 2051 na 24MHz zmierzy roznice poziomow.
Tak po prostu glosno mysle ;))).

Robert


--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


Poprzedni Następny
Wiadomość
Spis treści
From: "Omega" <omega9_at_nospam_friko7.onet.pl>
Subject: Odp: Pytanie - magistrala I2C
Date: Sat, 10 Nov 2001 19:14:58 +0100


A jeżeli odpiąłbym scalak który mnie interesuje
od magistrali ?. Czyli tak:
1.Załączam urządzenie
2.Procesor robi wpisy do rejestrów układów
przyłączonych do magistrali
3.Atmelek po ustalonym czasie odpina układ
od magistrali i przypina do swojej (np przy pomocy
klucza 4053
4.Robi wpis do określonego rejestru
5.Przypina spowrotem układ do magistrali.

Wtedy chyba nie powinno być problemu?

Leszek Wieczorek



Poprzedni Następny
Wiadomość
Spis treści
Date: Sat, 10 Nov 2001 21:50:02 +0100
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Re: Pytanie - magistrala I2C


O ile tylko fabryczny master nie wpadnie na pomysł żeby co jakiś czas
uaktualnić swoje peryferia ;-)
Sprawdziłeś co się dzieje po zablokowaniu magistrali ?
--
PZD, Irek.N.



Poprzedni Następny
Wiadomość
Spis treści
From: "Omega" <omega9_at_nospam_friko7.onet.pl>
Subject: Odp: Re: Pytanie - magistrala I2C
Date: Sat, 10 Nov 2001 23:26:12 +0100


Wpis master robi chyba tylko raz.
Problem polega na tym że ja tego urządzenia
nie mam na warsztacie. Gdybym miał to bym
eksperymentował sam i nie pytał na liście.
Muszę po prostu zrobić moduł z atmelkiem
i jechać na drugi koniec polski żeby to wmontować
wierząc , że pomysł się sprawdzi.

Leszek Wieczorek



Poprzedni Następny
Wiadomość
Spis treści
From: Milosz Skowyra <miloszek_at_nospam_fidonet.org.pl>
Subject: Re: Pytanie - magistrala I2C
Date: Sat, 10 Nov 2001 00:10:19 +0100


Omega wrote:

Muszę po prostu zrobić moduł z atmelkiem
i jechać na drugi koniec polski żeby to wmontować
wierząc , że pomysł się sprawdzi.

Moze jednak najlepiej wez laptopa z programatorem, do tego zestaw z
atmelkiem i dodatkowo przystawke do LPT monitorujaca magistrale I2C.
Cos z tego wyjdzie, pytanie tylko co.
Moze napiszesz konkretniej czego spodziewasz sie do odczytu i jak mniej
wiecej wyglada ten caly system ??? Inaczej to tylko wielki
eksperyment...
Tak czy owak powodzenia.
--
Regards.
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek_at_nospam_fidonet.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|
Siala baba mak i dostala dozywocie...

Poprzedni Następny
Wiadomość
Spis treści
From: rora_at_nospam_klub.chip.pl (Rora)
Subject: Re: Pytanie - magistrala I2C
Date: 11 Nov 2001 20:34:53 +0100


Muszę po prostu zrobić moduł z atmelkiem
i jechać na drugi koniec polski żeby to wmontować
wierząc , że pomysł się sprawdzi.

Mysle ze najlepszym rozwiazaniem bedzie sprawdzanie kiedy wystapi STOP,
jezeli juz MASTER wygeneruje STOP to musisz zaraz wygenereowac START
i odczekac na chwile czy udalo Ci sie przejac magistrale, tzn. czy w tym
samym czasie
MASTER nie wygenerowal rowniez START i nie zaczal nadawac, jezeli sie udalo
to
mozna transmitowac, jezeli zaczal nadawac tzn. ze przejecie sie nie udalo.
Powinno to wygladac mniej wiecej tak:
1. Sprawdzanie czy na magistrali pojawil sie STOP.
2. Po pojawieniu sie STOP generacja START (przez atmelka).
3. Sprawdzanie czy po wygenerowaniu START na magistrali panuje cisza.
4. Jesli tak to wszystkie uklady nas sluchaja i mozna nadawac.
Problem w tym ze nie wiadomo czy MASTER jest przystosowany do pracy SLAVE
(tzn. odbierania bajtow po wygenerowaniu START), i podstawowe pytanie czy
MASTER w ogole generuje STOP, jak wiadomo jest mozliwa transmisja w I2C
bez generowania STOP.
Przypuszczam ze jesli wygenereujesz START przy nie spelnionych powyzszych
warunkach spowoduje to wysypanie sie MASTER.
Mysle ze musisz po prostu musisz sprawdzic jak MASTER obsluguje I2C,
a pozniej cos naskrobac.
Powodzenia w walce na drugim koncu Polski ;))).

Ktoś już tu poddał na grupie pomysł aby na czas czytania tego scalaka
ustawić
reset na procku master. Podczas resetu na pewno nic nie będzie czytał, a w
związku z tym masz wolną magistralę. Odczytujesz stan scalaka przed
resetem.

Popieram. Tylko zeby nie przycigal magistrali do zera podczas resetu bo
inaczej
klops.

Robert





--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


Poprzedni Następny
Wiadomość
Spis treści
From: "milosz kłosowicz" <news_at_nospam_mikrobit.prv.pl>
Subject: Re: Pytanie - magistrala I2C
Date: Sun, 11 Nov 2001 22:07:29 +0100



"Rora" <rora_at_nospam_klub.chip.pl> wrote in message
news:000e01c16a23$83e4e3e0$5c78fea9_at_nospam_rafal...
Muszę po prostu zrobić moduł z atmelkiem
i jechać na drugi koniec polski żeby to wmontować
wierząc , że pomysł się sprawdzi.


Mysle ze musisz po prostu musisz sprawdzic jak MASTER obsluguje I2C,
a pozniej cos naskrobac.

Najpierw to warto sprawdzić jaki uład obsługje MASTER'a.
Jesli ma on I2C sprzętowe ( np 80C552,80C654 itp.) to mechanizm arbitrazu na
magistrali bedzie na pewno
działać OK i wystarczy zadbać żeby drugi MASTER też go prawidłowo obsłuzył.
Jesli to jest I2C zrobione programowo to na 99% nie ma arbitrazu
(bo po co ktos miałby pisac zbędny soft dla jednego MASTER'a) i wtedy
trzeba kombinować
z tym odłączaniem MASTER'a 1 na czas transmisji. Wtedy jednak jest
niebezpieczeństwo że pierwszy master usiłując cos nadac a będać odłączonym
od magistrali stwierdzi błąd i
nie wiadomo co wtedy program robi: czy powtarza próby do skutku ( czyli do
ponownego podłączenia magistrali )
czy też po którymś błędzie kończy program z błędem.

A tak w ogóle, to łatwiej będzie , jeśli ten układ nie jest zbyt
skomplikowany,
poprawić lub napisać od nowa program dla istniejącego MASTER'a ?

Miłosz




Poprzedni Następny
Wiadomość
Spis treści
From: jfox_at_nospam_friko6.onet.pl (J.F.)
Subject: Re: Pytanie - magistrala I2C
Date: Sun, 11 Nov 2001 12:49:35 GMT


On Sat, 10 Nov 2001 19:14:58 +0100, Omega wrote:
A jeżeli odpiąłbym scalak który mnie interesuje
od magistrali ?. Czyli tak:
1.Załączam urządzenie
2.Procesor robi wpisy do rejestrów układów
przyłączonych do magistrali
3.Atmelek po ustalonym czasie odpina układ od magistrali i przypina do swojej
[...]
Wtedy chyba nie powinno być problemu?

Nie. Tylko ze pewnie akurat w tym czasie procesorek glowny zechce
sie skomunikowac z odpietym ukladem, i z braku odpowiedzi
zawiesi sie, albo zdurnieje :-)

J.


Poprzedni Następny
Wiadomość
Spis treści
From: <zbyszeks_at_nospam_poczta.onet.pl>
Subject: Re: Pytanie - magistrala I2C
Date: 11 Nov 2001 16:29:08 +0100


Witam
Ktoś już tu poddał na grupie pomysł aby na czas czytania tego scalaka ustawić
reset na procku master. Podczas resetu na pewno nic nie będzie czytał, a w
związku z tym masz wolną magistralę. Odczytujesz stan scalaka przed resetem.

Pozdrowienia Zbyszek


--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl