PSoCでモデムを作ろうとしたが、むしろマイコンでやった方が部品点数を減らせることに気づく。消費電力はそれなりになるが、モデムを使ったとしてもマイコンを使うことになるのだから、マイコンのみでできた方が楽だと考えられる。 そこでマイコンでモデムをどう実現するかについて考えた。
送信
変調方式によらず、モデムの出力波形(サブキャリア変調)は無線に乗せられるので、高調波を含まない滑らかなものが出力できることが求められる。そのためには、DACを充分なサンプリングレートで周期的に動作させることが必要となる。 出力波形はテーブルとして用意することができる。FSKは正弦波のテーブルを1つ、GMSKはビットパターンに応じた波形をいくつか用意する。シンボル切替のタイミングにおいて、FSKは移送が揃うことはないが、GMSK(MSK)は位相が揃うよう工夫されている。そのため、FSKは波形テーブルの位相を進める間隔を操作することで周波数偏移を与えることができる。一方GMSKは位相が揃っていることから、前後のビットから考えられる波形は数パターンしか存在しない。そのため、パターン分のテーブルさえ用意すれば、それを等間隔に出力するだけで変調波が生成できる。 変調波を正しく出力するためには、帯域の2倍以上でDACのサンプリングを行う必要がある。これには数kHzから数十kHz程度のサンプリングレートが必要となる。これはCPUでポーリングするには遅く、割り込みするには速いため、CPUをほとんど介さずに波形出力を行う方法が必要となる。そこで、波形の出力にはタイマー、DAC、DMAを連動させる方法をとることにした。この方法では、タイマーの作る割り込み信号に合わせて、DMAとDACがそれぞれ動作を行うことが必要となる。
0 件のコメント:
コメントを投稿