« ATtiny1614で周波数カウンタ:キャプチャタイミング | トップページ | 現在、(有)アクト電子のHPが消えてます→回復 »

2025年10月 6日 (月)

ATtiny1614につないだ32kHz水晶発振子、隣のピンの影響を受けるみたい

ATtiny1614のRTC機能を水晶発振で使う時、
6pin(PB3) 7pin(PB2)に水晶をつなぎます。
Ffc100
14ピンのICなので7ピンの右は空間ですが
6ピンの左にポートPA7が来ます。
水晶を発振させて正確なクロックを期待し
ているとき、PA7にパルスを出すと発振状態が
影響をうけるようで、微妙に周波数が変わる
のです。

RTCの周波数はオーバーフロー信号をイベント出力に
出してオシロとカウンタでチェック。
PA7にパルスを出す(オーバーフロー信号に重なるような)
とひどい変動が生じます。

※経過
2025年10月3日:ATtiny1614で(裸の)周波数カウンタ
では、この図のように
Fc41
XTALと離れた(場所)PB0とPB1に
(8pinと9pin)にタイミングチェック用パルスを出して
いました。
  XTALの隣のPA7はLのまま

そこに液晶でカウント値を表示しようと、PB0とPB1のライン
(SDA、SCL)にI2C接続の液晶をつないだのです。

Fcnt41
チェック用パルスも欲しいので、空きピンのPA6とPA7に
出力する場所を移しました。
すると・・・周波数の変動が発生。
原因を追いかけるとPA7が出力するパルスだったのです。

PA7が静かだとPA2に出力しているRTCクロックを
分周したオーバーフロー信号は変動なく一定の間隔
で出力されます。
Ffc11

ところが、測定クロックを与えてPA7にキャプチャ
タイミングチェック用パルスを出力すると、測定周波数
がパラパラと大きく変動。
追いかけてみるとRTCクロックそのものが動いていました。
Ffc000

RTCオーバーフロー信号の周期だけでなくパルス幅も
変化し、これでは周波数の計測はできません。
PA7を静かにしておくと(チェックパルスを出さないよう)、
この変動はなくなります。
水晶の隣接ピンの影響としか思えないのです。

ATtiny1614を乗せているピッチ変換基板と
ユニバーサル基板の配線を変えてみてどうなるか、
試してみます。
  IPAで洗っただけではダメ。
  もっと短くっということか・・・


※参考
ATtiny1614 Frequency Meter:John BradnamPublished March 22, 2021
ここでの回路を見ますと、水晶の隣のPA7をGNDに落としてます。
Fcnt42
ATtiny1614での32kHz水晶発振、何か「秘技」があるの
かもしれません。

※配線変更
元のピッチ変換基板とユニバーサル基板
Fcd2
ユニバーサル基板側に水晶とコンデンサをハンダしてました。
それを取り外し、ピッチ変換基板側に水晶+コンデンサを
乗せてみました。
6ピン、7ピンのピンヘッダは抜いて水晶の信号が
外に行かないようにします。
Fcd3
裏側
Fcd4
ましにはなるが、PA7パルスの影響を受け、変動が出る。
Fcd5
測定値がダメなくらい不安定になるほどの変動ではないけれど、
大もとのクロックが変動するのは、どう考えてもイヤ。
  ※パルスじゃなくアナログ的変化ならどうだ
  を見てみます。

ゆっくりしたアナログ電圧の変化は大丈夫でした。
正弦波でも1kHzくらいになると影響が出始めます。
ということは、PA7は
 ・パルスを出力したらRTCの水晶発振に影響が出る。
 ・H/L固定でも、変化させた瞬間に影響が出る。
 ・デジタル入力も同じで、H/Lが変化した瞬間に
  影響がでる。
 ・ゆっくりした変化のアナログ入力は大丈夫そう。

PA7が持つ他の機能は、
 ・AIN7  ADC0  A/D変換
 ・AIN3  ADC1
 ・AINP0  AC0、AC1、AC2 アナログコンパレータ
ですんで、電池運用機器ならアナログコンパレータを使った
電池電圧低下検出入力あたりに使えそうです。

参考になりますかどうか・・・
MICROCHIP AN2648 Selecting and Testing 32.768 kHz Crystal Oscillators for AVR Microcontrollers User Guide

