タグ別アーカイブ: LPC-LINK2

LPC4370 UART2

デバッグ等で使用できるようにLPC4370のUART機能を使用してみました。USBシリアル変換に以下のモジュールを使用しました。
超小型USBシリアル・モジュール【MPL2303SA】http://www.marutsu.co.jp/pc/i/137791/
periph_uart_rbサンプルプログラムでループバックの確認をしました。
LPC-LINK2が1.27㎜ピッチコネクタなので以下基板を使用しました。
10ピン2.54ピッチ(2×5)←→1.27ピッチ(1×10)変換基板 (4個入)
http://akizukidenshi.com/catalog/g/gP-07380/
他に1.27mmピッチボードソケット 2列80PとI型ヘッダーソケット 2列x5(10pin)
http://eleshop.jp/shop/g/gE2P134/
http://eleshop.jp/shop/g/gDA9364/
を使用して配線できるようにしました。
Jpeg
USBのCDCとUART2が使用できるようになりました。

LPC-LINKⅡ AS AN LPC4370 EVALUATION BOARD

HSADCを体験したくLPC4370の評価ボードとしてLPC-LINK2を購入しました。
http://akizukidenshi.com/catalog/g/gM-06706/
Jpeg
LabTool 、デバッガ用のLPC-LINK2が既にあるので今回3枚目のLPC-LINK2となります。同じボードとしては一番多く保有するボードとなりました。
開発環境で若干問題がありました。LPC-LINK2をCMSISM-DAPとして使用するとSPIFIのフラッシュに書き込みができませんでした。CMSISM-DAPはあきらめRedLinkを試すことにしました。新しいLPCXpressoは、デフォルトのデバッガがCMSISM-DAPなので、ちょっと古いものを使用しました。
LPCXpresso v7.1.1_125がPCに入っているのでこれで試したところ問題なくデバッグができるようになりました。
LPCXpresso v7.1.1_125でサクッとLED点滅の「periph_blinky」サンプルが動いたので、動作確認でUSBでシリアル通信が使用できるように「usbd_rom_cdc_vcom」サンプルを試しました。
CDCのドライバは、」以下のURLからダウンロードしました。
https://www.lpcware.com/content/nxpfile/lpcxpresso-link2-usb-driver-package
lpc_driver_setup.exe
この実行ファイルをダウンロードして実行します。
LPC USB VCom Portとして認識されました。
2016-05-16
無事、Tera termでループバック通信ができました。
2016-05-16-1
それにしてもLPC4370は、コアが3つもあるのですね。現状Cortex-M4だけを使用しています。いずれトリプルコアも使ってみたいですがまずはデュアルですね。

LPC4330-Xplorer i2s LPCOpen sample

NXGのサンプルに引き続きLPCOpenのi2sを使用してみます。 
Jpeg
LPCOpenは以下のページからダウンロードできます。 
https://www.lpcware.com/content/nxpfile/lpcopen-software-development-platform-lpc43xx-packages 
 
LPCXpresso v7.9.2_493 IDEにサンプルをインポートします。この中の periph_i2sプロジェクトを使用します。 
このサンプルには、ポーリングと割り込みとDMAを使ったサンプルが含まれています。 
ただし、これを使用するには、UARTでコマンドを送る必要があります。幸いにもXBeeをつなげておいたのですんなりとコマンド送信ができました。 
ビルドも難なく通り、書き込みも難なく終わりデバッグできますが、ギターを鳴らしても音が聞こえません。 
Decimator volumeが大きくADC入力が減衰しすぎのようです。NXGのサンプルと同じ値にしました 
UDA1380_REG_DECVOL_DEFAULT_VALUEの0xE4E4を減衰でなく増幅側の0x0F0Fに変更しました。 

音が聞こえるようになりました。音が大きすぎるのでこれも
NXGのサンプルで変更したようにしました 
UDA1380_REG_MSTRVOL_DEFAULT_VALUEの0x0000を0x8080に変更しました。 

その他の設定は、
48kHzで16bitデータ長になっています。16bitなので送受信時にFIFOから1読み書きで行っています。 

ポーリングは、転送が追い付いていないのか、ノイズだらけで使い物になりません。
 
割り込みは、リングバッファを使うとADとDAがかみ合わないのかノイズがでるのでNXGと同じようにバッファをつかず、直接転送すれば使用できます。 
DMAは、ノイズありませんが、ADCからDACへ直接転送している設定なので入力を処理して出力に出すことができません。メモリに転送する方法を探ろうと思います。
当面、割り込みを改造して遊んでみようと思います。

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は、割り込みを使用した取り込みです。今後、入力信号を処理して出力してみたいと思います。

LabTool

オシロスコープが欲しいのですが、高額なので躊躇していました。しかし、信号が見えないといろいろ不便なので、簡易オシロを導入しました。
LabTool Bundle EA-XPR-202
http://akizukidenshi.com/catalog/g/gM-07790/
Jpeg

LabToolは、LPC-LINK2にアドオンするボードです。以下の機能を装備しています。
•ロジック・アナライザー:11ch
•オシロスコープ:2ch
•デジタル・シグナル・ジェネレータ:11ch
•アナログ・シグナル・ジェネレータ:2ch

簡単な紹介が以下にあります。
http://www.nxp-lpc.com/lpc_boards/lpc-link2/
表示は、Windowsで行います。ソフトウェアは、メーカのページからダウンロードできます。
http://www.embeddedartists.com/products/app/labtool.php

アナログ入力のプローブは、付属していないので合わせて2本購入しました。
オシロスコープ・プローブ(100MHz)
http://akizukidenshi.com/catalog/g/gM-00240/
Jpeg

インストールしてUSBをつなげば、すぐに使えます。機能も少ないので戸惑うことはないと思います。
JpegJpeg

RasPiA+の音声出力の確認に使いましたが、適当にトリガ設定しても波形が取れました。
これで今後、信号が出ている出ていないで悩むことはなくなると思います。

© 2014 Spineedge Corporation.