• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

mistbahnのブログ一覧

2012年08月12日 イイね!

【PP1】【ECU】ビート純正ECUとの通信プログラム更新→チェックPart4(挫折)

【PP1】【ECU】ビート純正ECUとの通信プログラム更新→チェックPart4(挫折)強引に3連休取って帰省中。
2連休すらレアな私には十分な「長期休暇」(昨年の盆休みは2連休だったが、サイコーに思い出に残る2連休だった)。



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

の続き。


【1】visaconf.ini

NIのKnowledgeBaseの「Can I Do 9-bit Serial Communication Instead of 7 or 8 bits?」のページに

------

One issue with this is that in LabVIEW 7.0 and later, when NI-VISA receives a data byte with incorrect parity, it completely replaces the serial data with the error character, which by default is '0'. LabVIEW 6.1 and earlier does not replace a data byte with a parity error replacement byte. You can change this behavior by modifying the visaconf.ini file.

Note that if your instrument only needs to receive the 9th data bit for addressing purposes, but never sends data on the 9th bit, you should only need to set the parity once to what your instrument is expecting.

Modify the visaconf.ini file to disable the error replacement bit:

For users of windows XP, the visaconf.ini file is located in the \All Users\Application Data\National Instruments\NIvisa folder.

For users of windows Vista or later, the visaconf.ini file is located in the C:\ProgramData\National Instruments\NIvisa folder.

Add the following lines to the file and save:

[ASRL-RSRC-ALIAS]
DisableErrorReplacement=1


------

と書いてあったので、該当のvisaconf.iniを探したが、今使ってるLV2009では「NIvisa folder」自体が見つからなかった。





そもそも、Databit=9やDatabit=10で、ポートポープンしようとするとエラーになっていたので、

「VISA Configure Serial Port (Instr).vi」

のエラー処理部を改造して、エラーを無視してポートオープンできるように改造しているのだが、これがiniファイルの書き換えに相当するんだろうか?



・・・まあ、もうどうでもイイや(笑)



【2】

ビートECU解析・通信の先駆者の方から

「アーベルのUSBシリアル変換アダプタをお使いのようですがたしかFTDIのチップでしたよね。コレって、9ビットデータを出せましたっけ?
欲しいのはデータ9ビット+パリティビットだったと思うのですが、何かでFTDIのチップでハマったような記憶も・・・」


というアドバイスを頂いた(ありがとうございますm(u_u)m)。

なるほど、プログラムとか、Windowsがどうとかだけでなく、USB-RS232Cインターフェースケーブルの問題の可能性もあるワケか・・・。5Vが正しく出力されているか・・・は気になってたが、そのあたりは全然着目していなかった。
(それまで「FTDI」という名称すら知らなかった私)


USB-RS232Cインターフェースケーブルは、Arvel SRC06-USBというモデルを使っている。



以前はいろんなメーカのもの(IO DATAとか)を使っていたのだが、手持ちのインターフェースケーブルがWin7 64bitのドライバがないものばかりだったので、昨秋、SRC06-USBに買い直した。

ググってみたら、確かにArvelはFTDIのチップのようだ。

このあたりは非常に弱いのだが、FTDIはどうも9bitに対応している(実際には8bit with parity?)・・・という情報もあれば、対応していない・・・という情報もあったり。

http://www.lvr.com/forum/index.php?topic=16.0
http://www.microchip.com/forums/m585274-print.aspx
http://www.ccsinfo.com/forum/viewtopic.php?t=38320


FTDIの本家サイトにはData Sheetsがたくさんあるが、たくさん種類があり過ぎて、どれがArvelに使われているものかがわからない(笑)

いくつかPDFをダウンロードしてみたところ、

UART interface support for 7 or 8 data bits, 1 or 2 stop bits and odd / even / mark / space / no parity

という表記がある。

この一文を、

「パリティ切替のプログラムでカバーできるよ!」

と解釈すべきか、

「DataBitは7か8しか無理やし」

と解釈すべきかワカラナイ(笑)



ダメ元でArvelに

SRC06-USBでは、9bitデータは送れますか?
正確には9bitデータ+パリティビットです。

9bitデータのコマンド送受信が必要な相手機器との通信プログラムを開発中なのです。
Databit=8としておいて、ParityをMarkなどにしてのプログラミングなどいろいろ検証しておりますが、うまくいっていないので、プログラムの問題なのか、SRC06-USBの問題なのかがわからない状況です。

