Sháním RTC s SPI a možností vyvolání externího alarmu

Náhrady součástek všeho druhu, informace a dotazy k součástkám

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
danhard
Příspěvky: 6649
Registrován: 05 bře 2007, 00:00
Bydliště: Jesenice u Prahy

#16 Příspěvek od danhard »

Když to uděláš přesný, tak akorát prodloužíš cykl synchronizace.
Pokud nechceš řešit kolize, tak musíš přidělit podle adresy časový okna a pak to podle přesnosti synchronizovat.
Slave pak dělají dvě akce, čekání na start a vyslání odpovědi v časovém okně.
Čekáním na start si může slave nakalibrovat čas, protože ten bude generovat master, ten pojede pořád, neřád :)

Nebo by se to dalo udělat cyklickým adresným startem v pravidelných oknech. Slave by to jeden cyklus poslouchal a nakalibroval si odezvu a kdy má čekat na další výzvu.
Uživatelský avatar
Victronix
Příspěvky: 978
Registrován: 23 lis 2007, 00:00
Bydliště: Vážany

#17 Příspěvek od Victronix »

Setkal jsem se s komunikací "Danbus" jako multimaster. Nikdy jsem nic takového neřešil, ale funguje to skvěle. Zařízením se přiřadí pouze adresa. pak si navzájem předávají informace.
Hledám ideální řešení...
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#18 Příspěvek od ZdenekHQ »

No, započítejte do vašich myšlenek to, že ten slave 10s spí a pak má cca 20 milisekund na akci. Master nic neřídí, jen čeká na zprávy od slave a potvrzuje.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Uživatelský avatar
danhard
Příspěvky: 6649
Registrován: 05 bře 2007, 00:00
Bydliště: Jesenice u Prahy

#19 Příspěvek od danhard »

To je zajisté započítáno :)
Ale pokud bude master jen poslouchat, tak se to rozjede vždy.
Pokud potvrzuje, tak vidí, nakolik je to časový okno rozjetý a řekne slave, že to má korigovat.
Ale na začátku se to stejně nasynchronizovat musí.
Uživatelský avatar
ZdenekHQ
Významný člen
Příspěvky: 25519
Registrován: 21 črc 2006, 00:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#20 Příspěvek od ZdenekHQ »

To je všechno logické až do okamžiku, kdy je master jen "cache" mezi slave a nadřazeným systémem. Sám je to pasivní vůl, co jen přeposílá pakety, přestože je to údajně master...

A tady právě končí všechna legrace se synchronizací...
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]
Uživatelský avatar
danhard
Příspěvky: 6649
Registrován: 05 bře 2007, 00:00
Bydliště: Jesenice u Prahy

#21 Příspěvek od danhard »

Tak to nebude fungovat bezkolizně ani s přesným RTC.

Jak je to se ztrátou dat, při kolizi, při rušení ? Proč to master potvrzuje, když to slave nezajímá ? :D

danhard píše:Nebo by se to dalo udělat cyklickým adresným startem v pravidelných oknech. Slave by to jeden cyklus poslouchal a nakalibroval si odezvu a kdy má čekat na další výzvu.

Takto to jde nejlépe, dá se to oživit tak, že slave jede pořád a pak tam teprve přidat sleep mod. Zapínání na poslech se udělá jen s malou rezervou a slave sám pozná, jak je ta rezerva velká a nakalibruje si jí. Když to propásne, třeba díky rušení, tak se chytne na další výzvu. Po tu dobu bude poslouchat. Stejně tak při zapnutí, nebo jiném zhroucení systému.

Jak se to má chovat, když master vypne komunikaci ?
Jak rychle se má ten přenosový systém probudit a nasynchronizovat ?

Kolizní asynchronní systémy se dělají tam, kde není velká četnost přenosů a kde nepožaduješ kontinuitu dat.
Tam jsou čidla jenom slave TX a je naopak důležité, aby se nedostaly do synchronismu :D
Odpovědět

Zpět na „Součástky“