Class OneWireContainer0B

java.lang.Object
com.dalsemi.onewire.container.OneWireContainer
com.dalsemi.onewire.container.OneWireContainer0B

public class OneWireContainer0B extends OneWireContainer

1-Wire container for 2048 byte Add-Only memory (EPROM) iButton, DS1985 and 1-Wire Chip, DS2505. This container encapsulates the functionality of the 1-Wire family type 0B (hex)

The iButton package for this device is primarily used as a read/write portable memory device. The 1-Wire Chip version is used for small non-volatile storage.

Features

  • 16384 bits (2048 bytes) Electrically Programmable Read-Only Memory (EPROM) communicates with the economy of one signal plus ground
  • EPROM partitioned into 256-bit (32-byte) pages for randomly accessing packetized data
  • Each memory page can be permanently write-protected to prevent tampering
  • Device is an "add only" memory where additional data can be programmed into EPROM without disturbing existing data
  • Architecture allows software to patch data by superseding an old page in favor of a newly programmed page
  • Reads over a wide voltage range of 2.8V to 6.0V from -40@htmlonly invalid input: '&#176'C @endhtmlonly to +85@htmlonly invalid input: '&#176'C @endhtmlonly; programs at 11.5V to 12.0V from -40@htmlonly invalid input: '&#176'C @endhtmlonly to +50@htmlonly invalid input: '&#176'C @endhtmlonly

Alternate Names

  • D2505

Memory

The memory can be accessed through the objects that are returned from the getMemoryBanks method.

The following is a list of the MemoryBank instances that are returned:
  • Main Memory
    • Implements MemoryBank, PagedMemoryBank, OTPMemoryBank
    • Size 2048 starting at physical address 0
    • Features Write-once general-purpose non-volatile needs-program-pulse
    • Pages 64 pages of length 32 bytes giving 29 bytes Packet data payload
    • Page Features page-device-CRC pages-redirectable pages-lockable redirection-lockable
    • Extra information for each page Inverted redirection page, length 1
  • Write protect pages
    • Implements MemoryBank, PagedMemoryBank, OTPMemoryBank
    • Size 8 starting at physical address 0 (in STATUS memory area)
    • Features Write-once not-general-purpose non-volatile needs-program-pulse
    • Pages 1 pages of length 8 bytes
    • Page Features page-device-CRC
  • Write protect redirection
    • Implements MemoryBank, PagedMemoryBank, OTPMemoryBank
    • Size 8 starting at physical address 32 (in STATUS memory area)
    • Features Write-once not-general-purpose non-volatile needs-program-pulse
    • Pages 1 pages of length 8 bytes
    • Page Features page-device-CRC
  • Bitmap of used pages for file structure
    • Implements MemoryBank, PagedMemoryBank, OTPMemoryBank
    • Size 8 starting at physical address 64 (in STATUS memory area)
    • Features Write-once not-general-purpose non-volatile needs-program-pulse
    • Pages 1 pages of length 8 bytes
    • Page Features page-device-CRC
  • Page redirection bytes
    • Implements MemoryBank, PagedMemoryBank, OTPMemoryBank
    • Size 64 starting at physical address 256 (in STATUS memory area)
    • Features Write-once not-general-purpose non-volatile needs-program-pulse
    • Pages 8 pages of length 8 bytes
    • Page Features page-device-CRC

Usage

See the usage example in OneWireContainer to enumerate the MemoryBanks.
See the usage examples in MemoryBank, PagedMemoryBank, and OTPMemoryBank for bank specific operations.

DataSheets

http://pdfserv.maxim-ic.com/arpdf/DS2505.pdf
http://pdfserv.maxim-ic.com/arpdf/DS1985.pdf
See Also:
  • Constructor Details

    • OneWireContainer0B

      public OneWireContainer0B()
      Create an empty container that is not complete until after a call to setupContainer.

      This is one of the methods to construct a container. The others are through creating a OneWireContainer with parameters.

      See Also:
    • OneWireContainer0B

      public OneWireContainer0B(DSPortAdapter sourceAdapter, byte[] newAddress)
      Create a container with the provided adapter instance and the address of the iButton or 1-Wire device.

      This is one of the methods to construct a container. The other is through creating a OneWireContainer with NO parameters.

      Parameters:
      sourceAdapter - adapter instance used to communicate with this iButton
      newAddress - Address of this 1-Wire device
      See Also:
    • OneWireContainer0B

      public OneWireContainer0B(DSPortAdapter sourceAdapter, long newAddress)
      Create a container with the provided adapter instance and the address of the iButton or 1-Wire device.

      This is one of the methods to construct a container. The other is through creating a OneWireContainer with NO parameters.

      Parameters:
      sourceAdapter - adapter instance used to communicate with this 1-Wire device
      newAddress - Address of this 1-Wire device
      See Also:
    • OneWireContainer0B

      public OneWireContainer0B(DSPortAdapter sourceAdapter, String newAddress)
      Create a container with the provided adapter instance and the address of the iButton or 1-Wire device.

      This is one of the methods to construct a container. The other is through creating a OneWireContainer with NO parameters.

      Parameters:
      sourceAdapter - adapter instance used to communicate with this 1-Wire device
      newAddress - Address of this 1-Wire device
      See Also:
  • Method Details

    • getName

      public String getName()
      Get the Maxim Integrated Products part number of the iButton or 1-Wire Device as a string. For example 'DS1992'.
      Overrides:
      getName in class OneWireContainer
      Returns:
      iButton or 1-Wire device name
    • getAlternateNames

      public String getAlternateNames()
      Get the alternate Maxim Integrated Products part numbers or names. A 'family' of 1-Wire Network devices may have more than one part number depending on packaging. There can also be nicknames such as 'Crypto iButton'.
      Overrides:
      getAlternateNames in class OneWireContainer
      Returns:
      1-Wire device alternate names
    • getDescription

      public String getDescription()
      Get a short description of the function of this iButton or 1-Wire Device type.
      Overrides:
      getDescription in class OneWireContainer
      Returns:
      device description
    • getMemoryBanks

      public Enumeration<MemoryBank> getMemoryBanks()
      Get an enumeration of memory bank instances that implement one or more of the following interfaces: MemoryBank, PagedMemoryBank, and OTPMemoryBank.
      Overrides:
      getMemoryBanks in class OneWireContainer
      Returns:
      Enumeration of memory banks
      See Also: