PIC16F18326のDSMのテストをします。
DSMとは、Data Signal Modulatorのことで、データ信号と搬送波(キャリア)を混合(AND)して変調出力を作成する機能のことです。説明書では次の図で説明されています。キャリアはCARHとCARLの2種類で、MOD信号がHの時、CARHが出力され、MOD信号がLの時、CARLが出力されます。
DSMモジュールを簡単に表現すると下の図のようになります。(本当は論理回路で示すべきですが、スイッチで簡略化しました)
MOD信号がHighの時CARHがDSMoutに出力され、MOD信号がLowの時、CARLがDSMoutに出力されます。
CARH,CARL,MODについては、下の図の項目から選択することができます。
さて、DSMのテストで最初に思い浮かんだのが、アマチュア無線家としては、CW通信(モールス通信)でした。搬送波に信号波で変調をかける、まさにCW信号です。
そこで、モールス練習機を作ってみることにしました。電鍵(キー)を押したときにピーという音が聞こえるようにします。周波数は800Hzとします。この信号はNCOで発生させてCARLとし、MODがLの時に出力します。CARHはVSSとして,MODがHの時は何も出力しません。
モールス練習機の回路図です。
DSMの出力は、RC3としてスピーカーを接続します。電鍵はRA4に接続し、RA4はウィークプルアップし、プルアップ抵抗はつけません。
MPLAB X でprojectを作成し、MCCを立ち上げます。systemモジュールです。デフォルトの状態で、クロックは1MHzです。
NCOモジュールとDSMモジュールを導入し設定します。
NCOモジュールは、周波数を800Hzとしました。
DSMモジュールです。High CarrierはVSS,Low CarrierはNCO1_outに設定します。また、Modulation SourceはMDMIN_pinに設定します。
Pinモジュールです。
DSM outuputはRC4に設定します。MDMIN inputはRA4に設定し、ウィークプルアップWPUにチェックを入れます。
電鍵(KEY)をON/OFFして、モールス符号Vを送出してみました。
その時のDSM outの波形です。
800HzのキャリアがKEYの信号で変調され、モールス符号として送出されました。
プログラムです。MCCの設定以外はプログラム上には何も書いていません。
----------------------------------------------
#include "mcc_generated_files/mcc.h"
void main(void)
{
// initialize the device
SYSTEM_Initialize();
while (1)
{
}
}
----------------------------------------------
ブレッドボードにスピーカーと電鍵をつけてテストをしています。
音が大きいので、出力に直列に100Ωの抵抗を入れています。
下の写真は、10年前に製作したモールス練習機です。製作記事は、こちら。
ランド方式電で製作し、ツインT回路とNJM386アンプの2つの基板で構成されています。これらが、1個のPICでできるわけですからすごいですね。