Author Topic: Trying to find a line receiver  (Read 3468 times)

0 Members and 1 Guest are viewing this topic.

Offline viperidaeTopic starter

  • Frequent Contributor
  • **
  • Posts: 306
  • Country: nz
Trying to find a line receiver
« on: January 21, 2019, 10:23:17 pm »
I'm been trying to find a robust, simple solution to reading a data line.

The line is the IEBus standard, a differential line with > +120mV a logic 0 and < +20mV logic 1. Common mode is around 2.5V, 120R terminated at each end of the bus.

The line speed is on the order of 20kbps. I'd need to be able to detect the difference between 8us and 20us pulses.

There are Renesas/NEC chips around with built in IEBus peripherals but they not easy to come by.
There are also circuits on the web using a comparator, with a resistor to pull the positive bus line down a bit, so the +20mV is pulled below 0.

Unfortunately the levels are too low to use a CAN bus transceiver. I don't really know what to look for in a differential line receiver that is suitable.

Edit:
Examples of hard to find/obsolete parts:
Line receivers:
  R2A11210
  HA12187
Controllers with built-in receivers:
  D74042
  UPD6708

As background, I'm trying to replace the Japanese navigation system in my old 2005 Honda Accord with a Raspberry Pi running Crankshaft-ng to give me Android Auto.
I need to interface with the HVAC and existing audio system, as the old navi provided the only interface for complete control. This is over Honda's GA-NET II bus, an implementation of NEC/Renesas IEBus. Toyota use it as well and call it AVC-LAN.


Thanks in advance.
« Last Edit: January 21, 2019, 11:03:33 pm by viperidae »
 

Offline spec

  • Frequent Contributor
  • **
  • Posts: 833
  • Country: england
  • MALE
Re: Trying to find a line receiver
« Reply #1 on: January 21, 2019, 11:32:06 pm »
Hi viperidae

Just connect the two data lines to the + and - inputs respectively of a high speed comparator, like the AD8468, running from a 5v supply line, and the output from the comparator will be the line signal at TTL/CMOS levels.

https://www.analog.com/media/en/technical-documentation/data-sheets/ad8468.pdf
« Last Edit: January 21, 2019, 11:34:02 pm by spec »
 

Offline viperidaeTopic starter

  • Frequent Contributor
  • **
  • Posts: 306
  • Country: nz
Re: Trying to find a line receiver
« Reply #2 on: January 22, 2019, 12:48:46 am »
I believe the problem is the BUS+ line is always higher than BUS-
It's a matter of how much higher.
A logic 0 is when a device on the bus drives the line and a logic 1 is when the line is left to return to zero via the 120R termination resistors.
 

Offline spec

  • Frequent Contributor
  • **
  • Posts: 833
  • Country: england
  • MALE
Re: Trying to find a line receiver
« Reply #3 on: January 22, 2019, 03:54:29 am »
 
I believe the problem is the BUS+ line is always higher than BUS-
It's a matter of how much higher.
A logic 0 is when a device on the bus drives the line and a logic 1 is when the line is left to return to zero via the 120R termination resistors.
Apologies- that's what happens when you reply in a rush. :-[

Just some links which may be of use on this thread:

https://en.wikipedia.org/wiki/IEBus

http://www.datasheetcatalog.com/datasheets_pdf/U/P/D/6/UPD6708.shtml

http://pdf1.alldatasheet.com/datasheet-pdf/view/248923/RENESAS/HA12187FP.html

NEC uPD6708 IEBUS Protocol Control LSI Chip:   http://pdf1.alldatasheet.com/datasheet-pdf/view/63444/HITACHI/HA12187.html

NEC uPD78098 Microcontroller with IEBUS Interface:    https://www.datasheetarchive.com/pdf/download.php?id=4815a2c428ade8f21639b96e3c06694be3218b&type=M&term=uPD78098B
« Last Edit: January 22, 2019, 04:35:39 am by spec »
 

Offline spec

  • Frequent Contributor
  • **
  • Posts: 833
  • Country: england
  • MALE
Re: Trying to find a line receiver
« Reply #4 on: January 22, 2019, 05:23:06 pm »
+ viperidae,
I have done a design for an IEBUS line reader (IEBLR) and hope to draw it up and post within the next few hours. But, in the mean time, can I ask a few questions?
How would you like the IEBLR to be powered: battery, mains, or from the unit reading the data line from the IEBLR.
How many IEBUS lines would you like to read simultaneously at any one time?
Are you OK with building a simple circuit?
« Last Edit: January 22, 2019, 07:47:18 pm by spec »
 

Offline Yansi

  • Super Contributor
  • ***
  • Posts: 3893
  • Country: 00
  • STM32, STM8, AVR, 8051
Re: Trying to find a line receiver
« Reply #5 on: January 22, 2019, 07:00:01 pm »
I smell a bog standard RS485/422.

