CANデータの確認、リクエストして結果を得る
前回のブログ記事ではCANデータを受信することができました。なんのデータなのかサッパリ分らないですが、とても高速に様々なデータが飛び交っているのが分かりました。
続いて、
mcp_canサンプルスケッチの
OBD2_PID_RequestをArduinoに書き込んで
動作を確認してみます。
MCP_16MHzからMCP_8MHzに書き換えを忘れずに。
注目する箇所はこちらです。
byte txData[] = {0x02,0x01,0x00,0x55,0x55,0x55,0x55,0x55};
これがECUにリクエストするデータのようです。バイト配列の頭から順番に
0x02:データ長。
0x01:サービスモード01番
0x00がサポートしているPIDを返すそうです。
後半の0x55はよくわからないです。普通はゼロで埋めるような気がするんですがわかりません。0101とすることになにか意味があるようなないような。
#define FUNCTIONAL_ID 0x7DF
0x7dfと定義されているので
すべてのECUに対してリクエストするようです。
・・・・・・・
何も応答がありませんでした。
さらに0x7DFから0x7E0に変更したり、リクエストデータを色々いじってみましたが結局帰ってきたデータは
ネガティブレスポンスというむなしい結果だけ。なぜだ。
諦めて、今流れているデータを解析することにします。
opendbcの
gm_global_a_powertrain.dbcになんとなく似ているデータがあるのを見つけました。注目するべきIDは2つです。
0x0C9と0x3E9。ここにたどり着くまでに1週間ほどかなり寄り道しました。海外フォーラムの海外ニキの会話などを翻訳機片手に調べまくります。
0x0c9は
回転数などのデータ、
0x3E9は
速度のデータが入るそうです。
DBCとかサッパリなんで独自解釈になりますが、大体あってそう。
いすゞはGMのECUと一部互換性があるのでしょうか?わけがわからず消化不良気味ですが、430タイマーに必要な車速データは得ることができたので問題は放置して進みます。
2022/02/20追記
この間、仕事で大黒ふ頭に行ったとき北米輸出用に並んでいるエルフを見てたらピンときました。フロントのロゴがISUZUではなくシボレーの十字みたいなマークになってたのです。
Wikipediaとかにも書いてあったのですが見落としてました。いすゞは2015年にゼネラルモーターズと協業したそうです。
どうりでGMのCAN信号と互換性があるわけだ。腑に落ちました。
ということは、2015年6月以降に発売されたエルフやフォワードはGMのCAN信号と互換性があるという認識でいいのかもしれませんね。
↓北米輸出版フォワードにシボレーマークがついています。日本でも何度か見かけたことがあり、ただのシャレだと思っていましたが意味があったんですね!
GM公式ブログより転載。問題があればすぐに消します。
Posted at 2022/01/26 11:53:57 | |
トラックバック(0) |
Arduino | パソコン/インターネット