スキップしてメイン コンテンツに移動

PCA9956Bを光らせたい-その2(MODE1/MODE2)

PCA9956Bを光らせたい-その1の続きです

んで結線は出来たのでデータシートを見てみます
さて・・・

序盤を読んでいくと
I2C-busを使用し、24チャンネルの電流コントロールが出来て
57mAの出力が出来、解像度は8bit(256ステップ)である・・・と言うような事が書いてあります


Each LED output can be off, on (no PWM control), set at its individual PWM controller
value or at both individual and group PWM controller values. The PCA9956B operates
with a supply voltage range of 3 V to 5.5 V and the constant current sink LED outputs
allow up to 20 V for the LED supply. The output peak current is adjustable with an 8-bit
linear DAC from 225 μA to 57 mA.

 ・・・まあ、225μA毎に制御していってPWM出力を使用して57mAまで出力できますよと


後気になるのは1Mhzより高い周波数で動作するとか
(OE)ピンで動作中の変化を制御できますとか・・・そんな感じかな

なんか、読んでるとショートやオーバーヒートの検知も出来ますみたいな事を書いてあるけどそこまでは検知しなくていいかな

電源電圧は3V-5.5Vまでとかソフトリセットとか、まあ後回しで

それと、I2C-busのslave adressの設定方法が色々書いてあるけど、このボードは0x7E(arduinoは右に1ビットずらして0x3f)で設定されているので今はいいや

そして、電文設定見ると、最初はMODE1から始まる

 

図があちこち飛んで行ってしまうけど、MODE1とMODE2は7.2 Control Registerの初っぱなに出てくる

そして、MODE1の先頭ビットはTable6まで戻る・・・・
面倒だなぁ・・・
AIF-AI0までこの辺色々悩んで検索してたら、スイッチサイエンスに似たような事例があった

ちなみに、Arduinoのwireライブラリは内部で自動的にプルアップするので、プルアップ抵抗不要だそうで・・・

助かるわぁ
同じくNXPから発売されているPCA9622DRのサンプルだし、内容がちょっと違うのだけどね

これと比較しながら読んでいて、
Table 13. PWM0 to PWM23 - PWM registers 0 to 23 (address 0Ah to 21h) bit description
Table 14. IREF0 to IREF23 - LED output gain control registers (address 22h to 39h)

と言う当たりを読んでいたら大体わかった(つもりになった)

そうすると、Table13はLEDの明るさをPWMで制御する電文
Table14はLEDへ供給する電流の事である事がわかった

んで、
Table 10. LEDOUT0 to LEDOUT5 - LED driver output state registers (address 02h to 07h)bit description

がLEDを点灯・点滅・PWM、さらにグループでの制御をすると・・・(読む順番が違うだろという突っ込みは無しで・・・)
そして、このLEDOUT0-LEDOUT5のデフォルト値が[10]となってる
最初からPWM前提じゃーーーん

そして、IREF0-IREF23のデフォルト値が0・・・これだと電流は流れないこっちはいじらないとダメなのか

PWM0-PWM23はまあデフォルト0だから消灯状態だよねと・・

その結果

MODE1はIREF全部いじれる 11000000
MODE2はエラーなんか全部無視の 00000000
で決定(インクリメントモードなんて無視しても良さそうだから本当はMODE1も00000000で良さそうだけど)

 

続く


コメント

このブログの人気の投稿

RAM DISKを使ってみた(使ったのはImDisk)

