1-Wire – Through the Looking Glass (Scope) and Down the Rabbit Hole (Bit Level)
With an Arduino and some DS18B20 temperature sensors as example …
↓↓↓ Complete description, time index and links below ↓↓↓
Like many people on this planet I have a lot of time on my hands right now (that virus thing). So why not do a bit by bit analysis of what’s happening on a 1-Wire bus? Maybe I – or you – can gain some insights into the meaning of life.
And some insights I gained: How to probe a 1-Wire bus with the scope (differentiating between slave and master signals, hard pull-up and resistor pull-up), how the 1-Wire search (“Search ROM”) works (9 minutes at 29:06) and much more.
►Intro
00:00 Intro – be warned, it will get ugly (and watch the previous video first)
►Operating a parasite powered 1-Wire bus
01:30 Overview – what’s on the breadboard and a quick recap of the code
03:41 Ones and zeros – on the 1-Wire bus, it’s a question of time(ing)
06:38 Broadcasting a command – “Skip ROM” [CCh] and “Convert T” [44h]
08:12 Preparing for a command – master reset and clients present, real long lows
10:24 Voltage levels – what’s high, what’s low and difference between master and slaves
14:14 Probing trickery – a diode and some resistors make the bus easy to probe
16:42 Addressing a slave – “Match ROM” [55h] followed by a 64-bit slave ROM address
21:24 Command for that slave – “Read Scratchpad” [BEh] followed by data from the slave
23:54 Repeat for another slave – nothing new here but for a DallasTemperature lib oddity
25:34 Noise while bus is high – slaves pulling parasite power through pull-up resistor
►Initializing a 1-Wire bus
26:46 Overview – discovering slaves on the bus, their addresses, power mode and details
29:06 1-Wire search – “Search ROM” [F0h] for implementing a binary tree search
38:16 Slave power mode – first slave addressed [55h] and “Read Power Supply” [B4h]
40:45 Slave details – first slave addressed [55h] and its scratchpad read [BEh]
41:45 Repetitive stuff – more of the same over and over again
45:04 Bus activity summary – of all the bus activity including the repetitive stuff
45:53 Code review – redundancies, oddities and maybe a bug
►Differences to a direct powered 1-Wire bus
47:54 Overview – changes on the breadboard and in the probing
49:18 Difference – “Read Power Supply” [B4h], and it differs from the datasheet too
►Timing considerations
51:23 Recovery time – depends on a lot of things, including temperature
►Summary
54:37 Three main point – parasite vs direct power, 1-Wire is easy and trust no one
Tutorials: https://www.youtube.com/playlist?list=PLwq-2MnM58FKn3920rc1V0qoTsQDheTIw
Arduino, DS18B20/DS18S20 Temperature Sensor and 1-Wire Bus – The Details: https://youtu.be/XUm9RPWRBx8
Arduino-Temperature-Control-Library: https://github.com/milesburton/Arduino-Temperature-Control-Library
OneWire: https://github.com/PaulStoffregen/OneWire
Complete 1-Wire Command Codes: http://owfs.sourceforge.net/commands.html
Determining Recovery Time: https://www.maximintegrated.com/en/design/technical-documents/app-notes/3/3829.html
1-Wire search algorithm: https://www.maximintegrated.com/en/design/technical-documents/app-notes/1/187.html
#robertssmorgasbord #tutorials #tutorial #how-to #Arduino #temperature #temperaturesensor #bus #dallas
Видео 1-Wire – Through the Looking Glass (Scope) and Down the Rabbit Hole (Bit Level) канала Robert's Smorgasbord
↓↓↓ Complete description, time index and links below ↓↓↓
Like many people on this planet I have a lot of time on my hands right now (that virus thing). So why not do a bit by bit analysis of what’s happening on a 1-Wire bus? Maybe I – or you – can gain some insights into the meaning of life.
And some insights I gained: How to probe a 1-Wire bus with the scope (differentiating between slave and master signals, hard pull-up and resistor pull-up), how the 1-Wire search (“Search ROM”) works (9 minutes at 29:06) and much more.
►Intro
00:00 Intro – be warned, it will get ugly (and watch the previous video first)
►Operating a parasite powered 1-Wire bus
01:30 Overview – what’s on the breadboard and a quick recap of the code
03:41 Ones and zeros – on the 1-Wire bus, it’s a question of time(ing)
06:38 Broadcasting a command – “Skip ROM” [CCh] and “Convert T” [44h]
08:12 Preparing for a command – master reset and clients present, real long lows
10:24 Voltage levels – what’s high, what’s low and difference between master and slaves
14:14 Probing trickery – a diode and some resistors make the bus easy to probe
16:42 Addressing a slave – “Match ROM” [55h] followed by a 64-bit slave ROM address
21:24 Command for that slave – “Read Scratchpad” [BEh] followed by data from the slave
23:54 Repeat for another slave – nothing new here but for a DallasTemperature lib oddity
25:34 Noise while bus is high – slaves pulling parasite power through pull-up resistor
►Initializing a 1-Wire bus
26:46 Overview – discovering slaves on the bus, their addresses, power mode and details
29:06 1-Wire search – “Search ROM” [F0h] for implementing a binary tree search
38:16 Slave power mode – first slave addressed [55h] and “Read Power Supply” [B4h]
40:45 Slave details – first slave addressed [55h] and its scratchpad read [BEh]
41:45 Repetitive stuff – more of the same over and over again
45:04 Bus activity summary – of all the bus activity including the repetitive stuff
45:53 Code review – redundancies, oddities and maybe a bug
►Differences to a direct powered 1-Wire bus
47:54 Overview – changes on the breadboard and in the probing
49:18 Difference – “Read Power Supply” [B4h], and it differs from the datasheet too
►Timing considerations
51:23 Recovery time – depends on a lot of things, including temperature
►Summary
54:37 Three main point – parasite vs direct power, 1-Wire is easy and trust no one
Tutorials: https://www.youtube.com/playlist?list=PLwq-2MnM58FKn3920rc1V0qoTsQDheTIw
Arduino, DS18B20/DS18S20 Temperature Sensor and 1-Wire Bus – The Details: https://youtu.be/XUm9RPWRBx8
Arduino-Temperature-Control-Library: https://github.com/milesburton/Arduino-Temperature-Control-Library
OneWire: https://github.com/PaulStoffregen/OneWire
Complete 1-Wire Command Codes: http://owfs.sourceforge.net/commands.html
Determining Recovery Time: https://www.maximintegrated.com/en/design/technical-documents/app-notes/3/3829.html
1-Wire search algorithm: https://www.maximintegrated.com/en/design/technical-documents/app-notes/1/187.html
#robertssmorgasbord #tutorials #tutorial #how-to #Arduino #temperature #temperaturesensor #bus #dallas
Видео 1-Wire – Through the Looking Glass (Scope) and Down the Rabbit Hole (Bit Level) канала Robert's Smorgasbord
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
![Laboratory Shaker (2): The Seesaw, Just Mechanics](https://i.ytimg.com/vi/NqfJEoogWS8/default.jpg)
![MEMSIC MMC5983MA 3-Axis Digital Compass & Arduino MCU – The Details (8)](https://i.ytimg.com/vi/CWggUkQgXp4/default.jpg)
![Channel Announcement: I’m Gone, I’ll Be Back September 20th](https://i.ytimg.com/vi/iFmWHK9sjfU/default.jpg)
![BNC Model 577 8-Channel 250ps Resolution Pulse/Delay Generator: Review](https://i.ytimg.com/vi/jPjMZtdzrkc/default.jpg)
![Laboratory Water Bath (11): Software, Chapter 2 (Heater Bang-Bang Control)](https://i.ytimg.com/vi/u5d1ZxFXU44/default.jpg)
![Dual Electronic Engine Control Lever IP68 (18): Side Parts (3) & Body (4)](https://i.ytimg.com/vi/DCvyCvFLZ4g/default.jpg)
![Coffee Machine Teardown (Endangering My Oscilloscope)](https://i.ytimg.com/vi/xVuQ88wn1_Q/default.jpg)
![MEMSIC MMC5983MA 3-Axis Digital Compass & Arduino MCU – The Details (5)](https://i.ytimg.com/vi/VBFjtTrTLc4/default.jpg)
![MEMSIC MMC5983MA 3 Axis Digital Compass & Arduino MCU – The Basics](https://i.ytimg.com/vi/mlgslhsQ-L8/default.jpg)
![German Telekom ISDN NTBA Teardown (All the Chips)](https://i.ytimg.com/vi/NuHB9xdy30c/default.jpg)
![Allegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Details (8)](https://i.ytimg.com/vi/TcJg9gNquMs/default.jpg)
![Arduino MCUs and MCP48XX/MCP49XX Family DACs – The Basics](https://i.ytimg.com/vi/bj57xuQS7L8/default.jpg)
![Laboratory Water Bath (13): Software, Chapter 4 (Heater Model-Based Control II)](https://i.ytimg.com/vi/LjX5boKAfLI/default.jpg)
![Laboratory Shaker (1): The Plan, Verified](https://i.ytimg.com/vi/juByGTn3fwQ/default.jpg)
![Allegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Details (5)](https://i.ytimg.com/vi/n1ULQ1GVoOc/default.jpg)
![Dual Electronic Engine Control Lever IP68 (5): Handles](https://i.ytimg.com/vi/7WoETltnHtY/default.jpg)
![Allegro A1335 Hall Effect Angle Sensor, I2C and Arduino – The Details (4)](https://i.ytimg.com/vi/RllH7C1EnKM/default.jpg)
![N-th Order RC Filters for Analog Voltages from PWM Signals – The Hard Way](https://i.ytimg.com/vi/a5pN_q2-PG0/default.jpg)
![MEMSIC MMC5983MA 3-Axis Digital Compass & Arduino MCU – The Details (1)](https://i.ytimg.com/vi/GlvbhHb22u4/default.jpg)
![Laboratory Water Bath (10): Software, Chapter 1 (The Basics)](https://i.ytimg.com/vi/GUSzMe1hTtA/default.jpg)
![Motion Control with RC Servo and Arduino Microcontroller (2/3)](https://i.ytimg.com/vi/ZzhKwFFiADg/default.jpg)