2020年4月27日月曜日

小ネタ

 いよいよ2chじゃ足りなくなってきた。6chくらいほしい。てくとろ……

 2chモデル買う前は「ch足りなければ今まで使ってたやつ並べて4ch+ExtTrgで使えばいいでしょ」とか思ってたけど、メモリ長くて高解像度な表示になれちゃうと今まで使ってたやつに戻れない。そもそも今まで使ってたオシロのプローブは新しい方のExtTrgとTrgOutに流用してるので、プローブも無いし。

 Sigのオシロ、USB TMCとして接続できるらしいんだが、PCにつないでもドライバが入らない。USB TMCっていかにもUSB標準みたいな名前なのに、汎用ドライバじゃないんだな。付属のCDにドライバ入ってるのかな? ま、「物は試しに…」とケーブルつないでみただけだし、動かないなら動かないで使わないだけだが。
 試しにEthernetにもつないでもみたけど、pingは通るもののEasyScopeXからは発見できなかった。あんまり使われてる機能じゃないんだろうなぁ。

 オシロ、せめてUSB Video Classとかに対応してれば、リアルタイムでPCに画面表示できて便利だと思うんだが。まぁ、普通の使い方してるなら直接画面見たほうが良いか。


 Siglent、おそらくint.siglent.comが公式のはず(中国語ページはsiglent.com)。購入方法のページから日本エリアを見てみると、ADWINの1社が出てくる。siglent.jpを管理してるのはウェーブクレストという会社で、「国内正規販売代理店」と書いてあるが、そういう名前は出てこない。
 ADWINがamazon.co.jp経由で売ってるやつの説明ページに「まぎらわしい表現を行っている販売店が国内に存在する」って、こういうことか。

***

 試しにHALを継承したクラスを作成中。コンストラクタに目標のペリフェラルを渡して、HALのインスタンスとしても使えるし、ビット演算だけやる、といったこともできる。HALを呼ぶと大げさすぎるけど、自分でビット演算書くのは面倒、みたいなあたりを吸収する目的。結構便利に使えてる。
 ある程度凝ったことやろうとするとHALでは操作できなくて自前でビット演算書かなきゃいけないの、本末転倒。
 そもそも、STM32は同じシリーズなら互換性は極めて高いから、UART/USARTとかTIMみたいなものを除けば、移植性の問題はほとんど起こらないはず。シリーズが異なると、そもそも機能が異なるので、無理やり移植すること自体が非現実的(そのMCUに合わせて書き直したほうが楽)。

***

 超音波距離計、HiZで50Hz乗る対策とか、なんだかんだでCRが10個に達してしまった。10kが5本、47kが2本、1kと100kが1本、0.1uが1個、くらい。1kと100kは増幅率の設定なので、厳密にこの値を使う必要はないし、それを言い始めれば10kも47kも、数値に意味はない。「ほどほど」の値があれば十分。


 70パルスを、受信利得変えて4回送った図。


 黄がDACの出力、紫がPGAの出力。
 パルス幅1.75ミリ秒、パルス繰り返し周期40ミリ秒、40kHzのCW、という感じのパラメータ。利得は2,4,8,16。とりあえずデバッグ用にパラメータ変えて打ってるだけ。
 出力は、一番大きなピークで、x2で280mV、x4で610mV、x8で1.03V、x16で1.5V、くらいかな。ゲイン大きくしてもそれに比例しない感じ。DACで下に引っ張ってるので、そっちに吸われてるのかも。このあたりは要確認かな。

 今の所、割り込みも未使用なので、割り込みを使ってちゃんと作り込みたいと思う反面、割り込みがなくても、RTOSの優先度を上げておけばせいぜい数十マイクロ秒くらい処理が止まる程度だから、そのくらいなら40kHzで5周期くらいだし、さほど問題にはならないかな、と思ってる。べつに割り込み使うのが面倒というわけでは…… コヒーレントで受信するのも、割り込みが必須というわけじゃないしね。STM32のタイマ同期使えばキッチリ時間合わせてくれるから、ソフトウェアで100マイクロ秒ずれたくらいは問題ではない。

 とりあえず、ADCでサンプリングが次の目標か。直接サンプリングすると1Mspsくらい必要なので、並行して10kspsくらいのIFに落としたい。さすがに1Mspsだとメモリ足りないし、後々FFT通すのも大変。CMSISのFFTライブラリはあんまり長いFFT通せないし、基準波形のポイント数も減らしておかないと周波数空間で処理する旨味もなくなるし。

 ペラペラと本眺めてみたけど、ノンリニアチャープの波形は計算的には作れないっぽい。システムや要求に合わせて試行錯誤すべし、みたいな。まずはリニアチャープを目標に、かな。

0 件のコメント:

コメントを投稿