2008/04/29 ■ KETACLOCK/フリーダムな時計(3) Xでつぶやくこのエントリーをブックマークに追加このエントリーを含むはてなブックマーク

「フリーダムな時計」ことKETACLOCKのファームウェアがちょっと進展し、「まぁこんなもんかな?」と思えるレベルまで仕上がってきました。
サーバ(時刻送出機)・クライアント(各桁)ともにマイコンは現在DIPでも手に入るuPD78F9222(78K0S/KA1+)を使っているので、設計が終わり次第一段小さいマイコン(uPD78F9221)に変更しよう、とか思っていた…んですよ。
そしたら9221ではぜんぜんROMが足りなかった(笑)。…というか、4KBありゃ余裕だろうと踏んでいたクライアント(各桁)側、現状で(サイズ優先最適化オプションでコンパイルしても)ROMが7バイトしか空いてません(><)
実際あまりサイズのことは考えずに(読みやすく)書いたっちゃーそれはたしかにあるんですが、それにしても処理が予定より膨らみすぎです。要は低消費電力化するためにいかに同期を低電力コストで行うか、というところにひたすら工夫を盛り込んだのが原因なのでありますが。

あとは使用感と消費電力のトレードオフ。双方の妥協点のパラメータを煮詰めていくしかありません。
現在各桁の電池は(サーバはAC接続前提。たぶん最終的にはUSB接続で電源をもらう形になると思います)単四2本駆動なのですが、電圧とか重さ(=壁に両面テープで貼る時に重要)とか厚さとか実装面積とかのメリットがあるので、できればこれはコイン電池(CR2032)にしたい。しかしそれだと電池の持ちが…。と悩んでいるところです。現状からもう一押し低消費電力(電流)化できるかどうかがポイントになりそう。平均であと10μAは減らしたい。

というわけで現状ファームウェアでの動作を動画で撮りましたのでご紹介。こんな感じで動作します。

<a href='http://eyevio.jp/movie/112053'><img src='http://eyevio.jp/_images/u/u6/u6481ed68696b585895c1759b65395b9/112053/uwwpkfhcpllfjpbdobbh_w1.jpg' />KETACLOCK - 桁ごとに独立した時計</a>

「一桁足りない」状態から桁の追加、そして時刻設定動作までのウォークスルー。分の表示を連続で送っている間、秒表示がちらちらしているのは現在のバージョンでは既に直っています。
液晶のドットが点いたり消えたりしているのは、点灯:同期信号受信待機、または時刻設定中 点滅:同期中(自己クロック誤差修正中) 消灯:同期完了を意味しています。

また、このムービーの壁の下には、

と、(仮組ではありますが)実際には時刻送出サーバがあります。これはもうちょっと見た目マシにしたいですが。
そしてサーバの基板の右下に見える赤いボタン2個が、時刻修正用ボタンです。(よくあるSET/ADJの操作で修正します)

あーーーー、電池どうしよ(><)