Interfacing a LPC2106 to a Dallas DS1990 iButton

Started by Ian Wraith September 7, 2004
Hello
I am currently looking at using a LPC2106 in an access control
unit to interface to a number of Dallas DS1990 iButtons. Am I correct
in thinking that with a little code the iButtons could be interfaced
to any of the LPC2106's GPIO pins ? Or would the iButton need to be
interfaced to one the processors serial IO pins ?

Thanks

Ian




An Engineer's Guide to the LPC2100 Series

----- Original Message -----
From: "Ian Wraith" <>
To: <>
Sent: Tuesday, September 07, 2004 11:51 AM
Subject: [lpc2000] Interfacing a LPC2106 to a Dallas DS1990 iButton > Hello
> I am currently looking at using a LPC2106 in an access control
> unit to interface to a number of Dallas DS1990 iButtons. Am I correct
> in thinking that with a little code the iButtons could be interfaced
> to any of the LPC2106's GPIO pins ? Or would the iButton need to be
> interfaced to one the processors serial IO pins ?

The interface has to be 'bit-banged' in software so any I/O chip may be
used. Several people have done this sort of thing with PICs and AVRs, it
shouldn't be difficult to modify the code for the LPC2106.

Leon




Hello

>The interface has to be 'bit-banged' in software so any I/O chip
>may be used. Several people have done this sort of thing with PICs
>and AVRs, it shouldn't be difficult to modify the code for the
>LPC2106.

Thanks Leon - I have used 8751's for this task before but this
application looks a bit more demanding. Anyway I want to play with
the LPC2xxx family :)

Regards

Ian


At 11:51 AM 9/7/04 +0100, you wrote:
>Hello
> I am currently looking at using a LPC2106 in an access control
>unit to interface to a number of Dallas DS1990 iButtons. Am I correct
>in thinking that with a little code the iButtons could be interfaced
>to any of the LPC2106's GPIO pins ? Or would the iButton need to be
>interfaced to one the processors serial IO pins ?

I've ported the Dallas 1-wire library using the 2106 timers. See
http://www.aeolusdevelopment.com/Articles/download.html

I need to do a little maintenance on it to bring it into line with the
latest version of the newlib-lpc timing (it uses the previous version) but
that's minor calling differences.

Robert

" 'Freedom' has no meaning of itself. There are always restrictions,
be they legal, genetic, or physical. If you don't believe me, try to
chew a radio signal. "

Kelvin Throop, III



On Sep 7, 2004, at 4:29 AM, Leon Heller wrote:

>> I am currently looking at using a LPC2106 in an access control
>> unit to interface to a number of Dallas DS1990 iButtons. Am I correct
>> in thinking that with a little code the iButtons could be interfaced
>> to any of the LPC2106's GPIO pins ? Or would the iButton need to be
>> interfaced to one the processors serial IO pins ?
>
> The interface has to be 'bit-banged' in software so any I/O chip may be
> used. Several people have done this sort of thing with PICs and AVRs,
> it
> shouldn't be difficult to modify the code for the LPC2106.
>

This maxim tech note talks about how to interface a one-wire device to
a uart. Rather expensive use of resources, but if you're not using the
uart for anything else...

http://www.maxim-ic.com/appnotes.cfm/appnote_number/1189

Shannon



On 7 Sep 2004 at 11:51, Ian Wraith wrote:

> Hello
> I am currently looking at using a LPC2106 in an access control
> unit to interface to a number of Dallas DS1990 iButtons. Am I correct
> in thinking that with a little code the iButtons could be interfaced
> to any of the LPC2106's GPIO pins ? Or would the iButton need to be
> interfaced to one the processors serial IO pins ?
>

From a Maxim App-Note:
1-Wire devices operate in an open-drain environment on bus voltages
ranging from 2.0V to 5.5V. Exact logic levels and minimum pullup
voltages are device dependent, though generally parasite-power devices
require minimum pullup voltage of 2.8V to recharge an internal storage
capacitor used to supply power during periods when the data line is low.
A 4.7k resistor typically serves as the pullup on the 1-Wire data line.
The resistor provides logic-high signals passively, with the bus master
and all slave devices driving the logic-low signals.

Only the pins for the I2C interface are open drain, hence you probably will need
to add a transistor or tri-state buffer type circuit as described in the Dallas/Maxim
app notes.

Regards
Anton Erasmus--
A J Erasmus


Hello
Many thanks to both Robert & Shannon for your help with this.
I shall be investigating both methods of 1 wire interfacing.

Regards

Ian