20ピンのになるとPB2、PB3両隣のピンの信号に注意がいる
のでしょう。
Fcd1

※追記
時計用水晶発振回路を内蔵した昔のチップが「敏感」じゃ
ないと感じたのは、発振回路のRfやRdを外付けしていた
からかも。
水晶部分を触ればアウトだけれど、出力段のインピーダンスは
低いので、ちょっとくらいはOKだった・・・のかも。

Rf内蔵タイプでもRdは外付けしていた。
Xx10
NECの78K0マイコンはRf内蔵でRd外付け。
Xx11
  ジャンクボックスから発掘。

三菱のM3851はRdもRfも外付け。
Xx12

4bitマイコンの基板は発掘できず。
  デバッグ用のチップだけ。
Xx13
東芝のTMP74C。 珍しいピギーパック。

※さらに追記
水晶発振子周辺の配線方法注意書き。
  NEC:μPD7801のデータシートより
X11_20251009084101
X12
X13
推奨する配線
X15

そしてμPD7801(64pin SDIP)はこんな足配置になっています。
X14
水晶の足の隣に電源の関連ピンが配置されてます。

|

« ATtiny1614で周波数カウンタ:キャプチャタイミング | トップページ | 現在、(有)アクト電子のHPが消えてます→回復 »

トラブル遭遇」カテゴリの記事

ATtiny」カテゴリの記事

コメント

変換基板裏側の空きパターンの
SSOPの端子間がぁゃしぃのかも。

投稿: kitamuramasa | 2025年10月 7日 (火) 14時42分

6ピン、7ピン間の32.768kHz用発振回路の「感度」がむちゃ良、つまり発振継続のための消費電力が小:ちょっとの電流で時計機能を持続できるということなんだろうと思ってます。
隣のピンだけじゃなく、周囲の影響を受けちゃうぞ!っということかと。
今回のPA7の信号、ピッチ変換基板のパターン配置を含めてたまたまなのだろうと思います。
基板化時にパターンを設計するときは「よぉく考えておけよ!」っということで。

投稿: 居酒屋ガレージ店主(JH3DBO) | 2025年10月 7日 (火) 20時03分

ここはハイインピーダンスで小信号のアナログ入力ピンと思って使わないといけないのですね。
マイコンなんだから、と油断してたら嵌りそう。

投稿: ラジオペンチ | 2025年10月 8日 (水) 09時25分

32.768kHz時計用クロック回路を搭載したマイコン(4bitのものから)を使ってきましたが、ここまで敏感なのは初めてです。

投稿: 居酒屋ガレージ店主(JH3DBO) | 2025年10月 8日 (水) 10時35分

水晶周辺パターンの注意点を拾ってきました。
過去、ピン配置が良くできてるチップに当たってたから、敏感さを感じなかったのかもしれません。

投稿: 居酒屋ガレージ店主(JH3DBO) | 2025年10月 9日 (木) 11時02分

裏面のSOPパターンは切っといた方がよさげかと・・・
 ->アンテナになってるのでは?

投稿: 通りすがり | 2025年10月 9日 (木) 23時33分

水晶発振回路の隣のピンPA7にパルスを出すとアウトになったゾというのが今回の製作物で得られた知見です。
元の周波数カウンタの製作レポートにある回路ではPA7は入力ポートのままGNDにつないでありました。
https://igarage.cocolog-nifty.com/photos/uncategorized/fcnt42.png
NEC製マイコンのように発振子につなぐピンの両側がVDDやGNDだとエエんですが。
https://igarage.cocolog-nifty.com/photos/uncategorized/x14.jpg

Arduino UNO R3のATmega328P(28pin DIP)は、
8pin GND
9pin XTAL1 発振器入力側
10pin XTAL2 出力側
11pin PD5 汎用ポート
となっていて、今にして思えば「考えてあるやん」かと。

投稿: 居酒屋ガレージ店主(JH3DBO) | 2025年10月10日 (金) 09時37分

ATtiny1614では、6pinのTOSC1が入力側(外部から32kHzクロックを入れるときに使う)のようです。

投稿: 居酒屋ガレージ店主(JH3DBO) | 2025年10月10日 (金) 09時46分

コメントを書く



(ウェブ上には掲載しません)




« ATtiny1614で周波数カウンタ:キャプチャタイミング | トップページ | 現在、(有)アクト電子のHPが消えてます→回復 »