研究論文

FPGA を用いた調光器の開発
堀 場 隆 広 * 1 、 依 田 康 宏 *2

Development of Dimmer with FPGA
Takahiro HORIBA and Yasuhiro YODA
Industrial Technology Division, AITEC * 1
Research and Development Division, AITEC * 2
本 研 究 で は 、 書 き 込 み 可 能 な FPGA を 用 い て 1 チ ッ プ で 照 明 の 調 光 と 明 る さ の 表 示 が で き る シ ス テ ム
LSI を 開 発 し た 。調 光 用 の シ ス テ ム LSI の 設 計 に つ い て は パ ソ コ ン 上 で ハ ー ド ウ ェ ア 記 述 言 語 を 用 い て 記
述 し た 。そ し て 、記 述 し た 設 計 デ ー タ を FPGA の 開 発 プ ロ グ ラ ム に よ っ て コ ン フ ィ グ レ ー シ ョ ン デ ー タ に変 換 し た 。こ れ を FPGA に 転 送 し て 書 き 込 む こ と に よ り 調 光 用 の シ ス テ ム LSI を 作 製 し た 。作 製 し た シ ス
テ ム LSI の 周 辺 に LED の 照 明 回 路 、 輝 度 設 定 回 路 、 輝 度 表 示 回 路 、 音 発 生 回 路 を 製 作 し て 小 型 の 調 光 器を 試 作 し た 。 試 作 し た 調 光 器 に LED の 照 明 を 取 り 付 け 、 調 光 で き る こ と を 確 認 し た 。

１．はじめに照明の明るさを数値で表示するために 7 セグメント３桁情報機器や電子機器の高機能化により、複雑で高速なの LED を用いて表示する。小型スピーカは輝度設定ボデジタル回路の製作や手軽に小型で携帯できる機器を試タンを押したときに音を鳴らすために用いる。

作することや少量の機器を効率良く製品化する開発手法

開発に用いた FPGA 基板は基本クロックが 33.3MHz、が求められている。しかし、従来の市販部品を用いたプ

FPGA の回路規模は約１万ゲート、ロジックエレメントリント基板やカスタム LSI を用いた機器開発は基板の回が 576(LE)のものを使用した。FPGA 内臓のメモリブロ路パターンが複雑になる、試作回路の誤りが許されない、

ックは 4Kbit×3 である。利用可能ピン数は 66 ピンのも試作コストがかかるなどの問題があった。最近、LSI 内のを使用した。FPGA 基板の電源は外部電圧が 5.0(V)、部の回路への書き込みや回路の追加・修正が可能なI/O 電圧が 3.3(V)、コア電圧が 2.5(V)のものを用いた。

FPGA(Field Programmable Gate Array)が安価に市販

調光用システム LSI の仕様は以下のように定めた。

されるようになってきた。しかし、このような FPGA を明るさのアップボタンとダウンボタンの設定モードは 1用いた回路設計は従来の論理回路によるゲートレベルの回モードと連続モードの二つのモードを用意した。1 回設計より、より抽象度の高いハードウェア記述言語を用

モードは短時間にボタンを 1 回押すと明るさの値が１変いて、さらに規模の大きい回路を効率良く作製できる新しい設計技術が求められている。
本研究では、FPGA の回路設計をハードウェア記述言輝度表示LED語で記述することにより、1 チップで調光用システムLSI を設計した。

２．実験方法小型スピーカLED照明

輝度調光用システムLSI（デジタル部分の1チップ化）

2.1 調光用システム LSI の概要
調光用システム LSI は図 1 で示すように調光用のFPGA を中心として、輝度設定ボタン（ここでいう輝度とは明るさのことである）、LED 照明、輝度表示 LED、輝度設定ボタン

小型スピーカを接続する構成とした。輝度設定ボタンは照明の明るさを上げるアップボタンと明るさを下げるダウンボタンの二つのボタンである。LED 照明は高輝度のLED を接続して照明に用いる。輝度表示 LED は LED＊

1 工業技術部

機械電子室＊

2 基盤技術部

アップボタン

図１

ダウンボタン

調光用システム LSI の概要

化するモードである。連続モードは一定時間以上ボタンクロックを分周して 8bit のカウンタのクロックとしてを押し続けると明るさの値が連続的に変わるモードであ入力して、常にクロックパルスをカウントするようにしる。このボタンの二つの設定モードで LED 照明の明るた。そして、カウントした 8bit の値をコンパレータに入さを変更できるようにした。

