"BPSK変調復調のコード...

A

ak214

Guest
ハイテクのすべての
プラザ手伝っ
私は、『Code Composer Studio ....上で動作BPSK変調復調のためには、cのコードが必要dskキットに付属c6711 .....インターフェイスに
......または私にこれを行う方法で行のガイドを与える。
事前に感謝します。

 
ハイテクのすべての
私はプログラムを自作...その作業罰金...クロ解除コメントmcbsp0_writeとIFの(temp)に他のcondn .. BPSK変調波形を表¥示するこれらの下のコメントを全体のコードと他のグループの場合。
#含まれて<stdio.h>
#含まれて<c6x.h>
#"¥¥デモ¥¥鉄骨¥¥ c6711dsk.h"Ç:¥¥ ti1 ¥¥例¥¥ dsk6711 ¥¥ xdais含まれて
#"¥¥デモ¥¥鉄骨¥¥ codec_poll.h"Ç:¥¥ ti1 ¥¥例¥¥ dsk6711 ¥¥ xdais含まれて
/ /"c6711dsk.h"を含む#
/ /"codec_poll.h"を含む#
#含まれて<math.h>の
intカウンタ[2000];
int変調[2000]、復調[2000]、= 0、cnt3 = 0、cnt4、temp1;
無効codec_init();
無効codec_sinewav();int volume_control;

がshort int datain [1000];
メインInt()は


/ * dspファイルとperiphiralの初期化* /
のCSR = 0x100; / *無効にするすべての割り込み* /
一橋大学= 1; / NMIを除く*無効にするすべての割り込み* /
iCRが=は0xFFFF / *クリア
、 すべての保留中の割り込み* /

* = 0x3300 EMIF_GCR(符号なし揮発int *); /グローバルな制御* EMIFを/
*(符号なしの揮発int *)EMIF_CE1 = 0xffffff03; / * EMIFをCE1を制御、8ビット非同期* /

mcbsp0_init();
codec_init();

volume_control = 1;

(1)中

/ / codec_playback();
codec_sinewav();

/ /(0)を返す;



無効mcbsp0_init()

/ * McBSP0を設定する* /
* = 0 McBSP0_SPCR(符号なし揮発int *); / *リセットシリアルポート* /
* = 0 McBSP0_PCR(符号なし揮発int *); / *設定端子を制御する登録番号。。* /
* = 0x10040 McBSP0_RCR(符号なし揮発int *); / *設定する送受信制御登録番号。1つの16ビットデータ/フレーム* /
* = 0x10040 McBSP0_XCR(符号なし揮発int *); / *設定テキサスコントロールの登録番号。1つの16ビットデータ/フレーム* /
* = 0 McBSP0_DXR(符号なし揮発int *);
* = 0x12001 McBSP0_SPCR(符号なし揮発int *); / *セットアップSPのコントロールの登録番号。。* /


無効mcbsp0_write(int out_data)

int気温;
気温= *(符号なしの揮発int *)McBSP0_SPCR&0x20000;
間(気温== 0)

気温= *(符号なしの揮発int *)McBSP0_SPCR&0x20000;

*(符号なしの揮発int *)McBSP0_DXR = out_data;


int mcbsp0_read()

int気温;
気温= *(符号なしの揮発int *)McBSP0_SPCR&が0x2;
間(気温== 0)

気温= *(符号なしの揮発int *)McBSP0_SPCR&が0x2;

気温= *(符号なしの揮発int *)McBSP0_DRR;
戻り気温;


無効codec_init()


int CNTの;
符号なしint initdat [] =(
0x0386、/ /コントロールを掲載3登録番号の設定/ワットをリセットする
/ / 0000 0011 1000 0110
/ / | | | | ¥¥端末無効になって
/ / | | | ¥¥マイクADCの入力が有効になっ
/ / | | ¥¥ソ¥フトウェアリセットAD535
/ / -第3レジスタを選択¥¥
0x0306 /秒の/解除を制御reg3 /ワットをリセットする
音声入力チャンネル0x0400、/ / cntrlReg4 0 dBゲイン
0x0502 / / cntrlReg5スピーカー出力ミュート解除
);
(CNTの= 0; CNTの"sizeof()initdat / sizeof(符号なしINT)は、CNTの )

/ / mcbsp0_read();
mcbsp0_write(1); / /セカンダリシリアル通信に行く
mcbsp0_write(initdat [CNTの]);

mcbsp0_write(0); / /主要な通信に行く
/ / mcbsp0_read();


LENは50を定義する#
パイ3.1415926535897定義#
無効codec_sinewav()

int sinarr [LENは] pssinarr [LENは]; / /ここで世代の方形波
intメッセージ[100];
int CNTの、cnt2、私、時間、気温;
用(= 0;私は"100;私 )

メッセージ[私] = 0;


[1] = 1;メッセージ[12] = 1;メッセージ[55] = 1;メッセージ[90] = 1;メッセージ[30] = 1;メッセージ[40] = 1;エラーメッセージ[0] = 1;メッセージ[60] = 1;
[5] = 1;メッセージ[45] = 1エラー[50] = 1;メッセージ[99] = 1;メッセージ[75] = 1;メッセージ[19] = 1;メッセージ[35] = 1;メッセージ;
用(= 0 CNTの; CNTの"LENは、CNTの )

sinarr [CNTの[] =(INT)を(0x7ffe *罪((ダブル)2 *パイ* 400 * CNTの/()8000))ダブル;
pssinarr [CNTの[] =(INT)を(0x7ffe *((ダブル)の罪(π (2 *パイ* CNTの* 400 /()8000 ))));ダブル


cnt3 = 0;
用(= 0 CNTの; CNTの"200; CNTの )

場合([CNTの] == 1)エラー

(cnt2 = 0; cnt2"20; cnt2 用)


変調[cnt3] = sinarr [cnt2]&0x0fffe; / / d0を= 0 DAC出力の
気温=変調[cnt3];
cnt3 ;
/ /気温= 0;
カウンター[私] = sinarr [cnt2]; / /カウンタ変数sinarr coeffを保存する
私 ;
/ /(気温)mcbsp0_write;
)/ /最後に
)/ / ifを終了

他の場合(エラー[CNTの] == 0)

(cnt2 = 0; cnt2"20; cnt2 用)


変調[cnt3] = pssinarr [cnt2]&0x0fffe; / / d0を= 0 DAC出力の
気温=変調[cnt3];
cnt3 ;
/ /気温= 0x7ffe;
カウンター[私] = pssinarr [cnt2]; / /格納する位相カウンタ変数sinarr coeffシフト
私 ;
/ /(気温)mcbsp0_write;
)/ /最後に
)/ /終了他

)/ /最後の外側の

/ *開始復調セクション* /

cnt4 = 104;
(cnt4"2000年)中に

場合(カウンタ[cnt4]"0)

用(= 0時間;時間"20;時間 )

temp1 = 0;
(temp1)mcbsp0_write;

)/ /最後に

cnt4 = cnt4 20;
)/ / ifを終了

他の/ /の場合(カウンタ[cnt3]"0)


用(= 0時間;時間"20;時間 )

temp1 = 0x7ffe;
(temp1)mcbsp0_write;
)/ /最後に
cnt4 = cnt4 20;
)/ /終了他

)/ /終了中

)/ /終了関数

 

Welcome to EDABoard.com

Sponsor

Back
Top