STM32 ADCノイズ2


9

STM32F2で2つ目のデザインをテストしたところ、今度はSTM32F207ZFT6になりました。ADCの動作は、最初のアプリケーションと同じです-ADCの強いノイズ。

ボード回路図の重要な部分

信号が接続されていない電流入力のノイズ:

フローティングピンで受信した信号

注:上記の信号グラフでは、垂直軸はボルトではなくADCビット単位です!; 凡例„ [V]“と混同しないでください。このテストでは、変更されたプログラムを使用して大まかなADCデータを確認しました。

次に示すように、CPUのアナログピンがGNDに短絡した場合でも、同じノイズが発生します。 ピンがグランドに短絡した入力信号

私の意見では、サンプリングされた信号には30 LSB以上の永続的なスパイクがありますが、5〜10 LSBを超えることはできません。

別の詳細:

  • 2面PCB、底面には他の接続がありますが、そのほとんどはGND信号で注がれます-デジタルとアナログの両方に共通で、アナロググランドは分離されていません。ボードの消費は最小限で、100 mA未満なので、そのようなノイズが発生することはないと思います。

  • オペアンプでバッファリングされた基準電圧VREF 3.3V、100nFとタンタル10uFで並列にブロック、VREF / 2と同じ。各プロセッサの電源ピンは100nFのキャップでブロックされています

  • 以前のアプリケーションでは同じ設計概念を使用しましたが、使用したプロセッサはAduC834でした。12ビットADCもあり、信号ノイズは数LSBのみで、問題はありませんでした。主な違いは、AduCの内部電圧リファレンスが使用され、外部リファレンスは使用されなかったことです。

  • プロセッサのアナロググランドピンをボードの共通GNDから切り離し、追加のワイヤで直接基準電圧VREFグランドに接続するようにテストしましたが、影響はありません。

  • 三相ネットワーク測定装置であり、3つのアナログ電圧チャネルと3つの電流チャネルがあり、切り替え可能なゲインプリアンプを備えています。CPUオシレーター25 MHz、PLLによる内部クロック120 MHz、ADCクロックは30 MHz(技術仕様に準拠)、メインの内部クロック(したがってすべてのセカンダリクロックも)を1/4に遅くするようにテストしましたが、影響はありません。

  • ADCは、50 Hzのネットワーク周期ごとに128変換のレートで入力信号を定期的にサンプリングします。結果はDMAによって内部RAMに転送されます。RAMからのデータは、絶縁RS485(別のボード上)を介して転送され、プログラムで視覚化されます。変換時間を最大に延長しようとしましたが、効果はありません

  • CPUを除いて、3つのオパム、2つのアナログスイッチ、I2C温度計、および3つのULNスイッチ(テスト中は未使用)、リニアLF33スタビライザー、通常は別のボード上のスイッチャーからの5V DCから電力が供給されますが、テスト中にスイッチャーは切断され、LF33は透明な実験室の5V DC電源から給電されました。プロセッサオシレータ以外はボードで発振できないと確信しています。

  • オシロスコープで信号を確認しても決定的な結果は得られず、信号が弱すぎる

このプロセッサフ​​ァミリのADCパフォーマンスの経験がある人はいますか?

信号強度について:アナログ入力が短絡している場合でも、オシロスコープで5〜10 mV(ピークツーピーク)のノイズが見られます。基板にはんだ付けされた最小接地線長の同軸ケーブルで測定しました。標準プローブでは、おそらく接地が悪いためにノイズが約2倍高くなりました(一般的なEMCノイズ?)。

これは私のボードの画像です: 組み立てられたボードの画像

そして、ボードの底: 基板下の画像

上記で報告したように、信号が接地されていても、ADC変換されたデータには約30 LSBのノイズが残っています。


あなたは信号が弱すぎると言います、それはどれくらい弱いですか?
Kortuk、2011年

:私はあまりにもSTのフォーラムで私の問題を報告している、そこに(ボードの写真を含む)すべてのリンクがあるmy.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/...
ミラノ