力した。また、8bit のアップ・ダウンカウンタは輝度ア回路の放熱の関係から、調光は LED 照明の電流をスップ／ダウンコントロール信号と輝度パルスの信号を輝イッ チン グ す るこ とに よ っ た。 また 、LED の調光は度設定コントローラに接続して、輝度設定コントローラ256(28)段階で変わるようにした。

からカウント値を１ずつに変えられるようにした。そし輝度表示 LED は 3 桁の 7 セグメントの LED を接続でて、アップ・ダウンカウンタの 8bit のカウント値をコンきるようにした。この調光器で使用している FPGA はピパレータのもう一方に接続した。コンパレータでは 8bitンの本数が少ない小規模のものを用いているので、輝度のカウンタ値と 8bit のアップ・ダウンカウンタ値を比較

表示 LED は FPGA の使用ピン数を減らすために、時分することによって調光出力を得た。

割で LED を表示するダイナミック表示にした。明るさの表示は 0 の値のとき最も暗く、255 の値のとき最も明2進8bitカウンタ(VHDL)

OSC
クロックるくなるようにした。

カウント値(A)
8bit

コンパレータ(VHDL)
Aif(A≦B) then 1if(A＞B) then 0C

音は輝度設定ボタンを押し、明るさが変化したときにアップ/ダウンカウンタ(VHDL)

輝度アップ/ダウンコントロール信号一定時間鳴るようにした。

輝度パルス

2.2 調光器用システム LSI 設計の詳細

図３

設計はハードウェア記述言語の一つである VHDL1)で調光出力（C)

閾値(B)
8bit

B

調光回路記述した。VHDL は設計仕様のドキュメント言語として図４に調光回路の原理を示す。8bit のカウンタは常に開発されたため、読解性に優れ、システムのあいまいさクロックパルスが入力され、クロックをカウントしていを排除したハードウェア記述言語である。

るので、図 4 の階段状の値をとる。一方、アップ・ダウ

調光器用システム LSI 内部の回路ブロックを図２で示

ンカウンタのカウント値は輝度設定ボタンによって輝度す。回路は大きく分けて調光回路、輝度表示回路、音発設定コントローラから明るさの値が設定されるので、あ生回路、輝度設定コントローラの四つのブロックに分ける値(閾値)になっている。そして、この二つの値をコンた。

パレータで比較して 8bit のカウンタ値が 8bit のアッ調光回路は LED の明るさを調光するパルスを発生す

プ・ダウンカウンタ値より小さいとき、コンパレータのる回路である。また、輝度表示回路は明るさの値を 7 セ出力が H レベルなる。また逆に、大きいときは L レベル

グメント３桁の LED 上に数値として表示する回路であになる。このコンパレータの比較値を調光波形としてる。

FPGA のピンに出力した。調光回路の各ブロックはハー音発生回路はスピーカから音を出すための信号を発生する回路である。

ドウェア記述言語である VHDL で記述した。
カウント値(A)
255

発振器

閾値(B)

OSC

0
クロック回路リセット回路

LED照明
輝度設定
ボタン
アップ
ボタン

ダウンボタン

輝度設定コントローラ（有限ステートマシンとして設計・記述）

輝度アップ・ダウン
コントロール信号
輝度パルス

調光回路
（パルス幅調整回路）

輝度設定
コントロール信号
音コントロール信号

輝度値t

図4
輝度表示器

小型スピーカ音発生回路

t1
調光出力波形(C)0

輝度表示回路時間時間調光回路の原理

2.2.2 輝度表示回路
輝度表示回路はコンパレータの閾値である 8bit アップ・ダウンカウンタ値を 10 進数 3 桁の LED の表示デー

輝度調光用システムLSIの内部

図２調光器用システム LSI の回路ブロック

2.2.1 調光回路タに変換する回路である。図５で示すように輝度表示回
路は大きく分けて 2 進-7 セグメントデータ変換回路とダイナミック表示回路の二つの回路からなる。

調光回路は図３で示すように 8bit のカウンタ、8bit

2 進-7 セグメントデータ変換回路は 2 進-BCD 変換回のアップ・ダウンカウンタ、8bit のコンパレータで構成路、BCD-7 セグメントデコーダ、ゼロサプレス回路からした。8bit のカウンタは OSC (発振器)からの 33.3MHzなる。2 進-BCD 変換回路は 8bit のバイナリ値を 3 桁の2 進化 10 進コード(BCD)に変換する回路である。この回で示すように桁選択回路は 3 進カウンタと 2bit のデコー路は通常、順序回路で設計するが、ここで使用しているダから構成し、デコーダから桁選択線として FPGA のピ

