Datasheet
D 0 DATA[15:8] P1 P0 DDATA[7:0] A
D 1 REG. ADDRESS[7:0] P1 P0 DDATA[7:0] A
³+,*+VOLFH´ ³/2:VOLFH´
³+,*+VOLFH´ ³/2:VOLFH´
Tag Bit
Tag Bit
Parity Bits
Parity Bits
Configuration Data Frame
DAC Input Data Frame
DAC161P997
www.ti.com
SNAS515E –JULY 2011–REVISED OCTOBER 2013
SINGLE-WIRE INTERFACE (SWIF)
SWIF provides flexible and easy to implement digital data link between the Master (transmitter) and the Slave
(receiver). The Master encodes the digital data into a square (NRZ) CMOS level waveform which can be
generated using common microcontroller resources. The Slave (DAC161P997) translates the waveform back into
a bit stream which is then interpreted as the output current update or configuration data.
SWIF can operate in both Simplex (unidirectional) and Half-Duplex (bidirectional) modes. In the DAC161P997's
implementation of SWIF, an Acknowledge pulse constitutes the reverse data flowing from the Slave back to the
Master.
In its simplest implementation, the waveform can be directly coupled to the DAC161P997 input. In typical
systems, however, SWIF data is transmitted via the galvanic isolation element such as pulse transformer or an
opto-coupler. The details of the circuit implementations are discussed in Interface Circuit.
Frame Format through Symbol Set describe the data encoding and the SWIF protocol.
Frame Format
A frame begins with a minimum of one idle symbol. There can be more than one and each has the effect of
resetting the frame buffer of the DAC161P997. After idle symbol “D” a Tag Bit specifies the destination of the
frame. If the tag is symbol ‘0’ then frame’s destination is the DACCODE register. If tag is a ‘1’ the destination is
one of the configuration registers.
The following 16 symbols constitute the data payload. If current frame is a DAC frame, the entire payload is a
single DACCODE word. If it is a configuration frame, the first byte is the register address and the second byte is
the register data. Words are transmitted MSB first.
Two parity symbols follow the payload. The first parity symbol is determined by the bit parity of the tag bit and the
first byte of payload (HIGH Slice) – a total of nine symbols. The second parity symbol corresponds to bit parity of
the second byte of payload only (LOW Slice) – a total of 8 symbols.
P0 = [ ( Number of ones in LOW Slice ) mod 2 == 0 ]
P1 = [ ( Number of ones in HIGH Slice ) mod 2 == 0 ]
Symbol ‘D’ after the parity bits completes a valid frame.
The symbol “A” is optional, but if present it has to immediately follow the last “D” symbol of the frame. The
duration of acknowledge symbol “A” is always twice the duration of P0 symbol preceding it. See Figure 19.
SWIF does not require that all symbols in valid frames are sent by the Master at a fixed Baud rate. Each symbol
is evaluated individually and is recognized as valid as long as it conforms to the duration requirement (Tp) and its
duty cycle falls outside of noise margins. (See Table 1 below.)
Figure 19. Data Frame Format
Copyright © 2011–2013, Texas Instruments Incorporated Submit Documentation Feedback 19
Product Folder Links: DAC161P997