11.SH2-7045F用マザーボード
2002/04/25 【電子回路編TOPに戻る】
今回は、アルファプロジェクトから発売されているSH2マイコンボードAP-SH2F-0Aを搭載するためのマザーボードを製作しましたので、ご紹介します。AP-SH2F-0AはワンチップマイコンSH2-7045Fを使ったマイコンボードですが、外部機器との接続をし易くするために今回製作したマザーボードを利用します。といっても特別なことは何もしておらず、マイコンボードのコネクタから機能別に小さな10ピンのコネクタなどにつなぎ直しているだけです。AP-SH2F-0Aマイコンボードについては、10.SH2(7045F)マイコンボードのページと、202.SH2(7045F)ソフトウエア開発環境のページをご覧下さい。
11−1.マザーボードの外観
AP-SH2F-0Aマイコンボードは、AKI-H8などのボードに比べるとひと回り大きくなっています。これは、1MByteのSRAMが標準装備されているなど、実装デバイスの関係もさることながら、やはり外部に出す端子の数によるところが大きいのでしょう。外部機器に接続するためのコネクタ類をAKI-H8用小型マザーボードのようにマイコンボードの周囲に配置するのが一番わかりやすい方法ですが、そうすると相当大きなマザーボードになってしまい、ロボットに搭載する時に不利になってしまいます。
そこで、以下のようなマザーボードにしてみました。つまり、外形はマイコンボードとほぼ同じにして、外部への接続コネクタはマイコンボードの下に来る形です。
![]() |
下の写真で左側がマイコンボードを重ねて実装する面で、右側がハンダ面です。
デバッグ時や動作状態の監視などのために、8BIT分のLEDは必須と考えているため、PD(ポートD)の16〜23BIT目のPIOを利用してLED用としています。また、ソフト動作の設定などのために、8BIT分のDIP SWも必須と考えているので、同じくPD(ポートD)の24〜31BIT目を利用してSW情報の取り込み用としています。
ハンダ面の太めの黒い配線はA/D変換入力のアナログ信号取り込み用で、ノイズの影響を少なくするためにシールド付きの線材を利用しています。その他の配線の色分けについては、本当はGND緑、+5V桃、その他の信号線を青、にしたかったのですが、手持ちの線材がなくなってしまったので、途中から脈絡の無い色になってしまいました。(^^;
![]() |
![]() |
![]() |
左の写真は、今回製作したマザーボードにマイコンボードを実装した状態です。マザーボードの横から、デバッグ/設定用のLEDとDIP
SWが顔を出しているのが分かりますか?
ここで、外部接続用のケーブルを出すことができるの?といった疑問を持たれると思いますが、一応出すことが出来ます。(出せないと意味がないので...) |
![]() |
外部接続用のケーブルを接続する場合には、左の写真のようにケーブルを基板上の中心の通り道に集め、そのまま外に逃がすように整理します。 また、角型のコネクタプラグ(日本航空電子製PSコネクタ)は、ストレインリリースを外して、その分背を低くしています。そうしないと、さすがにマイコンボードにぶつかってしまうので。
|
![]() |
で、実際にマイコンボードを実装した状態では、左の写真のようにケーブルを外部に逃がすことになります。 お察しの通り、頻繁にコネクタを抜き差しするようなことには向いていません。一度さしたら挿しっぱなしという覚悟が必要です。といっても、一度ハードウエア環境が決まってしまえば、そうそう抜き差しすることもありませんが。 でも、もちろんマザーボードからマイコンボードを取り外すことも出来ますのでご安心下さい。 |
11−2.マザーボードの回路図
回路図とは言っても、回路らしい回路もありません。なにせ、マイコンボードのコネクタから、別の小さめのコネクタに接続し直しているだけですから。でも、LEDやDIP SW、それにRS232C用デバイスドライバなども積んでいるため、一応ご紹介しておきましょう。
|
【ここで注意!】 今回のマザーボードでは、PD0〜15、PC0〜15の端子をPIOとして外部に取り出すようにしています。また、PD16〜31をLEDとDIP SW用に利用しています。 ところで、マイコンボードAP-SH2F-0Aには1MByteの外部SRAMが実装されていますが、この外部SRAMを利用しようとすると、上記のPIOとLED,DIP SWは利用できなくなります。 これは、外部SRAMを利用するには、PD0〜31、PC0〜21をそれぞれ外部デバイス用のデータバスとアドレスバスとして機能させなければならなくなるためです。外部SRAMを利用しようとすると、汎用目的で利用できるPIOのポート数が非常に少なくなってしまい、当面必須と考えているLEDとDIP SW用の16BIT分を確保できなくなるため、ここでは1MByteの外部SRAMの利用をあきらめました。 SH2-7045Fの動作モードも、外部データバスおよびアドレスバスを利用しない「シングルチップモード」に設定することになります。その場合、使用できるSRAMは、チップに内蔵されている4KB分のみとなります。 ■ハードウエア設定 AP-SH2F-0Aマイコンボードをシングルチップモードで動作させる場合は、ボード上のスイッチS1の1,2ビットをOFFにし、ジャンパJP1をオープン状態にして下さい。
■ソフトウエア設定 リンカスクリプトのメモリーマップ設定を以下のように修正して、内蔵RAMを利用するようにします。 202.SH2(7045F)ソフトウエア開発環境のページでご紹介しているInkscrpt.xのファイルです。 MEMORY
|
11−2−1.LED表示部
8BITのLED表示はPD16〜23のPIOポートを利用しています。ポートがハイレベルの時に出力される電流を利用してLEDを点灯させますが、SH2の端子から出力できる電流はひとつあたり2.0mAで、複数端子の合計で25mAが限度と決められています。
今回利用したLEDは小型のもので、0.5mA以下でも点灯するので問題ありませんでしたが、あまり大きめのLEDを使用すると下記の回路では駆動できない場合があるので注意して下さい。

11−2−2.ディップスイッチ部
8BITのディップスイッチはPD24〜31のPIOポートを利用しています。今回の回路では10KΩのプルアップ抵抗を外付けしてしまいましたが、マイコンボード側で既にプルアップされているため、本当は不要です。

11−2−3.ポートC用コネクタ
PC0〜7とPC8〜15のPIOポートを、別の10ピンコネクタに取り出しています。10ピンコネクタにはマイコンボードから+5V電源とGNDを取り出して接続しています。

11−2−4.ポートD用コネクタ
PD0〜7とPD8〜15のPIOポートを、別の10ピンコネクタに取り出しています。10ピンコネクタにはマイコンボードから+5V電源とGNDを取り出して接続しています。

11−2−5.MTUマルチファンクションタイマユニット入出力用コネクタ
TCLK/IRQコネクタはMTUのパルス入力端子とIRQ入力端子を立ち上げ、その他のコネクタはMTUのパルス出力端子を立ち上げています。出力端子をわざわざ6BITずつに分けているのは、想定しているロボット制御での信号の送り先ごとに分けているためです。もちろんPWM出力としての利用が主となります。

11−2−6.A/D入力端子
A/D入力端子AN0〜7を、個別の3ピンコネクタに立ち上げています。それぞれがポテンショメータに直接接続できるように、+5VとGNDも供給しています。基板内の配線ではシールド線を利用して外部からのノイズ対策を行なっています。

11−2−7.シリアル通信ポート0チャンネル(SCI−0)
シリアル通信ポートのSCI0チャンネルを、RS232CドライバICを介して外部コネクタに接続しています。SCI1チャンネルのポートはマイコンボード本体からDサブ9ピンコネクタによって標準で出ています。

パソコンと通信を行なう場合には、以下のようなケーブルが必要になります。

11−3.AP-SH2F-0Aマイコンボードの外部接続ピン一覧
今回のマザーボードでは、AP-SH2F-0Aマイコンボードの以下のピンを外部に取り出しています。
一覧のなかで緑の端子は使用しているもので、灰色の端子は未使用のものです。
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 |
今回製作したマザーボードでは、まだまだマイコンボード本来の機能・性能を生かしきることができませんが、当面必要となる機能に的を絞ったという感じです。今後は、このマザーボードを元にして、SH2のプログラミング方法などを勉強して行こうと思います。
改版:リンカスクリプトメモリマップ設定変更の追記 2002.5.26