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のサンプルプログラムを参考にしました。)
テストベンチに情報を表示する手段ができました。
TI C2000 Piccolo LaunchPadのステッピングモーターです。今回は台形制御に続き、固定小数点演算ライブラリIQmathを使用してS字カーブを追加しました。
S字カーブで加速、減速できるようにしました。
今回は、速度の計算に2次関数があるので固定小数点演算ライブラリIQmathを使用した効果があったのではないでしょうか。
TI C2000 Piccolo LaunchPadのステッピングモーターにボタンを追加しました。
このボタンの1個を使用してMS1とMS2を制御しました。
2つの入力でMicrostep Resolutionを設定できます。
MS1 MS2 Resolution
L L Full step (2 phase)
H L Half step
L H Quarter step
H H Eighth step
MS1とMS2はプルアップされているので 無結線だとEighth stepです。HHの設定は、低速でもとてもスムースですが、LLの設定では、カクカク感が半端ないです。各設定での違いが分かった面白いです。
© 2014 Spineedge Corporation.
投稿ナビゲーション
組込み技術向上のため、エンベデッドに関する話題中心のブログです。