00001 /** \mainpage 00002 * 00003 * このプログラムは、ADSP-BF537を搭載する評価基板、EZ-KIT BF537のデモ・プログラムである。 00004 * 00005 * ::main 関数を実行すると、各種の初期化を行い、割り込みハンドラ afw::ISRを登録した後、 00006 * 割り込みとDMAを許可してオーディオ信号の送受信を行う。オーディオ信号はSPORT0経由で入力 00007 * し、DMAによってメモリ上に格納される。2次元DMAの各行が終わるたびにオーディオ信号受信割り込み 00008 * が発生し、 afw::ISRが呼び出される。 00009 * 00010 * afw::ISRは割り込みをクリアし、トリプルバッファの制御を行う。そしてしかるべきデータを 00011 * DMAの受信バッファから取り出すと、使いやすいよう並べなおしてユーザー定義のコールバック関数 00012 * afw::processDataを呼び出す。 00013 * 00014 * afw::processDataは実際に信号処理を行う場所であり、外部から読み込んだボリューム値を元に 00015 * して決めた周波数と振幅のトーンを生成し、出力する。 00016 * 00017 * 呼び出した関数である afw::ISRは出力データを並べ替えて然るべきDMAバッファに 00018 * 格納する。 00019 * 00020 * EZ-KIT Lite BF-537のディップスイッチの設定は以下のとおり 00021 - SW1 : すべてOFF 00022 - SW7 : すべてON 00023 - SW8 : 1-2をON、残りはすべてOFF 00024 */ 00025 00026 /** \file main.cpp 00027 * \brief メイン関数定義ファイル 00028 * \author アナログ・デバイセズ株式会社 00029 * 00030 * このプログラムはVisualDSP++ 4.5のサンプル・アプリケーション、TalkTrhoughから 00031 * 派生させたものである。EZ-KIT BF537のリソースを初期化し、48Ksample/Sのオーディオ 00032 * フレームワークを起動する。受信データはコールバック関数 afw::processData によって 00033 * 処理される。 00034 */ 00035 00036 00037 #include <ccblkfn.h> 00038 00039 #include "afw.h" 00040 #include "cec.h" 00041 #include "twi.h" 00042 #include "ad7998.h" 00043 #include "utilbf537.h" 00044 00045 00046 /** メイン関数 00047 * 00048 * 各ペリフェラルを初期化後、割り込み待ちに入る。 00049 */ 00050 void main(void) 00051 { 00052 utilbf537::initPLL(); // PLLを設定する 00053 00054 // 各ライブラリの初期化 00055 cec::init(); // コア・イベント 00056 twi::init(120); // TWIペリフェラル 00057 ad7998::init(); // ad7998 00058 afw::init(); // オーディオ・フレームワーク 00059 00060 // 各作業の処理開始 00061 cec::start(); // コア・イベント 00062 twi::start(); // TWI 00063 ad7998::start(); // AD7998 00064 afw::start(); // オーディオ処理 00065 00066 while(1) 00067 idle(); // 割込み待ち 00068 } 00069 00070 00071 00072
1.5.2