リアルタイムハードウェアMP3エンコーダ USB専用プロセッサを持つ USBデバイスコントローラの設計 ■ USB2.0ハイスピードへの展開を考慮し,インターフェースにUTMIを採用 目的 携帯機器で高音質なMP3の レコーディングを行いたい ■ USBプロトコル制御に特化したプロセッサを設計 ■ ハッシュ関数を使用した高速なリクエスト判別 組み込み向けの小さなCPUでMP3 エンコーディングをソフトウェアで行うと・・・ 現時点ではサブバンドフィルタ、 非線形量子化の部分をハードウェア化 ■ デバイスコントローラと共にFS用UTMIを設計 フルスピード(12MHz)で正常動作を確認 ハッシュ関数を使用したリクエスト判別 リアルタイム化が困難であったり、 大きな電力が必要 PCM CODE 8 Bytes サブバンド フィルタ MDCT Data Packet Hybrid Filter Bank PID DATA CRC5 USBプロトコルの切り分け Transfer Transaction End Point Address Packet CRC SYNC Stuff bit NRZI Device Controller "Phy-link" UTMI 4 Bytes 低電力で高速にリアルタイムエンコード 可能なハードウェアの設計 非線形 量子化 ハフマン エンコード ビット列 生成 USBアナライザによる動作確認 MP3 CODE Key Iteration Loop 12 bits Sample X Quantize Step 回路 MP3エンコードフロー q address Xf Hash Function サブバンドフィルタは PCMデータを32の周波数帯 (サブバンド)に分解 Yf Add 量子化には以下に示す 複雑な計算が必要 Yf Table carry Xe Ye address Value - Send Data Status - Subroutine Address Zf Table 積和演算器の利用による高速低電力演算、 COSテーブルの周期性による計算量の半減 carry Shift Add Zf XY_state Ze この演算を整数演算のみを用いて 高速&コンパクトに実現 ブロック図 in mem Float to Int MultiAdder c mem 量子化 tmp mem YS_state cos mem MultiAdder out mem サブバンドフィルタ デモ PC デモンストレーション ハードウェア構成 PCI_BUS FPGA Board PCI I/F IN Buffer Memory 順次ハードウェア化を行っていく予定 OUT Buffer Memory Input Table Memory In Buffer Filter Bank MDCT filter & quantize 現在設計中 I-BUS D-BUS MPU FPGA : ALTERA Stratix EP1S10F780C7ES PCI I/F : 研究室所有IP ※ PC : Pentium200MHz, Memory 64MB kernel : Linux 2.4.7-10 設計完了 Instruction Memory Out Buffer RAM Output ※ PCIバスインターフェイス 早坂晴康、清水尚彦 EDSFair2003 FPGA/PLD Design Conference IPフリーマーケット Huffman Encoder Quantize Buffer Huffman Table Quantizer 構成予定図 設計済分回路規模見積り total LE (PCI込み) 3297 メモリ (PCI込み) 141824 bit 今後設計予定 実装結果 Device Total logic elements Total memory bits USBゲームパッドとして実装した場合の ファームウェアステップ数 APEX20KE EP20K160EFC484-3 2,163 / 6,400 33,848 / 81,920 Original USB-IF "Iヨヨヨ" + Original RISC Processor "SNX" APEX20KE EP20K160EFC484-3 1,645 / 6,400 32,768 / 81,920 142 248 "UTMI互換IF"+"Phy-link"
© Copyright 2024 Paperzz