WS2813の顛末を書きましたが、それぞれのタイミングに違いが有るのか無いのか、
実際に測定してみることにしました。
先ずは、ブレッドボードに挿せるように変換基板を作ってみました。
左からWS2812、WS2812B、WS2813です。
![](https://blogimg.goo.ne.jp/user_image/48/19/bc68f6a53961376c3d9e7eea7e37bff9.jpg)
このままArduino互換機のOnBoardにつないでみましたが、
タイミング互換があるので、全部普通に点灯します。
![](https://blogimg.goo.ne.jp/user_image/5f/fb/26cf8f31a4b457c805be3fcd303c93ec.jpg)
タイミングスペックを調べるにはパルス幅を微妙に変化させて、0と1の境目を探る必要があります。
そのためには、Arduinoでは無理なので、ディスクリートで作ってみました。
![](https://blogimg.goo.ne.jp/user_image/39/78/e7fb43f125415e40c087506d6d9df70f.jpg)
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です。
![](https://blogimg.goo.ne.jp/user_image/48/19/bc68f6a53961376c3d9e7eea7e37bff9.jpg)
このままArduino互換機のOnBoardにつないでみましたが、
タイミング互換があるので、全部普通に点灯します。
![](https://blogimg.goo.ne.jp/user_image/5f/fb/26cf8f31a4b457c805be3fcd303c93ec.jpg)
タイミングスペックを調べるにはパルス幅を微妙に変化させて、0と1の境目を探る必要があります。
そのためには、Arduinoでは無理なので、ディスクリートで作ってみました。
![](https://blogimg.goo.ne.jp/user_image/39/78/e7fb43f125415e40c087506d6d9df70f.jpg)
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つとも同じだと思われます。
では、次にデータシートのスペックから考察してみることにします。
これはまた明日。