DelfinoでDMAを使用したADCを行ってみました。
adc_soc_continuous_dma_cpu01サンプルを利用しています。
1024個取り込みまは、DMAで行い、取り込み終わるとSCIを介してXBeeでPCに送ります。
XBeeでは、通信が早すぎて取りこぼすので、USBシリアルで送る方が良いと思います。
12Bitモードで14MSPSまで上げられるので高速なADCに使用できそうです。
http://www.ti.com/lit/ds/symlink/tms320f28374s.pdf
以下にサンプルプログラムがあります。
https://github.com/jendo1969/Delfino/tree/master/adc_soc_continuous_dma_cpu01
I2Cを使用できるようにしました。I2CのLCDで試しました。
I2C接続小型キャラクタLCDモジュール 8x2行
http://akizukidenshi.com/catalog/g/gP-06669/
I2C接続小型LCDモジュール(8x2行)ピッチ変換キット
http://akizukidenshi.com/catalog/g/gK-06795/
controlSUITEのF28377S のi2c_eepromサンプルプログラムを改造しました。
サンプルはGPIO32と33を使用していますがLaunchPadは、4GPIO42と43を使用します。
GPIO_SetupPinMux(42, GPIO_MUX_CPU1, 6); // Configure GPIO42 for SDAA operation
GPIO_SetupPinMux(43, GPIO_MUX_CPU1, 6); // Configure GPIO43 for SCLA operation
この変更だけでは、I2C通信できませんでした。この前に GpioCtrlRegs.GPBPUD.bit.GPIO42 = 0; // Enable pull-up for GPIO42 (SDAA)
GpioCtrlRegs.GPBPUD.bit.GPIO43 = 0; // Enable pull-up for GPIO43 (SCLA)
と
GpioCtrlRegs.GPBQSEL1.bit.GPIO42 = 3; // Asynch input GPIO42 (SDAA)
GpioCtrlRegs.GPBQSEL1.bit.GPIO43 = 3; // Asynch input GPIO43 (SCLA)
のプルアップと入力のサンプリング同期の設定を追加しました。(PICCOLOのサンプルプログラムを参考にしました。)
テストベンチに情報を表示する手段ができました。
© 2014 Spineedge Corporation.
組込み技術向上のため、エンベデッドに関する話題中心のブログです。