ループバックテストでは、Databit=9でも送受信できているのですが、どうもDatabit=8としてバイトコードの送受信がされてしまっているように見えます。


と問い合わせしてみた。

こういう問い合わせに対して、基本的にメーカの回答は期待できない・・・と思っていたが、次の日に回答がArvelではなくバッファローから届いた。

「本製品は、9bitデータを送信できる仕様となります。」

という一行回答(笑)


果たして??



【3】

ビートECU解析・通信の先駆者の方から

送受信の設定を8bitデータでパリティをマークにして、ストップビットを2ビットにしたら確立は50%(ECU側はストップビットをパリティだと理解するので、パリティエラーが半分出ますね)ですが、ECUから何か返事が来そうな気がします。送信のパリティをマークかスペースかで、強引に9Bit目のデータを作って、というのは無謀すぎますかね。」

というアドバイスを頂いた(ありがとうございますm(u_u)m)ので試してみたが、残念ながらECUからは返事がなかった。



(※プログラムの受信処理側は何の工夫もしていないので、ECUからの返信を処理できていないだけの可能性もあるが、何らか返信されていたら、ゴミでも何でもキャッチはできるハズ・・・)




【4】

・・・ということで、ジタバタしたが、

「ツール工房」の「RS232C-TTLレベル変換ケーブル」だけを使用して、9Databit+Parityを、プログラムだけでなんとかしようとするのは諦めた。


まだまだ勉強不足で、手もある気がするが。


NIのKnowledgeBaseの「Can I Do 9-bit Serial Communication Instead of 7 or 8 bits?」のページにも

-----

2. Use a separate microcontroller that handles 9 bit frames:

Another option is to use a separate microcontroller with a UART that is made to handle 9 data bit frames and place it as an intermediary between the instrument and the computer. The computer would send two 8 bit data frames for each 9 bit frame, one with the first 8 bits, the second with the 9th bit, and have the UART reassemble this into one 9 bit frame to send to the instrument. Similarly the UART would receive a 9 bit frame from the instrument and return two 8 bit frames to the computer.


-----

って書いてるし(笑)


CZ500Cさん作のAVRを介して通信する方向で、Windows用のソフトウェアに専念しようかと。



ビート(PP1) ECU関連目次はこちら
ビート(PP1)関連目次はこちら
Posted at 2012/08/12 08:59:27 | コメント(6) | トラックバック(1) | ビート ECU | クルマ

プロフィール

「HAOC 鈴鹿ツイン。
ベストは1枠目の1分11秒141。

自己ベストはコンマ3秒更新できたケド、絶好のコンディションにも関わらず、目標の1分10秒を叩き出せず残念感炸裂😩

3枠目、4枠目と走りのアジャストは進むのにタイムは11秒5、11秒8とズルズル下がった😓」
何シテル?   11/24 17:43
ビート(PP1)、アコード・ユーロR(CL7)、三菱アイに乗っています。 ビートでのサーキット走行(タイムアタック)とチューニングを続けています。 鈴鹿...
みんカラ新規会員登録

ユーザー内検索

<< 2012/8 >>

   123 4
56 7891011
121314 1516 17 18
1920 2122232425
262728293031 

リンク・クリップ

ワンオフキャンバストップ取り付け 
カテゴリ:その他(カテゴリ未設定)
2024/10/26 11:43:16
mistbahn motor web 
カテゴリ:目次
2014/05/25 00:53:19
 

愛車一覧

ホンダ ビート ホンダ ビート
タイムアタック用。サーキット専用車。 (自己ベスト) 筑波サーキット TC2000: ...
ホンダ アコード ユーロR ホンダ アコード ユーロR
過去に何回かサーキットで撮影して「カッコイイ!」と思っていたCL7を譲って頂いた。 ア ...
ホンダ シビックタイプR ホンダ シビックタイプR
ストリート用。 ゆっくり運転してもK20Aのフィーリング、ASLAN×SPIRIT車高 ...
三菱 アイ 三菱 アイ
2017.03.07 こさとうさんに非常にリーズナブルな価格で譲って頂いた!   発売当 ...
ヘルプ利用規約サイトマップ
© LY Corporation