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〜15PC0〜15の端子をPIOとして外部に取り出すようにしています。また、PD16〜31LEDDIP SW用に利用しています。

ところで、マイコンボードAP-SH2F-0Aには1MByteの外部SRAMが実装されていますが、この外部SRAMを利用しようとすると、上記のPIOとLED,DIP SWは利用できなくなります。

これは、外部SRAMを利用するには、PD0〜31PC0〜21をそれぞれ外部デバイス用のデータバスアドレスバスとして機能させなければならなくなるためです。外部SRAMを利用しようとすると、汎用目的で利用できるPIOのポート数が非常に少なくなってしまい、当面必須と考えているLEDとDIP SW用の16BIT分を確保できなくなるため、ここでは1MByteの外部SRAMの利用をあきらめました。

SH2-7045Fの動作モードも、外部データバスおよびアドレスバスを利用しない「シングルチップモード」に設定することになります。その場合、使用できるSRAMは、チップに内蔵されている4KB分のみとなります。

■ハードウエア設定

AP-SH2F-0Aマイコンボードをシングルチップモードで動作させる場合は、ボード上のスイッチS1の1,2ビットをOFFにし、ジャンパJP1をオープン状態にして下さい。

S1の設定    JP1の設定

■ソフトウエア設定

リンカスクリプトのメモリーマップ設定を以下のように修正して、内蔵RAMを利用するようにします。

202.SH2(7045F)ソフトウエア開発環境のページでご紹介しているInkscrpt.xのファイルです。

MEMORY
{
     vector : o = 0x00000000, l = 0x00000400
     rom     : o = 0x00000400, l = 0x0003fc00
     ram     : o = 0xfffff000,   l = 0x00001000
     stack   : o = 0xffffffe0,    l = 0x00000020
}

 

11−2−1.LED表示部

8BITのLED表示PD16〜23のPIOポートを利用しています。ポートがハイレベルの時に出力される電流を利用してLEDを点灯させますが、SH2の端子から出力できる電流はひとつあたり2.0mAで、複数端子の合計で25mAが限度と決められています。

今回利用したLEDは小型のもので、0.5mA以下でも点灯するので問題ありませんでしたが、あまり大きめのLEDを使用すると下記の回路では駆動できない場合があるので注意して下さい。

LED接続図

11−2−2.ディップスイッチ部

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

ディップスイッチ接続図

11−2−3.ポートC用コネクタ

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

PC接続図

11−2−4.ポートD用コネクタ

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

PD接続図

11−2−5.MTUマルチファンクションタイマユニット入出力用コネクタ

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

MTU接続図

11−2−6.A/D入力端子

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

A/D入力接続図

11−2−7.シリアル通信ポート0チャンネル(SCI−0)

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

RS232Cドライバ接続図

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

シリアルケーブル接続図

【先頭に戻る】


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のプログラミング方法などを勉強して行こうと思います。

 

【電子回路編TOPに戻る】

 


改版:リンカスクリプトメモリマップ設定変更の追記 2002.5.26


【表紙に戻る】