問題タブ [ti-dsp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
119 参照

codec - 再。16 ビット データ転送用に構成された pcm3002

5416 DSK でループバック プログラム (データを取り込み、処理せずに送信) を実行しようとしています。オンボードの PCM3002 コーデックを使用しており、16 ビット データ転送用に構成されています。また、McBSP2 を 16 ビットの受信/転送用に構成しました。以下は、McBSP2 および PCM3002 コーデックのレジスタ値です。

CPLD コーデック クロック レジスタは、24 KHz のサンプリング レートに設定されます。ボード上の CPLD がフレーム同期信号を提供するため、SRGR を構成する必要はありません。
PCM3002 McBSP2 を 20 ビット転送/受信ループバック プログラム用に構成でき、正常に動作するため、残りの構成は正しいと確信しています。誰かがここで何が悪いのか教えてもらえますか? どんな助けでも大歓迎です。

0 投票する
2 に答える
2593 参照

floating-point - 固定小数点 MATLAB DSP アルゴリズム

Texas Instruments TMS320C64xx DSP のアルゴリズムを MATLAB でコーディングする方法について質問があります。

MATLAB でフィルターのずさんな実装が機能しています。私の目標は、MATLAB Embedded Coder を使用してこのアルゴリズムを C に変換し、それを Code Composer Studio にインポートして DSP にロードできるようにすることです。

これを行うには、MATLAB コードに対して行う必要がある特定の操作があることを知っています。たとえば、マトリックスにスペースを事前に割り当てる必要があるため、マトリックスを作成するサイズを認識できます (可変サイズのデータ​​をいじりたい場合を除きます)。MATLABコードをC'ishコードに変換して、MATLABコーダーがそれを変換できるようにすることは、多かれ少なかれ理解できます。ただし、MATLAB Embedded Coder がコードを固定小数点データ型のみを含む C に変換できるように、データ型 (フィルターの係数など) が浮動小数点ではなく固定小数点であることを確認する方法がわかりません。

したがって、私の全体的な質問は次のとおりだと思います。

1) C64xx が 32 ビット固定小数点 DSP として指定されている場合、float データ型を使用しようとするとコンパイラがエラーをスローすることを意味しますか?

2) MATLAB Embedded Coder が float データ型を作成しないようにする方法はありますか?

3) MATLAB Fixed Point Toolbox を使用する必要がありますか?

私の質問に答えるために必要な情報が他にある場合はお知らせください。

0 投票する
2 に答える
7009 参照

c - DSP C6748 用の Matlab-Simulink モデルからの C コードの生成

Matlab-Simulink の単純なモデル (例: 出力に DAC を備えた正弦波ジェネレーター) から C コードを生成しようとしています。このコードは、TMS320C6748 DSP (Texas Instrument C6748) 用の Code Composer Studio で実行する必要があります。具体的には、開発ボード OMAP-L138 ZOOM™EVM DEVELOPMENT KIT 向けです。

このために、次のバージョンを使用しています。 Simulink (バージョン 7.7 - R2011a) Embedded Coder (バージョン 6.0 - R2011a) Code Composer Studio v3.3

いくつかのオプションを試しました (Simulink の汎用モジュールと C6748 タイマーのプログラミング、「OMAP_L138/C6748 EVM」を使用した「ターゲット設定」モジュールの構成...) が機能しません。

このアイデアを実装することは可能ですか?動作する例はありますか?

ありがとう

0 投票する
1 に答える
325 参照

crc32 - C64x+ GMPY 命令を使用して CRC32 を計算する方法は?

TI C64x+ DSP に搭載されているガロア体乗算 (GMPY) 命令を使用して CRC32 を効率的に計算するにはどうすればよいですか?

0 投票する
1 に答える
594 参照

c - コードコンポーザーとリアルタイムデータ交換:ターゲットからホストへの通信の問題

親愛なる仲間のプログラマー!

次の問題に関するいくつかの回答またはヒントを本当にいただければ幸いです。

このホワイトペーパーで説明されているように、トピックはデジタル信号処理(DSP)、Code Composer Studio 3.1、およびリアルタイムデータ交換(RTDX)です。私はDSPでC-Noobなので、このトピックを理解するのに苦労しました。いくつかの論文を読み、Code Composer Help-Tutorialsを実行した後、最終的にいくつかの成功を収めました(Yay、SOMETHINGが発生します!)が、単純なTarget-to-Hostを実装しているときに、理解できないエラーが発生しています。データ交換。

ターゲット(TMS320C6713 DSK)で実行されているコードは、100個の整数を次々に送信する必要があります。

ホスト上で、受信した整数をコンソールに書き込むOLEオートメーションクライアントとして単純なJava/Jacob実装を実行します。

これまでのところ、プログラムは機能しますが、->整数が約86になるまでのみ、RTDX_writeは失敗します。

私が言及した論文で述べたように、「ターゲットアプリケーションは、データをバッファリングして通信インターフェイスに渡すユーザーライブラリインターフェイスのルーチンを呼び出します。」それで、多分それはバッファの問題ですか?それにもかかわらず、私はバッファを処理する可能性を見つけられませんでした...

