Am 26.09.2013 07:48, schrieb Colin Reese:
> 
> This is a very interesting topic. I've used ds9490s forever in
> various topologies wired individually with RJ and never had an issue
> with finding devices, using maxim's drivers on windows and owfs on
> Linux.
>
I do, even with a bus topology. When I scan continously for new chips I
will certainly get misreadings (a certain chip is errorneously not
found) after a few seconds. It gets worse when there are long leaves.

What is your cable length on individual leaves?


> It definitely gets slower as the number of devices increases,
> but no problems other than that. For cost, I've just implemented a
> DS2483 on I2C, which is $0.60 vs. $27 for the DS9490. I have not yet
> tested it extensively. I had assumed that the 2483 would perform
> better as it doesn't rely on the serial bus and is a newer device. Is
> this not the case, and what performance difference and limitations
> should I expect? I'm on raspbian on an RPi.
> 
The BCM2835 I²C master has a four-byte fifo which is used for writing
and reading which is at least a bit better than what other boards with
I²C hosts have. The i2c-bcm2708 driver makes use of that fifo.

BUT, as the DS2483 requires busy polling before issuing the next
command, you cannot make much use of that fifo. For writing a single
byte that's only two bytes in a row, then the write-read-turnaround
clears the fifo. Relevant code is at module/owlib/src/c/ow_ds2482.c:646-653

For scanning the bus, this is especially bad, as it requires 64 times
write byte+read byte per chip on the bus, meaning 128 interrupts in 12ms
(64 * 3 onewire bit times of 60µs, I²C timing neglectable). When you
have a network with a dozen chips *and* want to scan a lock on it three
times a seconds for an iButton, this is just an endless stream of
interrupts.

I had this use case and because of it being unfeasibly slowing down the
whole machine, Paul and me implemented the simultaneous/single_ds2400
node just for checking for a single DS2401 chip independly of the other
chips and the scanning mechanism. It's more reliable, too.


Kind regards

        Jan

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk
_______________________________________________
Owfs-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to