2022年12月17日土曜日

TB62709をArduinoで動かす

TB62709とは

 TB62709は7セグメントLEDのコントローラ及びデコーダとして機能する東芝のICです。アノードコモンの最大4セグメントまでを制限抵抗なく1チップでドライブできます。データシートを見るに2008年かそれ以前に生産されたICで、今や単体では手に入らないと思われるものですが、このIC(TB62709NG)が搭載された7セグメントLEDボードを某所で入手したので動かしてみます。ポンバシのあの店です。
 

ICシリーズ

 今回入手したのはTB62709NGですが、非常にシリーズが多くややこしいです。調べてわかった範囲で記します。

TB62709

N, NG, F, FGがあります。GがついているとDINのみならずDOUTが使え、カスケード接続できるようですが詳細不明。NとFはパッケージ違いです。鉛フリー。

TB62785

パッケージ違いでNG, FTGがあります。TB62709と酷似しており、絶対Vddがやや低いことと、鉛フリーが記載されていない点しか違いが見つけられませんでした。少なくとも通信フォーマットはTB62709と同じなので、同一ライブラリで動くと思われます。

TB62705

パッケージ違いでCP, CF, CFNがあります。
8ビットシフトレジスタ+ラッチ+定電流のみです。62709のようにデコード機能や明度変更といった便利機能はありません。ロジックICらしく、CLK, DIN, LAT, ENピンがあります。

TB62706

16ビットシフトレジスタであり、それ以外は62705と同じ。
 

通信

 通信はCLK、DIN、LOADの3本。電源は5Vです。通信規格はI2CでもSPIでもないですが至極シンプル…というか古き良き普通のシフトレジスタ+ラッチです。当然ACKもエラー訂正もないので、向こうが正しくリッスンしてくれていると信じて一方的に送りつけるだけです。まあ古いICですし。
 お陰でクロックは16MHzまでOKらしいです。
 

Arduinoライブラリ

 マイコンは何で開発してもいいのですが、ライブラリ化することを考えてArduinoとしました。TB62709とTB62785に対応しています。カスケード接続には非対応です。
 
 
 大して複雑な操作もないので、Exampleで使い方を察してください。それなりに使える関数を作ったつもりです。