Page 2 of 5

Re: Electric fan control on Sd4x

Posted: 2023 Jan 05, 07:20
by jsa

Code: Select all

 Update_fans:
648c: 9b,f6,74,00         cmpb  R0,[Rf6+74]                                        # 941C fan control enable
6490: d7,01               jne   6493             if (0 = Fan_enble)  {
6492: f0                  ret                    return; }

6493: 37,a1,02            jnb   B7,Ra1,6498      if (Cranking = 0) goto 6498;
6496: 20,c1               sjmp  6559             goto 6559;
6498: 71,df,e9            an2b  Re9,df           Hsfflg = 0;
649b: 9b,f6,77,b0         cmpb  Rb0,[Rf6+77]                                       #  ROM 941F fan high speed temp 2(242DegF)
649f: d6,24               jge   64c5             if (ECT >= Ect_hs2) goto 64c5;
64a1: 9b,f6,76,b0         cmpb  Rb0,[Rf6+76]                                       #  ROM 941E fan high speed temp 1(234DegF)
64a5: de,21               jlt   64c8             if (ECT >= Ect_hs1)  {
64a7: b3,74,21,42         ldb   R42,[R74+21]     R42 = N_byte;
64ab: 9b,f6,78,42         cmpb  R42,[Rf6+78]     
64af: d3,17               jnc   64c8             if ((uns) R42 >= [9420])  {
64b1: a3,74,de,42         ldw   R42,[R74+de]     R42 = Load;                       # engine load (VE? )
64b5: 8b,f6,7a,42         cmpw  R42,[Rf6+7a]     
64b9: d3,0d               jnc   64c8             if ((uns) R42 >= [9422])  {
64bb: b3,74,3f,42         ldb   R42,[R74+3f]     R42 = Mph_FiltH;                  # 2BD - vehicle speed filtered(1) (MPH) 2BC is 8.8 format
64bf: 9b,f6,79,42         cmpb  R42,[Rf6+79]     
64c3: d9,03               jgtu  64c8             if ((uns) R42 <= [9421])  {
64c5: 91,20,e9            orb   Re9,20           Hsfflg = 1; } } } }
64c8: 35,e9,0d            jnb   B5,Re9,64d8      if (Hsfflg = 1)  {
64cb: b3,f6,71,40         ldb   R40,[Rf6+71]     R40 = [9419];
64cf: 9b,72,ce,40         cmpb  R40,[R72+ce]                                       # timer?
64d3: d9,03               jgtu  64d8             if ((uns) R40 <= Edftmr)  {
64d5: 91,08,e9            orb   Re9,8            Hispd = 1; } }
64d8: b3,f6,76,42         ldb   R42,[Rf6+76]     R42 = Ect_hs1;                    # 941E fan high speed temp 1(234DegF)
64dc: 7b,f6,6d,42         sb2b  R42,[Rf6+6d]     R42 -= [9415];
64e0: 98,b0,42            cmpb  R42,Rb0          
64e3: da,03               jle   64e8             if ((uns) R42 < ECT)  {
64e5: 71,f7,e9            an2b  Re9,f7           Hispd = 0; }
64e8: 9b,f6,6c,b0         cmpb  Rb0,[Rf6+6c]                                       #  ROM 9414 fan low speed temp (220DegF)
64ec: da,03               jle   64f1             if ((uns) ECT < Fan_temp)  {
64ee: 91,04,e9            orb   Re9,4            Lospd_ect = 1; }
64f1: b3,f6,6c,42         ldb   R42,[Rf6+6c]     R42 = Fan_temp;                   # 9414 fan low speed temp (220DegF)
64f5: 7b,f6,6e,42         sb2b  R42,[Rf6+6e]     R42 -= [9416];
64f9: 98,b0,42            cmpb  R42,Rb0          
64fc: da,03               jle   6501             if ((uns) R42 < ECT)  {
64fe: 71,fb,e9            an2b  Re9,fb           Lospd_ect = 0; }
6501: 33,e9,09            jnb   B3,Re9,650d      if (Hispd = 0) goto 650d;
6504: b3,f6,75,40         ldb   R40,[Rf6+75]     R40 = Hedfhp;                     # 941D fan high speed enable
6508: 99,01,40            cmpb  R40,1            
650b: df,44               je    6551             if (R40 = 1) goto 6551;
650d: b3,f6,6f,42         ldb   R42,[Rf6+6f]     R42 = [9417];
6511: 7b,f6,70,42         sb2b  R42,[Rf6+70]     R42 -= [9418];
6515: 9b,74,3f,42         cmpb  R42,[R74+3f]                                       # 2BD - vehicle speed filtered(1) (MPH) 2BC is 8.8 format
6519: d1,05               jleu  6520             if ((uns) R42 > Mph_FiltH )  {
651b: 33,ea,02            jnb   B3,Rea,6520      if (Accflg = 0) goto 6520;
651e: 20,06               sjmp  6526             goto 6526; }
6520: 3a,e9,03            jb    B2,Re9,6526      if (Lospd_ect = 1) goto 6526;
6523: 37,c5,04            jnb   B7,Rc5,652a      if (Cfmflag = 1)  {
6526: 71,9f,47            an2b  R47,9f           Fan = 0;
                                                 Hi_fan = 0;                       # R47 bits 5 and 6 OFF (Fans? )
6529: f0                  ret                    return; }

