Ale,
Conditions inside the car will be different, but I'd like to think more about ways to improve noise immunity without making the circuit over complicated.
Re-reading your post about the possibility of the errors being due to threshold problems, I thought again about the issue and maybe have another explanation of the bad noise immunity I have.
As I said, most of the errors were due to 0's becoming 1's. For example, 010... would have been read as 011...
Going backwards through the circuit, it means the original signal (including start bit) was something like HHLH but was read as HHLL (H=high,12V and L=low, around 3V(*)). So it looks like sometimes the LH transition is not enough to reach the Low to High threshold. According to the data sheet, this point is around 1.8V but can be as high as 2.4V (max).
And the input resistance which should be around 5K typ could be as low as 3K (min). Clearly, the 3K-7K range shows they just put it there as a "pull-down", not with a precise value people should rely on to make a divider...
So taking these two limits, reaching 2.4V with a 18K:3K resistor bridge would need an input voltage of 16.8V ! OK, it's unlikely that I got such an extremely rated component, but it is quite understandable that even if it works most of the time at 12V, a slight voltage drop at the input can cause the voltage not to reach the sufficient level to step over the threshold.
In this case, adding hysteresis would make the problem worse of course.
If this reasoning is correct, I might lower the 18K to a 15K, for example, but other chips might have other resistor or threshold values - still in the spec - that would cause the opposite problem (low voltage not low enough to reach HL threshold, and I'd like to avoid one of the readers having difficulties with a circuit he build according to mine.
So I think it would be good to make the gap wider between high and low input levels (increasing S/N ratio by increasing Signal), and that's why I'm coming back with the idea of diodes that would offset the input voltage. Let's say if I put 5 diodes with a drop of 0.6 each, for a total of 3V drop, then when input signal is at 12V, it would set the input pin at 9V, far above the 2.4 maximal threshold, and when signal is at 3V, diodes wouldn't let current flow at all, with the internal resistor forcing the input pin at 0V, far below the 0.6 minimal threshold.
OK, spikes wouldn't be "divided" like with a divider, but levels would be more frankly determined...
OTOH, if the chip has the minimum resistor value of 3K, it would mean a 3mA (9V/3K) current would be drawn when level is high, and maybe that's not so good for the HU.
I'd like to hear your opinion on that.
Thanks
Vicne.
(*) Please note that according to the latest measurements by Mox, I begin to seriously doubt of this value...



LinkBack URL
About LinkBacks
.
)
. If someone has a particular reason not using Delphi, I could live with VC. But I have major objections in using any .Net descendant! (Yes I know its easy, wide spread, used by professionals, ..... but I can tell you a different story that costed our company a huge amount of money and a lot of discontented customers.) Besides, our prog has to run on systems that are usually not loaded with heavy hardware and huge amounts of disk space so offer 20 or 30 megs of disk space just to install a framework to get a prog of 100k running is if you ask me a wast of disk space. You could add another 10 mp3's for that
.
?
Reply With Quote
Bookmarks