あるいは、私がCの経験がないと言ったように、それは単なるプログラミングの間違いなのかもしれません。

したがって、ヒントをいただければ幸いです。誰かがRTDXの経験があり、以前に問題があったか、誰かがそのエラーについてもっと知る方法を教えてくれるかもしれません。また、トピックは非常に具体的なものであることがわかります。したがって、さらに情報が必要な場合は、...

事前にどうもありがとうございました!

アンディ

0 投票する
4 に答える
1485 参照

c - 異なるデータ型の値をメモリに順番に書き込みますか? または、複数のデータ型を持つ配列ですか?

私は C で書くことに比較的慣れていません。オンラインや印刷物で見つけたリソースを使って独学しました。これは、C プログラミングの最初の実際のプロジェクトです。職場でのトレーニングが大好きです。

Texas Instruments C6701 デジタル シグナル プロセッサで使用されているコードを C で書いています。具体的には、シリアル ポートを介してインターフェイスする一連の通信関数を作成しています。

私が取り組んでいるプロジェクトには、シリアル ポート経由でデータを送信するための既存のパケット プロトコルがあります。これは、送信されるデータへのポインターとその長さ (バイト単位) を渡すことによって機能します。私がしなければならないことは、送信するバイトをメモリ内の「配列」に書き込むことだけです (送信機はその一連のバイトをバッファにコピーして送信します)。

私の質問は、送信するデータの最適なフォーマット方法に関するものです。送信する必要があるデータは、いくつかの異なるデータ型 (unsigned char、unsigned int、float など) で構成されています。通信帯域幅に制約があり、パケットをできるだけ小さく保つ必要があるため、すべてを float (または int) に拡張することはできません。

もともと配列を使用してデータをフォーマットしたかったのですが、

これは、すべてのデータが char であるとは限らず、一部のデータが unsigned int または unsigned short であることを除いて機能します。

short と int を処理するために、ビット シフトを使用しました (今のところ、リトルエンディアンとビッグ エンディアンは無視します)。

ただし、これを行う別の (そしてより良い?) 方法は、ポインターとポインター演算を使用することだと思います。

私の質問(最後に) は、どちらの方法 (ビットシフトまたはポインター演算) がより受け入れられる方法ですか? また、実行する方が速いですか?(実行時の制約もあります)。

私の要件:データは、ギャップ、ブレーク、またはパディングなしで、連続してメモリに配置されます。

構造が解決策として機能するかどうかを知るには、構造についてまだ十分に知りません。具体的には、構造体が常に連続してブレークなしでメモリ位置を割り当てるかどうかはわかりません。8 バイト ブロックで割り当てられていることを示すものを読み、パディング バイトを導入する可能性があります。

現在、私はポインターメソッドに傾いています。長い記事のように見えるものをここまで読んでくれてありがとう。

0 投票する
3 に答える
3969 参照

multiprocessing - ARMとDSPプロセッサはどのように連携しますか?

ARMプロセッサとDSPプロセッサはどのように連携し、命令セットは異なります。FFT、ビデオ処理などのDSPプロセッサで動作するはずのコードをどのように記述できますか。それらはどのように相互に切り替えますか。いくつかの例で説明すると役に立ちます

0 投票する
2 に答える
1783 参照

java - jpcapでパケットキャプチャとパケット送信を高速化するにはどうすればよいですか?

DSPは、PCがこれらのパケットをキャプチャしてack応答を送信するよりも、生のイーサネットパケットをPCに送信します。それらはMACからMACにメッセージングしているため、IP層はありません。1msごとにリアルタイムのメッセージを作りたいです。DSPは1ミリ秒ごとにメッセージを送信しますが、PCはメッセージをキャプチャして1ミリ秒未満で応答を送信することはできません。パケットのキャプチャと送信には15〜30ミリ秒かかります。この結果は私には遅すぎます。どうすればこれを速くできますか。jpcapライブラリとオペレーティングシステムWinXPx32を使用しています。

キャプチャコード:

送信コード:

0 投票する
1 に答える
1204 参照

android - Android ndkでdsplinkアプリケーションをコンパイルしてjniラッパーを開発する方法

Android omapl138 ボードで dsplink アプリケーションを実行しています。ターミナルでアプリケーションを実行できます。dsplink アプリケーションを ndk に含め、次を使用してコンパイルしようとしましたAndroid.mk

コンパイル中に、次のエラーが発生します

0 投票する
1 に答える
817 参照

linux-kernel - ARM /DSPLinuxツールチェーンカーネルのセットアップ

FC17 AMD64でホストとして組み込みシステムを開発し、ARM / DSP Omap l138をターゲットにするための環境を設定する必要があるプロジェクトがありますが、

したがって、ホストとターゲット間の開発環境通信をバインドするには、カーネルヘッダーを生成する必要があります。したがって、それはインストールされました:

構築する手順:

問題は何でしょうか?

すべてのコメントと提案は高く評価されています。