18-97-9-168.crawl.commoncrawl.org , 155807th | 1998/05/09 UPDATED |
1996.4.1 納車 1996.4.10 開発中ROM流出品入手 1996.4.13 使用CPU判明 1996.4.18 CPUマニュアル入手 1996.4.18 逆アセンブラ製作開始 1996.7.17 通信I/F回路解析 1996.7.18 逆アセンブラ完成、解析開始 1996.7.20 通信ルーチン発見 1996.8.10 RS232Cアダプタ完成 1996.8.16 自分の車のROM読み出し完了 1996.8.21 チェックサムルーチン発見 1996.8.23 アクセル開度アドレス発見 1996.8.24 外部ROM基板用部品買い出し 1996.8.26 水温アドレス発見 1996.9.5 エアフロアドレス発見 スピードリミッタ発見 エンジン負荷アドレス発見(検証中) 回転数アドレス発見 ROM基板製作開始 1996.9.6 バッテリ電圧アドレス発見 1996.9.11 ROM基板完成, スピードリミッタカット 1996.9.17 レブリミッタ, ブーストマップ情報入手 1996.9.23 スタータSW,エアコンSW,パワステSW, DテストSW,リードメモリSW,ニュートラルSW アクセルSW,アイドルSWアドレス発見 1996.9.25 点火時期モニタ, インジェクタ開弁タイマーアドレス発見 今後の予定 ワークエリアスパイプログラムの埋め込み マップ校正用ワークSRAM追加 スパイプログラム用ROMエリア拡大
外部ROM用のソケットには 富士通製の MBM27C1028を使うことになっているようです。 ところが、このROMは廃盤品でどこにも売っていないので、 ROMのアダプタを使って 27C256の2個使用で代用します。
通信処理ルーチンを解析してみましたが、リードコマンドとライトコマンドしか見つかりませんでした。 おそらく、動作中のエンジンデータはプログラムのワークエリアから直接読みとるのでしょう。
通信フォーマットはデフォルトのバイナリーモードの他にアスキーモードも存在するようです。
通信速度はアスキーモード時で φ/832(4,808.9bps), バイナリモード時で φ/2048(1,953.6bps)に設定されるようです。 なお、CPUクロックは 8.0020MHzです。 また、アスキーモードは8ビットストップビット1パリティーなしですが、バイナリーモードは8ビットストップビット1偶数パリティとなっているようです。
レガシーやインプレッサの場合は、1024μsに1回通信処理ルーチンへのコールを持った割り込み処理がコールされます。 ワークエリアのある部分の値を変化させるとデフォルトのバイナリーモードからアスキーモードに移行します。 アスキーモードは移行時に通信速度を変化させますが、バイナリーモードに戻るときには通信速度を元に戻しません。 一度移行してすぐにバイナリモードに戻せば通信速度をUPする事ができます。 また、バイナリーモードのままでも直接UARTの通信速度設定を操作すれば 9,600bps程度まで速めることも可能だと思います。 コマンドの区切りは受信データー長で識別しており、規定数のデーターを受信した時点でコマンドが発行されます。
command | phase | length | +0 | +1 | +2 | +3 | description |
---|---|---|---|---|---|---|---|
memory read | command | 4 | 0x78 | addr MSB | addr LSB | ' R ' | read data from absolute memory. repeate until get another commands. |
result | 3X | addr MSB | addr LSB | DATA | - | ||
memory write | command | 4 | 0xaa | addr MSB | addr LSB | DATA | write data to absolute memory |
result | 3 | addr MSB | addr LSB | DATA | - | reread data from wrote address | |
clear | command | 1 | 0x12 | - | reset command phase | ||
result | 0 | - | |||||
get ROM ID | command | 4 | 0x00 | ' F ' | ' H ' | ' I ' | get ROM ID |
result | 3 | ID #0 | ID #1 | ID #2 | - |
command | phase | length | +0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | description |
---|---|---|---|---|---|---|---|---|---|---|---|
memory read | command | 6 | 0x7f | MSB | LSB | ' R ' | - | read data from absolute memory | |||
result | 8 | addr MSB | addr LSB | DATA | CR | LF | |||||
memory write | command | 6 | 0x20 | MSB | LSB | DATA | - | write data to absolute memory | |||
result | 8 | addr MSB | addr LSB | DATA | CR | LF | reread data from wrote address | ||||
clear | command | 1 | 0x12 | - | reset command phase | ||||||
result | 0 | - |
ID | 記号 | 項目 | A/D# | モニタaddr | 内部addr | 単位 |
---|---|---|---|---|---|---|
F01 | VB | バッテリ電圧 | 2 | 0x1335 | 0x1046.w | Mon:E[V] = N * 0.08 |
F02 | ||||||
F03 | VSP | 車速信号VSP | 0x1336 | 0x1075 | V[Km/h] = N * 2 | |
F04 | EREV | エンジン回転数 | 0x1338 | 0x121c.w | Mon:R[RPM] = N * 25, 内部:R[RPM] = 120000000 / N | |
F05 | ||||||
F06 | TW | 水温信号 | 1 | 0x1337 | 0x1268.w | |
F07 | ADVS | 点火時期 | 0x1053 | BTDC[deg] | ||
F08 | QA | エアフロー信号 | 0 | 0x1308 | 0x1042.w | ( Vadc = N / 200 ) |
F09 | LDATA | エンジン負荷 | 0x1305 | |||
F10 | THV | スロットル信号 | 4 | 0x1329 | 0x1262.w | Mon:THV[%] = N / 2.56 |
F11 | TIM | インジェクタ噴射幅 | 0x1306 | 0x10c0.w | $1306 = $10c0.w / 64, $10c0.w * 4usec = 実噴射時間?, $1306 * 64 * 4 * 1000 = 実噴射時間[msec] | |
F12 | ISC | ISCバルブデューティー | ||||
F13 | O2 | O2センサ信号 | ||||
F14 | O2Max | O2センサ信号Max | ||||
F15 | O2Min | O2センサ信号Min | ||||
F16 | ALPHA | 空燃比補整係数 | ||||
F17 | RTRD | 点火時期補整値 | ||||
F18 | WGC | 過給圧制御デューティー | ||||
F19 | BARO.P | 大気圧 | 5 | 0x1340 | P[mmHg] = N / 2 - 260? | |
F20 | MANI.P | ブースト | 5 | 0x1341 | 0x12c4.w | P[mmHg] = N / 2 - 260? |
F21 | ||||||
F22 | ||||||
F23 | EXTEMP | 排気ガス温度 | ||||
FA0.1 | IG | イグニションスイッチ | ||||
FA0.3 | UD | テストモード端子 | 0x1343:5 | 0x2200:1 | ||
FA0.4 | RM | リードメモリ端子 | 0x1343:4 | 0x2200:2 | ||
FA0.6 | AS | アクセルスイッチ | 0x1343:3 | 0x2200:6 | ||
FA0.7 | NT | ニュートラルスイッチ | 0x1343:2 | 0x2000:0 | ||
FA0.9 | SS | ステアリンング転舵スイッチ | 0x1343:0 | 0x2200:7 | ||
FA1.1 | ID | アイドルスイッチ | 0x1344:7 | 0x2000:4 | ||
FA1.2 | AC | エアコンスイッチ | 0x1344:6 | 0x2000:1 | ||
FA1.3 | AR | エアコンリレー | ||||
FA1.4 | R1 | ラジエータファン1 | ||||
FA1.5 | R2 | ラジエータファン2 | ||||
FA1.6 | FP | フューエルポンプ | ||||
FA1.8 | KS | ノックシグナル | ||||
FA2.1 | MC | N/A | ||||
FA2.2 | IC | N/A | ||||
FA2.3 | BR | 大気圧切替ソレノイド | ||||
FA3.10 | O2 | O2モニタ | ||||
[その他] | ||||||
スタータースイッチ | 0x2000:2 |
-- LINK FREE -- |
||
HOME | LAST |