SOARISTO工房 Logo
2018年2月 Archive

 前回の続きです。

 「3軸加速度センサモジュール」を用いた衝撃検出と、逆関数を用いたバッテリー電圧の推定ができたところで、いよいよ「ドップラーセンサモジュール」を用いた人体検知の本題に入ります。

K-band Doppler Module JRC NJR4265 J1

 以前に、超小型ドップラーセンサモジュール、「NJR4265 J1」(JRC(新日本無線)製)の動作確認をしましたが、この「NJR4265 J1」の通信方式は、以下のようになっています。

項 目仕 様
ボーレート9,600bps
データビット長8bit
パリティビット奇数
ストップビット1bit
ハンドシェイクなし

 なんと、ややこしいことに、「奇数パリティ」が採用されています。

 ここで、“ややこしい”と書いたのは、PIC(18Fシリーズ)のUSARTは、パリティビットも含めた9ビット通信に、ハード的には対応していますが、パリティビットの生成まではしてくれないため、自分で(ソフト的に)解決しなければならないためです。

注) 本回路で使用する「PIC18F26K22」には、2つの「EUSART」(Enhanced Universal Synchronous and Asynchronous Receiver-Transmitter)が搭載されていますが、ここでは「USART」と記します。

 具体的には、送信の際には、8ビットデータからパリティビットを生成し、9ビット目に付加します。受信の際には、8ビットデータからパリティビットを生成し、9ビット目と比較し、エラー処理(誤り検出)を行います。

 その前に、PICにおけるシリアル通信の復習をします。

Microchip PIC18F26K22 EUSART Parity Bit Generator

 上記に、PIC(18Fシリーズ)における、パリティビットの有効化と、書き込み/読み出しに関連する制御ビットをまとめます。

 パリティビットの生成(Parity Bit Generator)は、奇数パリティの場合には、バリティビットも含め、1が奇数になるよう調整し、偶数パリティの場合には、バリティビットも含め、1が偶数になるよう調整します。

 この、「バリティビットも含め」の部分が、ミソとなります。