bit | 内部32bit |
フラッシュROM | 512KB |
RAM | 16KB |
動作モード | 1〜5,7 |
最大動作周波数 | 25MHz |
汎用レジスタ | 16bit×16本 |
アドレス空間 | 16MB |
I/Oポート | 入出力70本, 入力9本 |
パッケージ | 100pin QFP,TQFP |
フラッシュ書き換え | 最低100回 |
フラッシュ書き込みが 5Vの単一電源でいいってのが楽ですね。H8/3048FでDC12Vが別途
必要だったことを思うとありがたいです。
フラッシュへの書き込み回数の制限が気になる方は、mesを搭載すれば、プログラム(elf)をRAMへ転送
してプログラム実行出来ますので安心です。もちろん、電源OFFしたら消えますけど(^^;
Port | bit | I/O | LANボードでの用途 |
---|---|---|---|
P1 | 0 | I/O | アドレスバスA0 |
1 | I/O | アドレスバスA1 | |
2 | I/O | アドレスバスA2 | |
3 | I/O | アドレスバスA3 | |
4 | I/O | アドレスバスA4 | |
5 | I/O | アドレスバスA5 | |
6 | I/O | アドレスバスA6 | |
7 | I/O | アドレスバスA7 | |
P2 | 0 | I/O | アドレスバスA8 |
1 | I/O | アドレスバスA9 | |
2 | I/O | アドレスバスA10 | |
3 | I | 使用可能[CN2-32] | |
4 | I | 使用可能[CN2-33] | |
5 | I | 使用可能[CN2-34] | |
6 | I | 使用可能[CN2-35] | |
7 | I | 使用可能[CN2-36] | |
P3 | 0 | I/O | データバスD8 |
1 | I/O | データバスD9 | |
2 | I/O | データバスD10 | |
3 | I/O | データバスD11 | |
4 | I/O | データバスD12 | |
5 | I/O | データバスD13 | |
6 | I/O | データバスD14 | |
7 | I/O | データバスD15 | |
P4 | 0 | I/O | 使用可能[CN2-5] |
1 | I/O | 使用可能[CN2-6] | |
2 | I/O | 使用可能[CN2-7] | |
3 | I/O | 使用可能[CN2-8] | |
4 | I/O | 使用可能[CN2-9] | |
5 | I/O | 使用可能[CN2-10] | |
6 | I/O | 使用可能[CN2-11] | |
7 | I/O | 使用可能[CN2-12] | |
P5 | 0 | I | 使用可能[CN2-37] |
1 | I | 使用可能[CN2-38] | |
2 | I | 使用可能[CN2-39] | |
3 | I | 使用可能[CN2-40] | |
4 | - | (not exist) | |
5 | - | (not exist) | |
6 | - | (not exist) | |
7 | - | (not exist) | |
P6 | 0 | I/O | EEPROM SDA(IC4) |
1 | I/O | EEPROM SCL(IC4) | |
2 | I/O | EEPROM A1(IC4) | |
3 | I/O | !AS | |
4 | I/O | !WE | |
5 | I/O | !HWR | |
6 | I/O | !LWR | |
7 | I/O | 使用可能[CN1-4] | |
P7 | 0 | I | 使用可能[CN1-12] |
1 | I | 使用可能[CN1-13] | |
2 | I | 使用可能[CN1-14] | |
3 | I | 使用可能[CN1-15] | |
4 | I | 使用可能[CN1-16] | |
5 | I | 使用可能[CN1-17] | |
6 | I/O | 使用可能[CN1-18] | |
7 | I/O | 使用可能[CN1-19] | |
P8 | 0 | I/O | 使用可能[CN1-20] |
1 | I | 使用可能[CN1-21] | |
2 | I/O | DRAMのRAS | |
3 | I/O | RTL80109ASのSA6 | |
4 | I | 使用可能[CN1-24] | |
5 | - | (not exist) | |
6 | - | (not exist) | |
7 | - | (not exist) | |
P9 | 0 | I/O | TxD0 |
1 | I/O | TxD1 | |
2 | I/O | RxD0 | |
3 | I/O | RxD1 | |
4 | I/O | 使用可能[CN2-3] | |
5 | I | RTL8019ASの100pin | |
6 | - | (not exist) | |
7 | - | (not exist) | |
PA | 0 | I/O | 使用可能[CN1-25] |
1 | I/O | 使用可能[CN1-26] | |
2 | I/O | 使用可能[CN1-27] | |
3 | I/O | 使用可能[CN1-28] | |
4 | I/O | 使用可能[CN1-29] | |
5 | I/O | 使用可能[CN1-30] | |
6 | I/O | 使用可能[CN1-31] | |
7 | I/O | 使用可能[CN1-32] | |
PB | 0 | I/O | 使用可能[CN1-33] |
1 | I/O | 使用可能[CN1-34] | |
2 | I/O | 使用可能[CN1-35] | |
3 | I/O | 使用可能[CN1-36] | |
4 | I/O | DRAMのカラムアドレスストローブ信号 | |
5 | I/O | 使用可能[CN1-38] | |
6 | I/O | 使用可能[CN1-39] | |
7 | I/O | 使用可能[CN1-40] |
こう見ると、8本セットで入出力として使える PAポートがよさそうだ。
ということで、以下 PAポートを使って何かと試して見ます。
Address | 名 称 | 略 称 | R/W | 初期値 |
EE009h | ポートAデータディレクションレジスタ | PADDR | W | 00h |
FFFD9h | ポートAデータレジスタ | PADR | R/W | 00h |
ポートの方向設定するレジスタは「書き込み専用」ですので、PAを使うときはPADDR 一応書き込んで使います。知らずに読むとデタラメなので落とし穴に落ちないように。
PA0から Hi出力させるには、PADDRのbit0を 1(出力)にセットし、
PADRのbit0 を 1(Hi)にセットするだけです。
そうすると、CN1 の 25番ピンの電圧が 5V になっています。
逆に、PADRのbit0 を 0クリアするとLoを出力します。CN1 の 25番ピンの電圧は 0V。
PA0にHiを出力するサンプルプログラム(手抜いています). SFR関連の
ヘッダファイルは reg3067.h ですが、これでいいです。
#include <mes2.h> #include <h8/reg3067.h> int main(void) { PADR = 0x00; /* まずラッチを0に. とりあえず全ポート */ PADDR = 0xff; /* とりあえず全ポート出力設定. この時点で Lo出力 */ PADR = 0x01; /* PA0ポートから Hi出力 */ return 0; } |
CBar等で適当に elfファイル作成して、tftp経由でH8/3069ボードへ転送し、
実行すると確認できます。(手順参考:【入門編】)
テスタなどがあるといいですね。LEDで確認してもいいですが、PAポートはLo/Hi出力
とも許容電流は最大で2.0mAしかありません。ポートから直接LEDを点灯させるのは避けるべきです。
LED付けたい時はトランジスタやバッファを介しましょう。
#include <mes2.h> #include <h8/reg3067.h> int main(void) { PADR = 0x00; /* まずラッチを0に. とりあえず全ポート */ PADDR = 0xff; /* とりあえず全ポート出力設定. この時点で Lo出力 */ sleep(1000); /* 1秒 Lo*/ PADR = 0x01; /* PA0ポートから Hi出力 */ sleep(5000); /* 5秒 Hi */ PADR = 0x00; /* Lo に戻す */ return 0; } |
オシロスコープで PA0ポートを計測してみました。
なんと、5秒のはずが6秒弱になっています。20MHzと25MHzを間違えてるのかなぁ。。
それっぽいけど、config.sys も 20MHz用のものを使っています。
試しに2秒出力させるプログラムを作成すると、2.4秒程度出力されます。
目的は 玄箱の電源SWの入/切をさせたいだけなので、
時間はアバウトでいい。とりあえず先に進む。ご存知の方がおられました教えていただけると
ありがたいです。。
(※ 個人で楽しむホビーなのでこんな感じだ(^^; )
2007/08/02
Copyright(C) 2007 masu, All rights
reserved.
massun.masumoto@nifty.ne.jp
http://homepage3.nifty.com/~masumoto/