1DS2770(3) One-Wire File System DS2770(3)
2
3
4
6 DS2770 - Battery Monitor and Charge Controller
7
9 Temperature Voltage Current Memory and Switch.
10 2E [.]XXXXXXXXXXXX[XX][/[ amphours | current | currentbias |
11 lock.[0-2|ALL] | memory | pages/page.[0-2|ALL] | PIO | sensed | temper‐
12 ature | vbias | vis | volt | volthours |
13 charge | cini | cstat0 | cstat1 | ctype | defaultpmod | pmod | refresh
14 | timer |
15 address | crc8 | id | locator | r_address | r_id | r_locator | type ]]
16
17 Thermocouple
18 2E [.]XXXXXXXXXXXX[XX][/[ temperature | typeX/range_low |
19 typeX/range_high | typeX/temperature
20
22 2E
23
25 amphours
26 read-write, floating point
27 Accumulated amperage read by current sensor. Units are in Amp-hr (As‐
28 sumes internal 25mOhm resistor). Derived from volthours / Rinternal.
29 Formally amphours is the integral of current - currentbias over time.
30
31 current
32 read-only, floating point
33 Current reading. Units are in Amp (Assumes internal 25 mOhm resistor).
34 Derived from vis / Rinternal.
35
36 currentbias
37 read-write, floating point
38 Fixed offset applied to each current measurement. Used in the amphours
39 value. Assumes internal 25mOhm resistor. Units are Amp and range from
40 -.08A to .08A.
41 Derived from vbias / Rinternal.
42
43 lock.[0-2|ALL]
44 read-write, yes-no
45 Lock either of the three eprom pages to prevent further writes. Appar‐
46 ently setting lock is permanent.
47
48 memory
49 read-write, binary
50 Access to the full 256 byte memory range. Much of this space is re‐
51 served or special use. User space is the page area.
52 See the DATASHEET for a full memory map.
53
54 pages/pages.[0-2|ALL]
55 read-write, binary Two 16 byte and one 8 byte areas of memory for user
56 application. The lock property can prevent further alteration.
57 NOTE that the page property is different from the common OWFS implemen‐
58 tation in that all of memory is not accessible.
59
60 PIO
61 write-only, yes-no
62 Controls the PIO pin allowing external switching.
63 Writing "1" turns the PIO pin on (conducting). Writing "0" makes the
64 pin non-conducting. The logical state of the voltage can be read with
65 the sensed property. This will reflect the current voltage at the pin,
66 not the value sent to PIO
67 Note also that PIO will also be altered by the power-status of the
68 DS2670 See the datasheet for details.
69
70 sensed
71 read-only, yes-no
72 The logical voltage at the PIO pin. Useful only if the PIO property is
73 set to "0" (non-conducting).
74 Value will be 0 or 1 depending on the voltage threshold.
75
76 temperature
77 read-only, floating point
78 Temperature read by the chip at high resolution (~13 bits). Units are
79 selected from the invoking command line. See owfs(1) or owhttpd(1) for
80 choices. Default is Celsius.
81 Conversion is continuous.
82
83 vbias
84 read-write, floating point
85 Fixed offset applied to each vis measurement. Used for the volthours
86 value. Units are in Volts.
87 Range -2.0mV to 2.0mV
88
89 vis
90 read-only, floating point
91 Current sensor reading (unknown external resistor). Measures the volt‐
92 age gradient between the Vis pins. Units are in Volts
93 The vis readings are integrated over time to provide the volthours
94 property.
95 The current reading is derived from vis assuming the internal 25 mOhm
96 resistor is employed. There is no way to know this through software.
97
98 volt
99 read-only, floating point
100 Voltage read at the voltage sensor;. This is separate from the vis
101 voltage that is used for current measurement. Units are Volts
102 Range is between 0 and 4.75V
103
104 volthours
105 read-write, floating point
106 Integral of vis - vbias over time. Units are in volthours
107
109 typeX/
110 directory
111 Thermocouple circuit using the DS2770 (3) to read the Seebeck voltage
112 and the reference temperature. Since the type interpretation of the
113 values read depends on the type of thermocouple, the correct directory
114 must be chosen. Supported thermocouple types include types B, E, J, K,
115 N, R, S and T.
116
117 typeX/range_low typeX/ranges_high
118 read-only, flaoting point
119 The lower and upper temperature supported by this thermocouple (at
120 least by the conversion routines). In the globally chosen temperature
121 units.
122
123 typeX/temperature
124 read-only, floating point
125 Thermocouple temperature. Requires a voltage and temperature conver‐
126 sion. Returned in globally chosen temperature units.
127 Note: there are two types of temperature measurements possible. The
128 temperature value in the main device directory is the reference temper‐
129 ature read at the chip. The typeX/temperature value is at the thermo‐
130 couple junction, probably remote from the chip.
131
133 charge
134 write-only, yes-no
135 Trigger the start (1) or stop(0) of charging. see the DATASHEET for de‐
136 tails.
137
138 cini cstat0 cstat1 ctype pmod
139 varies, yes-no
140 Bit flags corresponding to various battery management functions of the
141 chip. See the DATASHEET for details of the identically named entries.
142 In general, writing "0" corresponds to a 0 bit value, and non-zero cor‐
143 responds to a 1 bit value.
144
145 defaultpmod
146 read-write, yes-no
147 Default power-on state for the corresponding properties.
148
149 refresh
150 write-only, yes-no
151 Writing anything to this file causes a refresh of parameters. See the
152
153 timer
154 read-write, floating point
155 A charge timer in units of hours. See the DATASHEET for details.
156
158 address
159 r_address
160 read-only, ascii
161 The entire 64-bit unique ID. Given as upper case hexadecimal digits
162 (0-9A-F).
163 address starts with the family code
164 r address is the address in reverse order, which is often used in other
165 applications and labeling.
166
167 crc8
168 read-only, ascii
169 The 8-bit error correction portion. Uses cyclic redundancy check. Com‐
170 puted from the preceding 56 bits of the unique ID number. Given as up‐
171 per case hexadecimal digits (0-9A-F).
172
173 family
174 read-only, ascii
175 The 8-bit family code. Unique to each type of device. Given as upper
176 case hexadecimal digits (0-9A-F).
177
178 id
179 r_id
180 read-only, ascii
181 The 48-bit middle portion of the unique ID number. Does not include the
182 family code or CRC. Given as upper case hexadecimal digits (0-9A-F).
183 r id is the id in reverse order, which is often used in other applica‐
184 tions and labeling.
185
186 locator
187 r_locator
188 read-only, ascii
189 Uses an extension of the 1-wire design from iButtonLink company that
190 associated 1-wire physical connections with a unique 1-wire code. If
191 the connection is behind a Link Locator the locator will show a unique
192 8-byte number (16 character hexadecimal) starting with family code FE.
193 If no Link Locator is between the device and the master, the locator
194 field will be all FF.
195 r locator is the locator in reverse order.
196
197 present (DEPRECATED)
198 read-only, yes-no
199 Is the device currently present on the 1-wire bus?
200
201 type
202 read-only, ascii
203 Part name assigned by Dallas Semi. E.g. DS2401 Alternative packaging
204 (iButton vs chip) will not be distiguished.
205
207 None.
208
210 1-Wire
211 1-wire is a wiring protocol and series of devices designed and manufac‐
212 tured by Dallas Semiconductor, Inc. The bus is a low-power low-speed
213 low-connector scheme where the data line can also provide power.
214
215 Each device is uniquely and unalterably numbered during manufacture.
216 There are a wide variety of devices, including memory, sensors (humid‐
217 ity, temperature, voltage, contact, current), switches, timers and data
218 loggers. More complex devices (like thermocouple sensors) can be built
219 with these basic devices. There are also 1-wire devices that have en‐
220 cryption included.
221
222 The 1-wire scheme uses a single bus master and multiple slaves on the
223 same wire. The bus master initiates all communication. The slaves can
224 be individually discovered and addressed using their unique ID.
225
226 Bus masters come in a variety of configurations including serial, par‐
227 allel, i2c, network or USB adapters.
228
229 OWFS design
230 OWFS is a suite of programs that designed to make the 1-wire bus and
231 its devices easily accessible. The underlying principle is to create a
232 virtual filesystem, with the unique ID being the directory, and the in‐
233 dividual properties of the device are represented as simple files that
234 can be read and written.
235
236 Details of the individual slave or master design are hidden behind a
237 consistent interface. The goal is to provide an easy set of tools for a
238 software designer to create monitoring or control applications. There
239 are some performance enhancements in the implementation, including data
240 caching, parallel access to bus masters, and aggregation of device com‐
241 munication. Still the fundamental goal has been ease of use, flexibil‐
242 ity and correctness rather than speed.
243
244 DS2770
245 The DS2770 (3) is a battery charging controller. It has elaborate
246 charge estimation algorithms built in.
247
248 A number of interesting devices can be built with the DS2770 including
249 thermocouples. Support for thermocouples in built into the software,
250 using the embedded thermister as the cold junction temperature.
251
253 All 1-wire devices are factory assigned a unique 64-bit address. This
254 address is of the form:
255
256 Family Code
257 8 bits
258
259 Address
260 48 bits
261
262 CRC 8 bits
263
264 Addressing under OWFS is in hexadecimal, of form:
265
266 01.123456789ABC
267
268 where 01 is an example 8-bit family code, and 12345678ABC is an example
269 48 bit address.
270
271 The dot is optional, and the CRC code can included. If included, it
272 must be correct.
273
275 http://pdfserv.maxim-ic.com/en/ds/DS2770.pdf
276
278 Programs
279 owfs (1) owhttpd (1) owftpd (1) owserver (1) owdir (1) owread (1)
280 owwrite (1) owpresent (1) owtap (1)
281
282 Configuration and testing
283 owfs (5) owtap (1) owmon (1)
284
285 Language bindings
286 owtcl (3) owperl (3) owcapi (3)
287
288 Clocks
289 DS1427 (3) DS1904 (3) DS1994 (3) DS2404 (3) DS2404S (3) DS2415 (3)
290 DS2417 (3)
291
292 ID
293 DS2401 (3) DS2411 (3) DS1990A (3)
294
295 Memory
296 DS1982 (3) DS1985 (3) DS1986 (3) DS1991 (3) DS1992 (3) DS1993 (3)
297 DS1995 (3) DS1996 (3) DS2430A (3) DS2431 (3) DS2433 (3) DS2502 (3)
298 DS2506 (3) DS28E04 (3) DS28EC20 (3)
299
300 Switches
301 DS2405 (3) DS2406 (3) DS2408 (3) DS2409 (3) DS2413 (3) DS28EA00 (3) In‐
302 fernoEmbedded (3)
303
304 Temperature
305 DS1822 (3) DS1825 (3) DS1820 (3) DS18B20 (3) DS18S20 (3) DS1920 (3)
306 DS1921 (3) DS1821 (3) DS28EA00 (3) DS28E04 (3) EDS0064 (3) EDS0065 (3)
307 EDS0066 (3) EDS0067 (3) EDS0068 (3) EDS0071 (3) EDS0072 (3) MAX31826
308 [1m(3)
309
310 Humidity
311 DS1922 (3) DS2438 (3) EDS0065 (3) EDS0068 (3)
312
313 Voltage
314 DS2450 (3)
315
316 Resistance
317 DS2890 (3)
318
319 Multifunction (current, voltage, temperature)
320 DS2436 (3) DS2437 (3) DS2438 (3) DS2751 (3) DS2755 (3) DS2756 (3)
321 DS2760 (3) DS2770 (3) DS2780 (3) DS2781 (3) DS2788 (3) DS2784 (3)
322
323 Counter
324 DS2423 (3)
325
326 LCD Screen
327 LCD (3) DS2408 (3)
328
329 Crypto
330 DS1977 (3)
331
332 Pressure
333 DS2406 (3) TAI8570 (3) EDS0066 (3) EDS0068 (3)
334
335 Moisture
336 EEEF (3) DS2438 (3)
337
339 http://www.owfs.org
340
342 Paul Alfille (paul.alfille@gmail.com)
343
344
345
346OWFS Manpage 2003 DS2770(3)