• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+
イイね!
2012年08月21日

【PP1】【ECU】ビート純正ECUとの通信用プロトコル変換器 検証3

【PP1】【ECU】ビート純正ECUとの通信用プロトコル変換器 検証3  ブログエントリ「【PP1】【ECU】ビート純正ECUとの通信用プロトコル変換器 検証2」の続き。






まずは、プロトコル変換器←→ECU 間の配線、電気の問題の調査。


【1】GNDチェック

ECUのGNDピンと接続されている、プロトコル変換器側と、車体とで導通チェック。
GNDはきちんと落ちている。
基板の裏側と車体でも導通チェックしたが問題がないので、コネクタの差し込みの問題でもない。



【2】5V給電チェック

次に、ECUからの5V給電のチェック。
プロトコル変換器側の、GNDと5Vのピン間電圧をチェック。



エンジンON・電源のみON時: 5.03V
エンジン始動状態: 5.03V

素晴らしく安定している。問題ナシ。
基板の裏側でもチェックしてみたが、同じ結果だったので、コネクタの接触不良でもなさそう。


--


次に PC←RS232C→プロトコル変換器 間のRS232C通信の正常・異常の調査。

前回と同じく、自作ソフトの代わりにComT.exeを使用。


【3】PC←→基板のRS232C通信チェック1

PC→プロトコル変換器に
 DDh、EEh、FFh
を送ると「コマンド規定外」を意味する
 80 01h
が返送される仕様とのことで、テスト。

送信コマンド
  DDh、EEh、FFh
受信コマンド
 いずれも80 01h

PC → RS232C → AVR 間は正しく通信できているらしい。



【4】PC←→基板のRS232C通信チェック2

次に
PC→プロトコル変換器に
 11H、22H、33H・・・EEH、FFH
以外のコマンドを送ると「非コマンド受信」を意味する
 80 02h
が返送される仕様とのことで、テスト。

送信コマンド
 01h
受信コマンド
 80 02h

PC → RS232C → AVR 間は正しく通信できているらしい。

※面白い結果として、

送信コマンド
 119h
受信コマンド
 80 02 c0 81 c0 20 30 10 98 f0h
 (再現性アリ)



【ここまででわかったこと】

・PC←→基板間の通信は正常。
・自作PCソフトウェアもComTも動作は変わらない。
・ECU→基板の配線もたぶん正常。GNDは正しく落ちている。
・ECU→基板の5V給電も正常。



【5】総合通信テスト

前回と同じように、いろいろコマンドを投げてみた。

以下、HEXコードはECU→AVRを介した返信値
いずれも、エンジンは回ってる状態。

・Vehicle Speed
 FF FFh (一貫して。FFhが0[km/h]で00hが256[km/h]だったら正常?)


・Engine Speed
 1400rpm付近時: 08 FFh (一貫して)
 3700rpm付近時: 02 FFh (一貫して)
 6000rpm付近時: 01 FFh (一貫して)

エンジン回転数に応じて、一貫性がある戻り値があるのは興味深い。
100rpm程度のズレでは返信値が変わらないので、ひょっとして本来4Byteとか返信されるうちの2Byteのみが返信されてる???


・Brake Switch
 ブレーキペダルOFF時: C8h、EDh、C9h、CCh、EDhなど
 ブレーキペダルON時: C5h、C0h、C4hなど

CZ500Cさんの情報だと
  ブレーキペダルOFF時: ECh、EDh、E8h、E9h
  ブレーキペダルON時: E4h、E5h
とのことなので、マッチはしてないものの、なんか無関係でもない感じ。


・Intake Temp
 4Dh、0Ch、1Dh、00h、2Bh、2Dh、8Dhなど

単純に10進数変換すると意味不明だが、戻り値の処理の仕方によっては、これはこれで正常な返信値なのかもしれない。
ビット反転させてみたり、いろいろ試してみているが、なかなか・・・。
予め決まったフルスケールに対しての掛率なのかも?(それにしちゃ振れ幅がデカいか)


・Coolant Temp
 FFh (一貫して)

水温はひょっとして水温センサじゃなくて、水温スイッチ??
オーバーヒートしたら00hになるとか(笑)


・Throttle Duty
 0Ch (アクセルペダル操作に関係なく、一貫して)



ECUからの戻り値がどうあるべきかを理解できていないだけで、ひょっとして実は、ECUからは適切な値がリターンされてたりするのかもしれない・・・・とも思えてきた。



ビート(PP1) ECU関連目次はこちら
ビート(PP1)関連目次はこちら
ブログ一覧 | ビート ECU | クルマ
Posted at 2012/08/21 20:53:59

