Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

VPW / J1850 Interface

Status
Not open for further replies.

iso9001

New Member
Hi,

I'm making an on-board computer / dash display that will be taking up alot of space on the dash... The problem is that my AC controls will be taken out. My plan is to emulate the controls on my screen.

I'm using a 16F872 to do most of the work and everthing is done except the AC ON signal. Which is a variable pulse width signal of 4-6 bytes that travels on the PCI bus of the car.

I have access to the code but was wondering if there is a GOOD way to add them to the bus when its clear.

My plan was to wait for a clearing in the line and then use the pic outputs to make the 0 and 1's required in the command. Ie: Output high for 50us then low for 150us then high for etc etc

I know PWM is good for widths, but not for freqencies... Should I consider using PWM instead of spelling out the signal? Is there anyone thats done VPW work like this ?
 
Your message is not really clear as to what the problem is, or what you are asking for help with.

The bit about needing to remove the A/C controls is clear enough, as is the part where your device will emulate the existing A/C control somehow.

It looks as though you want to tap into the cars communication bus using OBD-II Is this correct ?

Are you aware that there are three standards used in OBD-II and each of the major 3 makers have chosen a different one ?

Are you aware that while the car might have an OBD-II interface, this will quite often bridge to a LIN or CAN bus for what is termed "body control" ?

Depending upon the make of car, your OBD-II interface could use VPW (GM), PWM (Ford), or ISO9141 (Chrysler).

If you have already coded all three of these protocols into your PIC, I would really like to talk with you.....
 
When the ac button is pressed in a new model car, it doesnt just trigger a relay like the old vehicles. It instead sends a multiplexed bus signal to the computer over the PCI Bus (or 'class 2' if your talking GM) the computer then turns the relay on and can turn it off under different circumstances. (too hot, low/high psi, wot, etc)

I need to make my pic send out that signal. I read the whitepapers for a bunch of different stuff and found out that the bus wire I'm dealing with is a 1 wire send and recieve J1850 VPW

I have programed a test pic to generate the correct timed signals and its set up to read and write... I tell it the byte to send and it does it...

Problem is, the VPW spec requires that an output_high be between 6 and 8 volts. My pic is running off a buffered 5V that happends to be in the car anyway. It looks like I'm going to have to take a 12V lead, cut it down to 7V and then run that into a transistor that my pic controls...

So for a low signal, I ground the pin for X amount of time. For a high, I power the transistor and it sneds the line to the 7V that is required. My pic stays nice and safe and everyone is happy.

I just now need to pull the code on a scope, break it down to binary and then ask my pic to make the same signal.

The problems right now are that

1. I need to cut the voltage down from 12V to 7V
2. Pull the code using a scope (this should be really easy)
3. Round off the shape of the square wave as the spec requires (not sure if that means some sort of filter, and then how to go about that)
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top