なんでも作っちゃう、かも。

Arduino/Make/フィジカルコンピューティング/電子工作あたりで活動しています。スタバの空きカップを使ったスタバカップアンプなど製作。最近はもっぱらArduinoと3Dプリンタの自作に興味があります。

V850付録基板でOgg Vorbisプレイヤー(6)

Posted by arms22 on 2007年06月05日 0  0

OggVorbisプレイヤーに必要なV850の周辺機能をまとめてみました。

機能ブロック用途
BUSCS0外付けSRAM(Tremor用ワークRAM64K)
DACDAC0オーディオ出力L(8bit)
DAC1オーディオ出力R(8bit)
DMADMA0DACレジスタへのデータ転送(内蔵RAM→DAC0)
DMA1DACレジスタへのデータ転送(内蔵RAM→DAC1)
TIMERTMQ0サンプリング周波数(DMA0,DMA1の転送トリガ)
TMM1msインターバルタイマ(速度計測用他)
WTWT0.5s時計タイマ(LED点滅用)
INTINTDMA0DMA0転送完了割り込み
INTDMA1DMA1転送完了割り込み
INTTM0EQ01ms割り込み
INTWT0.5s割り込み
INTUA0RUART受信割り込み
INTUA0TUART送信割り込み
UARTUART0デバッグ用出力
PORTP10ANO0端子
P11ANO1端子
P30UART0 TX端子
P31UART0 RX端子
P32-P35LCD D4-D7
P36LCD RS
P38LCD RW
P39LCD E
P90-P915SRAMアドレスバス(A0-A15)
PCT0SRAMライトイネーブル(WR0)
PCT1SRAMライトイネーブル(WR1)
PCT4SRAMリードイネーブル(RD)
PCT6LED
PDH0-PDH5SRAMアドレスバス(A16-A21)
PDL0-PDL15SRAMデータバス(AD0-AD15)

OggVorbisプレイヤーのシステムの概要は次のとおりです。

1.TremorでOggVorbisファイルをデコードする
2.TremorでデコードしたPCMデータを内蔵RAMにコピー
3.PCMデータのアドレスをDMAの転送元アドレスに設定
4.転送カウント数を設定しDMAを起動
5.DMAはTMQ0の割り込み信号により転送を開始
6.TMQ0の割り込み毎に1byteずつDAC出力レジスタにPCMデータを書き込む
7.DMAの転送完了割り込みで次のPCMデータのアドレスをDMAの転送元アドレスに設定
8.4に戻る

DMA転送中に次のPCMデータをデコードする。
これが間に合うかどうかだな。。

Ads by Google

Leave a reply






管理者にだけ表示を許可する

該当の記事は見つかりませんでした。