7

免責事項:私は(ほとんど)ハードウェアに無知です。これはおそらく私の問題です。ただし、ハードウェアをデバッグできないことを受け入れるのは難しいので、セカンドオピニオンを取得したいと思います。

問題があります。特定のアクション(実行時にUsbデバイスをスワップインおよびスワッピングアウト)によって、UsbハブまたはUsbボード上のチップ(カスタムハードウェア)が破損する可能性がある場合。これはあいまいな問題であり(「吹き飛ばし」の程度は少し異なる可能性があります)、問題は断続的に現れ、信頼性の高い再現が非常に難しいさまざまな症状(通常はパケットのランダムな破損)が発生します。

これにより、新しく報告された問題がこのハードウェア障害によるものなのか、実際にはソフトウェアのバグなのかを確認するのが困難になります。その後、これらのデバイスに保護を実装しましたが、保護されていないデバイスを保護されたデバイスと一緒に使用すると、(現在は保護されている)デバイスが汚染される可能性があります。ポートの1つも保護されていません。つまり、誤って間違ったポートを使用することで、安全であるはずのユニットを誰かが「殺す」可能性があります。

その結果、すべてのハードウェアを完全に交換せずに、どのデバイスがこの問題を抱えているかを判断することは不可能です(ほとんどの本番ハードウェアの弾丸を噛みましたが、まだ多くの開発ハードウェアとQAハードウェアがありますこの問題で)。

ある種のハードウェア診断ツールを使用してキットに欠陥があるかどうかを判断できるハードウェアがあれば、それは可能だと思います。私は夢の世界に住んでいますか?私のハードウェア部門は、障害を証明できる唯一のテストはソフトウェアテストであると言っています...しかし、私が述べたように、症状を再現することは非常に困難です。私はハードウェアの経験があまりないので、これが唯一の答えかどうかはわかりません。したがって、私は世界に尋ねます。

4

6 に答える 6

6

ビルトイン テスト機器は、ビルトイン テストを実行するために使用されます。

BITE for BIT

(バイトは含まれません。)

軍事/航空宇宙機器がそれ自体をテストするための追加のハードウェアを持つことは、完全に、まったく正常です。

オリジナルの IBM PC ハードには、驚くほど多くのテスト用ハードウェアが組み込まれていました。

機器の場合、テスト デバイスと何らかの統計分析がうまく機能します。これはドングルのハードウェアで実行できますが、率直に言って、一部のソフトウェアを使用すると簡単になります。2 つのバックツーバック USB から RS232 シリアル コンバータを使用して、USB ループバック デバイスを作成します。大量のデータ、チェックサム パケットを送信し、エラー率を測定します。

あなたのエラーは in->out 側と out-<in 側で発生すると想定しています。

実際、ハードウェア担当者はいくつかのアプリケーション ノートを確認する必要があります。本によると、 USBはホットプラグ対応です。この種のことを防ぐために、USBチップのボードへの接続をオプトカップリングするネット上のクールな例があります。USB チップはホストに接続され、ホストから電源が供給されます。USB チップへのインターフェイスは SPI であり、ボードの残りの部分に光結合されています。

あなたに関しては、チップが部分的に故障しています。損傷したデバイスは、数か月間正常に動作し、その後死亡する可能性があります。静電放電(「静的ザップ」)は、あなたが説明したのと同じことを行うことができます。デバイスは、ユーザーが感じないほどの小さな衝撃でも損傷する可能性があります。

半導体の配線や機能は微細であり、浮遊電気によって簡単に損傷を受けます。ハードウェア設計がほとんど正しい場合、おそらく経験している問題の主な原因は、デバイスのプラグを抜き差しする際の ESD です。デバイスには独自の電源があり、接続されるまで、USBケーブルのもう一方の端に対して接地電圧が変動します。

お役に立てれば。

于 2010-03-11T02:03:43.993 に答える
4

いいえ、ちがいます。

多くのハードウェア メーカーは、ハードウェア テストから始めます。入力と出力 (IO) は、回路フローがどこに向かっているかを評価するだけの問題です。ソフトウェアとハ​​ードウェアの両方がブール演算を扱う抽象化を考えてみましょう。

ハードウェアは、人間が判読しにくいだけです。

于 2010-03-10T13:23:59.073 に答える
1

ハードウェアが単純であり、信号へのアクセスが多いほど、「純粋なハードウェア」のような方法で診断できる可能性が高くなります。たとえば、PCIスロットに接続された単純なパラレルポートカードがある場合、PCIバスとアダプタの出力にバスアナライザを配置し、カードがアドレス指定されたときに出力が正しいことをしたかどうかを確認するのは比較的簡単です。 。ただし、PCIバスからそのカードにアクセスする必要があることに注意してください。これは、(A)テストハードウェアの大きな山の1つであるある種のPCIバスシミュレーション、または(B)数行のテストコードを備えた安価な既製のPC。

しかし、スペクトルの反対側で、大規模なFPGAを扱っているとします。多くのロジックをFPGAに組み込むことができますが、必ずしも必要なすべてのテストポイントにアクセスできるとは限りません。FPGAに埋め込まれたシリアルポートのバグに個人的に遭遇しました。シフトレジスタのプリロードレジスタとの競合状態によって、バイトが破損することがありました。仮に、VHDLを作り直してテストポイントを引き出し、スコープとアナライザーの山を集めた可能性がありますが、管理の観点からは、ソフトウェアで問題を解決しようとする方がはるかに費用対効果が高くなりました。通常の使用では、問題のバグはブルームーンごとに1回発生します。バグを誘発する条件について推測し、テストコードを改良することを繰り返しました。1分間に2〜3回バグを再現できるテストソフトウェアができるまで。その時点で、問題を迅速に修正するのに役立つ手がかりをVHDLの人に実際に提供することができました。

簡単に言うと、1週間以内にソフトウェアを介してハードウェアのバグが発生しましたが、同じ情報から始めて「ハードウェアのみ」に移行することは、これ以上速くはなく、多くの高価なテスト機器が必要でした。したがって、ええ、おそらくソフトウェアなしでそれを行うことができますが、いつものようにそれはトレードオフであり、仕事のためのソフトウェアとハ​​ードウェアの量の間の適切なバランスポイントを見つける必要があります。

于 2010-03-11T03:14:19.410 に答える
1

あなたの問題は、唯一の既知の症状 (USB ストリームのパケット破損) を検出するのが非常に難しいため、それを検出するために (ある程度の) ソフトウェアが必要になることです。

パケットが破損している理由(電圧が悪い?)を突き止めることができれば、ハードウェアでそれを検出できるでしょうか?

それ以外の場合は、ある種の堅牢なテスト キットと、破損を探すために大量のパケットを送受信するためのソフトウェアが必要ですか?

于 2010-03-10T13:26:43.130 に答える
1

いいえ、それがオシロスコープとロジック アナライザの目的です。また、 USB テスターなどのより専門的な機器もあります。

于 2010-03-10T15:08:28.137 に答える
1

結局のところ、ハードウェアの通信回線は (最も基本的な) さまざまなピンを介した HIGH と LOW です。

私には(自動車技術業界の)兄弟がいて、電位計を使用してピンの電圧を測定し、問題がどこにあるかを特定しています(私はその分野で彼のやり方を詳しく説明するほど頭が良くありません)。

于 2010-03-10T13:24:07.310 に答える