JavaScript が無効です。有効にしてください。
ななよんのホームページ
トップ > 電子工作 > 鉄道部品制御のすすめ > 電車の表示器(電光掲示板)の仕組み

電車の表示器(電光掲示板)の仕組み

最終更新日さいしゅうこうしんび:2024-04-01

 電車に乗るとき、駅で行先や時刻を確認したり、電車が来たときには各駅停車などの種別と行先を確認したり、電車に乗ってからも次の駅を確認するために、ドアの上についている表示器(電光掲示板)を見ることがあると思います。このような表示器は、鉄道会社のイベント等で、実際に使われていたものが販売されることがあります。このページでは、それら表示器の仕組みを解説します。

 幼い頃、身の回りの様々な電子機器の仕組みが気になっていた私は、電車に乗ったときに表示器の仕組みが気になって仕方がなかったです。あれだけたくさんの LED をどのように動かしているのか?中学 3 年生になって実物を入手してから、実際に動かしてみて、高校生に入ってからこのサイトで制御方法を公開するようになりました。

 このページは実際に表示器を動かしてみたい方だけでなく、昔の自分のような、単純に仕組みが気になる方にも向けた記事です。

多くの LED を制御する仕組み

 表示器には、たくさんの LED が実装されています。比較的小型の JR 東日本の 209 系や E231 系などのドア上表示器でも 16 x 16 ドットが 6 文字分、つまり 16 x 96 ドット、さらに赤と緑の 2 色が搭載されているため 16 x 96 x 2 = 3,072 個の LED を制御する必要があります。近年は行先表示器で赤・緑・青の 3 色タイプ(加法混色で様々な色が表現できる)や、文字が大きくて見やすい大型の行先表示器も見られるようになりました。

 表示器の中に入っているのは、マイコン(マイクロコントローラ)と呼ばれる小さなコンピュータです。マイコンには GPIO(汎用入出力)という、電気信号のやり取りをする機能がついていますが、少ないマイコンでは GPIO は 4 個程度のものから、多いものでも 100 本程度です。増やすこともできますが、限度はあります。これでは 3,072 個もの LED を制御することは到底できません。

 そこで、「シフトレジスタ」と「デコーダ」という回路を使用しています。


広告

シフトレジスタ

 シフトレジスタは、入力した電気信号が、クロック信号という信号が入るたびにシフト(ずれる)していきます。シリアル信号をパラレル信号に変換することができます。

 シリアル信号とは、データを複数回に分けて少ない信号線で送る方式で、パラレル信号はデータを複数の信号線で同時に送る方法で、後者のほうが同時に信号を送ることができるので伝送が速いです。LED は個別に制御する必要があるためパラレル信号ですが、それでは LED の数だけ信号線が必要なので、シフトレジスタを使ってシリアル信号で伝送するのです。

 LED を個別に制御するのに、このシフトレジスタを使用しています。横が 128 ドットで 2 色の LED の場合、赤色と緑色がそれぞれ ON なのか、OFF なのかという信号を入れてクロック信号を入れてずらす。これを 128 回入れたらデータが揃ったのでラッチ信号を入れます。シフトレジスタはラッチ信号が入ることによりデータが確定し、実際に出力されます。

デコーダ

 コンピュータ内部の電子回路は、大部分がデジタル回路です。アナログ回路は電圧や電流などで数値を表すのに対し、デジタル回路は二値素子といい、ON か OFF かの 2 通りで数を表します。ON を 1、OFF を 0 とし、この 2 通りの数字で 3、7、16 などの数字(10 進法)を表す方法を 2 進法といいます。また、1 か 0 かを表している桁 1 つをビットといい、8 ビットを 1 バイトと言います。

 デジタル回路の信号線 1 本で 1 ビットです。1 ビットでは 0~1 の 2 進法の数字(2 進数)を表せますから、2 ビットあれば 2^2 で 4 通り、つまり 0~3 の数字を表せられます。

 文字のドット数が 16 ドットの場合、2^4 で 16 通りを表せられるため、4 ビット、4 本の信号線が必要です。

 しかし、LED を個別に制御するためには、16 ドットの場合 16 ビット必要です。

 デコーダは、2 進数を 10 進数に変換(デコード)します。デコーダで行を選択するのです。

 例えば 2 進数の 0 をデコードすると一番上の行が選択され、1 で 2 行目、2 進数の 1111(15)では一番下の行が選択されます。

行と列

 例外的な表示器もありますが、ほとんどの表示器では行を選択するのにデコーダを使用し、1 行分の LED を制御するのにシフトレジスタを使っています。つまり、横一列の表示データを送って、次の行を選択し、また横一列のデータを送る……というのを行数分繰り返して、文字を表示しています。

 ですので、実は表示器は高速で点滅しているのです。同時には横一列しか点灯しません。それを行数回繰り返して、残像効果で文字に見せています。

 例外というのは、JR 東日本や小田急などの車内表示器は、この走査(スキャン)の方向が横方向になっています。

