「組み込み」ならではの基礎知識 ――スタートアップ・ルーチンからハードウェアまで

セサミアン3人組

tag: 組み込み

技術解説 2003年5月14日

 表8-2は,表8-1で定義された番地とデバイスの関係を基に,アドレス・バスを通してデコーダへ入力する番地と,出力されるチップ・セレクト信号を示しています.このラッチとゲートを使った回路は図8-5のようになります.また,この回路が機能したときのタイミング図を図8-6に示します.おのおのの機器の番地に対して,リード命令やライト命令を実行すると,対応したチップ・セレクト信号が有効になります.リード信号線はゲートに,ライト信号線はラッチにつながれています.

 スイッチの番地に対してリード命令を実行すると,ゲートに接続されたチップ・セレクト信号とリード信号が有効になります.そこで,ゲートが開いて,スイッチの状態がそのままデータ・バスに出てきます.CPUは,リード信号の立ち上がりでデータ・バスの値を取り込むことにより,スイッチの状態を読み取ります.

 LEDの番地に対してライト命令を実行すると,ラッチに接続されているチップ・セレクト信号とライト信号が有効になり,ライト信号の立ち上がりで,ラッチはデータ・バスの値を取り込みます.そして,その値をラッチが出力し続けるため,データ・バスから値が消えた後もLEDは点灯/消灯し続けます.

 アドレス・バス,データ・バスとも,複数の信号線を使って同時かつ並列(パラレル)に情報を伝えています.図8-5に示したように,ポートに接続されているデータ・バスの値をそのままI/Oの制御に利用する使いかたをパラレル・ポートと言います.パラレル・ポートは,制御にも通信にも使うことができます.

〔表8-2〕デコーダの論理表
アドレス・バスの値に応じて,それぞれのデバイスに対応したチップ・セレクト信号が有効になる.

番地
チップ・セレクト
(ゲート)
チップ・セレクト
(ラッチ)
チップ・セレクト
(拡張用)
... 1 1 1
0xFF00 0(有効) 1 1
0xFF01 1 0(有効) 1
0xFF02 1 1 0(有効)
... 1 1 1

f08_05.gif
〔図8-5〕スイッチとLEDを接続した回路
複数のデバイスを接続するためにアドレスをデコード(解読)して,指定されたデバイスだけが選ばれるようにする.入力のときはゲートを指定してスイッチの値を読み取り,出力のときはラッチを指定してLEDを設定する.

f08_06.gif
〔図8-6〕図8-5の回路が機能したときのタイミング図
(1)スイッチの状態を入力したいときは,CPUがアドレス・バスにスイッチ(ゲート)の番地を置き,リード信号を有効にする.デコーダがアドレス・バスの値に基づいて,ゲートを選ぶチップ・セレクト信号を有効にする.すると,ゲートが開いてスイッチの状態がデータ・バスに載る.CPUは,リード信号の立ち上がりタイミングでデータ・バスの内容(スイッチの状態)を取り込む.(2)LEDの点灯/消灯を設定したいときは,CPUがアドレス・バスにLED(ラッチ)の番地を置き,設定したい値をデータ・バスに置いて,ライト信号を有効にする.デコーダがアドレス・バスの値に基づいて,ラッチを選ぶチップ・セレクト信号を有効にする.ラッチは,ライト信号の立ち上がりタイミングでデータ・バスの内容(LEDの設定情報)を取り込む.ラッチは,取り込んだ値を出力し続けるので,データ・バスからLEDの設定情報が消えても,LEDの状態は維持される.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日