作品紹介
フルカラー・デジタル時計の製作(3)
ホームページに戻るトップページに戻る前ページに戻る次ページに進む最終ページに進む
フルカラー・デジタル置き時計の製作、続きです。
10.RX220によるWS2813の点灯

 WS2813の使い方で示したような、パルス幅で'1'/'0'を表現する通信インタフェースを持っているマイコンは少ないと思います。RX220も持っていません。
 そこで、シリアル通信インタフェース(SCI)による、クロック同期方式の通信でLEDを駆動することにしました。その方法を以下に説明します。
 クロック同期方式のシリアル通信とは、下図のように文字通りクロックに同期して送受信する方式です(図では受信データは省いています)。同期のためのクロックが必要ですが、調歩同期方式と異なりスタートビットやストップビットなどがなく、正味のデータのみを高速で送受信できます。
クロック同期通信の説明図
 それを利用して、4ビット使ったビットパターンでLEDのデータを表すことにします。具体的には、'0001'(16進で1)で'0'を、'0111'(16進で7)で'1'を表し、同期クロックは使用しません。
 従って、8ビットのLEDデータを表すためには4倍の32ビット(4バイト)分の送信データを使用します。また通信速度も、800Kbpsを実現しようとすると、4倍の3.2Mbpsが必要です。
 注意すべき点は、WS2813にはb7から送信する必要があるのに対し、クロック同期方式の通信ではb0から送信されるということです。実は、設定によりb7から送信させることも可能なのですが、送信していない時TXDがHになってしまうことがあり、使用できませんでした。
 そのため、送信する1ビットを4ビットのパターンに変換しながら、b7からの送信となるように、プログラムで変換しています。
 下図は、クロック同期通信を利用して送信する仕組みを表しています。使用したRX220マイコンボードには20MHzの水晶発振子が載っていて、20MHzのクロックで動作可能です。しかし、これでは3.2Mbpsに近い通信速度が作れません。でも、25MHzで動かすことができれば3.125Mbpsの通信速度が作れます。その1/4は約781Kbpsであり、800Kbpsに近い満足できる速度だと思います。
 RX220は、水晶発振子を含め外部からクロックを与える場合、最大20MHzまでしか動作しません。でも幸いなことに、RX220には50MHzのオンチップオシレータが内蔵されていて、その1/2の周波数をクロックとして動作させることができます。つまり、25MHzのクロックで動作できます。それで3.125Mbpsを実現した場合、実際にLEDに送られる1ビット分の送信データのタイミングは下図に示すようになり、LEDの要求を満足できます。従って、この方法でLEDを駆動することにしました。
 また、RX220にはDMA(Direct Memory Access)機能があり、それを使うことによってCPUにあまり負荷をかけず(プログラムによらず)高速にデータを送信することができます。 
クロック同期通信でWS2813のデータを作る方法

11.回路

 下記に制御基板と表示基板の回路図を示します。

 ・制御基板の回路図

 ・表示基板の回路図

 制御基板は、E1エミュレータ用のコネクタを備えていて、プログラムのデバッグやフラッシュROMへの書き込みができます。シリアルポートもコネクタに出していますので、ここからもプログラム書き込みができます。
 電源は、DCジャックに接続した外部のACアダプタ(DC5V 2A)から供給するので、よりシンプルな回路になっています。
 RTC(Real Time Clock)は、セイコーエプソンのRX-8025NBを使用しています。精度も月差約13秒(周囲温度25℃時)と、かなり高精度です。さらに、温度変化による周波数のずれを補正するため、調整用のレジスタも内蔵していますが、今回は温度センサーがないので使用していません。
 RX-8025NBは、秋月電子通商でDIP変換基板に載ったものが販売されているので、それを使用しました(下写真)。なお、RTCは電源OFF中でも動作している必要があるので、1F(ファラド)の電気二重層コンデンサーでバックアップしています。
