20140208 自主制作MTG 資料
16セグLED駆動回路を作ってみた改
ロジック回路で16セグLED駆動回路を作った
コンセプト:
● Arduino から SPI 通信で制御● バッファリング回路内蔵● ハードウェア制御ダイナミック点灯
発振回路
データバッファ
SPI インターフェース
セレクタ
Arduino
16セグ LED 駆動回路
SPI
制御対象の数:たかだか、
16セグ × 6桁 = 96個
たとえば 32 × 32 ドットの LED マトリクス
制御対象の数:
32 × 32 = 1024個
大量制御するには(方法は同じだけど)
手段は変えなきゃいけない!
FPGA:Field Programmable Gate Array
現場で: (Field)プログラム可能な:(Programable)ロジック回路の集合:(Gate Array)
…らしい。
ふつうは…
プログラムを書く↓
ソフトウェアができる
FPGAは…
プログラムを書く↓
ハードウェアができる!
ハードウェア記述言語 (HDL)でプログラミング
書き込み用ファイル生成
ハードウェアの完成
コンパイル(論理合成&配置配線)
書き込み
前回と(ほぼ)同じ回路をFPGA で作ってみた
8bitシフトレジスタ
8bitシフトレジスタ
RAM(8bit In, 16bit Out)
1/100000プリスケーラ
6進カウンタ
6進-2進コンバータ
Arduino
SPI インターフェース
ダイナミック点灯制御
バッファ wadr wdata
clk
count
radr
rdata
select
csclkmosimiso
FPGA (DE0)
Q
16セグLED
50MHz CLK
clk
ロジック回路(ASIC)と比べて… 配線の軽減試行錯誤をしやすいバージョン管理しやすい
CPU(マイコン)と比べて… 大量制御しやすい処理が早い柔軟性が高い
ロジック回路(ASIC)と比べて… 速度が遅い消費電力が大きい
CPU(マイコン)と比べて… 高価煩雑