FPGA tuner 専用コントローラの製作

概要



専用コントローラ用 PIC16F886 チップの領布について

  1. hex オブジェクトを公開しています

  2. プログラム書き込み済み PIC16F886 チップの領布もします



ハードウェア仕様

  1. ハードウェアは 秋月電子通商 の PIC マイコン赤外線リモコン学習キット をそのまま使います。

  2. FPGA tuner のコントローラとして必要なハードウェア機能が搭載されています。

  3. ハードウェアはそのまま使えますが、PIC16F886 の制御プログラムは書き換える必要があります。



ソフトウェア仕様

  1. 通常モード

    普通に電源 ON した時にこのモードになる。

  2. スペシャルモード

    1. リモコンコード送信

      [<<] [W/N] キーの2つを押しながら電源 ON した時にこのモードになる。

      • LCD 表示

        1. LCD に以下の情報を表示する。
          
          +------------------+
          |   Send IR code   |
          |      key **      |
          +------------------+
                     **      : (1) Key No.
          
        2. 表示情報の説明

          No. 表示項目 説明
          1 Key No. 最初は [**] と表示されているが、キーを押すとそのキーコード (00~15) を表示する。

      • 操作方法

        No. 操作項目 操作説明
        1 概要 (1) このモードは学習リモコンを FPGA tuner リモコンとして使う想定の機能である。
        (2) コントローラの各キーに対応したリモコンコードをコントローラから発信する。
        (3) リモコンコードは NEC フォーマットとし、キーコードとリモコンコードの対比は以下である。
           00 : [123400FFh] ~ 15 : [12340FF0h]
        (4) このモードではリモコンからの操作を禁止している。
        2 使いかた (1) 電源 ON 時に本スペシャルモードを起動する。
        (2) 各キーを押すと、そのリモコンコードが発信されるので、これを学習リモコンに記憶させる。
        (3) 電源 OFF → ON して [通常モード] に戻す。
        (4) これ以降、学習リモコンから FPGA tuner を操作できる。

    2. S/PDIF サンプリング周波数設定

      [<] [W/N] キーの2つを押しながら電源 ON した時にこのモードになる。

      • LCD 表示

        1. LCD に以下を表示する。
          
          +------------------+
          | S/PDIF Rate(kHz) |
          | [<] 192 [>][MEM] |
          +------------------+
                ***          : (1) サンプリング周波数
          
        2. 表示情報の説明

          No. 表示項目 説明
          1 サンプリング周波数 最初は現在のサンプリング周波数が表示されているが、[<] [>] キーを押すことで 48, 96, 192 のいずれかに変わる。

      • 操作方法

        No. 操作項目 操作説明
        1 概要 (1) S/PDIF のサンプリング周波数を 48kHz, 96kHz, 192kHz のいずれかに設定する。
        (2) このモードではリモコンからの操作を禁止している。
        2 使いかた (1) 本モードになると、現在のサンプリング周波数が表示される。
        (2) [<] キーを押すとサンプリング周波数が低くなる。最小 48 まで。
        (3) [>] キーを押すとサンプリング周波数が高くなる。最大 192 まで。
        (4) [MEM] キーを押すとサンプリング周波数がコントローラに記憶され、通常モードになる。

    3. UART ボーレート補正

      [>>] [W/N] キーの2つを押しながら電源 ON した時にこのモードになる。

      • LCD 表示

        1. LCD に以下を表示する。
          
          +------------------+
          | Baud Rate Adjust |
          | [<] -11 [>][MEM] |
          +------------------+
                ***          : (1) 補正値
          
        2. 表示情報の説明

          No. 表示項目 説明
          1 補正値 最初は現在の補正値が表示されているが、[<] [>] キーを押すことで -16~+15 に変わる。

      • 操作方法

        No. 操作項目 操作説明
        1 概要 (1) 本コントローラでは PIC16F886 内蔵クロックを用いて 115.2kbps のボーレートを得ている。
        (2) 内蔵クロックの発振周波数を 7.3728MHz 近辺に設定すると正しいボーレートとなる。
        (3) 内蔵クロックの発振周波数は PIC16F886 の個体差や周囲温度で若干ズレる可能性がある。
        (4) 本機能は内蔵クロックの発振周波数を補正することを目的とする。
        (5) 補正値は -16~+15 を設定でき、マイナス側は発振周波数が下がる方向、プラス側は上がる方向である。
        (6) 内蔵クロックの基本発振周波数は 8MHz で、これは補正値 00 の時である。これを中心として±12% 程度の補正が可能である。
        (7) 補正値 -11 とすると、ほぼ全ての PIC16F886 で 7.3728MHz 近辺に設定できる。
        (8) このモードではリモコンからの操作を禁止している。
        2 使いかた (1) 本モードになると、現在の補正値 (通常は -11) が表示される。
        (2) [<] キーを押すと補正値がデクリメントされる。最小 -16 まで。
        (3) [>] キーを押すと補正値がインクリメントされる。最大 +15 まで。
        (4) [MEM] キーを押すと補正値がコントローラに記憶され、通常モードになる。

  3. PIC16F886 内蔵 EEPROM のデータテーブル仕様

  4. ソフトウェアリリース履歴



接続仕様

  1. コントローラを 3.3V 動作させる場合

  2. コントローラを 5V 動作させる場合 ・・・ こちらがお奨めです



ノイズ対策

  1. FPGA tuner 設計者の林さまから情報をいただきました

  2. ノイズ対策