NECの1チップマイクロコントローラにV25/V35シリーズがあります。これらのマイコンはV30互換のCPUをコアに周辺インターフェースを集積したもので、外付け部品が少なく、入手性も良いのでアマチュアでも手軽に利用することができます。また、コアがV30互換ということでDOS用の開発ツールを流用できるのも使いやすさのポイントでしょう。現在は、一部仕様を改善したV25+/V35+が出ています。V25/V35の主な仕様は次のようになっています。
コアCPU | バイナリーレベルで V30互換 |
パラレルI/F | 24ビット入出力(一部他の機能とピンを共用) 8ビット入力(スレッシホールド可変) |
シリアルI/F | 2チャネル(同期/非同期) |
カウンタ・タイマ | 3チャネル |
DMA | 2チャネル |
割り込みコントローラ | 内部12系統、外部5系統 |
外部バスI/F | V25 :アドレス 20ビット、データ 8ビット V35 :アドレス 20ビット(11/9時分割)、データ 16ビット プログラマブルウェイト制御 DRAM/擬似SRAMリフレッシュ制御 |
レジスタバンク | 8バンク |
その他 | クロック発振回路など |
電気的仕様 | 動作周波数:2~8MHz 消費電力:325mW (@8MHz) |
V25/V35の内蔵ペリフェラルの制御レジスタは全てメモリ空間にマッピングされています。I/O空間の消費はありません。この制御レジスタのブロック(512bytes)は、任意のアドレスに移動することができます。
制御レジスタの前半256bytesには8バンク分のCPUのレジスタがマッピングされています。任意のレジスタに切り替えることにより高速なタスク切り替えをすることが可能です。割り込みやプロシージャ呼び出しでも切り替えできるので、高速な割り込み処理が可能となります。
V25は外部データバスが8bitとなっています。アドレスとデータは分割されていますので、バスサイクルは最小2クロックとなっています。V35は外部データバスが16bitとなっています。アドレスとデータは分割ですが、アドレスが上位/下位で時分割出力となっていますので、バスサイクルは最小3クロックとなっています。SRAMを使用する場合はV25の方が外付け回路が不要で簡単でしょう。
8MHz/0WSで動作させた場合、ROMに要求されるTACCは、デコーダの遅れを含めて50nsです。こんな高速なROMは普通では入手困難ですので、普通は1WS入れて使用することになります。プログラマブルウェイト機能で1WS入れてみると必要なTACCは175nsとなり、150nsクラスのROMが使えるようになります。
プログラマブルなウェイトコントローラーを内蔵しています。I/O領域と7ブロックに分割されたメモリ領域にウェイトを設定することができます。各ブロックには個別に 0/1/2/2+nと4通りのウェイトの追加が可能です(nは外部からの追加)。外部ウェイトを使用する場合は、PIOと共用になっているREADYピンを設定する必要があります。ただ、外部ウェイトを使うと、バスサイクルに無駄が多くなるのが難点です(ウェイト解除後も1.5クロックほど無駄な時間がある)。
V25/V35をもっと詳しく知りたい場合は、次に挙げる資料を参照すると良いでしょう。残念ながら V25/V35をよく説明した文献は NECの発行する物以外には思い当たりません。
わたしも V25を使ったボードマイコンを作ってみました。実際の使用例としてまとめてありますので、こちらもご覧ください。