652a: 3b,ea,0c            jb    B3,Rea,6539      if (Accflg = 0)  {
652d: a3,f6,72,40         ldw   R40,[Rf6+72]     R40 = [941a];
6531: 8b,74,98,40         cmpw  R40,[R74+98]                                       # 216 - timer?
6535: d9,02               jgtu  6539             if ((uns) R40 > Acctmr ) goto 6539;
6537: 20,14               sjmp  654d             goto 654d; }
6539: b3,f6,55,40         ldb   R40,[Rf6+55]     R40 = [93fd];
653d: 9b,74,97,40         cmpb  R40,[R74+97]                                       # 215 timer?
6541: d9,0a               jgtu  654d             if ((uns) R40 > Wcotmr ) goto 654d;
6543: b3,f6,6f,40         ldb   R40,[Rf6+6f]     R40 = [9417];
6547: 9b,74,3f,40         cmpb  R40,[R74+3f]                                       # 2BD - vehicle speed filtered(1) (MPH) 2BC is 8.8 format
654b: db,02               jc    654f             if ((uns) R40 >= Mph_FiltH) goto 654f;
654d: 20,10               sjmp  655f             goto 655f;
654f: 20,07               sjmp  6558             goto 6558;
6551: 71,df,47            an2b  R47,df           Fan = 0;                          # R47 bit 5 OFF (Fan? )
6554: 91,40,47            orb   R47,40           Hi_fan = 1;                       # R47 bit 6 ON (Fan? )
6557: f0                  ret                    return;

6558: f0                  ret                    return;

6559: 71,f7,e9            an2b  Re9,f7           Hispd = 0;
655c: 71,fb,e9            an2b  Re9,fb           Lospd_ect = 0;
655f: 91,20,47            orb   R47,20           Fan = 1;                          # R47 bit 5 ON (Fan? )
6562: 71,bf,47            an2b  R47,bf           Hi_fan = 0;                       # R47 bit 6 OFF (Fan? )
6565: f0                  ret                    return

Re: Electric fan control on Sd4x

Posted: 2023 Jan 06, 10:26
by efloth
Thanks for the input guys. So to find pin 35 in code, I need to orb a bunch of registers until I find the connection to ground activate? Does the other parameter of that opcode reference the bit in that register?

Re: Electric fan control on Sd4x

Posted: 2023 Jan 07, 13:41
by wwhite
I think pin #35 on the 60 pin plug goes nowhere on the circuit board from what I can tell, have to verify.

Pin #34 is a PWM output, on the CPU it is one of the HSO, I believe.
On the circuit board it goes to a location where there is a missing chip.
You would have to make a connection from the CPU pin missing chip location to the trace where pin #34 is.
Not sure if PWM fan control uses another chip, or if it is direct to pin.

I'm not sure if you want PWM or on/off, which would be best??
On/Off is probably easier.
I'm think there is a spare I/O pin on SD48, I'll try and find it today.

Re: Electric fan control on Sd4x

Posted: 2023 Jan 09, 19:24
by efloth
Let me know what you find. 35 is not connected as you said. I found the end of the line for pin 15. It appears an optional component needs to be installed. Any ideas on what goes here?
PXL_20230110_002036826~2.jpg
I have a relay so On/Off is what I am looking for

Re: Electric fan control on Sd4x

Posted: 2023 Jan 09, 20:51
by wwhite
What is the original code on the SD48 hardware you have?

Re: Electric fan control on Sd4x

Posted: 2023 Jan 09, 20:59
by wwhite
efloth wrote: 2023 Jan 09, 19:24 Let me know what you find. 35 is not connected as you said. I found the end of the line for pin 15. It appears an optional component needs to be installed. Any ideas on what goes here?

PXL_20230110_002036826~2.jpg

I have a relay so On/Off is what I am looking for
EEC-IV with hardware code MA46G have the same PCB as SD4xx, different components, same traces.
MA46G came in 93ish explorers, etc. with MAF.

PIN 15 (60 pin plug) on the Explorer is for MAF. So, that missing component is for MAF.

Re: Electric fan control on Sd4x

Posted: 2023 Jan 09, 22:56
by efloth
I'll send a pic tomorrow. It is sd48b for sure but don't have the other info. I think pin 39 may be an option but I lost it near the small logic chips in the middle of the board. All the other available pins appear to go nowhere or to missing components.

Re: Electric fan control on Sd4x

Posted: 2023 Jan 10, 11:48
by efloth
PXL_20230110_164033721.jpg

Re: Electric fan control on Sd4x

Posted: 2023 Jan 10, 16:56
by efloth
So pin 39 just needs a couple smd components and connects through this ic.
PXL_20230110_214615099.jpg
Any ideas on what this chip is? Are we dealing with the on/off or PWM?

Re: Electric fan control on Sd4x

Posted: 2023 Jan 11, 00:13
by wwhite
I think that chip is connected to CPU pin#43-AVCC, supply voltage for A/D stuff, I wouldn't go there.

Working backwards from the CPU, looks like CPU pin#21(LSO3), pin#23(LSO1) and pin#26(I/O0) are not connected to anything.
Going to verify in software.