2
ボードのバイパスキャップの近くには、快適に感じられるほどのバイパスキャップはありません。すべて、パーツからかなり離れています。
コナーウルフ

2
@偽名-ミラノはこの用語を誤用していません。「x LSB's」への言及は、最下位ビットの線形値のx倍を指します。ただし、「xビットのノイズ」は2 ^ x LSBを指す場合があります。
Chris Stratton

3
@Chris Stratton-同意しません。「x bit of noise」は「x LSBs」と同義です。したがって、「LSB値のx 」とは、最下位ビットの線形値のx倍を意味します。ただし、x LSBはx最下位ビット、または2 ^ xの線形範囲を意味します。
コナーウルフ

回答:


4

ADCには、フレッドが引用した3つに加えて4番目の入力があると主張します。少なくとも一部のタイプのADCでは、クロックのジッターまたは位相ノイズがADC測定に影響を与える可能性があります。

あなたは25 MHzの発振器を持っているが、30 MHzでADCを実行しているので、そのクロックの生成に関与しているPLLを持っていると言います。それがうまくいかない場合、その不規則性が変換ノイズの原因となる可能性があります。ソフトウェア構成を(一時的にでも)変更して、PLLを使用せずに、入力クロックで実行するか、PLLから分割することはできますか?

一部のマイクロコントローラーには、ノイズを低減するために、ADCの読み取り中にデジタル回路のほとんどを一時停止するメカニズムもあると思います。そのようなことが可能かどうかを調べてみてください。


2

あなたが見ているノイズの多くの考えられる理由があります。ADCには3つの入力があることを理解することが重要です。

  1. 入力ピン(信号入力として設計されたもの)
  2. リファレンス入力(Dout = 2 ^ n * Vin / Vref)
  3. 電源ピン(電源+ gnd)

これらのいずれかにノイズがあると、見られるノイズが発生する可能性があります。ADC自体に欠陥がないと仮定すると、ノイズはこれら3つのパスのいずれかを経由している必要があります。

アナログとデジタルで同じグラウンドを使用してまともなADC性能を実現することは可能ですが、すべてのデジタルループ電流がアナログループから分離されるようにPCBを注意深くレイアウトする必要があります。

このコンテキストでは、ループは、信号または電源ライン(このコンテキストでは「ノイズ」信号と見なされます)がPCBを通過する電流パス全体です。したがって、電源ラインの場合は、電力がボードに入るところから、トレースに沿って電源ピンに到達するまで、IC内のすべてのトランジスタを経由して、接地ピンから出て、抵抗が最も少ない経路に沿って戻ります。パワーがボードに入る場所。これが1つの電源ループです。

ただし、電源のバイパスを適切に行うと、バイパスキャップの電源側から電源ピンからグランドピンに、そして再びグランドに戻る、はるかに小さく局所的なループになるため、そのループにはAC電流は多くありません。バイパスキャップの側面。すべてのデジタル電源がしっかりとバイパスされている場合、電源ループはほとんど問題なく、すべてのノイズの多いデジタルは短いバイパスキャップループに制限されます。

信号ループ(Vrefループを含む)は同じように機能します-信号が入り、ADCに向かって進み、ADC GNDから出て、信号グランド(信号が始まったのと同じ場所)に戻ります。そのループがデジタルループと交差すると、ノイズが注入される可能性があります。したがって、通常、1つのGNDをアナログとデジタルに使用する優れた混合信号設計では、デジタルをすべて片側に、アナログをすべて反対側に保ち、基板の端のGNDを分割点の右側に配置します。通常、それはカットアンドドライではなく、妥協する必要がありますが、それは考えです。

「ボードの消費は最小限であり、100 mA未満なので、そのようなノイズが発生することはないと思います。」システムがどれだけうまくバイパスされているかと関係があります。バイパスが不十分な100mAシステムでは、バイパスが良好な1000mAシステムよりもグランドプレーンのデジタルノイズが多くなります。

お役に立てれば...


1

ボードの設計は、実際には推奨される一般的なルールを尊重していません。