メモリタイプ

 上で説明した通り、行(アドレス)をデコードして横一列分のデータをシリアル通信で送って……とやると、時間がかかります。LED 1 個分のデータを送るのに 1 μ(マイクロ)秒かかると仮定した場合、16 x 192 ドットの表示器ではドット数分、つまり 3072 μ 秒かかります。文字数が多いほど時間がかかりますし、それを高速に送るためには制御するコンピュータのスペック(速度)も必要です。

 そこで、LED がメモリ(記憶装置)を持っているタイプもあります。

 メモリタイプも、デコーダとシフトレジスタが入っています。しかし、シフトレジスタは LED ではなく、内部のメモリに繋がっています。つまり、横一列のデータを送ったら、直接 LED が光るのではなく、メモリが送ったデータを保存し、メモリから LED にデータが転送されます。なので、文字数が多かったり、マイコンが遅かったりして表示データを送るのに時間がかかったとしても、ちらつかずに表示を行えます。

文字が流れる仕組み

 文字は、フォント(字の形)が、内部基板の ROM(電源を切っても消えないメモリ)に収録されています。この ROM から目的の文字を取り出して、LED に転送します。

 スクロール(文字が右から左に流れる)させるには、このフォントのデータを順番に送ります。スクロールには「右から文字が現れる」「文字が左へ動く」「最後の文字が左へ消えていく」段階があり、マイコンが計算を行い、実際に LED に送るデータを組み立てて、LED に転送しています。


 ここから、実際に表示器を動かしたい方向けの説明になります。

DUG と LUM

 表示器でよく使われている LED ユニットには、タキロン(現三和サインワークス)社製の DUG と、ローム社製の LUM があり、LUM はさらにシフトレジスタタイプメモリタイプに分けられます。LUM は LED のデファクトスタンダードで、ローム社以外のメーカにも同じ制御方法の製品があります。これは、HUB75 という電光掲示板の制御規格と同じ考え方で動かせられます。

 ほかに、セレクトカラー(フルカラーのうち、8 色から選択できる)の日亜社製 LED もあり、これはメモリを持っているタイプに分類されます。また、LUM のシフトレジスタタイプと異なり、スキャン(走査)方向が横方向となっている松下製横走査タイプもあります。

 DUG は、アドレス(行)が自動でインクリメント(加算)されますので、明示的に行を指定する必要がありません。

 冒頭のほうでも説明したように、どの LED ユニットでも、アドレスデコーダとシフトレジスタが使われていますので、基本的に表示データは、行ごとに、左から右に向かって入れていきます。横 2 文字とすると、左上の座標を (0,0)、右上の座標を (31,0) としたとき、(0,0)、(1,0)、…… (31,0) の順でデータを入力します。データはクロック信号で取り込まれます。1 行入れ終えたら、ラッチ信号を入力します。この瞬間に初めて 1 行分表示されます(メモリタイプの場合は別)。このとき、DUG では自動で次の行に移りますが、LUM では次の行のアドレスを指定してあげます。メモリタイプでは、一番下の行のデータを入れ終えたタイミングで LED が点灯します。

 LED モジュールには、IN 端子と OUT 端子があり、入力は IN です。OUT は、次のパネルの IN に接続することで(数珠繋ぎ)、カスケード接続することができ、横幅を大きくできます。IN は正面(LED が実装されている面)から見て右側のコネクタです。LED ユニットの裏面に、上を表す矢印裏面にありますので、それを参考にしてください。DUG の場合、基板上に「IN」「OUT」と書かれています。

 LUM のメモリタイプや日亜セレクトカラー LED は、一度データを入力すれば、書き換えるまで何の信号も送る必要がありません。また、LUM の場合、ARAM と BRAM の 2 面があります。それらは交互に書き込みと LED への転送が行われます。

データの流れ

 上の図は、スキャン(走査)の方向とデータの流れを示したものです。データ方向の矢印は左を向いていますが、左のデータから右のデータへとデータを送り込んでいくことに注意してください。スキャンは、同時に 1 列しか点灯しません。それを高速で行数分繰り返すことで常時点灯しているように見せています(ダイナミック点灯)。メモリタイプは自動でスキャンをしてくれますが、DUG やシフトレジスタタイプでは、常時表示データを入力し続け、走査をし続ける必要があります。そのため、マイコンの速度が要求されます。また、DUG では一定時間以上同じ行が点灯したら保護回路により自動的に消えますが、LUM では消えません。過熱の原因となるので、単一行のみを表示し続けるのは注意したほうがいいと思います。


戻る
広告

右メニュー

【表示がおかしい・崩れる場合】PC では Shift と F5 を同時押し。スマホではキャッシュを削除してみてください。



とうサイトでは Cookieくっきー使用しようします。くわしくは上記じょうきの「プライバシーポリシー・免責事項等めんせきじこうとう」もご確認かくにんください。



上へ戻る