Thursday, 3 April 2014

1-Wire Interfaces



I am wondering about the experience of users in this site with the 1-Wire interface as far as reliability in communications and ease of use.


From my perspective, the main issue I see is the lack of native 1-Wire modules in microcontrollers, which means it has to be done in software with some timers. I've even used it a little bit with FPGAs using Maxim's own 1-Wire FPGA syntesizable module, but the results were pretty horrendous since it didn't work and I ended up using a software solution (which requires careful timing). Perhaps using an actual timer with capture/compare would have made a few things easier.


So, from your perspective:


1) Has it been reliable and useful in your projects?


2) How did you implement the communications interface?


Any tips/tricks that make it easy to use would be greatly appreciated.



Answer



I've had bad experience with 1-wire too. 1-wire performs poorly in presence of EMI**.


IMHO, the only reasonable niche for 1-wire are applications where every wire and connector pin is very precious, and slow communication rate is acceptable. These are usually low cost and high volume products, for example: disposable medical applicators, printer ink cartridges, meshes of wired peripherals in non-trivial numbers.


Generally, I don't see a point for choosing 1-wire over I2C, when peripherals are on the same PCB as the master. Wiring is affordable within PCB.



There are I2C to 1-wire bridge ICs, which can take low-level burden from the main controller.


** I2C is not the most EMI-resilient bus either. Still, I2C works better than 1-wire in presence of EMI.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...