Why not just MAX485, SN75176, or whatever alike?
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21658
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Trying to find a line receiver
« Reply #6 on: January 23, 2019, 12:02:31 am »
Not quite enough for 422/485, at least not per the datasheet.  The input thresholds may be sharp enough after all to do it, but it's not going to be guaranteed.

LVDS transceivers at 3.3V seem like the way to go.  I don't get the asymmetrical voltage, but some bias resistors would fix that.  Unless there's more to it, like CAN-style multi-master arbitration.

That would only cover the PHY, and you'd need a pulse decoder or something for the rest I guess.  Nothing a MCU can't do. :-//

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline viperidaeTopic starter

  • Frequent Contributor
  • **
  • Posts: 306
  • Country: nz
Re: Trying to find a line receiver
« Reply #7 on: January 23, 2019, 02:21:04 am »
RS485 is +/- 200mV isn't it?
This is +20mV to +120mV

It's kind of like CAN but much lower voltage.

@spec I plan to power it from the car> Not only do I need to monitor a single bus, I need to send data on it and acknowledge messages sent to the navigation unit I'm replacing.

From what I can tell, most of those parts are obsolete. I managed to find some HA12240FP's on Aliexpress, but that's going to take a month or so to ship here. All of Renesas's chips with IEBus controller don't seem to have the physical line drivers built in either, so their "Sakura" dev board isn't any good.

I don't have a problem building basic circuits.
 
The following users thanked this post: spec

Offline spec

  • Frequent Contributor
  • **
  • Posts: 833
  • Country: england
  • MALE
Re: Trying to find a line receiver
« Reply #8 on: January 23, 2019, 06:37:20 am »
I plan to power it from the car.
OK. Presumably you will build a unit, housing an MCU etc to read and write to the IEBUS. And presumably that unit will have a 5V power rail. If so, can I pull around 200mA max from the 5V  power rail?

Not only do I need to monitor a single bus, I need to send data on it and acknowledge messages sent to the navigation unit I'm replacing.
One read and one write line it is then. Will you be reading and writing to the same IEBUS line and will the read and write be physically at the same point (ie not a different IEBUS line)? Unless I missed it, writing is a new requirement, but I don't see that as difficult to do (famous last words).

From what I can tell, most of those parts are obsolete. I managed to find some HA12240FP's on Aliexpress, but that's going to take a month or so to ship here. All of Renesas's chips with IEBus controller don't seem to have the physical line drivers built in either, so their "Sakura" dev board isn't any good.
Understood. The circuit I hope to post today uses all stock components.

I don't have a problem building basic circuits.
I thought so- just checking :)
« Last Edit: January 23, 2019, 07:53:42 am by spec »
 

Offline viperidaeTopic starter

  • Frequent Contributor
  • **
  • Posts: 306
  • Country: nz
Re: Trying to find a line receiver
« Reply #9 on: January 23, 2019, 07:46:43 am »
Definitely need to write and acknowledge messages.

I tried https://github.com/halleysfifthinc/Toyota-AVC-LAN a while ago using an arduino but I couldn't get reliable results. I lack a proper scope so debugging it wasn't really feasible.
All I have access to currently is a Hantek 6022BE for a scope. I've been playing around with an LMC6482 opamp connected as a diff amp and have some success. Half the time things work and half the time they don't. I tried increasing the gain from 1x to 10x and it didn't work at all. I don't know if it's the 6022 or not.

Don't know how I'd convince the better 3/4 I need to buy a proper scope. $818NZ for a Rigol DE1054Z from Tequipment
 

Offline viperidaeTopic starter

  • Frequent Contributor
  • **
  • Posts: 306
  • Country: nz
Re: Trying to find a line receiver
« Reply #10 on: January 23, 2019, 09:13:12 pm »
I don't see how the bus- line gets driven. To send a logic 0 the bus+ gets pulled high and bus- gets pulled low.
They're usually driven by the driver chips through 180r resistors to +5v and 0v
 

Offline spec

  • Frequent Contributor
  • **
  • Posts: 833
  • Country: england
  • MALE
Re: Trying to find a line receiver
« Reply #11 on: January 23, 2019, 09:29:56 pm »
I don't see how the bus- line gets driven. To send a logic 0 the bus+ gets pulled high and bus- gets pulled low.
They're usually driven by the driver chips through 180r resistors to +5v and 0v
Hmm, interesting. I will remove the offending post and will re-post a schematic for just the IEBUS receiver, which was the original requirement.
« Last Edit: January 23, 2019, 10:19:55 pm by spec »
 

Offline spec

  • Frequent Contributor
  • **
  • Posts: 833
  • Country: england
  • MALE
Re: Trying to find a line receiver
« Reply #12 on: January 23, 2019, 10:11:48 pm »
« Last Edit: January 24, 2019, 07:26:56 am by spec »
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21658
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Trying to find a line receiver
« Reply #13 on: January 24, 2019, 12:15:00 am »
Why not use this much simpler circuit?

