BU94601KV 2012/04/03 Application Note Rev.1.2.0 BU94601KV Application Note Rev.1.2.0 ROHM Audio Processing Team -1/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 目次 Ⅰ. はじめに .................................................................................................... 5 Ⅱ.内部ブロックダイアグラム............................................................................ 6 Ⅲ.端子配置.................................................................................................... 7 Ⅲ.1 端子配置図.............................................................................................................................................................. 7 Ⅳ.接続ダイアグラム ....................................................................................... 7 Ⅳ.1 MODE1 ................................................................................................................................................................... 7 Ⅳ.2 MODE2 ................................................................................................................................................................... 7 Ⅳ.3 MODE3 ................................................................................................................................................................... 7 Ⅳ.4 発振回路 ................................................................................................................................................................. 9 Ⅴ.シーケンス制御 ........................................................................................ 13 Ⅴ.1 MODE1 ................................................................................................................................................................. 13 Ⅴ.1.1 パワーオンシーケンス .................................................................................................................................. 13 Ⅴ.1.2 状態遷移図.................................................................................................................................................. 14 Ⅴ.2 MODE2 ................................................................................................................................................................. 16 Ⅴ.2.1 MODE2 全体シーケンス .............................................................................................................................. 16 Ⅴ.2.2 パワーオンシーケンス .................................................................................................................................. 17 Ⅴ.2.3 メモリ認識 .................................................................................................................................................... 17 Ⅴ.2.3.1 メモリ認識動作フロー ............................................................................................................................. 17 Ⅴ.2.3.2 メモリ認識開始 ...................................................................................................................................... 17 Ⅴ.2.3.3 メモリ挿入状態検出 ............................................................................................................................... 17 Ⅴ.2.3.4 USB メモリマウント ................................................................................................................................ 18 Ⅴ.2.3.5 USB メモリ再生可能ファイル検索 ........................................................................................................... 18 Ⅴ.2.3.6 SD メモリマウント................................................................................................................................... 18 Ⅴ.2.3.7 SD メモリ再生可能ファイル検索 ............................................................................................................. 18 Ⅴ.2.3.8 メモリ認識終了 ...................................................................................................................................... 18 Ⅴ.2.3.9 メモリ認識動作ステータス ...................................................................................................................... 19 Ⅴ.2.4 USB メモリ LUN 選択 ................................................................................................................................... 20 Ⅴ.2.4.1 マウントする LUN の指定 ....................................................................................................................... 20 Ⅴ.2.4.2 LUN 指定の読み出し ............................................................................................................................. 20 Ⅴ.2.4.3 接続された USB メモリが有している LUN 総数の読み出し ...................................................................... 20 Ⅴ.2.4.4 指定 LUN のリセット .............................................................................................................................. 20 Ⅴ.2.4.5 LUN 切り替え再生までのフロー ............................................................................................................. 21 -2/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 Ⅴ.2.4.6 LUN 切り替えにおいての注意事項......................................................................................................... 21 Ⅴ.2.5 初期設定 ..................................................................................................................................................... 22 Ⅴ.2.5.1 TOC 解析 ............................................................................................................................................. 23 Ⅴ.2.5.2 ボリューム設定 ...................................................................................................................................... 24 Ⅴ.2.5.3 オーディオ出力設定 ............................................................................................................................... 24 Ⅴ.2.5.4 ID3Tag 読み込み設定 ........................................................................................................................... 24 Ⅴ.2.5.5 12MHz クロック出力設定 ....................................................................................................................... 24 Ⅴ.2.6 操作コマンド待ち受け・受信 .......................................................................................................................... 25 Ⅴ.2.7 再生開始 ..................................................................................................................................................... 27 Ⅴ.2.7.1 「PLAY」コマンド送信.............................................................................................................................. 27 Ⅴ.2.8 ステータス読み出し、操作コマンド待ち受け・受信 .......................................................................................... 27 Ⅴ.2.9 曲中レジューム再生方法 .............................................................................................................................. 28 Ⅴ.2.9.1 レジューム用データ取得 ........................................................................................................................ 28 Ⅴ.2.9.2 パワーオンシーケンス、メモリ認識 .......................................................................................................... 30 Ⅴ.2.9.3 メモリデバイスチェック ............................................................................................................................ 30 Ⅴ.2.9.4 TOC、初期設定 ..................................................................................................................................... 30 Ⅴ.2.9.5 レジューム再生用初期設定 .................................................................................................................... 30 Ⅴ.2.9.6 「SET_RESUME_INFO」コマンド送信、レジューム再生開始 ................................................................... 30 Ⅴ.2.9.7 フォルダ名、ファイル名、ID3Tag 情報取得 .............................................................................................. 31 Ⅴ.2.9.8 REPEAT、RANDOM 設定..................................................................................................................... 31 Ⅴ.2.9.9 操作コマンド待ち受け ............................................................................................................................ 31 Ⅴ.2.9.10 曲頭 RESUME_STOP を行う場合の動作について .................................................................................. 32 Ⅴ.2.10 早送り再生、巻き戻し再生 .......................................................................................................................... 34 Ⅴ.2.10.1 再生速度設定 ..................................................................................................................................... 34 Ⅴ.2.10.2 アッテネーションレベル設定 ................................................................................................................. 35 Ⅴ.2.10.3 早送り(巻き戻し)再生開始 .................................................................................................................. 35 Ⅴ.2.10.4 早送り(巻き戻し)再生終了 .................................................................................................................. 35 Ⅴ.3 MODE3 ................................................................................................................................................................. 36 Ⅴ.3.1 MODE3 全体シーケンス .............................................................................................................................. 36 Ⅴ.3.2 パワーオンシーケンス、メモリ認識 ................................................................................................................ 37 Ⅴ.3.3 初期設定.................................................................................................................................................. 37 Ⅴ.3.4 フォルダ内情報取得 ..................................................................................................................................... 38 Ⅴ.3.4.1 解析フォルダ指定 .................................................................................................................................. 39 Ⅴ.3.4.2 フォルダ解析動作開始 ........................................................................................................................... 39 Ⅴ.3.4.3 解析情報の存在 .................................................................................................................................... 39 Ⅴ.3.4.4 フォルダ情報、ファイル情報読み出し ...................................................................................................... 39 Ⅴ.3.4.5 解析結果取得完了 ................................................................................................................................ 39 Ⅴ.3.5 再生 MP3 ファイル指定 ................................................................................................................................ 40 Ⅴ.3.6 Tag 情報取得 .............................................................................................................................................. 40 Ⅴ.3.6.1 「GET_ID3」コマンド送信........................................................................................................................ 41 -3/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 Ⅴ.3.6.2 ID3Tag 情報取得完了 ......................................................................................................................... 41 Ⅴ.3.6.3 ID3Tag 情報読み出し .......................................................................................................................... 41 Ⅴ.3.7 再生開始 ..................................................................................................................................................... 41 Ⅴ.3.8 ステータス読み出し ...................................................................................................................................... 41 Ⅴ.4 File Read 機能...................................................................................................................................................... 43 Ⅴ.4.1 File Read 動作フロー ................................................................................................................................... 43 Ⅴ.4.1.1 停止状態............................................................................................................................................... 43 Ⅴ.5.1.2 ファイル名指定 ...................................................................................................................................... 43 Ⅴ.4.1.3 ファイルサイズ取得 ................................................................................................................................ 44 Ⅴ.4.1.4 指定ファイル存在 .................................................................................................................................. 44 Ⅴ.4.1.5 データ読み出し ...................................................................................................................................... 44 Ⅴ.4.1.6 終了処理............................................................................................................................................... 45 Ⅴ.4.1.7 リセット .................................................................................................................................................. 45 Ⅵ.改定履歴.................................................................................................. 46 -4/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 Ⅰ. はじめに このアプリケーションノートは、通常の CD オーディオ再生セットなどに加えて、BU94601KV を使用することにより、USB メモリ、 SD メモリカードに書き込まれた MP3 データを再生するためのオーディオプレーヤを実現する方法を説明したものです。 BU94601KV は、KEY 入力機能を使用して単独で再生、曲送り等の動作が可能なスタンドアロンモード(以下 MODE1)、I2C シ リアルインターフェースを使用して、マスターマイコンから KEY 入力と同等のコマンド送信によって動作するオートスレーブモード (以下、MODE2)、I2C シリアルインターフェースを使用して、BU94601KV がマスターマイコンに、メモリデバイス内の MP3 ファイ ル位置を送信し、その情報を元にマスターマイコンが、メモリデバイス内の MP3 ファイル位置を BU94601KV に直接指定し再生を 行うマニュアルスレーブモード(以下、MODE3)、以上の 3 つの動作モードを内蔵し、それぞれのオーディオシステムにあった最適 な機能を実現することが可能です。 上記機能を内蔵した BU94601KV の動作及びシステムを理解し、さらなるオーディオセット機能充実のため、このアプリケーショ ンノートを参考にしてください。 【ご注意】 本アプリケーションノートの内容およびソフトウェアは、USB ホスト MP3 デコーダ LSI の使用例として説明しているものであり、 その内容を保証するものではありません。 また、本アプリケーションノートには上記システムの開発時に必要と思われるコマンド仕様等を記載しておりますが、詳細は、 BU94601KV データシートを御覧ください。 -5/47- BU94601KV 2012/04/03 Application Note Rev.1.2.0 Ⅱ.内部ブロックダイアグラム BU94601KV の内部ブロックダイアグラムを図Ⅱ.1 に示します。 Work RAM Fixed Point Digital Signal Processor Program ROM X'TAL 16.9344MHz USB controller USB SD controller SD Memory KEY controller KEY Input I2C I/F Status Registor I2C-Bus Coeff ROM SYS_PLL Reset Gen USB_PLL RESETX 3.3V Power supply I2S I/F S/PDI/F Regulator for CORE power supply I2S output S/PDI/F output Audio DAC LINE OUT Function Selector Select Terminals 図Ⅱ.1 内部ブロックダイヤグラム KEY からの入力は KEY Input Controller に、マスターマイコンからのコマンドは I2C I/F によって制御されます。これらはモード 切り替え端子によってどちらのブロックが有効になるかは異なります。KEY かまたは I2C によって受信したコマンドは DSP にて解 析し実行します。 -6/47- BU94601KV 2012/04/03 Application Note Rev.1.2.0 Ⅲ.端子配置 Ⅲ.1 端子配置図 50 51 52 53 54 45 44 43 42 41 40 39 38 37 36 35 LDACO VCDACO RDACO DAVSS VSS_PLL XOUT_PLL XIN_PLL TEST_PLL VDD_PLL VOREFI REXTI AVSSC LED_ERROR/ TEST9 LED_PLAY/ TEST10 34 33 USB_DP 46 USB_DM 47 DAVDD 49 48 AMUTE BU94601KV 端子配置を図Ⅲ.1 に示します。 LED_PSD/ TEST11 LED_PUSB/ TEST12 LED_ACCESS/ LRCK/SPDIF LED_RANDOM/ BCK AVDDC 32 ATEST1 31 TEST8 30 TEST7 29 TEST6 28 DVDD_M2 27 TEST5/ CLKOUT12 26 TEST4 25 DVSS 24 61 TEST17 SD_DO 20 62 DVSS SD_CON 19 63 TMODE DVDDIO 18 64 DVDDIO TEST3 17 1 2 3 4 5 6 7 8 9 10 11 12 KEY_COL3/ SEL_SMAN 21 KEY_COL2/A1 SD_CLK KEY_COL1/A0 TEST16 KEY_ROW4/ SDA 60 KEY_ROW2/ BUSY KEY_ROW3/ SCL 22 KEY_ROW1/ MCHNG SD_DI TEST2 TEST15 TEST1 23 SEL_UTPKT SD_CS SEL_APLAY TEST14 59 SEL_VOL 58 SEL_DOUT DVDD_M1 SEL_MP3 TEST13 57 SEL_SLAVE 56 RESETX 55 LED_REPEAT/ DATA 13 14 15 16 図Ⅲ.1 端子配置図 Ⅳ.接続ダイアグラム 各モードでの接続回路例を示します。 本LSIは、内部CORE電源(1.5V)用のレギュレータを内蔵しています。 27PINおよび 57PINのDVDDにはバイパスコンデンサーを接続してください。27PINおよび 57PINのDVDDには電源電圧を 与えないでください。 本 LSI 内の発振セル(XIN_PLL,XOUT_PLL)を用いて発振子を自励発振させる場合、ご使用となる基盤と発振子にて十分な マージンのあるマッチングを行った上でご使用ください。 Ⅳ.1 MODE1 MODE1 での接続応用回路例を図Ⅳ.1 に示します。 Ⅳ.2 MODE2 MODE2 での接続応用回路例を図Ⅳ.2 に示します。 Ⅳ.3 MODE3 MODE3 の接続応用回路は MODE2 に準じます。ただし pin16 SEL_SMAN を GND に接続して下さい。 -7/47- BU94601KV Application Note Rev.1.2.0 図Ⅳ.1 図Ⅳ.2 2012/04/03 MODE1 接続応用回路例 MODE2/MODE3 接続応用回路例 Though all application circuit examples can be recommended in faith, confirm them fully before using them. To use external devices beyond a predetermined quantity, make decision with an adequate allowance, considering differences between the external devices and our ICs including the transient properties as well as static properties. -8/47- BU94601KV 2012/04/03 Application Note Rev.1.2.0 Ⅳ.4 発振回路 以下に参考の発振回路および回路定数を示します。 以下に紹介する回路定数はお客様のセット基板での環境を考慮していません。従いまして、すべての回路において内容を保証す るものではありません。お客様の実際のシステムでの最適な回路パラメータを発振器メーカーと確認してください。 回路定数などは特定の条件の下で発振器メーカーによって実行されたテストの結果です。 BU94601KV 41 40 R11 R12 XI C8 C9 図Ⅳ.3 発振回路図 水晶振動子 メーカー 大真空 大真空 京セラ 型名 DSX840GA DSX530GA CX-8045G 周波数(MHz) 16.9344 16.9344 16.9344 R11(Ω) 1.0 M 1.0 M 1.0 M R12(Ω) 100 100 220 C8(pF) 5 5 15 C9(pF) 5 5 15 負性抵抗(Ω) -680 -680 -391 励起レベル(uW) 51 69 109 周波数偏差(ppm) 11 8 17 以下に DSX840GA(大真空)と当社評価基板による測定結果の例を示します。 水晶振動子の仕様 水晶振動子の負荷容量(CL):8.0pF CI 値規格 :50Ω以下/Series(標準) 常温偏差 :±50ppm 以内 (at +25℃±3℃)(標準) 温度偏差 :±50ppm 以内/-40℃~+85℃ (Ref.To +25℃)(標準) 発振次数 :基本波 回路条件 -9/47- BU94601KV 負性抵抗 2012/04/03 Application Note Rev.1.2.0 :CI 値規格の 10 倍以上が望ましい 励振レベル :300μW 以下 回路定数 :R11=1.0MΩ、R12=100Ω、C8=5pF、C9=5pF 図Ⅳ.4 発振開始波形 (発振開始時間= 0.8 msec) 発振開始時間〔msec〕 1.6 1.4 1.2 1.0 0.8 0.6 0.4 0.2 0.0 2.4 2.6 2.8 3 3.2 Vdd〔V〕 3.4 3.6 3.8 300 0 -100 -200 -300 -400 -500 -600 -700 -800 -900 -1000 250 励振レベル〔μW〕 負性抵抗〔Ω〕 図Ⅳ.5 印加電圧発振開始時間特性 200 150 100 0 2.4 2.6 2.8 3 3.2 Vdd〔V〕 3.4 3.6 2.4 3.8 図Ⅳ.6 印加電圧-負性抵抗特性 発振周波数変動〔ppm〕 50 図Ⅳ.7 50 40 30 20 10 0 -10 -20 -30 -40 -50 2.4 2.6 2.8 3 3.2 Vdd〔V〕 3.4 2.6 3.6 3.8 図Ⅳ.8 印加電圧―発振周波数偏差特性 -10/47- 2.8 3 3.2 Vdd〔V〕 3.4 印加電圧―励振レベル特性 3.6 3.8 BU94601KV 300 250 励振レベル〔μW〕 負性抵抗〔Ω〕 0 -100 -200 -300 -400 -500 -600 -700 -800 -900 -1000 200 150 100 50 0 0 50 100 150 R12〔Ω〕 200 0 250 図Ⅳ.9 制限抵抗―負性抵抗特性 発振周波数変動〔ppm〕 2012/04/03 Application Note Rev.1.2.0 50 100 150 R12〔Ω〕 200 250 図Ⅳ.10 制限抵抗―励振レベル特性 50 40 30 20 10 0 -10 -20 -30 -40 -50 0 50 100 150 R12〔Ω〕 200 250 0 -200 -400 -600 -800 -1000 -1200 -1400 -1600 -1800 -2000 300 250 Drive Level[uW] Negative Resistance[Ohm] 図Ⅳ.11 制限抵抗―発振周波数偏差特性 150 100 50 0 0 2 4 6 C8=C9[pF] 8 10 12 0 図Ⅳ.12 外付けコンデンサー負性抵抗特性 100 80 60 40 20 0 -20 -40 -60 -80 -100 0 2 4 6 C8=C9[pF] 8 10 図Ⅳ.14 外付けコンデンサ-発振周波数偏差特性 2 4 6 C8=C9[pF] 8 10 12 図Ⅳ.13 外付けコンデンサ-励振レベル特性 負性抵抗〔Ω〕 Frequency Drift[ppm] 200 12 0 -200 -400 -600 -800 -1000 -1200 -1400 -1600 -1800 -2000 0 2 4 6 C8〔pF〕 8 10 12 図Ⅳ.15 外付けコンデンサ-負性抵抗特性(C9=5pF) -11/47- BU94601KV 300 発振周波数変動〔ppm〕 励振レベル〔μW〕 250 200 150 100 50 0 0 2 4 6 C8〔pF〕 8 10 0 2 4 6 C8〔pF〕 8 10 12 図Ⅳ.17 外付けコンデンサ-発振周波数偏差特性(C9=5pF) 0 -200 -400 -600 -800 -1000 -1200 -1400 -1600 -1800 -2000 300 250 励振レベル〔μW〕 負性抵抗〔Ω〕 100 80 60 40 20 0 -20 -40 -60 -80 -100 12 図Ⅳ.16 外付けコンデンサ-励振レベル特性(C9=5pF) 200 150 100 50 0 0 2 4 6 C9〔pF〕 8 10 12 0 図Ⅳ.18 外付けコンデンサ-負性抵抗特性(C8=5pF) 発振周波数変動〔ppm〕 2012/04/03 Application Note Rev.1.2.0 2 4 6 C9〔pF〕 2 4 6 C9〔pF〕 8 10 10 12 図Ⅳ.19 外付けコンデンサ-励振レベル特性(C8=5pF) 100 80 60 40 20 0 -20 -40 -60 -80 -100 0 8 12 図Ⅳ.20 外付けコンデンサ-発振周波数偏差特性(C8=5pF) 発振開始時間は電源電圧印加直後より、発振振幅が 90%に達するまでの時間です。 グラフの負性抵抗は、常温時での測定結果です。負性抵抗は温度を変化させて確認しています。 発振周波数偏差は、水晶振動子の負荷容量(CL)が 8.0pF の時の周波数を基準としています。 発振周波数偏差に水晶振動子の常温偏差、及び温度偏差は含まれていません。 問い合わせ先:(株)大真空 http://www.kds.info/ -12/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 Ⅴ.シーケンス制御 この章では、BU94601KV を利用する際のシーケンス制御技術の一例を挙げます。詳細は各アプリケーションにおいて異な ります。したがって、本章に記述されたシーケンスが最も有効な方法とは限りません。また、完璧な動作を保証するものでないこと をご留意ください。 Ⅴ.1 MODE1 MODE1 は本 LSI の KEY 入力機能を使用して単独で再生、曲送り等の動作が可能なスタンドアロンモードです。 Ⅴ.1.1 パワーオンシーケンス (1)POWER ON (1) POWER ON 電源を投入してください。 (2)PLL発振が安定するまで待機 (2) PLL 発振安定待機 XIN_PLL にクロックを入力し、内部 PLL の発振が安定するまで待機 してください。 (3)システムリセット (4)内部リセットが解除されるまで 待機 (3) システムリセット RESETX 入力を 5us 以上 L 入力したあと、H 入力します。 (4) 内部リセット解除待機 システムリセット解除後、内部リセットが解除されるまで 20ms 以上 待機してください。 (5)動作開始 (5) 動作開始 図Ⅴ.1.1 パワーオンシーケンス -13/47- BU94601KV 2012/04/03 Application Note Rev.1.2.0 Ⅴ.1.2 状態遷移図 動作開始状態からの状態遷移図を示します。 パワーオンシーケンス 1 メモリデバイス認識 2 19 メモリサーチ 17 3 8 10 9 停止 11 18 エラー 4 12 7 20 再生 15 5 13 6 一時停止 デバイス切替 16 14 図Ⅴ.1.2 MODE1 状態遷移図 1.パワーオンシーケンス終了後、メモリデバイス(USB メモリ、SD メモリカード)が挿入されている場合、メモリデバイス認識動作を 自動的に始めます。 2.メモリデバイス認識動作を行い、現在選択されているメモリデバイスに対し、メモリデバイスが本 LSI に対応するものであれば、 自動的にメモリ内ファイルサーチを行います。 3.メモリデバイス内をサーチし、再生可能ファイルを検索します。再生可能ファイルが存在し、「SEL_APLAY」端子に H が入力さ れていると停止状態となります。又は、「STOP」KEY によりサーチ動作を中断し停止状態となります。 4.停止状態から「PLAY/PAUSE」KEY 入力によりメモリデバイス内のソート順先頭ファイルを再生します。 5.再生状態から「PLAY/PAUSE」KEY 入力により一時停止状態となります。 6.一時停止状態から「PLAY/PAUSE」KEY 入力により再生状態となります。 7.再生状態から「STOP」KEY 入力により停止状態となります。 8.停止状態から選択しているメモリデバイスが取り外された時、エラー状態となります。 9.再生状態から再生ファイル選択 KEY 入力により各 KEY 動作に応じたファイルサーチを行う。 10.一時停止状態から再生ファイル選択 KEY 入力により各 KEY 動作に応じたファイルサーチを行う。 11.メモリデバイス認識時以外において、メモリ内ファイルサーチが完了した時、自動的にサーチしたファイルを再生します。 メモリデバイス認識時は「SEL_APLY」端子に L が入力されているときのみ自動的にサーチしたファイルを再生します。 12.停止状態から現在選択されているメモリデバイスについて、もう一方のメモリが存在したとき、「CHNG_DEV」KEY 入力によ りもう一方のメモリデバイスに切り替えます。 13.再生状態から現在選択されているメモリデバイスについて、もう一方のメモリが存在したとき、「CHNG_DEV」KEY 入力によ りもう一方のメモリデバイスに切り替えます。 14.一時停止状態から現在選択されているメモリデバイスについて、もう一方のメモリが存在したとき、「CHNG_DEV」KEY 入力 によりもう一方のメモリデバイスに切り替えます。 -14/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 15.再生状態から選択しているメモリデバイスが取り外された場合、またメモリ通信上のエラーが発生した場合、エラー状態となり ます。 16.一時停止状態から選択しているメモリデバイスが取り外されたとき、エラー状態となります。 17.メモリデバイス内サーチをしている状態で再生可能ファイルが存在しない場合、またメモリデバイスとの通信エラーが最大 5 秒以上継続した場合、またデバイスが取り外された場合、エラー状態となります。 18.「CHNG_DEV」KEY 入力後、自動的にデバイス認識動作を行います。 19.メモリデバイス認識は最大 30 秒の認識動作を行い、対応不可能メモリであればエラー状態となり、サスペンド状態に入れま す。ただし、サスペンド状態に入ると自動的にコネクト動作を開始することがある対応不可能メモリでは、コネクト検出/メモリデ バイス認識動作/サスペンド状態を繰り返す動作となる場合があります。メモリデバイス認識は最大 30 秒の認識動作を行い、 対応不可能メモリであれば、エラー状態となります。 20.エラー状態から現在選択されているメモリデバイスについて、もう一方のメモリが存在したとき、「CHNG_DEV」KEY 入力によ りもう一方のメモリデバイスに切り替えます。デバイスが 1 つしかない場合には「CHNG_DEV」KEY 入力は無効になります。 -15/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 Ⅴ.2 MODE2 MODE2 は内蔵している I2C インターフェースを使用してマスターマイコンから MODE1 の KEY 入力と同様のコマンド操作によ って動作するオートスレーブモードです。 Ⅴ.2.1 MODE2 全体シーケンス MODE2 で本 LSI を使用する場合の全体動作フロー制御例を図Ⅴ.2.1 に示します。 1. パワーオンシーケンス 2. メモリ認識 3. 初期設定 4. 操作コマンド待ち受け・受信 5. 再生開始 6. ステータス読出し 操作コマンド待ち受け・受信 図Ⅴ.2.1 MODE2 全体シーケンス 1. パワーオンシーケンス MODE2 においてもパワーオンシーケンスは MODE1 と変わりません。 PLL 発振安定待機の後、システムリセットを 5us 以上 L 入力し、リセットを解除してください。 2. メモリ認識 パワーオンシーケンス終了後、挿入されているメモリを自動的に認識します。挿入されているメモリは USB メモリを優先的に認 識します。USB デバイスのマウント作業準備のため、USB デバイスの挿入が検出され、USB_INS=H かつ BUSY=L となった時 点で必ず「USB_MNT_READY」コマンドを送信してください。 3. 初期設定 メモリ認識を完了し、再生可能メモリが存在した時、初期設定を行ってください。初期設定には、ボリューム設定、オーディオ出力 形式設定、ID3Tag 解析設定などの設定を行ってください。 4. 操作コマンド待ち受け・受信 初期設定が完了すると、自動的にセット側の操作コマンド待ち受け状態となります。セット側の操作コマンド受信動作について 制御してください。 また、ファイル情報、ID3Tag 情報について取得してください。 -16/47- BU94601KV 2012/04/03 Application Note Rev.1.2.0 5. 再生開始 6. ステータス読出し・操作コマンド待ち受け・受信 再生がスタートされると、再生時間情報などのステータスを読み出してください。 また、セット操作コマンドの待ち受けを自動的に行います。 Ⅴ.2.2 パワーオンシーケンス パワーオンシーケンスは MODE1 と同様に制御してください。(Ⅴ.1.1 参照) Ⅴ.2.3 メモリ認識 Ⅴ.2.3.1 メモリ認識動作フロー メモリ認識の動作フローを図Ⅴ.2.2 に示します。 1. メモリ認識開始 2. メモリ挿入状態検出 USBメモリが存在 メモリデバイス無し SDメモリのみ存在 5. SDメモリマウント 3. USBメモリマウント マウント失敗 マウント成功 マウント成功 マウント失敗 4. USBメモリ 再生可能ファイル検索 再生可能 ファイル存在 エラー状態 6. SDメモリ 再生可能ファイル検索 再生可能ファイル無し 再生可能ファイル無し 再生可能ファイル有り 7. メモリ認識終了 図Ⅴ.2.2 メモリ認識動作フロー Ⅴ.2.3.2 メモリ認識開始 パワーオンシーケンスが正常に終了すると、自動的にメモリ認識動作を開始します。 Ⅴ.2.3.3 メモリ挿入状態検出 メモリデバイスの挿入状態のみを検出します。 メモリデバイスの挿入検出は、USB メモリ、SD メモリ両方について行います。SD メモリも存在しない場合、エラー状態となりま す。 最初にUSBデバイスが挿入されているかを確認します。(約 3 秒間、この間SDの挿入も確認) USBデバイスのマウント準備を行うため、USBデバイスの挿入が検出され USB_INS=H かつ BUSY=L となった時点で必ず 「USB_MNT_READY」コマンドを送信してください。 USBデバイスの挿入が確認できないと約3秒後にSDが存在すればSDメモリのマウント動作へ移行します。 -17/47- BU94601KV 「USB_MNT_READY」コマンド 1st Byte USB_MNT_READY 0x5D 2nd Byte 0x0B Application Note Rev.1.2.0 3rd Byte 0x01 2012/04/03 4th Byte 0x00 Ⅴ.2.3.4 USB メモリマウント USB メモリの挿入を検出すると、接続可能な USB メモリかどうかの認識を行います。 USB メモリ認識は最大 30 秒間の認識動作を行い 30 秒以上経過するとエラー状態となります。エラー状態になるまでの時間は 「SET_TOUT_M」コマンドによって変更可能です。 マウントに失敗すると、エラー状態となり、コマンド待ち受け状態となります。このとき、コントロルソフトウェアにより、自動的に SD メモリへの「CHNG_DEV」コマンドを送信し、SD メモリ側の認識動作に移ることも可能です。 Ⅴ.2.3.5 USB メモリ再生可能ファイル検索 USB メモリマウントに成功すると、自動的に USB メモリ内の再生可能ファイル検索を行います。再生可能ファイルは、 「SEL_MP3」端子の設定に従います。 再生可能ファイルが存在しない場合、エラー状態となり、コマンド待ち受け状態となします。このとき、コントロールソフトウェアに より、自動的に SD メモリへの「CHNG_DEV」コマンドを送信し、SD メモリ側の認識動作に移ることも可能です。 「CHNG_DEV」コマンド CHNG_DEV 1st Byte 0x50 2nd Byte 0x08 Ⅴ.2.3.6 SD メモリマウント SD メモリの挿入を検出すると、接続可能な SD メモリかどうかの認識を行います。 SD メモリ認識は USB メモリ同様、最大 30 秒間の認識動作を行い 30 秒以上経過するとエラー状態となります。エラー状態にな るまでの時間は「SET_TOUT_M」コマンドによって変更可能です。 マウントに失敗すると、エラー状態となり、コマンド待ち受け状態となります。 Ⅴ.2.3.7 SD メモリ再生可能ファイル検索 SD メモリマウントに成功すると、自動的に SD メモリ内の再生可能ファイル検索を行います。再生可能ファイルは、「SEL_MP3」 端子の設定に従います。 再生可能ファイルが存在しない場合、エラー状態となり、コマンド待ち受け状態となします。 Ⅴ.2.3.8 メモリ認識終了 USB メモリ、SD メモリ内のどちらかに再生可能ファイルが存在するとメモリ認識動作は終了し、コマンド待ち受け状態となりま す。このとき、コントロールソフトウェアにより「GET_VENDOR」コマンドを送信してベンダーコード及びプロダクトIDを COMAREA に格納し、COMAREA の読み出しを行うことによりコードデータを取得することが可能です。 「GET_VENDOR」コマンド GET_VENDOR 1st Byte 0x5F 2nd Byte 0x16 COMAREA 読み出しコマンド 1st Byte 2nd Byte 0x5E OFFSET 0x20:ベンダーコード下位バイト 0x21:ベンダーコード上位バイト 0x22:プロダクト ID 下位バイト READ_BUFF OFFSET 1Byte Read 0x23:プロダクト ID 上位バイト -18/47- BU94601KV 2012/04/03 Application Note Rev.1.2.0 Ⅴ.2.3.9 メモリ認識動作ステータス メモリ認識動作時のステータスは、MODE2 ステータスレジスタマップ「STATUS2」によって読み出すことができます。 メモリ認識動作時のステータスタイミングチャートを図Ⅴ.2.3 に、メモリ切断時のステータスタイミングチャートを図Ⅴ.2.4 に示しま す。 CHNG_DEVコマンド送信 USBINS MDEVUSB USBFILE USBメモリ内 MP3ファイル再生 SDINS MDEVSD SDFILE USBメモリ 挿入検出 USBメモリ USB内 マウント 再生可能ファイル 検索完了 SDメモリ 挿入検出 SDメモリ マウント SD内 再生可能ファイル 検索完了 図Ⅴ.2.3 USB メモリ、SD メモリ挿入時のメモリ認識動作ステータスタイミングチャート CHNG_DEV コマンド送信 USBINS MDEVUSB USBFILE SDINS MDEVSD SDFILE SDメモリ SDメモリ内 マウント 再生可能ファイル 検索完了 USBメモリ 切断検出 図Ⅴ.2.3 USB メモリ切断時ステータスタイミングチャート -19/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 Ⅴ.2.4 USB メモリ LUN 選択 本機種は、複数の LUN を有する USB メモリが接続された場合、USB メモリの LUN を選択してマウントすることが可能です。 LUN を指定しない場合(初期値)は LUN の AUTO 検出モードとなり、USB メモリ接続後に最初に検出された LUN を自動的にマ ウントします。 Ⅴ.2.4.1 マウントする LUN の指定 「SET_LUN」コマンドを使用して LUN を指定すると、指定した LUN をマウントするようになります。すでに USB メモリが接続さ れ、別の LUN がマウントされていた場合は、指定した LUN に再マウントします。 存在しない LUN を指定した場合は、マウント ERROR となります。 USB が抜かれた場合、もしくは「CHNG_DEV」コマンドにより SD カードを選択した場合、指定した LUN は保持されたままとな ります。 「SET_LUN」コマンド SET_LUN 1st Byte 0x5D 2nd Byte 0x0D 3rd Byte 指定LUN 4th Byte 0x00 Ⅴ.2.4.2 LUN 指定の読み出し 「READ_LUN」コマンドを使用することで、USB メモリが接続されている場合は、現在マウントしている LUN を読み出すことが 出来ます。 「READ_LUN」コマンド READ_LUN 1st Byte 0x5F 2nd Byte 0x17 1Byte Read Ⅴ.2.4.3 接続された USB メモリが有している LUN 総数の読み出し 「READ_LUN_NUM」コマンドを使用することで、接続された USB メモリが有している LUN の総数を読み出すことが出来ます。 「READ_LUN_NUM」コマンド READ_LUN_NUM 1st Byte 0x5F 2nd Byte 0x18 1Byte Read Ⅴ.2.4.4 指定 LUN のリセット 「RESET_LUN」コマンドを使用すると、指定した LUN をリセットし、AUTO 検出モードに戻します。USB メモリ接続後に最初に 検出された LUN を自動的にマウントするようになります。 USB メモリが抜かれた場合、指定 LUN は保持されていますので、「RESET_LUN」コマンドを送信し、指定されていた LUN をリ セットしてください。 「RESET_LUN」コマンド RESET_LUN 1st Byte 0x5D 2nd Byte 0x0E -20/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 Ⅴ.2.4.5 LUN 切り替え再生までのフロー 複数の LUN を有する USB 接続検出から LUN 切り替え、音楽ファイル再生までのフローを図 2.4.5 に示します。 1. USBメモリコネクト検出 USBINS = H 2.USBメモリマウント&ファイル検索作業開始 SEARCH = H 3.USBメモリマウント&ファイル検索作業終了 SEARCH = L 3・初期値はLUN AUTOモードのため、 最初に検出されたLUNがマウントされます。 4・READ_LUN_NUMコマンドを送信し、 接続されたUSBメモリのLUN総数を取得します。 4.READ_LUN_NUMコマンド送信 5・READ_LUNコマンドを送信し、 現在マウントされているLUNを取得します。 5.READ_LUNコマンド送信 6.SET_LUNコマンド送信 6・SET_LUNコマンドを送信し、 目的のLUNを指定します。 この時、内部ではUSBメモリが抜かれたことと同意になるた め、ERROR = Hとなりますが、無視してください。 7.USBメモリマウント&ファイル検索作業開始 SEARCH = H 7・指定したLUNのマウント作業を開始します。 SEARCH = Hになるまでの時間に制限を設けてください。 制限を越えた場合はUSBメモリディスコネクトERRORとして ください。 8.USBメモリマウント&ファイル検索作業終了 SEARCH = L 8・指定したLUNへの移行完了 9. USBメモリ再生開始 図 2.4.5 LUN 移行までのフロー Ⅴ.2.4.6 LUN 切り替えにおいての注意事項 ・USB メモリが抜かれた場合、もしくは「CHNG_DEV」コマンドにより SD カードを選択した場合、指定した LUN は保持されたま まとなります。USB メモリが抜かれた場合は、「RESET_LUN」コマンドを送信し、指定されていた LUN をリセットしてください。 ・USB メモリが接続されている時、別の LUN へ移行するために「SET_LUN」コマンドを送信すると、LUN のマウント作業が始ま り、SERACH が H になりますが、この直前に、内部では USB メモリが抜かれたことと同意になるため、ERROR フラグが H にな ります。この ERROR フラグは SEARCH が H になると同時に L に落ちます。「SET_LUN」コマンドによる LUN 移行時の ERROR は無視し、SEARCH が H になるのを待ってください。「SET_LUN」コマンド送信と共に USB メモリが抜かれたことを想定して、 「SET_LUN」コマンドを送信後の SEARCH が H になるまでの時間には制限時間を設けてください。制限を越えた場合は、USB メ モリディスコネクト ERROR としてください。 -21/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 Ⅴ.2.5 初期設定 メモリ認識を完了すると、MP3 ファイルを再生する前に、TOC(Table Of Contents:メモリ内総フォルダ数、総ファイル数)の検索、 ボリュームやオーディオ出力などの初期設定を行います。初期設定の動作フローを図Ⅴ.2.5 に示します。 1.TOC、 初期設定開始 2. TOC解析 3. ボリューム設定 4. オーディオ出力設定 5. Tag読み込み設定 6. 12MHzクロック出力設定 7. TOC、 初期設定終了 図Ⅴ.2.5 初期設定の動作フロー 上記のような初期設定が必要であれば以下の項目について設定をしてください。 -22/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 Ⅴ.2.5.1 TOC 解析 選択しているメモリ内の総フォルダ数、総ファイル数の検索を行います。「SEL_TOC」コマンドを送信してください。 TOC 解析が必要でなければ、省略しても構いません。TOC 解析時の動作フローを図Ⅴ.2.5.1 に示します。 1.TOC解析開始 2. 「SEL_TOC」コマンド送信 3. 「STATUS1」読み出し 4. 「SEARCH」=0 N Y 5. TOC解析結果読み出し 6.TOC解析終了 図Ⅴ.2.5.1 TOC 解析動作フロー SEL_TOC 1st Byte 0x57 2nd Byte 0x01 1st Byte 0x5E 2nd Byte 0x00 1Byte Read 2nd Byte 0x10 6 Byte Read 「SEL_TOC」コマンド READ_BUFF 「STATUS1」読み出しコマンド READ_BUFF 1st Byte 0x5E USB メモリ選択時 TOC 解析結果読み出し READ_BUFF 1st Byte 0x5E 2nd Byte 0x16 6 Byte Read SD メモリ選択時 TOC 解析結果読み出し 「SEL_TOC」コマンドを送信した場合、本 LSI は選択されているメモリデバイス内の総フォルダ数、総ファイル数を検索します。 検索中は、「STATUS1:SEARCH」レジスタに出力されます。このため、「SEL_TOC」コマンド送信後に総フォルダ数、総ファイル 数を読み出す前に「STATUS:SEARCH」レジスタを読み出し、解析終了状態であることを確認してください。 TOC 解析終了後、選択しているメモリデバイスに対して解析結果を読み出してください。 「SEL_TOC」ステータスが"ON"の時、デバイスの挿抜及び「CHNG_DEV」コマンドが発生すると、最初に必ずフォルダ、ファイル 総数の取得動作を行います。また再生中でも「SEL_TOC」を"OFF"から"ON"の変化により再生を中断し、総数の取得動作を行 います。 -23/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 Ⅴ.2.5.2 ボリューム設定 「SEL_VOL」端子によりボリュームが本 LSI において可変である場合、ボリュームの初期値を設定してください。 ボリュームは本 LSI では 0x00~0x31 までの 32 段階で設定可能です。「SET_VOL」コマンドの 2 バイト目に設定してください。 ボリューム設定コマンド 1st Byte SET_VOL 0x53 2nd Byte 設定値 Ⅴ.2.5.3 オーディオ出力設定 「SEL_DOUT」端子によりディジタルオーディオ出力が選択されている場合、「SET_DOUT」コマンドにより、ディジタルオーディ オ出力形式(I2S 出力、SPDIF 出力)の選択ができます。ディジタルオーディオ出力選択時の初期値は I2S 32fs 形式出力となりま す。 ディジタルオーディオ出力形式選択コマンド 1st Byte 2nd Byte SET_DOUT 0x51 0x20 3rd Byte 4th Byte 出力形式選択 「SEL_DOUT」端子によりライン出力が選択されている場合、「SET_EQ」コマンドによりライン出力にイコライザ処理をほどこす ことができます。ディジタルオーディオ出力形式では無効です。 イコライザ出力選択コマンド 1st Byte SET_EQ 0x52 2nd Byte 選択 Ⅴ.2.5.4 ID3Tag 読み込み設定 MP3 ファイルに付加された ID3Tag 情報解析を行うかどうかの選択を行います。 初期値は ID3Tag 情報解析を行いません。 ID3Tag 情報解析設定コマンド SEL_ID3 1st Byte 0x56 2nd Byte 選択 Ⅴ.2.5.5 12MHz クロック出力設定 「CLK12MOUT」端子から 12MHz クロック出力を行う必要がある場合、設定してください。 初期値は 12MHz クロック出力を行いません。 12MHz クロック出力設定コマンド 1st Byte 2nd Byte SEL_12MOUT 0x58 0x01 -24/47- BU94601KV 2012/04/03 Application Note Rev.1.2.0 Ⅴ.2.6 操作コマンド待ち受け・受信 メモリデバイスを認識し、初期設定まで完了すると、操作コマンドの待ち受け可能状態となります。 構成されたセット側からの操作入力をマスターマイコンが受信し、本 LSI にその操作コマンドを送信してください。 本 LSI では、この状態においてマスターマイコンコマンドにより以下のような様々なセット操作性を実現することができます。 ①現在選択しているフォルダについてすべてのフォルダ名、ファイル名を取得、表示を行い、再生曲を明示的に選択できるよう にする。 ②選曲のみを行い、選曲した MP3 ファイルについてファイル名や ID3Tag 情報を表示し停止する、その後セットの「PLAY」コマ ンドにより再生を開始する。 ③選曲された MP3 ファイルについてファイル名や ID3Tag 情報を表示すると同時に再生を行う。 ①、②は、選曲のみのコマンド(FF、FB、+10、-10 など)を用いて MP3 ファイルを走査しステータスを読み出すことによってファイ ル名等の情報を取り出すことによって実現し、③では、選曲&PLAY コマンド(FF&PLAY、FB&PLAY、+10&PLAY、-10&PLAY な どを用いて、再生を開始すると同時にステータスにより、ファイル情報を取り出すことによって実現できます。 これらはどの方法でも動作フローとしてはほぼ同じため、本章では、②の例に対し説明を行います。 ②の場合の再生開始直前までの動作フローを図Ⅴ.2.6 に示します。 「MCHNG / ID3READY」ステータス読み出しコマンド 1. 操作コマンド待ち受け・受信中 1st Byte 0x5E 2nd Byte 0x02 1Byte Read フォルダ名取得コマンド READ_FOLDER 1st Byte _NAME 0x5F 2nd Byte 0x08 最大64Byte Read 2nd Byte 0x07 最大64Byte Read READ_BUFF 2. 「MCHNG」=1 N Y ファイル名取得コマンド 3. フォルダ名・ファイル名取得 4. 「ID3READY」=1 Y 5. ID3Tag情報取得 READ_FILE_ NAME 1st Byte 0x5F N ID3Tag 取得コマンド READ_ID3_ TITLE/ ARTIST/ ALBUM 1st Byte 0x5F 2nd Byte 最大64Byte Read 0x04/ 0x05/ 0x06 6.操作コマンド待ち受け完了 図Ⅴ.2.6 再生開始前までの動作フロー 選曲コマンドを本 LSI が受信すると、選曲コマンドに対応した MP3 ファイル検索を行います。MP3 ファイル検索を開始すると 「STATUS1:SEARCH = 1」に設定します。 MP3 ファイル検索が完了すると「STATUS3:MCHNG = 1」にします。 ステータスレジスタ「MCHNG」は本 LSI の「MCHNG」端子にそのまま出力さています。このため、「MCHNG」端子はマスターマイ コンの割り込みポートに接続し、立ち上がりエッジにて取り込まれることを推奨します。 -25/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 参考 ID3Tag 取得時のステータスについて 本 LSI が ID3Tag 解析を行っているときのステータスタイミングチャートを下図に示します。 SEARCH PDEVUSB ID3解析中 MCHNG ID3READY メモリサーチ開始 ID3Tag解析終了 図 ID3Tag 解析タイミングチャート 図のタイミングチャートは USB メモリ選択時の停止中に FF や FB の選曲コマンド送信時の波形です。コマンド送信後、本 LSI はメモリデバイス内サーチを行いその後、ID3Tag 解析を行います。 ID3Tag 解析終了後「MCHNG」=H となり、ID3Tag が存在する場合「ID3READY」=H、存在しない場合「ID3READY」=L となり ます。このとき、ID3Tag 解析時間が長時間(「SEARCH」=H かつ「PDEVUSB」=H)かかる場合「ABORT」コマンドにより ID3Tag 解析を強制的に終了させることができます。ID3Tag 解析を強制終了させた場合、図のタイミングチャートにて「ID3READY」=L と なります。 -26/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 Ⅴ.2.7 再生開始 操作コマンドを受信し、選曲された MP3 ファイルのファイル名や ID3Tag 情報を取得すると再生を開始させます。 図Ⅴ.2.7 に再生開始時動作フローを示します。 1. 再生開始 2. 「 PLAY」 コマンド送信 4. 再生開始時処理終了 図Ⅴ.2.7 再生開始時動作フロー Ⅴ.2.7.1 「PLAY」コマンド送信 再生開始状態において「PLAY」コマンドを送信します。 「PLAY」コマンド PLAY 1st Byte 0x50 2nd Byte 0x01 Ⅴ.2.8 ステータス読み出し、操作コマンド待ち受け・受信 再生中は、再生時間情報やエラー状態についてのステータス読み出しを行ってください。再生時間情報の読み出しは、約 100ms の間隔で行ってください。 また、再生中は操作コマンドの待ち受けを行っていますが、コマンド送信前には必ず、「STATUS1:SEARCH」ステータスの読み 出しを行い、サーチ停止状態であることを確認してからコマンドを送信してください。 再生時間情報読み出しコマンド READ_BUFF 1st Byte 0x5E 2nd Byte 0x0E 2 Byte Read 「STATUS1:SEARCH」ステータス読み出しコマンド -27/47- BU94601KV 2012/04/03 Application Note Rev.1.2.0 Ⅴ.2.9 曲中レジューム再生方法 本 LSI で は 、 「 READ_RESUME_INFO 」 ス テ ー タ ス 読 み 出 し コ マ ン ド に よ っ て 取 得 さ れ た レ ジ ュ ー ム 情 報 を 「SET_RESUME_INFO」コマンドによって本 LSI に送信することにより、「READ_RESUME_INFO」ステータスに書き込まれた MP3 ファイルについて自動的にメモリデバイス内を検索し、「READ_RESUME_INFO」ステータスが読み出された時間から再生 をスタートします。また、該当する時間で停止(STOP)することも可能です。 レジューム用データ取得時動作フローを図Ⅴ.2.9 に示します。 レジューム再生時の動作フローを図Ⅴ.2.9.1 に示します。 1. 再生中 2. レジューム用データ取得 3. 初期設定用データ取得 4. 再生終了処理 図Ⅴ.2.9 レジューム用データ取得時動作フロー Ⅴ.2.9.1 レジューム用データ取得 ステータス「MDEVUSB、MDEVSD」ステータスを確認し、どちらのデバイスを選択しているかを取得します。 再生中もしくはサーチ後、レジューム用ファイルデータを取得します。 「READ_RESUME_INFO」コマンド READ_RESUME_ 1st Byte 2nd Byte INFO 0x5F 0x09 42 Byte Read レジューム用ファイルデータを取得すると、次に現在のボリューム設定やオーディオ出力などの設定を読み出し、レジューム再生 時の初期設定用データを取得します。 初期設定用データ読み出しコマンド READ_BUFF 1st Byte 0x5E 2nd Byte 0x03 6 Byte Read 初期設定用データ読み出しコマンドによって以下のステータスを取得できます。 初期設定用データ 1st Byte 2nd Byte 3rd Byte 4th Byte 5th Byte 6th Byte リピート/ ランダム設 定 12MHz 出力設定 ボリューム 設定 EQ 設定 ディジタル オーディオ 出力設定1 ディジタル オーディオ 出力設定2 LUN 選択を行っている場合は、「READ_LUN」コマンドを使用して再生中ファイルの LUN を取得してください。 「READ_LUN」コマンド READ_LUN 1st Byte 0x5F 2nd Byte 0x17 1Byte Read 各ステータス出力についての詳細はデータシートを参照してください。 -28/47- BU94601KV 2012/04/03 Application Note Rev.1.2.0 1. パワーオンシーケンス 2. メモリデバイスチェック 3. TOC、初期設定完了 4. レジューム再生用初期設定 5. 「SET_RESUME_INFO」送信 6. 「RES_ERR」=0 N Y 7. 「MCHNG」=1 N Y 8. レジューム再生開始 9. フォルダ名、ファイル名、 ID3Tag情報取得 10. REPEAT、RANDOM設定 11. 操作コマンド待ち受け 図Ⅴ.2.9.1 レジューム再生動作フロー -29/47- エラー停止 BU94601KV Application Note Rev.1.2.0 2012/04/03 Ⅴ.2.9.2 パワーオンシーケンス、メモリ認識 電源起動時から TOC、初期設定までの動作はレジューム再生実行時においても、通常再生と全く同様のフローにて行います。 V.2.1 から V.2.5 までを参照してください。 Ⅴ.2.9.3 メモリデバイスチェック 挿入、認識されているメモリデバイスがレジュームデータ取得時と同じか確認します。 パワーオンシーケンス後、ステータスを読み出し、デバイスが同じか確認します。 「MDEVUSB」ステータス、「MDEVSD」ステータスを確認 1st Byte 0x5E READ_BUFF 2nd Byte 0x01 1 Byte Read USB メモリの LUN 選択を行っている場合は、「READ_LUN」コマンドを使用して現在の LUN を取得してください。 「READ_LUN」コマンド READ_LUN 1st Byte 0x5F 2nd Byte 0x17 1Byte Read メモリデバイスが異なる方であれば「CHMG_DEV」コマンドを送信しデバイス切替 1st Byte 2nd Byte CHNG_DEV 0x50 0x08 異なる LUN の場合は「SET_LUN」コマンドで LUN を選択。 「SET_LUN」コマンド SET_LUN 1st Byte 0x5D 2nd Byte 0x0D 3rd Byte 指定LUN 4th Byte 0x00 Ⅴ.2.9.4 TOC、初期設定 TOC、初期設定動作については、通常再生と同様のフローにて行います。 Ⅴ.2.9.5 レジューム再生用初期設定 レジューム再生時は TOC、初期設定が完了した状態で、レジューム再生を行うボリューム設定、オーディオ出力形式などのレジ ューム用初期設定を、設定してください。レジューム用初期設定は、Ⅴ.2.8.1 章で読み出したステータスを用います。 このとき、初期設定は以下の設定のみについて行い、REPEAT、RANDOM 再生設定については実行しないでください。 「SET_RESUME_INFO」コマンド送信前に設定するとレジューム動作が正常に行われない場合があります。 (1)ボリューム設定 SET_VOL 1st Byte 0x53 2nd Byte 設定値 (2)EQ 設定(オーディオ出力がライン出力選択時のみ) 1st Byte 2nd Byte SET_EQ 0x52 選択 (3)ディジタルオーディオ出力設定(オーディオ出力がディジタルオーディオ出力選択時のみ) 1st Byte 2nd Byte 3rd Byte 4th Byte SET_DOUT 出力形式選択 0x51 0x20 Ⅴ.2.9.6 「SET_RESUME_INFO」コマンド送信、レジューム再生開始 「 READ_RESUME_INFO 」 ス テ ー タ ス 読 み 出 し コ マ ン ド に て 取 得 し た 42Byte の レ ジ ュ ー ム 用 デ ー タ を 6 Byte ず つ 「SET_RESUME_INFO」コマンドにより送信してください。 「SET_RESUME_INFO」コマンド -30/47- BU94601KV SET_RESUME _INFOX 1st Byte 0x51 2nd Byte 0x4X Application Note Rev.1.2.0 2012/04/03 6 Byte Write 「SET_RESUME_INFO」コマンドは 42Byte のデータを転送するため、6Byte/コマンドの合計 7 回のコマンドになります。 「SET_RESUME_INFO」コマンドを 42Byte 分送信すると、「SET_RESUME_INFO7」コマンドの送信完了後、自動的にレジュ ーム用ファイルを検索し、再生を開始します。 「SET_RESUME_INFO7」コマンドの変わりに「SET_RESUME_INFO8」コマンドを使用すると、該当する時間で停止(STOP) します。この場合、TAG 情報、ファイル名の取得は可能ですが、再生時間の取得は出来ません。(00 分 00 秒となる。) 「SET_RESUME_INFO」コマンドを送信すると、自動的にレジューム用ファイルを検索しますが、メモリデバイスの交換や、未 挿入になり、レジューム再生用ファイルが検索できなかった場合、「STAUS5:RES_ERR」ステータスにエラー発生を出力します。 このため、「SET_RESUME_INFO」コマンド送信時は「STATUS5:RES_ERR」ステータスを読み出し、エラーの確認を行ってくだ さい。「SET_RESUME_INFO7」コマンドを使用した場合にエラーが発生した場合は、メモリデバイス先頭曲の再生を自動的に行 います。「SET_RESUME_INFO8」コマンドを使用した場合にエラーが発生した場合は、メモリデバイス先頭で STOP になります。 LUN 選択を使用した場合にレジュームエラーが発生した場合は、選択された LUN の先頭からの再生もしくは STOP となります。 レ ジ ュ ー ム エ ラ ー 発 生 時 に 、 デ フ ォ ル ト の LUN の 先 頭 か ら 再 生 を 開 始 ( も し く は STOP ) し た い 場 合 は 、 常 に 「SET_RESUME_INFO8」コマンドを使用することにより、レジュームエラーが発生しても、その LUN の先頭で STOP するようにし、 「RESET_LUN」コマンドを使用して LUN をリセットしてから再生を開始するようにして下さい。 レジュームエラーは以下の場合により発生します。 (1)ファイル番号、フォルダ番号の不一致 (2)フォルダ階層の不一致 (3)FAT エントリインデックスの不一致 レジューム用ファイルを検索すると、次に「STATUS3:MCHNG」ステータスまたは「MCHNG」端子に MP3 ファイル再生開始ス テータスを出力し、本 LSI は自動的に「READ_RESUME_INFO」ステータス読み出し時間より曲中再生を開始します。 Ⅴ.2.9.7 フォルダ名、ファイル名、ID3Tag 情報取得 レジューム再生を開始すると、フォルダ名、ファイル名、ID3Tag 情報を取得してください。各情報の取得はⅤ.2.5 章を参照してく ださい。 Ⅴ.2.9.8 REPEAT、RANDOM 設定 レジュームされる前の状態を再現するため、ボリュームやオーディオ出力についての設定はⅤ.2.8.5 章にて設定行いましたが、 REPEAT、RANDOM 再生設定についてはこの段階で設定してください。 「SET_RESUME_INFO」コマンド送信前に設定するとレジューム動作が正常に行われない場合があります。 REPEAT、RANDOM 設定コマンド 1st Byte 2nd Byte REPRAND 0x54 選択 Ⅴ.2.9.9 操作コマンド待ち受け この段階で、レジューム再生が既に開始されており、これ以降の動作フローについては通常の動作と同様です。 READ_BUFF 1st Byte 0x5E 2nd Byte 0x00 1 Byte Read -31/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 Ⅴ.2.9.10 曲頭 RESUME_STOP を行う場合の動作について 本機種では、停止中(各曲の先頭:再生時間 0 分 00 秒)に READ_RESUME_INFO コマンドを使用して取得した RESUME_INFO を 用いて、RESUME_STOP(SET_RESUME_INFO08 を使用)を行った場合、対象曲が MP3 の場合のみ、RESUME_STOP とならずに、 RESUME_PLAY となります。 停止中に取得した RESUME_INFO を使用して RESUME_STOP 動作を行う場合は、RESUME_INFO の内容を一部変更して設定 することにより、停止中(MP3 各曲の先頭:再生時間 0 分 00 秒)の RESUME_INFO であっても、正常に RESUME_STOP 動作を行う ことが可能になります。 表Ⅴ.2.9.10 に RESUME_INFO の内容を示します。 Offset 値 (各 2byte) +00 +02 +04 +06 +08 +0A +0C +0E +10 +12 +14 +16 +18 +1A +1C~+26 +28 表Ⅴ.2.9.10 RESUME_INFO データ内訳 名称 内容 DIR_LEVEL ディレクトリ階層数 FOLDERNUM フォルダ番号 INDEX ファイル番号 NFILES フォルダ内ファイル数 NDIRS フォルダ内サブフォルダ数 CRC CRC (ディレクトリスタックの内容で計算) CHAIN_H ファイル先頭クラスタ番号(32bit) CHAIN_L SIZE_H ファイルサイズ(32bit) SIZE_L CODEC_ID CODEC_ID (0:MP3, 1:WMA, 2:AAC) OFFSET_H ファイルオフセット(32bit) OFFSET_L TIME 再生時間 (Sec/Min[BCD]) DTIME_0~5 詳細再生時間[0..5] MODE 使用 MODE (0:MODE2, 1:MODE3) RESUME_INFO のオフセット値+16、+18 はファイル再生位置のオフセットを示しています。従って、この値が"0x00_00_00_00"の 場 合 は 曲 の 先 頭 で RESUME_INFO を取 得 し た こ と を 意 味 し ま す 。 し た が っ て、 こ の ま ま こ の RESUME_INFO を 使 用 し て RESUME_STOP 動作を行うと、RESUME 開始位置は曲の先頭であるとし、RESUME_PLAY 動作を行います。ここで、ファイルオフセ ットの値を"0x00_FF_00_00"(SET_RESUME_INFO4 コマンドの 6byte 目を"0x00"→"0xFF")に変更して設定を行うことにより、正常 に曲の先頭で RESUME_STOP 動作います。 ただし、RESUME_INFO の内容を書き換えているために、たとえ RESUME が成功していても RES_ERR フラグ(Status5,bit0)が立 ちます。(例外として、対象のファイルが MP3 かつ、サイズが 0 の場合は立たない)。この場合、真の RES _ERR との区別がつかな くなるため、RESUME 成否の判別には RES_ERR フラグを使用せずに、SET_RESUME_INFO コマンド送信に使用した RESUME_INFO と、コマンド送信後に再度取得した RESUME_INFO とのデータ比較を行うことにより判別してください。データが一致した場合は RESUME 成功、一致しなかった場合は失敗となります。RESUME_STOP 成否判別フローチャートを図Ⅴ.2.9.10 に示します。 再生中に取得した RESUME_INFO(ファイルオフセットが"0x00_00_00_00"以外)を使用して RESUME_STOP を行う場合は、Ⅴ.2.9 に従い、取得した RESUME_INFO を書き換えず、そのままのデータを用いて SET_RESUME_INFO を送信してください。 RESUME 成否の判別は RES_ERR フラグを使用して下さい。SET_RESUME_INFO コマンド送信に使用した REUSME_INFO と、コマンド送信後 に再取得した RESUME_INFO との比較を行うことにより RESUME 成否の判別を行うことも可能ですが、RESUME_STOP にて停止し ている時点で再取得した REUSME_INFO データには Offset 値+0C 以降のデータが更新されていない(再生を開始するまで ALL“0” となる)ため、比較はレジューム情報の CRC 部分まで(Offset+00 から+0B)で行ってください。 -32/47- BU94601KV 2012/04/03 Application Note Rev.1.2.0 REUSME_STOP動作開始 N RESUME_INFO内 ファイルオフセット==0 ? Y RESUME_INFOを保持 RESUME_INFOを(A)とする ファイルオフセットを 00 FF 00 00 に変更し、 RESUME_INFOを(B)とする RESUME_INFO(B)にて RESUME_STOPコマンド送信 RESUME_STOPコマンド送信 Search ? Search ? H H L L RESUME_INFO取得 RES_ERR ? L 保持していた RESUME_INFO(A)と比較 H N RESUME_INFO 一致 ? Y 従来の通常RESUME失敗のフローへ 従来の通常RESUME成功のフローへ 図Ⅴ.2.9.10 RESUME_STOP 成否判別フローチャート -33/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 Ⅴ.2.10 早送り再生、巻き戻し再生 本 LSI は早送り再生、巻き戻し再生に対応します。 図Ⅴ.2.10 に早送り(巻き戻し)再生の動作フローを示します。 1.通常再生中 2.再生速度設定 3.アッテネーション設定 4.早送り( 巻き戻し) 再生開始 5.早送り( 巻き戻し) 再生中 6.早送り( 巻き戻し) 再生終了 7.通常再生中 図Ⅴ.2.10 早送り再生動作フロー Ⅴ.2.10.1 再生速度設定 「SET_RPM」コマンドで早送り、巻き戻し再生時の再生時間(M)、スキップ時間(N)を設定します。再生時間は音を出す時間、ス キップ時間はサーチでスキップさせる時間です。早送り、巻き戻し再生は、一周期を{再生時間(M)+スキップ時間(N)+誤差 (O)}として、この周期を繰り返します。誤差は最小デコード単位と再生時間の間の丸め込み誤差とスキップ時間をサーチさせる 実時間によります。誤差はファイル毎、メモリ内構成毎により異なります。 速度は、{再生時間(M)+スキップ時間(N)+誤差(O)}/{再生時間(M)+誤差(O)}と計算できますが誤差(スキップ時間の実サ ーチ時間)はメモリ種類、ファイル毎、メモリ内構成毎により異なるため本 LSI では再生速度を規定することが出来ません。 「SET_RPM」コマンド SET_RPM 1st Byte 0x5B 2nd Byte 0x00 4 Byte Write 設定は再生時間が M[15:0]= [4th byte , 3rd byte]、スキップ時間が N[15:0]= [6th byte , 5th byte]となります。単位は msec です。 初期値は再生時間が 300ms=M[15:0]= [4th byte=x01,3rd byte=x2C]、スキップ時間が 2100ms=N[15:0]= [6th byte=x08,5th byte=x34]となります。設定値に 0x0 を入れた時初期値が設定されます。 再生時間は 300ms 以上で、スキップ時間は(再生時間×16)以下で設定を行って下さい。 -34/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 Ⅴ.2.10.2 アッテネーションレベル設定 「SET_RPM」コマンドで早送り、巻き戻し再生中のアッテネーションレベルを設定します。 レベルは、-6dB X[3rd byte]となります。設定は、0x00 から 0x10 まで指定できます。初期値は 0x02=-12dB が設定されます。 0x10 の設定で MUTE と同等となります。 「SET_RPM」コマンド SET_RPM 1st Byte 0x5B 2nd Byte 0x01 4 Byte Write 設定は 3rd byte 目で行います。それ以降は 0x0 を書き込んでください。 Ⅴ.2.10.3 早送り(巻き戻し)再生開始 再生中に早送り(巻き戻し)再生開始コマンド「FFP_ON」(「FBP_ON」)を送信します。 コマンド送信後早送り(巻き戻し)再生を開始します。 「FFP_ON」コマンド FFP_ON 1st Byte 0x55 2nd Byte 0x01 3rd Byte 0x02 4th Byte 0x00 1st Byte 0x55 2nd Byte 0x02 3rd Byte 0x02 4th Byte 0x00 「FBP_ON」コマンド FBP_ON Ⅴ.2.10.4 早送り(巻き戻し)再生終了 早送り(巻き戻し)再生中に早送り(巻き戻し)再生終了コマンド「FFP_OFF」(「FBP_OFF」)を送信します。 コマンド送信後早送り(巻き戻し)再生を終了し通常速度再生に戻ります。 「FFP_OFF」コマンド FFP_OFF 1st Byte 0x55 2nd Byte 0x01 3rd Byte 0x03 4th Byte 0x00 1st Byte 0x55 2nd Byte 0x02 3rd Byte 0x03 4th Byte 0x00 「FBP_OFF」コマンド FBP_OFF -35/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 Ⅴ.3 MODE3 MODE3 は、I2C シリアルインターフェースを使用して、本 LSI がマスターマイコンに、メモリデバイス内の MP3 ファイル位置を 送信し、その情報を元にマスターマイコンが、メモリデバイス内の MP3 ファイル位置を本 LSI に直接指定し再生を行うマニュアル スレーブモードです。 Ⅴ.3.1 MODE3 全体シーケンス MODE3 で本 LSI を使用する場合の全体動作フロー制御図を図Ⅴ.3.1 に示します。 1. パワーオンシーケンス 2. メモリ認識 3.初期設定 4. フォルダ内情報取得 (電源投入時はROOT指定) 5. 再生ファイル指定 6. Tag情報取得 7. 再生開始 8. ステータス読み出し 図Ⅴ.3.1 MODE3 全体動作フロー 1. パワーオンシーケンス MODE3 においてもパワーオンシーケンスは MODE1 と同様です。 発振安定待機の後、システムリセットを 5us 以上 L 入力し、リセットを解除してください。 2. メモリ認識 MODE3 においてもメモリ認識シーケンスは MODE2 と同様です。Ⅴ.2.3 章を参照してください。 3. 初期設定 MODE2 同様、ボリューム、EQ などについて初期設定をしてください。 4. フォルダ内情報取得 指定したフォルダ内に存在するフォルダ名、ファイル名などのフォルダ、ファイル情報を取得します。フォルダ、ファイル情報には、 そのメモリデバイスにつき一つずつ割り当てられるアクセスデータがあります。MODE3 ではマスターマイコンがこのアクセスデー タを本 LSI に送信し、MP3 ファイル再生や、フォルダ解析の指定を行います。電源投入時はルートフォルダを指定してください。 5. 再生 MP3 ファイル指定 取得したフォルダ内情報から、MP3 ファイルアクセスデータを指定します。 6. Tag 情報取得 -36/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 指定した MP3 ファイルについて Tag 情報を取得します。 7. 再生開始 再生準備が完了すると「PLAY_DIRECT」コマンドにより指定された MP3 ファイルを再生します。 8. ステータス読み出し MP3 ファイル再生を開始すると、約 100ms 間隔で再生時間情報ステータスを読み出し、再生時間を取得してください。 以下、それぞれのフローについて説明します。 Ⅴ.3.2 パワーオンシーケンス、メモリ認識 パワーオンシーケンスは、MODE3 においても MODE1、MODE2 ともに同様です。MODE1 のパワーオンシーケンスについて の章を参照してください。 メモリ認識は、MODE3 においても MODE2 と同様です。Ⅴ.2.3 章を参照してください。 Ⅴ.3.3 初期設定 MODE3 において、初期設定は MODE2 の初期設定と「SEL_ID3」コマンド以外については同様です。MODE3 では「SEL_ID3」 コマンドは無効のため、MODE3 では、「GET_ID3」コマンドを用いて ID3Tag 情報を取得します。 -37/47- BU94601KV 2012/04/03 Application Note Rev.1.2.0 Ⅴ.3.4 フォルダ内情報取得 フォルダ内に存在するフォルダ情報、ファイル情報を取得します。フォルダ情報、ファイル情報は、メモリデバイス内に書き込ま れたフォルダ、ファイルへのアクセスデータやフォルダ名、ファイル名が含まれます。フォルダ情報、ファイル情報の詳細について は、データシートを参照してください。 図Ⅴ.3.2 にフォルダ情報取得動作フローについて示します。 1. フォルダ内情報取得開始 2. 解析フォルダ指定 3. フォルダ解析動作開始 4. 解析情報の存在? N Y 5. フォルダ情報、ファイル情報 読み出し 6. 解析結果取得完了? N Y 7. フォルダ内情報取得完了 図Ⅴ.3.2 フォルダ情報取得動作フロー 1. フォルダ内情報取得開始 初期設定完了後、または新規にフォルダ内解析を行う場合、この時点からフォルダ内情報解析を行います。 2. 解析フォルダ指定 解析を行うフォルダを指定します。指定するフォルダはアクセスデータの 6Byte を引数に与えてください。電源投入時は必ずル ートフォルダを指定し、アクセスデータは"0"を指定してください。 3. フォルダ解析動作開始 指定したフォルダについてフォルダ情報、ファイル情報を取得開始します。 4. 解析情報の存在 フォルダ内解析を開始すると、本 LSI はマスターマイコンにフォルダ解析データの読み出しが可能であることを示します。 5. フォルダ情報、ファイル情報読み出し 本 LSI によるフォルダ内解析情報の読み出し準備が完了するとフォルダ情報、ファイル情報を読み出してください。 6. 解析結果取得完了 指定したフォルダに対しフォルダ情報、ファイル情報をすべて読み出したことを確認してください。 7. フォルダ内情報取得完了 解析を指定したフォルダのすべてのフォルダ、ファイル情報を取得するとフォルダ内情報取得完了となります。 以下のそれぞれのフローについて説明します。 -38/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 Ⅴ.3.4.1 解析フォルダ指定 解析するフォルダのアクセスデータを引数として、「SET_DIRECT」コマンドを送信し、解析フォルダの指定を行います。 電源投入時はルートフォルダを指定してください。ルートフォルダのアクセスデータは"0"となります。 「SET_DIRECT」コマンド SET_DIRECT 1st Byte 0x59 2nd Byte 0x00 3th-8th Byte アクセスデータ Ⅴ.3.4.2 フォルダ解析動作開始 指定されたフォルダについてフォルダ情報、ファイル情報の解析をスタートします。 フォルダ情報、ファイル情報解析ではあらかじめフォルダ数、ファイル数を取得します。「GET_NUMBER」コマンドを送信し、 「READ_NUMBER」コマンドにより取得してください。 「GET_NUMBER」コマンド 1st Byte 0x50 2nd Byte 0x0A 「READ_NUMBER」コマンド 1st Byte READ_NUMBER 0x5F 2nd Byte 0x0A GET_NUMBER 4 Byte Read フォルダ数、ファイル数を取得した後、「GET_DIRECT」コマンドにより解析をスタートしてください。 「GET_DIRECT」コマンド GET_DIRECT 1st Byte 0x50 2nd Byte 0x09 Ⅴ.3.4.3 解析情報の存在 フォルダ内解析を開始すると、本 LSI が解析結果を LSI 内部バッファに情報を書き込みます。このとき、フォルダ情報であれば、 「STATUS4:FOLINF」、ファイル情報であれば、「STATUS4:FILEINF」にステータス出力します。「STATUS4:FOLINF」、 「STATUS4:FILEINF」を読み出し、フォルダ、ファイル情報の出力準備ができていることを確認してください。 ステータス読み出しコマンド READ_BUFF 1st Byte 0x5E 2nd Byte 0x03 1 Byte Read フォルダ、ファイルが存在する状態で解析をスタートし「STATUS4」にて「ANAEND=1」となっているが「FOLINF」=「FILEINF」=0 となる場合は、Ⅴ.3.4.2 フォルダ解析動作開始で行った「GET_DIRECT」を再度行ってください。 Ⅴ.3.4.4 フォルダ情報、ファイル情報読み出し 本 LSI のフォルダ情報、ファイル情報の出力準備が可能であると、フォルダ情報、ファイル情報を本 LSI のバッファ領域が取り出 してください。フォルダ情報、ファイル情報は共に 76 Byte あります。 フォルダ情報読み出しコマンド READ_FOLDER_ INFO 1st Byte 0x5F 2nd Byte 0x0D 76 Byte Read 2nd Byte 0x0E 76 Byte Read ファイル情報読み出しコマンド READ_FILE_ INFO 1st Byte 0x5F Ⅴ.3.4.5 解析結果取得完了 指定したフォルダ内のフォルダ情報、ファイル情報の解析結果をすべてマスターマイコンが読み出すと、「STATUS4:ANAEND」 に解析が完了したことを示します。このため、「GET_DIRECT」コマンドによりフォルダ内解析を行った場合、「STATUS4: -39/47- BU94601KV 2012/04/03 Application Note Rev.1.2.0 ANAEND」により解析が終了したことを確認してください。 ステータス読み出しコマンド READ_BUFF 1st Byte 0x5E 2nd Byte 0x03 1 Byte Read フォルダ内の解析結果は、一旦、本 LSI の内部バッファに書き込まれます。このため、内部バッファが FULL になると 「READ_FOLDER_INFO」、「READ_FILE_INFO」により内部バッファを読み出されるまで、本 LSI が内部バッファに書き込むこ とができません。内部バッファ FULL 状態は、「STATUS4:FOLFULL」、「STATUS4:FILEFULL」ステータスにて確認することが できます。 フォルダ内解析の終了は以下の 2 点が条件となります。 (1) 「STATUS4:ANAEND」 = 1 (2) 「STATUS4:FOLINF」 = 「STATUS4:FILEINF」 = 0 上記の条件が成立するまで、フォルダ情報、ファイル情報を読み出してください。 また、フォルダ内解析実行において、MP3 ファイルの書き込まれ方によっては解析時間が長くかかるものがあります。このよう な場合、解析途中でも中断を行う「ABORT」コマンドがあります。「ABORT」コマンド送信後は、フォルダ解析取得前にて停止状態 となります。 「ABORT」コマンド ABORT 1st Byte 0x50 2nd Byte 0x0C Ⅴ.3.5 再生 MP3 ファイル指定 フ ォ ル ダ 内 解 析 が 完 了 す る と 、 そ の フ ァ イ ル 情 報 に 基 づ き 、 マ ス タ ー マ イ コ ン が 再 生 す る MP3 フ ァ イ ル を 決 定 し 、 「SET_DIRECT」コマンドにて再生する MP3 ファイルのアクセスデータを送信します。 Ⅴ.3.6 Tag 情報取得 ID3Tag 情報を取得する必要がある場合、「GET_ID3」コマンドを送信します。必要でない場合は送信する必要はありません。 図Ⅴ.3.3 に Tag 情報取得動作フローを示します。 1. ID3Tag情報取得 2. 「GET_ID3」コマンド送信 3. ID3Tag情報取得完了 Y 4. ID3Tag情報読み出し 5. ID3Tag情報取得完了 図Ⅴ.3.3 Tag 情報取得フロー -40/47- N BU94601KV Application Note Rev.1.2.0 2012/04/03 Ⅴ.3.6.1 「GET_ID3」コマンド送信 ID3Tag 情報を取得する必要がある場合、「SET_DIRECT」コマンドにて MP3 ファイルを指定した状態にて、「GET_ID3」コマン ドを送信します。 「GET_ID3」コマンド GET_ID3 Ⅴ.3.6.2 1st Byte 0x50 2nd Byte 0x0B ID3Tag 情報取得完了 ID3Tag 取得完了時のステータスタイミングは参考(ID3Tag 取得時のステータスについて)と同様です。 「MCHNG」=H で終了条件となるので、そのときの「ID3READY」ステータスを確認して ID3Tag を取得してください。 Ⅴ.3.6.3 ID3Tag 情報読み出し ID3Tag 情 報 取 得 完 了 ス テ ー タ ス を 確 認 す る と 、 ID3Tag 情 報 を 本 LSI か ら 読 み 出 し て く だ さ い 。 読 み 出 し は 「READ_ID3_TITLE」、「READ_ID3_ARTIST」、「READ_ID3_ALBUM」にて行います。 「READ_ID3_TITLE」コマンド READ_ID3_ TITLE 1st Byte 0x5F 2nd Byte 0x04 64Byte Read 「READ_ID3_ARTIST」コマンド READ_ID3_ 1st Byte ARTIST 0x5F 2nd Byte 0x05 64 Byte Read 2nd Byte 0x06 64 Byte Read 「READ_ID3_ALBUM」コマンド READ_ID3_ ALBUM 1st Byte 0x5F ID3Tag 解析を「ABORT」コマンドにより中断し、再度 ID3Tag 解析を実行する場合は一度「STOP」コマンドを送信後、「GET_ID3」 コマンドを再度送信してください。また、解析終了後に異なる MP3 ファイルを選択する場合にも一旦「STOP」コマンドを送信してく ださい。 Ⅴ.3.7 再生開始 再生する MP3 ファイルを「SET_DIRECT」にて指定し、「PLAY_DIRECT」コマンドを送信すると再生を開始します。 「PLAY_DIRECT」コマンド PLAY_DIRECT 1st Byte 0x50 2nd Byte 0x0D 再生を停止する場合は、「STOP」コマンドを送信してください。 「STOP」コマンド STOP 1st Byte 0x50 2nd Byte 0x03 Ⅴ.3.8 ステータス読み出し 再生中は、MODE2 と同様再生時間やエラー状態についてのステータス読み出しを行ってください。再生時間情報の読み出し は、約 100ms の間隔で行ってください。 MP3 ファイルの再生終了は「MCHNG」端子または「STATUS3:MCHNG」ステータスが"0"になります。 MP3 ファイルの再生を終了すると、再度、同様の手順にて MP3 ファイルのアクセスデータを指定し、再生を行います。 -41/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 参考 取得するフォルダ数、ファイル数を指定する場合 「SET_NUMBER」コマンドにて解析を行うフォルダ数、ファイル数を指定することが可能です。 「 SET_DIRECT 」 コ マ ン ドにて 取 得 し たフ ォ ル ダ の ア ク セ ス デ ー タ を指 定 し 、 「 GET_DIRECT 」 コ マ ン ド を 送 信 す る 前 に 「SET_NUMBER」コマンドにて取得するフォルダ数、ファイル数を指定してください。 「SET_NUMBER」コマンド 1st Byte SET_NUMBER 0x51 2nd Byte 3th-6th Byte 0x21 フォルダ数[2Byte]+ファイル数[2Byte] 参考 指定したフォルダに含まれるフォルダ数、ファイル数を取得する場合 「SET_DIRECT」コマンドにてフォルダ数、ファイル数を取得したいフォルダのアクセスデータを指定し、「GET_NUMBER」コマ ンドを送信してください。 「GET_NUMBER」コマンド GET_NUMBER 1st Byte 0x50 2nd Byte 0x0A 「GET_NUMBER」コマンドも「GET_DIRECT」コマンド同様、「STATUS4:ANAEND」ステータスにより解析が終了していることを 確認してから「READ_NUMBER」コマンドによりフォルダ数、ファイル数を読み出してください。 「READ_NUMBER」コマンド 1st Byte READ_NUMBER 0x5F 2nd Byte 0x0A 4 Byte Read -42/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 Ⅴ.4 File Read 機能 USB メモリデバイスに対して、指定されたファイルを読み出すことが可能です。これにより、ホストマイコン側 SW のアップデ ートを実現することが可能です。指定できるファイルは、ルートフォルダに存在する、8.3 形式のファイル名をもつファイルとなりま す。 本章では、File Read 機能を実現する動作フローについて説明します。 Ⅴ.4.1 File Read 動作フロー 図Ⅴ.5.1 に File Read 機能の動作フローについて示します。 1. 停止状態 2. ファイル名指定 3. ファイルサイズ取得 4. 指定ファイル存在? N Y 5. データ読み出し 全データ取得完了? N Y 6. 終了処理 7. リセット 図Ⅴ.4.1 File Read 動作フロー Ⅴ.4.1.1 停止状態 File Read 機能は必ず停止状態から動作させてください。 Ⅴ.5.1.2 ファイル名指定 SET_UPLOAD_FILE1、SET_UPLOAD_FILE2 コマンドを使用して読み出すファイルを指定してください。 指定可能なファイルは、ルートフォルダに存在し、8.3 形式のファイル名のファイルになります。 ファイル指定時にワイルドカードは使用できません。 「SET_UPLOAD_FILE1」コマンド SET_UPLOAD_FILE1 1st Byte 0x51 2nd Byte 0x51 ファイル名[0:5] 6 Byte Write -43/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 「SET_UPLOAD_FILE2」コマンド 1st Byte 2nd Byte 0x51 0x52 SET_UPLOAD_FILE2 ファイル名[6:7] 拡張子[0:2] 6 Byte Write ファイル名が 8byte に満たない場合は、0x20 で埋めてください。 拡張子が 3byte に満たない場合は、0x00 で埋めてください。 ファイル名比較の際には、末尾の 0x00 以降は比較の対応としません。 (例) ファイル名:“UPDATE.BIN”の場合 SET_UPLOAD_FILE1 : [0x51、0x51、0x55、0x50、0x44、0x41、0x54、0x45] SET_UPLOAD_FILE2 : [0x51、0x52、0x20、0x20、0x42、0x49、0x4E、0x00] Ⅴ.4.1.3 ファイルサイズ取得 指定したファイルのサイズを取得します。 「READ_FILE_SIZE」コマンド 1st Byte READ_FILE_SIZE 0x5F 2nd Byte 0x11 4 Byte Read ファイルサイズを 4byte で出力します。LittleEndian で取得してください。 ファイルが存在しない場合は、ファイルサイズに[0xFF、0xFF、0xFF、0xFF]を出力します。 Ⅴ.4.1.4 指定ファイル存在 指定したファイルのサイズを取得し、ファイル存在しない場合はファイル読み出しを中止し、終了処理、システムリセットを行い、 ファイル読み出しを終了してください。 Ⅴ.4.1.5 データ読み出し ファイルサイズ分のデータを READ_FILE_DATA コマンドにより読み出してください。 「READ_FILE_DATA」コマンド READ_FILE_DATA 1st Byte 0x5F 2nd Byte 0x12 96 Byte Read ファイルデータの読み出しは、96byte 単位読み出しで行ってください。各データの先頭 4byte はファイルオフセットとなり、実体は 以降の 92byte 分のデータとなります。このため、ファイルオフセットは 92 ごとにカウントアップします。 (例) 1 回目読み出し [0x00、0x00、0x00、0x00、92byte データ] 2 回目読み出し [0x5C、0x00、0x00、0x00、92byte データ] ・・・ 13419 回目読み出し [0x74、0cD6、0x12、0x00、92byte データ] 途中で読み出しを中断した場合は、SET_UPLOAD_FILE コマンドから実行してください。 ファイル終端を越えてアップロードした場合に読み出されるデータは不定です。ファイルサイズ分以外のデータは無視してくださ い。 -44/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 Ⅴ.4.1.6 終了処理 指定したファイルのデータ読み出しを完了すると、「UPLOAD_END」コマンドにより File Read 機能を終了させてください。 「UPLOAD_END」コマンド UPLOAD_END 1st Byte 0x51 2nd Byte 0x53 Ⅴ.4.1.7 リセット File Read を終了するときは必ずシステムリセットを行ってください。 -45/47- BU94601KV 2012/04/03 Application Note Rev.1.2.0 Ⅵ.改定履歴 Revision No. Date Revised by Target 0.01 Target 0.02 Target 0.03 Target 0.04 Target 0.05 Target 0.08 Target 0.10 Target 0.11 1.0 1.1 1.2.0 2010/05/10 2010/08/26 2010/08/27 2010/09/01 2010/09/28 2010/10/28 2010/11/22 2011/02/09 2011/02/21 2011/06/13 2012/04/03 O.O. H.K. H.K. H.K. H.K. M.H M.H H.K. H.F S.Y M.H Revising points 新規作成 LUN 選択、RESUME について記載追加 コマンドアドレス修正 誤記修正 端子配置図誤記修正 誤記修正 メモリ認識動作説明更新 曲頭レジュームを行う場合の動作について記載追加 Rev.1.0 リリース 誤記修正(Ⅴ.1.1 パワーオンシーケンス) 接続応用回路例修正 -46/47- BU94601KV Application Note Rev.1.2.0 2012/04/03 注意事項 1. このドキュメントに記載されている内容は、このドキュメント発行時点のものであり、予告なく変更することがあります。 2. このドキュメントに記載されている情報は、正確を期すために慎重に作成したものですが、誤りがないことを保証するもので はありません。万一、このドキュメントに記載されている情報の誤りに起因する損害がお客様に生じた場合におきましても、弊 社は一切その責任を負いません。 4. このドキュメントに記載された技術情報の使用に関連し発生した第三者の特許権、著作権その他の知的財産権の侵害等に 関し、弊社は一切その責任を負いません。弊社はこのドキュメントに基づき弊社または第三者の特許権、著作権その他の知 的財産権を何ら許諾するものではありません。 5. このドキュメントの全部または一部を、弊社の事前承諾を得ずに第三者へ提供、転載または複製することはご遠慮ください。 -47/47-