ガレスタさんのDIY日記

電子回路、Web、組み込み、自作エフェクターを語るblog

i.MX RT1050 SAIメモ2

今回はレジスタのまとめ
TCR.....とかRCR......とかで実際に何してるかわからんので概略でも示せたらなと思ってまとめた。
一応Tx側だけ書いてみた。暇があればRx側もやろうかな

VERID(Version ID)

Verを示すレジスタ
この辺はMCUXpressoSDK使う分に勝手に取得すると思うしエラッタがあった場合おそらくSDK側で回避してくれるんだろう

PARAM(Parameter)

こちらもREADONLYなレジスタでハード情報の取得が可能っぽい
オーディオフレームワークを組む際にFIFOのサイズとか取得できるとありがたいしこれは良い

TCSR(Transmit Control Register)

各種Enable(Tx,Clock,interrupt,DMA),Error Flag,FIFO関連フラグの有効だったりができる。
おおもとの設定レジスタなのでここは把握する必要あり。

TCR(Transmit Configuration Register)

TCR1

TFW(FIFO watermark)「闘値」の設定だけしかない(他のビット無駄やんけw)

TCR2

Clock,Sync設定

TCR3

どのFIFOチャンネルを使うか指定するCFRビットだったりTxチャンネルの選択だったりができる。

TCR4

このレジスタはTCSR[TE]が有効でないと変更できない
protocolの指定レジスタであるがために一番重要だ。
クロック極性、フレームSyncだったり そう言った部分を設定してI2Sとして動かすことができる。

TCR5

このレジスタはTCSR[TE]が有効でないと変更できない
ワード幅だったりビットソフトの設定ができる

TDR(Transmit Data Register)

読んで字のごとしデータレジスタ
書き込むとFIFOに流れて行く

TFR(Transmit FIFO Register)

Write Combineの設定ビット、R/Wのポインタを示すビットがある。
TxFIFOってポインタ管理いるのかな?と思う単純に投げ続ければ一応はコーディックに流れて行くわけだしflagかなんかで割り込み動作させればなんとかなるんやない的な考えを持ってしまう。

TMR(Transmit Mask Register)

ここよくわかんない。
追記1/18
https://community.nxp.com/thread/441940
ここに乗ってた。