Mam mały problem i nie wiem jak go ugryźć a sprawa przedstawia się następująco:
Załóżmy że posiadam 100 uP Atmeg ktore zajmują się jakimiś swoimi zadaniami, zbierają dane które mam zgromadzić w jednym miejscu którym będzie komputer. Ponadto komputer również ma pośredni wpływ na sterowanie Atmegami w ilości 100sztuk więc komunikacja musi byc dwukierunkowa.
Komp jest masterem reszta jest mu podporządkowana.
Każda Atmega gromadzi 100bajtów danych więc do przesłania jest 100x100 = 10k - do tego dochodzą inne dane sterujące, ale zakładam że mieszczę się w 10kB danych. Również narzucony jest limit czasowy, aby przesłać 10kB danych do kompa w czasie 60 sekund co daje nam ok 1,3kB/s czyli załóżmy 2kB/s
W jaki sposób skomunikować to wszystko ze sobą?
Dodatkowym założeniem jest (żeby wszystko utrudnić) aby zapewnić poprawność przesyłanych danych na odległość do 100 metrów więc załóżmy 200 metrów.
RS485 w/g standardów umożliwa komunikację z maksymalnie 32 urządzeniami
I2C, SPI ograniczenie odległością
1-wire (do 100 metrów) ale czy da się pożenić to wszystko tą metodą transmisji danych?
Dali - hmm będzie ciężko bo ogranicza nas ilość danych (ale to jest opcja)
Może inny standard przesyłu danych.
Rozchodzi się o to - aby było i tanio (więc wszelkie bezprzewodowe transmisje odpadają) i stosunkowo prosto.
Mam taki pomysł aby jeden mikrokontroler stał się kordynatorem (urządzeniem pośredniczącym pomiędzy 100 uP'ami a komputerem) i do niego spływały wszelkie dane z innych mikroprocesorów a ten np RS'ie przesyłał je dalej - co również miałoby działać w drugą stronę. Może wykorzystać do przesyłu danych jakiś swój standard przesyłu o którym jeszcze nic nie wiem?
Najlepiej byłoby gdyby wszystko sparować RS'em (gdyby nie to założenie że nie mogą pracować więcej niż 32 odbiorniki/nadajniki)..
Załóżmy że posiadam 100 uP Atmeg ktore zajmują się jakimiś swoimi zadaniami, zbierają dane które mam zgromadzić w jednym miejscu którym będzie komputer. Ponadto komputer również ma pośredni wpływ na sterowanie Atmegami w ilości 100sztuk więc komunikacja musi byc dwukierunkowa.
Komp jest masterem reszta jest mu podporządkowana.
Każda Atmega gromadzi 100bajtów danych więc do przesłania jest 100x100 = 10k - do tego dochodzą inne dane sterujące, ale zakładam że mieszczę się w 10kB danych. Również narzucony jest limit czasowy, aby przesłać 10kB danych do kompa w czasie 60 sekund co daje nam ok 1,3kB/s czyli załóżmy 2kB/s
W jaki sposób skomunikować to wszystko ze sobą?
Dodatkowym założeniem jest (żeby wszystko utrudnić) aby zapewnić poprawność przesyłanych danych na odległość do 100 metrów więc załóżmy 200 metrów.
RS485 w/g standardów umożliwa komunikację z maksymalnie 32 urządzeniami
I2C, SPI ograniczenie odległością
1-wire (do 100 metrów) ale czy da się pożenić to wszystko tą metodą transmisji danych?
Dali - hmm będzie ciężko bo ogranicza nas ilość danych (ale to jest opcja)
Może inny standard przesyłu danych.
Rozchodzi się o to - aby było i tanio (więc wszelkie bezprzewodowe transmisje odpadają) i stosunkowo prosto.
Mam taki pomysł aby jeden mikrokontroler stał się kordynatorem (urządzeniem pośredniczącym pomiędzy 100 uP'ami a komputerem) i do niego spływały wszelkie dane z innych mikroprocesorów a ten np RS'ie przesyłał je dalej - co również miałoby działać w drugą stronę. Może wykorzystać do przesyłu danych jakiś swój standard przesyłu o którym jeszcze nic nie wiem?
Najlepiej byłoby gdyby wszystko sparować RS'em (gdyby nie to założenie że nie mogą pracować więcej niż 32 odbiorniki/nadajniki)..