人工網膜ICの利用

 

2001.6.4

H8による人口網膜LSI利用方法について

 

  1. 目的

    Interface2001年2月号に掲載された手法を使って三菱電機(株)製の人工網膜LSI(M64283FP)をH8で駆動して画像入力することを目的とします. ここでは,その際の注意点をリストアップしました.
    川谷先生(福井大学)をはじめ,ご助言いただいた方々に感謝いたします.

  2. ハードウェア

    • 上記InterfaceのCD-ROMに収録された ARMODULE ディレクトリの回路図を利用した.
    • 外付けメモリ(SRAM)を利用するためH8の動作モードを5にする.
      基板のCH5にジャンパを接続する.AKI-H8の取り説を参照のこと.
    • 液晶パネルの裏面がH8等の回路に接触しないよう工夫する必要がある.
  3. ソフトウェア

    • 上記 CD-ROM の ARMODULE プログラムを利用する.
    • コンパイラは秋月通商のH8用Cコンパイラを利用した.
    • このCコンパイラで sprintf() 関数を使うとなぜか暴走した.
    • sprintf() を使ったシリアル通信部分は itoa() 関数を作成して代替とした.
      itoa() 関数は,3桁の数字を3文字に置き換える関数とした.
    • Excelを使ったデータ処理を行なうため,3桁のデータ間にカンマ(,)を挿入するように itoa() 関数を変更した.
    • armodule.c において列方向投影モードを利用する場合は,SRAM 領域の配列を1次元配列に直す.
      userIO.h の 7行目 no[128][128]; を no[128]; に変更する.
      h8lib.c の 64行目 DMAC1.ETCRA = (unsigned int)(row * column); を DMAC1.ETCRA = 128; に変更.
    • imagelib.c および armodule.c の画像処理部分を削除.
    • 人口網膜の明るさ及びダイナミックレンジの設定は,arlib.c 135行目~のレジスタ設定のうち蓄積時間を調整する.
      ステップ数と最小時間については,人口網膜の技術資料を参照のこと.
    • 列方向射影モードのとき,arlib.c 150, 151行の値をそれぞれ 0 にする.
      reg_dat[8] = 0x00;
      reg_dat[9] = 0x00;
    • グローバル変数を利用するときは,.sub ファイルにメモリエリアなどの設定を記述しないと動かない.
      exp) START P(200),C(2500),B(0FEF10)
  4. 各ファイルの記述内容

    • armodule.c … main(),グローバル変数,各初期化,画像取得,シリアル通信.
    • arlib.c  … wait()関数,人口網膜リセット,インタバルタイマ,ARレジスタ設定.
    • h8lib.c  … ポート初期化,RS232C初期化,DMAコントローラ設定.
    • imagelib.c … 画像処理サブルーチン(今回未使用)
    • lcd.c   … 液晶表示サブルーチン
    • port.c   … SW,LED設定,人口網膜使用ポート設定,DMACフラグ設定
    • userIO.h  … RAM領域配列変数の設定,DATA/ADDポートの設定.
  5. その他

    • 秋月通商のロムライター/マザーボードに指示されている液晶取り付位置およびポートは, 3048F.h のメモリアドレスポートと重複していることがあり,そのままでは利用できない場合がある..
    • 同マザーボードのスイッチのプリント部はスイッチの足同士で短絡している場合があるので確認すること.
    • LCD(SC160BS*B)のR/WをL(0V=GND)にしないとH8からの表示(Write)が出来ない.
  6. 組み立て例

    人工網膜部分(基板は0.8mmピッチの汎用基板を利用)
    人工網膜LSI取付 
    H8部分(H8,LCD,AD変換LSI,SRAM など)
    H8,周辺組立

コメントは停止中です。