RTV forum PL | NewsGroups PL

Jak zorganizować komunikację I2C z dwoma AVR: Główny i Podrzędny?

I2C 2x master?

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak zorganizować komunikację I2C z dwoma AVR: Główny i Podrzędny?

Dariusz Zolna
Guest

Thu Feb 14, 2008 4:33 pm   



Mam do rozwiązania następujący problem:
W projekcie chcę użyć dwóch procków AVR - 1 nazwijmy go Główny i 2
powiedzmy Podrzędny. Główny zajmuje się komunikacją ze światem
zewnętrznym (pobieranie i wyświetlanie danych, interakcja z
użytkownikiem) a Podrzędny zapisuje zebrane dane na dysku USB (choć tak
naprawdę co konkretnie robi nie jest aż tak istotne). Istotne jest, że
Główny komunikuje się z wieloma układami za pośrednictwem I2C, problemem
jest, że Podrzędny też podłączony jest jako I2C Slave. Problem w tym, że
Podrzędny potrzebuje też skorzystać z pamięci FRAM na I2C (ma za mało
pinów na Parallel i za mało wewnętrznego RAM). Pamięć ta ma być używana
jako bufor do zapisu danych na dysku. Jako że jest na I2C oba procki
mają do niej dostęp. Oczywiście najłatwiej byłoby użyć większego procka
jako Podrzędny, ale po co iść łatwą drogą kosztów? Wink
Macie jakieś pomysły / sugestie?

Dariusz Żołna

entroper
Guest

Thu Feb 14, 2008 6:15 pm   



Użytkownik "Dariusz Zolna" <answer@usenet.com> napisał w wiadomości
news:fp1mvi$2rc$1@inews.gazeta.pl...

Quote:
W projekcie chcę użyć dwóch procków AVR - 1 nazwijmy go Główny i 2
powiedzmy Podrzędny. Główny zajmuje się komunikacją ze światem
zewnętrznym (pobieranie i wyświetlanie danych, interakcja z
użytkownikiem) a Podrzędny zapisuje zebrane dane na dysku USB (choć tak
naprawdę co konkretnie robi nie jest aż tak istotne). Istotne jest, że
Główny komunikuje się z wieloma układami za pośrednictwem I2C, problemem
jest, że Podrzędny też podłączony jest jako I2C Slave. Problem w tym, że
Podrzędny potrzebuje też skorzystać z pamięci FRAM na I2C (ma za mało
pinów na Parallel i za mało wewnętrznego RAM). Pamięć ta ma być używana
jako bufor do zapisu danych na dysku. Jako że jest na I2C oba procki
mają do niej dostęp. Oczywiście najłatwiej byłoby użyć większego procka
jako Podrzędny, ale po co iść łatwą drogą kosztów? Wink

Jak pobawisz się trybem multi-master z arbitrażem (w AVR to w ogóle możliwe
?), to sam dodasz w przyśpieszonym tempie niezależną pamięć szeregową do
Podrzędnego. Jeśli koniecznie ma być ta jedna pamięć, możesz dodać dodatkową
linię do prostej komunikacji żądań dostępu między procesorami albo dodatkową
warstwę programową.

e.

Dariusz Zolna
Guest

Fri Feb 15, 2008 3:36 pm   



entroper pisze:
Quote:
Jak pobawisz się trybem multi-master z arbitrażem (w AVR to w ogóle możliwe
?), to sam dodasz w przyśpieszonym tempie niezależną pamięć szeregową do
Podrzędnego. Jeśli koniecznie ma być ta jedna pamięć, możesz dodać dodatkową
linię do prostej komunikacji żądań dostępu między procesorami albo dodatkową
warstwę programową.

Zmieniłem koncepcję i dzięki temu rozwiązał się ten i jeszcze jeden
problem - VNC1L, którego teraz używam do komunikacji z modułem akwizycji
danych (USB Slave) i zapisu danych na dysk / pendrive, nie pozwala na
odczyt ze Slave w tym samym czasie kiedy dane są zapisywane na dysk,
jedyne wyjście które zaproponował mi support FTDI to użycie dwóch hostów
(co podnosi mi znacząco koszty i komplikuje firmware). W związku z tym
USB zajmie się tylko komunikacją z układem akwizycji danych, a zapisywał
je będę na kartach SD/MMC (co ma jeszcze dodatkową zaletę, że nie będzie
mi kawał plastiku wystawał poza śliczną "clean look" obudowę Smile )

Dariusz Żołna

elektroda NewsGroups Forum Index - Elektronika Polska - Jak zorganizować komunikację I2C z dwoma AVR: Główny i Podrzędny?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map