https://www.onsemi.com/pub/Collateral/FIN1028-D.PDF

(It's just a receiver. I'm not going to draw that up. :P )

LVDS receivers are normally spec'd for 100mV, but typical performance is a comparator with <10mV offset.  Or, just use a comparator; or best yet, a comparator with adjustable offset, if you can find one (or use an op-amp that does, that is also fast enough to be usable as a comparator at this clock rate?).

Unfortunately, adding an offset to a bus is surprisingly difficult -- the above example works for one-offs, but it's not scalable because it puts a current offset into the bus itself.  A source and sink around the offset resistor would fix that in the average case, but would leave a worst-case residual offset.

The other difficulty is EMC.  The previously stated 5V common mode range is ridiculous for an automotive environment (perhaps why this bus didn't last long?).  Heavy common mode filtering at least will be necessary.  Exceeding the CM range activates ESD clamp diodes, stomping out bits.  An isolated receiver might be okay (has to be done carefully to avoid loading the bus with capacitance), but this is a somewhat heroic level of effort and maybe it's not necessary, I don't know.

Or maybe a completely different tack is acceptable -- have I read this correctly, that it's a high clock frequency ("6MHz") modulated at a much lower symbol rate?  Just AC-couple it, read it out from a transformer!  Eliminates the oddball offset, eliminates common mode and isolation problems, lets you do whatever you need locally to process the signal, and commodity transformers may be suitable (think Ethernet 10/100, or ISDN transformers if you can still find 'em).  Downside, this puts a fair amount of impedance on the bus, so again, it's not scalable.

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline viperidaeTopic starter

  • Frequent Contributor
  • **
  • Posts: 306
  • Country: nz
Re: Trying to find a line receiver
« Reply #14 on: January 24, 2019, 02:49:08 am »
IEBus is a multi-master bus like CAN, so there is arbitration to deal with too.
My understanding with all these LVDS/RS485/etc receivers is they won't switch the output state until the differential input goes negative. That never happens in IEBus, it's either driven positive or left to go back to zero, like CAN. CAN receivers aren't suitable as they require about 10x higher voltage swings.

The common mode doesn't get that high and the bus is supposed to usually sit at around 2.5V. I think the driver chips bias the bus to half their 5V supply rail.

It's not that uncommon as an automotive bus. It's designed for Infotainment systems. Pioneer used it, Toyota used it, Honda used it.
It's how the navigation systems, aux inputs, cd changers, head units, satellite radio options, etc, all talk to each other.

It spanned a few generations of models in Honda cars (Civic's, Accords, Odyssey's), so probably late 90's to mid 00's. Toyota Prius's and Corolla's used it too. I guess they've moved on to different standards now. I don't know why they didn't use a low speed CAN bus. My Honda has a high speed CAN for the engine/transmission/etc and a single-wire CAN for the body network. I don't know why they wouldn't use the body CAN network. The HVAC already uses that to control the AC compressor relay. The navigation system connects to the high speed CAN to read the trip computer data from the ECU and the gear selection to activate the rear view camera. The gauge cluster connects the two CAN networks and passes some message types between the two.
 

Offline spec

  • Frequent Contributor
  • **
  • Posts: 833
  • Country: england
  • MALE
Re: Trying to find a line receiver
« Reply #15 on: January 24, 2019, 07:04:39 am »
There was an error on the schematic for the IEBUS receiver attached to reply #12. R5 was the wrong value and has been corrected.

It is quite true that a worrying amount of current would have been injected into the line with the original R5 value, but with the correct value for R5, the injected current is only 70uA, The IEBUS is terminated both ends by a 120R resistor, so that makes the differential resistance 60R. 60R * 70uA= 4.2mV, which I suggest is OK.

There is a way to inject no current into the line, but it didn't seem worthwhile.
« Last Edit: January 24, 2019, 07:17:07 am by spec »
 

Offline spec

  • Frequent Contributor
  • **
  • Posts: 833
  • Country: england
  • MALE
Re: Trying to find a line receiver
« Reply #16 on: January 24, 2019, 07:16:10 am »
The biggest problem in designing an IEBUS transceiver is not the design task itself, but getting a specification for level 1 to design to. I have searched the net and have not found a specification yet.

But this link may be of use for anyone wanting to have a go at this task.  http://www.interfacebus.com/Design_Connector_IEbus.html

Now is your chance Tim- but no speeches, just a schematic will do nicely :)
« Last Edit: January 24, 2019, 07:20:55 am by spec »
 

Offline viperidaeTopic starter

  • Frequent Contributor
  • **
  • Posts: 306
  • Country: nz
Re: Trying to find a line receiver
« Reply #17 on: January 24, 2019, 08:01:58 am »
I took a trip to the local electronics shop on my lunch break and bought a few comparators to play with. Jaycar doesn't have a huge selection.

Using this schematic http://softservice.com.pl/corolla/avc/sch/sch_avc.png with an LM311 I got acceptable results according to the dodgy Hantek
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf