STM32, SPI daisy chain

Petr Labaj labaj na volny.cz
Čtvrtek Květen 11 21:22:49 CEST 2023


Jak je to myšleno?
SPI má z pohledu mastera 2 výstupní signály (SCK, MOSI) a 1 vstupní (MISO).
Se kterým slave se mluví určuje CS.
Takže všechny slave mají 3 signály společné, a pak jeden pro každý slave 
zvlášť.
Kde v tom je nebo by měl být nějaký chain? A v čem by byla výhoda?

Naprogramovat DMA na přenos 8 byte je snadné.
Udělat přerušení od konce přenosu je taky snadné.
V tom přerušení posunout ukazatel na buffer další periferie a 
naadresovat CS té další periferie je pár instrukcí.
A z hlediska nějakého nadřízeného programu se to bude chovat, jako by ty 
periferie cpaly svá data do těch bufferu samy.
Ale to je obyčejné přízemní řešení, bez nějakého chainu.

PL

********************

Dne 11.5.2023 v 20:03 Petr Stehlik napsal(a):
> Chtěl bych několik STM32... zapojit do daisy chain. Jeden master a 
> několik slave, vyčítal bych z každého slave 8 bajtu a 8 bajtu 
> zapisoval, nejlépe pomocí DMA. Že bych to prostě spustil a až by DMA 
> doběhlo tak bych vyzvedl data a naplnil bafr novými daty pro slave a 
> tak pořád dokola.
>
> Je to realizovatelné? Provozujete někdo něco podobného na STM32? Nikde 
> na netu jsem nenašel konkrétní aplikaci nebo náznak řešení, většinou 
> jen zmínka že něco takového na SPI existuje a  dál nic. Tak bych chtěl 
> mít jistotu že jsem si nevymyslel něco co nepújde zprovoznit.
>
> Chtěl bych si udělat měřící sestavu kde by se vedle sebe skládaly 
> slave, které by měřily U,I,t... a předávali to mastru, slave by se 
> skládaly vedle sebe podle potřeného počtu. Původně jsem uvažoval o 
> RS485 a modbusu, ale tam bych musel nastavovat adresy, u toho daisy 
> chain bych to mohl skládat podle potřeby.
>
> Díky za každé info.
>
> Petr



Další informace o konferenci Hw-list