備忘録のために「るすばんくん」ソフト作成時の特記事項を書いておこう。
1.I/Oポートの設定
(1)センサ・ランプインターフェースポート
マイコンのPC制御用I/Oポートを以下のように割り当てた。
センサ SENSE_N(入力): Port 4 bit 0
ランプ・ラジオ制御LAMPON_N(出力): Port 4 bit 2
-- main.c H8init()関数
/* Setting for Rusuban-kun */
BSC.ABWCR = 0xff; /* Set 8bit BUS MODE for All Space and Enable P4 as I/O Port */
P4.DR = 0x04; /* LAMP OFF (High) */
P4.DDR = 0x04; /* P4 bit2=OUT */
--
今回はCでI/Oポートの設定ができる。
・Port 4-2を出力にするためにP4.DDRに0x04を入れる
・Port 4-2のランプ・ラジオ制御信号はローアクティブにしたので、初期値を'1'にしておくためにP4.DRに0x04を書き込む。
・Port4を有効にするには全スペースを16bitではなく8bitモードにしておく必要がある。BSC.ABWCRに0xffをセット。
(2)携帯シリアルインターフェースポート
携帯と接続するためにTxD0/P9-0をシリアルポートに割り当て。
--
SCI0.SMR = 0x22; /* 調歩同期,8bit,偶数パリティ,STOP1, n=2 */
SCI0.BRR = 80; /* 600bps */
--
携帯のシリアルインターフェースは、
・調歩同期,8bit,偶数パリティ,STOPビット1
・ボーレート600bpsなので、SMRのn=2、BRR=80を設定
2.携帯操作コマンドフォーマット
(1)共通フォーマット
携帯のボタン操作のフォーマット以下の通り。そのデータを携帯に送ることによって、携帯のボタンを押したのと同等のことができる。
0xf2,0x02,0x01,0x00,0x00,0x03,0x0y,0x0z
y: 制御コードa7~a4 (制御コード上位4ビット)
z: 制御コードa3~a0 (制御コード下位4ビット)
詳細は、参考文献(1)の3.4.5節「外部制御端末による動作」参照
(2)N506iの制御コード割り当て
参考文献(1)に制御コードの一般的な定義はされているが、N506iのインプリメンテーションを調べた。(実際に動かして確認しただけで、仕様を知っているわけではない。)
0x00~0x10: 割り当てなし?
0x11: ↑
0x12: ↓
0x13: ←
0x14: →
0x15~0x20: 割り当てなし?
0x21: '1'
0x22: '2'
0x23: '3'
0x24: '4'
0x25: '5'
0x26: '6'
0x27: '7'
0x28: '8'
0x29: '9'
0x2a: '0'
0x2b: '#'
0x2c: '*'
0x2d: ONフック
0x2e: OFFフック
0x2f~0x31: 割り当てなし?
0x32: メール
0x33: 割り当てなし?
0x34: カメラライト点灯
0x35: 音声メモ
0x36: iモード
0x37~0x61: 割り当てなし?
0x62: 選択ボタン
0x63: クリアボタン
0x64: Menuボタン
0x65~0xff: 割り当てなし?
例: カメラ起動
・0xf2,0x02,0x01,0x00,0x00,0x03,0x02,0x0d ONフック(初期状態にする。)
・0xf2,0x02,0x01,0x00,0x00,0x03,0x06,0x04 Menuボタン
・0xf2,0x02,0x01,0x00,0x00,0x03,0x06,0x02 選択ボタン
*それぞれのボタン操作の間には、携帯の動作時間を考慮し、時間待ちを入れる。
3.状態遷移
以下の状態と動作を定義した。
4.参考文献
(1)「自動車携帯電話サービスを利用するための技術参考資料(デジタル方式)第3.2版」NTTドコモ
http://www.nttdocomo.co.jp/binary/pdf/corporate/technology/document/pdc/jidoushadenwa.pdf
(2)トランジスタ技術2005年9月号 pp.239-246
「R8C/15付録マイコン基板活用企画 第3回携帯電話を使った監視カメラの製作」
(1)センサ・ランプインターフェースポート
マイコンのPC制御用I/Oポートを以下のように割り当てた。
センサ SENSE_N(入力): Port 4 bit 0
ランプ・ラジオ制御LAMPON_N(出力): Port 4 bit 2
-- main.c H8init()関数
/* Setting for Rusuban-kun */
BSC.ABWCR = 0xff; /* Set 8bit BUS MODE for All Space and Enable P4 as I/O Port */
P4.DR = 0x04; /* LAMP OFF (High) */
P4.DDR = 0x04; /* P4 bit2=OUT */
--
今回はCでI/Oポートの設定ができる。
・Port 4-2を出力にするためにP4.DDRに0x04を入れる
・Port 4-2のランプ・ラジオ制御信号はローアクティブにしたので、初期値を'1'にしておくためにP4.DRに0x04を書き込む。
・Port4を有効にするには全スペースを16bitではなく8bitモードにしておく必要がある。BSC.ABWCRに0xffをセット。
(2)携帯シリアルインターフェースポート
携帯と接続するためにTxD0/P9-0をシリアルポートに割り当て。
--
SCI0.SMR = 0x22; /* 調歩同期,8bit,偶数パリティ,STOP1, n=2 */
SCI0.BRR = 80; /* 600bps */
--
携帯のシリアルインターフェースは、
・調歩同期,8bit,偶数パリティ,STOPビット1
・ボーレート600bpsなので、SMRのn=2、BRR=80を設定
2.携帯操作コマンドフォーマット
(1)共通フォーマット
携帯のボタン操作のフォーマット以下の通り。そのデータを携帯に送ることによって、携帯のボタンを押したのと同等のことができる。
0xf2,0x02,0x01,0x00,0x00,0x03,0x0y,0x0z
y: 制御コードa7~a4 (制御コード上位4ビット)
z: 制御コードa3~a0 (制御コード下位4ビット)
詳細は、参考文献(1)の3.4.5節「外部制御端末による動作」参照
(2)N506iの制御コード割り当て
参考文献(1)に制御コードの一般的な定義はされているが、N506iのインプリメンテーションを調べた。(実際に動かして確認しただけで、仕様を知っているわけではない。)
0x00~0x10: 割り当てなし?
0x11: ↑
0x12: ↓
0x13: ←
0x14: →
0x15~0x20: 割り当てなし?
0x21: '1'
0x22: '2'
0x23: '3'
0x24: '4'
0x25: '5'
0x26: '6'
0x27: '7'
0x28: '8'
0x29: '9'
0x2a: '0'
0x2b: '#'
0x2c: '*'
0x2d: ONフック
0x2e: OFFフック
0x2f~0x31: 割り当てなし?
0x32: メール
0x33: 割り当てなし?
0x34: カメラライト点灯
0x35: 音声メモ
0x36: iモード
0x37~0x61: 割り当てなし?
0x62: 選択ボタン
0x63: クリアボタン
0x64: Menuボタン
0x65~0xff: 割り当てなし?
例: カメラ起動
・0xf2,0x02,0x01,0x00,0x00,0x03,0x02,0x0d ONフック(初期状態にする。)
・0xf2,0x02,0x01,0x00,0x00,0x03,0x06,0x04 Menuボタン
・0xf2,0x02,0x01,0x00,0x00,0x03,0x06,0x02 選択ボタン
*それぞれのボタン操作の間には、携帯の動作時間を考慮し、時間待ちを入れる。
3.状態遷移
以下の状態と動作を定義した。
4.参考文献
(1)「自動車携帯電話サービスを利用するための技術参考資料(デジタル方式)第3.2版」NTTドコモ
http://www.nttdocomo.co.jp/binary/pdf/corporate/technology/document/pdc/jidoushadenwa.pdf
(2)トランジスタ技術2005年9月号 pp.239-246
「R8C/15付録マイコン基板活用企画 第3回携帯電話を使った監視カメラの製作」
コメントする