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

【PP1】【ECU】ビート純正ECUとの通信プログラムの開発・チェック(失敗)

【PP1】【ECU】ビート純正ECUとの通信プログラムの開発・チェック(失敗) 先のブログエントリ「【PP1】【ECU】RS232C-TTL変換ケーブルをECUに取付」の続き。


ビート純正ECUとの通信テストプログラムを作ってみた。

始業前、昼休みなど、のべ2時間ぐらいで開発。



とりあえず、ロギング機能は実装せずに、コマンド(=リクエスト)に対してリターンがあるかの確認用のテストプログラムとしている。

RS232CをConnectし、Request欄でSend Dataし、それに対しての返信を下段(Recieve Data)で確認する仕様。



以下、WEBの情報や、有識者の受け売り。

通信設定は

Baud Rate: 62500bps(38400bpsも試してみた)
Data Bit: 9と10を試した
Parity: Odd(=奇数)
Stop Bit: 1
Flow Control: ナシ

※Start Bitも1にする必要があるらしいが、LabVIEWでどうすれば良いのかわからなかった。



コマンドは2Byte。

とりあえず返信がwordのEngine Speed、Vehicle Speedは無視して以下のコマンドを送ってみた。

Engine Load: 06Bh
Coolant Temp: 099h
Intake Temp: 063h
Throttle Duty: 06Fh
Brake Switch: 02Ch(3bit)
A/F: 065h

対ECUに必要なのかわからない(※たぶん不要)が、先頭ビットを立てた

Engine Load: 806Bh
Coolant Temp: 8099h
Intake Temp: 8063h
Throttle Duty: 806Fh
Brake Switch: 802Ch(3bit)
A/F: 8065h

も試してみた。



開発環境: LabVIEW2009(←常に最新バージョンはもってるが、保守のためにだいたい2年遅れぐらいのバージョンを使っている)

LabVIEWのソースってこんな感じ。



規模の小さい計測・解析・通信プログラムだと比較的容易に組めるケド、融通が効かない。痒いところに手が届かない感じ。




ECUに接続前の開発段では、RS232Cのループバック(D-Sub 9pinの2と3、7と8を結線し、送信コマンドを同じCOMポートで受信してやるデバグ手法)で確認。



うまく動作している。

↓動画


ビートとの通信にはDatabit=9とか10とか必要らしく、LabVIEWのRS232C通信用の

「VISA Configure Serial Port (Instr).vi」

というSubVIでは、9や10はエラーとなってポートオープンができない。

ただし、エラー出力を殺してやる(C++やJavaで言うところの、try~catchで例外をキャッチして、無視してやるみたいなもん)と、Databit=9でも10でもCOMポートはオープンし、ループバックテストでは送信データを受信できている。




ECUに繋いでテストしてみた。



どのコマンドを送信しても受け付けない。

Databit=9でも、10でも。
Baud Rate= 62500bpsでも、38400bpsでも。
コマンドの先頭フラグを立てても立てなくても。

エラーコードが返信されるワケでもないので、そもそも送信できていない感じ。

う~ん。。。



ビート(PP1) ECU関連目次はこちら
ビート(PP1)関連目次はこちら
ブログ一覧 | ビート ECU | クルマ
Posted at 2012/08/05 01:15:24

イイね!0件



タグ

今、あなたにおすすめ

この記事へのトラックバック

【PP1】【ECU】ビート純正ECUと ...」 From [ mistbahn with PP1 ... ] 2012/08/05 21:51
ブログエントリ:「【ECU】ビート純正ECUとの通信プログラムの開発・チェック(失敗)」 の続き。 単にTXD・RXDをクロスさせたらどうだろう?・・・と。 仕事帰りに、ちょちょいと。 「 ...
【PP1】【ECU】ビート純正ECUと ...」 From [ mistbahn with PP1 ... ] 2012/08/07 12:45
ブログエントリ:「 【PP1】【ECU】ビート純正ECUとの通信プログラムの開発・チェック(失敗)」 ブログエントリ:「【PP1】【ECU】ビート純正ECUとの通信
【PP1】【ECU】ビート純正ECUと ...」 From [ mistbahn with PP1 ... ] 2012/08/12 08:59
強引に3連休取って帰省中。 2連休すらレアな私には十分な「長期休暇」(昨年の盆休みは2連休だったが、サイコーに思い出に残る2連休だった)。 ブログエントリ: 「<a href='http:// ...
ブログ人気記事

タイヤ交換
HASMさん

イルミネーション☆
ヴェル翔星さん

86/BRZは老人に優しくない。
セラフィム2501さん

走り納めの旧車の祭典
ofcさん

オレンジ君と御対め〜ん…🤗
3kさん

まったりドライブ 群馬県
hiroMさん

この記事へのコメント

2012/08/05 01:22:20
おそらく送信自体出来てないと
思われますが・・
オシロで物理通信確認するのが
一番ですが。
当方開発品は実接続でオシロで
波形とパルス巾の確認もしてます。
コメントへの返答
2012/08/05 01:27:16
手持ちにオシロがないんです。

会社に転がってるNIのADC使って、パパッとプログラム組めば、オシロっぽいものは作れますが。

ああ、そうか、とりあえず、

RS232C→TTL変換ケーブルのEIコネクタのところで、TXDとRXDを短絡させてループバックがどうかを確認してみることができるなあ・・・。

また時間あるときに試してみます。
2012/08/05 01:47:17
あと結線の確認ですね。
TXとRXの意味が逆になってる
機器があるので。
>結構はまる
やっとさっきECUI/Fの当時の
設計資料紙ベースの物が出てきました
最終型の回路図と結線図も全てあるので
これで作る必要があるなら数日で対応できます。
コメントへの返答
2012/08/05 10:04:57
確かに、ストレート/クロスは私も考えました。

クロスケーブルは何本かストックしてたんですが、最近、会社内の内装工事でいろいろ社内引越があって、どの箱に入っているのかわからない(笑)

あと、クロスケーブルがたぶん全部メスーメスなので、ジェンダーチェンジャー必要・・・と思って工具箱をあさってみたら、両側メスのジェンダーチェンジャーしかありませんでした(笑)

まあ、特に何か急いでるワケでもないので、ノンビリやります。
挫折しきったら、ご相談させてくださいm(u_u)m
2012/08/05 12:47:36
LabVIEW日産のECUアプリで使ってました。
面白そうな開発環境なんですね・・・勉強しようw

WinAPIに忠実なポート操作だと色々な「シキタリ」で動かない事が多いですね。
ポートを直接叩く行儀の悪いアプリの方があっさり動くのがクヤシイですw

232Cの7,8番PINの短絡は如何ですか?(信号リクエスト)
コメントへの返答
2012/08/05 12:55:43
ECUとのCAN通信ですか?

ADコンバータとか並べて、計測・解析のソフトをチョイチョイで作るにはこの上ないソフトですが、凝ったWindowsアプリとか作るには邪魔臭いですよ。
ランタイム必要なので再配布も面倒ですし。


ループバックのテストでは7,8番は短絡してるんですが、ECU相手でも短絡してやる・・・というのは一つの手ですね。

「RS232C-TTLレベル変換ケーブル」を改造するのはなんかちょっとイヤなので(あと、USBー232C変換ケーブルも)、やるなら、オス―メスの中継ケーブル作って・・・ですかね。
2012/08/05 16:54:30
むずかしいことやってますね~ww

やっぱmistbahnさんはECUがお好きですね♪
コメントへの返答
2012/08/05 17:16:24
通信プログラムとしては極めてシンプルなんですが、なんせ相手(ECU)の通信仕様がきちんと公開されていないので手強いです。
2012/08/05 19:58:35
ちょっとWebで調べてみましたけど、情報が少ないですねぇ。

さすがに今回はよく分かりません(^_^;)
コメントへの返答
2012/08/05 20:02:12
ありがとうございます。

でも、激務の後ですし、もっとごゆっくりされてください(笑)

情報はブログ本文のリンク先ぐらいなんですよね。
日本でしか販売されなかったのが情報の少なさの大きな理由だと思ってます。
2012/08/05 22:31:35
モーモニ作る時にRS232C勉強したのですが、すっかり忘れました。
また本を出してきて眺めています。
62500ボーなんて初めて聞いたと思ったら、ECUのCPUの都合の16μsecからくるんですね。
コメントへの返答
2012/08/05 22:48:25
ええ、私も今まで232Cで通信した機器は
38400
9600
4800
あたりが主流でした。

