Top > MsFB > DTMF_Decoder > シスオペモード

MsFB/DTMF_Decoder/シスオペモード

シスオペモードを使えば、DTMFコードを自由に設定することができます。また制御するポートを選択したり、動作を設定することができます。

設定画面はこんなかんじです。
&ref(): File not found: "MsFB_DTMFDecode_SysopMode_00.PNG" at page "MsFB/DTMF_Decoder/シスオペモード";

各種設定方法

  • 1.Address DTMF Code
    • DTMF_Decoderを制御するためには、Address DTMF Codeの認証を行った後に操作するようにします。初期値は『*#』です。2は2桁という表示です。この場合、DTMF_Decoderを制御するためには、『*#』というDTMFコードを待ち受けます。無事に受信すると、MsFuncBoxに実装済みの緑色LEDが点灯します。点灯している間は、Address DTMF Codeの送信を省略することが出来ます。
  • 2.Address DTMF Code Release Time
    • Address DTMF Codeを有効とする時間を設定します。初期値は『20秒』です。最後のDTMF信号操作から20秒間有効という意味になります。
  • 3.DTMF Table List
    • DTMFコードパタンと制御するピン、そして動作を定義するリストです。
    • 最大10パタンまで設定できます。
    • DTMFコードパタンが複数のリストで一致する場合、一番上のリストが有効となります。
    • 初期値は、DTMFコード1を押すと、aout_0ピンの状態を反転させます。(ONならばOFFになり、OFFならばONになります。) 同様に、DTMFコード2を押すと、aout_1ピンの状態を反転させます。
    • テーブル設定方法は以下の通りです。
      *** Please Input TableIndex =>0  (<=設定変更を行うテーブル番号を入力します。)
      *** Please Input args! [0]
      Exsample) 1 5 3 2
      Exsample) 1 5 3 3 50 [<= ON/TimerOFF Mode]
      Exsample) 0          [<= Invalid Table   ]
       Arg1:  Valid Table[1=ON  0=OFF]
       Arg2:  DTMFCode   [0-9,*,#,A-D] (Max 4Digit)
       Arg3:  PinSelect  [0=aout_0 1=aout_1 2=aout_2 3=aout_3]
                         [4=dout_0 5=dout_1 6=dout_2 7=dout_3]
       Arg4:  Action     [0=ON  1=OFF  2=togle 3=ON_timerOFF 4=DuringON]
       Arg5:  OffTimer   [1=1Sec  (1..255)  =>> Max255Sec]
        (ON_timerOFF Only)
      =>
      パラメータは最大5個となり、それぞれをスペースで区切って入力します。
      • Arg1: Valid Table
        テーブルが有効か無効かを選択します。
        1テーブルを有効にします。
        0テーブルを無効にします。
  • Arg2: DTMFCode
    検出させるDTMFコードを入力します。DTMFコードは最大4桁まで入力可能で、入力可能なDTMFコードは『0~9,*,#,ABCD』です。
  • Arg3: PinSelect
    制御するピンを指定します。8本の中から選択することが出来ます。他のテーブルとバッティングしても良いです。
    0aout_0
    1aout_1
    2aout_2
    3aout_3
    4dout_0
    5dout_1
    6dout_2
    7dout_3
  • Arg4: Action
    動作を指定します。
    0ON何が何でもON状態にします。
    1OFF何が何でもOFF状態にします。
    2togle現在ONであればOFFにし、OFFであればONにします。
    3ON_timerOFFONにしますが、設定したタイマー時間が経過したらOFFになります。OFF時間はArg5: OffTimerパラメータで指定します。尚、タイマー動作中に何らかのDTMF信号が入るとタイマー動作を終了しOFFになります。
    4DuringONDTMF検出中のみONにします。DTMFコードが検出されなくなったり、他のDTMFコードが検出されれば、OFFになります。
  • Arg5: OffTimer
    Arg4: ActionでON_timerOFFを選択した時のON時間の長さを指定します。1~255秒まで入力可能です。
  • 4.AutoCalibration
    • 内部のクロック周波数誤差を測定し補正値を得ます。
      [AutoCalibration]
       [InputFrequencyAutoAdjusting]
         Please Input Continus DTMF Signal. Code => [#] Hit Enter key!
      このような表示がでたら、DTMF信号『#』を連続入力した状態でEnterを押してください。 正常に実行されると、以下のように表示されます。
      [Ideal  ] =>  LowFreq=31881.0  HighFreq=20311.0
      [  1/ 20] =>  LowFreq=31550.0  HighFreq=20113.0  VD=0 CT=5 NS=11 VD_dtmf_sym=7
      [  2/ 20] =>  LowFreq=31534.0  HighFreq=20112.0  VD=0 CT=5 NS=11 VD_dtmf_sym=7
      [  3/ 20] =>  LowFreq=31660.0  HighFreq=20091.0  VD=0 CT=5 NS=11 VD_dtmf_sym=7
      [  4/ 20] =>  LowFreq=31609.0  HighFreq=20181.0  VD=0 CT=5 NS=11 VD_dtmf_sym=7
      [  5/ 20] =>  LowFreq=31544.0  HighFreq=20149.0  VD=0 CT=5 NS=11 VD_dtmf_sym=7
      [  6/ 20] =>  LowFreq=31663.0  HighFreq=20090.0  VD=0 CT=5 NS=11 VD_dtmf_sym=7
      [  7/ 20] =>  LowFreq=31663.0  HighFreq=20182.0  VD=0 CT=5 NS=11 VD_dtmf_sym=7
      [  8/ 20] =>  LowFreq=31681.0  HighFreq=20157.0  VD=0 CT=5 NS=11 VD_dtmf_sym=7
      [  9/ 20] =>  LowFreq=31688.0  HighFreq=20184.0  VD=0 CT=5 NS=11 VD_dtmf_sym=7
      [ 10/ 20] =>  LowFreq=31624.0  HighFreq=20186.0  VD=0 CT=5 NS=11 VD_dtmf_sym=7
      [ 11/ 20] =>  LowFreq=31619.0  HighFreq=20153.0  VD=0 CT=5 NS=11 VD_dtmf_sym=7
      [ 12/ 20] =>  LowFreq=31704.0  HighFreq=20112.0  VD=0 CT=5 NS=11 VD_dtmf_sym=7
      [ 13/ 20] =>  LowFreq=31567.0  HighFreq=20114.0  VD=0 CT=5 NS=11 VD_dtmf_sym=7
      [ 14/ 20] =>  LowFreq=31624.0  HighFreq=20090.0  VD=0 CT=5 NS=11 VD_dtmf_sym=7
      [ 15/ 20] =>  LowFreq=31608.0  HighFreq=20099.0  VD=0 CT=5 NS=11 VD_dtmf_sym=7
      [ 16/ 20] =>  LowFreq=31569.0  HighFreq=20138.0  VD=0 CT=5 NS=11 VD_dtmf_sym=7
      [ 17/ 20] =>  LowFreq=31723.0  HighFreq=20190.0  VD=0 CT=5 NS=11 VD_dtmf_sym=7
      [ 18/ 20] =>  LowFreq=31702.0  HighFreq=20184.0  VD=0 CT=5 NS=11 VD_dtmf_sym=7
      [ 19/ 20] =>  LowFreq=31678.0  HighFreq=20175.0  VD=0 CT=5 NS=11 VD_dtmf_sym=7
      [ 20/ 20] =>  LowFreq=31683.0  HighFreq=20100.0  VD=0 CT=5 NS=11 VD_dtmf_sym=7
      [AverageDiff] LowFreq=-256.7000122  HighFreq=-169.300003
      [DetectErrDif] LowFreq=-0.8117198[%]  HighFreq=-0.8405447[%]  
      Total=>-0.8261322[%] => PASS
      最終結果がPASSになっている事を確認してください。エラーになってしまった場合には、入力しているDTMF信号が正しいかどうかチェックしてください。ほとんどの場合は、Total=>±2%の範囲内に収まるはずです。うまく行かない場合は、6.Input ATTの調整を行ってみてください。
  • 5.FreqCalibration
    • 内部のクロック周波数誤差補正値を手動設定します。ほとんどの場合にはこの機能はつかいません。AutoCalibrationを使えば十分な性能が得られるはずです。
  • 6.Input ATT
    • 入力アッテネータ値を設定します。初期値は10になっており、100mVp-pの信号であればこのままでOKです。どうも検出できたり出来なかったりする場合には、このアッテネータ値を調整してみると良いでしょう。
      [Level Monitor]  ATT= 10
        Please Input DTMF Signal
      こんな画面が出てきます。DTMF信号をいれてみましょう。検出されたDTMFシンボルが表示されます。
      123456789*0#
      どうも抜けてしまう場合には、アッテネータ値を調整してみます。エンターキーを入力すると
       1:  Change Input ATT
       9:  Exit ToneLevel Monitor
       Please Hit Menu Number [1..9]   =>
      こんな画面が出てきます。1を押すとアッテネータ値が設定できます。 大体よさげな所をみつけたら、4.AutoCalibrationをもう一度実行してみてください。
  • 7.Save ALL Parameter to FLASH
    • 現在の設定情報をマイコン内部に記憶させます。ここで保存したデータは電源を切っても忘れることはありません。設定変更を行った後は、必ず設定を保存してください。
  • 9.Exit Sysop Menu
    シスオペモードを終了します。

Reload     Front page List of pages Search Recent changes Backup   Help   RSS of recent changes
Last-modified: Tue, 27 Dec 2016 00:33:04 HAST (1059d)