新しいマイクロコントローラーに欠陥があるかどうかをどのように判断しますか?


11

私はパーツをdigikeyからの欠​​陥海峡で扱ったことはありませんが、受け取った3つの新しいAtmel ATmega164Aは非常に奇妙な動作を示しています。

私はそれをクロックに関係する何かに絞り込みました、そして、おそらく「工場で較正された」内部発振器からの結果として生じるクロック信号は、それがそうであるはずの固体1 MHzの代わりに650-700 kHzの間でジッターしていることがわかりました。私はこれを1 MHzに非常に近づけるためにキャリブレーションバイトに書き込むことができましたが(ほとんどジッターはあります)、ほとんどのものが機能しますが、UARTは正しく動作せず、短いパルスの連続ストリームを出力しているようですあなたが彼らに何をするように頼むか。

私は以前にこのマイクロコントローラーの低電力バージョン(164P)を問題なしで扱い、それを所定の位置にドロップしてその上のクロック出力をチェックすることを決定しました。これらの164Aチップには欠陥があるという結論に傾いていますが、それを確認するために他にテストを試すことはできますか?


編集:私が時計を測定しているプロセスを説明すると思いました。クロック出力ヒューズビットを有効にし、適切なピンをロジックアナライザーで非常に高いレートでサンプリングして測定しました。キャリブレーションレジスタに書き込むプログラムがありOSCCAL、1 MHzまで試行錯誤することができました。


編集#2:さらなる調査の後、マイクロコントローラーは特定のプログラムサイズの後に動作し始めるようですしきい値。単一のソースファイルがLEDを点滅させる最小限のプロジェクトは問題ないようですが、他のファイル(たとえばUARTライブラリなど)をコンパイルしてリンクし、それらのメソッドへの関数呼び出しを行わなくても、マイクロコントローラーが動作します。上記の動作。電源接続は問題なく、適切なデカップリングが行われています。現時点ではこれをデバッグする時間がないので、代わりに低電力バージョンを使用しました。どこに問題があるのか​​正確にわかりません1)164Aと164Pはコード互換ではありません2)これら2つのuCのプログラミング手順が異なります3)ユニットに欠陥があります。私はボード設計に自信があり、電源の問題を除外します。残念ながら、私は実際には正しい答えを選ぶことができないので、この質問はそのままにしておきます-多分私は 将来再び問題に戻るでしょう。洞察に満ちたコメントや回答を提供してくれた皆さんのおかげで、すぐに使えるuCの問題を抱えている他の人に役立つかもしれません。


あなたの質問に直接関係はありませんが、言及する価値があります。多くのICメーカーには、特定のシリコンリビジョンにバグを見つけたときにリリースするエラッタページがあります。確認したことがないエラッタにある既知のバグに何度か遭遇しました。これらは通常、機能していない時計ほど大きくはなく、通常、いくつかの回避策が提供されています。しかし、あなたの場合、既知の正誤表はありません。
Kellenjb

1
@jon、より高い電力バージョンが壊れていて、より低い電力バージョンが機能している場合、回路を適切にデカップリングしていない可能性があり、電力の整合性の問題があります。
Kortuk、2011年

@Kellenjb、データシート内のこのモデルの「既知のエラッタなし」(最新のデータシート、06/11)。確かにどんな方法でも言及する価値があります、ありがとう。
ジョンL

@ジョンええ、それは私が「しかし、あなたの場合、既知のエラッタはない」という意味です。
Kellenjb

1
コルトゥクが言ったことを二番目に言います。これは電源装置またはデカップリングの問題のようなにおいがします。
Olin Lathrop

回答:


3

このような障害が発生することはまれです。ピンでノイズが少し増えるか、そのピンが完全に機能しなくなることが予想されます。しかし、「ある程度は機能するが、有用な方法ではない」ことはまれです。問題を引き起こしている設計上の問題があると思います。164Aと164Pの違いと関係があります。ジッタが高いので、電力関係を見てみます。すべてのpower / gndピンが接続されていますか?I / Oピンは駆動されているか、またはHighまたはLowにプルされていますか?等。

しかし、部品が不良である可能性はまだ残っています。それはまれですが、前代未聞ではありません。伝える唯一の実際の方法は、別のサプライヤーからいくつかの部品を入手して、それらを試すことです。それらが機能する場合は、さらに調査して、処理/はんだ付けでそれらを殺したのか、それとも本当にDigikeyが悪いのかを確認する必要があります。


2
機会があれば、すべてをトリプルチェックします。私も自分の結論に懐疑的です。これは工場で捕まえられないだろう、または移行中に損傷を受けた可能性は非常に低いようです...報告します。
Jon L

接続に関しては、すべてがチェックアウトします。詳細を提供するために質問を編集します...
Jon L

2

かつて、Microchipのベースラインパーツに関して非常によく似た問題がありました。ICSPプログラミングをめちゃくちゃにしていて、発振器のトリムを消去する方法を見つけていたため、内部クロックの精度に大きなエラーが発生していました。プログラミングフィクスチャやプログラミングツールが正しく接続され、正しく使用されていることを確認してください。

部品をプログラミングせずに発振器の精度を確認する簡単な方法はないので、簡単なポートトグルプログラム(I / Oラインを少ししか動かさないもの)を書いて、他の誰かにパーツ、できれば異なるプログラミングハードウェア。揺れを確認したら、独自のコードで再フラッシュして、問題が解決するかどうかを確認できます。


クロック出力ヒューズビットを有効にすると、PORTBのピンにクロック信号が送られます。これは、発振器/クロックの精度を決定するためにサンプリングしているものです。おかげで、プログラミングプロセスとツールを再確認します。
Jon L
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.