ZILOG Z87L01

PRELIMINARY CUSTOMER PROCUREMENT SPECIFICATION
1
Z87001/Z87L01
1
ROMLESS SPREAD SPECTRUM
CORDLESS PHONE CONTROLLER
FEATURES
Device
ROM *
(KWords)
Z87001
Z87L01
64
64
RAM
I/O
(Words) Lines
512
512
32
32
Package
Information
■
144-Pin QFP
144-Pin QFP
Note: *Maximum accessible external ROM
■
■
Transceiver/Controller Chip Optimized for Implementation of 900 MHz Spread Spectrum Cordless Telephone
– Adaptive Frequency Hopping
– Transmit Power Control
– Error Control Signaling
– Handset Power Management
– Support of 32 kbps ADPCM Speech Coding for
High Voice Quality
DSP Core Acts as Phone Controller
– Zilog-Provided Embedded Transceiver Software to
Control Transceiver Operation and Base StationHandset Communications Protocol
– User-Modifiable Software Governs Telephone
Features
Transceiver Circuitry Provides Primary Cordless Phone
Communications Functions
– Digital Downconversion with Automatic Frequency
Control (AFC) Loop
– FSK Demodulator
– FSK Modulator
–
–
Symbol Synchronizer
Time Division Duplex (TDD) Transmit and Receive
Buffers
■
On-Chip A/D and D/A to Support 10.7 MHz IF Interface
■
Up to 64 Kw of External Program Memory Accessible by
the DSP Core
■
Bus Interface to Z87010 ADPCM Processor
■
Static CMOS for Low Power Consumption
■
3.0V to 3.6V, -20°C to +70°C, Z87L01
4.5V to 5.5V, -20°C to +70°C, Z87001
■
16.384 MHz Base Clock
GENERAL DESCRIPTION
The Z87001 /Z87L01 FHSS Cordless Telephone Transceiver/Controller is expressly designed to implement a 900
MHz frequency hopping spread spectrum cordless telephone compliant with US FCC regulations for unlicensed
operation. The Z87001 and Z87L01 are distinct 5V and
3.3V versions, respectively, of the core device. For the
sake of brevity, all subsequent references to the Z87001 in
this document also apply to the Z87L01 unless specifically
noted.
The Z87001 is the ROMless version of the Z87000 Spread
Spectrum Controller IC. Specifically intended to facilitate
user specific software development, the Z87001 can access up to 64 kwords of external program ROM.
DS96WRL0800
The Z87001 supports a specific cordless phone system
design that uses frequency hopping and digital modulation
to provide extended range, high voice quality, and low system costs.
The Z87001 uses a Zilog 16-bit fixed-point two’s complement static CMOS Digital Signal Processor core as the
phone and RF section controller. The Z87001’s DSP core
processor further supports control of the RF section’s frequency synthesizer for frequency hopping and the generation of the control messages needed to coordinate incorporation of the phone’s handset and base station. Additional
on-chip transceiver circuitry supports Frequency Shift Keying modulation/demodulation and multiplexing/demulti-
PRELIMINARY
1
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
GENERAL DESCRIPTION (Continued)
plexing of the 32 kbps voice data and 4 kbps command
data between handset and base station. The Z87001 provides thirty-two I/O pins, including four wake-up inputs and
two CPU interrupt inputs. These programmable I/O pins allow a variety of user-determined phone features and board
layout configurations. Additionally, the pins may be used
so that phone features and interfaces are supported by an
optional microcontroller rather than by the Z87001’s DSP
core.
In combination with an RF section designed according to
the system specifications, Zilog’s Z87010/Z87L10 ADPCM
Processor, a standard 8-bit PCM telephone codec and
minimal additional phone circuity, the Z87001 and its embedded software provide a total system solution.
Codec
Codec
Z87010
ADPCM
Processor
Z87001
Spread
Spectrum
Controller
RF Section
RF Section
Z87001
Spread
Spectrum
Controller
Z87010
ADPCM
Processor
Telephone
Line
Interface
Handset
Base Station
Figure 1. System Block Diagram of a Z87001/Z87010 Based Phone
2
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
RX
VREF
ADC
(1-bit)
TX
DAC
(4-bit)
FSK Demodulator
(downconverter, limiter discriminator,
AFC, bit sync, frame sync, SNR
detector)
Receive
Rate
Buffer
256 Word
RAM 0
RSSI
ADC
(8-bit)
PWLV
DAC
(4-bit)
Frame Counter(s),
Event Trigger,
T/R Switch Ctrl,
Power On/Off Ctrl,
Antenna Select
256 Word
RAM 1
1
CLKOUT
CODCLK
Transmit
Rate
Buffer
FSK Modulator
RXSW
TXSW
PAON
RFEON
SYLE
Z87010
Interface
VXDATA[7..0]
VXADD[2..0]
VXSTRB
VXRWB
VXRDYB
Port 0
P0[15..0]
Port 1
P1[15..0]
Analog
Power
Addr[15..0]
Data[15..0]
AVDD
AGND
Digital
Power
VDD
GND
DSP Core
ANT0
ANT1
HBSW
RESETB
TEST
Figure 2. Z87001 Functional Block Diagram
DS96WRL0800
PRELIMINARY
3
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
VXRDYB
GND
VXRWB
iaddr4
VXSTRB
eib
VXADD2
iaddr3
VDD
trice
iaddr2
iaddr1
VXADD1
iaddr0
VXADD0
irwb
CODCLK
intenb
RESETB
halt
GND
VDD
MCLK
triadd
dspclk
PAON
SYLE
RXSW
TXSW
addr14
addr15
109
1
Z87001
73
37
VXDATA0
data0
VXDATA1
data1
VXDATA2
data2
VDD
VXDATA3
data3
VXDATA4
data4
VXDATA5
data5
VXDATA6
VXDATA7
data6
CLKOUT
data7
HBSW
data8
GND
TEST
VDD
data9
ANT0
data10
ANT1
data11
P00
P01
data12
GND
data13
P02
data14
P03
P14
idata13
P13
idata12
P12
idata11
GND
P11
idata10
P10
idata9
P015
idata8
P014
VDD
idata7
P013
idata6
P012
idata5
P011
P010
idata4
GND
idata3
P09
idata2
P08
P07
idata1
P06
VDD
idata0
P05
data15
P04
TX
AGND
RX
AVDD
VREF
RFEON
addr12
P115
addr11
GND
addr10
P114
addr9
P113
addr8
P112
addr7
VDD
addr6
P111
addr5
P110
addr4
P19
addr3
GND
addr2
P18
addr1
P17
addr0
P16
idata15
VDD
idata14
P15
addr13
AVDD
RSSI
PWLV
AGND
PIN DESCRIPTION
Figure 3. 144 Pin QFP Pin Configuration
4
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
Table 1. 144 Pin QFP Pin Configuration
No
1
2,141
3
4,144
5
6
7,9,11,13,15,17,19,
21,23,25,27,29,31,
136,138,140
8,12,14,16,20,22,24,
28,30,32,36,37,39,
41,44,46
10,26,43,60,77,88,
109,128
18,34,51,68,86,102,
116,131
33,35,38,40,42,45,
47,49,52,54,56,59,
61,63,66,69
48,50,53,55,57,58,
62,64,65,67,70,72,
73,75,79,80
71,74,76,78,81,83,
85,89,91,93,96,98,
100,103,105,107
82,84
87
90
92
94,95,97,99,101,
104,106,108
110
111
112
113,117,119,121,
123
114
115
118,120,122
124
125
126
127
DS96WRL0800
Symbol
TX
AGND
RX
AVDD
VREF
RFEON
addr[15..0]
P1[15..0]
Function
Direction
Analog transmit IF signal
Analog ground
Analog receive IF signal
Analog power supply
Output
–
Input
–
Analog reference voltage for RX signal
RF on/off control
DSP core program address bus
–
Output
Output
General-purpose I/O port 1
Input/Output
GND
Digital ground
–
VDD
Digital power supply
–
idata[15..0]
DSP core internal data bus
Output
P0[15..0]
General-purpose I/O port 0
Input/Output
data[15..0]
DSP core program data bus
Input
ANT[1..0]
TEST
HBSW
CLKOUT
VXDATA[7..0]
VXRDYB
eib
VXSTRB
iaddr[4..0]
VXRWB
trice
VXADD[2..0]
CODCLK
irwb
/RESETB
intenb
RF antenna diversity control
Test mode select
Handset/base mode select
Clock, ADPCM processor (16.384 MHz)
ADPCM processor data bus
Output
Input
Input
Output
Input
ADPCM processor ready
External register data strobe
ADPCM processor data strobe
External register address bus
Output
Output
Input
Output
ADPCM processor read/write control
ROMless mode select
ADPCM processor address bus
Clock to codec (2.048 MHz)
External register read/write control
Master reset
Interrupt enable
Input
Input
Input
Output
Output
Input
Input
PRELIMINARY
1
5
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
PIN DESCRIPTION (Continued)
Table 1. 144 Pin QFP Pin Configuration
No
129
130
132
133
134
135
137
139
142
143
6
Symbol
halt
MCLK
triadd
PAON
dspclk
SYLE
RXSW
TXSW
PWLV
RSSI
Function
Halt/ single step control
Master clock (16.384 MHz)
Program address bus enable
RF transmit enable
DSP core clock
RF synthesizer load enable
Demodulator “on” indication
RF receive enable
RF transmit power level
RF receive signal strength indicator
PRELIMINARY
Direction
Input
Input
Input
Output
Output
Output
Output
Output
Input
Input
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
ABSOLUTE MAXIMUM RATINGS
Symbol Parameter
Min
Max
Units
VDD, AVDD DC Supply
Voltage(1)
VIN
Input Voltage(2)
-0.5
7.0
V
-0.5 VDD + 0.5
V
VOUT
Output Voltage(3)
-0.5 VDD + 0.5
V
TA
Operating
Temperature
Storage
Temperature
-20
+70
°C
-65
+150
°C
TSTG
Stresses greater than those listed under Absolute Maximum Ratings may cause permanent damage to the device. This is a stress rating only; operation of the device at
any condition above those indicated in the operational sections of these specifications is not implied. Exposure to absolute maximum rating conditions for extended period may
affect device reliability.
Notes:
1. Voltage on all pins with respect to GND.
2. Voltage on all inputs WRT VDD
3. Voltage on all outputs WRT VDD
STANDARD TEST CONDITIONS
The electrical characteristics listed below apply for the following standard test conditions, unless otherwise noted.
All voltages are referenced to GND. Positive current flows
into the referenced pins. Standard test conditions are as
follows:
■
3.0V < VDD < 3.6V (Z87L01)
■
4.5V < VDD < 5.5V (Z87001)
■
GND = 0V
■
TA = -20 to +70 °C
IoL
Output
Under
Test
Threshold
Voltage
50pF
IoH
Figure 5. Test Load Diagram
DS96WRL0800
PRELIMINARY
7
1
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
RECOMMENDED OPERATING CONDITIONS
Table 3. 5V ± 0.5V Operation (Z87001)
Symbol
Parameter
Min
Max
Units
VDD, AVDD
Supply Voltage
4.5
5.5
V
VIH
Input High Voltage
2.0
VDD + 0.3
V
VIL
Input Low Voltage
GND -0.3
0.8
V
IOH
Output High Current
-2.0
mA
IOHICE
Output High Current, ICE pins (1)
-0.5
mA
IOL1
Output Low Current
4.0
mA
IOL2
Output Low Current, GPIO (limited usage, 2)
12.0
mA
IOLICE
Output Low Current, ICE pins (1)
0.5
mA
TA
Operating Temperature
+70
°C
-20
Notes:
1. ICE pins are addr[15..0], iaddr[15..0], idata[15..0], eib and irwb
2. Maximum 3 pins total from P0[15..0] and P1[15..0]
Table 4. 3.3V ± 0.3V Operation (Z87L01)
Symbol
Parameter
Min
Max
Units
3.0
3.6
V
VDD
Supply Voltage
VIH
Input High Voltage
0.7 VDD
VDD+0.3
V
VIL
Input Low Voltage
GND -0.3
0.1 VDD
V
IOH
Output High Current
-1.0
mA
IOHICE
Output High Current, ICE pins (1)
-0.5
mA
IOL1
Output Low Current
2.0
mA
IOL2
Output Low Current, Ports (limited usage, 2)
6.0
mA
IOLICE
Output Low Current, ICE pins (1))
0.5
mA
TA
Operating Temperature
+70
°C
-20
Notes:
1. ICE pins are addr[15..0], iaddr[15..0], idata[15..0], eib and irwb
2. Maximum 3 pins total from P0[15..0] and P1[15..0]
8
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
DC ELECTRICAL CHARACTERISTICS
Conditions for DC characteristics are corresponding operating conditions, and standard test conditions, unless otherwise specified.
1
Table 5. 5V ± 0.5V Operation (Z87001)
Symbol
Parameter
Test Condition
Min
VOH
Output High Voltage
VDD min, IOH max
2.4
V
VOHICE
Output High Voltage, ICE pins (1) VDD min, IOHICE max
2.4
V
VOL1
Output Low Voltage
VDD min, IOL1 max
0.6
V
VOL2
Output Low Voltage, GPIO (2)
VDD min, IOL2 max
1.2
V
VOLICE
Output Low Voltage, ICE pins (1) VDD min, IOLICE max
0.4
V
IL
Input Leakage
2
µA
ICC
Supply Current
80
mA
ICC2
Standby Mode Current (3)
4
mA
Max
Units
VIN = 0V, VDD
-2
Max
Units
Notes:
1. ICE pins are addr[15..0], iaddr[15..0], idata[15..0], eib and irwb
2. Maximum 3 pins total from P0[15..0] and P1[15..0]
3. 2.3 mA typical at 25°C, 5 volts.
Table 6. 3.3V ± 0.3V Operation (Z87L01)
Symbol
Parameter
Test Condition
Min
VOH
Output High Voltage
VDD min, IOH max
1.6
V
VOHICE
Output High Voltage, ICE pins (1)VDD min, IOHICE max
VOL1
Output Low Voltage
VDD min, IOL1 max
0.4
V
VOL2
Output Low Voltage, Ports(2)
VDD min, IOL2 max
1.2
V
VOLICE
Output Low Voltage, ICE pins (1) VDD min, IOLICE max
0.4
V
IL
Input Leakage
2
µA
ICC
Supply Current
55
mA
ICC2
Standby Mode Current(2)
VIN = 0V, VDD
1.6
-2
1.4
V
mA
Notes:
1. ICE pins are addr[15..0], iaddr[15..0], idata[15..0], eib and irwb
2. Maximum 3 pins total from P0[15..0] and P1[15..0]
3. 1.6 mA typical at 25°C, 3.3 volts.
DS96WRL0800
PRELIMINARY
9
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
ANALOG CHARACTERISTICS
Table 7. 1-Bit ADC (Temperature: -20/+70°C)
Parameter
Resolution
Power dissipation
Power dissipation, Stop mode
Sample frequency
Sample window(1)
Bandwidth
Supply Range(=AVDD)
Z87L01
Z87001
Acquisition time
Settling time
Conversion time
Aperture delay
Aperture uncertainty(2)
Input voltage range (p-p)
Reference voltage
Z87L01
Z87001
Input resistance
Input capacitance
Minimum
Typical
Maximum
Units
0.54
(70°c)
0.06
(70°c)
29
-
1
1.0
(40°c)
0.2
(40°c)
8.192
31
60
2.75
(-20°c)
1.1
(-20°c)
33
-
bit
mW
MHz
ns
MHz
3.6
5.5
V
V
8
18
18
8.5
0.5
1200
ns
ns
ns
ns
ns
mV
3.0
4.5
2
8
4
2
800
3
10
6
3
1000
1.7 (AVDD= 3V) 1.9 (AVDD= 3.3V) 2.1 (AVDD= 3.6V)
2.7 (AVDD=4.5V) 3.0 (AVDD= 5V) 3.3 (AVDD= 5.5V)
10
-
18
10
25
-
mW
V
V
KOhm
pF
Notes:
Window of time while input signal is applied to sampling capacitor; see next figure.
Uncertainty in sampling time due to random variations such as thermal noise.
10
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
1
CLK (16.384MHz)
Aperture
Delay
Sampling
SAMPLING
WINDOW
Latched
Output
INPUT
SIGNAL
Settling + Conversion
Time (for
Time
digital output)
Acquisition
Time
Figure 6. 1-Bit ADC Definition of Terms
Table 8. 8-bit ADC (Temperature -20/+70°C)
Parameter
Resolution
Integral non-linearity
Differential non-linearity
Power Dissipation (peak)
Sample window
Bandwidth
Supply Range (=AVDD)
Z87L01
Z87001
Input voltage range
Conversion time
Aperture delay
Aperture uncertainty
Input resistance
Input capacitance
Minimum
Typical
Maximum
Units
5
-
6
0.5
35
-
1
0.5
70
120
2
bit
LSB
LSB
mW
ns
Msps
3.0
4.5
3.3
5.0
3.6
5.5
V
V
8.5
1
-
µs
ns
ns
Kohm
pF
0-AVDD
0.5
2
-
3
25
10
V
Notes:
1. 8-bit ADC only tested for 6-bit resolution.
DS96WRL0800
PRELIMINARY
11
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
Table 9. 4-bit DAC (Temperature: -20/+70°C)
Parameter
Resolution
Integral non-linearity
Differential non-linearity
Settling time (1/2 LSB)
Zero error at 25°C
Conversion time (input change to output change)
Power dissipation, 25 pF load
Power dissipation, 25 pF load, Stop mode
Conversion time (input change to output change)
Rise time (full swing)
Output slew rate
Output voltage range
Supply Range (=AVDD)
Z87L01
Z87001
Output load resistance
Output load capacitance
12
Minimum
Typical
Maximum
Units
14
1.2
(70°c)
0.18
(70°c)
14.5
11
8
-
4
0.25
0.25
1
19
20
(40°c)
1.0
(40°c)
19.1
15
67
0.2 AVDD to 0.6AVDD
0.5
1
22.5
2
76
24.1
(-20°c)
1.1
(-20°c)
75.8
71
96
-
bit
LSB
LSB
ns
mV
ns
mW
ns
ns
V/µs
V
3.0
4.5
3.3
5.0
3.6
5.5
V
V
-
330
25
-
Ohm
pF
PRELIMINARY
mW
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
INPUT/OUTPUT PIN CHARACTERISTICS
All digital pins (all pins except VDD, AVDD, GND, AGND,
VREF, RX, TX, RSSI and PWLV) have an internal capacitance of 5 pF.
The RX analog input pin has an input capacitance of 10
pF.
The RSSI analog input pin has an input capacitance of 10
pF.
AC ELECTRICAL CHARACTERISTICS
Clocks, Reset and RF Interface
Table 10. Clocks, Reset and RF Interface
No.
1
2
3
4
5
6
7
Symbol
TpC
TwC
TrC, TfC
TrCC, TfCC
TrCO, TfCO
TwR
TrRF, TfRF
Parameter
MCLK input clock period (1)
MCLK input clock pulse width
MCLK input clock rise/fall time
CLKOUT output clock rise/fall time
CODCLK output clock rise/fall time
RESETB input low width
RF output controls rise/fall time (2)
Min
Max
Units
61
20
61
40
15
6
6
ns
ns
ns
ns
ns
TpC
ns
2
2
18
2
6
Notes:
1. MCLK is 16.384 MHz ± 25 ppm
2. RF Controls are PAON, TXSW, RFEON, SYLE.
DS96WRL0800
PRELIMINARY
13
1
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
ADPCM Processor Interface
The Z87001 is a peripheral device for the ADPCM Processor. The interface from the Z87001 perspective is composed of an input address bus, a bidirectional data bus,
strobe and read/write input control signals and a
ready/wait output control signal.
Zilog
READ CYCLES refer to data transfers from the Z87001 to
the ADPCM Processor.
WRITE CYCLES refer to data transfers from the ADPCM
Processor to the Z87001.
Table 11. Read Cycles
Signal Name
Function
Direction
VXADD[2..0]
VXDATA[7..0]
VXSTRB
VXRWB
VXRDYB
Address Bus
Data Bus
Strobe Control Signal
Read/Write Control Signal
Ready Control Signal
ADPCM Proc. to Z87001
Bidirectional
ADPCM Proc. to Z87001
ADPCM Proc. to Z87001
Z87001 to ADPCM Proc.
Table 12. Write Cycles
No.
Symbol
8
9
10
11
12
13
14
15
16
TsAS
ThSA
TaDrS
ThDrS
TwS
TsDwS
ThDwS
TaDrRY
TdSRY
Parameter
Address, Read/Write setup time before Strobe falls
Address, Read/Write hold time after Strobe rises
Data read access time after Strobe falls
Data read hold time after Strobe rises
Strobe pulse width
Data write setup time before Strobe rises
Data write hold time after Strobe rises
Data read valid before Ready falls
Strobe high after Ready falls
Min
Max
Units
30 (1)
40 (2)
ns
ns
ns
ns
10
3
8.5
20
10
3
22
0
ns
ns
ns
ns
Notes:
1. Requires wait state on ADPCM Processor read cycles
2. Requires no write cycle directly following read cycle on ADPCM Processor
14
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
AC TIMING DIAGRAMS
1
TwC(2)
MCLK
TrC(3)
TfC(3)
TpC (1)
CLKOUT
TrCC(4)
TfCC(4)
TrCO(5)
TfCO(5)
CODCLK
1
2
3
4
16
17
18
MCLK
RESETB
TwR(6)
PAON
TXSW
RXSW
RFEON
SYLE
TrRF(7)
TfRF(7)
Figure 7. Transceiver Output Signal
DS96WRL0800
PRELIMINARY
15
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
TsAS(8)
ThSA(9)
VXADD
VXRWB
VXSTRB
TaDrS(10)
ThDrS(11)
VXDATA
VXRDYB
VXDATA Read Cycle
TsAS(8)
ThSA(9)
VXADD
VXRWB
TwS(12)
VXSTRB
ThDwS(14)
TsDwS(13)
VXDATA
VXRDYB
VXDATA Write Cycle
Figure 8. Read/Write Cycle TImings
16
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
TsAS(8)
ThSA(9)
1
VXADD
VXRWB
VXSTRB
ThDrS(11)
VXDATA
TaDrRY(15)
TdSRY(16)
VXRDYB
VXDATA Read Cycle with Wait State
TsAS(8)
ThSA(9)
VXADD
VXRWB
TwS(12)
VXSTRB
ThDwS(14)
TsDwS(13)
VXDATA
TdSRY(16)
VXRDYB
VXDATA Write Cycle with Wait State
Figure 9. Read/Write Cycle Timing with Wait StatE
DS96WRL0800
PRELIMINARY
17
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
PIN FUNCTIONS
VDD. Digital power supply.
CLKOUT (output). Clock output for external ADPCM processor.
GND. Digital ground.
CODCLK (output). Clock output for external voice codec.
AVDD. Analog power supply.
/RESETB (input, active low). Reset signal.
AGND. Analog ground.
VREF (analog reference). This signal is the reference voltage used by the high speed analog comparator to sample
the RX input signal.
RX (analog input). This is the RX IF receive signal from
the RF module, input to the analog comparator and FSK
demodulator. It is internally biased to the VREF DC voltage.
The IF signal from the RF module should be AC coupled
to the RX pin.
TX (analog output). This is the IF transmit signal to the RF
module, output from the FSK modulator and transmit 4-bit
D/A converter.
RXSW (output; active high or low programmable). This
pin reflects the programming of the demodulator turn-on
time.
TXSW (output; active high or low programmable). Control for the receive switch on the RF module. Active during
receive periods.
PAON (output; active high or low programmable). Control for the transmit switch on the RF module. Active during
transmit periods.
RFEON (output; active high or low programmable).
On/off control for the RF module. Active (on) during wake
periods. Inactive (off) during sleep periods on the handset.
RSSI (analog input). Receive signal strength indicator
from RF module, input to the RSSI 8-bit ADC.
PWLV (analog output). Power level control for RF module,
output from the transmit power 4-bit DAC.
SYLE (output). RF synthesizer load enable: latches new
frequency hopping control word of external RF synthesizer. Programmable polarity.
ANT[1..0] (output). Control for optional antenna diversity
on the RF module.
MCLK (input). Master clock input.
18
VXADD[2..0] (input). Address bus controlled by external
ADPCM processor. The Z87001 acts as peripheral of the
Z87010 ADPCM processor.
VXDATA[7..0](input/output). Read/write data bus controlled by external Z87010 ADPCM processor.
VXSTRB (input). Data strobe signal for the VXDATA bus,
controlled by external Z87010.
VXRWB (input). Read/write control for the VXDATA bus,
controlled by external Z87010.
VXRDYB (output, active low). Ready control for the VXDATA bus. This signal is driven high (de-asserted) by the
Z87001 to insert wait states in the Z87010 ADPCM processor accesses.
TEST (input, active high). Main test mode control. Must be
set to GND.
HBSW (input with internal pull-up). Control for handset/base configuration. Must be driven high or not connected for handset, low for base.
P0[15..0] (input/output). General-purpose I/O port. Direction is bit-programmable. Pins P0[3..0],when configured in
input mode, can also be individually programmed as wakeup pins for the Z87001 (wake-up active low; signal internally debounced and synchronized to the bit clock).
P0 0
P0 1
P0 2
P0 3
WAKEUP0
WAKEUP1
WAKEUP2
WAKEUP3
P1[15..0] (input/output).General-purpose I/O port. Direction is bit-programmable. Pins P114 and P115, when configured in input mode, also behave as individually
maskable interrupt pins for the core processor (positive
edge-triggered).
P1 14
P1 15
PRELIMINARY
INT0
INT2
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
FUNCTIONAL DESCRIPTION
The functional partitioning of the Z87001 is shown in Figure 2. The chip consists of a receiver, a transmitter, and
several additional functional blocks.The receiver consists
of the following blocks:
■
Receive 1-bit ADC
■
Demodulator, including:
– IF Downconverter
– AFC (Automatic Frequency Control)
– Limiter-Discriminator
– Matched Filter
– Bit Synchronizer
– Bit Inversion
– Frame Synchronizer (unique word detector)
– SNR Detector
■
Receive Frame Timing Counter
■
Receive Buffer and Voice Interface
The Transmitter Consists of the Following Blocks:
■
Transmit 4-Bit DAC
In Addition, there are the following Shared Blocks.
■
Event Trigger Block, Controlling:
– Transmit/Receive Switch
– Power On/Off Switches (Modulator, Demodulator,
RF Module)
– Antenna Switch Control (used on Base Station
only for Antenna Diversity)
■
4-Bit DAC for Setting Transmit Power Level
■
8-Bit ADC for Sampling the Received Signal Strength
Indicator (RSSI)
■
DSP Core Processor
■
Two 16-Bit General-Purpose I/O Ports
■
Z87010 ADPCM Processor Interface
Basic Operation
■
Transmit Buffer and Voice Interface
■
Transmit Frame Timing Counter (used on base station
only)
■
Modulator, including:
– NCO
– Bit Inversion
The transmitter and receiver operate in time-division duplex (TDD): handset and base station transmit and receive
alternately. The TDD duty cycle lasts 4 ms and consists of
the following events:
■
At the beginning of the cycle, the frequency is changed
(hopping)
■
The base station transmits a frame of 144 bits while the
handset receives
■
The handset then transmits a frame of 148 bits while the
base receives.
4ms frame
HOP
148 bits
144 bits
BASE
TX
Frequency
Hopping
guard time
HANDSET
RX
TDD switching
guard time
RX
TX
Figure 1. Basic Time Duplex Timing
19
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
Receive 1-Bit ADC
Demodulator
The incoming receive signal at the RX analog input pin is
sampled by a 1-bit analog-to-digital converter at 8.192
MHz.
The demodulator includes a two-stage IF downconverter
that brings the sampled receive signal to baseband.
The receive signal is FSK-modulated (Frequency Shift
Keying) with a carrier frequency of 10.7 MHz (Intermediate
Frequency, or IF). The instantaneous frequency varies between 10.7 MHz plus or minus 32.58 kHz. Since the data
rate is 93.09 kbps, there are 88 samples per data bit. This
oversampled data is further processed by the demodulator
to retrieve the baseband information.
The 1-bit converter is implemented with a fast comparator,
which determines whether the RX signal is larger or smaller than a reference signal (VREF). The Z87001 internally
generates the DC level of both VREF and RX input pins.
The received signal at 10.7 MHz should thus be AC coupled to the RX pin via a coupling capacitor. To ensure accurate operation of the converter, the user should also attach to the VREF pin a network whose impedance
matches the DC impedance seen by the RX pin.
The narrow-band 10.7 MHz receive signal, sampled at
8.192 MHz by the 1-bit ADC, provides a 2.508 MHz useful
image. The first local oscillator used to downconvert this IF
signal is obtained from a Numerically Controlled Oscillator
(NCO) internal to the Z87001, at the nominal frequency of
460 kHz. The resulting signal is thus at 2.048 MHz (= 2.508
MHz - 460 kHz). A second downconversion by a 2.048
MHz signal brings the receive signal to baseband.
The exact frequency of the 460 kHz NCO is slightly adjusted by the Automatic Frequency Control (AFC) loop for exact downconversion of the end signal to the zero frequency. The AFC circuit detects any DC component in the
output of the limiter-discriminator (see below) when receiving a known sequence of data (preamble). This DC component is called the “frequency bias”. The bias estimate
out of the AFC can be read by the DSP processor on every
frame and subsequently filtered. The processor then adds
or subtract this filtered bias to/from the NCO control word
to correct the NCO frequency output.
SNR
SSB
Rx signal
1-bit
ADC
Filter
460 kHz
+ bias
LimiterDiscriminator
Bit
Sync
2.048 MHz
Frame
Sync
Rx
Buffer
NCO
AFC
Figure 2. Demodulator Block Diagram
The main element of the demodulator is its limiter-discriminator. The limiter-discriminator detects the frequency variations (ideally up to ± 32.58 kHz) and converts them to “0”
or “1” information bits. First, the data is processed through
low-pass filters to eliminate high frequency spurious components introduced by the 1-bit ADC. The resulting signal
is then differentiated and fed to a matched filter. In the
matched filter, an integrate-and-dump operation is performed to extract the digital information from its background noise.
The symbol clock is provided by the bit synchronizer. The
bit synchronizer circuit detects 0-to-1 and 1-to-0 transitions
20
in the incoming data stream in order to synchronize a digital phase-lock loop (DPLL). The PLL output is the recovered bit clock, used to time the receiver on the base station, and both receiver and transmitter on the handset.
To ensure enough transitions in the voice data stream, a
pseudo-random bit inversion operation is performed on the
outgoing voice data. The inversion is then reversed on the
demodulated data.
Since the data is packed in frames sent alternately from
base and handset every 4 ms (TDD), additional synchronization means are necessary. This is realized in a frame
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
FUNCTIONAL DESCRIPTION (Continued)
synchronizer, based on detection of a “unique word” following the preamble.
The receiver also features a signal-to-noise ratio detector,
which allows the DSP software to detect noisy channels
and eliminate them from the frequency hopping cycle. The
SNR information is also used by the Z87001 software as a
measure the current range between handset and base station. This information allows the adaptive power control algorithm to provide sufficient output power to the RF transmitter.
Receive Frame Counter
The receive frame counter is responsible to keep track of
time within the frame. It is initialized by the frame synchronizer logic on detection of the unique word. It is then
clocked by the recovered bit clock from the bit synchronizer.
On the base station, the receive frame counter is used as
time base for the receiver. On the handset, it is used as
time base for both receiver and transmitter.
Receive Rate Buffer and Voice Interface
The voice signal is generated at the fixed rate of 32 kips by
the Z87010 processor, and transmitted/received in bursts
of 93.09 kips across the air. Data buffers in the transmitter
and receiver are thus necessary to absorb the rate differences over time. These buffers are called “rate buffers”.
They can store up to 144 data bits and are organized as an
array of 36 4-bit nibbles.
The receive rate buffer stores the received data from the
demodulator. Incoming bits are arranged in 4-bit nibbles
and transferred to successive locations of the rate buffer.
When the last location is reached, transfers resume from
the beginning (circular buffer). The system design guarantees that no buffer overrun nor enduring can occur.
The receive rate buffer can be read by the DSP core processor of the Z87001 or by the Z87010 chip. On the
Z87001 side, the buffer can be read as a random-access
memory: the processor writes the nibble address in an address register and reads the 4-bit data from a data register.
On the Z87010 side, a voice processor interface logic handles the addressing to automatically present the successive voice nibbles to the Z87010 in the order they were received.
21
Transmit Rate Buffer and Voice Interface
The transmit rate buffer stores the data to be modulated.
The data is sourced from the Z87010 or the Z87001 core
processor. As for the receive rate buffer, the Z87010 sees
a unique pipe to write to, while the Z87001 DSP core accesses the rate buffer as random-access memory. The
modulator reads from the rate buffer as from a circular
buffer.
Transmit Frame Timing Counter
On the handset, transmission does not start until the receiver has synchronized itself to the signal received from
the base station. The transmission timing is based on the
recovered clock. No additional counter is necessary.
On the base station, the situation is different. Transmission
timing is based on a local clock, while the reception’s timing is based on the clock recovered from the incoming received signal. Two counters, respectively clocked by local
and recovered clocks, are necessary to track the transmit
and receive signals.
Note that the receive clock on the base station tracks the
handset’s transmit clock, which is also the handset’s receive clock and tracks the transmit clock of the base station. As a result, receive and transmit clocks of the base
station have exactly the same frequency; only their phases
differ.
Modulator
The modulator consists of a numerically controlled oscillator (NCO) which generates an FSK (Frequency Shift Keying) signal at the carrier frequency of 2.508 MHz. The carrier frequency is shifted plus or minus 32.58 kHz for a “1”
or a “0” data bit. To facilitate conformance to FCC regulations, the transitions from “1” to “0” or vice-versa are
smoothed in order to decrease the amplitude of the side
lobes of the transmit signal. In practice, the jump from one
frequency to the next is performed in several smaller
steps.
The carrier frequency is adjustable by the DSP core processor in order to provide additional frequency adjustment
between base and handset. This is provided in case of a
frequency offset too large for possible correction by the
AFC.
The modulator also includes bit inversion logic as discussed in the receiver section.
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
Tx signal
4-bit DAC
Tx Buffer
NCO
Spectral
Shaping
Figure 3. Modulator Block Diagram
Transmit 4-Bit DAC
The transmit DAC clocks one new NCO value out of the
Z87001 every 8.192 MHz period. Only the 10.7 MHz alias
frequency component of the transmit signal (2.508 + 8.192
MHz image) is filtered, amplified and upconverted to the
900 MHz ISM band by the companion RF module.
Event Trigger Block
The event trigger block is responsible for scheduling the
different events happening at the bit and frame levels. The
event trigger block receives input from the frame counters
as well as the register interface of the DSP core processor.
rectly controlled by the Z87001 software through an output
register.
8-Bit ADC for Sampling the Received Signal
Strength Indicator (RSSI)
RSSI information is typically generated from the last stage
of the RF receiver. The RSSI is sampled once per frame
by the 8-bit ADC and used by the Z87001 software to compute the necessary Transmit Power Level voltages.
DSP Core Processor
The event trigger schedules the following events:
A DSP core processor constitutes the heart of the Z87001.
The DSP runs the application software which performs the
following functions:
■
Start of the 4 ms frame: a synthesizer load enable pulse
is issued on the SYLE pin
■
Register initialization
■
■
Power-up of the modulator section and transmission of
the frame on handset and base station
Implementation of high-level phone features; control of
phone user interface (keypad, Led, etc.)
■
Control of the Z87010 ADPCM Processor
■
Use of the bit inversion as function of mode
■
Control of the phone line interface
■
Power-up of the demodulator section and reception of
the frame on handset and base station
■
Ring detection by DSP processing
■
Communication protocol between handset and base
station supporting voice and signalling channels
■
Control of the RF synthesizer and adaptive frequency
hopping algorithm
■
Control of the RF power and adaptive power algorithm
■
Control of the demodulator (bit synchronizer loop filter,
AFC bias estimate filtering)
■
Control of the modulator (carrier frequency) and
adaptive frequency alignment
■
Signalling between base and handset to support above
features
■
Control of PAON and TXSW output pins, to be used as
TDD control signals for the T/R switch as well as the
transmitter and receiver chains on the RF module
■
Control of RFEON pin, to be used as general on/off
switch on the RF module
■
Control of the Z87001 sleep mode
4-Bit DAC for Setting Transmit Power Level
In order to save battery life, the Z87001 only transmits the
amount of RF power needed to reach the remote receiver
with a sufficient SNR margin. The on-board transmit power
4-bit DAC provides 4 different voltage levels to the power
amplifier in the RF module for that purpose. This DAC is di-
22
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
FUNCTIONAL DESCRIPTION (Continued)
The DSP core is characterized by an efficient hardware architecture that allows fast arithmetic operations such as
multiplication, addition, subtraction and multiply-accumulate of two 16-bit operands. Most instructions are executed
in one clock cycle.
■
Control of battery charging and detection of low battery
conditions
■
Implementation of additional features for customizing of
the phone
The DSP core is operated at the internal speed of 8.192
MHz. It has an internal RAM memory of 512 16-bit words
divided in two banks. Six register pointers provide circular
buffering capabilities and dual operand fetching. Three
vectored interrupts are complemented by a six-level stack.
One interrupt is used by the transceiver, while the two remaining vectors are mapped into port P1. In the phone
system, one of these interrupts is customarily reserved for
the Z87010 ADPCM Processor. The other interrupt can be
used for custom purposes.
Z87010 Interface
The Z87001 may access up to 64K 16 bit words of external
ROM including 4 words for interrupt and reset vectors. The
ROM is mapped at addresses 0000h to 3FFFh, as shown
in Figure 13.
Int. Vector 0
Int. Vector 1
Int. Vector 2
Reset Vector
3FFFh
3FFFh
3FFEh
3FFDh
3FFCh
In addition to providing clock signals to the Z87010 processor, the Z87001 interfaces to the Z87010 through two different paths:
■
A command/status interface
■
A data interface
The command/status interface consists of two dual-port
registers accessible by both Z87001 and Z87010 DSP
core processors. On the Z87001 side, the registers are
mapped into the DSP core processor’s register interface.
To allow access by the Z87010, the internal command/status registers can also be decoded on the pinto of the
Z87001. Arbitration logic resolves access contentions.
The data interface allows the Z87010 processor direct access to the Z87001’s receive and transmit rate buffers. The
rate buffers are decoded on the pin to of the Z87001, and
dedicated voice processor interface logic handles the addressing within the rate buffers.
The physical interface between Z87001 and Z87010 consists of an 8-bit data bus, a 3-bit address bus and control
signals, as summarized in the following:
64K
USER ROM
(EXTERNAL)
VXDATA[7.0]
VXADD[2.0]
VXSTRB
VXRWB
VXRDYB
Data bus
Address bus
Data Strobe
Read/Write Control
Read Control
This bus is controlled by the Z87010. Although in the system the Z87010 is enslaved to the Z87001 master, at the
physical level the Z87001 acts as a peripheral of the
Z87010.
0000h
Figure 4. ROM Mapping
The mapping of the command status and data interfaces
from the Z87010 side is given below.
Two 16-Bit General-Purpose I/O Ports
Two 16-bit general-purpose I/O ports are directly accessible by the DSP core. These input and output pins are typically used for:
■
Implementation of the phone’s user interface (keypad,
LED, optional display, etc.)
■
Control of phone line interface (on/off hook, ring detect)
23
Address
Interface (VXADD [2.0])
Transmit
rate buffer
Receive
rate buffer
Command
Status
PRELIMINARY
Read
/Write
Data
(VXDATA[7.0])
1
W
----3210
1
R
----3210
0
0
R
W
76543210
76543210
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
OPERATION
Automatic Frequency Control Loop
(Receiver) and Modulator
The accumulated bias, available in BIAS_ERROR_DATA,
can be used directly to correct the NCO frequency. Alternately, the estimated bias can be read by the DSP, further
processed, and written to the CORE_BIAS_DATA field.
The DSP controls which value is used by setting the
USE_CORE_BIAS field. The selected value is added to
the 460 kHz signal which downconverts the receive IF signal.
AFC Loop
The AFC loop consists of a bias estimator block, which determines frequency offsets in the incoming signal, an
adder, to add this bias to the 460 kHz frequency control
word driving the NCO, and various interface points to the
DSP core processor. In particular, the DSP can read the
bias estimate data and substitute its own calculated bias
value to the NCO.
The CORE_BIAS_DATA and BIAS_ERROR_DATA are
two’s complement numbers in units of 125 Hz.
In addition to correcting the difference in clock frequencies
on the receiver using the AFC loop, a Z87001-base system
can also modify the frequency of the remote transmit IF
signals. The software has access to this frequency through
the MOD_FREQ register fields.
The bias estimator accumulates the discriminator output
values (image of instantaneous frequency) that exceed a
programmable threshold (BIAS_THRESHOLD). The processor can freeze the bias calculation any time by resetting the BIAS_ENABLE control bit.
Rx signal
Second downconvertor,
Discriminator
Discriminator
Output
Bias estimator
460 kHz
+ bias
“0”
BIAS_THRESHOLD
BIAS_ENABLE
BIAS_ERROR_DATA
Downconverter
NCO and bias
adder
DSP Core
Processor
CORE_BIAS_DATA
USE_CORE_BIAS
Figure 5. AFC Loop and Processor Control
24
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
OPERATION (Continued)
Modulator Control
Bit Synchronizer
The MOD_FREQ fields specify the carrier center frequency (should be programmed to 2.508 MHz) and deviation for
the FSK signal (should be programmed to ± 32.58 kHz). In
addition, wave shaping is performed on bit transitions, in
order to satisfy FCC regulations. Up to four different intermediate deviation values are programmable for each of
the two FSK states. The MOD_FREQ fields are programmable in units of 62.5 Hz.
The bit synchronizer circuit is an implementation of the
Data-Transition-Tracking Loop (DTTL), best described in
“Telecommunications Systems Engineering”, by W. Lindsey and M. Simon (Dover 1973; oh. 9 p. 442). Its operation
is summarized in the following block diagram.
Table 1. AFC and Modulator Control Fields
Field
BIAS_THRESHOLD
BIAS_ENABLE
BIAS_ERROR_DATA
CORE_BIAS_DATA
Discriminator
Output
Register
CONFIG1
SSPSTATE
BIAS_ERROR
CORE_BIAS
In-phase
Matched
Filter
Bank
EXT
3
EXT0
3
EXT2
2
EXT2
2
EXT4
Transition
Detection
Signed
Error
Mid-phase
Matched
Filter
Error
Magnitude
Loop Filter
Clock
Generator
division
INT_SYM_ERR0
“by 1”
“by 64”
INT_SYM_ERR1
first order
Recovered
Bit clock
SECOND_ORDER
BSYNC_GAIN
DSP Core
Processor
Figure 6. Bit Synchronizer Loop and Processor Control
25
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
The loop filter is controlled by the DSP core processor. The
DSP core can implement a first order loop by setting the
SECOND_ORDER field to zero. Typically, the
BSYNC_GAIN would then be set to “divide-by-1” operation
to provide a wide closed loop bandwidth and thus a quick
acquisition of the bit clock. When the bit clock is in phase
with the input data, the loop bandwidth can be narrowed to
maintain tracking of the receive clock with minimum impact
from signal noise. To reduce the loop bandwidth, the
BSYNC_GAIN can be set to “divide-by-64” the first order
gain, while the integrated tracking error (available to the
DSP in fields INT_SYM_ERR0 and INT_SYM_ERR1) can
be used by the DSP software to adjust the
SECOND_ORDER term.
The bit synchronizer relies on transitions in the received bit
stream to operate. The bit inversion logic guarantees
enough transitions for all transferred data.
At the handset, the bit synchronizer must track both frequency and phase of the receive signal’s data clock. At the
base, only the phase must be tracked. The frequency is inherently correct since the base is the source of the system’s data clock.
Table 2. Bit Synchronizer Control Fields
Field
BYSNC_GAIN
INT_SYM_ERR1
INT_SYM_ERR0
SECOND_ORDER
Register
Bank
SSPSTATE
BIT_SYNC
INT_SYM-ERR0
BIT_SYNC
3
1
0
1
EXT
EXT2
EXT2
EXT6
EXT2
Frame Counters
The handset only has one frame counter, which times all
receive and transmit events. The base station has distinct
transmit and receive frame counters. When used in this
document without any explicit reference to either base or
handset, the terms “receive frame counter” and “transmit
frame counter” refer to both sides. For the handset, both
terms refer to the same unique counter.
The frame counters are clocked at the bit rate, or 93.09
kHz (2.048 MHz/22). Each count lasts one bit =
1000/93.09 = 10.74 µs.
26
Zilog
Each frame lasts 4 ms, which corresponds to (372 + 8/22)
bits; the frame counters count from 0 to 371, with the last
count lasting a bad longer than the other ones; at the end
of count 371, the counters wrap around to 0.
The “hop” command pulse is asserted to pin SYLE during
count “0” of the frame counter (transmit frame counter on
the base station).
Frame Synchronizer, Timings and
RF Interface
The frame synchronizer tracks the received frames and resets the receive frame counter. The synchronization is performed by recognizing certain data patterns present in the
receive bit stream: a comparison is done on the fly between the data pattern and the incoming bit stream; when
the data match, the frame counter is reset.
Two possible 16-bit data patterns are pre-programmed in
the Z87001. One is named UW (Unique Word) and is used
in acquisition mode for first-time synchronization to an incoming signal. UW can also be used to track an acquired
signal. The second pattern is named SYNC_D and is used
to track the received data frames while voice is being
transferred. The transition from tracking UW to tracking
SYNC_D is controlled by the DSP processor through the
SYNC_SEARCH_WORD field.
UW Synchronization
When the Z87001 matches the UW, the receive frame
counter is reset to the value of UW_LOCATION. This value
is programmable by the DSP processor. On the handset,
where the receive frame counter is used to derive all timings, UW_LOCATION actually defines the guard time between the frequency hop command and the beginning of
data reception, which starts at FRAME_COUNTER =
(UW_LOCATION - 84) as shown in the next figure.
On the base station, data reception starts when the receive
frame counter equals (UW_LOCATION - 84), but this has
less significance since the hop pulse is synchronized with
the transmit frame counter and there is no fixed relationship between transmit and receive frame counters. On the
base station, the UW_LOCATION should be set to 301.
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
OPERATION (Continued)
UW_LOCATION-84
Handset
FRAME_COUNTER
0
1
2
SYLE timing
Receive data at RX pin
Figure 7. Frame Counter and UW_LOCATION on Handset
Two modes of search are programmable through the
SYNC_SEARCH_MODE field: “full search” and “window
search”. The full search is used by the handset when first
acquiring the signal from the base station. In full search,
the handset is in receive mode and continuously looks for
a match with the UW. When a match is found and the time
reference established (UW_LOCATION is set), the DSP
processor on the handset detects the synchronization (see
below), switches to Time Division Duplex mode (TDD) and
starts receiving and transmitting alternately. The search
mode should also be switched to “window search” by the
DSP software.
The transition to voice mode proceeds in two steps,
through an intermediate mode. The mode is set by the
DSP
processor
by
programming
the
MULTIPLEX_SWITCH field. The three modes are:
The window search mode only searches for a match in a
certain time window centered around the expected match
time. The window size is programmable by the DSP processor in the WINDOW_SIZE field. If the matching does
not occur at the expected time, due to so-called “bit slips”,
the receive frame counter timing is adjusted. Note: although the bit synchronizer is meant to keep track of time
and prevent bit slips when the phone is operating continuously in TDD mode, bit slips are still possible when the
handset is in standby mode, and only receives once in a
while (see description of sleep mode).
■
SYNC_D Synchronization
When the DSP processor switches the Z87001 operation
to voice mode, the frame synchronization parameters
should be modified by the DSP software to:
■
■
SYNC_SEARCH_MODE = window search
SYNC_SEARCH_WORD = SYNC_D pattern
In this mode, the receiver searches for the SYNC_D pattern in windows of the incoming data stream. The window
size is determined by the WINDOW_SIZE field.
27
■
SMUX: initial mode. This mode allows acquisition, AFC
operation, UW synchronization and signalling; ADPCM
Processor access disabled; bit inversion disabled.
■
STMUX: intermediate mode. This mode allows
SYNC_D frame synchronization and signalling; ADPCM
Processor access disabled; bit inversion enabled.
TMUX: voice mode. This mode allows voice
transmission, SYNC_D frame synchronization and
signalling; ADPCM Processor access enabled; bit
inversion enabled.
In order to detect synchronizations, the software has access to the SYNC_ACQ_IND status field. This field is set
by the Z87001 matching hardware every time a match is
detected within the right time window. The software must
reset the “IND” bit by setting the SYNC_ACQ_CLEAR
field.
In addition, the software can track the frame timing by
reading the frame counter value, available in the
FRAME_COUNTER field. On the base station, where two
frame counters are in use, this field returns the value of the
transmit frame counter.
Every time the frame counter wraps around to 0, a frame
start indicator bit is set (FRAME_START_IND status field).
The software must reset this “IND” bit by setting the
FRAME_START_CLEAR field. If the FS_INT_ENABLE bit
is set, frame starts also trigger interrupts to the DSP processor.
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
The following table summarizes the fields allowing control
of frame synchronization and basic frame timing.
Table 3. Frame Synchronizer Control Fields
Field
SYNC_SEARCH-MODE
Register
SSPSTATE
SYNC_SEARCH_WORD
SSPSTATE
UW_LOCATION
RX_CONTROL
WINDOW_SIZE
CONFIG1
MULTIPLEX_SWITCH
SSPSTATE
SYNC_ACQ_IND
SSPSTATUS
SYNC_ACQ_CLEAR
SSPSTATE
FRAME_COUNTER
SSPSTATUS
FS_INT_ENABLE
CONTROL
FRAME_START_IND
SSPSTATUS
FRAME_START_CLEAR
SSPSTATE
SYNC_SEARCH-MODE
SSPSTATE
Bank
Ext
3
3
2
3
3
3
3
3
1
3
3
3
EXT2
EXT2
EXT1
EXT0
EXT2
EXT3
EXT2
EXT3
EXT6
EXT3
EXT2
EXT2
RF Interface
Several control fields are available in the Z87001 register
set to control the timing and polarity of the RF module interface signals.
A first field, RFEON_POLARITY, controls the polarity of
the RFEON pin. This pin should be used to control the
power of the RF module. It is asserted by the Z87001 when
the RF module is in use, and de-asserted in sleep mode.
The sleep mode is used by the handset to save battery life
when no phone call is in process (See “Sleep mode”, below).
The SYLE pin (Synthesizer Load Enable), which carries a
“load enable” pulse that tells an external RF synthesizer to
generate the next RF channel, is controlled by two fields.
The HOP_ENABLE field is a global enable signal for the
SYLE signals. The SYLE_POLARITY field defines the polarity of the SYLE pin. The system designer should ensure
that the leading edge of the SYLE pulse triggers channel
hopping.
28
Zilog
In addition to the SYLE signal, the interface to the most RF
synthesizers includes two more input lines, “data” and
“clock”, for serial programming of the data values defining
the RF channel. In order to allow interfacing to various
popular synthesizers, the Z87001 does not have dedicated
clock and data lines with fixed timing. Instead, two general
I/O pins from ports P0 and P1 can be controlled in software
by the DSP core to realize any particular interface timing.
This flexibility is made possible by the high speed, singlecycle architecture of the DSP core.
The transmitter control includes a global enable signal for
all transmit functions: TX_ENABLE. The transmission start
is controlled by the MOD_PWR_ON field. On the base station, the value programmed in MOD_PWR_ON is referenced to the transmit frame counter.
Two
additional
fields,
RFTX_PWR_ON
and
RFTX_PWR_OFF, define the duty cycle of the PAON output pin. On the base station, these fields are referenced to
the transmit frame counter. The RFTX_POLARITY bit defines the polarity of the PAON pin. This pin can be used to
control the transmit section and power amplifier of the external RF module.
On the receive side, two fields define the internal timing of
the receiver. The start of reception is controlled by the
DEMOD_PWR_ON field. Stop of reception (and receiver
power down) is controlled by the DEMOD_PWR_OFF
field. On the base station, these fields are referenced to
the receive frame counter. The RXSW output pin follows
the timing defined by the DEMOD_PWR_ON and OFF
fields.
Two
additional
fields,
RFRX_PWR_ON
and
RFRX_PWR_OFF, define the duty cycle of the TXSW output pin. On the base station, these fields are referenced to
the TRANSMIT (!) frame counter. The RFRX_POLARITY
bit defines the polarity of the TXSW and RXSW pins. The
TXSW pin can be used to control the receive section of the
external RF module.
The various timing control registers reviewed in this paragraph should be programmed differently for handset and
base station. If the same ROM code is used on base and
handset, the software can determine which station it runs
on by reading the HAND_BASE_SEL bit, which reflects
the state of the HBSW pin.
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
OPERATION (Continued)
The following figure and table summarize the RF interface
control fields.
HBSW
HAND_BASE_SEL
Sleep Mode
Control
RFEON
RFEON_POLARITY
DSP Core
Processor
HOP_ENABLE
SYLE
SYLE_POLARITY
RFTX_PWR_ON
MOD_PWR_ON
RFTX_PWR_OFF
PAON
RFTX_POLARITY
TX_ENABLE
Modulator
TX
RFRX_PWR_ON
RFRX_PWR_OFF
TXSW
RFRX_POLARITY
DEMOD_PWR_ON
RXSW
DEMOD_PWR_OFF
Demodulator
RX,VREF
Figure 8. RF interface Control
Table 4. Timing and RF Interface Control Fields
Field
RFEON_POLARITY
HOP_ENABLE
SYLE_POLARITY
TX_ENABLE
MOD_PWR_ON
RFRX_PWR_ON/OFF
DEMOD_PWR_ON/OFF
RFRX_POLARITY
RFTX_PWR_ON/OFF
RFTX_POLARITY
HAND_BASE_SEL
29
Register
RX_PWR_CTRL
SSPSTATE
CONFIG1
SSPSTATE
MOD_PWR_CTRL
RFRX_PWR_CTRL
DEMOD_PWR_CTRL
RFRX_PWR_CTRL
RFTX_PWR_CTRL
RFTX_PWR_CTRL
SSP_STATUS
PRELIMINARY
Bank
Ext
2
3
3
3
2
0
2
0
2
2
3
EXT6
EXT2
EXT0
EXT2
EXT5
EXT7
EXT6
EXT7
EXT7
EXT7
EXT3
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
Sleep Mode
Clock Interface
To save the phone’s battery life on the handset, the
Z87001 can be operated in sleep mode while the phone is
not in use. The sleep mode is entered by software command. The sleep mode first needs to be enabled by setting
the SLEEP_WAKE field. Then a GO_TO_SLEEP command puts the processor to sleep by temporarily stopping
its clock. The sleep period can be set to last between 4 ms
and 1.02 s by programming the SLEEP_PERIOD field. In
sleep mode, the RFEON pin is de-asserted.
The Z87001 generates the Z87010 clock at 16.384 or
8.192 MHz, as set in VP_CLOCK. In addition, the clock
can be stopped and restarted with the VP_STOP_CLOCK
field in order to reduce power consumption (Note: a software handshaking between Z87001 and Z87010 is necessary before stopping and after restarting the clock).
The processor comes out of sleep mode in one of two
ways. Either the sleep counter counts down to zero, or one
of the enabled pins from port P0 is asserted prior to normal
expiration of the counter. Four port pins (P0[0..4]) can be
individually enabled to provide the wake-up function by
setting the appropriate bits in P0_WAKE_ENABLE. Typically, these port pins are connected to the telephone keypad.
When the processor core wakes up, the software needs to
know how much time it was actually asleep, in order to restore synchronization to the base station’s hopping sequence. For that purpose, the current value of the sleep
counter
is
available
to
the
processor
in
SLEEP_REMAINING. A value of zero indicates normal expiration of the sleep counter.
In order to guarantee a good operation of the wake-up
pins, the wake-up signals are hardware-denounced by the
Z87001. Furthermore, these signals are internally synchronized to the bit clock. This ensures that the processor
has enough time (one bit time = 10.74 ms) to read a stable
value of the remaining sleep time and synchronize correctly to the base station’s hopping sequence.
Table 5. Sleep Mode Control Fields
Field
SLEEP_EAKE
Register
SSPSTATE
GO_TO_SLEEP
SSPSTATE
SLEEP_PERIOD
CONFIG2
SLEEP_REMAINING
CONFIG2
P0_WAKEUP_ENABLE
CONTROL
Bank
Ext
3
3
3
3
1
EXT2
EXT2
EXT1
EXT1
EXT6
ADPCM Processor Interface and Rate Buffers
The interface to the ADPCM Processor (Z87010) consists
of clock control, command/status interface and data interface. The data interface gives the ADPCM Processor access to the rate buffers.
30
In addition to providing the Z87010 main clock, the Z87001
generates a CODCLK signal which will be used by the codec and by the Z87010 to synchronize its data transfers
with the Z87001. On the base station, the CODCLK is simply obtained by dividing the 16.384 MHz input clock.
On the handset, the CODCLK is synchronized to the base
station’s CODCLK signal through the receive bit sync logic. This ensures that production and consumption of voice
data is happening at identical rates on handset and base,
eliminating buffer overrun and underrun situations.
Command/Status Interface
The Z87001 sends commands to the Z87010 through the
VP_COMMAND write-only field. It reads the Z87010 status in the VP_STATUS read-only field. Both fields are located at the same address in the Z87001 register interface. A communication protocol should be established in
software to ensure correct reception of all commands.
Dedicated hardware ensures data integrity when both
Z87001 and Z87010 simultaneously access the same register.
Table 6. ADPCM Processor Control Fields
Field
VP_CLOCK
VP_STOP_CLCOCKS
VP_COMMAND
VP_STATUS
Register
CONFIG1
SSPSTATE
VP_INOUT
VP_INOUT
Bank
Ext
3
3
2
2
EXT0
EXT2
EXT0
EXT0
Data Interface and Rate Buffers
The digitized voice data is communicated between the
Z87001 and Z87010 through the rate buffers and ADPCM
Processor data interface. The transmit and receive rate
buffers each contain 36 4-bit nibbles.
To write to the transmit rate buffer, the Z87001 core processor must first set the nibble address in the
TX_BUF_ADDR register field, then write the nibble data
through TX_BUF_DATA. If the TX_AUTO_INCREMENT
bit is set, the address is automatically incriminated (modulo 51 = the number of nibbles in rate buffer + 15 additional
data words accessible through TX_BUF_DATA; for more
information, see Register Description) after each data
write. This allows the DSP core to write successive nibbles
without resetting the address each time.
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
OPERATION (Continued)
The operation of the receive rate buffer is identical. The
Z87001 core processor must set the nibble address in
RX_BUF_ADDR,
then
read
the
nibble
from
RX_BUF_DATA. If the RX_AUTO_INCREMENT bit is set,
the read address is automatically incriminated (modulo 36
= number of nibbles in rate buffer) after each data read.
This allows the DSP core to read successive nibbles without resetting the address each time.
Through its register interface, the Z87001 also controls
which rate buffer addresses the Z87010 ADPCM Processor can access. The nibble addresses are contained in the
TX_BUF_VP_ADDR and RX_BUF_VP_ADDR register
fields. After the Z87010 writes or reads a nibble to or from
transmit or receive rate buffer, the corresponding
“VP_ADDR” is automatically incriminated (modulo 36) to
the next accessible address. The locations of accessible
addresses are individually controlled by the Z87001 in the
three TX_RX_NIBBLE_MARKER register fields. A marker
bit equal to “1” enables the Z87010 to access the corresponding address; a bit equal to “0” causes the Z87010’s
read or write access to skip to the next nibble that has a
marker bit equal to “1”.
Z87001
RX RATE BUFFER
Demodulator
RX_BUF_VP_ADDR
Address
Decoder
TX_RX_NIBBLE_
MARKER
TX_BUF_VP_ADDR
TX RATE BUFFER
Modulator
Data
RX_BUF_ADDR
ADPCM Proc.
Interface
Addr
Ctrl
RX_AUTO_INCR.
RX_BUF_DATA
TX_BUF_DATA
TX_BUF_ADDR
TX_AUTO_INCR.
DSP Core
Processor
VP_COMMAND
VP_STATUS
Figure 9. Rate Buffers Access and ADPCM Processor Interface
31
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
Table 7. Data and Control Access to Rate Buffers
Field
Register
RX_AUTO_INCREMENT
RX_BUF_ADDR
TX_AUTO_INCREMENT
TX_BUF_ADDR
RX_BUF_DATA
TX_BUF_DATA
TX_BUF_DATA
RX_BUF_VP_ADDR
TX_BUF_VP_ADDR
TX_RX_NIBBLE_MARKER
Bank
RATE_BUF_ADDR
RATE_BUF_ADDR
RATE_BUF_ADDR
RATE_BUF_ADDR
RATE_BUF_DATA
RATE_BUF_ADDR
RATE_BUF_DATA
RATE_BUF_DATA
RATE_BUF_DATA
RATE_BUF_DATA
Next
1
1
1
1
1
1
1
1
1
1
EXT0
EXT0
EXT0
EXT0
EXT0
EXT1
EXT1
EXT1
EXT1
EXT1
ADDITIONAL FEATURES
Power Control
General-Purpose I/O Ports
The Z87001 features several means of measuring and
controlling power levels. One input pin (RSSI) connects an
external “receive signal strength indicator” to a half flash 8bit ADC in the Z87001. This ADC is sampled once per
frame during the receive portion of the TDD cycle. The
RSSI value can be accessed in software in the
RSSI_DATA register field. With external multiplexing, the
8-bit ADC can be used for additional purposes.
The Z87001 includes two general-purpose input/output
ports, P0 and P1, of 16 bit each. The direction of each bit
is independently programmable by setting the register
fields DIRECTION0 and DIRECTION1. Then, the software
can access the input and output values by accessing
DATA0 and DATA1.
The RSSI data is used by the software to implement adaptive power control. In order to determine whether the RSSI
information is made of signal or noise, the Z87001 includes
logic to measure the signal-to-noise ratio (SNR) of the receive signal. This SNR value is available at the end of every frame in the SNR_ESTIMATE register field. It is also
used by the adaptive frequency hopping algorithm to determine and avoid the noisy channels.
Finally, a 4-bit DAC (resistive ladder) is provided to control
RF power output level. The DAC is under software control
through register field TX_PWR_DAC_DATA.
Two pins of port P1 (pins 14 and 15), when configured in
input mode, also behave as interrupt pins for the core processor. The software can enable or disable each interrupt
by
setting
the
INTERRUPT_0_ENABLE
and
INTERRUPT_2_ENABLE fields. The interrupts are positive edge-triggered.
Pin
Number
Interrupt
Number
DSP Interrupt
Vector
P1 14
P1 15
INT0
INT2
3FFFh
3FFDh
Table 8. Power Control
Field
RSSI_DATA
SNR_ESTIMATE
TX_PWR_DAC_DATA
RSSI_DATA
SNR_ESTIMATE
Register
RSSI
RX_CONTROL
CONTROL
RSSI
RX_CONTROL
Table 9. General-Purpose I/O Ports
Bank
2
2
1
2
2
Ext
EXT3
EXT1
EXT6
EXT3
EXT3
Field
DIRECTION0
Register
GPI00DIR
Bank
Ext
3
EXT4
EXT5
EXT6
EXT7
EXT6
EXT6
DATA0
GPI00DATA
3
DIRECTION1
GPI0IDIR
3
DATA1
GPI0IDATA
3
INTERRUPT_0_ENABLE
CONTROL
1
INTERRUPT_1_ENABLE
CONTROL
1
Four pins of port P0 (pins 0 to 3), when configured in input
mode, can also be individually programmed as wake-up
pins for the Z87001 (See “Sleep mode”, above).
32
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
REGISTER DESCRIPTION
The Z87001 DSP core processor has four banks of eight
registers mapped in the core processor’s “external register” space, as summarized in the following table.
1
Table 10. Register Summary
BANK ADDRESS
Bank 3
Bank 2
Bank 1
Bank 0
REGISTER
EXT0
CONFIG1
EXT1
EXT2
CONFIG2
SSPSTATE
EXT3
SSPSTATUS
EXT4
EXT5
EXT6
EXT7
EXT0
EXT1
EXT2
EXT3
EXT4
EXT5
EXT6
EXT7
EXT0
EXT1
GPIO0DIR
GPIO0DATA
GPIO1DIR
GPIO1DATA
VP_INOUT
RX_CONTROL
BIAS_ERROR
RSSI
CORE_BIAS
MOD_PWR_CTRL
DEMOD_PWR_CTRL
RFTX_PWR_CTRL
RATE_BUF_ADDR
RATE_BUF_DATA
EXT2
EXT3
EXT4
EXT5
EXT6
EXT7
EXT0
EXT1
EXT2
EXT3
EXT4
EXT5
EXT6
EXT7
BIT_SYNC
RESERVED
RESERVED
RESERVED
CONTROL
RESERVED
RESERVED
RESERVED
RESERVED
RESERVED
RESERVED
RESERVED
INT_SYM_ERR0
RFRX_PWR_CTRL
DS96WRL0800
READ DESCRIPTION
WRITE DESCRIPTION
Clock Dividers, Use Core Bias,
SYLE polarity, search window
size, Bias Threshold
Remaining Sleep time
ANT0/1 control, Sleep Period
Stop VP clock, Absent gain, Bias Enable, Tx Enable, Sync
Search control, Hop Enable, Frame Start control, Multiplex
control, Sleep mode control
Frame Counter, Handset/Base,
Sync Search control, Frame
Start control
General-Purpose I/O port 0 direction control
General-Purpose I/O port 0 data
General-Purpose I/O port 1 direction control
General-Purpose I/O port 1 data
ADPCM Processor Status
ADPCM Processor Command
SNR estimate
UW location
FCW value
8-bit ADC data (RSSI)
Core Bias data
MOD_PWR control
RXSW, RFEON pin control
PAON pin control
Rate Buffer address
Re Rate Buffer data
Tx Rate Buffer data, control
data
Bit Sync monitoring
Bit Sync control
INT, WAKEUP pin control, 4-bit DAC data (PWLV)
Bit Sync monitoring
TXSW, RXSW pin control
PRELIMINARY
TABLE #
Table 25
Table 26
Table 27
Table 28
Table 29
Table 30
Table 31
Table 32
Table 33
Table 34
Table 35
Table 36
Table 37
Table 38
Table 39
Table 40
Table 41
Table 42
Table 43
Table 44
Table 44
Table 44
Table 45
Table 46
Table 47
Table 47
Table 47
Table 47
Table 47
Table 47
Table 47
Table 49
33
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
REGISTER DESCRIPTION (Continued)
The bank is selectable in software by writing to the core’s
status register (see Table 24). Once a bank is selected,
each of the eight external registers (EXT0 through EXT7)
can be accessed by a single-cycle software instruction.
Table 11. Bank Switching
Bank
Bank 0
Bank 1
Bank 2
Bank 3
Status Register
Bank Function
xxxx xxxx x00x xxxx b
xxxx xxxx x01x xxxx b
xxxx xxxx x10x xxxx b
xxxx xxxx x11x xxxx b
Test point access, TDD switching control
Rate buffer access, miscellaneous
ADPCM processor interface, RF interface, etc.
Configuration, status, general-purpose port data and direction
Bank 3 Registers
Table 12. Bank 3 Registers
Config 1
Field
Bank 3
Bit Position
RESERVED
f---------------
VP_CLOCK
-e--------------
EXT0
R/W
R
W
USE_CORE_BIAS --d------------R
W
SYLE_POLARITY ---c-----------R
W
WINDOW_SIZE
----ba98-------R
W
BIAS_THRESHOL -------76543210
D
R
W
Data Description
Returns 0
Must be set to 1
Controls CLKOUT output pin (clock for ADPCM Processor).
Returns 0
0 CLOCKOUT=16.384 MHz
1 CLOCKOUT = 8.192
Controls which bias value is used by the downconverter’s
NCO as part of the automatic frequency control loop (AFC)
Returns 0
0* Uses BIAS_ERROR_DATA value from AFC hardware
1 Uses CORE_BIAS_DATA value from DSP core
Controls the polarity of the SYLE output pin (hop pulse)
Returns 0
0 SYLE is a positive pulse
1 SYLE is a negative pulse
Defines the search window size (in bits) for windowed search
mode (for Unique Word or SYNC_D words).
Returns 0
0000 Window size=1
0001 Window size =3 (1±1)
•••
1111 Window size = 31 (1± 15)
Bias estimator threshold value
Returns 0
XXh Sets the bias value
Notes:
1. VP_CLOCK. Internally synchronized to avoid glitches. Changes to this bit take effect immediately.
2. SYLE_POLARITY. Changes to this bit take effect immediately.
3. BIAS_THRESHOLD. The bias threshold must be coded as a negative value
(opposite of the threshold value) coded in 2’s complement. The nominal value for the
threshold is -46 (=D3h). Internally, this value is sign-extended to 13 bits.
34
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
Table 13. Bank 3 Register EXT1
Config 2
Field
Bank 3
Bit Position
EXT1
R/W Data
ANTENNA_SW_DEFEAT f--------------R
W
ANTENNA_SW_OFFSET -edcba98-------R
W
SLEEP_PERIOD
--------76543210
SLEEP_REMAINING
--------76543210
W
R
1
Description
Controls optional antenna switching
(ANT0 and ANT1 pins)
Returns 0
0 Enables antenna switching
1 Disables antenna switching
Controls antenna switching time advancement
Returns 0
Offset in number of 2.048 MHz clock cycles
xXh (<108)
00h Programs sleep duration in sleep mode Illegal
01h Sleep period=1 frame (4 ms)
•••
FFh Sleep period = 255 frames (1.020s)
Returns value of sleep counter when sleep mode
is interrupted by a “wake” signal
00h Normal expiration of sleep counter
01h One frame left before normal expiration
•••
FFh 255 frames left before normal expiration
Notes:
1. SLEEP_PERIOD. In sleep mode, the RFEON pin is active. Changes to this bit take effect immediately.
2. SLEEP_REMAINING. A non-zero value indicates that the Z87001 was awakened by a key press activating one of the wake-up
pins on port 0. In this case, the processor should immediately reset the SLEEP_WAKE field in SSPSTATE to prevent the process from going back to sleep when the user key press ceases.
DS96WRL0800
PRELIMINARY
35
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
REGISTER DESCRIPTION (Continued)
Table 14. Bank 3 Register Description
SSPSTATE
Field
Bank 3
Bit Position
SW_SYLE
f---------------
EXT2
R/W Data
R/W 0*
1
STOP_CODCLK
-e-------------R/W 0*
1
DBP_STOP_CLOCK
--d------------R/W 0*
1
BSYNC_GAIN
---c-----------R/W 0*
1
BIAS_ENABLE
----b----------R/W 0*
1
TX_ENABLE
-----a---------R/W 0*
1
SYNC_SEARCH_WORD ------9--------R/W 0*
1
SYNC_SEARCH_MODE -------87------R/W 00*
01
10
11
HOP_ENABLE
---------6-----R/W 0
1
SYNC_ACQ_CLEAR
----------5----R
W
1->0
FRAME_START_CLEAR -----------4---R
W
SLEEP_WAKE
1->0
------------3--R/W 0
1
MULTIPLEX_SWITCH
-------------21R/W 00*
01
10
11
36
Description
Controls accelerated synthesizer programming after sleep
Not Active
Active
Inhibits toggling of codec clock output during sleep
CODCLK is free running
CODCLK is frozen high
Controls toggling of CLKOUT output pin (clock for ADPCM
Processor).
CLKOUT is free running
CLKOUT is frozen high
Selects gain for first order loop of the bit synchronizer
Nominal gain
Gain divided by 64
Controls closed-loop AFC circuit
No new bias estimation is performed (latest estimate used)
Enables BIAS_ERROR_DATA updates
Global enable for all transmit functions
Transmitter disabled
Transmitter enabled
Controls the word searched for in search mode
Search for UW pattern (Unique Word)
Search for SYNC_D pattern
Controls the search mode (and frame synchronization)
No search
Window search (<= UW_LOCATION & WINDOW_SIZE)
Full search (during whole frame)
Not used
Enables transmission of the hop pulse on SYLE pin
Hop pulse disabled
Hop pulse enabled
Clears the SYNC_ACQ_IND flag.
Returns last value written
A transition from 1 to 0 clears the flag
Clears the FRAME_START_IND flag
Returns last value written
A transition from 1 to 0 clears the flag
Enable bit for entering sleep mode
Wake mode only
Sleep mode can be activated by GO_TO_SLEEP
command
Controls operation of the transceiver
SMUX (bit inversion and ADPCM Processor access
disabled)
STMUX (bit inv. enabled; ADPCM Proc. access disabled)
Reserved
TMUX (bit inversion and ADPCM Processor access
enabled)
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
Table 14. Bank 3 Register Description
SSPSTATE
Field
Bank 3
Bit Position
GO_TO_SLEEP
--------------0
TX_ENABLE
SYNC_SEARCH_WORD
SYNC_SEARCH_MODE
HOP_ENABLE
SYNC_ACQ_CLEAR
FRAME_START_CLEAR
SLEEP_WAKE
MULTIPLEX_SWITCH
GO_TO_SLEEP
EXT2
R/W Data
Description
R
W
Command bit to place the Z87001 in sleep mode
Returns last value written
A transition from 0 to 1 causes Z87001 sleep mode
0->1
-----a---------R/W
0*
1
R/W
0*
1
R/W
00*
01
10
11
R/W
0
1
------9---------
-------87-------
---------6------
----------5----R
W
1->0
R
W
1->0
-----------4----
------------3--R/W
0
1
R/W
00*
01
10
11
-------------21-
---------------0
R
W
0->1
1
Global enable for all transmit functions
Transmitter disabled
Transmitter enabled
Controls the word searched for in search mode
Search for UW pattern (Unique Word)
Search for SYNC_D pattern
Controls the search mode (and frame synchronization)
No search
Window search (<= UW_LOCATION & WINDOW_SIZE)
Full search (during whole frame)
Not used
Enables transmission of the hop pulse on SYLE pin
Hop pulse disabled
Hop pulse enabled
Clears the SYNC_ACQ_IND flag.
Returns last value written
A transition from 1 to 0 clears the flag
Clears the FRAME_START_IND flag
Returns last value written
A transition from 1 to 0 clears the flag
Enable bit for entering sleep mode
Wake mode only
Sleep mode can be activated by GO_TO_SLEEP command
Controls operation of the transceiver
SMUX (bit inversion and ADPCM Processor access disabled)
STMUX (bit inv. enabled; ADPCM Proc. access disabled)
Reserved
TMUX (bit inversion and ADPCM Processor access enabled)
Command bit to place the Z87001 in sleep mode
Returns last value written
A transition from 0 to 1 causes Z87001 sleep mode
Notes:
1. DBP_STOP_CLOCK. When this bit is set to 1, the ADPCM Processor clock (CLKOUT) is stopped within two clock periods. When
this bit is set to 0, the ADPCM Processor clock restarts within two clock periods; in every case, the ADPCM Processor clock minimum specifications for high time and low time are respected.
2. BSYNC_GAIN. Changes to this bit take effect immediately.
BIAS_ENABLE. This bit is a global enable for the Automatic Frequency Control. When the bit is set, the AFC hardware updates
the current BIAS_ERROR_DATA during specific time windows, controlled by the event trigger hardware and suitable for a good
operation of the AFC. When the bit is reset, the AFC operation is suspended. However, the current BIAS_ERROR_DATA, resulting from previous bias estimations, can still be used to bias the downconverter NCO. Changes to the BIAS_ENABLE bit take effect
at the beginning of the frame following the change.
3. TX_ENABLE. Global control for all system transmit functions, including PAON pin control (timing set by the RFTX_PWR_ON/OFF
register fields) and power to the modulator and NCO (timing set by MOD_PWR_ON and the wake/sleep modes).
4. Changes to this bit take effect immediately.
5. HOP_ENABLE. Changes to this bit take effect immediately.
6. SLEEP_WAKE. This bit must be set to enable the core to put itself to sleep via the GO_TO_SLEEP command. The SLEEP_WAKE
bit must be reset to prevent the core to fall back to sleep after it is awaken by one of the Port 0 Wake-up pins when the sleep period
has not expired. If the bit is not reset, the core will fall right back to sleep when the wake-up input is de-asserted (note that by
design, a wake-up input has a minimum of 10 ms duration, to allow the software enough time to safely reset the SLEEP_WAKE
bit).
7. SYNC_AQC_CLEAR. This bit must be set to “1” again after every “clear” operation to allow for the next “clear”.
8. FRAME_START_CLEAR. This bit must be set to “1” again after every “clear” operation to allow for the next ?“clear”.
DS96WRL0800
PRELIMINARY
37
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
REGISTER DESCRIPTION (Continued)
Table 15. Bank 3 Register Description
SSPSTATUS
Field
Bank 3
Bit Position
FRAME_COUNTER
fedcba987------
EXT3
R/W
R
RESERVED
---------65----
HAND_BASE_SEL
-----------4---
W
R
W
R
W
SYNC_ACQ_IND
------------3-R
W
FRAME_START_IND
------------2-R
W
RESERVED
-------------10
R
W
Data
Description
Current frame counter value
00h First value at beginning of frame (0)
...
173h Last value at end of frame (371)
...
Illegal values
No effect
Returns 0
No effect
Reflects status of Handset/Base select pin (HBSW)
0
Base (HBSW = 0)
1
Handset (HBSW = 1)
No effect
Indicates detection of a Sync word (UW or SYNC_D
depending on SYNC_SEARCH_WORD search mode)
No sync word detected
0
Sync word detected
1
No effect
Indicates start of a new frame
0
No start of new frame (1 written to
1
FRAME_START_CLR)
New frame started
No effect
Returns 0
No effect
Notes:
FRAME_COUNTER. Read the double-buffered current value of the Frame Counter.
On the handset, a single frame counter is used to clock transmit and receive events.
On the base station, the transmit frame counter value is returned
Table 16. Bank 3 Register Description
GPIO0DIR
Field
Bit 3
Bit Position
DIRECTION0
fedcba9876543210
EXT4
R/W
R/W
38
Data Description
..0.
..1.
Independent control of Port 0 pin direction
Sets pin in input mode
Sets pin in output mode
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
Table 17. Bank 3 Register Description
GPIO0DATA
Field
Bank 3
Bit Position
DATA0
fedcba9876543210
EXT5
R/W
R
W
Data
1
Description
Access to Port 0 data
XXXXh Reads pin values
XXXXh Writes output pin values
Notes:
DATA0. The read value returns the actual pin values and does not depend on the pin directions
(i.e. for output pins, the output value is returned unless a contention occurs).
Table 18. Bank 3 Register Description
GPIO1DIR
Field
Bank 3
Bit Position
DIRECTION1
fedcba9876543210
EXT6
R/W
R/W
Data
..0.
..1.
Description
Independent control of Port 1 pin direction
Pin in input mode
Pin in output mode
Table 19. Bank 3 Register Description
GPIO1DATA
Field
Bank 3
Bit Position
DATA1
fedcba9876543210
EXT7
R/W
R
W
Data
Description
Access to Port 1 data
XXXXh Reads pin values
XXXXh Writes output pin values
Notes:
DATA1. The read value returns the actual pin values and does not depend on the pin directions
(i.e. for output pins, the output value is returned unless a contention occurs)
DS96WRL0800
PRELIMINARY
39
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
Bank 2 Registers
Table 20. Bank 2 Register Description
VP_INOUT
Field
Bank 2
Bit Position
RESERVED
fedcba98--------
VP_STATUS
--------76543210
VP_COMMAND
EXT0
R/W
Data
R
W
R
XXh
W
XXh
--------76543210
Description
Returns 0
No effect
Access to ADPCM Processor’s Command/Status
mailbox
Reads Status byte from ADPCM Processor
Access to ADPCM Processor’s Command/Status
mailbox
Writes Command byte to ADPCM Processor
Table 21. Bank 2 Register Description
RX_CONTROL
Field
Bank 2
Bit Position
SNR_ESTIMATE
fedcba9876543210
UW_LOCATION
-------876543210
EXT1
R/W
Data
Description
Access to channel measurement (SNR) estimate
Returns the SNR value
R
XXXXh
W
Location of the Unique Word
XXXXh Initializes the value that the receive frame counter
is set to on detection of the Unique Word
Notes:
SNR_ESTIMATE. This value is updated every frame. It should be read by
the software during the frequency hopping guard time of the next frame.
Table 22. Bank 2 Register Description
BIAS_ERROR
Field
Bank 2
Bit Position
BIAS_ERROR_DATA
fedcba9876543210
EXT2
R/W
R
W
Data
Description
Access to the bias estimate from the AFC loop.
XXXXh Current bias estimate value
No effect
Notes:
BIAS_ERROR_DATA. This value is used to bias the downconverter’s NCO if the USE_CORE_BIAS register field is reset. It is encoded as a 2’s complement number. The unit is 125 Hz
.
40
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
Table 23. Bank 2 Register Description
RSSI
Field
Bank 2
Bit Position
EXT3
R/W
RESERVED
fedcba98--------
RSSI_DATA
-------76543210
Data
R
W
R
W
XXh
1
Description
Returns 0
No effect
Access to 8-bit ADC (can be used for RSSI data)
Returns latest value on 8-bit DAC
No effect
Note:
RSSI_DATA. This value is sampled once per frame (4ms) approximately at bit 72 (middle) of the received data.
Table 24. Bank 2 Register Description
CORE_BIAS
Field
Bank 2
Bit Position
EXT4
R/W
RESERVED
fed-------------
CORE_BIAS_DATA
---cba9876543210
R
W
R
W
Data
Description
Returns 0
No effect
Stores bias value for correction of downconverter’s
NCO.
Returns 0
xXXXh Updates bias value
Notes:
CORE_BIAS_DATA.This value is used if the USE_CORE_BIAS register field is set. It is encoded as a 2’s complement number.
The unit is 125 Hz.
Table 25. Bank 2 Register Description
MOD_PWR_CTRL
Field
Bank 2
Bit Position
RESERVED
f---------------
MOD_PWR_ON
-edcba98--------
RESERVED
--------76543210
EXT5
R/W
Data
R
W
R
W
R
W
xXh
Description
Returns 0
No effect
Determines modulator turn-on time referenced to the
transmit frame counter
Returns 0
Bits 6-0 of turn-on time (=(x modulo 128) -1)
Returns 0
No effect
Notes:
1. MOD_PWR_ON. Controls the turn-on time for the internal modulator and NCO. Only the 7 LSBits of the 9-bit value necessary
to encode an event (from frame counter 0 to 371) are programmable. The two MSBits have fixed values which depend on
whether base station or handset is selected: “00” on the base and “01” on the handset. The modulator’s turn-off time occurs
a fixed time (number of bits) after the turn-on time: 144 bits on the base station, 148 bits on the handset.
2. Changes to this value take effect immediately.
3. To disable the modulator continuously, clear TX_ENABLE
DS96WRL0800
PRELIMINARY
41
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
REGISTER DESCRIPTION (Continued)
Table 26. Bank 2 Register Description
DEMOD_PWR_CTRL
Field
Bank 2
Bit Position
RFEON_POLARITY
f---------------
EXT6
R/W
R
W
DEMOD_PWR_ON
Data
0
1
-edcba98--------
RESERVED
--------7-------
DEMOD_PWR_OFF
---------6543210
R
W
R
W
R
W
xXh
XXh
Description
Controls the polarity of the RFEON output pin
Returns 0
Active high
Active Low
Determines internal power up of demodulator and turn
on time of RXSW pin, referenced to the receive frame
counter
Returns 0
Bits 6-0 of turn-on time (=(x modulo 128) -1)
Returns 0
No effect
Determine internal power down of demodulator and
turn off time of RXSW pin, referenced to the receive
frame counter
Returns 0
Bits 6-0 of turn-off time (=(x modulo 128) -1)
Notes:
1. DEMOD_PWR_ON, DEMOD_PWR_OFF. Controls internal receive hardware and the RXSW output pin. The turn-on and off times
are given in number of received bit periods and are referenced to the Receive Frame Counter. Only the 7 LSBits of the 9-bit value
are programmable. The two MSBits have fixed values which depend on whether base station or handset is selected. For
DEMOD_PWR_ON, the two bits are “01” on the base and “00” on the handset. For DEMOD_PWR_OFF, the two bits are “10” on
the base and “01” on the handset
2. Changes to these values take effect immediately.
3. To enable receive power continuously, clear TX_ENABLE and set SYNC_SEARCH_MODE to FULL_SEARCH (this is the case
in acquisition mode).
4. The polarity of the RXSW output pin is controlled by the RFRX_POLARITY bit in the RFRX_PWR_CTRL register
.
42
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
Table 27. Bank 2 Register Description
RFTX_PWR_CTRL
Field
Bank 2
Bit Position
RFTX_POLARITY
f---------------
EXT7
R/W
R
W
RFTX_PWR_ON
Data
0
1
-edcba98--------
RESERVED
--------7-------
RFTX_PWR_OFF
---------6543210
R
W
R
W
R
W
xXh
xXh
1
Description
Controls the polarity of the PAON output pin
Returns 0
Active high
Active Low
Determines PAON output pin turn-on time
referenced to the transmit frame counter
Returns 0
Bits 6-0 of turn-on time (=(x modulo 128) -1)
Returns 0
No effect
Determine PAON output pin turn-off time
referenced to the transmit frame counter
Returns 0
Bits 6-0 of turn-off time (=(x modulo 128) -1)
Notes:
1. RFTX_PWR_ON, RFTX_PWR_OFF. Controls the PAON output pin, and thereby the external RF module’s transmitter.
The turn-on and off times are given in number of transmitted bit periods and are referenced to the transmit Frame Counter.
Only the 7 LSBits of the 9-bit value are programmable. The two MSBits have fixed values which depend on whether base
station or handset is selected. For RFTX_PWR_ON, the two bits are “00” on the base and “01” on the handset. For
RFTX_PWR_OFF, the two bits are “01” on the base and “10” on the handset.
2. Changes to these values take effect immediately.
3. To disable the transmitter continuously, clear TX_ENABLE in SSP_STATE.
DS96WRL0800
PRELIMINARY
43
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
Bank 1 Registers
Table 28. Bank 1 Register Description
RATE_BUF_ADDR
Field
Bank 1
Bit Position
RESERVED
f--------------
EXT0
R/W
R
W
RX_AUTO_INCREMENT -e------------R
W
RX_BUF_ADDR
--dcba98-------R
W
RESERVED
--------7-------
R
W
TX_AUTO_INCREMENT ---------6-----R
W
TX_BUF_ADDR
----------543210
R
W
44
Data
Description
Returns 0
No effect
Controls the auto-increment feature of the Rx rate
buffer
0
Returns 0
1
Disables auto-increment
Enables auto-increment
Access to Rx rate buffer address
Returns 0
00h Address 0
... ...
23h Address 23h = 35
... Illegal
Returns 0
No effect
Controls the auto-increment feature of the Tx rate
buffer
Returns 0
0
Disables auto-increment
1
Enables auto-increment
Access to Tx rate buffer address
Returns 0
00h Address 0
... ...
23h Address 23h = 35
24h Tx/Rx rate buffer address for ADPCM Processor
25h accesses
26h Tx/Rx Nibble Marker bits [15..0]
27h Tx/Rx Nibble Marker bits [31..16]
28h Tx/Rx Nibble Marker bits [35..32]
29h MOD_FREQ_DEV 0
2Ah MOD_FREQ_DEV 1
2Bh MOD_FREQ_DEV 2
2Ch MOD_FREQ_DEV 3
2Dh MOD_FREQ_DEV 4
2Eh MOD_FREQ_DEV 5
2Fh MOD_FREQ_DEV 6
30h MOD_FREQ_DEV 7
31h MOD_FREQ_DEV 8
32h MOD_FREQ_DEV 9
... MOD_CENTER_FREQ
Illegal
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
REGISTER DESCRIPTION (Continued)
Table 29. Bank 1 Register Description
RATE_BUF_DATA
Field
Bank 1
Bit Position
EXT1
R/W
RX_BUF_DATA
------------3210
R
TX_BUF_DATA
------------3210
W
TX_BUF_VP_ADDR
--dcba98-------W
RX_BUF_VP_ADDR
----------543210
W
TX_RX_NIBBLE_MARKER fedcba9876543210
W
MOD_FREQ
fedcba9876543210
W
Data
Description
Access to the Rx rate buffer data
Reads value at current RX_BUF_ADDR
address (0 to 23h)
Access to the Tx rate buffer data
XXXXh Writes value at current TX_BUF_ADDR address
(0 to 23h)
Sets the initialization value of the Tx rate buffer
address used for ADPCM Processor accesses
XXh Writes initialization value (TX_BUF_ADDR
address= 24h)
Sets the initialization value of the Rx rate buffer
address used for ADPCM Processor accesses
XXh Writes initialization value (TX_BUF_ADDR
address= 24h)
Sets the Nibble Marker register for Tx and Rx
rate buffer accesses by ADPCM Processor
XXXXh Write nibble marker value (TX_BUF_ADDR=
25h to 27h)
Access to modulator settings
XXXXh Writes modulator setting value
(TX_BUF_ADDR=28h to 32h)
Xh
Note:
The meaning and address for any RATE_BUF_DATA is set in the RATE_BUF_ADDR register.
MOD_FREQ. The unit for center frequency and frequency deviation words is 62.5 Hz.
These words are encoded as 2’s complement numbers.
The meaning and address for any RATE_BUF_DATA is set in the RATE_BUF_ADDR register.
MOD_FREQ. The unit for center frequency and frequency deviation words is 62.5 Hz.
These words are encoded as 2’s complement numbers.
Table 30. Bank 1 Register Description
BIT_SYNC
Field
Bank 1
Bit Position
INT_SYM_ERR1
fedcba9876543210
EXT2
R/W
R
SECOND_ORDER
fedcba9876543210
W
45
Data
Description
Read access to the integrated symbol error from the bit
synchronizer’s second order loop
XXXXh Reads error data bits [23..8] (bits [7..0] are in bank 0,
EXT6)
Write access to the bit synchronizer’s second-order loop
XXXXh Writes second order loop’s 16-bit value
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
Table 31. Bank 1 Register Description
EXT3
EXT4
EXT5R/W
RESERVED
Field
Bank 1
Bit Position
RESERVED
fedcba9876543210
R
W
Data
Description
Returns 0
0000h Must be left alone or written to 0000h (or
unpredictable results may occur)
Table 32. Bank 1 Register Description
CONTROL
Field
Bank 1
Bit Position
RESERVED
fedcb-----------
FS_INT_ENABLE
-----a----------
INTERRUPT_0_ENABLE
INTERRUPT_2_ENABLE
P0_WAKEUP_ENABLE
TX_PWR_DAC_DATA
EXT6
R/W
Data
R
W
R/W
0*
1
R/W
0*
1
R/W
0*
1
R/W
0000*
1xxx
x1xx
xx1x
xxx1
R/W
Xh
------9---------
-------8--------
--------7654----
------------3210
Description
Returns 0
No effect
Controls frame start interrupt (INT1)
Disables frame start interrupt
Enables frame start interrupt
Controls interrupt 0 (INT0 on P114)
Disables interrupt 0
Enables interrupt 0
Controls interrupt 2 (INT2 on P115)
Disables interrupt 2
Enables interrupt 2
Controls wake-up pins (P0[3..0])
Disables all wake-up pins
Enables P03 as wake-up pin (if in input mode)
Enables P02 as wake-up pin (if in input mode)
Enables P01 as wake-up pin (if in input mode)
Enables P00 as wake-up pin (if in input mode)
Access to Tx power 4-bit DAC output data
Sets output value
Note:
P0_WAKEUP_ENABLE. When enabled, pins P0[3..0] are active low wake-up pins for the Z87001 sleep mode.
The input signal is internally debounced and synchronized to the bit clock. It is internally given a minimum duration of one bit to
allow the software to exit sleep mode safely.
Table 33. Bank 1 Register Description
RESERVED
Field
Bank 1
Bit Position
RESERVED
fedcba9876543210
46
EXT7
R/W
R
W
Data
Description
Returns 0
No effect
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
Bank 0 Registers
Table 34. Bank 0 Register Description
EXT0
EXT1
EXT2
EXT3
EXT4
EXT5
R/W
RESERVED
Field
Bank 0
Bit Position
RESERVED
fedcba9876543210
Data
R
W
1
Description
Returns 0
No effect
Table 35. Bank 0 Register Description
INT_SYM_ERR0
Field
Bank 0
Bit Position
RESERVED
fedcba98--------
INT_SYM_ERR0
--------76543210
EXT6
R/W
R
W
R
W
DS96WRL0800
Data
XXh
Description
Returns 0
No effect
Read access to the integrated symbol error from the
bit synchronizer’s second order loop
Reads error data bits [7..0] (bits [23..8] are in bank1,
EXT2)
No effect
PRELIMINARY
47
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
Table 36. Bank 0 Register Description
RFRX_PWR_CTRL
Field
Bank 0
Bit Position
RFRX_POLARITY
f---------------
EXT7
R/W
R
W
RFRX_PWR_ON
Data
0
1
-edcba98--------
RESERVED
--------7-------
RFRX_PWR_OFF
---------6543210
R
W
R
W
R
W
xXh
xXh
Description
Controls the polarity of the TXSW (and RXSW)
output pins
Returns 0
TXSW active Low and RXSW active High
TXSW active High and RXSW active Low
Determines TXSW output pin turn-on time
referenced to the transmit frame counter
Returns 0
Bits 6-0 of turn-on time (=(x modulo 128) -1)
Returns 0
No effect
Determine TXSW output pin turn-off time
referenced to the transmit frame counter
Returns 0
Bits 6-0 of turn-off time (=(x modulo 128) -1)
Notes:
1. RFRX_POLARITY. Caution: notice the inverse polarity of the TXSW pin.
2. RFRX_PWR_ON, RFRX_PWR_OFF. Controls the TXSW output pin. The turn-on and off times are given in number of transmitted bit periods and are referenced to the TRANSMIT (!) Frame Counter. Only the 7 LSBits of the 9-bit value are programmable. The two MSBits have fixed values which depend on whether base station or handset is selected. For
RFRX_PWR_ON, the two bits are “00” on the base and “01” on the handset. For RFRX_PWR_OFF, the two bits are “01”
on the base and “10” on the handset.
3. Changes to these values take effect immediately.
4. To disable transmit power continuously, clear TX_ENABLE.
48
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
INSTRUCTION SET DESCRIPTION
Refer to Zilog’s Z89C00 User’s Manual, Chapter 5 (Instruction Set Features) and Chapter 6 (Assembly Lan-
guage Instruction Set), for a complete description of the
core processor’s instruction set.
Table 37. Instruction Set Summary
Instruction Description
ABS
Opcode
Absolute Value
Synopsis
Subroutine call
0010100
0010100
CCF
Clear carry flag
CALL
[<cc>,]<address>
Clear Carry Flag
Clear OP flag
Decrement
Increment
Jump
ADD A,P0:0
ADD A,D0:0
ADD A,#%1234
ADD A,@@P0:0
ADD A,%F2
ADD A, @P1:1
ADD A,X
A,<pregs>
A,<dregs>
A,<limm>
A,<memind>
A,<direct>
A,<regind>
A,<hwregs>
1
1
2
1
1
1
1
1
1
2
3
1
1
1
AND A,P2:0
AND A,D0:1
AND A,#%1234
AND A,@@P1:0
AND A, %2C
AND A,@P1:2+LOOP
AND A, EXT3
<cc>,<direct>
<direct>
2
2
2
2
CALL sub1
CALL Z,sub2
None
1
1
CCF
None
1
1
CIEF
None
1
1
COPF
A,<pregs>
A,<dregs>
A,<memind>
A,<direct>
A,<regind>
A,<hwregs>
A,<limm>
1
1
1
1
1
1
2
1
1
3
1
1
1
2
CP A,P0:0
CP A,D3:1
CP A,@@P0:0
CP A,%FF
CP A,@P2:1+
CP A,STACK
CP A,#%FFCF
<cc>A,
A
1
1
1
1
DEC NZ,A
DEC A
<cc>,A
A
1
1
1
1
INC PL,A
INC A
<cc>,<direct>
<direct>
2
2
2
2
JP NIE,Label
JP Label
JP [<cc>,]<address>
0100110
0100110
DS96WRL0800
1
1
2
3
1
1
1
INC [<cc>,] <dest>
1001000
1001000
JP
1
1
2
1
1
1
1
DEC [<cc>,]<dest>
1001000
1001000
INC
A,<pregs>
A,<dregs>
A,<limm>
A,<memind>
A,<direct>
A,<regind>
A,<hwregs>
CP<src1>,<src2>
Comparison
0111001
0110001
0110101
0110011
0110001
0110000
0110100
DEC
ABS NC,A
ABS A
COPF
1001010
CP
1
1
CIEF
1001010
COPF
1
1
CCF
1001010
CIEF
<cc>,A
A
AND<dest>,<src>
Bitwise AND
1011001
1010001
1010100
1010101
1010001
1010001
1010000
CALL
Example
ADD<dest>,<src>
Addition
1001001
1000001
1000100
1000101
1000011
1000001
1000000
AND
#
#
Words Cycles
ABS[<cc>,]<src>
1001000
1001000
ADD
Operands
PRELIMINARY
49
1
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
Table 37. Instruction Set Summary
Instruction Description
LD
MLD
MPYA
Opcode
Load destination
with source
0000000
0000001
0001001
0000001
0000101
0000011
0000111
0000100
0001100
0001010
0000110
0000010
0001001
0000001
0000100
0100101
0000101
0000001
0000000
Multiply
1010010
1010010
1011011
1011011
LD<dest>,<src>
Multiply and add
MPYA <srcl>,<src2>
[,<bank switch>]
1010010
1010010
1011011
1011011
MPYS
NEG
Multiply and
subtract
0010010
0010010
0011011
0011011
Negate
1001000
1001000
NOP
No operation
OR
Bitwise OR
0000000
1101001
1100001
1100100
1100101
1100011
1100001
1100000
50
Synopsis
MLD<srcl>,<srcl>
[,<bank switch>]
Operands
#
#
Words Cycles
Example
A,<hwregs>
A,<dregs>
A,<pregs>
A,<regind>
A,<memind>
A,<direct>
<direct>,A
<dregs>,<hwregs>
<pregs>,<simm>
<pregs>,<hwregs>
<regind>,<limm>
<regind>,<hwregs>
<hwregs>,<pregs>
<hwregs>,<dregs>
<hwregs>,<limm>
<hwregs>,<accind>
<hwregs>,<memind>
<hwregs>,<regind>
<hwregs>,<hwregs>
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
3
1
1
1
1
1
1
1
1
1
2
3
3
1
1
LD A,X
LD A,D0:0
LD A,P0:1
LD A,@P1:1
LD A,@D0:0
LD A, 124
LD 124, A
LD DO:0, EXT7
LD P1:1,#%FA
LD P1:1,EXT1
LD @P1:1,#%1234
LD @P1:1+,X
LD Y,P0:0
LD SR,D0:0
LD PC,#%1234
LD X,@A
LD Y,@D0:0
LD A,@P0:0-LOOP
LD X, EXT6
<hwregs>,<regind>
<hwregs>,<regind>,<ban
k switch>
<regind>,<regind>
<regind>,<regind>,<bank
switch>
1
1
1
1
1
1
1
1
MLD A,@P0:0+LOOP
MLD A,@P1:0,OFF
MLD @P1:1,@P2:0
MLD@P0:1,@P1:0,O
N
<hwregs>,<regind>
<hwregs>,<regind>,<ban
k switch>
<regind>,<regind>
<regind>,<regind>,<bank
switch>
1
1
1
1
1
1
1
1
MPYA A@P0:0
MPYA A,@P1:0,OFF
MPYA @P1:1,@P2:0
MPYA@P0:1,@P1:0,
ON
1
1
1
1
1
1
1
1
MPYS A,@P0:0
MPYS A,@P1:0,OFF
MPYS @P1:1,@P2:0
MPYS@P0:1,@P1:0,
ON
1
1
1
1
NEG NZ,A
NEG A
1
1
NOP
1
1
2
1
1
1
1
1
1
2
3
1
1
1
OR A, P0:1
OR A, D0:1
OR A,#%202
OR A,@@P2:1+
OR A, %2C
OR A, @P1:0-LOOP
OR A, EXT6
MPYS<src1>,<src2>
[,<bank switch>]
<hwregs>,<regind>
<hwregs>,<regind>,<ban
k switch>
<regind>,<regind>
<regind>,<regind>,<bank
switch>
NEG <cc>,A
<cc>, A
A
NOP
None
OR <dest>,<src>
A, <pregs>
A, <dregs>
A, <limm>
A, <memind>
A, <direct>
A, <regind>
A, <hwregs>
PRELIMINARY
DS96WRL0800
Z87001/Z87L01
ROMless Spread Spectrum Cordless Phone Controller
Zilog
Table 37. Instruction Set Summary
Instruction Description
POP
PUSH
RET
RL
Pop value
from stack
Push value
onto stack
Return from
subroutine
Rotate Left
Opcode
Synopsis
0001010
0000100
0000010
0000000
Shift left logical
DS96WRL0800
None
1
2
RET
<cc>,A
A
1
1
1
1
RL NZ,A
RL A
<cc>,A
A
1
1
1
1
RR C,A
RR A
None
1
1
SCF
None
1
1
SIEF
[<cc>,]A
A
1
1
1
1
SLL NZ,A
SLL A
None
1
1
SOPF
<cc>,A
A
1
1
1
1
SRA NZ,A
SRA A
A,<pregs>
A,<dregs>
A,<limm>
A, <memind>
A, <direct>
A, <regind>
A, <hwregs>
1
1
2
1
1
1
1
1
1
2
3
1
1
1
SUB A,P1:1
SUB A,D0:1
SUB A,#%2C2C
SUB A,@D0:1
SUB A,%15
SUB A, @P2:0-LOOP
SUB A, STACK
A, <pregs>
A, <dregs>
A, <limm>
A, <memind>
A, <direct>
A, <regind>
A, <hwregs>
1
1
2
1
1
1
1
1
1
2
3
1
1
1
XOR A, P2:0
XOR A,D0:1
XOR A,#13933
XOR A,@P2:1+
XOR A, %2F
XOR A, @P2:0
XOR A, BUS
SUB<dest>,<src>
Subtract
Bitwise
exclusive
OR
PUSH P0:0
PUSH D0:1
PUSH @P0:0
PUSH BU5
PUSH #12345
PUSH @A
PUSH @@P0:0
SRA<cc>,A
1001000
1001000
0011001
0010011
0010100
0010101
0010011
0010001
0010000
XOR
1
1
1
1
2
3
3
SOPF
1001010
SUB
1
1
1
1
2
1
1
SLL
Set OP flag
Shift right
arithmetic
<pregs>
<dregs>
<regind>
<hwregs>
<limm>
<accind>
<memind>
SIEF
1001000
1001000
SRA
POP P0:0
POP D0:1
POP @P0:0
POP A
SCF
1001010
SOPF
1
1
1
1
RR <cc>,A
1001010
SLL
1
1
1
1
RL <cc>,A
Set C flag
Set IE flag
<pregs>
<regs>
<regind>
<hwregs>
RET
0000000
Rotate Right
SIEF
1
Example
PUSH <src>
0001001
0000001
0000001
0000000
0000100
0100101
0000101
1001000
1001000
SCF
#
#
Words Cycles
POP <dest>
1001000
1001000
RR
Operands
XOR <dest>,<src>
1111001
1110001
1110100
1110001
1110011
1110001
1110000
PRELIMINARY
51