| Предишната тема :: Следващата тема |
| Автор |
Съобщение |
ivanovbg Опитен потребител

Регистриран на: 14 Ное 2009 Мнения: 372
|
Пуснато на: Съб Сеп 10, 2011 22:54 Заглавие: 68НС11 - дизасемблиране на програма |
|
|
Виждам че тук има хора които разбират от програмиране на 68НС11.
Аз не разбирам толкова,но компютъра на колата ми се управлява с 68НС11F1.Решил съм да сложа турбо,като използвам старата електроника. Трябва да сменя сензора на налягането-МАП с по голям.Понеже при стартирането компа чете и запаметява стойността му като същевременно го проверява за изправност ,не успявам да сложа по голям.Всичките са с изходно напрежение 0-5 волта в зависимост от налягането но на моя изходното напрежение при атмосферно налягане е 4,7 волта а на другия е около 2.Затова реших да го променя софтуерно.
Дизасемблирах програмата с ИДА се опитвам да направя това.Стигнах до някъде,но ми липсват знания.
Ако някой иска да помогне ще предоставя до къде съм стигнал. _________________ Ако нещо не не става с акъл,опитай с мощност
Ако и мощността (чука) не помогне-потърси по знаещи! |
|
| Върнете се в началото |
|
 |
mishomvp Опитен потребител

Регистриран на: 17 Авг 2004 Мнения: 2357 Местожителство: Златоград
|
Пуснато на: Съб Сеп 10, 2011 23:00 Заглавие: |
|
|
Поне да бе дал каква е колата ... и всичко за нея ... Данни за компютъра на колата ... Какъв е текущия MAP сензор? ... |
|
| Върнете се в началото |
|
 |
ivanovbg Опитен потребител

Регистриран на: 14 Ное 2009 Мнения: 372
|
Пуснато на: Съб Сеп 10, 2011 23:11 Заглавие: |
|
|
Астра Ф 1994,C16SE , Delco Multec M BJMH 16183109
Текущ мап-100kpa и мисля да сложа 250kpa
Бина и идб-файла ще ти трябват ли? _________________ Ако нещо не не става с акъл,опитай с мощност
Ако и мощността (чука) не помогне-потърси по знаещи! |
|
| Върнете се в началото |
|
 |
mishomvp Опитен потребител

Регистриран на: 17 Авг 2004 Мнения: 2357 Местожителство: Златоград
|
Пуснато на: Нед Сеп 11, 2011 0:47 Заглавие: |
|
|
На мен лично не Колегите, които се занимават с това ще кажат дали им трябва още Иначе един приятел, които се занимава с megasquirt компютри слагаше за 250kPa MPX4250AP  |
|
| Върнете се в началото |
|
 |
eko67 Опитен потребител

Регистриран на: 01 Юли 2010 Мнения: 153 Местожителство: гр.Пещера
|
Пуснато на: Нед Сеп 11, 2011 20:16 Заглавие: |
|
|
Как така си стигнал до някъде?Програмата с машинен код S1 или S19 ,със Дизасемблер си я обърнал в asm .Съмнявам се че ще може да намериш тези параметри за промяна,освен оригиналния asm файл със който няма как да се сдобиеш.Добре ще е при промяна на програмата
да направиш симулация на MC68HC11, преди да флашнеш Микроконтр. |
|
| Върнете се в началото |
|
 |
ivanovbg Опитен потребител

