- 締切済み
※ ChatGPTを利用し、要約された質問です(原文:シリアル通信チェックコードについて)
シリアル通信チェックコードの計算方法が分からない
このQ&Aのポイント
- 自動化したい装置と通信アナライザーを接続し、通信ログを取得しました。
- しかし、電文内のチェックコード(チェックサム)の計算方法がわかりません。
- LRCやCRC8などを試しましたが、一致しません。助けをお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
noname#230359
回答No.4
質問文を読んだ時から、多分CRCだろうなと思っていました。 (週末、やっと時間が出来て書き込める!) 難しいですね、こういう類の仕事は。 或る一定のデータ列を用意し、末尾から1bitずつ変えていって どう変化するかで、地道に解析するしかないのでは?
noname#230359
回答No.3
チェックコード挿入というからには SDLCやHDLCみたいに自明なフレーム同期通信以外では どこかでデリミタが存在していてフレーム区切りになっているはず。 非同期の調歩同期通信ならチェックコードは 制御文字を外した領域に埋め込んでいる可能性が大きく 計算したビット列そのままで表現されてるかさえも怪しい。 基本総当たりしかないでしょう。 通信系だからCRC(巡回系冗長)だと思いますが シリアル通信なら CRC-16 と CRC-CCITT は 真っ先にチェックするべきかな。
noname#230359
回答No.2
>装置は事情により開示できないのです。 リバースエンジニアリング以外の事情があるのでしょうか? さもなくば学校の宿題か? 考えるヒント 下位4ビットのみで 単純加算、OR、EOR、、それらでゼロになるのは無い なので残る選択肢はCRC http://ja.wikipedia.org/wiki/%E5%B7%A1%E5%9B%9E%E5%86%97%E9%95%B7%E6%A4%9C%E6%9F%BB かなり沢山ありますね これ全部を確認しましたか? 他には 0x06を上位下位テレコで0x60と、言う可能性は? 0x9Fをビット反転しての0x60と、言う可能性は? 0xFF60の下位のみ取出し0x60と、言う可能性は?
noname#230359
回答No.1
”ある装置”と提示しているようでは途方にくれている実感が感じられないですね。暇つぶしみたい。
補足
装置は事情により開示できないのです。 電文から解る方がいらっしゃればと思い投稿しました。