CPLDで遊ぼう!(38)
更新日:2025年11月22日

デカデジタルクロックをリニューアルする
超、超、お久しぶりのCPLD単独の製作です。過去にデカデジタルクロックを製作しました。記事をたどると2007年の作品です。このデカデジタルクロックは我が家の寝室でずっと使用しておりました。なんと18年間も動いていたのです。
これは、製品としても寿命が近づいていると考えて、今回リニューアルすることにしました。半導体は無事であると思いますが、電解コンデンサーなどの電源回路が心配になります。ACアダプターも今回交換いたしました。
リニューアルといっても基本構成は過去の製作と全く同じですので、こちらも是非参照お願いいたします。
デカデジタルクロックを作ろう
今回の回路図を示します。
(デカデジタルクロックの回路図)
7セグメント表示部は過去の製作をそのまま使います。デカデジタルクロックの表示部は12V動作ですので、ACアダプターは12Vタイプを使用します。CPLDは「トランジスタ技術 2006年4月号」の付録についていた「EPM240T100」を使用します。このCPLDは過去基板からホットプレートで熱して取り出しても良いし、中国のネットからも購入可能です。
クロックの水晶発振モジュールは自作ゲーム機に使用した100MHzのものを使用しました。元々は10MHzで駆動していたので、CPLD内部に1/10分周回路を追加しています。書込みコネクタは今のJTAGとピン配置が異なっています。その理由はトランジスタ技術の基板のコネクタ配置と合わせているためです。
今回、この回路を基板化しました。いつものようにPCBWayさんにガーバーデータをアップすると1週間以内に基板が到着いたします。大変便利ですね。
(デカデジタルクロックのメイン基板)
手持ちの部品で、サクッと部品実装いたしました。
(部品実装したメイン基板)
トランジスタアレイに接続する抵抗には1/4W品を使いました。電源回路のインダクタは古い製作品から取り出した物を使っています。製作される方は各自工夫して下さい。
(すみません、基板裏面でジャンパー飛ばしてます)
基板を設計した時に使った回路図にちょっとミスがあって、上図のようにジャンパーを飛ばしています。まあ間違ったことを記録に残しておきましょう。
それでは今まで使っていたデカデジタルクロックを見てみましょう。
(18年間もご苦労様でした)
(今まで良く頑張りました)
大きい7セグメント表示はそのまま使います。ケースの中の右側の基板が「トランジスタ技術 2006年4月号」のCPLD基板です。当時はプリンタのコネクタから書込みをしていたのですね。今では考えられませんね。私は10pinのコネクタから書込みをしておりました。
(もう少し拡大して見てみましょう)
左側のユニバーサル基板が7セグメントを駆動するトランジスタアレイの部分になります。5Vの電源回路もありました。当時のCPLD基板には5Vを印加して内部で3.3Vに変換し、CPLDを駆動していました。水晶発振ユニットには5Vタイプのものを使うようにしてあり、発振出力を3.3VにレベルコンバートしてCPLDに入力する工夫がしてありました。今は3.3Vタイプの水晶発振モジュールを使って直接入力しています。
今の回路にも5Vの電源回路を入れてあります。ひとつの理由はいきなり12Vから3.3Vにするとレギュレータの発熱が心配なことと、もうひとつの理由は時と分の間のLEDの電源に使いたいからです。LEDはトランジスタを介してCPLDから駆動しています。すみません、その部品はプリント基板には入れていませんので、各自外付け回路を付けて下さい。
(今回製作した基板にリニューアルします)
あら、なんとスッキリとしたことでしょう。中身はスカスカになりました。基板とはピンヘッダーで接続していますので、メンテナンスもお手軽です。
(7セグメント表示モジュールは当時のままの配線を利用)
現在、この大きい7セグメントが発売されているかわかりませんが、ひとつの製作事例として捕らえて下さい。ほとんどその部分は空中配線です。
(CPLDの内部モジュール配線)
CPLD内部のモジュール間配線を示します。ソースも公開しますので、詳細はそこで確認下さい。各モジュールの詳細は過去の製作を参照下さい。先に説明しましたが、クロックは100MHzを使用しますので、1/10分周モジュールを追加しています。
(CPLDのピン割付)
ピン割付は基板の配線のやり易さを優先して決めています。ピン番号を変更するだけで、思い通りに割り付けられるのがCPLDの良さですよね。クロック入力の端子は決まっていますので、ここは変えることが出来ません。
さて、ここで皆さん、今頃こんな古いCPLDの開発が出来るのかという疑問が湧くと思います。常にプログラマブルロジックを使って開発されている方には当たり前だとは思いますが、今でも充分に開発が可能です。私は「Quartus (Quartus Prime 18.1) Lite Edition」を使っています。いまでもWEBからダウンロード可能と思います。
次になぜこのバージョンを使っているのかというと、書込み装置(ライター)が限定されているからです。自作ゲーム機のところでも説明したとは思いますが、私が使っているのはこれです。
(トランジスタ技術のMAX10用のライター)
そうです、MAX10 FPGAに付属していた専用のライターです。これにはJTAG端子があるので、そこを経由して書き込みます。このライターはなぜか判りませんが、開発ツールのバージョンが新しいと認識しないのです。よってこのバージョンを使っているのです。
(接続用コネクタ)
当時のCPLDの基板の書込み端子配置に合わせて回路を設計しているので、このライターを基板に接続するには一部端子の変更が必要になります。そこで変換用のケーブルを作って接続しています。よって今でも、まだまだCPLDが開発出来る環境が整っているということです。
完成した姿がこちらです。
(リニューアルしたデカデジタルクロック)
外観は全く変わりありません。内部がリニューアルされたので、将来に渡っても安心して使えるデカデジタルクロックになったということですね。すぐに我が家の寝室で活躍しております。表示の輝度を落としてあるので、夜中に見ても目に優しい仕様にしてあります。たまに、停電があると時計はリセットされていますが、これだけシンプルにデカデジタルクロックが製作出来るということはとても素晴らしいことだと思います。
久しぶりにソースも公開いたします。余分な部分もかなり含まれていると思いますが、皆さんの何かの参考になれば幸いです。
全ソースコードはこちらです。
これからも時々CPLDの製作はあると思いますので、その際にはよろしくお願いいたします。何かを作るってとても素晴らしいですね。
これからもますます楽しくなる「CPLDで遊ぼう!」をよろしくお願いいたします。