STM32, SPI daisy chain

Pavel Hudeček edizon na seznam.cz
Pátek Květen 12 10:46:17 CEST 2023


Na SPI se chain běžně používá u některých "chytrých" LEDek. Je jich pak 
třeba několik set za sebou. Obvykle mají i clock recovery, takže CLK a 
data jsou průchozí a pak je tam jeden signál strobe, nebo reset. A 
každej použije data, co jsou v něm srovna nascrollovaný v tom strobe 
okamžiku.

PH

Dne 12.05.2023 v 9:25 Jaroslav Buchta napsal(a):
> Jestli to dobre chapu, tak mam neco podobneho s UART na BMS, kazdy 
> clanek ma soji monitorovaci jednotku a par bajtu v obihajicim retezci, 
> prvni byte se pak v kazde jednotce inkrementuje takze podle propojeni 
> kazda vi, kde ma data bez dalsi konfigurace. Probiha to se zposzdenim 
> cca 1 byte na kazdou jednotku, prubezne se aktualizuje i CRC.
> S SPI by to melo jit taky, ale nevim, jestli bych radsi pouzil 2 
> rozhrani nebo spolecne hodiny pro vsechno...
>
> Dne 12.05.2023 v 9:03 Vojtěch Petrucha napsal(a):
>>
>> mozna jako Figure 1 zde
>>
>> https://www.ti.com/lit/an/slaa296/slaa296.pdf?ts=1683836913829
>>
>> akorat mi neni jasne, jestli by to bylo 8 byte "prikaz" pro kazdy 
>> slave ruznych nebo stejnych pro vsechny..,
>>
>> kazdopadne jak to udelat v ramci slave univerzalne, aby pruzne 
>> reagoval na sve umisteni v chainu a tedy ruzny pruchozi pocet byte 
>> netusim...
>>
>> v.
>>
>> ______________________________________________________________
>> > Od: "Petr Labaj" <labaj na volny.cz>
>> > Komu: hw-list na list.hw.cz
>> > Datum: 11.05.2023 21:23
>> > Předmět: Re: STM32, SPI daisy chain
>> >
>>
>> 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.
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20230512/f8ff5013/attachment.htm>


Další informace o konferenci Hw-list