CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

割込み駆動化

前回のプログラムは割込みが終了するまでIDLE命令でDSPを待ちの状態にしてしまうのでDSPの利用効率が悪いといえます
そこでメインルーチンは空ループにしておき、信号処理自体はADCデータ受信ごとの割り込みルーチンの中で全てやってしまう構造にしてみました
 
これがプログラムのメイン部分です。
DSP初期化、コーデック初期化の後、割込みをシリアル受信割込みだけ生かして永久ループに入ります
 
イメージ 1
 
 
次に受信割込みサービスルーチンですが
ADCから受け取ったデータをシフトして14ビットの読み取りデータに変換し
さらにコントロールビットの2ビットを付加してDACに書き込みます
受信割込みルーチンの間だけパラレル8ビットLEDの最下位が点灯するように仕込んでおきます
 
イメージ 2
 
プログラム動作中の基板です。
パラレルLEDの最下位1ビットが淡く黄色で点灯していますが、点灯している期間が割り込み処理中となります
 
イメージ 3