WS2813の顛末を書きましたが、それぞれのタイミングに違いが有るのか無いのか、
実際に測定してみることにしました。
先ずは、ブレッドボードに挿せるように変換基板を作ってみました。
左からWS2812、WS2812B、WS2813です。
このままArduino互換機のOnBoardにつないでみましたが、
タイミング互換があるので、全部普通に点灯します。
タイミングスペックを調べるにはパルス幅を微妙に変化させて、0と1の境目を探る必要があります。
そのためには、Arduinoでは無理なので、ディスクリートで作ってみました。
HC123を2個使って、H/L: 350ns/800nsのパルスをH/L: 30μs/4msでバースト状にします。
30μsあれば、24ビットは確保出来るはずで、それ以上はスルーになるだけです。
350nsでは0 codeなので、少しずつ長くしていけば1 codeになるところが有るはずで、
そのとき24ビットすべて1 codeになるので、白発光になるはずです。
こうやって、ギリギリ白発光するところを探ってみました。
その結果はこうなりました。
WS2812 592ns
WS2812B 616ns
WS2813 604ns
このデータから、スレッショルド値は600nsでバラついているように見えます。
つまり、3つとも同じであることが推察できます。
また、スペックからHの時間のみで0/1の判定をしていると
思われるので、Lの時間は50μsまでは関係ないはずです。
実際にLの時間を400nsから3μsまで変えてみましたが変化は無かったです。
以上のことから、タイミングスペックは3つとも同じだと思われます。
では、次にデータシートのスペックから考察してみることにします。
これはまた明日。
実際に測定してみることにしました。
先ずは、ブレッドボードに挿せるように変換基板を作ってみました。
左からWS2812、WS2812B、WS2813です。
このままArduino互換機のOnBoardにつないでみましたが、
タイミング互換があるので、全部普通に点灯します。
タイミングスペックを調べるにはパルス幅を微妙に変化させて、0と1の境目を探る必要があります。
そのためには、Arduinoでは無理なので、ディスクリートで作ってみました。
HC123を2個使って、H/L: 350ns/800nsのパルスをH/L: 30μs/4msでバースト状にします。
30μsあれば、24ビットは確保出来るはずで、それ以上はスルーになるだけです。
350nsでは0 codeなので、少しずつ長くしていけば1 codeになるところが有るはずで、
そのとき24ビットすべて1 codeになるので、白発光になるはずです。
こうやって、ギリギリ白発光するところを探ってみました。
その結果はこうなりました。
WS2812 592ns
WS2812B 616ns
WS2813 604ns
このデータから、スレッショルド値は600nsでバラついているように見えます。
つまり、3つとも同じであることが推察できます。
また、スペックからHの時間のみで0/1の判定をしていると
思われるので、Lの時間は50μsまでは関係ないはずです。
実際にLの時間を400nsから3μsまで変えてみましたが変化は無かったです。
以上のことから、タイミングスペックは3つとも同じだと思われます。
では、次にデータシートのスペックから考察してみることにします。
これはまた明日。
※コメント投稿者のブログIDはブログ作成者のみに通知されます