FPGA は内臓のハードウェアとしてメモリを備えているンに出力した。さらに、3 進カウンタの値はマルチプレので、このメモリを 2 進-BCD の変換テーブルとして利クサに接続し、選択された桁の 7 セグメントデータ 1 桁用した。変換テーブルは入力が 8bit のバイナリデータで、 のデータが選択され FPGA のピンに出力するようにし
出力は 3 桁の 4bit の BCD であるので、計 12 ビットのた。

出力になることから、12bit 1 ワードの 256 ワードのメ2.2.3 音発生回路モリが必要になる。利用している FPGA の内蔵メモリは音発生回路は発振器のパルスをクロック回路で分周しこのサイズのメモリを設定できるので、プログラムを作て可聴領域まで周波数を落とし、輝度設定コントローラ成して変換データを ROM の IP コアとして内蔵メモリにからの信号をゲート信号として、音を出したり、切ったデータを書き込んで利用した。

りできるように回路を作製した。

BCD-7 セグメントデコーダは BCD コードを LED の2.2.4 輝度設定コントローラ７セグメントの表示データに変換する回路である。これ

輝度設定コントローラはこの調光用のシステム LSI のに不要な表示を消す入力信号(BLANK)を設けた。この中心となる回路である。輝度設定コントローラは有限ス

BCD-7 セグメントデコーダは VHDL で記述した。そしテートマシン 2)として設計した。この有限ステートマシて、一つの BCD-7 セグメントデコーダの VHDL コード

ンはリセット信号、アップボタン、ダウンボタンの三つから三つの BCD-7 セグメントデコーダを生成して利用の入力信号がある。この入力によって輝度設定コントロした。

ーラの状態が変わり、その状態遷移を利用して各回路のゼロサプレス回路は輝度表示 LED に表示される不要制御信号を生成した。有限ステートマシン（以後、ステなゼロを消す回路である。2 進-BCD 変換回路の出力をートマシンとする）は内部状態のみで制御信号を生成す

そのまま BCD-7 セグメントデコーダで変換して表示するムーア型のステートマシンとして回路を作製した。図ると不要なゼロが表示されるので、ゼロサプレス回路で６に設計した輝度設定コントローラのステートマシン不要なゼロを取り除いた。3 桁目(最上位桁)のゼロサプレを示す。このステートマシンは大きく分けるとアップボ

ス回路は 3 桁目の数値を参照して、３桁目がゼロであれタンのステートマシンとダウンボタンのステートマシン

ば、３桁目の表示を消すようにした。2 桁目のゼロサプからなっている。ステートマシンはクロック１サイクル

レス回路は最上位の 3 桁目の桁がゼロでかつ 2 桁目がゼで各状態を遷移する。まず、機器に電源が入るとリセッロのとき 2 桁目の表示を消すようにした。1 桁目は常にト信号が入り、アップボタンもダウンボタンも押されて表示するようにした。

いない「ボタンを放している状態」になる。ここで、アダイナミック表示は複数桁のうち１つの桁のみを表示

ップボタンを押すと「ボタンを押した状態」に遷移する。

して、それを高速で走査することによって、見かけ上、そして、すぐにボタンを離した場合は「ボタンを放して全ての桁が表示されているように見せかける表示方式のいる状態」に遷移する。さらにアップボタンを押し続けことである。ダイナミック表示は表示器と LSI を接続すると「ボタンを押し続けている状態」に遷移し、このとる線やピンの数を減らすことができるという特長をもつ。

き明るさを 1 増加する信号を調光回路に出力する。「ボFPGA内部タンを押し続けている状態」で、ボタンを離すと「ボタ桁選択線(3bit)
クロック

表示セグメント
データ選択(2bit)

BCD(4bit)
アップダウン
カウンタから2進-BCD
（閾値）
変換回路
バイナリ(8bit)

ゼロサプレス回路（VHDL)ROM IPコア

ゼロサプレス回路（VHDL)

BCD(4bit)

BCD(4bit)
ゼロサプレス回路
2進-７セグメントデータ変換回路とゼロサプレス回路

図５

ンを離している状態」に遷移する。ボタンをさらに押し

桁選択回路(VHDL)
ドライバ

ドライバ

ドライバ

3桁目
BCD-７ データセグメント
7 セグメントデコーダ
データ(8bit)
BLANK

2桁目
７セグメントデータ
デコーダ
7 セグメント(VHDL)
データ(8bit)
BLANK

桁データ選択回路(VHDL)

1桁目
７セグメントデータ
デコーダ
7 セグメント(VHDL)
データ(8bit)
BLANK

7 セグメント
データ(8bit)
セグメント出力

ダイナミック表示回路

