STM32でDCC/DDCを作ろう、からのいってらっしゃい.(立花風) INDEXページへ
今日は家庭の事情で外出でしたので進捗は少々です.
35回、37回、と関連しますが、LEBE変換速度の問題が解決しました.
STM32F205で3480word(32bit)をLEBE変換するのに要する計算時間がどれだけかかるか? 試行した順に.
1)for文で配列扱い 4.04mSec 不合格
2)for文で配列扱い マシン語REV採用 2.84mSec ギリギリ
3)while文でptr扱い マシン語REV採用 1.53mSec 合格
3番目が今夜の成果であります.
codeは for文を使わず、配列を使わずです.その替わりにwhileとptr++を使います.for廃止効果と配列廃止効果のどっちが強かったのかは不明です.
while(bufi++<size) { *pdst32half++ = __REV(*psrc32half++); }
LEBE変換以外の転送動作はDMAにやらせますので、CPU占有率を圧迫することはありません.
--------
DDC開発のPCMルートは8割方終わった気がします.
残る作業は、
・44.1k系/48k系 clock切り替え
・DAC出力にグリッチがたまに出る原因究明
・乱れたcodeの修整
これらを済ませたらPCMルート終了時点での設計レポートを発行します.
かしこ
0 件のコメント:
コメントを投稿