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