Spolupráce 2 procesorů

Luděk
Příspěvky: 65
Registrován: 22 úno 2016, 08:47

Spolupráce 2 procesorů

Příspěvek od Luděk » 10 čer 2019, 06:22

Dobrý den, měl by někdo řešení, jak by mohly spolupracovat spolu dva procesory?
Ev. oba s přístupem na EEPROM?
Jeden procesor by řídil nějaký proces a druhý mu připravil data a zpětně četl výsledky.
Existuje řešení?

Uživatelský avatar
jrt
Příspěvky: 1460
Registrován: 17 úno 2013, 17:13

Re: Spolupráce 2 procesorů

Příspěvek od jrt » 10 čer 2019, 08:34

Propojit je sériovou linkou a posílat si ta data navzájem. Viz serin a serout.
jrt
hobbyrobot.cz, profirobot.cz
edurobot.cz, robodoupe.cz

Luděk
Příspěvky: 65
Registrován: 22 úno 2016, 08:47

Re: Spolupráce 2 procesorů

Příspěvek od Luděk » 10 čer 2019, 10:23

Jrt, to by taky šlo, ale spíš řeším, aby si oba procesory sahaly na EEPROM, třeba co je u RTC...
První CPU připraví data a pak je zase čte a zobrazuje, jak je ten druhý mění, třeba 32 Byte.
Tak to zkouším na jedné i2c a řeším, aby nekolidovaly. Co myslíš?

Uživatelský avatar
jrt
Příspěvky: 1460
Registrován: 17 úno 2013, 17:13

Re: Spolupráce 2 procesorů

Příspěvek od jrt » 10 čer 2019, 10:35

Zásadně nemyslím, tím jsem všeobecně známý! :D

Zato tak nějak tuším, že existují dvouportové paměti, ovšem zda mají rozhraní I2C nevím. Ale jejich obsluha bude nejspíš tak náročná, že výměna dat mezi dvěma PICAXE proti tomu bude hračka...

A jen pro připomenutí: PICAXE je 20 let starý projekt, určený pro jednoduché úkoly na základních školách, nikoli výkonný mikrokontrolér, kterým by se mohly snadno řešit podobné úlohy.

Nechceš se zastavit tuto sobotu na Malostranském Robodoupěti, kam chodí kromě mě i chytří lidé?
jrt
hobbyrobot.cz, profirobot.cz
edurobot.cz, robodoupe.cz

Uživatelský avatar
Dex
Administrátor
Příspěvky: 1037
Registrován: 16 úno 2013, 14:26

Re: Spolupráce 2 procesorů

Příspěvek od Dex » 10 čer 2019, 10:50

Já mám takový pocit, že pokud by se úloha, o níž vlastně nic nevíme, pořádně promyslela, nebude to dost možná až taková divočina :-)
"all your robots are belong to us"
robodoupe.cz | rxd.cz | codetory.cz

Luděk
Příspěvky: 65
Registrován: 22 úno 2016, 08:47

Re: Spolupráce 2 procesorů

Příspěvek od Luděk » 10 čer 2019, 10:53

Jo díky :-) mě to myslí méně než Tobě... Ale jinak jsem z jihu Čech, takže se tam nedostanu :-(
Ale budu dál bastlit... občas se oba poperou a nějak si ověřím, že data jsou validní.
Třeba pochopí, že jim nic jiného nezbývá, že mají jednu samičku..... :-)
( 2x TEN procesor a 1x TA paměť ), uvidím...

Uživatelský avatar
fulda
Příspěvky: 820
Registrován: 04 led 2016, 17:18

Re: Spolupráce 2 procesorů

Příspěvek od fulda » 10 čer 2019, 12:09

Luděk píše:
10 čer 2019, 06:22
Dobrý den, měl by někdo řešení, jak by mohly spolupracovat spolu dva procesory?
Pokaždé, když se bavíme o spolupráci dvou procesorů, motají se kolem toho slova jako "síť", nebo alespoň "sběrnice". Je hodně otázka designu, kterou "síť" nebo "sběrnici" si zvolíš. Celá řada z nich je velmi jednoduchá a implementovatelná i na picaxe.
Luděk píše:
10 čer 2019, 06:22
Ev. oba s přístupem na EEPROM?
Jeden procesor by řídil nějaký proces a druhý mu připravil data a zpětně četl výsledky.
Existuje řešení?
Nejjednodušší řešení je, když si nastavíš sběrnici I2C v multi-master režimu. Bohužel nevím, jestli je pro tento režim podpora v picaxe, normálně ty procesory multimaster zvládají na hardware, ale jestli se podpora dostala i do picaxe, to nevím. Pokud ne, budeš si muset nějak sám implementovat semafory. Jinak I2C jako sběrnice s tím nemá problém a "stačí to zapojit".
Za pravopisné chyby v této zprávě může moje učitelka češtiny.

Uživatelský avatar
Dex
Administrátor
Příspěvky: 1037
Registrován: 16 úno 2013, 14:26

Re: Spolupráce 2 procesorů

Příspěvek od Dex » 10 čer 2019, 12:35

Pokud vím, tak PICAXE "multi-master" neumí a slave jen třeba 20X2 a podobné.
"all your robots are belong to us"
robodoupe.cz | rxd.cz | codetory.cz

Luděk
Příspěvky: 65
Registrován: 22 úno 2016, 08:47

Re: Spolupráce 2 procesorů

Příspěvek od Luděk » 10 čer 2019, 13:14

Lidi, myslíte to asi dobře, ale jen teorie :-) Myslel jsem, jestli to někdo nemá opravdu vyzkoušené.
Jde mi o to, že jeden procesor bude mít na starosti display, všechny texty MENU, všechny nastavení - setup..... atd
proměnné uloží do EEPROM. Druhý procesor bude makat, přečte si ty proměnné z EEPROM, pužije, pozmění a zase
uloží do EEPROM a ten první to zobrazí.
Důvod? Mám složitý systém, jen pitomé MENU (skromné a optimalizované) má 1600 znaků, kompletní setup pro RTC má taky skoro 1000,
atd atd... a vlastní program má přes 2000. Takže proto to řeším.
Jde o to, jak prostřídat přístup na i2c sběrnici, abych procesory nenašval :-). Budu hledat nějaký digitální switch

Uživatelský avatar
fulda
Příspěvky: 820
Registrován: 04 led 2016, 17:18

Re: Spolupráce 2 procesorů

Příspěvek od fulda » 10 čer 2019, 13:18

Luděk píše:
10 čer 2019, 13:14
Důvod? Mám složitý system...
Pokud máš složitý a sofistikovaný systém, tak si ještě jednou přečti TUHLE Jirkovu poznámku.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti