Микроконтроллер для взаимодействия с Led Driver
Мои знания о микроконтроллерах довольно ограничены на данный момент, но здесь идет.
У меня Led Driver PT6959, с которым я пытаюсь взаимодействовать. Данные последовательно считываются ИС драйвера на переднем фронте входного сигнала CLK, когда входная линия STB становится низкой.
У меня вопрос, как узнать, какой должна быть частота входного CLK?
Это имеет значение? Или она должна быть такой же, как частота контакта Led Driver OSC?
Я прочитал таблицу данных, но не могу найти ссылку на указание частоты входного CLK.
2 ответа
Если ваш микроконтроллер имеет порт SPI, подключите его следующим образом:
DIN <-- SPI-MOSI
CLK <-- SPI-CLK
STB <-- CS (often just a GPIO rather than a dedicated SPI chipselect)
Периферийное устройство SPI сделает большую часть работы за вас. Большинство периферийных устройств SPI допускают различные комбинации полярности и фазы, известные как режимы:
Mode CPOL CPHA
0 0 0
1 0 1
2 1 0
3 1 1
PT6959 работает в режиме 3.
Тактовая частота, вероятно, не будет критичной. Если вы бьете по битам, а не по SPI, он даже не должен быть периодическим или фиксированным - критичным является состояние DIN на фронтах нарастания и спада, а не частота. Устройство будет иметь некоторую максимальную частоту - в техническом паспорте это указывается с точки зрения минимальной ширины метки / пространства>=400 нс, при условии, что метка 50%: пробел, что соответствует 1,25 МГц, но при работе на максимальная скорость.
Наконец-то я нашел здесь большую таблицу из четырнадцати (14) страниц, а не три.
Таким образом, временные ограничения для этого сигнала, как показано ниже,
PW CLK (Clock Pulse Width) ≥ 400ns
t setup (Data Setup Time) ≥ 100ns
t CLK-STB (Clock - Strobe Time) ≥ 1μs
t TZH (Rise Time) ≤ 1μs
t TZL < 1μs
V1.7
PW STB (Strobe Pulse Width) ≥ 1μs
t hold (Data Hold Time) ≥ 100ns
t THZ (Fall Time) ≤ 10μ
fosc=Oscillation Frequency
t TLZ < 10μs
Как видите, минимальный тактовый импульс может быть 400 нс, что означает, что максимальная тактовая частота может быть найдена как 1 / (2x400x10-9) = 1250000 Гц (1,25 МГц).
Другие расчеты вы можете сделать так же. Но, да, все это нужно лучше охватить временными диаграммами, которые приведены в документе выше. Я размещаю их здесь на тот случай, если однажды ссылка может умереть.