Dallas Semiconductor offers hardware/software solutions for programming DS243x series EEPROM and
DS250x series EPROM devices (or the DS197x and DS198x i
Button form factors) in a PC-based
environment. While these devices are commonly programmed in an embedded application, it is often
desirable or necessary to preprogram devices with data for prototyping purposes. An easy-to-use PCbased
platform simplifies this task and is the scope of this document.
Shown in Figure 1
is a typical PC based Hardware configuration for 1-Wire EEPROM and EPROM
programming. Required items include a Windows™ (98, 95, ME, 2K) based PC with a spare serial (COM)
port, a Dallas Semiconductor serial to 1-Wire port adapter, and cabling to attach 1-Wire devices for
Figure 1. PC-Based Programming Configuration.
Dallas Semiconductor offers a variety of adapters that convert Serial COM port communication to 1-Wire
waveforms and protocol. See Table 1 for a comparison of port adapter capabilities relative to
EEPROM/EPROM reading and programming. The DS9097U are the current generation adapters. The
DS9097U-009 and the DS9097U-S09 are the recommended models for EEPROM programming. The
DS9097U-E25 is the recommended model for EPROM programming. Figure 2 shows the DS9097U-E25
package and the connector pinouts. The RJ-11 pinout applies to all port adapters in Table 1
Table 1. 1-Wire Serial Port Adapters
*Not recommended for new projects
Figure 2. DS9097U-E25 1-Wire Serial Port Adapter And +12V Pinouts.
12VDC Power for EPROM Programming
Programming EPROMs requires the application of a +12VDC
programming pulse. The DS9097U-E25
provides this capability when supplied with +12VDC
power. As shown in Figure 2
, a 2.1mm power jack is
used to attach either power from a bench supply or common AC wall adapter. Power jack polarity must
be observed: center contact is ground and outer contact is +12V. See EPROM data sheets for voltage
tolerance and current levels required to program devices. The following +12VDC
wall adapter has been
successfully used to program devices:
It can also be purchased from the following:
- Allied (Stock #928-9895)
- Newark (Stock #84F2081)
A schematic for a serial port-based adapter similar to the DS9097U-E25 that supports EPROM
programming is shown in Figure 3
. This schematic can be used as a reference for developing an adapter
that will operate from an RS232 serial port. If +12V EPROM programming is not a requirement,
components R5-R7, D5, D6, and D9 can be eliminated and the DS2480B VPP
signal (pin 5) must be
connected to VDD
Figure 3. Reference Schematic For Serial Port 1-Wire Adapter
A cable is required to apply adapter 1-Wire signals to the parts that are to be programmed or read. The
cable must have a RJ-11 on one end and an appropriate interface to the 1-Wire device or mounting board
on the other. The pinout for the RJ-11 is shown in Figure 2.
When using the DS9097E adapter, the 1-Wire return must be isolated from any other grounds or return
paths. Failure to follow this requirement may damage the DS9097E adapter and possibly the 1-Wire
Dallas Semiconductor provides several software utilities
for programming 1-Wire devices; these are all based on installation of the TMEX RunTime Environment (RTE). All Software, including TMEX, is free
of charge and available for download.
An easy to use GUI application called i
Button Viewer is automatically installed when the TMEX RTE is
installed. When configured and launched this application provides a display as shown in Figure 4
Figure 4. Screen print of iButton viewer opening screen.
As 1-Wire devices are attached to the serial port adapter their 64-bit ROM values are displayed by the
viewer. Double clicking the ROM value launches device read/write utilities. The i
Button Viewer supports
two formats for read/write EPROM/EEPROM data: 1-Wire File Structure and raw/user defined. The 1-
Wire File Structure format, defined in Application Note 114
, stores data in a fashion similar to that found
in disk operating systems: directories with files of data. In the 1-Wire File Structure mode, data can be
programmed and read using the i
Button Viewer. The raw/user-defined format is unconstrained and data is
written to individual byte locations. Operating in the raw/user-defined mode requires the i
to be set to debug mode. This is set from the menu tool bar by selecting File→Options→Debug Enable.
At the time of this writing the debug mode of the i
Button Viewer supports only reading raw EPROM
data. A future update to the i
Button Viewer may support raw data programming.
In order to program EPROM devices with a raw data format, the utility TMEPROM.EXE needs to be
used. This program and the source code can be downloaded
from our site.
Before TMEPROM can be run the TMEX-RTE must be installed with a DS9097U-E25 attached during
the installation process of the default 1-Wire port. This ensures that the correct COM Port and adapter
type are configured for TMEPROM operation. The utility will automatically exit if there is no DS9097UE25
and EPROM device attached. When configured and launched with a DS1982/DS2502 attached this
application provides a display as shown in Figure 5
Figure 5. Screen Print of TMEPROM Program.
Two additional utilities for EPROM programming are available at the links listed below:
- Copy hex file into EPROM 1-Wire devices (console, C, 32-bit) 1.03
- iButton Copy Machine (GUI, Delphi, 32-bit) 3.11Beta9
Using a NVRAM iButton (the DS1992, DS1993, DS1995, or DS1996) and the iButton Viewer, it is
possible to program the raw data into the NVRAM device and then using the iButton Copy Machine to
copy from the NVRAM device to an EPROM device. These programs are not suitable to gang program
EPROM devices. Due to the 12V programming pulse, there must not be any non-EPROM devices on the
line when programming EPROM devices.
Dallas Semiconductor enables pre-programming of 1-Wire EPROM/EEPROM devices with easy-to-use
serial port adapters and PC-based software. Using one of these low cost adapters and free software
enables the end-user to quickly setup a programming station to configure a device with the data necessary
for prototyping or for easy evaluation of changes to device data sets.