Mitt svar på WS2811 med en AVR sak (2 / 5 steg)
Steg 2: Använda TOC1A/B och SPI med en 74XX IC
Denna använder en viss yttre 74XX logik. Jag detta fall jag använt en Hex Open Collector Inverter och gjorde en del trådbundna OR logik. Det finns många sätt detta kan göras med ett enda chip. De andra självklara är en 7400 och en 74138.
Tre olika utgångar måste blandas med varandra för att göra den slutliga vågform som spår 2
PD5/OC1A | Utgång jämför 1 A | Spår B |
PD4/OC1B | Output jämför 1 B | Spår A |
PB6/MISO | SPI Master i slav ut | Spår 1 |
Också måste produktionen jämföra 1B matas tillbaka in i
PB7/SCK
att ge den ledar-tar tid för SPI perifera i slav-läge. Detta är den gula kabeln i min bild ovan.
Anledningen kan vi få SPI att arbeta på detta sätt är att i slavläge modulen inte kan infoga ett stopp lite på sätt i MASTER läge. Det marscherar i takt med någon annans trumma. När nästa klockan kommer in, måste det bara uppfylla och ge ut nästa data lite (om den är klar) eller misslyckas annars. Talar för att misslyckas. Du har bara 9 klockcykler ladda data registret när sista byte är tydlig. Innebär detta att du skär det lite bra att använda avbrott om du inte använder en "dum AVR trick" raka några cykler av svarstiden avbrott.