Jump to content

success! - Identified 17 devices on 1 Wire Bus

Recommended Posts

Today is a good day.


1. I got my 1-wire search algorithm working. I have been able to successfully identify 17 devices on the 1-wire bus.

2. I discovered that DS1821's cannot be searched for on the 1-wire bus. Their presence kills the search algorithm.

3. I got my hardware UART baudrate config routines sorted out. I can run between 9600 and 460800 Baud.

3. I love this Saleae Logic analyzer that I got last Friday. What a life saver!


Here's a screenshot of it showing 10 1-Wire sensors during the search routine.



Here's what the output looks like for 17 sensors:

PacketId, Time[s], Detail, [data]
0,0,Reset Pulse
0,0.0005115,Presence Pulse
1,0.00097,Reset Pulse
1,0.001481,Presence Pulse
1,0.001944,Search Rom Command, 0xF0
1,0.002529,ROM Family Code, 0x10
1,0.004464,ROM Code, 0x0008022E69B2
1,0.016032,ROM CRC, 0x2C
2,0.01798,Reset Pulse
2,0.01849,Presence Pulse
2,0.0189535,Search Rom Command, 0xF0
2,0.0195385,ROM Family Code, 0x10
2,0.021476,ROM Code, 0x0008022E6C86
2,0.033045,ROM CRC, 0xCF
3,0.0349955,Reset Pulse
3,0.035506,Presence Pulse
3,0.0359695,Search Rom Command, 0xF0
3,0.036554,ROM Family Code, 0x28
3,0.0384905,ROM Code, 0x000002E13980
3,0.0500605,ROM CRC, 0x0A
4,0.0520075,Reset Pulse
4,0.052518,Presence Pulse
4,0.0529815,Search Rom Command, 0xF0
4,0.053566,ROM Family Code, 0x28
4,0.0555025,ROM Code, 0x0000030F101A
4,0.0670725,ROM CRC, 0x88
5,0.06902,Reset Pulse
5,0.0695305,Presence Pulse
5,0.0699935,Search Rom Command, 0xF0
5,0.070579,ROM Family Code, 0x28
5,0.072516,ROM Code, 0x0000030F08EB
5,0.084089,ROM CRC, 0x8F
6,0.086038,Reset Pulse
6,0.086549,Presence Pulse
6,0.0870115,Search Rom Command, 0xF0
6,0.0875965,ROM Family Code, 0x1C
6,0.089529,ROM Code, 0x00000537A27F
6,0.101104,ROM CRC, 0x09
7,0.1030515,Reset Pulse
7,0.103562,Presence Pulse
7,0.1040255,Search Rom Command, 0xF0
7,0.104611,ROM Family Code, 0x1C
7,0.1065445,ROM Code, 0x0000052C4D7F
7,0.1181165,ROM CRC, 0x10
8,0.120063,Reset Pulse
8,0.1205735,Presence Pulse
8,0.121037,Search Rom Command, 0xF0
8,0.1216225,ROM Family Code, 0x22
8,0.123555,ROM Code, 0x0000002A3ACB
8,0.1351255,ROM CRC, 0xA0
9,0.137074,Reset Pulse
9,0.137585,Presence Pulse
9,0.1380485,Search Rom Command, 0xF0
9,0.138634,ROM Family Code, 0x22
9,0.1405665,ROM Code, 0x0000002A702F
9,0.152135,ROM CRC, 0x01
10,0.1540815,Reset Pulse
10,0.1545915,Presence Pulse
10,0.1550545,Search Rom Command, 0xF0
10,0.15564,ROM Family Code, 0x01
10,0.157573,ROM Code, 0x000013B1FBEC
10,0.1691465,ROM CRC, 0x0F
11,0.1710955,Reset Pulse
11,0.1716065,Presence Pulse
11,0.17207,Search Rom Command, 0xF0
11,0.172655,ROM Family Code, 0x01
11,0.174589,ROM Code, 0x000013B22BDC
11,0.1861595,ROM CRC, 0x34
12,0.188107,Reset Pulse
12,0.188617,Presence Pulse
12,0.18908,Search Rom Command, 0xF0
12,0.1896645,ROM Family Code, 0x2D
12,0.1915995,ROM Code, 0x00000209FB06
12,0.203172,ROM CRC, 0x6F
13,0.205121,Reset Pulse
13,0.2056315,Presence Pulse
13,0.2060945,Search Rom Command, 0xF0
13,0.2066795,ROM Family Code, 0x2D
13,0.208614,ROM Code, 0x0000020A0E5F
13,0.220185,ROM CRC, 0x2B
14,0.2221335,Reset Pulse
14,0.2226435,Presence Pulse
14,0.2231065,Search Rom Command, 0xF0
14,0.223692,ROM Family Code, 0x43
14,0.2256255,ROM Code, 0x0000001E305C
14,0.2371975,ROM CRC, 0x7A
15,0.2391465,Reset Pulse
15,0.2396565,Presence Pulse
15,0.24012,Search Rom Command, 0xF0
15,0.2407055,ROM Family Code, 0x43
15,0.2426395,ROM Code, 0x0000001E286B
15,0.2542075,ROM CRC, 0x50
16,0.256154,Reset Pulse
16,0.2566645,Presence Pulse
16,0.2571275,Search Rom Command, 0xF0
16,0.257713,ROM Family Code, 0x23
16,0.259645,ROM Code, 0x000000F0D232
16,0.271214,ROM CRC, 0x87
,0.273162,Reset Pulse
,0.273673,Presence Pulse
,0.2741355,Search Rom Command, 0xF0
,0.2747205,ROM Family Code, 0x23
,0.2766535,ROM Code, 0x000000F0BCC3
,0.2882255,ROM CRC, 0x71


Today is a good day.



Next on the list is the dreaded printf().

Link to post
Share on other sites

This seems interesting, but I guess I don't have the experience to know how and when it would be used. So you attach this to the 1-wire bus and basically say, "is accelerometer here?"


"Is there an rtc here?



Could you use this for salvage or repair, or do you have a specific application in mind?

Link to post
Share on other sites

Well, the answer is both yes and no.


Yes to how it's being said.

No to what devices are being queried.


Dallas Semiconductor (now Maxim) created a family of devices that talk 1-wire protocol. Here's a copy/paste from their website:


The 1-Wire and iButton products combine the single-contact 1-Wire serial interface with nonvolatile memory, mixed-signal, and secure authentication functions into products that serve a broad range of applications. 1-Wire products are manufactured in traditional IC packaging. iButton products are available in a unique, robust stainless steel package.


But how would I use these devices?


Well, I have been trying to land a contract with a local company that uses a truck load of ds18b20's in their product. We're talking in the order of 400 to 500 temp sensors in one installation. Every single one of these sensors is on a single 1-wire bus. They monitor the temperature of big piles of stuff to prevent spoilage and whatnot. I'm trying to prove to myself that I can do this and somehow land a job. Wouldn't that be cool to walk into a job interview and do a hands on demo? Scary but cool.


Did I answer your question?

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...