イイね!0件



タグ

今、あなたにおすすめ

ブログ人気記事

やっぱ美人見ると元気が出る。
秘密基地 千石峡さん

御饌丼ミケドン巡り ふぐ刺し鉄火 ...
伊勢さん

☆☆ 当選発表 ☆☆
FJ CRAFTさん

ボディーもメンテナンス(>_<
ラッシュモータースポーツさん

スワロ貼りその②(>∀<●)
ポメωリーさん

ラー麺 ずんどう屋
RS_梅千代さん

この記事へのコメント

2012/08/21 23:45:48
現在物理的に構造の違う2種があるので
PC<>AVR間の速度そのままにTEST中
USB給電のモノとECU給電のもので戻りが
異なる時があるため、電源回りとAVR<>
ECU間にもう少し細工をしてみようかと。
AVRのプログラム的には読み込みはI/O
入力が安定してからの読み出し方式
取ってるため物理的問題ではないかと
考えてます。
今までの所エンジン停止時と運転時で
違いが出ているためそこいら辺がヒント
かと。
ただ、エンジン停止時の戻り値自体が
手元でのTESTと値が違う原因が分かり
ませんけど・・
コメントへの返答
2012/08/22 07:46:22
戻り値については、そもそも情報不足ですよね。。。

そのあたり、深く考えずにここまで突っ走ってきたことを今頃になって気づきました(笑)

なんか惜しいとこまで来てる感じなんですよね~
2012/08/22 00:00:13
・・・1byte以上送られてきた場合の
コトを全く考えてないです・・ね。
これは仕様ではなくバグ(漏れ)
なので直さないと・・
作った当人まったくこの辺は全く
考えてませんでしたので、御指摘
ありがとうございます。
あと試してみるとすると、AVR<>ECU
間の論理反転ですかね。
特に読み取り側。

AVRのアセンブラ環境が飛んでるので
再構築をしないと・・
コメントへの返答
2012/08/22 07:49:40
80 02 c0 81 c0 20 30 10 98 f0h
の件ですね。
PC→AVRではなく、AVR→ECUのプロトコルを送ってみたらどうなるんだろ?と思いつきでやってみた結果です。

80 02は仕様どうりですが、その後のバイト列は、119hを送ったときは一貫してコレでした。

まあ、売りものじゃないし、こういう部分の仕様放置は別に良いのでは・・・と個人的には思ったりしてます(笑)
2012/08/22 00:18:52
 >・Brake Switch
 > ブレーキペダルOFF時: C8h、EDh、C9h、CCh、EDhなど
 > ブレーキペダルON時: C5h、C0h、C4hなど
 >CZ500Cさんの情報だと
 >  ブレーキペダルOFF時: ECh、EDh、E8h、E9h
 >  ブレーキペダルON時: E4h、E5h

bit3 が、
 1 ⇒ ブレーキOFF
 0 ⇒ ブレーキON
という事かと。
コメントへの返答
2012/08/22 07:51:47
ありがとうございます。

↓にまとめてコメント回答します(笑)
2012/08/22 00:46:50
上のは、パッと見で bit3かな?
、と思いましたが、某R&Dサイトにも

 >add(0) = &H8D00 'speed
 >add(1) = &H8D01
 >add(2) = &H8C00 'revolution
 >add(3) = &H8C01
 >add(4) = &H860B 'baqume
 >add(5) = &H8909 'water temp
 >add(6) = &H8603 'intake temp
 >add(7) = &H860F 'throttole
 >add(8) = &H820C '3bit brake
 >add(9) = &H8B0C 'map load
 >add(10) = &H9405 'map throttole
 >add(11) = &H8C0D 'map revolition
 >add(12) = &H9109 '1bit FImode
 >add(13) = &H8605 'O2senser
 >add(14) = &H8F0F 'rimitter
 >add(15) = &H8200 '7bit A/Ccratch
 >
 >サンプリングデータは次のとおり
 >速度          word 0D0h(Lo) 0D1h(Hi)
 >回転数         word 0C0h(Lo) 0C1h(Hi)
 >負荷(バキューム)   byte 06Bh
 >水温          byte 099h
 >吸気温         byte 063h
 >スロットル開度     byte 06Fh
 >ブレーキon/off   * byte 02Ch(3bit)
 >マップ回転数      byte 0BCh
 >マップスロットル開度  byte 145h
 >マップ負荷       byte 0CDh
 >マップ選択       byte 119h(1bit)
 >A/F(O2センサ)  byte 065h

、とあるので、やはりブレーキは
bit3が該当するようですね~。
コメントへの返答
2012/08/22 07:59:58
改めてありがとうございます。

コメント頂いた情報を元にググってみました。

「Gradis.txt」って形で、Windowsソフト側のソースも公開されてるんですね。
不勉強でした。

「戻り値」の評価には今後スゴく役立ちそうです。


今回の受信データを2進数化してみると

Brake Off
C8h 1100 1000
EDh 1110 1101
C9h 1100 1001
CCh 1100 1100
EDh 1110 1101

Brake On
C5h 1100 0101
C0h 1100 0000
C4h 1100 0100

一番右をbit0と定義すれば、On・Offで1・0の一貫性があるのは確かにbit3ですね!!!
2012/08/22 09:10:18
なるほどbit判定であれば、マップは
アドレス119の1byte中の1bit目ですね
その辺は理解不足のでした。
ただあまりにもころころ変わるので
頭抱えてました。

変換器作ったのは良い物のR&Dの
情報が完全に取り込めて無くてすいません。
ここいらは完全に下位○bit有効と思ってました。
コメントへの返答
2012/08/22 10:07:52
私もECUからの戻り値は本当に「後から考えよ」ぐらいに思ってましたので(笑)

「Gradis.txt」を見て、いろいろ研究します♪
2012/08/22 09:22:56
>PC→AVRではなく、AVR→ECUのプロトコルを

これは不可能です。
完全に無い部は命令チェックとデコーダーで
構成されているので該当命令時に初めて
該当アドレスをレジスタに設定してECUに
送信します。
PCからの送信の処理はAVRのハードウエア
任せで常時受信になっているため、内部処理が
始まった後の受信はバッファにたまり、はじめの
受信バイトの処理後バッファの値を読んで
誤動作してしまっています。
AVRのシリアルI/Fは数byteのバッファを持つため
処理のマスクしてないのとバッファのクリアが
正常に行われていないための3byte目以降の
異常返信になっています。
3byte目以降もエラーコード返してれば問題はない
のですが、プログラム内に入れている以外の
文字列が帰っているため調査しないと・・・・
内部処理中禁止しているはずの割り込みが
掛かって中途半端な処理してる可能性が高いです
ので。

コメントへの返答
2012/08/22 10:10:29
> これは不可能です。

ええ、その前提で、「試しにやってみた」という結果です。


AVR側のプログラムは良くわかりませんが、確かに、「何も返信されない」「エラーコードが返信される」以外に、想定していなかったコード列が返信されているのは、製作者さんとしては気になりますよね・・・・。
現在価格を調べてみる

おすすめアイテム

 
 

プロフィール

「【ビート】A050 フロントM18J、リアTE37 フィッティング http://cvw.jp/b/242406/40862534/
何シテル?   12/17 21:30
ビート(PP1)、三菱アイ、シビック・タイプR(FD2)に乗っています。 ビートでのサーキット走行とチューニングが趣味です。 レンタルカートも好きです。...
みんカラ新規会員登録

ユーザー内検索

<< 2017/12 >>

     12
3456789
10111213141516
17181920212223
24252627282930
31      

リンク・クリップ

mistbahn motor web 
カテゴリ:目次
2014/05/25 00:53:19
 

お友達

サーキット派、チューニング好き、モータースポーツファン、技術ネタ好き、軽量化マニア、カート好きなど歓迎。

ただし、ブログアクセス数アップのみを目的としたお誘いはお断り。

みんカラは自動車趣味という共通点での繋がりだと思うので、車ネタ以外のブログしかない方もお断り(興味をもてない)。
233 人のお友達がいます
C.A.MC.A.M * t-shint-shin *
ささいっちささいっち * MDi遠藤MDi遠藤 *
澤 圭太澤 圭太 * toto@雨神toto@雨神 *

ファン

313 人のファンがいます

愛車一覧

ホンダ ビート ホンダ ビート
昔からデザインがたまらなく好きだったビートを個人売買で安く購入。 年に2回のサーキット ...
ホンダ シビックタイプR ホンダ シビックタイプR
私の担当・営業車両(社用車)。 K20Aの完成形と、ボディ剛性の高さ、乗った感じでコレ ...
三菱 アイ 三菱 アイ
2017.03.07 こさとうさんに非常にリーズナブルな価格で譲って頂いた!   発売当 ...
スバル レガシィB4 スバル レガシィB4
中古で購入。2003年BL5A。 随分多くのクルマを試乗した結果選びました。 トミー ...
ヘルプ利用規約サイトマップ
©2017 Carview Corporation All Rights Reserved.
閉じる