38400を2倍すると76800なので、62500は生理的に気持ち悪いです。。。
2012/08/05 23:16:53
マイコン挟む理由そこいらもあるんですよ
通信速度。
只今部品発掘終了。
原発クリスタルでつくっときます。
レベル変換も組んでおきますが、変換
IC抜けば使えるTTLレベルのコネクタも
付けておきます。
どのみち現在有るものは放置期間が
期間なので予備有ってもいいですし
ボケ防止にも(爆
たまにやっとかないと記憶が完全に
フラッシュされちゃうので。
コメントへの返答
2012/08/05 23:21:51
なるほど。

62500bpsって本当にキモチ悪い数字なんですよね(笑)

私も今回の取り組みは
「どうしてもビートのECUからロギングしたい」
というよりはボケ防止・・・・というか、この工程自体を面白がってる感じです。

正直、取得できる情報がショボ過ぎる(A/Fはナローバンドやし、ノッキング見れないし)ので、ECUからの情報がROMのマッピングにそんなに役立つワケでもないんですよね。。。(笑)

また製作状況教えてください♪
2012/08/05 23:43:01
ですね>ボケ防止(爆
カリカリしながらやってる必要ないです
からネェ
こちらとしても5~6年前の遺産が復活
できればそれはそれで。

値拾ってきても制御がまともかどうか
エンジンの健康診断レベルですけどね
エラー履歴MAPさえ解ればもう少し
実用的に為るんですが。
コメントへの返答
2012/08/06 00:03:20
ええ、マジメにROM詰めるならノックセンサとワイドバンドA/Fセンサ追加して、いっそフルコン入れたいです。

ロールケージとLSDが先ですが、いずれはフルコン入れたいなあ・・・。

電子技研×ケーヒン的にも、もうプロトコル流出してくれて良さそうなもんやのに。。。
2012/08/06 02:42:50
http://minkara.carview.co.jp/userid/339422/car/1149518/2006173/
できてたり(爆
ケーブルどうするかですね。
コメントへの返答
2012/08/06 08:00:20
速っ!!

ケーブルは、PC→マイコンですか?
マイコン→ECUですか?

シリアルのケーブルは何本かもってるので、片側ぶった切ってコネクタ取付は可能です。
ECU側のEIコネクタは、余分に買っておいたのでストックがあるのですが、マイコン基板側のコネクタは良くわからないので。。。
2012/08/06 08:24:56
232Cは3ピンなのでコネクタと結線図付ければ
OKですな?
AVR<>ECU間は作るのはかまわないのです
が、ECU側の5Pが手にはいるかどうかですねぇ
そもそもあれ4Pで事足りるので当方は大量に
持ってるモレックス4Pなんですよ。
コメントへの返答
2012/08/06 10:08:05
コネクタと結線図で問題ナシです。ありがとうございます。

ECU側のEIコネクタはピンとケーシングを余分に買ってあるので、大丈夫です。
ありがとうございます。


昨夜、LabVIEWの海外フォーラムを読んでいて、9bitコードの送信方法など見つけたので、現状のやり方でもイケるかもしれないなあ・・・と思ったりもしてますが、
USB-RS232Cインターフェースから適切に5Vが出ていない可能性もあるなあ・・・と疑い始めました。
2012/08/06 10:25:50
では・・・
回路図書き直して、そこに結線図も載せますか。
それが一番ですかね。
コネクタ類はハウジングとピンは同梱しておきます。
図面書き直しと、試験がまだなので少々お待ちください。
出来次第メールします。
コメントへの返答
2012/08/06 12:29:01
ありがとうございます。

現状の環境でプログラムの工夫で試したいこともいろいろあるので、のんびりで結構ですよ。
2012/08/06 12:46:21
作るのは早いですが物理検査してないので
まだかかります。
なーんせ久しぶりなのでAVRの原発設定が
合ってるかどうかが・・(おい
そこ狂ってるとお話にならないので。
物が物だけに波形チェックもしてからにしないと
余計なハマリの元ですからねぇ
玄人志向どころかかなりのキワモノ志向ですんで
1パケット毎サイクルリセットかけるのでセラロック
でも精度的に十分なんですがクリスタルにしたのと
パスコン固体電解にしてあるのでしばらく通電
させないと不良でバンっちゅーのがありますんで。
コメントへの返答
2012/08/06 22:27:26
スミマセン・・・

宇宙語連発で、流石に内容さっぱりわかりませんでした。。。
2012/08/06 22:48:00
すいません寝てなかったので色々漏れ漏れですな
使っているワンチップマイコンはアトメルのAVR8
なんですが、これは発信器の設定次第で自己の
内部発信と外部発信、発信周波数帯域まで決める
ことが出来ます。
で、この設定世代やモノによって違い、プログラム
書き込んで単に動かすだけだとクロックさえCPU
に入っていれば動いてしまいます。
よって、設定の再確認と実動作確認しないと
まともに機能してるかわかりません。

次に元は発信器にセラロック使っていましたが
今回クリスタルにしました。
クロック精度が2桁ほど良くなり温度特性もよく
なりますが、使っているクリスタルが国産では
ないためしばらく動かし様子を見る必要があります
割れることが有るんですよ。
お次はECUからの電源を受けてる電解
コンデンサを通常の液体電解から固体電解に
しました、これまた初期段階で不良があると
爆発します。
よってしばらく通電試験が要ります。

・・と言うことです。
失礼しました。

実際に既存のモノと最低限動作が同じか
確認してからの供給になります。
それと、RS232C<>変換基板<>ECU
のみでつかいますか?
TTLレベル入出<>変換基板<>ECU
もやりますか?
コメントへの返答
2012/08/07 00:38:43
詳細なご解説を頂いてもやっぱりわからない私(笑)
組み込み系は昔からダメなんです。。

> RS232C<>変換基板<>ECU
のみでつかいますか?
> TTLレベル入出<>変換基板<>ECU
もやりますか?


とりあえずは、現状のRS232C-TTL変換ケーブルだけでドコまでできるのか、もうちょっとジタバタしたいです。
Windowsから9bitや10bitを送るコーディング中です(海外のフォーラムにヒントがあったので実装してみましたが、夜遅いので近所迷惑になるのでビートでのテストは避けてます)。


RS232C-TTL変換ケーブルに諦めたら、「変換基板」挿入
・・・というステップとして、その場合は「TTLレベル入出」はあまり意味がないと思うので、普通に

232C<変換基板>ECU

だけで良いかと思います。
2012/08/07 01:13:40
了解しました。
基板上にTTLレベル用にピンは付けましたが
コネクタは他の部分用だけ同梱します。
新規製作品のTESTはできてますが、エラー処理
潰して単にECUから来たDATA送り返すだけに
しようかとソース見て??が(爆

命令デコードと送受部分は一目でわかるように
組んでるんですがエラー処理だけはどういう
思考で組んだか・・・・・・6年の壁は厚いです・・

ちなみにRS232C側はほぼDATAバケの危険は
無いんですがECU側は引き回すと化けます
現在の変換プログラムではECUからの
パケットのパリティチェックしてなかったりします。
ケーブルをツイストペアのモノにして物理的に
ノイズ対策して手抜きしているためです。
コメントへの返答
2012/08/07 15:05:10
パリティチェックとか弱いんですよね。。。
今さらだけど勉強しようかなあ・・・。

チェックサムとか上位のプロトコルでのエラーチェックしかほとんどしたことないです。。
2012/08/07 20:55:34
AVRのRS232C側はホンモノのEIA232ですが
ECU側は単なるシリアルポートでですからねぇ
232も何も関係ないですから。
変換プログラムの更新が必要となり仕様が
決まれば後は時間が有ればどうにでもなり
ますよ。
>ウチのブツは
結局ブレーキの状態読んで偶に化けるんで
LANケーブル(ツイスト線なので)つかって
ケーブル作ってから3~5mくらいは化けな
くなったのでプログラム組のが面倒で手抜き
しただけです(おい


コメントへの返答
2012/08/08 12:21:44
シリアルポートにホンモノとかニセモノとかあるんですね~

オーディオ・ビジュアル屋さんをやっていたときに、ツイストだとかの特性の違い(線間容量だとか)を勉強したんですが、全部忘れてしまいました(笑)
2012/08/08 13:41:07
本物偽物というかEIAに準処してるかしてないか
ですね。
EIAに準処してるならその規格内は保証され
それ以外はできるかどうかやってみないと
わかりませんからねぇ

接地の仕方にもよりますが、単線バラよりも
信号線とGND線のツイスト、さらに同軸と
耐ノイズ性が上がるということですけどね。
コメントへの返答
2012/08/08 14:58:17
なるほど、規格品かそうでないか・・・ですね。
RS232cのケーブルでも、規格外で、最近では50m以上配線可能な物が販売されてますね。

仕事で、センサを扱うシステムを構築してるんですが、配線は電気設計と電工任せなので、ツイストペアのシールド使ってるな・・・という認識はあるんですが、ウンチクには乏しいです。。
現在価格を調べてみる

おすすめアイテム

 
 

プロフィール

「【ビート】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 人のお友達がいます
NAO&#39;sProject.NAO'sProject. * C.A.MC.A.M *
t-shint-shin * ささいっちささいっち *
MDi遠藤MDi遠藤 * 澤 圭太澤 圭太 *

ファン

313 人のファンがいます

愛車一覧

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