
S/P DIF Interface
10-31
The layout of the subframes is also shown in
Figure 10.14
. Each
subframe starts off with a 4-bit (8-state) preamble. The preamble is
coded to mark the first frame in a block, to differentiate between
subframes in a frame, and to violate the biphase mark rule twice. This
latter feature prevents other data in the stream from mimicking a
preamble. The preamble states are listed in
Table 10.10
. Since the
biphase mark violations do not occur between data and the preamble,
two codes are used for each of the three subframe applications
depending on the last state of the previous data bit.
Bits 4 through 11 of the subframes are fixed at zero by the S/P DIF
Interface. The 16-bit audio sample is packed in bits 12 through 27 of the
subframe with the LSB in bit 12. The interface defaults to setting the
V bits and clearing the U bits. The host can change their values each
subframe by writing to the User and Valid bits in Register 363
(
page 4-85
). The P bit is set for even parity across the subframe.
Figure 10.14 IEC958 Syntax
0
3
4
27 28
31
V U C P
Sync
Preamble
16-bit Audio Sample
LSB
MSB
Fixed to 0
12
Subframe
Format
M
Ch1
W
Ch2
B
Ch1
Ch2
Ch1
Ch2
Ch1
W
M
W
M
W
Ch2
Frame 191
Frame 0
Frame 1
Subframe 1
Subframe 2
11
Note:
V = Validity bit (set to 1).
U = User data (set to 0).
C = Channel status.
P = Parity bit.
Table 10.10 IEC958 Subframe Preambles
Preamble
Preceding
Preamble State = 0
Preceding
Preamble State = 1 Subframe
B
11101000
00010111
Subframe 1 at the start of blocks
M
11100010
00011101
Subframe 1 except at the start of blocks
W
11100100
00011011
Subframe 2