さて、このSK6812にはどのような制御信号を与えれば良いのだろうか。仕様は次の様になっている。
超音波距離計で使ったPL-9823と今回のSK6812の制御信号の違いは1を表すコードのデューティ比がSK6812では1:1(=50%)になっている点だ。この信号の生成には超音波距離計に準じて次の論理式で可能だろう。
0 code = /SDO & SCK & Fosc/2
1 code = SDO & SCK
PWMパルス = 0 code + 1 code
ここでSDOはSPIの出力、SCKはSPIのクロック、そしてFosc/2はCLKRを使ってFoscを2分周して生成できる。
このLEDを駆動する標準的なデータレートは800Kbpsだが、PIC16F18326で生成できるこれに近いデータレートは750Kbpsだ。1個のLEDに与えるデータは24bitなので1個駆動するのに32μsかかり、テープ1本即ち30個のLEDを駆動しようとすると1ms弱かかる。もしテープを10本繋げると100回/秒の速度で書き換えが可能だ。
一方 ソフトを考えると1個のLEDに3バイト(=24bit)のデータバッファーが必要であり、30個なら90バイト、テープ10本なら900バイトが必要になる。PIC16F18326のスタティックメモリーは2KBしかないのでこれくらいが限界と考えて良さそうだ。
(続く)

0 件のコメント:
コメントを投稿