SWRの計算速度
2011-06-04
あれこれ思案しましたが、結局「除算もどき」でもそれほどステップ数は食わないと踏んで、ちょっとプログラミングしてちょっと動きを確認する・・・つもりが、軽く手直ししていくうちにデバッグになってしまい、モジュールとして完成させてしまいました
除算もどきの肝は、やはり10倍するロジックと16ビット分の減算処理なんですが、よく考えてみると10倍処理は小数点第二位までしか求めない(第三位は切り捨て)とすると2回しか登場せず、頻繁に行われるのは減算処理。16ビットの拡張を考えながらコーディングしてみると、結果的に20ステップちょいで収まることになりまして
一方の10倍ロジックも20ステップ弱なんで、SWR<8.00を前提に考えると以下のようになりました。
◆ 20×2(10倍ロジック) + 20×26(減算処理回数は8+9+9)
≒ 560ステップ
PICのクロックを8MHz⇒1ステップは125nsですから、70μs程度しかかからないようで、これならかなり短いキャリア送信でも測定できそうです。が、RIG側からの指示(シリアル通信によるコマンド送出)、AD変換の待ち時間(これはμsオーダー)、そして応答受信という部分が逆にネックになりそうですから、ANT側は常にAD変換結果を更新しているようなイメージかと・・・。
ただ、外に置いてあるANT側のPICにあまり負担はかけたくない(ブン回しっぱなしだと熱が心配)とも思っており、この辺りが思案のしどころでもあります。
それにしても、PICの開発環境というのは非常に優れていますね。ウン10年前なら、開発環境だけでも数百万円はざらだったのに、JavaのEclipseやアンドロイドの開発環境などのフリー環境も含めて、「良い時代になったもんだなぁ」と思いました。

除算もどきの肝は、やはり10倍するロジックと16ビット分の減算処理なんですが、よく考えてみると10倍処理は小数点第二位までしか求めない(第三位は切り捨て)とすると2回しか登場せず、頻繁に行われるのは減算処理。16ビットの拡張を考えながらコーディングしてみると、結果的に20ステップちょいで収まることになりまして

◆ 20×2(10倍ロジック) + 20×26(減算処理回数は8+9+9)
≒ 560ステップ
PICのクロックを8MHz⇒1ステップは125nsですから、70μs程度しかかからないようで、これならかなり短いキャリア送信でも測定できそうです。が、RIG側からの指示(シリアル通信によるコマンド送出)、AD変換の待ち時間(これはμsオーダー)、そして応答受信という部分が逆にネックになりそうですから、ANT側は常にAD変換結果を更新しているようなイメージかと・・・。
ただ、外に置いてあるANT側のPICにあまり負担はかけたくない(ブン回しっぱなしだと熱が心配)とも思っており、この辺りが思案のしどころでもあります。
それにしても、PICの開発環境というのは非常に優れていますね。ウン10年前なら、開発環境だけでも数百万円はざらだったのに、JavaのEclipseやアンドロイドの開発環境などのフリー環境も含めて、「良い時代になったもんだなぁ」と思いました。
- 関連記事
-
- 遠隔君関連実験の再開
- 遠隔君の省エネは無理・・・
- SWRの計算速度
- 遠隔君の「お値段」
- 遠隔君の材料Get!