Interfacing to proprietary in-car network.

Status
Not open for further replies.

ZacMan

Newbie level 4
Joined
Feb 11, 2013
Messages
5
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,366
G'day all. I'm working on a wee project to interface with the network in my Toyota Altezza (very similar to a Lexus IS300) The vehicle uses 3 distinct networks, but the one I'm interested in is the BEAN (Body Electronic Area Network). I've repowered the vehicle with another motor, and would like to get my coolant temperature gauge operating correctly. The instrument cluster pulls the data for this off the BEAN network, but as I'm no longer running the original engine management computer, this data is no longer available!

I've deciphered the network message structure, and have isolated the messages I have to send and how to construct them. I've done a couple of proof on concept tests with an arduino, bit banging my constructed messages to the instrument cluster on the bench, and it works insofar as I can observe the gauge move to the correct position.

The last couple of tricky tasks are programming a software CDMA/CD algorithm, and the correct hardware interface to the network.

The physical layer of the network is a single wire bus, with a 0-10v 10kbps signal. The tricky parts that is stumping me, is that the bus idles low, so all my ideas for transmitting on the bus using an open drain with pull-up system destroy the bus signal whenever my arduino is not communicating.

Can anyone point me in the direction of an idea, or some reading to help me figure out how to interface to this bus? Basically, I need to level shift my 5v signal from the arduino, to the 10v signal the bus needs, and not destroy all the other communication on the bus at the same time.

Cheers for any help you can offer .
 

So you need a high side driver? I would use a PNP transistor, emitter to +12V via a current limiting resistor, collector is the output. see sketch


Frank

- - - Updated - - -



Frank

- - - Updated - - -

Whoops, if you are worried about 12v output pulses, connect a 47K resistor between the collector of the output transistor and earth. The 1K limits the output current if the bus is short circuited to earth, might need changing, depending on how much current the bus takes.
Frank
 
Last edited:

Cheers Chuckey, I really appreciate the time taken to respond. I came up with a similar high side driver circuit yesterday (something I've never used before, always stuck with low side drivers), and I have communication on the bus up and running. I like your circuit a little more however, as it provides more protection.

Now, programming the CSMA/CD setup is more involved than I originally anticipated! Working my way through it however .
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…