logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

DS2751 - Multichemistry Battery Fuel Gauge

Addressing

       All 1-wire devices are factory assigned a unique 64-bit address. This address is of the form:

       FamilyCode
              8 bits

       Address
              48 bits

       CRC    8 bits

       Addressing under OWFS is in hexadecimal, of form:

              01.123456789ABC

       where 01 is an example 8-bit family code, and 12345678ABC is an example 48 bit address.

       The dot is optional, and the CRC code can included. If included, it must be correct.

Alarms

       None.

Author

       Paul Alfille (paul.alfille@gmail.com)

OWFS Manpage                                          2003                                             DS2751(3)

Availability

Datasheet

Description

1-Wire1-wire is a wiring protocol and series of devices designed and manufactured by Dallas Semiconductor, Inc.
       The bus is a low-power low-speed low-connector scheme where the data line can also provide power.

       Each device is uniquely and unalterably numbered during manufacture. There are a wide variety of devices,
       including memory, sensors (humidity, temperature, voltage, contact, current), switches, timers  and  data
       loggers.  More  complex  devices (like thermocouple sensors) can be built with these basic devices. There
       are also 1-wire devices that have encryption included.

       The 1-wire scheme uses a single busmaster and multiple slaves on the same wire. The bus master initiates
       all communication. The slaves can be individually discovered and addressed using their unique ID.

       Bus masters come in a variety of configurations including serial, parallel, i2c, network or USB adapters.

   OWFSdesignOWFS is a suite of programs that designed to make the 1-wire bus and its devices easily  accessible.  The
       underlying  principle  is to create a virtual filesystem, with the unique ID being the directory, and the
       individual properties of the device are represented as simple files that can be read and written.

       Details of the individual slave or master design are hidden behind a consistent interface. The goal is to
       provide an easy set of tools for a software designer to create monitoring or control applications.  There
       are  some  performance enhancements in the implementation, including data caching, parallel access to bus
       masters, and aggregation of device communication. Still the  fundamental  goal  has  been  ease  of  use,
       flexibility and correctness rather than speed.

   DS2751
       The DS2751(3) is battery charging controllers similar to the DS2760(3)

       A  number  of  interesting  devices can be built with the DS2751(3) including thermocouples. Support for
       thermocouples in built into the software, using the embedded thermister as the cold junction temperature.

Family Code

51

Name

DS2751 - Multichemistry Battery Fuel Gauge

Obscure Properties

pmodporuvenvaries,yes-no
       Bit  flags  corresponding  to  various  battery  management  functions of the chip. See the DATASHEET for
       details of the identically named entries.
       In general, writing "0" corresponds to a 0 bit value, and non-zero corresponds to a 1 bit value.

   defaultpmodread-write,yes-no
       Default power-on state for the corresponding properties.

See Also

Programsowfs(1)owhttpd(1)owftpd(1)owserver(1)owdir(1)owread(1)owwrite(1)owpresent(1)owtap(1)Configurationandtestingowfs(5)owtap(1)owmon(1)Languagebindingsowtcl(3)owperl(3)owcapi(3)ClocksDS1427(3)DS1904(3)DS1994(3)DS2404(3)DS2404S(3)DS2415(3)DS2417(3)IDDS2401(3)DS2411(3)DS1990A(3)MemoryDS1982(3)DS1985(3)DS1986(3)DS1991(3)DS1992(3)DS1993(3)DS1995(3)DS1996(3)DS2430A(3)DS2431(3)DS2433(3)DS2502(3)DS2506(3)DS28E04(3)DS28EC20(3)SwitchesDS2405(3)DS2406(3)DS2408(3)DS2409(3)DS2413(3)DS28EA00(3)InfernoEmbedded(3)TemperatureDS1822(3)DS1825(3)DS1820(3)DS18B20(3)DS18S20(3)DS1920(3)DS1921(3)DS1821(3)DS28EA00(3)DS28E04(3)EDS0064(3)EDS0065(3)EDS0066(3)EDS0067(3)EDS0068(3)EDS0071(3)EDS0072(3)MAX31826(3)HumidityDS1922(3)DS2438(3)EDS0065(3)EDS0068(3)VoltageDS2450(3)ResistanceDS2890(3)Multifunction(current,voltage,temperature)DS2436(3)DS2437(3)DS2438(3)DS2751(3)DS2755(3)DS2756(3)DS2760(3)DS2770(3)DS2780(3)DS2781(3)DS2788(3)DS2784(3)CounterDS2423(3)LCDScreenLCD(3)DS2408(3)CryptoDS1977(3)PressureDS2406(3)TAI8570(3)EDS0066(3)EDS0068(3)MoistureEEEF(3)DS2438(3)

Special Properties

amphoursread-write,floatingpoint
       Accumulated  amperage  read  by  current  sensor. Units are in Amp-hr (Assumes internal 25mOhm resistor).
       Derived from volthours / Rinternal.
       Formally amphours is the integral of current-currentbias over time.

   currentread-only,floatingpoint
       Current reading. Units are in Amp (Assumes internal 25 mOhm resistor). Derived from vis / Rinternal.

   currentbiasread-write,floatingpoint
       Fixed offset applied to each current measurement. Used in the amphours  value.  Assumes  internal  25mOhm
       resistor. Units are Amp and range from -.08A to .08A.
       Derived from vbias / Rinternal.

   lock.[0-1|ALL]read-write,yes-no
       Lock either of the two eprom pages to prevent further writes. Apparently setting lock is permanent.

   memoryread-write,binary
       Access  to  the  full 256 byte memory range. Much of this space is reserved or special use. User space is
       the page area.
       See the DATASHEET for a full memory map.

   pages/pages.[0-1|ALL]read-write,binary Two 16 byte areas of memory for  user  application.  The  lock  property  can  prevent
       further alteration.
       NOTE that the page property is different from the common OWFS implementation in that all of memory is not
       accessible.

   PIOwrite-only,yes-no
       Controls the PIO pin allowing external switching.
       Writing  "1"  turns  the  PIO pin on (conducting). Writing "0" makes the pin non-conducting.  The logical
       state of the voltage can be read with the sensed property. This will reflect the current voltage  at  the
       pin, not the value sent to PIO
       Note also that PIO will also be altered by the power-status of the DS2670 See the datasheet for details.

   sensedread-only,yes-no
       The logical voltage at the PIO pin. Useful only if the PIO property is set to "0" (non-conducting).
       Value will be 0 or 1 depending on the voltage threshold.

   temperatureread-only,floatingpointTemperature  read by the chip at high resolution (~13 bits). Units are selected from the invoking command
       line. See owfs(1) or owhttpd(1) for choices. Default is Celsius.
       Conversion is continuous.

   vbiasread-write,floatingpoint
       Fixed offset applied to each vis measurement. Used for the volthours value. Units are in Volts.
       Range -2.0mV to 2.0mV

   visread-only,floatingpoint
       Current sensor reading (unknown external resistor). Measures the voltage gradient between the  Vis  pins.
       Units are in Volts
       The vis readings are integrated over time to provide the volthours property.
       The  current  reading is derived from vis assuming the internal 25 mOhm resistor is employed. There is no
       way to know this through software.

   voltread-only,floatingpoint
       Voltage read at the voltage sensor;. This is separate from the vis  voltage  that  is  used  for  current
       measurement. Units are Volts
       Range is between 0 and 4.75V

   volthoursread-write,floatingpoint
       Integral of vis-vbias over time. Units are in volthours

Standard Properties

addressr_addressread-only,ascii
       The entire 64-bit unique ID. Given as upper case hexadecimal digits (0-9A-F).
       address starts with the family code
       raddress is the address in reverse order, which is often used in other applications and labeling.

   crc8read-only,ascii
       The 8-bit error correction portion. Uses cyclic redundancy check. Computed from the preceding 56 bits  of
       the unique ID number. Given as upper case hexadecimal digits (0-9A-F).

   familyread-only,ascii
       The 8-bit family code. Unique to each type of device. Given as upper case hexadecimal digits (0-9A-F).

   idr_idread-only,ascii
       The  48-bit  middle  portion  of  the unique ID number. Does not include the family code or CRC. Given as
       upper case hexadecimal digits (0-9A-F).
       rid is the id in reverse order, which is often used in other applications and labeling.

   locatorr_locatorread-only,ascii
       Uses an extension of  the  1-wire  design  from  iButtonLink  company  that  associated  1-wire  physical
       connections with a unique 1-wire code. If the connection is behind a LinkLocator the locatorwillshowaunique8-bytenumber(16characterhexadecimal)startingwithfamilycodeFE.
       If no LinkLocator is between the device and the master, the locator field will be all FF.
       rlocator is the locator in reverse order.

   present(DEPRECATED)read-only,yes-no
       Is the device currently present on the 1-wire bus?

   typeread-only,ascii
       Part  name  assigned  by  Dallas  Semi.  E.g.  DS2401 Alternative packaging (iButton vs chip) will not be
       distiguished.

Synopsis

TemperatureVoltage,Current,Memory,andSwitch.51   [.]XXXXXXXXXXXX[XX][/[   amphours   |   current   |   currentbias   |   lock.[0-1|ALL]  |  memory  |
       pages/page.[0-1|ALL]  |  PIO  |  sensed  |   temperature   |   typeX/range_low   |   typeX/range_high   |
       typeX/temperature | vbias | vis | volt | volthours |
       defaultpmod | pmod | por | uven |
       address | crc8 | id | locator | r_address | r_id | r_locator | type ]]

   Thermocouple51 [.]XXXXXXXXXXXX[XX][/[ temperature | typeX/range_low | typeX/range_high | typeX/temperature

Thermocouple

typeX/directory
       Thermocouple  circuit  using  the DS2760 to read the Seebeck voltage and the reference temperature. Since
       the type interpretation of the values read depends on the type of  thermocouple,  the  correct  directory
       must be chosen. Supported thermocouple types include types B, E, J, K, N, R, S and T.

   typeX/range_lowtypeX/ranges_highread-only,flaotingpoint
       The  lower and upper temperature supported by this thermocouple (at least by the conversion routines). In
       the globally chosen temperature units.

   typeX/temperatureread-only,floatingpoint
       Thermocouple temperature. Requires a voltage and temperature  conversion.  Returned  in  globally  chosen
       temperature units.
       Note:  there are two types of temperature measurements possible. The temperature value in the main device
       directory is the reference  temperature  read  at  the  chip.  The  typeX/temperature  value  is  at  the
       thermocouple junction, probably remote from the chip.

return

See Also