2002/04/09 【電子回路編TOPに戻る】
今回は、アルファプロジェクトから発売されているSH2マイコンボードAP-SH2F-0Aをご紹介します。このマイコンボードには、SH2-7045Fが搭載されています。以前、同じアルファプロジェクト製のSH2マイコンボードAP-SH2F-1Aをご紹介致しましたが、搭載されているマイコンはSH2-7051Fでした。
どちらかというと7051Fよりは7045Fの方が一般的(?)で、トラ技などの特集記事(2001/6月号)でも7045Fが扱われていました。機能的にはそれぞれ一長一短で甲乙つけ難く、それぞれの用途で好きなほうを選べばよいのですが、どちらかというと7045Fよりは7051Fのほうが多機能なような気がします。
今回TekuRoboでは、簡易的に12チャンネルのPWM出力を得るために7045Fに登場してもらいました。7051FではPWMを7チャンネルまでしか出力することができません。7051Fと7045Fの簡単な比較は、5.SH2(7051F)マイコンボードのページを参照して下さい。ただし、本当に表面上の比較しかしていないため、あまり参考にはなりませんが...
10−1.SH2-7045Fワンチップマイコンの概要
以下にSH2-7045Fの機能概要をご紹介します。書き出すとキリがありませんので、ハードウエアマニュアルに記載されている機能概要から更に要約してみます。
| 項 目 | 仕 様 |
| CPU |
内部32ビット構成 RISCタイプの命令セット(5段パイプライン) C言語志向の命令セット 命令実行時間 基本命令は1命令/1ステート(20MHz時:50ns/命令) アドレス空間 アーキテクチャ上は4GB |
|
割り込みコントローラ (INTC) |
外部割込み端子x9(NMI,IRQ0〜7) 内部割込み要因x43要因 16レベルの優先順位設定が可能 |
| ユーザーブレーク
コントローラ (UBC) |
CPUやDMACが、ある設定した条件のバスサイクルを生成すると、割り込みを発生。 オンチップデバッガの構築が容易 |
|
クロック発信器 (CPG/PLL) |
クロック発信器内蔵(最大動作周波数28.7MHz) 内部PLLにより、外部入力クロックの逓倍(x2〜x8192)が可能 外部入力クロックの周波数は4〜10MHz |
|
バスステート コントローラ (BSC) |
外部のメモリアクセスをサポート SRAM/ROMをダイレクト接続可能 外部アドレス空間を5エリアに分割し、各々にバス動作を設定可能 データバス16BITまたは32BIT |
|
ダイレクト メモリアクセス (DMAC) |
DMACx4チャンネル |
|
マルチファンクション タイマーユニット (MTU) |
16ビットタイマー5チャンネルをベースに、最大16種類の波形出力またはパルスの入出力処理が可能 16本のアウトプットコンペア兼インプットキャプチャレジスタ パルス出力モード ワンショット/トグル/PWM/相補PWM/リセット同期PWM 最大12チャンネルのPWM出力可能 |
|
コンペアマッチタイマ x2チャンネル (CMT) |
16ビットフリーランニングカウンタ 1個のコンペアジレスタ コンペアマッチで割り込み要求を発生 |
|
ウォッチドックタイマ (WDT) |
WDT x1チャンネル ウォッチドックタイマ/インターバルタイマの切り替えが可能 カウンタオーバーフロー時、内部リセット、外部信号、割り込み発生 |
|
シリアル インターフェイス (SCI) |
SCI x2チャンネル 調歩同期/クロック同期を選択可能 全二重通信が可能 専用のボーレートジェネレータ内蔵 マルチプロセッサ間通信機能 |
|
A/D変換器
|
A/D x8チャンネル、分解能10ビット 外部トリガによる起動も可能 同時に2チャンネルサンプリング可能 |
| I/Oポート |
入出力ポート98本 入力ポート8本 の計106本 I/Oポートは、他の機能の端子と兼用 |
|
内蔵メモリ |
フラッシュメモリ 256KB RAM 4KB |
10−2.AP-SH2F-0Aマイコンボードの外観
| 部品面 | 半田面 | ||
![]() |
![]() |
寸法 100mm x 80mm
(コネクタ突起を除く) |
部品面のやや中央にと腰を据える正方形のLSIが、SH2-7045Fワンチップマイコンです。その右に横向きに2個並ぶのが外付けS-RAMで、標準で1Mbyte実装されています。SH2の上にあるICソケットは外部ROMの増設用で、512Kbyteまで実装できます。部品面左端にあるのがDIPスイッチで、右端にあるのがシリアルポート用コネクタです。
外部RAMや232Cドライバなど、使用上必要となる機能が搭載されておりますが、回路上は基本的にほとんど全てのI/O類を外部コネクタに出すだけのシンプルな構成です。
なお、外部にI/O類を取り出すためのコネクタは付属されていないので、用途に合わせて自分で追加します。アルファプロジェクトさんの推奨は、以下のコネクタです。
CN1,2 HIF3H-60DA-2.54DSA / HIF3H-60PB-2.54DSA (ヒロセ 60ピン)
CN3 HIF3H-20DA-2.54DSA / HIF3H-20PB-2.54DSA (ヒロセ 20ピン)
電源コネクタはハーネス済みで付属されています。
10−3.AP-SH2F-0Aマイコンボードの回路
回路的にはSH2-7045Fを中心として、外付けROM/RAMとそのチップセレクト用周辺ロジック、RS-232Cドライバ回路、CPU動作モードの設定とA/Dコンバータ基準電圧の接続を行なうためのディップスイッチが追加されている程度で、あとは基本的にI/O端子を外部に取り出すだけのシンプルな構成です。
SH2は、H8のようにフラッシュROM書き込みのためのDC12V電源などが必要ないため、完全にDC5V単一電源だけで動作します。なので、フラッシュROM書き込みのための特別な回路は必要ありません。CPU動作モード端子と、フラッシュ書き込み許可(FWP)端子の設定だけでOKです。
ここをクリックすると、AP-SH2F-0Aマイコンボードの回路図(PDFファイル)がダウンロードできます。アルファプロジェクトさんの許可を得ていないので、もしかしたら怒られるかもしれませんが、とりあえず載せちゃいます。アルファプロジェクトさんすみません。
10−4.AP-SH2F-0Aマイコンボードのピンファンクション
AP-SH2F-0Aには、以下のようなコネクタ用のパターンが付いており、I/O関連を外部に取り出すことができます。
CN1
|
No. |
ピンファンクション |
No. |
ピンファンクション |
| 1 | GND | 2 | GND |
| 3 | PD15/D15 | 4 | PD14/D14 |
| 5 | PD13/D13 | 6 | PD12/D12 |
| 7 | PD11/D11 | 8 | PD10/D10 |
| 9 | PD9/D9 | 10 | PD8/D8 |
| 11 | VCC | 12 | VCC |
| 13 | PD7/D7 | 14 | PD6/D6 |
| 15 | PD5/D5 | 16 | PD4/D4 |
| 17 | PD3/D3 | 18 | PD2/D2 |
| 19 | PD1/D1 | 20 | PD0/D0 |
| 21 | GND | 22 | GND |
| 23 | PC15/A15 | 24 | PC14/A14 |
| 25 | PC13/A13 | 26 | PC12/A12 |
| 27 | PC11/A11 | 28 | PC10/A10 |
| 29 | PC9/A9 | 30 | PC8/A8 |
| 31 | PC7/A7 | 32 | PC6/A6 |
| 33 | PC5/A5 | 34 | PC4/A4 |
| 35 | PC3/A3 | 36 | PC2/A2 |
| 37 | PC1/A1 | 38 | PC0/A0 |
| 39 | GND | 40 | GND |
| 41 | NMI | 42 | PA14/RD |
| 43 | PA13/WRH | 44 | PA2/IRQ0 |
| 45 | PA5/IRQ1 | 46 | PA10/CS0 |
| 47 | PA11/CS1 | 48 | PA6/CS2 |
| 49 | RESET | 50 | PA15/CLK |
| 51 | PB0/A16 | 52 | PB1/A17 |
| 53 | PB6/A18 | 54 | PB7/A19 |
| 55 | PB8/A20 | 56 | PB9/A21 |
| 57 | PA17/WAIT | 58 | PA12/WRL |
| 59 | GND | 60 | BATT |
CN2
|
No. |
ピンファンクション |
No. |
ピンファンクション |
| 1 | PE15/TIOC4D/DACK1/IRQOUT | 2 | PE14/TIOC4C/DRACK0/AH |
| 3 | PE13/TIOC4B/MRES | 4 | PE12/TIOC4A |
| 5 | PE11/TIOC3D | 6 | PE10/TIOC3C |
| 7 | PE9/TIOC3B | 8 | PE8/TIOC3A |
| 9 | VCC | 10 | VCC |
| 11 | PE7/TIOC2B | 12 | PE6/TIOC2A |
| 13 | PE5/TIOC1B | 14 | PE4/TIOC1A |
| 15 | PE3/TIOC0D/DRAK1 | 16 | PE2/TIOC0C/DREQ1 |
| 17 | PE1/TIOC0B/DRAK0 | 18 | PE0/TIOC0A/DREQ0 |
| 19 | GND | 20 | GND |
| 21 | PB5/IRQ3/POE3/RDWR | 22 | PB4/IRQ2/POE2/CASH |
| 23 | PB3/IRQ1/POE1/CASL | 24 | PB2/IRQ0/POE0/RAS |
| 25 | WDTOVF | 26 | GND |
| 27 | PA21/CASHH | 28 | PA20/CASHL |
| 29 | PA19/BACK/DRAK1 | 30 | PA18/BREQ/DRAK0 |
| 31 | PA17/WAIT | 32 | PA16/AH |
| 33 | PA9/TCLKD/IRQ3 | 34 | PA8/TCLKC/IRQ2 |
| 35 | N.C | 36 | EXRES |
| 37 | PA7/TCLKB/CS3 | 38 | PA6/TCLKA/CS2 |
| 39 | PA5/SCK1/DREQ1/IRQ1 | 40 | PA4/TXD1 |
| 41 | PA3/RXD1 | 42 | PA2/SCK0/DREQ0/IRQ0 |
| 43 | PA1/TXD0 | 44 | PA0/RXD0 |
| 45 | GND | 46 | GND |
| 47 | PF7/AN7 | 48 | PF6/AN6 |
| 49 | PF5/AN5 | 50 | PF4/AN4 |
| 51 | PF3/AN3 | 52 | PF2/AN2 |
| 53 | PF1/AN1 | 54 | PF0/AN0 |
| 55 | AVref | 56 | AVref |
| 57 | AVcc | 58 | AVcc |
| 59 | AVss | 60 | AVss |
CN3
|
No. |
ピンファンクション |
No. |
ピンファンクション |
| 1 | PD16/D16 | 2 | PD17/D17 |
| 3 | PD18/D18 | 4 | PD19/D19 |
| 5 | PD20/D20 | 6 | PD21/D21 |
| 7 | PD22/D22 | 8 | PD23/D23 |
| 9 | GND | 10 | GND |
| 11 | PD24/D24 | 12 | PD25/D25 |
| 13 | PD26/D26 | 14 | PD27/D27 |
| 15 | PD28/D28 | 16 | PD29/D29 |
| 17 | PD30/D30 | 18 | PD31/D31 |
| 19 | PA22/WRHL | 20 | PA23/WRHH |
CN4 Dsub9ピン
|
No. |
ピンファンクション |
| 1 | N.C |
| 2 | RXD |
| 3 | TXD |
| 4 | N.C |
| 5 | GND |
| 6 | N.C |
| 7 | RTS |
| 8 | CTS |
| 9 | N.C |
10−5.AP-SH2F-0Aマイコンボードのメモリーマップ
モード2(内蔵F−ROM有効モード)時のメモリーマップは以下の通りです。
モード3(シングルチップモード)にすると、内蔵F-ROM、内蔵周辺モジュール、内蔵RAMの各領域以外にはアクセスできません。
| 00000000H
0003FFFFH |
内蔵F-ROM(32BIT
BUS)
256KByte |
|
| 00040000H
001FFFFFH |
予 約 | |
| 00200000H
0027FFFFH |
外部ROM(16BIT
BUS)
512KByte |
CS0空間 |
| 00280000H
003FFFFFH |
ROMイメージ | |
| 00400000H
004FFFFFH |
外部SRAM(32BIT
BUS)
1MByte |
CS1空間 |
| 00500000H
007FFFFFH |
SRAMイメージ | |
| 00800000H
00BFFFFFH |
ユーザー開放 | CS2空間 |
| 00C00000H
00FFFFFFH |
ユーザー開放 | CS3空間 |
| 01000000H
01FFFFFFH |
ユーザー開放
DRAM空間 |
|
| 02000000H
FFFF7FFFH |
予 約 | |
| FFFF8000H
FFFF87FFH |
内蔵周辺モジュール | |
| FFFF8800H
FFFFEFFFH |
予 約 | |
| FFFFF000H
FFFFFFFFH |
内蔵RAM |
SH2のハードウエアやアーキテクチャについては、日立ホームページかトランジスタ技術2001/6月号の特集を参照して下さい。また是非、SH2-7045F用のハードウエアマニュアル(SH7040)をダウンロードし、ご自分でひも解いてみて下さい。
外部SRAMを利用するために外部アドレスバスと外部データバスを有効にすると、基本的にはCN1やCN3に割りついているパラレルポート(PC,PD,およびPA,PBの一部)が丸々使用できなくなります。CN2に割りついている端子は、A/D入力、シリアルポート、タイマー出力ポートなど良く使う端子でほとんど埋まってしまい、自由になるパラレルポートはPA0〜PA7程度になってしまうため、少し寂しい感じです。
1MByteのSRAMを取るか、4KByteの内臓RAMで済ませて(シングルチップモード)CN1とCN3を自由にするかによって、ボードの利用方法が大きく変わることになりそうです。