通信(SPI,SCI)処理とファイル関連情報が記載されています。
SPI通信
LCDコントローラ(ILI9488)へのSPI通信フォーマットは、DBI Type-C Option1(3 line)(9bit)です。前回の資料1*1と同じです。
ただし前回は「CPUの割込み処理」で送信していましたが、今回は「DMA転送」に変更しました。これは長いデータをCPUの割込み処理内で転送していると、他の割込みが入らない場合があるためです。
・DMAの設定
DMA チャンネル2をRSPI0の送信に使用します。
「送信バッファエンプティ割り込み(SPTI0)」が発生するとDMA転送が開始されます。全データの送信が終了するまでは待機する仕様としたため、データ転送中は「送信中フラグ」をセットし、アイドル割り込み(SPII0)でをクリアします。
シリアル通信(SCI1)
パソコンとのデータ送受信にも、DMAを利用します。DMAチャンネル0を受信に、チャンネル1を送信に使用します。
・DMAの設定
DMA チャンネル0をSCI1の受信に使用します。
DMA チャンネル1をSCI1の送信に使用します。
コマンドとレスポンスにはCRCが付きます。
CRC演算器を使用します。CRC-16-CCITT, MSB-First, 初期値 0xffff, 生成多項式はです。
使用メモリとmapファイル
使用したRAMは約21[Kbyte]、ROMは約40[Kbyte]でした。
ファイル一覧
登録場所(マイコン):https://github.com/vABCWork/pid_new
登録場所(パソコン):https://github.com/vABCWork/WPF-PID-NEW
実験風景
*1:資料1「I2C通信とSPI通信(4インチ LCDパネルとインターフェイスボード)」 https://vabc.hatenadiary.jp/entry/2022/10/10/174722