カスタムSTM32ボードをプログラムできない


9

シンプルなSTM32ボードを設計しました。以下は、回路図とPCBレイアウトの写真です。

回路図:
ここに画像の説明を入力してください

PCBレイアウト: ここに画像の説明を入力してください

VDDが強調表示されたPCBレイアウト: ここに画像の説明を入力してください

GNDが強調表示されたPCBレイアウト: ここに画像の説明を入力してください

私の質問に関連するこのデザインの部分だけが上の写真に示されています。

私の問題は、次のとおりです。STM32ディスカバリーボードの組み込みST-Linkを使用してこのカスタムボードをプログラミングしようとしましたが、まだ成功していません。PC上のST-Linkユーティリティアプリケーションはプログラマを認識できますが、ターゲットMCUを検出できません。表示されたエラーメッセージは、「ターゲットが接続されていません」と「ST-Link USB通信エラー」でした。

ここに私の問題に関するいくつかの関連する事実があります:

  • STM32 Discovery Boardは正常に動作します。組み込みのST-Linkを使用して、オンボードのSTM32 MCUをプログラムできます。これで結構です。
  • STM32 MCUは、カスタムボードに正しい向きではんだ付けされています。これを2回確認しました。
  • VDDとSWDのトレースを確認しました。それらはよく接続されます(はんだ付けの問題はありません)。Boot0ピンは0Vです。NRSTピンは3.3Vです。
  • SWDケーブルは短く、長さはわずか7〜8 cmです。
  • カスタムボードのSTM32は、ディスカバリーボードのSTM32と同じタイプです。
  • Discoveryボードを使用して外部STM32 MCUをプログラムする方法について、STM32 Discovery Boardのマニュアルの指示に従いました。具体的には、2つのCN3ジャンパーを取り外し、次の表のようにボードを接続しました。 ここに画像の説明を入力してください

  • また、ディスカバリーボードのはんだブリッジSB11を取り外しました(これにより、ピンNRSTが正しく機能するようになりました)。

  • ST-LinkユーティリティアプリとKeilの両方を試しました。私が受け取ったエラーメッセージは同じです。
  • 最初は上の表(SWO)のピン6を接続しませんでした。私の知る限り、それは必要ないからです。しかしその後も接続しましたが、うまくいきませんでした。
  • また、NRSTピンからGNDに100nFのキャップを追加し、次にこのピンからVDDに100kのプルアップ抵抗を追加しました。問題はまだ残っています。
  • また、ST-Linkユーティリティプログラムの「リセットして接続」モードを使用しようとしました。運もない。

デザインに問題があるのではないかと思いますが、よくわかりません。問題の解決を手伝ってください。

どうもありがとうございました :)


私が覚えている限り、st-linkとカスタムボードの両方に電力を供給する必要があります。カスタムボードのSWDコネクタの3.3Vは、st-linkが検出する3.3Vを提供する必要があります。
davidrojas 16

@davidrojas:回答ありがとうございます。さて、現在私は自分のPCからUSBポートでST-Linkに電力を供給しています。カスタムSTM32ボードは、外部の独立した3.3Vから給電されます。ただし、これらの2つのボードのグラウンドはすでに接続されています(上記の表のように)。また、カスタムボードからの3.3Vは、ST-LinkのVDD_TARGETにも接続されています。これで十分だと思いますか?
user3286500 16

はい、それで十分でしょう。SWDIOとSWCLKのラインの長さとレイアウトが別の問題である可能性があります。これが原因で、断続的に接続できないという問題がありました。それらはできるだけ短くする必要があります。SWDの速度も下げてみてください。
davidrojas 16

SWD速度をデフォルトの1.8 MHzから400 kHz未満に下げましたが、それでも成功しません。ケーブルの長さについては、私のセットアップでは、SWD接続(ST-LinkからターゲットSTM32まで)の全長は約12〜13 cmです。これはまだ制限内ですか?
user3286500 2016

1
チップの下のグラウンドプールは物理的に絶縁されており、実際にはどのグラウンドピンにも接続されていないことに気づきましたか?グランドピン間の実際の接続は、チップの外の曲がりくねった経路をたどっており、それらの一部は実際には絶縁されている場合があります。地面の注ぎ口が孤立した島を持たないようにクリアランスを調整する必要があります。これにより、チップのすべての接地ピンが同じ電位に非常に近くなります。
Dave Tweed

回答:


5

素晴らしいコメントありがとうございます。それらのおかげで、私は自分のデザインにエラーがないと確信しています。そのため、ハードウェアのエラーを探すことに集中しました。そして私はエラーを見つけました!これははんだ付けエラーです。

「マルチメーターを使用して、すべての接続の短絡または接続の欠如をテストします。プローブを強く押すと、「修正する可能性があるため、ピン/パッド/何にでも軽く触れてください。 "一時的に接続します(たとえば、ICのピンをPCB上のトレースに押して、テストはOKですが、ピンを離すとすぐに、再び曲がります)。" 元の投稿はこちらです。

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