4'.+/+0#4; 41&7%6#2'%+(+%#6+10 < +0' '%1&'4 !" * Preprogrammed to Provide Full Compliance with EIA-608 Specifications for Extended Data Services Minimal Communications and Control Overhead Provide Simple Implementation of Violence Blocking, Closed Captioning, and Auto Clock Set Features * Automatic Extraction and Serial Output of Special XDS Packets (Time of Day, Local Time Zone, and Program Blocking) Programmable, On-Screen Display (OSD) for Creating Full Screen OSD or Captions inside a Picture-inPicture (PiP) Window * User-Programmable Horizontal Display Position for easy OSD Centering and Adjustment * * I2C Serial Data and Control Communication * Complete Stand-Alone Line 21 Decoder for ClosedCaptioned and Extended Data Services (XDS) * * * * #$ % &% " ' Programmable XDS Filter for a Specific XDS Packet Cost-Effective Solution for NTSC Violence Blocking inside Picture-in-Picture (PiP) Windows Supports 2 Selectable I2C Addresses Capable of processing Vertical Blanking Interval (VBI) data from both fields of the video frame in data, the Z86229 Line 21 Decoder offers a feature-rich solution for any television or set-top application. The robust nature of the Z86229 helps the device conform to the transmission format defined in the Television Decoder Circuits Act of 1990, and in accordance with the Electronics Industry Association specification 608 (EIA-608). The Line 21 data stream can consist of data from several data channels multiplexed together. Field 1 consists of four data channels: two Captions and two Texts. Field 2 consists of five additional data channels: two Captions, two Texts, and Extended Data Services (XDS). The XDS data structure is defined in EIA-608. The Z86229 can recover and display data transmitted on any of these nine data channels. The Z86229 can recover and output to a host processor via the I2C serial bus. The recovered XDS data packet is further defined in the EIA-608 specification. The on-chip XDS filters in the Z86229 are fully programmable, enabling recovery of only those XDS data packets selected by the user. This functionality allows the device to extract the required XDS information with proper XDS filter setup for compatibility in a variety of TVs, VCRs, and Set-Top boxes. In addition, the Z86229 is ideally suited to monitor Line 21 video displayed in a PiP window for violence blocking, CCD, and other XDS data services. A block diagram of the Z86229 is illustrated in Figure 1. Lock SIG PG FEW Digital II Lock Row Status Reg Test Reg Command Processor Row Latch 4 10 CG Lines DOT CLK V Lock OSC Display RAM MSGR Display 8 Latch CHAR CIR SS CTR Control FR FLD LS SFLD SLS Vss(A) LPF Loop Filter 4 ADDR Decoder Line & Field Control 11 9 5 Character Generator Output Logic Line & Fld Decodes HIN 13 FLD PH1 I Drive & MUX ADDR DEC CHAR CLK CW O/S Address MUX 6 DOT CLK DIV CG Logic /+ . , ++*)( Serial Control Port Slice Level PH2 V/I Ref 10 RREF POR CKT 17 3 2 18 Z86229 only ZiLOG SMS SEN SCK SDA SDO Data Line Data Bus AW COMP SYNC CSYNC Data CLK Recovery SYNC Slicer 8 MSYNC Figure 1. Z86229 Block Diagram "! Dual Clamp Sliced Data Data Slicer Buffer 1 BOX BLUE GREEN RED 7 VW Video VIN / Intro 12 6 4 15 14 16 Addr Bus 13 I2C SEL VDD +5V ()*++, -.+/ ZiLOG PIN DESCRIPTION Table 1. Z86229 Pin Identification* I2C SEL GREEN BLUE SEN HIN SMS VIDEO CSYNC LPF 1 2 3 4 5 6 7 8 9 18-Pin DIP/SOIC 18 17 16 15 14 13 12 11 10 RED BOX SDO SCK SDA VIN/INTRO VDD VSS (A) RREF Figure 2. Z86229 Pin Configuration -! 0% )! +, ! 0! * ! 4 4 *556"7 1 "##$%& *#('( *#('( $.%./% 0$1.% $.% #%& 2'*# 2'3& '4%$ $5$& 8$9(''%36".%:7 )! *&& 8$(''%3 *+0;!< *$&.%;$$('( " $.%.. = $.%%&> $.%..( +? <2::.% *#('( '( ('( ('( '( '( '( '( ('( ('( '( ;('( ;('( '( ('( ('( ('( Note: *DIP and SOIC pin configurations are identical. 0% *&& *+0 *176 +0 176 && & <56) <. (''%3*%.: '(*%.: ('(*%.: '(($$'$ ('(($$'$ (''%3($$ 8$'.'$A& $.:<2'$.($ .#<2'$.($225$2.5$&# 2% @99 @9*&&9 @9*&&9 @ 3 * * * 2" 2" 2" 2B Notes: *Voltages referenced to VSS (A). Values beyond the maximum ratings listed above may cause damage to the device. Functional operation should be restricted to the limits specified in the DC and AC Characteristics tables or Pin Description section. !" ()*++, -.+/ ZiLOG STANDARD TEST CONDITIONS The characteristics listed below apply for standard test conditions as noted. All voltages are referenced to Ground. Positive current flows into the referenced pin (Figure 3). +5V 2.1 k From Output Under Test 150 pF 250 A Figure 3. Standard Test Load 0% *+. *+* *1. *1* +. && '(*%.:8 '(*%.:0:C ('(*%.:8 ('(*%.:0:C '(.>.: (''%3($$ 1.D92" 1*D92" ** && 9*&& @ *&&@9-* @9 9*&& *&& 9@ 9 3 * * * * " 2" Notes: TA = 0C to +70C; VDD = +4.75V to +5.25V. Table 2. Composite Video Input "2'%(# %.$3 +.#8#C :.%<3' .F'( 55 - 9*''E#+ 3&':.A >01 $%.&# -C2 :.%/"&('%#8C.22(2$&.'.&.&59G49 !" ()*++, -.+/ ZiLOG ELECTRICAL CHARACTERISTICS Nonstandard Video Signals must have the characteristics indicated in Tables 3-6. Table 3. Non-Standard Video Signal Characteristics 3&"2'%(# *$&.% (%B#C *$&.% (%<% 0<2: *$&.%3&:.% 2(2:.%! 2*22(2 0E90 2*2.F2(2 C.'60.#8&C7EG2.F2(2 4CA.6%:$27E9H2.F2(2 4C''A.6C$$27E9H2.F2(2 .%%$%:.%C.A:.A$&.%3& '(%C.2C5%%8:&#I * * * It is at least 3H +/- 0.5H wide. It starts at the proper 2H boundary for its field. If equalizing pulse serrations are present, they must be less than 0.125H in width. # 0!&> # %A%:.%8C$8JD9*%% %.$3 "3 4$K(&3 -901EH %.$3 "3 4$K(&3 .2.'%.30$1.%4%3/.&> (%604+7'(% Table 5. Line Input Parameters #"2'%(# #$A% .$5# .$5C.. $%.A+.&> $&C 996 .($5$2C2#'5C%.#:#:5C&2' A#03&'(%C2#'5C$:#:5C5$&%&>$(&3&%97 9 @996 .($5$2C2#'5C5.%%:#:5C 2$&&%&>$(&3&%C2#'5C$:#:5C.$/97 Note: Line 21 must be in its proper position to the leading edge of the Vertical Sync signal. !" ()*++, -.+/ ZiLOG Table 6. Timing Signals $# C.$.&$%%B#C B#C586+F7 B#C586C.$7 0$1.%'%.3<2: F40D9 01 9 9-G60;- 7 -9 6-&C.$D;-F07 -96&C.$D;F07 .&$# #'%.39!.2.%%$6)$7 8 $:$.2!.26.%&,#$%BC7 8 $:$.2:C<2C863.7 OSD Row 2 OSD Row 1 Network Name Program Name Program Length When an XDS display mode has been selected, the information is displayed as the appropriate packets are received. The display remains on-screen as long as valid XDS data continues to be received. If the 16-Second Erase Timer is enabled (the default condition), the XDS display is erased when no valid XDS data has been received for 16 Seconds. If subsequent XDS data is received with displayable packets, that information reappears on the screen. XDS data recovery can be active in the XDS display mode. OSD Row 1 Call Letters Network Name Program Name Program Length Time in Show OSD Row 3 OSD Row 2 Call Letters Time in Show OSD Row 3 Program Description information goes here on OSD rows 10, 11 12 and, 13 Figure 7. XDSG (Graze) Mode Sample Display The XDSF mode is the FULL (information) display (Figure 8). This display shows the same information as the GRAZE display; however, this display adds the program type as well the first four program description rows (if transmitted). Although XDS defines eight program description rows, the first four are identified as containing the most important information. The display of Program Description is limited to the first four rows. This limitation occurs because: 1. Eight rows would obscure much of the screen. 2. More than four rows are not likely to be sent due to the time required for transmission. Because 15 scan lines per row mode are being used, rows 10-13 appear at the bottom of the screen. 8 8 8 8 8 8 8 !8$>!.2.%%$6)$7 $:$.2!.26.%&,#$% BC7 $:$.2:C $:$.2<3'<2 C863.7 $:$.2&$'86%%87 $:$.2&$'86%%87 $:$.2&$'86%%87 $:$.2&$'8-6%%87 Figure 8. XDSF Mode Sample Display The XDS display mode is turned off by selecting a different display mode. Display Erase and Autoblanking The display is erased in the Text mode by the Start Text command (but the box is maintained) and in the CAPTION mode by the Erase Displayed Memory (EDM) command. The non-displayed memory can be erased by the Erase Nondisplayed Memory (ENM) command. Four other events can also cause the display to be erased. 1. The first action is a change in the display mode, such as from CC1 to T1 or CC1 to XDSF. A change in display mode clears the memory and the display. 2. A loss of video lock, such as on a channel change, can cause the screen to be cleared. The current active display mode is not changed. For example, if CC1 is selected and ON before the channel change, the device will remain in the CC1/ON state after the channel change. 3. The third action that clears the displayed memory is when the autoblanking circuit is activated. The autoblanking circuit monitors the presence of a Line !" ()*++, -.+/ ZiLOG 21 waveform in the video field corresponding to the data channel selected for display. The decoder is held in the Decoder OFF (TV) state until a Line 21 waveform is continuously detected for a period of 0.5 seconds. After a valid Line 21 waveform has been detected for 0.5 seconds, and assuming that the user has selected the Decoder ON state, the normal display for the data channel selected is presented. The autoblanking circuit is not activated again until a valid Line 21 waveform has been lost for 1.5 seconds. Any data received during the 1.5-second period resets the counter. As a result, autoblanking is only activated on continuous loss of the Line 21 waveform for 1.5 seconds. Note: A valid Line 21 waveform is defined as the presence of a 7-cycle run-in clock, in addition to a start bit on Line 21 of the field being examined. 4. The fourth method of clearing the screen is by the action of the 16-Second Erase Timer. This function is only active when a CAPTION or XDS display mode has been selected. If no data is received for the display channel selected for a 16-Second period, the on-screen memory is erased; however, the decoder is still on the selected channel (with the decoder ON), allowing data for the selected channel to be displayed. !" ()*++, -.+/ ZiLOG Z86229 FEATURE SET The primary features of the Z86229 are summarized below. More complete descriptions can be found in later sections of this document. supplied through its serial port. This condition is referred to as On-Screen Display (OSD) mode. This mode provides: * Programmable Full Screen OSD: 15 display rows by 32 character columns * * * Graphics characters * Accepts externally supplied (or internally generated VSYNC to enable OSD even when no video is present) VBI Data Processing The Z86229 extracts Line 21 data from the incoming video signal. All data channels in both video fields are supported. Incorporating the VBI decoding feature, the Z86229 can perform the following: * * Process data from both fields of Line 21 simultaneously * * Output XDS data through the serial port raw or filtered * Output XDS data through the serial port while displaying selected data Select XDS filters from a list of pre-programmed values including Program Rating and Time of Day/Local Time Select NTSC or PAL operation The video data extracted from Line 21 may be displayed in different ways according to the user selection and the type of data. Display choices include: * Ten different Line 21 data-display modes; CC1-CC4 and T1-T4, plus two standard templates for XDS displays * * * Pop-on, Paint-on, and Roll-up CAPTION displays * * Color or Monochrome display mode selectable * Fully programmable display positioning (information may be placed anywhere on the screen) Character Set The Z86229 has a new character set with extended features, such as: * * New font with descenders on lower case letters * * * EIA-608 Extended Characters * Double-High and Double-Wide character display for OSD * Fifteen scan lines per character row for OSD and Text Text display default as a full screen, 15 row display User can vertically reduce and reposition the Text display as required Double-High and Double-Wide characters Optional display mode using the drop-shadow font (in other words, fringing appears on each character rather than a solid, "black box" background) EIA-608 Background and Foreground attributes Special framing and graphics characters for OSD display Note: Contact the nearest ZiLOG Sales office for additional in- formation on how to define your own custom OSD character set. XDSG Display Mode (channel grazing): automatic display of Network Name, Call Letters, Program Name, Program Length, and Time In Show data packets Serial Communications Interface XDSF Display Mode (full information): automatic display of XDSG Display Mode information in addition to Program Type (only basic types) and Program Description Communications and control of the Z86229 is possible through a serial control interface. Two Serial Control Modes are available with the Z86229 performing as a slave device. These modes are: 1. A two wire, I2C interface. General Purpose OSD Modes Apart from displaying data extracted from Line 21 of the incoming video, the Z86229 can also display information 2. A three wire, Serial Peripheral Interface (SPI). A total of five device pins are dedicated to the serial control port function. These pins are indicated in Table 7. !" ()*++, -.+/ ZiLOG Table 7. Z86229 Serial Control Signals % M ; 4 = = # ; .. !" .. ..( ./% 1. An INPUT pin for acceptance of an external VSYNC timing signal. 2. An OUTPUT pin for interrupt generation on selected events. Note: Configuring VIN/INTRO as an output for interrupt gener- ation is particularly useful when implementing the Program Blocking feature with the Z86229 in TVs and VCRs. In this configuration, Pin 13 is used to interrupt the host processor when the XDS Program Rating data packet is found. As a result, the host processor is not burdened with monitoring or filtering the line 21 data stream. The Z86229 filters the Line 21 data stream for the host processor, and generates an interrupt only when the required packet is found. Notes: SMS = Serial Mode Select High = SPI and Low = I2C. SCK = Serial port clock for either Serial Mode. SDA = Serial port data for I2C Mode and Data In for SPI Mode. SDO = Serial Data Out for SPI Mode. Not used in I2C Mode. SEN = SPI Mode Enable signal. Must be High for I2C Mode. I2C Mode. The I2C port on the Z86229 always acts as a slave device. I2C Mode is selected by bringing the SMS pin Low and the SEN pin High. SEN must remain High whenever I2C mode is required. If the SEN pin is brought Low, with the SMS also Low, the part is reset. SDA and SCK are the data and clock lines of the I2C port, respectively. During I2C mode operation, the V IN/INTRO signal (pin 13), can be configured to generate interrupt requests to the master device on selected events (see Note paragraph page 22). SPI Mode. SPI Mode is selected by making the SMS pin High. In SPI mode, the Z86229 acts as a slave device. All communications are clocked in and out as 8-bit bytes. SCK is the serial clock (input), SDA is Data-In, and SDO is DataOut. The SEN pin enables communication when High. When Low, the SDO pin is tri-stated. When SEN is brought High, the part is synchronized and waiting for a Command. If SEN is tied High, the part can also be synchronized by a command string. During SPI mode operation, the VIN/INTRO signal (pin 13) can be configured to generate interrupt requests to the master device on selected events Caution: When the SEN and SMS pins are made Low simulta- neously, the part is reset. Interrupt Generation. The VIN/INTRO signal (pin 13) can be configured to provide an interrupt output on selected events. The configuration of V IN/INTRO (pin 13) is user programmable to be either: Setup and Operational Control The Z86229 is extremely flexible and fully programmable through its serial communication port. The following tables provide a partial list of User-Programmable Features, User Selectable Display Modes, and Default Conditions upon Reset. Z86229 Programmable Features * * * * * * * * * * * * Decoder ON/OFF TV scan lines per OSD row (13 or 15 lines) EIA-608 extended attributes ON/OFF OSD drop shadow ON/OFF Color/Monochrome OSD Horizontal start position Text box size (# of rows) Text box starting row position NTSC or PAL Vertical Lock Source: Video or External VIN XDS Data Output, Raw or Filtered H-lock Source: Video or External HIN In addition to the programmable features just listed, the Z86229 offers a choice of eleven display modes for user selection. !" ()*++, -.+/ ZiLOG Table 8. Z86229 Display Modes % % %# .' %# .' %# .' %# .' < :$(# "@ F##"$/( ..('( *#.#.$# ..('( *&> +?<2: *$&.%&> 8 +0641 +0 0$1.%&> %$; '%.3 !" " 44 $8 +? ! 44 !< 44 *# 9G& *# !4$K(&3 %&> (%B#C8 %&> (%B#C0:C ".#<2 ".#4.%%<2 %&>8..(*.%# +(4$<2 .$0%#<2 .$('<2 ..0%#<2 ..('<2 '('<2 ..(0%#<2 '(4%$<2. SPI Bus Operation When the SMS pin is High, the Z86229 is in the SPI serial control mode. The clock line should be tied to the SCK pin. The DATA IN signal and DATA OUT signal from the master device should be connected to the SDA and SDO pins, respectively. The SEN pin is used to select the Z86229 when there are multiple peripherals on the bus. As noted above, when both the SMS and SEN pins are Low, the part is in the RESET state. When the SPI bus is used in a dedicated fashion between the master and the Z86229, both the SEN and SMS pins would be tied High. The RESET - -9 -9 @ @ 9 -9 -9 -9 -9 @ @ 9 9 @ @ @ @ @ @ @ 3 >01 function would require that both of these pins be tied to the NReset signal. To ensure synchronization, the master device should send the serial synchronization signal after the reset is released. When the SPI mode is used in a multiple peripheral environment, the SEN pin is used as the Z86229 enable signal. The SMS could then be used for the NReset signal as long as the reset was only applied while SEN is Low. In this case, there would be no requirement for the master device to send a serial synchronization string after reset if there was at least 100 ns between the end of the reset and the start of the port enable. !" ()*++, -.+/ ZiLOG A command string can be interrupted at any time. The port is resynchronized by sending the Serial Sync signal or by activating the rising edge of SEN. The SPI bus is a three-wire bus when used in a dedicated manner between the Z86229 and the master device. If other peripherals are connected to the bus, then the SEN pin must be used to place this device on the bus at the appropriate time. When SEN is Low, the SDO pin becomes tri-stated, transitioning on the SCK and SDA pins, which, as a result, are ignored. If data output is not required from the Z86229, then control can be accomplished using only the SCK and SDA pins. Because this type of operation precludes the ability to check the RDY bit, it is very important that commands be spaced by at least two frames (66 msec) to ensure that one command has been executed before initiating another. The bus is controlled by the master device, which generates the serial clock (SCK) and initiates all actions. Clocking data in on the SDA simultaneously produces a data out on the SDO. The master should always check for the appropriate handshake signal before executing any command other than a NOP. Writing to the part requires that the RDY bit be set, while reading from the part requires checking the SS register to see if the DAV bit is set. Both of these bits are contained in the Serial Status (SS) register. Writing to the Z86229 concurrently outputs the contents of the SS register, MSB first, unless other data is being output as a result of one of the READ commands. If it is required to read the SS without executing a command, the NOP command can be written at any time, even if the serial status RDY bit is not set. The RDY status bit is driven onto the SDO pin between command transmissions. The controlling MCU can test the state of this pin, without clocking, in order to determine if subsequent serial transfers are possible. The DAV bit can only be checked by outputting the contents of the SS register. Writing to the SPI Bus All write commands are either one or two-byte commands. The number of data bytes to be received by the Z86229 is inherent in the command. If the master device writes more bytes than expected, the command may be overwritten or corrupted by the extraneous bytes. A write to the Z86229 should always be preceded by executing a Status read to verify that the device is ready. The serial status is output by the device, concurrent with the input of any command byte. If the RDY bit of the serial status register is set, the master device can write a new command. The command and data bytes are written MSB first. Typically, the first byte of a two-byte command is sent first. The bits are clocked into the Z86229 by placing the data on the SDA input and bringing the SCK High. Reading Data Using the SPI Bus With the exception of the SS read, each read operation must be set up before the data can actually be read from the serial output registers of the device. Data is set up for a read operation either automatically or manually. The XDS data is set up for a READ automatically upon recovery by setting a valid XDS FILTER register selection. All other data read operations must be set up manually, using the READ SELECT commands RDS1 and RDS2. These commands load the selected data byte( or pair of bytes) into the serial output registers, set the SS register RD2 bit according to the number of data bytes requested, and set the serial status DAV bit to indicate the availability of data. The Z86229 SPI Bus supports two and three byte read sequences. In SPI mode, the SS must be read before a read sequence is started, so that the DAV and RD2 bits can be checked. The number of data bytes available is indicated by the state of the RD2 bit. The special command, READ1 or READ2, is then used to read the one or two available data bytes. The serial status is clocked out during the write of the READ1 or READ2 command. The data byte or bytes are then clocked-out in sequence, MSB first, while the NOP commands are written into the device. Data bits are clockedout on the rising edge of SCK. All available data bytes must be read to clear the DAV bit and permit subsequent reads. The SPI Bus Protocol The SPI Bus Protocol is defined as follows: 1. The first bit of the first output byte is driven out on the SDO. This action is followed by the rising edge of SCK on the last bit (LSB) of the READ1 or READ2 command. 2. A three-wire bus is defined with a Clock signal on the SCK pin, a Serial Data Input on the SDA pin, and a Serial Data Output on the SDO pin. 3. The SEN pin Low disables the port, placing the SDO pin in a tri-state. Signal transitions on SCK and SDA are ignored. 4. The SEN pin High enables the port for operation. 5. The SEN and SMS pins Low indicate a hardware reset for the part. These pins must be held Low for at least 100 ns. 6. Serial synchronization can be established by clocking in the minimum required SSR string of FFh, FFh, FEh. More than two bytes of FFh may be input, but the string must end with FEh. !" ()*++, -.+/ ZiLOG COMMANDS Serial Port Commands Caption/Text Display Mode Commands The majority of the Z86229 commands are common to both the I2C and SPI modes. In the I2C mode, the commands must be contained within the specified sequence (Start--Slave Address--etc.). CPTX = 10h-1Fh. These caption and text display-mode commands are one-byte commands that select the Line 21 data stream (caption or text) for display. CM6 CM5 CM4 CM3 CM2 CM1 0 0 0 1 FLD CPTX LANG DONOF R/W R/W R/W R/W R/W R/W Bit CM7 Note: In the following Command descriptions, the letter "h" fol- lowing a command code designates hexadecimal notation. R/W CM0 R/W Figure 12. CPTX-Caption/Text Display (CPTX = 10h-1Fh) Reset RESET = FBh, FCh, 00h. RESET is a three byte command sequence in SPI or I2C mode. The RESET command establishes all the specified default settings in the device, but it does not reset the serial port itself. This sequence can be entered without RDY being set. A data channel can be selected for display with the display either enabled (DEC ON) or disabled (DEC OFF). All these commands turn off the active XDS display mode. Table 13 summarizes the device's caption and text display modes and the proper command code to activate them. No Operation Table 13. Caption and Display Commands NOP = 00h. NOP is a one-byte command for use in SPI or I2C mode. The NOP command does not affect the status of the RDY bit in the Serial Status (SS) register and can be executed independent of the RDY status. Serial Sync Bytes SSB = FFh,....,FFh,FEh. Serial Sync Bytes are used in SPI mode only. This command actually consists of a string of single-byte commands in the form FFh,....FFh,FEh. SPI mode communications can be synchronized by sending a synchronizing data string to the part. This string should consist of at least two SSB bytes of FFh, followed by one SSB byte of FEh. At the end of the FEh byte, the port is ready for use. Table 12. Basic Serial Commands % < ! + 4+C4CC C 44C99944C4C - $ $ 2#%3 7 < < < <- 7 # #11 C C C -C 4C C C C C C C C +C " C XDS Display Mode and 16-Second Erase Timer Commands XDS DISP = 20h-27h. XDS Display commands are one- byte commands. These commands control the selection of XDS display modes and the state of the 16-Second Erase Timer. The 16-Second Erase Timer is active only for caption and XDS display modes. The 16-Second Erase Timer has no affect on Text mode displays. !" ()*++, -.+/ ZiLOG Table 14. XDS Display Commands* 7 % /* /* ##11 C C C C C -C Note: For XDS data recovery, when the XDS Filter Register Note: *Changing the ON/OFF state of the 16-Second Erase Timer has no affect on the current display mode in operation. READ1 = F8h. This command reads one byte in the SPI mode. 7 % ?) ?4 &#$.<2$ (see Internal Register section) is enabled for the packets, the Z86229 automatically establishes the two-byte recovery mode, moving the recovered data bytes to the output register. Reading Data From The Z86229 READ2 = F9h. This command reads two bytes in the SPI mode. Read And Write Commands Read Selects. There are two Read Select commands Bit 7 6 5 4 3 2 1 0 1 1 1 1 1 0 0 RD2 W W W W W W W (RDS1 and RDS2) in the Z86229. Each command is one byte in size and indicates that a read should take place. RDS1 specifies that one byte is read from the Z86229; likewise, RDS2 indicates that two bytes are read. W Figure 15. READx-Read x Bytes (READ1/2 = F8h/F9h) RDS1 = 40h-47h. RDS1 is a one-byte command used to initiate a one-byte read sequence. This action is performed by moving the contents of the register identified by the address field (AD00:02) of the command to the output register. Addresses 0h-7h are valid in the RDS1 command field AD00:02. CM6 CM5 CM4 0 1 0 0 W W W W Bit CM7 CM3 CM2 CM1 CM0 AD03 AD02 AD01 AD00 W W W W Figure 13. RDS1-Read One Byte (RDS1 = 40h-47h) RDS2 = 60h-66h. RDS2 is a one-byte command which is used to initiate a two-byte read sequence. This action is performed by moving the contents of the two consecutive registers, starting with the one identified by the address portion of the command (AD00:AD02), to the output registers, setting the RD2 bit in the SS register. Only Addresses 0h-6h are valid in the RDS2 command field AD00:02. The READx commands do not affect the status of the RDY bit in the Serial Status (SS) register, and can be executed independent of the RDY status. In both serial communications modes, the DAV bit in the SS register indicates when the data is available. When the RD2 bit is Low, the DAV is cleared on the rising edge of SCK at the LSB of the first data byte. When the RD2 bit is High, the DAV is cleared on the rising edge of SCK at the LSB of the second data byte. The RD2 bit is only valid if the DAV is High. Reading in the I2C mode is selected by the R/NW bit in the Slave Address byte. The first byte after the Slave Address byte is SS followed by the data in output buffers (A and B, respectively). If the instruction being executed is a one-byte read, then buffer A contains the read data and buffer B contains all ones. Writing to the Z86229 WRxx = C0h-DFh Bit Bit 7 6 5 4 3 0 1 1 0 0 W W W W W 2 1 0 AD02 AD01 AD00 W W 7 6 5 4 3 1 1 0 0 0 W W W W W W Figure 14. RSD2-Read Two Bytes (RDS2 = 60h-66h) !" 2 1 0 AD02 AD01 AD00 W W W Figure 16. WRxx-Write Register xx (WRx = C0h-DFh) ()*++, -.+/ ZiLOG The WRITE commands require two bytes to execute. The first byte is the write command. This byte includes the Z86229 register address (AD00:04). The second byte is the data to be written. OSD Display Mode Commands presentation to the screen. Normally, the OSD display mode uses 15 TV lines per display row to enhance the screen appearance. The following tables summarize the single- and two-byte control commands for the Z86229 On-Screen Display. OSD commands are one and two-byte commands. They are used to control the loading of data for OSD display and their Table 15. Single-Byte OSD Display Mode Commands - <,! $&A$#9 PQ $:$.2.:($$%.'.&> $&A$#9 $&A$39 P4Q "%%?'.&>$&A$#9 PQ "%%($$%.'.&>$&A$#9 P Q <25$2.$&A$#95$2C &%%.(%.#..9 :<*.#* P 4Q *5$2.$&A$#9%& <5$$&A$39 !" ()*++, -.+/ ZiLOG Filtered XDS Data Format Filtered XDS data is output from the Z86229 in the order it is received on Line 21. The XDS filter function is essentially creating a new, smaller stream of XDS data packets. This new data stream looks exactly as though the Class and Type specified in the XDS Filter Register (05h) are the only data encoded on Line 21 of field 2. The filtered data output from the Z86229 is in full compliance with EIA-608 specifications for XDS data streams (headers and control codes intact). See the Note paragraph in the next column for a special exception to this rule. XDS data and header information (including START, CONTINUE, and END commands) are passed through the filter for the XDS class and type specified in the XDS Filter Register. All other Line 21 data is filtered out. This data is neither output nor used to generate a data available flag (DAV) in the Serial Status Register. To properly read filtered XDS data from the Z86229, the master device must first write the XDS Filter Register (05h) with its required XDS Class and Type information. For example in Z86229, in order to extract ONLY the Line 21 Program Rating information, the master must write the value 61h to the XDS Filter Register. The master should then poll the state of the DAV bit in the SSR until DAV = 1. As soon as DAV=1, the master may initiate a 3-byte read in the normal manner (XDS data bytes always arrive in pairs, so it is safe to assume that RD2=1 when DAV=1 in the SSB). A 3-byte read always yields two data bytes, which in this case is the first two bytes of the Current Class, Program Rating Type XDS data stream encountered on Line21 field 2. The master device must then interpret those two - bytes according to the EIA-608 specifications for Current Class, Program Rating Type data. Refer to EIA-608 for data formats. The XDS filters on the Z86229 greatly reduce the amount of field 2 data passed on to the master device for further processing and interpretation; however, the master device must still interpret the filtered data stream in accordance with EIA-608. The filtered data stream from the Z86229 is in full compliance with the EIA-608 specification. In other words, the filtered data stream contains all the XDS command and data packets, in standard EIA-608 format, but only for the selected XDS Class and Type(s). Note: The Z86229 XDS filter for Program Rating information behaves differently than all other Z86229 predefined XDS filters. This change has been made to minimize the amount of data passed through the Program Rating XDS filter, thereby minimizing the interpretation and communications load on the master device. When the XDS Filter Register is set to 61h (Class=01h (Current), Type=05h (Program Rating) is the only data from the Line 21 field 2 that passes through the filter. 1. Program Rating Packet: [xxh,xxh]. The Current Class Program Rating data byte pair as defined in EIA-608. The program's rating is encoded per EIA-608 in the xxh byte pair. 2. The END Packet [0Fh,CHKSUM]. A two-byte packet that includes a CHKSUM computed per EIA-608. The checksum calculation includes the START packet [01h,05h], even though this value was not passed through the filter. !" ()*++, -.+/ ZiLOG Z86229 COMMANDS AND REGISTER SUMMARY Table 19. Z86229 Summary of Control Commands - < ! + .'"&A3 ! "* C C C C -C C C C C $ +,+? 3 $ #5&22.##'%.3 *(/%B#&C.$9.&C &C.$.&$$#8CCB< 0"&22.#9 P"Q %& B&($$.&C.$.&$ &%(2 P"Q A&($$ P" Q P"Q P"Q P"Q P"- Q P"--Q P"-Q P"-4Q "5$&C.$8$ " %&.9 )$2#$&C.$&% R*S8$&C.$&%-N9 RS RS RS RS The next block of commands displays AUDIO in row 4 with Double-Width. P"-Q P"Q P"Q P"-Q P"Q P"--Q P"- Q P"-4Q %& B-&($$&C.$&% ($$&C.$&% )$2#$&C.$&% R"S8$&C.$&%-N9 R,S RS RS RS The next set of commands displays the word "TIME" in row 6 with Double-Wide characters. Spacing is obtained without the A2 Cursor Set command to illustrate an alternate means of column alignment. P"Q %& B&($$&C.$&% # 1 P"Q )$2#$&C.$.&$&% P"Q (/%B#'.&&C.$8$ &C.$.&$&%(2N P"-Q R'0 (&C.:# PQ %&#&C.$9($$ 2A #&#.$4%.C($$2A RBS(/%B#&C.$&% R"S(/%B#&C.$&% RS(/%B#&C.$&% R!S(/%B#&C.$&%RS(/%B#&C.$&% R!S(/%B#&C.$&% R)S(/%B#&C.$&% RS(/%B#&C.$&% ($$&C.$' "&%$%%8&($$2A &C.$' RS RS RS R.S R%S R%S RS # 1 P"Q P"Q P"Q P"Q P"Q P"Q P"Q P"Q P" Q PQ P"Q P"Q P"Q P"Q P"Q P"Q P"-Q P" Q P"4Q P"Q P"Q P"Q P" Q P"Q P"Q P"Q P"-Q P" Q P"Q P"-Q P"Q P"Q P" Q P"Q RS RS R&S RS RS RS R.S R$S R3S R'S R$S RS R&S R.S R(S RS RS RS RS RS RS RS R2S R2S RS R#S RS R.S RS RS R%S R3S R9S At this point all 4 rows are on-screen. The following wait command holds the display for a period = (12x16)/30 seconds. P"Q B.5$9-&# Create a smooth scroll to clear the screen with the following 4row sequence. PQ P"4Q PQ P"4Q PQ P"4Q PQ !" ($5$$89 8.5$.2 ($&#$89 ($C$#$89 ($5($C$89 - ()*++, -.+/ ZiLOG The WAIT command can also be used to control the appearance of two OSD displays in sequence without tying up the master device for the total display time. In the following example, the POPSET mode is used to pop on two sequential menu screens with a built-in pause between the two displays. In this case, the WAIT is placed just before the most recent FLIP command. This condition allows the entire command sequence to be sent to the Z86229 at one time. Because the RDY bit is set by the WAIT command, this condition also allows the FLIP to be input as well. # 1 P"4Q P"-Q P" Q P" Q P"Q P"Q P"Q P"Q P"Q P"Q P"4Q P"Q P"Q P" Q P"Q P"Q P"Q P"-Q P"Q P"Q P"-Q PQ P"-Q P"4Q P"Q P"Q P"-Q P"Q P"Q P"Q P"Q P" Q P"Q P"Q $..8&$#'%.39 RS RCS RS RS RS R8S R.S RS RS RS RS T%T R3S RS R.S RS RS RS RS RS ($ R#S RS RS RSS RS RS R'S R.S RS RS R&S R9S The command sequence would be as follows: # 1 PQ P99Q P99Q P99Q PQ P Q P99Q P99Q P99Q P"Q PQ 4 &22.#94%'22$''': C5$2(&$9 ! ($#'%.3#22$3 $.#9 &$:$.&22.#5$&# #'%.3 B.&# 4 &22.#5%'22$''': C(&$9 Using The Graphics Character Set The following example creates an OSD screen which illustrates several features of the Z86229 including the use of the Graphics character set to generate a large font word. The particular features shown are purely for demonstration purposes and are not intended to suggest a particular application. Using the WAIT Command The WAIT command suspends serial port communications for a period of time. The TEXTSET example above used the WAIT command in two ways: first, to hold a display on-screen for a period of time before taking a second action, and second, it was used to create a smooth scroll by timing the wait to the scroll rate. - %&''2# &$:$.&22.#5$5$ #'%.3 For the sake of brevity, the "text" to be displayed is shown as a string within quotes rather than as the actual command sequences required. Single quotes (` ') signifies standard characters, while double quotes (" ") signifies Double-Wide characters. PQ P"Q P"Q !" %&''2# %& B A&($$ ()*++, -.+/ ZiLOG PQ P"&Q P"Q P"Q P"Q P"Q P"Q P"Q P"Q P".Q P".Q P"Q P"/Q P"Q P"/Q P"Q P"/Q P"Q P"/Q P"#Q PQ PQ %&''2# P"Q ")!&C.$ R<0" !<"S The next group of commands use Graphic Char patterns to make the two row word HELLO. The data byte of the WRITE CHAR command is the address location for the graphic cell required as illustrated in Figure 5. P"/Q P"Q P"Q P -Q P"Q P"Q P"Q P"Q P"Q P"/Q P".Q P"Q P"5/Q P"Q P".Q P"Q P".Q P"Q P"5.Q P"5Q %& B A&($$ "3.&C.$ )$.'C&2#&..C$($ C.#&C.:#.$%$9 RS RS RS RS RS )$.'C&%% )$.'C&%% RS )$.'C&%% RS )$.'C&%% RS )$.'C&%% RS )$.'C&%% )$.'C&%% %&''2# %& B A&($$ "3.&C.$ RS RS RS RS RS )$.'C&%% )$.'C&%% RS )$.'C&%% RS )$.'C&%% RS )$.'C&%% RS )$.'C&%% )$.'C&%% 5%' Manual Row Mapping and Control For most OSD displays, the POPSET, POP ROW SEL, FLIP, TEXTSET, and RETURN commands should be used to control row positioning. TEXTSET mode provides automatic row allocation from the top to bottom of a screen with all rows continuously visible. Additionally, TEXTSET screens have a definable vertical window size and position, allowing support of automatic text scrolling at the bottom of the window. POPSET screens are created in off-screen memory while the previous screen is displaying. Up to 8 rows of characters can be defined. These rows can be mapped to any of 15 display rows using the POP ROW SEL command. Doublehigh rows may also be defined with POP ROW SEL. The FLIP command is then used to "pop-on" up to 8 rows of characters replacing the previous screen. The off-screen rows may be mapped to the same row numbers as the onscreen rows. In some applications, it may be necessary to access the display hardware at a lower level to achieve special screen effects. Examples of these special situations include the following: 1. More than 8 on-screen rows required in a "pop-on" style screen. !" - ()*++, -.+/ ZiLOG 2. Characters must be added dynamically to an on-screen display. is moved to a new display row, the original third row is disabled, and the new third row is mapped and enabled. 3. On-screen rows must be dynamically moved, disabled, or enabled. # The Z86229 supports manual screen mapping and display control commands to handle these special applications. These commands allow each of the 16 physical rows of character memory implemented in the device to be mapped to any of 15 display row positions. Additionally, the 16 physical rows can be set for single or double height and independently enabled and disabled. Manual row mapping and control commands should only be used in the POPSET OSD mode. The procedure for manual row control is as follows: 1. Use the POPSET command to select the OSD pop-up mode. This command prepares the Z86229 for OSD input, clears the row maps, and erases character memory. 2. Select a physical row (0 through 15) using the PHY ROW SEL command. 3. Use the WRITE MAP command to set the display row (1 through 15), Double-High bit, and enable bit of the selected physical row. The CURSOR SET, WRITE CHAR and WRITE CHARD commands are used to position the cursor and write the characters in the selected physical row. A physical row may be re-selected at any time to change its characters, row maps, Double-High mode, or enable status. For example, it may be desirable to load several rows of characters into physical memory without enabling them. All of the rows could then be made to "pop" onto the screen simultaneously by setting their enable bits. The following example uses manual row mapping and control to write three rows of characters. The first row is a Double-High row that is enabled before the characters are sent. This condition allows the characters to "paint" onto the screen as they are received. The second and third row are not initially mapped or enabled when the characters are written. They are then mapped and enabled after a two second pause. A new row is then created off-screen to replace the third row. Finally, after a 2 second pause, the second row -- PQ P"Q P"-Q 1 %& <2# %&'C3&.%$8 .'#'%.3$8./% #(/% P"Q ($$ P"Q )$ (/%B#F RC2#5##'%.3 P"Q %&'C3&.%$8 P"-"Q .'#'%.3$8./% #(/% P"Q %&'$8 P"-Q ./% P" Q %&'$8 P"-+Q .'$8./%#(/% !" ()*++, -.+/ ZiLOG DEMONSTRATION PROGRAMS Communicating with the Z86229 Communications with the Z86229 is accomplished using its serial communications interface. Through hardware setup, this interface can be configured into either of two serial protocols, I2C or SPI. The details of hardware setup have been provided in the Serial Communications Interface section (page 22) and are not dealt with here. It is assumed that the user is familiar with the serial protocol requirements. and LOCK bits are High. This condition indicates that the serial port is ready for further input, that the input video signal was in Field 1 at the time the status was read, and that the part is operating in video-lock mode. The IICO program is exited by entering a Control+C (^C) character. For example, entering the following single byte commands would generate the following: Note: In the following descriptions means press the Enter key. I2C Operation The Z86229 is configurable as an I2C slave device. The PC communicates with the Z86229 through its parallel port. These programs are not intended as examples of how to program the application, but are only provided as a means of illustrating the serial control process and the capability of the Z86229. C'.$ C'.$#'%.32# #&#$!9 C.:C?)$.1#'%.3 2#&#<2$!9 ($C#'%.32# #&#$!9 General Commands IICO Program % C C < ! + 4+C4CC C 44C99944C4C Caption/Text Display Mode Commands IIC Command Byte > The user may enter any valid one-byte command such as FBh (Reset) or 00h (NOP) and then hit the ENTER key. The screen then displays the byte entered and the SS register contents read: IIC Byte = 00 IIC Status = 83h The text above shows that the NOP command was entered. The SS register contents, 83h, indicates that the RDY, FLD, 4+4 C The commands that control most of the display capability of the Z86229 are all one-byte commands which can be entered using the IICO program. These commands are tabulated below for convenience. The three programs available are titled IICO, SCRIPTI, and XDSCAP. These programs have been compiled and run satisfactorily with the Z86229 in a test board. Compiled versions are available on disk. Contact your local ZiLOG sales office for further information on these programs. This program sends one byte to the Z86229 without checking the status of the READY bit. The program returns the contents of the Serial Status (SS) Register after the command has been entered. When the program is active the screen displays: 7 < < < <- !" CPTX Command Code #- C C 4C C C C +C C #11 C -C C C C C " - ()*++, -.+/ ZiLOG XDS & Miscellaneous Display Mode Commands Script Files XDS Command 8 C C C C C -C 7 ?) ?) ?4 ?4 ! ! /* > ! 44 ! 44 ! 44 Note: *Changing the ON/OFF state of the 16-Second Erase Timer has no affect on the current display mode in operation. Script files can be generated to perform all of the setup and control functions required to use the part in an application. The script files that follow are examples of such files used to setup the Z86229 for different operating conditions. Some of the files contain only a single command, while others include several commands. The user should refer to the Command and Registers section for details. Although the following examples are organized according to a particular register, some of the files contain information for several registers. Configuration Register Script Files 1% - SCRIPTI Program This program is designed to send any number of one or twobyte commands to the Z86229. The list of commands to be executed are contained in Script files that have the extension .SER. Examples of such files are presented in the following paragraphs. SCRIPTI can be used to control the display modes in the same manner as the IICO program, except that the one-byte command to be sent must be in a Script file. For example, a file called CC1.SER would contain the onebyte command: 4) 4)*0 4)! 4) " 1 PQ PQ PQ P Q PQ PQ PQ PQ P44Q {17}* send CC1, decoder ON PQ The program is invoked by typing: &5:2 !< .>$:$&%.$ &5:F*=N0= +F*'(%5$' $C#'%.3 &5:/.&>#5.(%. ($C#'%.3&$ C.:#'%.3$:$ N< C.:F'$:$ /.$8$8 &5:$:$<*D C.:*+% " SI File_name Display Register Script Files Note: Enter the file_name without the .SER extension. ! The screen displays: EEG CCD2 Serial Version x.xx 1% - Interface Script Player < Slave Address is 28h < Script File Done < The responding slave address is reported to the screen. When all the commands in the file have been successfully sent to the Z86229, the PC returns to the system prompt. The program checks the RDY status before sending each byte. If, during the entry of a command, the RDY bit is not found to be a "one" after an extended wait, the program reports the contents of the SS register and then continue checking for RDY Script Files. - <" !" 1 PQ #'%.3$:$#5.(% &# PQ #'%.3$:$+F+%( Text Position Register Script Files 1%- < < < < " P44Q P4Q P4"Q P+"Q 1 When the program is invoked the PC screen shows: EEG CCD2 XDS Data Recovery Test Program Version x.xx Slave Address is 28h The responding slave address is reported to the screen. After communication is acknowledged, the program displays all XDS data recovered from those packets that were enabled through the XDS Filter command: {01,03}Current Program{00}{0F,7F}....etc The ASCII characters are shown as ASCII characters while the non-printing characters are displayed by their Hex value within curly braces. Byte pairs, such as Class,Type, are shown as pairs within the curly braces, separated by a comma (that is, {01,03}). Interrupts are disabled when the Interrupt Mask Register has been set to all zeros. Conversely, interrupts are enabled by setting one or more of the active bits to a "1". When enabled, the INTRO signal becomes a "1" when the enabled mask event(s) becomes active. If more than one event has been activated, the Interrupt Request Register must be queried to determine which event has occurred. The DLE and EOF interrupts are cleared at the end of the field in which they occurred. Interrupt Mask Register Script Files 1%- !< !<= ! Note: Enter the file_name without the .SER extension. SPI Command Byte > The screen displays: SPI Command Byte The user may enter any valid one-byte command, such as 00h (NOP), and then hit the ENTER key. The screen then displays the byte entered and the SS register contents as follows: SPI Byte = 00 SPI Return Val = 83h The illustration above shows the NOP command was entered. The SS register contents, 83h, indicates that the RDY, - EEG CCD2 Serial Version x.xx Interface Script Player Script File Done When all the commands in the file have been successfully sent to the Z86229, the PC returns to the system prompt. The program checks the RDY status before sending each byte. If, during the entry of a command, the RDY bit is not found to be a "one", the program reports the contents of the SS register and then continue checking for RDY. !" ()*++, -.+/ ZiLOG APPLICATION INFORMATION The recommended schematic, component placement, and PCB layout for a single-sided DIP design are provided in the following figures. EMI and noise in the video frequency range is kept to an absolute minimum by running the ground plane underneath the entire Z86229 package length. This design is recommended for both SOIC and DIP package styles. Though it is not shown in the following application information, the SMS (pin 6) must be grounded for I2C application. If necessary, please contact your local ZiLOG sales office with any questions regarding this or other information represented in this document. RD GN BOX BL SDO SEN HIN SMS SCK SDAOUT VIN/INTRO VDD(+5V) VIDEO VSS . Z86229 1 C2 9 C5 8 7 C1 R2 C3 SMS BOX VDD HIN 17 12 CA1 LPF CSYNC RREF VIDEO +5V L1 CB1 L1 10 C3 R1 VSS(A) 11 C2 R3 C4 5 R3 SDO R2 6 C4 SEN C1 4 To select 1st I2C Address Figure 29. Z86229 Application Circuit with I2C U1 CB1 I2 C SEL CA1 15 SCK 14 I2C Bus R1 18 2 3 VIN/INTRO C5 SDA R G B 13 Figure 30. Z86229 Application Circuit with I2C Table 22. Recommended Component Values for the Z86229 Application Circuit " + , 2% - 9 9 9 9 9 9 /.# 3 = = 4 4 '4 '4 4 4 4 <+ !;" !" - ()*++, -.+/ ZiLOG PACKAGING INFORMATION Figure 31. 18-Lead DIP Package Diagram Figure 32. 18-Lead SOIC Package Diagram !" ()*++, -.+/ ZiLOG ORDERING INFORMATION ()*++,/+ For fast results, contact your local ZiLOG sales office for assistance in ordering the part required. Package Temperature Speed Environmental D %.& D %.& DUU D 01 D %.&.#.$# Example: Z 86229 12 P S C is a Z86229, 12 MHz, DIP, 0C to + 70C, Plastic Standard Flow Environmental Flow Temperature Package Speed Product Number ZiLOG Prefix !" ()*++, -.+/ ZiLOG Pre-Characterization Product The product represented by this document is newly introduced and ZiLOG has not completed the full characterization of the product. The document states what ZiLOG knows about this product at this time, but additional features or nonconformance with some aspects of the document may be found, either by ZiLOG or its customers in the course of further application and characterization work. In addition, ZiLOG cautions that delivery may be uncertain at times, due to start-up yield issues. Development Projects Customer is cautioned that while reasonable efforts will be employed to meet performance objectives and milestone dates, development is subject to unanticipated problems and delays. No production release is authorized or committed until the Customer and ZiLOG have agreed upon a Product Specification for this product. Low Margin Customer is advised that this product does not meet ZiLOG's internal guardbanded test policies for the specification requested and is supplied on an exception basis. Customer is cautioned that delivery may be uncertain and that, in addition to all other limitations on ZiLOG liability stated on the front and back of the acknowledgment, ZiLOG makes no claim as to quality and reliability according to the Data Sheet. The product remains subject to standard warranty for replacement due to defects in materials and workmanship. Document Disclaimer (c)2001 by ZiLOG, Inc. All rights reserved. Information in this publication concerning the devices, applications, or technology described is intended to suggest possible uses and may be superseded. ZiLOG, INC. DOES NOT ASSUME LIABILITY FOR OR PROVIDE A REPRESENTATION OF ACCURACY OF THE INFORMATION, DEVICES, OR TECHNOLOGY DESCRIBED IN THIS DOCUMENT. ZiLOG ALSO DOES NOT ASSUME LIABILITY FOR INTELLECTUAL PROPERTY INFRINGEMENT RELATED IN ANY MANNER TO USE OF INFORMATION, DEVICES, OR TECHNOLOGY DESCRIBED HEREIN OR OTHERWISE. Devices sold by ZiLOG, Inc. are covered by warranty and limitation of liability provisions appearing in the ZiLOG, Inc. Terms and Conditions of Sale. ZiLOG, Inc. makes no warranty of merchantability or fitness for any purpose. Except with the express written approval of ZiLOG, use of information, devices, or technology as critical components of life support systems is not authorized. No licenses are conveyed, implicitly or otherwise, by this document under any intellectual property rights. !"