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 * アプリケーションに変える。 afw::processData は送信したいデータがあるならば出力バッファに格納して呼び出し関数に戻る。 00017 * 00018 * 呼び出した関数である afw::ISRは出力データを並べ替えて然るべきDMAバッファに 00019 * 格納する。 00020 * 00021 * EZ-KIT Lite BF-537のディップスイッチの設定は以下のとおり 00022 - SW1 : すべてOFF 00023 - SW7 : すべてON 00024 - SW8 : 1-2をON、残りはすべてOFF 00025 */ 00026 00027 /** \file main.cpp 00028 * \brief メイン関数定義ファイル 00029 * \author アナログ・デバイセズ株式会社 00030 * 00031 * このプログラムはVisualDSP++ 4.5のサンプル・アプリケーション、TalkTrhoughから 00032 * 派生させたものである。EZ-KIT BF537のリソースを初期化し、48Ksample/Sのオーディオ 00033 * フレームワークを起動する。受信データはコールバック関数 afw::processData によって 00034 * 処理される。 00035 */ 00036 00037 00038 #include <ccblkfn.h> 00039 00040 #include "afw.h" 00041 #include "cec.h" 00042 #include "twi.h" 00043 #include "ad7998.h" 00044 #include "utilbf537.h" 00045 00046 00047 /** メイン関数 00048 * 00049 * 各ペリフェラルを初期化後、割り込み待ちに入る。 00050 */ 00051 void main(void) 00052 { 00053 utilbf537::initPLL(); // PLLを設定する 00054 00055 // 各ライブラリの初期化 00056 cec::init(); // コア・イベント 00057 twi::init(120); // TWIペリフェラル 00058 ad7998::init(); // ad7998 00059 afw::init(); // オーディオ・フレームワーク 00060 00061 // 各作業の処理開始 00062 cec::start(); // コア・イベント 00063 twi::start(); // TWI 00064 ad7998::start(); // AD7998 00065 afw::start(); // オーディオ処理 00066 00067 while(1) 00068 idle(); // 割込み待ち 00069 } 00070 00071 00072 00073