| | #31 | ||
| Re: 6F/16F Cinque/Sei ECU Reader Project That interface looks good. I can't see any problem with it working providing the ECU output is open collector and the input expects 0-12V. If someone can tell me for sure that this is how the 16F behaves I would love to know rather than flog a dead horse / ECU .I think there is only so far you can go though if you were to connect this to a computer serial port directly. The computer's UART will be able to receive the ISO code @ 1200 baud (a standard PC speed) and send out the initialization sequence, but once the ECU switches to 7812.5 baud, you will not be able to set a standard serial port to that speed in order to communicate with it. My intention is to connect a PIC to the ECU and handle the initialization and speed changes, using "bit-banging" software routines to achieve 7812.5 baud. (This part I have already done) Then use the PICs inbuilt UART to connect to a PC at something like 9600 baud and act as a middle man between the two.
__________________
| |||
| |
|
| | #32 | ||
| Re: 6F/16F Cinque/Sei ECU Reader Project Ive read lots of 16F and this i/f always works. You do not need to bother with PIC interface etc, you can set the port baud rate to almost anything. I've sent a working prog (sorry its DOS only) with the assembler file so you can write a better one! the method to change baud rate is in there, also look up the serial port chip on web.
__________________
| |||
| |
|
| | #33 | ||
| Re: 6F/16F Cinque/Sei ECU Reader Project It is encouraging that you have interfaced with 16Fs in the past. You are quite right, the assembly code you posted sets up the serial port to 7680 baud after the initialization sequence. That's about 98% accurate, which isn't bad. The reason I was going for a PIC solution was that I didn't know how tolerant the ECU was to inaccurate baud rates. The PC route would be good for laptop based diagnostics, while the PIC would be suitable for a handheld scanner / real time sensor value display, etc. Once I get the oscilloscope on the line I will now better what is going on.
__________________
| |||
| |
|
| | #34 | ||
| Re: 6F/16F Cinque/Sei ECU Reader Project howye lads.. another interesting discussion on diagnostics. I've been looking to mess with FIAT ECU's and diagnostics for a while now too. If you were looking for a handy interface to avoid having to mess with baud rates, its possible the OE2700 universal tester chip for the mobyDic interface might do the job. its made by a guy called bulent ozen, in turkey, at www.ozenelektronic.com. It would let one concentrate on the higher level software. I have the original mobyDic interface, for EOBD. which seems to connect to most cars I've tried it with, except a few petrol FIATS. he also has a FIAT tester chip which plugs into the original mobyDic interface and works with his own software. It seems to do airbags and other stuff as well, which would be nice.. Its price has come down a bit, and I'd gladly buy one to test if the guy would just answer an email !. he has some useful info there as well. as for a normal serial interface I'm pretty sure that the standard 12 volt K-line interface is what the marelli ECU's use. Cinqsporting97, you say you would use bit banging for the serial, but would it not be easier to set the PIC uart to the required baud rate ?. Of course it gets tricky with crystal choice when you are dealing with funny baud rates. Asteris, you could try the trial download of WINOLS to try and discover the map locations. It tries to identify maps, by looking for patterns. works fairly well too, although I only tried it on JTD and other diesel maps. Owen.
__________________ Faster Horses, Younger Women, Older Whiskey and More Money. '99 Bravo GT TD100 and '01 Bravo JTD100 (remapped ) | |||
| |
|
| | #35 | |||||||||||
| Re: 6F/16F Cinque/Sei ECU Reader Project Hi Cinqsporting97, sorry for the delay in replying, had a busy day yesterday.
__________________
| ||||||||||||
| |
|
| | #36 | ||
| Re: 6F/16F Cinque/Sei ECU Reader Project If you look at the max202 info you will see that there is an inverted output, ie when the rs232 line is idle (-12v) the ttl o/p is idle at +5v. Likewise when the ecu is at idle its tx line will be high but at a shifted level, believe me I've done loads of testing on them. If the crossover point at the i/p to ecu is 7v then ttl logic is not going to work without shifting.
__________________
| |||
| |
|
| | #37 | ||
| Re: 6F/16F Cinque/Sei ECU Reader Project I had a chance to connect my 16F ECU to an oscilloscope at the weekend and I can confirm that there is nothing coming out of either the K line or L line on "Key ON", just a steadyish (fuel pump noise, etc) 10-11v. So the ISO code is not being transmitted as the 16F specification says. I can see two different explanations of this:
My cinq was one of the last run sold in 1997, before they started selling the Seicento. And it seems that the early Puntos with 16F ECUs did use the Fiat 9141 protocol. So things are stacking up in favour of the 9141 protocol, the car was made in 97 when the protocol change seems to have occurred, the ECU is capable of doing it as the same box in the Punto uses 9141 and most importantly 9141 does not output an ISO code on Key ON. In the Fiat 9141 protocol the ECU must be "woken up" by sending an initialization sequence a 5 (yes five) baud. At which point the ECU then sends out the ISO code. The tester then has to manipulate this ISO code in some way and send it back to the ECU for it to enter diagnostic mode. There are a few problems in testing this theory, the main one being that the wake up sequence is different for different ECUs and I'm not sure what it should be for the cinq. Its usually just a 7bit number sent at 5 baud with odd parity, 1 start bit and 1 stop bit. So that leaves me with a maximum of 127 codes to try. All I need to do now is write the software and hope the ECU doesn't lock me out after three attempts. ![]() Does anyone have any thoughts? Have you ever interfaced to a 16F in a Punto using the Fiat 9141 protocol? Peteu, how did you get on measuring your K line voltage?
__________________
| |||
| |
|
| | #38 | ||
| Re: 6F/16F Cinque/Sei ECU Reader Project
__________________
Last edited by reddy4bed; 21-01-2008 at 13:06. | |||
| |
|
| | #39 | ||
| Re: 6F/16F Cinque/Sei ECU Reader Project Thanks for that layout, it will come in very handy. I am (nearly) 100% sure it was connected correctly as I did the testing with the ECU in the car (which was starting and running fine). I know that these systems are designed to withstand all kinds of abuse, such as prolonged shorting to GND / VBatt, etc so I too think it's unlikely that the ECU is damaged (but it's always a possibility). As the Punto uses the same ECU and has a different protocol I think it's worth testing to see if the late model cinqs use Fiat 9141 too.
__________________
| |||
| |
|
| | #40 | ||
| Re: 6F/16F Cinque/Sei ECU Reader Project Hi Cinqsporting, I managed to get round to testing the output from my k-line, and i was getting 10-11v (varying a bit) on the multimeter at key on. My car is a 1997 sporting also.
__________________
| |||
| |
|
| The following user says "Thank You!" to peteu for this useful post: | ||
CinqSporting97 (21-01-2008) | ||
| | #41 | ||
| Re: 6F/16F Cinque/Sei ECU Reader Project Thanks peteu, When you say "varying a bit" do you mean that the voltage just drops a little until the fuel pump stops running or does it drop down to say 6-7v for a second or two and then stabilise at 10-11v?
__________________
| |||
| |
|
| | #42 | ||
| Re: 6F/16F Cinque/Sei ECU Reader Project It was fluctuating around 10.5v but not dropping any lower than 10. I didn't measure for long enough for the pump to stop i dont think.
__________________
| |||
| |
|
| | #43 | ||
| Re: 6F/16F Cinque/Sei ECU Reader Project I have an update on my progress with the reader. Last night I decided to remove the ECU from the car and bench test it. I took it out and connected it to a battery and 10MHz oscilloscope, and what do you know I got a signal out on the K line when power was applied. ![]() The last time I had it out I didn't have access to an oscilloscope and the time I tested it in the car the electrical noise from the fuel pump etc made the signal impossible to see. But last night with a clean DC supply and no noisy motors on the same line I could see the signal very clearly. I still had my PIC circuit I talked about earlier hooked up to a MAX232 to interface it with my PC. So I made a 12V to 5V level shifter from a N Channel MOSFET so that I could connect one of the input pins on the pic to the K line. I then used the pic to read the K line continuously @ 1200 baud and output the results at 56k baud to the PC. This is all overkill I know I could've just connected the level shifter to an input pin on the MAX232 and set the PC comm port to 1200, but I want to use the PIC circuit as a stand alone reader later. When I turned on the ECU, I got the ISO code displayed on screen (through a little app I wrote to display binary comm port data) exactly as described in the spec. I can now confirm a few things from the 16F technical spec:
That's all I managed to do last night, but it's very encouraging as it proves that the hardware is working and the ECU is not fried. I now hope to reprogram the PIC with code to setup communication with the ECU and start reading data. I'll keep you all informed on how it goes.
__________________
Last edited by CinqSporting97; 31-01-2008 at 11:16. | |||
| |
|
| | #44 | ||
| Ok folks, I have good news. After some initial problems communicating with the ECU in the car (mainly with the software), I think I have cracked it. I have got the ISO code out on Key ON, sent the init sequence and talked to the ECU through a PIC at 7812.5 baud. I read the battery voltage, throttle position, non-validated errors, validated errors, entered active diagnostics mode, run the fuel pump as part of AD mode, and cleared the error memory. I've tried a few cycles of this and it all works consistently. At the minute I am running it through a pretty basic interface, that outputs hexadecimal data and allows me to request data from the ecu by typing in the hex code for the data I want. So it's not exactly very elegant, but it works for testing. I now want to knock up a GUI interface for the laptop that will be a bit more streamlined. A basic overview of what I've done is attached below. Is anyone still interested in developing the ECU reader, I would like to get some input on features, etc?
__________________
| |||
| |
|
| | #45 | ||
| Re: 6F/16F Cinque/Sei ECU Reader Project I wish I was clever........
__________________
| |||
| |
|
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | Search this Thread |
|
|
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| The FF ECU Reader...? | ben | Lets Talk FIAT | 37 | 29-12-2006 19:25 |
| | hangten | Bravo / Brava | 3 | 29-09-2003 02:57 |