GWだし、まあちょっとラムディスクを入れてみました うちのPCはWindows11 使ったのはImDiskというRAM Disk。 まあ、この辺のインストールとかはあちこちで解説してる人がいるので適当にぐぐってくださいな で、とりあえずベンチマーク なかなかいいスピードだ で、大抵の人はブラウザのキャッシュをRAMディスクにするといいよ・・・と言うけど そもそもメインドライブがNVMeのSSDを使っている状態で、体感速度なんか上がらない(使い終わったキャッシュを再起動したら綺麗さっぱり捨て去ってくれるという利点はある)  うちで一番効果があるのは Adobe Audition というアプリ これが結構高速化する(キャッシュをちゃんとRAMディスクにしたら・・・だけど) ハイレゾ音源だと、1時間の音源が何かする度に4GBのファイルを作られてしまう なので、RAM DISKにすると、結構編集時間を短縮できる Premiere Rushも出力先をRam Diskにしておいて終わったら、SSDにコピーすると言う事をやるとかなりスピードアップになる 実はうちのPCは普段は99%のパワーで動作していて、CPUのターボブーストが掛からないようになっている 大体3.6GHz当たりで安定してるのだけど、これを100%にするとターボブースト機能がONになって一部のコアが4.5とか4.8GHzまで上がる まあ、毎回電源オプションをいじる事になるのだけどさ・・・ そうしてベンチを取ると こんな感じ とは言え、ブーストしてるからと行ってRam Diskのスピードの差を体感する事はさすがに無理 ・・・と言うかフォトショでもRAM DISKにしてよかった・・・と言うほど変わらない SSDの性能が上がってきたしもし次にPCを買い換えたらRAM DISKよりSSDの方が速いかもね  

.NET MAUIでスプラッシュスクリーン Android12で地獄を見る

まずは起動するところから・・・・  スプラッシュスクリーンだぬ マイクロソフトのサイト 見てると簡単そう(実際簡単で細かい事を気にしなければsvgファイルを用意して1行だけ書き換えておしまい)   なんかプロジェクトファイルに自動で記述されるらしい よし、プロジェクト作った                     つーか、もうスプラッシュがあるんだけど・・・・ そして自作のsvgファイル くうっ・・・デザインセンスない・・・・   それはともかく、このSVGファイルを Resources\Images にドラッグ&ドラッグ プロジェクトを右クリックして「プロジェクトファイルの編集」 して、編集できるようになったプロジェクトファイルを 自分のプロジェクトファイルに書き換える <MauiSplashScreen Include="Resources\Splash\splash.svg" Color="#512BD4" BaseSize="168,168" /> ↓ <MauiSplashScreen Include="Resources\Splash\ splashtestmaui .svg" Color="#512BD4" BaseSize="168,168" />   とりあえずAndroidで実行 お、おう・・・・ まあ最初はこんなもんよね 最初に紹介したマイクロソフトのサイトでもBaseSizeを書き換えてくださいって言ってるし 言われたとおりに <MauiSplashScreen Include="Resources\Splash\splashtestmaui.svg" Color="#512BD4" BaseSize=" 320,600 " /> 書き換えてみると いい感じじゃーん じゃあアンドロイドのバージョン毎に試してみよう   Android 7 Android 11 Android 12 Android 13 ...

ImDiskの後継アプリのAIM toolkitを試してみた

ImDiskの開発辞めちゃったらしい というわけで、じゃあ後継ソフトはあるのかと思ったらあった 遅いと言われているけど・・・ とインストールしてみた ImDiskのこの間の結果はこちら 再びRAM DISK(ImDisk)   blog.mazepin-led.com    そして今回のAIM Toolkit なんか、無茶苦茶遅くなってるな 下手するとSSDの方が速いじゃん CPUの使用状態はこんな感じ PIO転送なところは変わって無さそう まあ、遅いからと言ってその速度が体感できるのかというと出来ないんだけどね と思ったところで、なんか設定変えてみたらどうなるのだろう Allocate Memory Dynamicallyというのは、メモリを必要に応じてってことだからと思って以前試したことがあったけど、なんかImDiskのときは不安定だったんだよな  AdvancedのとこにあるUse AWE Physical Memoryというのが良くわからないけど、チェックしてみたら速くなった おお、大分速くなった。なったけど・・・・なんで? これだとImDiskよりちょっと遅いくらいになるのか もしやQuickFormatととかでも変わるのか?と思ったけどそこまでやる気も無かったので放置。速くなるわけないよね。 後は圧縮とか、取り外しメディアとかだし。   最近の性能の良いSSDのおかげで RAM DISKというものの存在意義が薄れちゃったね まあそれでとにかく速度を稼ぎたいぜって人は SoftPerfect RamDiskでも使ってください 昔はPrimo Ramdisk使ってました。当時使ってたけどなかなか良かった。 当時SSD無茶苦茶高かったし。 今はほぼ無用になってしまったが・・・ 未だにスタンダード版は8GBまでなんだな キャッシュ領域にしたいなら大人しく余ってるSSDを使った方がいいんじゃ無いかって気がするけど  おしまい