タグ別アーカイブ: i2s

LPC4330-Xplorer i2s DELAY

LPCOpenの periph_i2sプロジェクトを改造して簡単なDELAYを作成します。 
Jpeg
サンプリングレートからi2sの通信速度を設定できるのでこちらを利用することにしました。 
 サンプリングレートは、48kHzも必要なく、処理時間を確保したいので32kHzとします。16bitデータ長のステレオ設定としました。 
データは、割り込みで取得します。とりあえず、0.5秒間のDELAYを実現するために32bit符号なし整数のバッファを作成します。バッファ長は、32000の半分なので16000個、64kBとなります。リングバッファで使い、今回のデータと16000回のデータを足し合わせて出力しました。 
今回、これだけです。まずは、足し合わせはできることが確認できました。もっと複雑な処理に挑戦したいと思います。

LPC4330-Xplorer i2s NXG sample

LPC4330-Xplorer
http://akizukidenshi.com/catalog/g/gM-06457/
LPC4330-Xplorerには、オーディオ・コーデック(UDA1380)が搭載されています。
これを使用し、i2sのサンプルでギターの入力をヘッドホンで聞いてみようと思います。
Jpeg
サンプルは、NXGの物とLPCOpenの物を使用します。
まずは、NXGのサンプルで試してみます。
NXGのサンプルは以下のページからダウンロードできます。
http://shop.ngxtechnologies.com/product_info.php?cPath=21_37&products_id=104

LPCXpresso v7.9.2_493 IDEにサンプルをインポートします。この中の LPC4330_Xplorer_Audioプロジェクトを使用します。
ビルドも難なく通ります。MCU Settingsだけ変更が必要です。Default flash driverを
LPC18_43_SPIFI_4MB_64KB.cfx
に変更してください。

デバッガには、LPC-LINK2を使用しました。現在LPC-LINK2はCMSIS-DAPとして使用しています。
書き込みも難なく終わりデバッグできます。
ギターとヘッドホンをつないで聞いてみました。スルーしているだけなのヘッドホンからギターの音が聞こえました。ちょっと音がでかいです。
デフォルトでマスターボリュームが最大(0x00)なので左右とも0x80を設定しました。
UDA_Reg_write((UDA1380_REG)UDA1380_REG_MSTRVOL, volume);
レジスタに設定するだけでボリュームがコントロールできます。
その他の設定は、44.1kHzで32bitデータ長になっています。32bitなので送受信時にFIFOからLRの両方の取り出しと書き込みを2回行っています。
今回変更したのは、これだけです。i2sは、割り込みを使用した取り込みです。今後、入力信号を処理して出力してみたいと思います。

© 2014 Spineedge Corporation.