Регистриран на: 14 Ное 2009 Мнения: 372
|
Пуснато на: Нед Сеп 11, 2011 21:51 Заглавие: |
|
|
Знам че ще е трудно,по лесно е с мегата,но съм инат.
Това постигнах досега за мапа
seg004:DBB2 * =============== S U B R O U T I N E =======================================
seg004:DBB2
seg004:DBB2
seg004:DBB2 get_MAP * CODE XREF: seg004:loc_D9F7P
seg004:DBB2 13 51 01 05 brclr byte_51,1,store_MAP * Branch if bit (n) in memory clear
seg004:DBB6
seg004:DBB6 loc_DBB6 * CODE XREF: get_MAP+Dj
seg004:DBB6 BD D6 0E jsr read_ADR * Jump to subroutine
seg004:DBB9 20 31 bra store_UBAT * Branch always
seg004:DBBB * ---------------------------------------------------------------------------
seg004:DBBB
seg004:DBBB store_MAP * CODE XREF: get_MAPj
seg004:DBBB D6 66 ldab RPM_12_5 * Load accumulator from memory
seg004:DBBD C1 05 cmpb #5 * Compare accumulator with memory
seg004:DBBF 25 F5 bcs loc_DBB6 * Branch if carry bit set
seg004:DBC1 CE 10 00 ldx #$1000 * Load index register from memory
seg004:DBC4 BD D6 0E jsr read_ADR * Jump to subroutine
seg004:DBC7 D7 47 stab MAP_AD_47 * Store accumulator in memory
seg004:DBC9 36 psha * Push accumulator A into stack
seg004:DBCA 13 C3 04 1D brclr byte_C3,%100,loc_DBEB * Branch if bit (n) in memory clear
seg004:DBCE D1 69 cmpb map_x_69 * Compare accumulator with memory
seg004:DBD0 25 08 bcs loc_DBDA * Branch if carry bit set
seg004:DBD2 F6 02 E0 ldab twat_kor_byte_2E0 * Load accumulator from memory
seg004:DBD5 B6 02 E2 ldaa byte_2E2 * Load accumulator from memory
seg004:DBD8 20 06 bra loc_DBE0 * Branch always
seg004:DBDA * ---------------------------------------------------------------------------
seg004:DBDA
seg004:DBDA loc_DBDA * CODE XREF: get_MAP+1Ej
seg004:DBDA F6 02 E1 ldab twat_kor_byte_2E1 * Load accumulator from memory
seg004:DBDD B6 02 E3 ldaa byte_2E3 * Load accumulator from memory
seg004:DBE0
seg004:DBE0 loc_DBE0 * CODE XREF: get_MAP+26j
seg004:DBE0 3D mul * Unsigned multiply
seg004:DBE1 16 tab * Transfer A to B
seg004:DBE2 96 47 ldaa MAP_AD_47 * Load accumulator from memory
seg004:DBE4 DE 69 ldx map_x_69 * Load index register from memory
seg004:DBE6 BD E4 76 jsr lag_filter * Jump to subroutine
seg004:DBE9 DD 69 std map_x_69 * Store accumulators in memory
seg004:DBEB
seg004:DBEB loc_DBEB * CODE XREF: get_MAP+18j
seg004:DBEB 32 pula * Pull accumulator A from stack
seg004:DBEC
seg004:DBEC store_UBAT * CODE XREF: get_MAP+7j
seg004:DBEC 13 89 08 02 brclr byte_89,%1000,locret_DBF2 * Branch if bit (n) in memory clear
seg004:DBF0 97 46 staa UBAT_AD_46 * Store accumulator in memory
seg004:DBF2
seg004:DBF2 locret_DBF2 * CODE XREF: get_MAP:store_UBATj
seg004:DBF2 39 rts * Return from subroutine
seg004:DBF2 * End of function get_MAP
seg004:DBF2
А тази калкулация не я схащам напълно
seg004:99C1 96 47 ldaa MAP_AD_47 * Load accumulator from memory
seg004:99C3 97 67 staa MAP_x * Store accumulator in memory
seg004:99C5 97 69 staa map_x_69 * Store accumulator in memory
seg004:99C7 80 1A suba #$1A * Subtract
seg004:99C9 24 03 bcc loc_99CE * Branch if carry bit clear
seg004:99CB 4F clra * Clear
seg004:99CC 20 0B bra loc_99D9 * Branch always
seg004:99CE * ---------------------------------------------------------------------------
seg004:99CE
seg004:99CE loc_99CE * CODE XREF: START+1C9j
seg004:99CE C6 97 ldab #$97 * '×' * Load accumulator from memory
seg004:99D0 3D mul * Unsigned multiply
seg004:99D1 C3 00 40 addd #$40 * '@' * Add 16-bit to D
seg004:99D4 05 lsld * Logical (or Ariphmetic) shift left double
seg004:99D5 24 02 bcc loc_99D9 * Branch if carry bit clear
Няма как да опиша цялата програма
Мога да ти я пратя.Достатъчно достоверна е .
Колкото за пробата не ползвам развойна среда ,а директно колата.
А вече съм го флашвал поне 200 пъти и няма проблем.Почти всички параметри съм открил,но калкулацията между тях ми куца на места. _________________ Ако нещо не не става с акъл,опитай с мощност
Ако и мощността (чука) не помогне-потърси по знаещи!
Последната промяна е направена от ivanovbg на Нед Сеп 11, 2011 22:35; мнението е било променяно общо 1 път |
|
| Върнете се в началото |
|
 |