秋月電子通商のRTCボードRX-8025の外観
 EEPROM(Electrically Erasable Programmable Read-Only Memory)は、設定の保存のために使用しています。RX220はデータ格納用のフラッシュメモリを内蔵しているのですが、容易に使えるEEPROMの方を使っています。AT24C256Bは256Kbit(32Kbyte)の容量がありますが、設定の保存にそれほど必要ありません。小容量のものより入手が容易だったので使用しました。
 表示基板は、先に説明したように39個のカラーLEDを数珠繋ぎにしたものです。回路自体は、WS2813の資料にあった標準的回路そのままです。なお、回路図には100μFの電解コンデンサーが描かれていますが、基板固定の邪魔になるので実装していません。
 表示基板には、周囲の明るさを測定するためのフォトトランジスタNJL7502Lも実装するようになっています。

12.基板の製作

 次の写真と図が、2.54mmピッチのユニバーサル基板を使用して製作した制御基板です。部品点数が少ないのと、RTCとEEPROMをマイコンボードの下に入れたことで、このサイズにできました。
製作した制御基板の写真

部品配置と寸法
制御基板の寸法と部品配置図
 操作スイッチはケース上部から操作するので、横向きの小型押しボタンスイッチ(北陸電気工業KSMC633A)を基板上側のフチに並べて実装します。ただ、このスイッチの金属フレームのピンは2.54mmピッチに合わないため、少し広げて差し込む必要があります。この金属フレームはGNDに接続します。
 写真で基板固定穴の一つに付いているラグ端子は、以降で説明する基板取り付け板をGNDに接続するためのものです。基板をラグ端子と共にビス固定すれば、スペーサーを通して取り付け板をGNDに接続できます。
注意:回路図では入っていませんが、制御基板から出力される表示基板への電源VCCに、数十μHのチョークコイルを入れるとノイズを低減できます。

表示基板の外観写真(LED面)
 表示基板は、このデジタル時計のために製作した、左の専用プリント基板を使用しています。もしユニバーサル基板を使った場合、表面実装用のLEDを7セグメントの形に実装するだけでも手間がかかる作業になります。この専用基板を使うことで、LEDの実装が容易になるだけでなく、以降で説明する7セグメントの表示型を基板に密着しやすくすることができます。
 表示基板で使用する抵抗とコンデンサーはチップ部品(表面実装部品)です。大きさは共に2.0×1.2mmのもので、手はんだで付けることを考慮してこの大きさとしました。
 下図は表示基板の寸法図です、ただし、位置関係を示すために各セグメントの輪郭線や、カラーLEDの図も含んでいます。LEDの向きは2種類あります。
注意:この専用表示基板は、フルカラー・デジタル時計のために筆者が製作したもので、市販されているものではありません。
表示基板の寸法図

表示基板にカラーLEDを実装した写真
 左の写真は、表示基板にLEDやフォトトランジスタなど全ての部品を取り付けたところです。抵抗・コンデンサーやコネクタは裏面のため見えません。
 なお、この基板で作る7セグメント表示器は、製作を容易にするため文字を斜体にしていませんが、違和感はないと思います。
 写真ではわかりにくいですが、フォトトランジスタは、先端が基板から9mmの位置になるよう、シリコンチューブなどをスペーサーにして取り付けます。できるだけ前面になるようにしないと、うまく明るさを測定できません。
※表示基板の組み立てについて こちら も参照してください。

ホームページに戻るトップページに戻る前ページに戻る次ページに進む最終ページに進む
■■■ 注 意 ■■■
1.ここに掲載された内容(写真,図,表などを含む)の、全てまたは一部を無断で使用しないでください。
2.ここで紹介した手法(構造や仕組み,回路,プログラムなどを含む)を使用したことにより、問題や不利益が発生したとしても一切関知しません。
3.ここで紹介したプログラム例は、正常なコンパイルおよび正常な動作を保証するものではありません。