- 締切済み
マイコン内でのデータ跳びの可能性について
- 機械での『アワメータが戻る』事象について、5件の発生が確認されています。
- 原因特定が難しく、異常は確認されていません。
- 割り込み処理や組み込みソフトの不備により、正しくないデータが記録される可能性が考えられます。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- kaba__san
- ベストアンサー率46% (28/60)
No.1です。 秒カウントしてる変数が32ビット(最大約120万時間)なんかだと16ビットマイコンでも同じことですよ。 変数のアクセスに割り込みとケンカしない排他処理しないとおかしくなりますから。
- fujiyama32
- ベストアンサー率43% (2306/5313)
装置に組み込まれている電気機器にソレノイド、電磁接触器、電磁リレー モーターなどがありますと、これらの機器が動作(開閉)した時にサージ電圧 (急峻な波形で異常な高い電圧)が発生します。 この現象とともにノイズが発生し配線を経由して電子回路に悪影響を与え ます。 また、空中に電波としてノイズが侵入することが知られています。 次のような対策が考えられますので、対策していなければ検討して実行する ことをお勧めします。 1)電気機器に「ノイズフィルター」を追加する。 2)強電回路の配線と電子回路の配線をできるだけ離す。 3)配線を撚り合わせる。 4)シールド線を使用する。 5)接地線のルートを見直す。 6)マイコン部分の電子回路全体を鉄板カバーで覆う。 (注) これらの現象は「目視」では判断できません。 「メモリレコーダ」などを使用して誤動作が発生するまで連続監視して、 原因を調査し、対策する必要と思います。
お礼
ありがとうございました。 参考にさせて頂きます。
- wormhole
- ベストアンサー率28% (1626/5665)
「アワメータが戻る」というのが具体的に、どういう事かわかりませんが、 実装の不備(それが割り込み処理なのか組み込みソフトなのかはわかりませんが)によって起こりえるとは思います。 >上記の条件にて、割り込み処理や『memcop』等、 「memcop」は「memcpy」の間違いだと思うのですけど、 「memcpy」はコピー元とコピー先の領域が重なる場合の動作保証はされていません。 関数には、そういう制限のあるものもありますので、それらが影響している事もありえます。
お礼
ありがとうございました。 参考にさせて頂きます。
- ohkawa3
- ベストアンサー率59% (1535/2586)
素人回答で申し訳ありません。 通常の場合1サイクルのデータ処理で正しい出力が得られても、入力数値のデータの変化が極端に大きい場合に1サイクルでデータ処理が済まずに、出力データの連続性が一時的に保てなくなるようなことが生じている可能性がありませんか?
お礼
ありがとうございました。 参考にさせて頂きます。
- lumiheart
- ベストアンサー率47% (1156/2447)
常識的にノイズによる誤動作とみるけど? まぁ、ノイズに弱い回路か? 或いはノイズに弱いソフトとか? あるけど https://www.jp.tdk.com/tech-mag/emc2/002 https://www.jp.tdk.com/tech-mag/emc/009 現代ではノイズ対策はある程度確立されてるんで 誤動作の確率はかなり減ったけれど ほんの20年くらい前まではかなり苦労したもんだ 定石的にオシロスコープでノイズを観測するんだけど https://news.mynavi.jp/article/oscilloscope-7/ https://www.yrl.com/column/tm/solutions_for_noise_reduction_trend_1906.html 常時バババーってノイズが乗ってるんなら簡単だけれど 1時間に1発とか10時間に1発のノイズとかだと そう簡単ではなかったりする それなりに高価なオシロならそれなりの機能で捕らえる事は可能(百万円以上するよ) https://jp.tek.com/oscilloscope/dpo70000sx ↓ヒストリサーチ機能 https://tmi.yokogawa.com/jp/solutions/products/oscilloscopes/digital-and-mixed-signal-oscilloscopes/dlm4000-mso-series/ 1時間の膨大なデータの中から1発の異常データを探し出すのは大変な作業
お礼
ありがとうございました。 参考にさせて頂きます。
- kaba__san
- ベストアンサー率46% (28/60)
宇宙などの極限状態で運用しているならいざ知らず、0.04%もの確率でハード的なエラーなんてありえないでしょう。最も可能性の有るのはバグだと思いますよ。 8ビットマイコンなのにマルチバイトデータのアクセスに非分断処理をせず、秒計測の割り込みでバグるとかよく見る例ですね。 基本過ぎてバカにしているとか言われるかもですが、イージーミスって有りますから。
お礼
ありがとうございました。 マイコンは、マイクロチップ社のワンチップ『PIC24FJ256GA106-I/PT』(16ビット)を使用しています。 誤った情報提供で申しわけありませんでした。 参考にさせて頂きます。
お礼
了解しました。 マイコンの組み込みソフト設計者からは、アプリケーションレイヤー(ソフト)の割り込み処理やメモリコピー等の問題は無いと言われていますが、かと言って不具合原因が特定されていない状況です。 勇気を頂きましたので、再度、ソフト設計者と話しあってみます。 ありがとうございました。