輝度表示回路続けていると「ボタンを押し続けている状態」でループ
ダウンボタン=ʻ0ʼ
ダウンボタン=ʻ１ʼ スイッチをかつアップボタン=ʻ0ʼ
押したボタンをリセット
状態離している
アップボタン=‘１’
状態

ボタンを一定期間押した状態

アップボタン=‘０’

アップボタン=‘１’
ボタンをかつ押し続けている
回数 < 15回
状態

アップボタン=‘０’

ダウンボタン=ʻ１ʼ
アップボタン=‘１’

調光用のシステム LSI のダイナミック表示回路は 3 桁のアップボタン=‘１’
かつ回数 = 1５回表示のうち１桁を選択する桁選択回路と 7 セグメントのデータを選択する桁データ選択回路から構成した。図５

ダウンボタン=ʻ1ʼ
かつボタンを 回数 < 15回押し続けている
ダウンボタン=ʻ1ʼ
ダウンボタン=ʻ０ʼ 状態
かつ回数=15回
ダウンボタン=ʻ０ʼ

ボタンを押した状態
アップボタン=‘１’

ダウンボタン=ʻ１ʼ

図６

ボタンを一定期間押した状態

明るさを１増やす
状態

明るさを１減らす
状態

輝度設定コントローラのステートマシン

になる。ループで遷移回数が 15 回に達するとボタンを3,072bit であった。これはここで使用した FPGA の全容一定期間押したことになり、「ボタンを一定期間押した状量の約 1/3 で作製することができた。試作した調光器は態」に遷移する。さらに、「ボタンを一定期間押した状態」

パルス幅を 256 等分にして明るさを調光しているため、でボタンを押し続けていと「明るさを 1 増やす状態」にLED の明るさと調光の明るさの数値が見かけ上、直線的遷移し、明るさを 1 増やす信号を調光回路に出力する。に変化していないので、補正する回路の追加が必要であ「明るさを１増やす状態」から「ボタンを一定期間押しる。また、電源を切ると設定した明るさの値が初期化さた状態」に遷移し、ボタンを押している間はこの二つのれるので、明るさの値を記憶するバッテリーでバックア状態をクロック毎に交互に遷移して明るさを１ずつ増やップされたメモリ回路が必要である。

す。もし、このときアップボタンが離されると「ボタンを離している状態」に戻る。ダウンボタンも同様の状態遷移をするが、ダウンボタンの場合は 1 減らす信号を出力する。
この輝度設定コントローラのステートマシンを基にして回路を VHDL で記述した。
2.3 FPGA 基板と拡張基板

暗い輝度のとき（輝度表示１）

調光器用システム LSI を試作するために用いた FPGA

中間の輝度（輝度表示128)

図９

基板を図７(a)に示す。輝度設定ボタン、輝度表示用 LED、

明るい輝度(輝度表示254)

調光波形

小型スピーカを接続するために試作した拡張基板を図４．結び７(b)に示す。そして、FPGA 基板と拡張基板を接続し調光用システム LSI をハードウェア記述言語で設計した。この設計した言語を FPGA の開発プログラムによってて調光器を試作した。

コンフィグレーションデータに落とし、FPGA に書き込んでシステム LSI を作製した。このシステム LSI に周辺回路を設計・製作して小型化の調光器を試作した。そして、調光器として動作することを確認した。
この実験において、１チップで明るさの表示機能の付いた調光用システム LSI を約 3 千ゲート(162LE)で製作(a) FPGA 基板
図７(b)拡張基板

FPGA 基板と拡張基板できた。今回は FPGA の容量の制限により、全てハードウ
ェア記述言語で調光用 LSI を記述したが、FPGA の内部にプロセッサの IP を組込み、プログラムを実行できるよう３．結果および考察にすることによって、ハードウェアとソフトウェアを上試作した調光器を図８に示す。また、調光器の調光波手くトレードオフすることで、さらに効率良くシステム形を図９に示す。試作した輝度調光用 LSI の回路規模はLSI を開発できる。本文では示さなかったが、従来のアテスト回路も含めロジックエレメントが 162(LE)、LSIナログ回路で作製するよりも基板の部品の点数を減らすのピンの使用本数が 58pin、メモリの使用量がことができ、調整個所をなくし再現性を上げることや低消費電力にすることができる。また、調光器（デジタル回路）に FPGA を使うメリットには、完成してからパソコンを用いてハードウェア記述言語を変更するだけで機能の変更や回路の追加が可能であることを挙げられる。

文献
1) 桜 井至著 :HDL に よ る デ ジ タ ル 回 路 の 基礎,p24(1997),テクノプレス
2)Jayaram Bhasker 著, 訳デザインウ ェーブ企画室 :VHDL 言語入門, p283(1995),CQ 出版
図８

調光器