DMA部のコーディングも終了した。 転送するのはオーディオデータであり、転送レートは低いので転送長は1(シングルアクセス)とした。
再生側 DMA
録音側 DMA
外部仕様(レジスタ仕様)は幾つか間違いがあったので修正&変更し、サンプリングレートも変えられるようにした。
コーデイングが終わったのでテストベンチを作成してシミュレーションを開始した。
このI2S IPのデータパスはDMACを使うパスと、ソフトウェアでレジスタアクセスによるパスがある。
以下は、AXI-SLAVEのパスによるDAC出力を見ている。サンプリングレートは48Kにし、データとして133.3Hz相当の正弦波を書いている。最下部のdac_l, dac_rはI2Sのシリアルデータをシリパラ変換したデータをアナログ表示している。
このシミュレーションのテストベクタは以下のように書いている。
write_to_register()とread_from_register()はタスクで、以下のように書いている。
以下は、I2C I/F部を見ている。
ベクタ
0 件のコメント:
コメントを投稿