再テストしました。標準ボードの標準的なノイズは、http: //imgur.com/a/TU9RQのFig1にあります

問題が誤った接地によって引き起こされていることを確認するために、次の変更を行いました。

  • 強化された共通接地(図2の変更されたボードと図3の適切なノイズ)
  • アナロググランドとデジタルグランドの分離、およびVSSAプロセッサピンでの相互接続(図4)。

それらのどれも助けませんでした。したがって、4層PCBに再設計した後でも問題が再び発生するのではないかと心配しています…

PLLの影響をテストするために、PLLのスイッチを切り、コアは外部の25 MHzクリスタルのみでクロックされました。ノイズは低下しましたが(図5)、システムクロックの低下(通常、コアはPLLの120 MHzによってクロックされる)によって引き起こされたように見えます。25でPLLに再切り替えしたときにMHz、ノイズはPLLが動作していない場合と同じでした。

唯一の顕著な効果は、3番目のプロセッサADCを使用して各電圧と電流のペアと同時に個々のプロセッサピンを介してVREF / 2信号を測定し、それを電圧と電流信号から差し引くことで達成されました。その後、変調ノイズは約半分に減少しますhttpで://imgur.com/a/EeqUo、上の赤いグラフ=標準信号、下の青いグラフ=測定されたノイズ減算後の信号)。しかし、ノイズ測定に3番目のADCを使用することはできません。別のタスクでそれが必要なので、これは私にとっての解決策ではありません。


1
これは答えではないので、そのように投稿されるべきではありませんでした。そうは言っても、入力発振器の1:1でADCに入力されたPLLクロックは、その奇数ボール比よりもはるかにクリーンです。コモンモードノイズが疑われる場合は、すべてのチャネルに共通するものを確認する必要があります...
Chris Stratton

通常、外部osc 25 MHzは内部で1 MHzに分割され、この周波数はPLLの制御に使用されます。120 MHzのシステムクロックは4分周され、30 MHzのADCクロックが得られます。テスト中、システムクロックは25 MHz(両方ともext oscから直接、PLLを使用)であり、ADCはそこから直接駆動されました(プリコーラーが1に設定されています)。つまり、同じ25 MHzで実行されます。2番目のアイデアに関しては、ADC変換中にコアをスリープモードに切り替えることを意味します。ADCは、単純にオフにすることができないDMAによって提供されます。しかし、私たちのアプリケーションでは使用できませんが、試してみるのは面白いと思います。
ミラノ、

以前のコメントをまとめると、PLL出力に分周器があることを忘れていました。そのため、実際には、PLLは通常240 MHzで動作し、2で除算してシステムクロックを取得します。テスト中、PLLは200 MHzで動作し、8で除算して25 MHzのシステムクロックを取得します。
ミラノ、

@ChrisStrattonそれは彼が問題をどのように解決したかを詳述しているようです、それは答えのようではないですか?
コルトゥク

2
@Kortuk「それらのどれも助けになりませんでした。したがって、4層PCBに再設計した後でも問題が再び発生するのではないかと心配しています…」私には、この答えを元の質問の編集として追加する必要があると感じています。彼の2番目の回答は、が問題をどのように解決したかを説明しているようです。
m.Alin

1

PCBを4層に再設計しました。そして-なんと驚き-ノイズがオフになっています!詳細はこちら


4
あなたは正気ですか!319(!)文字のURIですが、適切にハイパーリンクされていませんか?
stevenvh 2012

1
リンクが壊れている、私はそれが今ここだと思う- community.st.com/thread/19850は
ogurets

1
@oguretsそしてまた壊れた。リンクの回答やベンダーフォーラムは嫌いです。「お探しのページは移動されたか、存在しません。」
Navin

1
私はあなたの痛みを感じる@Navin ...「STM32F2 ADCノイズ信号」、ポスト日付2011年10月28日(次回のために、彼らはそれを動かす)ことにより、Googleで検索:community.st.com/s/question/0D50X00009XkaFz/...
oguretsを

@oguretsありがとう!私はその裏話に興味がありました。
Navin
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.