eko67 Опитен потребител

Регистриран на: 01 Юли 2010 Мнения: 153 Местожителство: гр.Пещера
|
Пуснато на: Пон Сеп 12, 2011 8:23 Заглавие: |
|
|
Не очаквах конвертиране с коментари на командите.Нямах предвид развойната среда.А имаш ли я схемата на МК? 200 пъти флашване  |
|
| Върнете се в началото |
|
 |
ivanovbg Опитен потребител

Регистриран на: 14 Ное 2009 Мнения: 372
|
Пуснато на: Пон Сеп 12, 2011 15:15 Заглавие: |
|
|
Коментарите са лесни,има и графично представяне на препратките и още много екстри.
Само на външните връзки имам точна схема.
Той е с външна памет-епром 27С256 вече скапах 3 при проверките,а издържат 60-тина презаписа.Мога да сменям който датчик си поискам от останалите с какъвто си поискам и после си го тарирам софтуерно.Ама мапа ме затруднява.Пресмята го по два начина -на празен ход и при натиснат педал на газта.Точно тези сметки ми убягват как става точно.
В предишния ми пост от адрес 99C1 започва една такава.Аз го тълкувам та-зарежда в акум.А Напрежението на МАП от адрес 47 от рамта ,изважда $1А ако е по-малко записва грешка(твърде ниско напрежение на мапа) и изтрива резултата зареждайки аварийните карти за аванс и гориво. ,а ако не е по малко зарежда във ак.Б $97 умножава ги и събира резултата с $0040.После го умножава по две*мисля че двойно преместване на регистъра в ляво е умножено по две и ако не се препълни си записва стойноста като МАП на празен ход.
Ама не съм сигурен.Като коригирам някоя от цифрите за да и се ошашква и записва грешка по мап и влиза в аварините карти за аванс и гориво.
Е това ми е проблема.
В атача е как изглежда реално на екрана ми _________________ Ако нещо не не става с акъл,опитай с мощност
Ако и мощността (чука) не помогне-потърси по знаещи! |
|
| Върнете се в началото |
|
 |
eko67 Опитен потребител

Регистриран на: 01 Юли 2010 Мнения: 153 Местожителство: гр.Пещера
|
Пуснато на: Пон Сеп 12, 2011 17:48 Заглавие: |
|
|
| Може ли да погледна схемата с външните връзки |
|
| Върнете се в началото |
|
 |
ivanovbg Опитен потребител

Регистриран на: 14 Ное 2009 Мнения: 372
|
Пуснато на: Пон Сеп 12, 2011 19:55 Заглавие: |
|
|
в атача е .Аутодата нямаш ли?
Както и да е .В червено е мап датчика.а-маса, б-изход и ц-+5волта.
Опитах с хардуерни ключове да направя така че когато е на контакт да дава 4,7 волта-уж 95кпа и когато вече заработи да превключва реалното показание,но по време на движение когато се подаде пълна газ компа прави корекция на показанията на мапа-барокорекция и ме хваща Нали можеш същевременно да се изкачваш или слизаш и атмосферното налягане да се променя.Оттам се променя и калкулацията на количеството въздух което постъпва в двигателя иколичеството гориво и аванс.
Затова искам да бъзна програмата. _________________ Ако нещо не не става с акъл,опитай с мощност
Ако и мощността (чука) не помогне-потърси по знаещи! |
|
| Върнете се в началото |
|
 |
|