第1章 マイクロコンピュータの活用とZ80
1.1 マイコンとリアルタイム制御
マイクロコンピュータの使われ方
ワンボード・マイコンの限界
マイコンのプログラム実行
コンピュータの処理効率を上げる方法
制御用マイコンでの処理のしかた
レベル・アップするには
1.2 Z80のあらまし
Z80の誕生
Z80の変遷
Z80のハードウェア
Z80のソフトウェ
1.3 Z80の周辺LSI
インテル系周辺LSIとZ80専用周辺LSI
インテル系の周辺LSI
Z80専用の周辺LSI
そのほかのLSI
第2章 割り込み活用の徹底研究
2.1 割り込みの基礎
割り込みとは
割り込みの受け付け方法:
レベル検出型の場合
割り込みの受け付け方法:
エッジ検出型の場合
割り込み処理のプログラム
2.2 割り込み点数を拡張するには
割り込みの識別
周辺LSIを使うとハードは簡単になる
2.3 割り込みコントローラ8259Aの活用
割り込みコントローラ8259A
独立した複数の割り込み
割り込みを64点まで拡張するには
デイジィ・チェーンによる方法
2.4 Z80システムの割り込み
ベクタ方式による割り込み
Z80の割り込みコントローラ
インテル系のデイジィ・チェーン
2.5 割り込みの優先度
割り込み受け付けの優先度
多重割り込みの必要性
2.6 割り込みコントローラ8259A
による多重割り込み
初期設定
多重割り込みの動作
8259Aでの優先順位可変
優先度固定方式のモディファイ
割り込み受け付けの優先順位
2.7 Z80系の多重割り込み
多重割り込みの具体的方法
問題点
接続数
2.8 割り込みのソフトウェア
リエントラント・プログラム
共用テーブルの注意点
入出プログラムの注意点
第3章 ダイレクト・メモリ・アクセス(DMA)
3.1 DMAとは
高度な入出力への対応
DMAの使用と実行
3.2 インテル系DMAコントローラ8237A
8237Aの基本動作
シングル転送モード
シングル転送モードが有効なケース
ブロック転送モード
デマンド転送モード
カスケード・モード
メモリ間転送
入出力間転送でのDMAの開始と終了
オート・イニシャライズ
優先順位の制御
3.3 Z80 DMAコントローラ
Z80DMAの特徴
複数のDMA接続
DMA転送のやり方
RDYタイミングは注意が必要
データ転送への適用例
割り込みとDMAとの干渉
Z80DMAの機能
ディスク・コントローラのDMA
第4章 メモリを使って高速化する
4.1 バッファ・メモリとFIFO
バッファ・メモリとは
1段バッファ・メモリ
周辺LSIに組み込まれた
バッファ・メモリ
FIFOとは
FIFO用IC
ソフトウェアによるFIFO
高速DMAへの利用
FIFO内蔵の周辺LSI
速度変換への応用
4.2 デュアルポートRAM
デュアルポートRAMとは
汎用デュアルポートRAM
Am2130の動作
画像用デュアルポートRAM
μPD41264の動作
4.3 メモリの拡張
補助メモリの利用
I/O空間の利用
バンク・メモリの利用
4.4 メモリの高速化技術
ウェイトなしの条件
オンボード・メモリの活用
キャッシュ・メモリの活用
低速メモリを高速化させて使う
第5章 マイコン・システムの信頼性対策
5.1 信頼性とは
5.2 LSIとそのバグ
LSIのマニュアル
問題の多いタイミング
マニュアルの応用問題例に注意する
LSIのバグ(その1)
LSIのバグ(その2)
5.3 ROMとRAM
プログラムの保存とROM
ROMの種類
ROMの使い方
5.4 パワーONリセットと停電対策
パワーONリセット
復電時に仕事を継続する
RAMのバッテリ・バックアップ
停電の検出
5.5 異常処理とウォッチドッグ・タイマ
異常処理
ノイズ対策
ウォッチドッグ・タイマ
メモリ・パリティ
[コラム] プロパゲーション・ディレイ
の最小値推定
第6章 リアルタイム・モニタの基礎と実際
6.1 リアルタイム・モニタの基礎
機械とその制御
モニタとは
モニタとOS
リアルタイム・モニタ
タスクとジョブ
6.2 リアルタイム・モニタの必要性
割り込みによる
リアルタイム・プログラム
ソフトウェアによる
リアルタイム・プログラム
リアルタイム・モニタの効用
6.3 リアルタイム・モニタの概要
タスクとタスクの状態
タスクの優先レベル
リアルタイム・モニタの構造
割り込み処理とタスク
入出力のプログラム
タイマの役割
タスク間の通信
モニタ・コマンドについて
6.4 リアルタイム・モニタの実例
タスクの管理
タスクの待ち行列
モニタ・コマンド
待ちを作る方法
割り込み処理の仕事
割り込みレベルのタスク
割り込みレベル・タスクの管理
サブタスクのリンケージ
評価
[コラム] EI命令のタイミング