YS電子工作ラボ

<V.3版>
DMAモジュール 
パターンマッチモード・チャンネルチェインモードによる
UART RX、TX折り返し制御

(→プロジェクトファイル(Harmony Ver.3版 MHC v3.8.0) ダウンロード)


     DMAモジュールには、チャンネルチェインモード 及びパターンマッチモードと呼ばれる制御がありますが、ここではこの2つをつかった Tera Term(UART)の送受信の例を紹介します。
 ➀ チェンネルチェインモード …… DMAチェンネルの転送が終了後、自動的に別のDMAチャンネルの転送を実行する
 ➁ パターンマッチモード …… あらかじめ設定しておいたパターン(データ)と一致するパターンが転送データの中に現れた場合転送を終了する。


 PCのキーボードからTera Termに文字を入力して 最後に^(キャロット)をキーインすると 入力した文字(含む^)がまとめて返信されます。

<仕様>
 ・PIC32MZのDMAモジュールを用いパターンマッチモード転送 及びチェンネルチェインモード転送を行う。
 ・Tera Term を用いて PCとPIC32MZ間のUART(U6RX、U6TX)送受信を行う。
 ・U6RXでレジスタU6RXREGに 受信したデータをバッファメモリに転送するチャンネルをDMAチャンネル0(DMA0)に設定する。
 ・バッファメモリのデータをU6TXのU6TXREGレジスタに転送するチャンネルをDMAチャンネル1(DMA1)に設定する。
 ・データの中に^(キャロット)があった場合は転送を終了する。
   (パターンマッチモードで使用するパターンは  ^(キャロット)とする)
 ・DMAチャンネル0の転送が終了したら DMAチャンネル1の転送が開始されるようにする。
 ・DMA転送されたバッファメモリの内容をキャラクタ液晶に表示する。
 


<回路図> (→PDFファイル



<外観>PIC32MZ評価ボード(→購入方法)を使った実験品の外観です。
     汎用モジュール評価ボード(段積みボード)には本テーマと関係ない部品が多々実装されています。



<動作結果> (→ 動画:1080pのHD動画を見ることができます。)

 RX入力データ(Hellow World !!)受信済み  備考 
                    

 RX入力データ(^ :DMAパターンマッチデータ)受信前 
 ➁
 RX入力データ(^ :DMAパターンマッチデータ)受信後  
キャラクタ液晶下段には、
メモリramBuf[ ]が表示されて
います。








<解説> プロジェクトファイルを精読願います