Rainbow Electronics DS1957 User Manual
Page 12
![background image](/manuals/281934/12/background.png)
DS1957
12 of 25
START PROGRAM [77H]
The DS1957 Crypto iButton includes a microcomputer that performs logical and mathematical functions
on data it receives from the bus master. During 1-Wire communication, this microcomputer is in a stop
mode where it consumes virtually no power (see DC Characteristics). After the IPR and I/O buffer have
been loaded with command, data and data management information, the microcomputer is started and
power is provided through the 1-Wire line. The computations inside the DS1957 are done in time slices,
which are controlled by an internal timer. The duration of the time slices is negotiated between the bus
master and DS1957 before the program execution starts.
The Start Program command is used to tell the firmware of the DS1957 that the previous command is to
be cancelled (if it was not finished) and that internal registers that might still contain data from the
previous command are to be cleared for a fresh start. After this clean-up the microcomputer will work on
the input data, interpret the firmware command and begin the requested type of data processing until it is
stopped by the timer that controls the time slices. After the command code for Start Program the bus
master has to transmit the release sequence 6D43H to confirm that it wants to start the microcomputer.
Now the bus master has to read back a single bit from the DS1957. If the bus master reads a 1, the
command code and/or release sequence have not been accepted and have to be repeated. If the command
code and release sequence have been accepted by the DS1957, the bus master will read a 0. Immediately
after this, the bus master has to activate a strong pull-up to 5 volt to provide power. After the pre-
negotiated time slice for data processing is over, the microcomputer inside the DS1957 will stop. By the
use of its own timer the bus master knows when this occurs, disables the strong pull-up and sends a reset
pulse. The bus master will get information on the progress of the data processing by reading the status
registers of the DS1957.
CONTINUE PROGRAM [87H]
The Continue Program command is used to let the microcomputer inside the DS1957 resume the
execution of the current program for another time slice. After the command code for Continue Program
the bus master has to transmit the release sequence 5D73H to confirm that it wants to activate the
microcomputer again. Now the bus master has to read back a single bit from the DS1957. If the bus
master reads a 1, the command code and/or release sequence have not been accepted and have to be
repeated. If the command code and release sequence have been accepted by the DS1957, the bus master
will read a 0. Immediately after this, the bus master has to activate a strong pull-up to 5 volt to provide
power. After the time slice for data processing is over, the microcomputer inside the DS1957 will stop.
By the use of its own timer the bus master knows when this occurs, disables the strong pull-up and sends
a reset pulse. The bus master will get information on the progress of the data processing by reading the
status registers of the DS1957.
RESET MICRO [DDH]
The Reset Micro command is used if the bus master was not able to successfully begin a new data
processing sequence using the Start Program command. In contrast to Start Program and Continue
Program, the Reset Micro command keeps the microcomputer halted and performs a true hardware reset
cycle. This explains why the strong pull-up to 5 volt is not required. After the command code for Reset
Micro the bus master has to transmit the release sequence 92BCH to confirm that it wants to reset the
microcomputer. Now the bus master has to read back a single bit from the DS1957. If the bus master
reads a 1, the command code and/or release sequence have not been accepted and have to be repeated.
If the command code and release sequence have been accepted by the DS1957, the bus master will read a
0. Immediately after this, a reset signal is applied to the microcomputer by its supervisory and control
logic. The Reset Micro not only cancels the current firmware command but also clears all internal
registers.