July 28th, 2015

Def kz

LPC state configurable timer

По мотивам старого срача о WS2811

LPC сделала периферию, которая оставила все остальное далеко позади. Называется это SCT - state configurable timer. Это аппаратная стейт-машина с 32 возможными состояниями, 16/32 событиями и стандартной таймерной периферией match/capture/compare. Все это можно навесить на от нуля до 16 пинов. Стейт-машина имеет также алгоритмы разрешения конфликтов - по сути, условные операторы. Событиями помимо ногодрыга, могут быть управление другими событиями, генерация прерывания или DMA.

В принципе, на базе этого можно реализовать ВСЕ. Хочешь, 15 канальный duty cycle PWM, хочешь - WS2811, 1-wire, хочешь софтовый UART или USB. Вот, как для примера выглядит реализация аппратного WS2811:
sct

Есть почти во всем новом - от 8xx серии до 18хх. Аппнот