100MHz超のパルスオシレータが必要になったのでなんかないかなと探したら、秋月電子で売ってるSi5351Aというのが便利そう.
↓この写真の紫のやつが中華通販のSi5351Aであって、秋月のものとは異なる.上の基板は自作のSTM32G030F6P6の基板だ.同CPUはTSSOP20で小さな用途には便利で多用している.お値段も中華通販で最安@¥90ぐらいかな.
↓紫基板の回路図はこれみたいよ.Adafruitsがオリジナルみたいよ.(クリックで拡大)
↓STM32G030周辺回路.UART1とI2C2をアサインしとるかんじ~
だが動かない.
原因は、Si5351Aの初期化関数でhang-upしてたのが原因だった.I2Cって軽くhand shakeしているのでなにも繋がってないと停まってしまう.
Si5351Aの回路構成は簡単には「PLL→分周」だけと言える.だがAIに何度頼んでも100kHzの発振すらできない.
AIがてこずる理由は、Si5351Aのレジスタ構造が複雑だから.これって本当にプロが設計したものなのかなと疑いたくなるレベル.
どういうことかというと、
1)8bitレジスタが鬼のように多い(アドレス空間が256 BYTESもある)
2)DIV[19:0]のような分周設定レジスタが多くあるが、8bit busなので3つのアドレスに分裂しDIV[19:0]={DIV[19:16]DIV[15:8]DIV[7:0]}形式になってしまっている.まぁこれはI2Cだから仕方ないかも
3)DIV[19:16]と他のレジスタbitがひとつのアドレスで混ざっている (最凶)
4)レジスタ値と実際の分周比に謎の補正が必要 (分周比=レジスタ値ー512)
5)分周比に0~2048のような範囲制限がある (AIが間違える原因)
6)分周比=偶数制限がある?
7)AIの言い訳によると、モードによってなにか制限があるらしい (AIが間違える原因)
あとこれは性能面なんだけど、
Si5351Aは分数の分周比を設定できる. (分周比=a+b/c)
分数分周は整数分周よりも細かな周波数設定をできるので便利なんだが、分数にするとPLLにノイズが増える.PLLにノイズが増えるとジッタが増える.とりあえず分数分周は避けておく.
というわけで、本件はヤバすぎるのでここまでで一旦おしまい.githubでも徘徊してヒントを探すわ.
ーーーー
翌日.
えげつない事実が発覚した.基板不良を含んでいる.
写真左のようにジッタが多い.ジッタというかどこか死んでるレベル.
ところが、Si5351A~XTALの付近を指で触ったり押したりするとジッタが消える.(写真右)
続報をお楽しみに....
ーーーー
まず疑うのはハンダ不良ということで、、、
1)虫眼鏡で観察 →なんともいえない
2)ヒートガンで炙る →変化なし
3)手ハンダやりなおし(Si5351+XTAL) →変化なし
というわけでハンダ不良説は行き詰まり.
次にレジスタをいじってみる.
Si5351はレジスタで「XTALのキャパシタを10,8,6pFから選択できる」ようになっている.
これでジッタの出方が変わる.
XTAL付近を指で触ったらジッタが治ったことと符号する.
XTALが死にかかっているのではないだろうか?
邪推であるが20pFなら安定して発振するような独特なXTALなのかもしれない.
↓originalのXTAL発振子を撤去し、25MHzの発振器を取り付け、Si5351のXA端子に0.01uFを介して注入する.ジッタが治った.発振周波数がレジスタ操作と異なる問題も治ったっぽい.
CPUに発振子は使わないで発振器を使うようにしている.
ただしSi5351Aはclock発生ICなので、ジッタ性能が不明瞭な発振器を源発振にしたら用途本来の意義に反するので発振子を使うのが正解であるという事情は承知するところだ.
ハナシは逸れるが、MEMS発振器というのがある.MEMS発振器は水晶でなくシリコン音叉で発振する物だそうだが、安定性信頼性がXTALよりも良いと訴求している.XTALにはなんとなく不良があるものなのだろう.ppmのレアケースかもしれぬがの.
ーーーー
エピローグ
動いたので、STM32CUBEIDEのproject詰め合わせをupしておくなり
あ、忘れてた.こちらのgithubを参考にさせてもらいました.サンクス
AIにさんざ文句を言ってしまったが、AIのcodeでもちゃんと動いたのかもしれない.
↓完成、BNCデカイ
かしこ
>中華通販で最安@¥90ぐらい
返信削除(ソレ、Genuineじゃ無いのでは・・・?
Digikey だと、@¥363 って出ますね。
まぁ「動けばいい」用途ならいいのか)
>Si5351Aはclock generator
このチップは、「SDR界隈」でも、よく出て来ますね。
>Si5351Aは分数の分周比を設定できる
図には無いけど「スワローカウンタ」になってんのかな?
この形式のPLLはその昔、「カーステレオの設計」で、よく使ってました。
分周比が、1/N 以外に指定できるので、便利でした。
>AIがてこずる理由
まぁ、単純に、
・学習不足(そう言う使い方してる人が少ない/居ないってコト)
なんでしょうが・・・AI回路設計はまだまだかな。
DIV[19:16]DIV[15:8]DIV[7:0]の面倒なところを、
削除人間ならこんな風にきちんとバラすじゃないですか
DIV1916 = (DIV >> 16) & 0x03;
DIV1508 = (DIV >> 8) & 0xFF;
DIV0700 = DIV & 0xFF;
ところがAIは直打ちで済ますので可読性が悪いのと、
bitアサインでしくじったりしてゴミcodeなんですなぁ
AI製なろう小説がダサいようなもんで、もっと頑張ってよ >AI
中華激安STM32G030は、
削除いまのところちゃんと動いてます
とはいえ、複雑なことをやらないのでマトモにうごいているように見えるパチモンなのかもしれませんが
中華パチモンの最強続出品はSTM32F103だったかな
いちばんよく見かけるやつ
信じたらサクサク死ねます
分数分周は2000年ごろはどこかの特許が生きてた印象なんでしたが、
削除いまは誰でも使えるようになってるみたいでよござんす
https://www.youtube.com/watch?v=OlNo9-ovvBg これと同じものでうかね。プログラムも置かれています。
削除あ、それだと思います
削除この投稿を読んだらtubeのオススメに出てきましたか?
謎のリンクで監視されちょるホラー
>ジッタが治った
返信削除「秋月電子で売ってるSi5351A」から、「水晶発振子」を剥がして使えばいいのでは?
つか、それなら最初から「秋月のやつ」使えば良いのか・・・(笑)
つか、中華版に付いてる「謎のFET」って、何の為に付いてんだ?
まぁ、秋月だと「650円」しますが(笑)
削除・Amazon で、同等品最安値・・・399円
https://www.amazon.co.jp/dp/B085GGMGGC
・AliExpress で、同等品最安値・・・174円
https://ja.aliexpress.com/item/1005009684339977.html
※「初回割引」とかあるので、定価は高いのか?
1,084円が定価なのかな?
「安定して使えると思われる」秋月の価格が「安いか高いか」は、微妙なところ。
秋月を裏切ってしまって申し訳ありませんっっ
削除といいつつAliexpにあと3ケ注文してあるんですよね
ますます秋月への裏切りだわ
ちゃんと動くのだろうか?
>秋月を裏切ってしまって
削除まぁ別に、秋月に義理立てする理由も無いし・・・(ヲイヲイ
私も「Made in JAPAN命」と言うワケでも無いです。
※最近は「日本製だから品質がイイ」と言うワケでも無いし。
AliExpress の中華製でも、「高品質」なのは有りますし(少数派だけど(笑)あと、それなりに「値段」もする。)一概には言えない。
>中華版に付いてる「謎のFET」
どうも、「5Vトレラント」用の回路みたいですね。
>「5Vトレラント」用
削除そうそう、ご丁寧にどうもです
STM32は電源電圧3.3Vでも5Vトレラントがあるので普段はあまり気にしてないんです
Arduinoはどうなのか知らないけど...
murasaki
返信削除来年のClaudeの答え「ソースはこちらです。動かない場合は発振子から発振器に交換して下さい。工事方法の具体例はこちらです(なぜか平坂氏の基板の写真)。」
ミソスとかいう変な名前のAIに引用されたら名誉なことだよ
削除>独特なXTAL
返信削除まぁ、「XTAL(水晶)」に、
・独特もへったくれ
も無いですが(笑)シリコンと一緒で、
・「質の良い(純度の高い)水晶」Or「質の悪い(純度が低い)水晶」
があるだけです。
※以前、「水晶発振子の会社の仕事」をしてたことがあるのですが、シリコンウエハとかは、単結晶引き上げから出来るマトモな会社は「日本位」にしか無くて、中華ICと言えど、結局は、
・Made in JAPAN のウエハ
使ってたりするんで、そこそこ「品質は保たれている」のですが、
恐らく、水晶とかはそんなこと無くて、
・Made in CHINA の人工水晶の結晶
から切り出して「水晶発振子」作ってんじゃ無いかな?と思います。
なので、「1年後には、発振しなくなってる」とかありそうでコワい。
※なので、これも「発振子より発振器が良い」ジャナクテ
・「日本製の発振器が良い」ダケ
では無いかな?と、思わなくも無いです。
まぁ、単なる個人の感想ですが(笑)
中国吉林省の洞穴から算出した天然水晶を使っているアル
削除↑歩留まり悪そう
「Made in CHINA の人工水晶」で検索したら、こんなサイトが出て来た
削除https://www.usaginonedoko.jp/c/mineral/gd2735
人工水晶|ウサギノネドコ
>人工水晶
>人工的につくられた水晶の結晶です。
>電子機器を動かすための電子部品の一部として使用されており、天然の水晶を原料に生成されています。
>こちらは手に持てるほどの大きさで、表面には幾何学的な模様が浮かんでいます。
■サイズ
約W200mm × D20mm ×H10mm / 110g
■製造地
中国
※コレで「¥3,300税込」は、高いんだか安いんだか分かんないな・・・
つか「発振子用」も「アクセサリ用」も「インテリア用」も、
・同列に扱われてる
のがスゴイ。
イロイロ調べると(AIに聞いた)この辺の区別は、業界的にも「余りない」みたいですね・・・
確かに、↑ にも書いたけど、
・「質の良い(純度の高い)水晶」Or「質の悪い(純度が低い)水晶」
しか無いからかも知れません(笑)
こう言うのを、インテリアとして飾っておくのも良いカモ。
>MEMS発振器
削除>安定性信頼性がXTALよりも良い
それは、
・日本製のウエハ
が、使われてるからです・・・(笑)
だったらウケるな。
意外に安いんじゃないでしょか?
削除いちおう宝石なんですもの
これを極薄に研磨して厚さで周波数を決めてるんだから
鬼のような加工精度な気がしちゃった