INFINEON PSB7238

ICs for Communications
Joint Audio Decoder-Encoder - Multimode
PSB 7238 Version 2.1
Data Sheet 1998-07-01
DS 1
PSB 7238 1998-07-01
Revision History:
Current Version: 1998-07-01
Previous Version:
Preliminary Data Sheet 06.98 (V1.2)
Page
Page
(in previous (in current
Version)
Version)
Subjects (major changes since last revision)
For questions on technology, delivery and prices please contact the Semiconductor Group Offices
in Germany or the Siemens Companies and Representatives worldwide: see our webpage at
http://www.siemens.de/semiconductor/communication
IOM®, IOM®-1, IOM®-2, SICOFI®, SICOFI®-2, SICOFI®-4, SICOFI®-4µC, SLICOFI®, ARCOFI® , ARCOFI®-BA,
ARCOFI®-SP, EPIC®-1, EPIC®-S, ELIC®, IPAT®-2, ITAC®, ISAC®-S, ISAC®-S TE, ISAC®-P, ISAC®-P TE, IDEC®,
SICAT®, OCTAT®-P, QUAT®-S are registered trademarks of Siemens AG.
MUSAC™-A, FALC™54, IWE™, SARE™, UTPT™, ASM™, ASP™, DigiTape™ are trademarks of Siemens AG.
Edition 1998-07-01
Published by Siemens AG,
HL SP,
Balanstraße 73,
81541 München
© Siemens AG 1998.
All Rights Reserved.
Attention please!
As far as patents or other rights of third parties are concerned, liability is only assumed for components, not for
applications, processes and circuits implemented within components or assemblies.
The information describes the type of component and shall not be considered as assured characteristics.
Terms of delivery and rights to change design reserved.
Due to technical requirements components may contain dangerous substances. For information on the types in
question please contact your nearest Siemens Office, Semiconductor Group.
Siemens AG is an approved CECC manufacturer.
Packing
Please use the recycling operators known to you. We can also help you – get in touch with your nearest sales
office. By agreement we will take packing material back, if it is sorted. You must bear the costs of transport.
For packing material that is returned to us unsorted or which we are not obliged to accept, we shall have to invoice
you for any costs incurred.
Components used in life-support devices or systems must be expressly authorized for such purpose!
Critical components1 of the Semiconductor Group of Siemens AG, may only be used in life-support devices or
systems2 with the express written approval of the Semiconductor Group of Siemens AG.
1 A critical component is a component used in a life-support device or system whose failure can reasonably be
expected to cause the failure of that life-support device or system, or to affect its safety or effectiveness of that
device or system.
2 Life support devices or systems are intended (a) to be implanted in the human body, or (b) to support and/or
maintain and sustain human life. If they fail, it is reasonable to assume that the health of the user may be endangered.
PSB 7238
Table of Contents
Page
1
1.1
1.2
1.3
1.4
1.5
1.6
1.7
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
Feature List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
Logic Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
Pin Configuration (top view) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
Pin Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
Functional Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
System Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
2
2.1
2.2
2.2.1
2.2.2
General Architecture and Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
Summary of the Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
Audio Functions and Supplementary Features . . . . . . . . . . . . . . . . . . . .23
3
3.1
3.1.1
3.1.2
3.1.3
3.1.4
3.1.5
3.2
3.3
3.3.1
3.3.2
3.3.2.1
3.3.2.2
3.3.3
Interfaces and Memory Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
IOM®-2 Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
Serial Audio Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
Parallel Host Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
External Memory Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
Clock Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
Shared Memories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
Directly Accessible Register Bank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
Input/Output Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
DSP/Host Com Area with a Multiplexed Host Interface . . . . . . . . . . . . . .34
Access to DSP/Host Com Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
Mailbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
DSP/Host Com Area with a Demultiplexed Host interface . . . . . . . . . . .42
4
4.1
4.2
4.3
4.4
4.4.1
4.4.2
4.5
4.5.1
Functional Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
PLL and Baud Rate Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
Audio and Data Reception/Transmission . . . . . . . . . . . . . . . . . . . . . . . . . .48
HDLC Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
IOM®-2 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
Monitor Channel Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
C/I Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
Programming Indirectly Accessible Registers . . . . . . . . . . . . . . . . . . . . . . .79
Programming via Parallel Host Interface . . . . . . . . . . . . . . . . . . . . . . . . .79
5
5.1
5.2
5.3
Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
Interrupt Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
Interrupt Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
Indirectly Accessible Configuration and Control Registers . . . . . . . . . . . . .85
Semiconductor Group
3
Data Sheet 1998-07-01
PSB 7238
Table of Contents
Page
5.4
HDLC Controller Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111
6
6.1
6.1.1
6.1.2
6.1.3
6.2
6.2.1
6.2.1.1
6.2.1.2
6.2.1.3
6.2.1.4
6.2.2
6.2.3
6.2.3.1
6.2.3.2
6.2.3.3
Firmware Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128
Basic Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128
Firmware Version Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128
Software Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129
Power Down Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130
Audio Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
Compressed Audio Protocols and Control of JADE . . . . . . . . . . . . . . .131
Outband Control of JADE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
Compressed Audio Protocol with Outband Control . . . . . . . . . . . . . .143
Compressed Audio Protocol with Inband Control . . . . . . . . . . . . . . .145
Control Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153
Uncompressed Data Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
Audio Interface Timings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
Uncompressed Data: Host IF, Compressed Data: Host IF . . . . . . . .159
Uncompressed Data: IOM IF, Compressed Data: Host IF . . . . . . . .167
Uncompressed Data: IOM IF, Compressed Data: Serial Audio
Interface (SAI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .176
7
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.7.1
7.7.2
7.7.3
7.7.4
7.7.5
Electrical Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178
Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178
Operating Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178
DC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .179
Capacitances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180
Oscillator Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180
XTAL 1,2 Recommended Typical Crystal Parameters . . . . . . . . . . . . . . .180
AC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181
Testing Waveform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181
Parallel Host Interface Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181
IOM®-2 Interface Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185
Serial Audio Interface Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187
External Memory Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189
8
Package Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190
Semiconductor Group
4
Data Sheet 1998-07-01
PSB 7238
Introduction
1
Introduction
1.1
Overview
The PSB 7238 Joint Audio Decoder Encoder Multimode (JADE MM) is a device which
implements voice compression algorithms using the Low-Delay Code Excited Linear
Prediction (LD-CELP) standard as defined in the ITU-T G.728 Recommendation, the
Algebraic Code Excited Linear Prediction (ACELP) and the Multi-Pulse Maximum
Likelihood Quantization (MP-MLQ) standard as defined in the ITU-T G.723
Recommendation, and for 7-kHz voice using the Sub-Band Coded Adaptive Differential
PCM (SBC-ADPCM) coding according to the G.722 Recommendation. In addition G.711
PCM audio coding is also supported.
Thus in the G.728 mode it compresses a digitized PCM (64 Kbit/s) or linear (128 Kbit/s)
voice signal into a 16 Kbit/s bit stream, and vice versa. The algorithm is implemented in
16-bit fixed point arithmetic and complies with the newest fixed point specification set
forth by the ITU.
In G.723 mode it compresses the PCM or linear voice signal into 5.3 Kbit/s (ACELP) or
6.3 Kbit/s (MP-MLQ) bit stream, and vice versa. The implementation complies with the
newest ITU-T C-code V5.1 and includes the G.723 Annex A (Voice Activity Detection
and Comfort Noise Generation).
In the G.722 mode it compresses the PCM compressed (128 Kbit/s) or the linear
uncompressed (256 Kbit/s) 7-kHz audio samples into a rate of 48/56/64 Kbit/s, and vice
versa.
The JADE finds applications in
–
–
–
–
–
ISDN Videophones (H.320)
Analog Videophones (H.324)
Video Conference Systems
Corporate Network voice concentrators, multiplexers and gateways
Data-over-voice and Voice-over-data terminals.
Other potential application areas are:
–
–
–
–
Networks (e.g. LANs) for packetized voice
Digital Added Main-Line (DAML) & Digital Circuit Multiplication Equipment (DCME)
Voice storage e.g. in PC based applications
Message recording and distribution.
The interfaces of the JADE allow a seamless integration into IOM-2 based systems. After
the circuit is set up in the proper mode of operation and parameter settings are
programmed by a controlling software, the circuit runs independent of the rest of the
system. Status and control information to/from the JADE can be transferred either
inband the compressed audio data via the corresponding selected interface or outband
using an 8-bit parallel host interface.
Semiconductor Group
5
Data Sheet 1998-07-01
PSB 7238
Introduction
In a Videophone system using the 8×8 (formerly IIT) VCP (Video Codec and Multimedia
Communications Processor) the Siemens PSB 7238 can work standalone without the
need of external initialization. The default configuration of the JADE is such, that no host
is needed in this case and the full communication is done between the VCP and the
Siemens PSB 7238.
The voice compression algorithms are implemented by an embedded 16-bit fixed point
Digital Signal Processor with all memories internal and no external memory needed.
Integration of these and other features, as well as perfectly matched interfaces with other
ICs allows for the implementation of highly optimized, low cost system solutions e.g. for
Videophones, Data-over-voice and Channel Multiplexing equipment.
For system integration, two serial HDLC/transparent data channels are implemented
which can be serviced by an attached host (or the on-chip DSP). System functions and
communication between the chip and an external controller is supported by a full-duplex
256-byte on-chip mailbox communication memory.
The circuit is offered in a Quad Flat Pack package with 100 pins (P-TQFP-100: size
14 × 14 mm, pitch 0.5 mm, height 1.4 mm).
Note: This Data Sheet gives a thorough description of the functions and hardware that
forms the base of PSB 7238. It includes information (e.g. External Memory
Interface) that is not needed for the PSB 7238 as a “ready to use plug and play”
G.728/G.723/G.722/G.711 audio compression device.
Semiconductor Group
6
Data Sheet 1998-07-01
Joint Audio Decoder-Encoder - Multimode
PSB 7238
Version 2.1
1.2
Feature List
Functions
– G.728 compression/decompression (16 Kbit/s)
– G.723 compression/decompression (6.3, 5.3 Kbit/s)
– G.722 compression/decompression for 7-kHz audio
(64, 56, 48 Kbit/s)
– G.711 compression/decompression (64 Kbit/s)
P-TQFP-100
– Outband controlled audio protocol with optimized
data rate
– Digital sampling rate conversion (16 kHz - 8 kHz) for G.722 audio with 8-kHz Codec
(bandwidth reduced to 3.4 kHz)
– Accepts/outputs uncompressed audio in 8-bit PCM A/µ law or 16-bit linear format
– Uncompressed/compressed audio switchable between different interface
combinations (IOM/Serial Audio Interface, IOM/Host, Host/Host)
– Inband controlled H.221/H.223 oriented audio protocol, e.g. for direct serial
connection to videocodec (VCP of 8×8 Inc., formerly IIT Inc.) as well as host based
solutions
– Stable reaction on interrupt handshake timing violations of e.g. a slow host
(Windows® PC)
System On-chip Functions
–
–
–
–
–
Two universal serial HDLC/transparent data controllers
IOM-2 monitor and C/I channels
Generation of programmable system clock output
Three programmable timers
Programmable on-chip PLL for internal clock generation from ISDN low frequency
(7.68 MHz) clock
Type
Ordering Code
Package
PSB 7238
Q67101-H6773
P-TQFP-100
Semiconductor Group
7
Data Sheet 1998-07-01
PSB 7238
Introduction
Interfaces
–
–
–
–
–
4-line IOM-2/PCM interface
5-line serial audio interface, e.g. for connection to videocodec/H.221/223 processor
Parallel 8-bit Host interface
4-line general purpose interface
External memory interface to external SRAM with programmable waitstates (0 to 15),
for development purposes only.
Control
– Programmable via parallel host interface
– Operating parameters and mode settings via a register bank
– Access to audio channels and HDLC/serial transparent data controllers from DSP or
an external host
– Interface to external software via a full-duplex 256-byte on-chip mailbox
– H.221/H.223 oriented inband configuration/mode switching
General
– Supply voltage: 3.0 - 3.6 V
– Additional 4.5 to 5.5 V supply for connection to 5-V systems without external
components
– Ambient temperature range 0 °C to + 70 °C
– P-TQFP-100 package
Semiconductor Group
8
Data Sheet 1998-07-01
PSB 7238
Introduction
1.3
Logic Symbol
Parallel Hos t Int erf ac e
AD (0: 7)
Serial
A (0: 3)
WR# RD#
(R/W#) (D S#)
CS#
AL E
INT#
INTR# EA # Res et
SIO
DD
SC L K
DU
IOM -2
Int erf ace
SR
DC L
ST
FSC
Audio
Interface
R FS
PSB 7238
T FS
CM1
VD D
Pow er
Supply
VD DA P, VDD P
XTAL 1
Sy s tem
XTA L2
Int erface
Cloc k
VS S
VD DA
CL KO
V SSAP, VSSA
CA (0: 15)
CD(0: 15) CR D# C WR# C PS#
Ex ternal Mem ory Interface
CD S#
GPIO(0 :3)
GP IO Interfac e
Figure 1
Semiconductor Group
9
Data Sheet 1998-07-01
PSB 7238
Introduction
Pin Configuration (top view)
SR
ST
RFS
TFS
A3
CM1
VSS
VDD
VSSA
XTAL 2
XTAL 1
VDDA
VSSAP
VDDAP
CLKO
SIO
RES ET
A1
A0
GP3
GP2
GP1
GP0
VSS
CD0
1.4
76
1
PSB 7238
P-TQFP-100
51
26
CA0
CD1
CA1
VSS
VDDP
CD2
CA2
CD3
CA3
VSS
VDD
CD4
CA4
CD5
CA5
VDD
VSS
VDD
CD6
CA6
CD7
CA7
VSS
VDD
CD8
CA14
CD1 4
VDDP
VSS
CA13
CD1 3
CA12
CD1 2
VDD
VSS
VDD
CA11
CD1 1
CA10
CD1 0
VDD
VSS
EA#
CDS #
CPS#
CWR#
CRD#
CA9
CD9
CA8
SCLK
ALE
CS#
RD#
WR#
AD7
AD6
AD5
AD4
VDDP
VSS
VDD
AD3
AD2
AD1
AD0
INTR#
INT#
A2
FSC
DCL
DU
DD
CA15
CD15
Figure 2
Semiconductor Group
10
Data Sheet 1998-07-01
PSB 7238
Introduction
1.5
Pin Description
Table 1
Parallel Host Interface
Pin No. Symbol Function Descriptions
16
AD0
I/O
15
AD1
I/O
14
AD2
I/O
13
AD3
I/O
9
AD4
I/O
8
AD5
I/O
7
AD6
I/O
6
AD7
I/O
4
DS
I
Data Strobe.
The rising edge marks the end of a valid read or write
operation (Motorola bus mode).
RD
I
Read.
This signal indicates a read operation (Siemens/Intel
bus mode).
R/W
I
Read/Write.
A 1 (“high”) identifies a valid host access as a read
operation. A 0 identifies a valid host access as a write
operation (Motorola bus mode)
WR
I
Write.
This signal indicates a write operation (Siemens/Intel
bus mode).
3
CS
I
Chip Select.
2
ALE
I
Address Latch Enable.
A “high” on this line indicates an address on AD(0:7)
(multipexed bus mode only). ALE also selects the
interface mode
82
A0
I
Address Bits A(0:3) (demultiplexed bus type)
83
A1
I
19
A2
I
96
A3
I
5
Semiconductor Group
Multiplexed Bus Mode: Address/Data Bus. Transfers
addresses from the host to JADE and data between the
host and the JADE
Demultiplexed Bus Mode: Data bus. Transfers data
between the host and the JADE
11
Data Sheet 1998-07-01
PSB 7238
Introduction
Table 1
Parallel Host Interface (cont’d)
Pin No. Symbol Function Descriptions
17
INTR
O (OD)
Interrupt Real-time.
Interrupt output line for high priority interrupt status
(serial audio receive/transmit, serial HDLC data
receive/transmit data) to host.
18
INT
O (OD)
Interrupt Request.
Interrupt output line for all other interrupt states.
IOM®-2 Interface
Table 2
Pin No. Symbol Function Descriptions
23
DD
I/O(OD)
Data Downstream on IOM-2/PCM interface.
22
DU
I/O(OD)
Data Upstream on IOM-2/PCM interface.
21
DCL
I/O(OD)
Data Clock.
Clock frequency is twice the data rate, or equal to the
data rate.
20
FSC
I/O(OD)
Frame Sync.
Marks the beginning of a physical IOM-2 or PCM frame.
Table 3
Serial Audio Interface
Pin No. Symbol Function Descriptions
1
SCLK
I/O
Serial Clock.
Serial clock for SR and ST.
100
SR
I/O(OD)
Serial Data Receive.
Should be connected to VSS via a pulldown resistor if not
used.
99
ST
I/O(OD)
Serial Data Transmit.
98
RFS
I/O
Audio Receive Frame Sync.
97
TFS
I/O
Audio Transmit Frame Sync.
Semiconductor Group
12
Data Sheet 1998-07-01
PSB 7238
Introduction
Table 4
System Clocks
Pin No. Symbol Function Descriptions
90
XTAL1
I
Crystal In or Clock In.
If a crystal is used, it is connected between XTAL1 and
XTAL2. If a clock signal is provided (via an external
oscillator), this signal is input via XTAL1. In this case the
XTAL2 output is to be left non-connected. The XTAL1
input has to be 50% duty cycle and must not exceed the
voltage range between VSSA and VDDA.
91
XTAL2
O
Crystal Out.
Left unconnected if a crystal is not used.
86
CLKO
O
Clock Out.
Output clock of frequency equal to the internal frequency
divided by a programmable factor.
Table 5
External Memory Interface (for Development Purposes only)
Pin No. Symbol Function Descriptions
75
CA0
O
C-Bus Address.
73
CA1
O
Used for addressing ROM or RAM external to the chip.
69
CA2
O
Is to be left NC if not used.
67
CA3
O
63
CA4
O
61
CA5
O
56
CA6
O
54
CA7
O
50
CA8
O
48
CA9
O
39
CA10
O
37
CA11
O
32
CA12
O
30
CA13
O
26
CA14
O
24
CA15
O
Semiconductor Group
13
Data Sheet 1998-07-01
PSB 7238
Introduction
Table 5
External Memory Interface (for Development Purposes only) (cont’d)
Pin No. Symbol Function Descriptions
76
CD0
I/O
C-Bus Data.
74
CD1
I/O
70
CD2
I/O
Data bus for external ROM or RAM. Is to be left NC if not
used.
68
CD3
I/O
64
CD4
I/O
62
CD5
I/O
57
CD6
I/O
55
CD7
I/O
51
CD8
I/O
49
CD9
I/O
40
CD10
I/O
38
CD11
I/O
33
CD12
I/O
31
CD13
I/O
27
CD14
I/O
25
CD15
I/O
43
EA
I
External program Access enable
When “high”, an access to program address range
(0000H - 7FFFH) fetches an instruction from on-chip
ROM. Access to 8000H - FFFFH addresses external
memory via the External Memory Interface.
When “low”, an access to 0000H - FFFFH (including
0000H - 7FFFH, normally reserved for on-chip software)
accesses external program memory via the External
Memory Interface.
47
CRD
O
C-Bus Read to external memories.
Left NC if not used.
46
CWR
O
C-Bus Write to external memories.
Left NC if not used.
45
CPS
O
C-Bus Select line for external program memory.
Left NC if not used.
44
CDS
O
C-Bus Select line for external data memory.
Left NC if not used.
Semiconductor Group
14
Data Sheet 1998-07-01
PSB 7238
Introduction
Table 6
General Control
Pin No. Symbol Function Description
95
CM1
I
Clock Mode
Selects the option for the generation of the DSP internal
working clock.
85
SIO
I/O
Serial I/O line.
When programmed as input, a rising or falling
(selectable) edge on this line may generate a maskable
interrupt INT (host) or INT1 (DSP).
When programmed as output, its state is directly
controlled by the DSP or the host.
84
RESET
I
Reset input. Reset time: > 1 ms.
Table 7
General Purpose I/O Interface
Pin No. Symbol Function Description
81
GP0
I/O (OD)
80
GP1
I/O (OD)
79
GP2
I/O (OD)
78
GP3
I/O (OD)
Table 8
General purpose I/O pins
Power Supply
Pin No. Symbol Function Descriptions
11
29
35
42
53
59
66
72
77
94
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
VSS
I
Ground (common to VDD and VDDP).
I
I
I
I
I
I
I
I
I
Semiconductor Group
15
Data Sheet 1998-07-01
PSB 7238
Introduction
Table 8
Power Supply (cont’d)
Pin No. Symbol Function Descriptions
I
89
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDD
VDDP
VDDP
VDDP
VDDA
I
Separate positive power supply voltage (3.0 - 3.6 V) for
Clock Generation Unit (Oscillator).
92
VSSA
I
Separate Ground (0 V) for Clock Generation Unit
(Oscillator).
87
VDDAP
I
Separate positive power supply voltage (3.0 - 3.6 V) for
Clock Generation Unit (PLL).
12
36
60
93
34
41
52
58
65
10
28
71
Positive power supply voltage (3.0 - 3.6 V).
I
I
I
I
I
I
I
Note: In former versions, pins 34, 41, 52, 58 and 65
could be connected to either VDD (for special
version with external memory) or to VDDP (for
compatibility with other JADE versions). This
version requires them to be connected to VDD.
I
I
I
Positive power supply voltage (4.5 - 5.5 V) for external
interfaces.
I
Note: The power supply for the PLL requires pin 87
connected to VDDAP. In former versions pin 87 was
connected to VDDP.
88
VSSAP
Semiconductor Group
I
Separate Ground (0 V) for Clock Generation Unit (PLL)
16
Data Sheet 1998-07-01
PSB 7238
Introduction
1.6
Functional Block Diagram
SIO AD(0 :7) A(0 :3 ) R D#
WR# C S#
AL E
INTR#
IN T#
Re se t
EA#
Parallel Host Interface
Mon, C/I
Control
SR
ST
HDLC/
Dat a
Channels
A udio
Channels
SC LK
Serial
Audio
I/F
DD
IOM/
PCM
DU
D CL
R FS
Mailbox
Mailbox
256 by te
256 by te
TFS
BRG
clock
gen/
PLL
D SP
C ore
Conf ig/Cont rol
Regis ters
RAM
Ti mers
FSC
C M1
C L KO
XTA L1
XTA L2
ROM
GPIO
External Memor y Interface
C A(0 :15 )
C D(0 :15)
C RD#
I/F
GP(0:3)
CWR# C PS# C DS#
Figure 3
Detailed description see Chapter 2.
Semiconductor Group
17
Data Sheet 1998-07-01
PSB 7238
Introduction
1.7
System Integration
Example of integration in ISDN/analog videophone:
The first example represents a low-cost solution for a desk-top standalone videophone
that connects to an ISDN S0 bus (ISDN basic access) or an analog telephone line.
The ISDN basic access consists of two 64 Kbit/s so-called B-channels to carry user
information (voice, data, …), and a separate 16 Kbit/s D-channel primarily used for
signaling. The video and audio are both compressed so that they are carried, along with
additional control information, in the two B-channels, or 128 Kbit/s.
The analog telephone line can carry up to 33.6 Kbit/s using a V.34+ modem.
The general aspects of videotelephony are covered by ITU-T H.320/H.324
recommendations. The video is compressed according to the H.261 (sometimes called
“p × 64”) or the H.263 recommendation.
For the ISDN videophone (H.320) the compressed video and audio signals are
multiplexed together with additional synchronization and control information into two
B-channels, which are separately switched via the network and thus have to be
resynchronized at the other end. The multiplexing and resynchronization of the
B-channels is specified by the H.221 recommendation (see Figure 4).
For the analog videophone (H.324) the compressed video and audio signals are
multiplexed together with additional control information into a single communication link.
The multiplexing is specified by the H.223 recommendation (see Figure 4).
Figure 4
Using non-parametric compression techniques, audio can be compressed to 64 Kbit/s
PCM (logarithmical A- or µ-law approximation for 3.1-kHz voice acc. to G.711) or
48/56/64 Kbit/s sub-band coded adaptive PCM (for 7-kHz audio acc. to G.722). This
leaves, however, only approximately 64 Kbit/s for video on the ISDN which, at this rate,
yields only a marginally good picture quality. For the analog videophone it’s not even
possible to transfer only audio at this data rate.
Semiconductor Group
18
Data Sheet 1998-07-01
PSB 7238
Introduction
In order to make the best possible use of the total bandwidth and obtain the best possible
video quality, the audio should require only a small fraction of the total data rate. This is
made possible by using parametric compression techniques such as LD-CELP
(16 Kbit/s), ACELP (5.3 Kbit/s) or MP-MLQ (6.3 Kbit/s). Above all, the corresponding
norms (G.728 and G.723) are internationally adopted standards, so that compatibility
between equipment from different manufacturers is ensured.
A low-cost H.320/324 videophone solution for both ISDN and POTS line as a PCI card
for commercial PC’s is shown in Figure 5.
ARCOFI-SP
IOM-2
SIEMENS
SRAM
PSB 2163
MPEG 1
ISDN
Stereo DAC
Video
SRAM/DRAM
ISAC-S TE
SIEMENS
SIEMENS
PSB 7238
PSB 2186
Codec
Video in
PAL/NTSC
Camera
JADE MM
Video out
Video
Capture
PCI
Bus Interface
Host
SIEMENS
SAB 83C515A
V.34 Modem
(synchronous access)
PCI Bus
........
POTS
Figure 5
This “multimode” board is capable to work with whatever telephone line is available,
digital ISDN or analog POTS.
The JADE MM and the video codec chip (e.g. the Video Communication Processor
“VCP” from 8×8 Inc.) constitute the heart of the videophone.
Both (together with the microcontroller 83C515) are connected to the PC via the PCI bus
using PCI bus interface (e.g. the “VPIC” of 8×8 Inc.).
The JADE MM compresses/decompresses audio according to the ITU-T standards
G.728, G.723, G.722 and G.711 and runs a fully inband controlled protocol on the
interface to the video codec. It receives/transmits uncompressed audio via the IOM-2
interface from/to the ARCOFI-SP. The setup for this application is done automatically
after a hardware reset, so no additional initialization by a host is required. Since the
JADE MM has all its memories on chip, no external SRAM needs to be connected.
Semiconductor Group
19
Data Sheet 1998-07-01
PSB 7238
Introduction
The ARCOFI-SP (Audio Ringing Codec Filter) is a hands-free codec for 3.1-kHz voice
which performs detection and elaborate balancing of the received and transmitted audio
to suppress undesirable effects due to acoustical feedback of the signal from the remote
subscriber. The quality obtained is very close to that of echo-free full duplex
conferencing.
The video is captured by a PAL/NTSC camera and digitized and demodulated e.g. by a
standard SAA 7110 which is directly connected to the video processor. Alternatively, a
digital camera may be used, which can be connected directly to the video processor.
The video processor compresses and decompresses video according to the ITU-T
standards H.261/263 and multiplexes/demultiplexes video, audio and data according to
H.221/223. The video processor uses DRAMs and SRAMs to store data and program
code.
When operating in the ISDN mode, the H.221 multiplexed data stream is sent via the two
B-channels of the IOM-2 interface to the ISAC-S-TE (ISDN Subscriber Access Controller
for S-interface) which transmits them to the ISDN according to I.430 S0 interface
recommendation. The ISAC-S-TE also handles, together with the attached
microcontroller (e.g. SAB 83C515), D-channel layer-2 and layer-3 call control signaling.
The reverse functions are performed on the B-channels received from the network.
Instead of an S0, it is conceivable to implement any other layer-1 interface just by
replacing the ISAC-S TE by an appropriate transceiver, e.g. by a transceiver for 2-wire
digital transmission ISAC-P PSB 2196 or ISDN echo canceller for 2B1Q.
When operating in the POTS mode, the H.223 multiplexed data stream is sent via the
PCI interface to a V.34 modem. The modem must be able to work in synchronous mode,
i.e. the H.223 multiplexed data shall be applied directly to the V.34 synchronous data
pump. When an external, non-integrated V.34 modem is utilized, control between the
modem and the terminal shall be via ITU-T V.25ter and V.80. In such cases the physical
interface is implementation specific.
To achieve “lip synchronization”, the audio may be delayed with respect to the video.
This is necessary because of the higher transmission delay suffered by the video signal,
due to the elaborate H.261/263 video compression. A delay of approximately
0.5 seconds is enough in most practical cases. To make maximum use of the existing
memory in the system, the delay is performed by the video processor with its external
RAMs.
In videophone applications calling for high quality, 7-kHz wide-band audio, the PSB 7238
can be switched to G.722 mode. In this case the rate of the compressed audio is 48, 56
or 64 Kbit/s.
When decoding MPEG bitstreams, the audio D/A conversion is provided by a stereo
audio DAC.
Demomstration board designs for H.320 PC based videophones containing the chip set
from Siemens AG and 8×8 Inc. are available and can be ordered from Siemens/8×8.
Semiconductor Group
20
Data Sheet 1998-07-01
PSB 7238
General Architecture and Functions
2
General Architecture and Functions
2.1
Architecture
Figure 6 shows a sketch of the PSB 7238 architecture with its most important functional
modules.
SIO
A D(0 :7) A(0 :3) RD#
WR# C S#
A LE
INTR#
IN T#
Re se t
EA#
Parallel Ho st Interface
Mo n, C/I
Control
Audio
Rec 1
SC LK
Trm 1
SR
ST
R FS
Serial
Audio
I/F
DD
HDLC 1
IOM/
PCM
Rec 2
Trm 2
FSC
Ma ilb ox
Mailbox
256 byt e
256 b y te
TFS
Con fi g/ Cont rol
Regis ters
Ti m ers
32 KW pro gram
ROM
8 K W dat a
X-RO M
2 K W dat a
X-RA M
DU
D CL
HDLC 2
D SP
C or e
1 K W dat a
X -RA M
BRG
clo ck
gen/
PLL
C M1
C L KO
XTA L1
XTA L2
1 K W d ata
Y-RA M
GPIO
I/F
GP( 0:3 )
External Memor y Interface
C A(0 :15 )
C D(0 :15)
C RD#
CWR# C PS# C DS#
Figure 6
The audio processing of the PSB 7238 is based on a 16-bit fixed point DSP core, SPCF
(Signal Processor Core Fast).
The Clock Generator is responsible for generating the internal clocks for the SPCF. A
Baud Rate Generator provides an output clock of programmable rate.
The Parallel Host Interface is used to control the circuit through an associated host via
interrupt handshake procedures. Alternatively, the circuit can be controlled via the serial
audio interface, thus enabling standalone applications to be implemented.
Communication between the host, if used, and the DSP is interrupt supported, via a
full-duplex 256-byte on-chip Communication Memory Mailbox.
Semiconductor Group
21
Data Sheet 1998-07-01
PSB 7238
General Architecture and Functions
Two receive and two transmit audio channels are provided. They are input/output on the
ISDN Oriented Modular (IOM-2) or the Serial Audio Interface (SAI) interfaces in
individually programmable time-slots. These channels are accessed from the DSP
and/or the parallel host interface.
The two HDLC Controller channels can be serviced by the DSP or the parallel host
interface. The serial data for the HDLC controllers are located in programmable
time-slots on IOM-2 and/or SAI.
For development purposes, the External Memory Interface allows programs to be
executed from an external memory and external data memory to be used.
2.2
Functions
2.2.1
Summary of the Functions
The main functions implemented by the PSB 7238 are:
–
–
–
–
–
–
–
–
–
–
G.728 compression/decompression (16 Kbit/s)
G.723 compression/decompression (6.3, 5.3 Kbit/s)
G.722 compression/decompression for 7-kHz audio (64, 56, 48 Kbit/s)
G.711 compression/decompression (64 Kbit/s)
Digital sampling rate conversion (16 kHz - 8 kHz) for G.722 audio with 8-kHz codec
(bandwidth reduced to 3.4 kHz)
Accepts/outputs uncompressed audio 8-bit PCM A/µ law or 16-bit linear format
Uncompressed/compressed audio switchable between different interface
combinations (IOM/Serial Audio Interface, IOM/Host, Host/Host)
Inband controlled H.221/H.223 oriented audio protocol, e.g. for direct serial
connection to videocodec (VCP of 8×8 Inc., formerly IIT Inc.)
Outband controlled audio protocol with optimized data rate
Stable reaction on interrupt handshake timing violations of e.g. a slow host
(Windows® PC)
For more details on the hardware (necessary for a better understanding of some of the
topics described in the present chapter), please refer to the other chapters of this data
sheet.
Semiconductor Group
22
Data Sheet 1998-07-01
PSB 7238
General Architecture and Functions
2.2.2
Audio Functions and Supplementary Features
General
The uncompressed/compressed audio is applied to the interfaces as follows:
Uncompressed Audio
Compressed Audio
IOM-2 (transparent)
SAI (H.221/223 oriented audio protocol or
transparent)
IOM-2 (transparent)
Host IF (interrupt handshake protocol with
minimized interrupt load for the host)
Host IF (interrupt handshake protocol)
Host IF (interrupt handshake protocol)
“Transparent” means that data is received/transmitted in a time-slot without protocol.
1. Full Duplex G.728 Encoding/Decoding of One Audio Channel
Audio coding according to ITU-T G.728 fixed point recommendation using Low Delay
Code Excited Prediction (LD-CELP, 16 Kbit/s), offering toll quality audio. The postfilter
of the G.728 may be switched on (offering a higher quality impression) or off (providing
objective better S/N values).
2. Full Duplex G.723 Encoding/Decoding of One Audio Channel
Audio coding according to ITU-T G.723 recommendation using Multipulse Maximum
Likelihood Quantization (MP-MLQ, 6.3 Kbit/s) or Algebraic Code Excited Linear
Prediction (ACELP, 5.3 Kbit/s). The high pass filter, the postfilter and the Voice Activity
Detection of the G.723 may be independently switched on or off.
3. Full Duplex G.722 Encoding/Decoding of One Audio Channel
Audio coding for 7-kHz voice using the Sub-Band Coded Adaptive Differential PCM
(SB-ADPCM) algorithm according to the G.722 Recommendation.
4. Serial H.221/223 Oriented Audio Protocol
The PSB 7238 supports a serial H.221/223 oriented audio protocol for direct connection
to a Videocodec (VCP of 8×8 Inc.). This protocol provides an outband synchronization
of the audio bit streams by using block structures for the compressed audio data.
Semiconductor Group
23
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
3
Interfaces and Memory Organization
3.1
Interfaces
3.1.1
IOM®-2 Interface
Electrical Interface
The IOM-2 interface is a 4-wire interface with two data lines (DD and DU, programmable
open drain or push-pull), a data clock line (DCL input/output) and a frame sync signal
(FSC input/output). The data clock is by default equal to twice the data rate (“Double
Rate”). However, DCL may be set equal to the data rate (“Single Rate”) by programming.
In standalone configuration the clock signal is always “Double Rate”.
In terminal applications, the bit rate on the interface is normally 768 Kbit/s, in line card
applications it is 2048 Kbit/s (for details, see IOM-2 Interface Reference Guide).
However, the data rate may be different (between 16 Kbit/s and 4.096 Mbit/s and the
DCL rate correspondingly between 16 kHz and 4.096 MHz), since the interface can be
considered as a general purpose TDM (Time-Division Multiplex) highway.
The total number of time-slots on the interface is not explicitly programmed: instead, the
FSC signal (at repetition rate 8 kHz) always marks the TDM physical frame beginning.
See Figure 7.
Figure 7
DCL
Bits on DU/DD are clocked out with the rising edge of DCL and
latched in with the falling edge of DCL. Frequency 16 kHz to
4.096 MHz.
FSC (8 kHz)
Marks the beginning of the physical frame on DU and DD. The first
bit in the frame is output after the rising edge of FSC. The first bit in
the frame is latched in with the first falling edge after FSC has gone
“high” if CRS = 1, or after the second edge (at 3/4) if CRS = 0.
Semiconductor Group
24
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
Channels
The following channels may be programmed on the IOM-2 interface: two receive audio
channels, two transmit audio channels, one monitor channel, two C/I channels, two
receive and two transmit HDLC channels:
Audio receive 1 and receive 2 channels
Audio transmit 1 and transmit 2 channels
Independently programmable on DD or
DU, with programmable locations (start
at bit 1 … 512) and lengths (1 … 32 bits)
w.r.t. FSC
Monitor channel
Programmable on DD(in)/DU(out) or
DD(out)/DU(in), with programmable
time-slot (3rd byte in multiplex 0, …, 15)
after FSC
Two C/I channels
Programmable on DD(in)/DU(out) or
DD(out)/DU(in), with programmable
length (4 or 6 bits) and position (4th byte
in multiplex 0, …, 15) after FSC
Two HDLC receive and transmit channels
Independently programmable on DD or
DU, with programmable locations (start
at bit 1 … 512) and lengths
(1 … 256 bits) w.r.t. FSC
The transfer of voice samples is performed with the help of an interrupt with repetition
rate 8 kHz derived from the FSC signal. A double-buffered register is provided for each
channel, accessible from the DSP and from the parallel host interface. The double
buffered register ensures that enough time is always provided for reading and writing
data before an overflow/underflow occurs, independent of the location of the time-slots.
Alternatively, the audio samples can be transferred between the DSP or Host and IOM-2
by using an interrupt generated when a programmable number (1 … 32) of bits are
shifted out (number independent of the time-slot length on the line).
Outside the time-slots where transmission takes place the DU and DD lines are in high
impedance.
Semiconductor Group
25
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
3.1.2
Serial Audio Interface
The Serial Audio Interface is a generic 5-line serial interface with the following lines:
SCLK
Serial Bit Clock
Input or output.
SR
Serial Receive
Input/output.
ST
Serial Transmit
Input/output.
RFS
Receive Frame Sync
Input or output.
TFS
Transmit Frame Sync
Input or output.
Figure 8 shows an example where RFS is input and TFS is output.
Figure 8
SCLK
Input or output
Bits on SR/ST are clocked out with the rising edge of SCLK and latched in with
the falling edge of SCLK. Alternatively, bits can be clocked out with the falling
edge of SCLK and latched in with the rising edge. When SCLK is programmed
as output, it is derived from a programmable baud rate generator. Additionaly,
SLCK can be set to strobed operation.
RFS
Input or output
Marks the beginning of the physical frame on SR.
When input
Sampled with a falling edge of SCLK.
When output
Clocked out with the rising or falling edge of SCLK
(duration = 1 SCLK period).
Repetition rate (continuous mode) or number of
pulses (burst mode) is programmable
Semiconductor Group
26
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
TFS
Input or output
Marks the beginning of the physical frame on ST.
When input
Sampled with a falling edge of SCLK.
When output
Clocked out with the rising or falling edge of SCLK
(duration = 1 SCLK period).
Repetition rate (continuous mode) or number of
pulses (burst mode) is programmable.
SCLK is derived from the chip-internal DSP clock via a programmable baud rate
generator (division factor 1, 2, 3, …, 1024).
The Receive Frame Sync (RFS), when programmed as output, has two selectable
modes of operation:
– In the continuous mode (CONT = 1), pulses are continuously generated, separated
by a distance
16 × (PRD + 1) bits from each other, where PRD = 0, …, 255.
– In the burst mode (CONT = 0), pulses are generated upon command a
programmable number of times (REP + 1: 1, …, 1024), spaced 16 bits apart from
each other.
The same applies to TFS when it is an output.
Channels
Two Audio receive and transmit channels
Independently programmable on SR, ST,
DU or DD with programmable locations
(start at bit 1 … 512) and lengths
(1 … 32 bits) with respect to RFS/TFS.
Two HDLC receive and transmit channels
Independently programmable on SR, ST,
DU or DD with programmable locations
(start at bit 1 … 512) and lengths
(1 … 256 bits) with respect to RFS/TFS.
Semiconductor Group
27
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
3.1.3
Parallel Host Interface
The parallel host interface can be selected to be either of the
1. Motorola type with control signals CS, R/W, DS
2. Siemens/Intel demultiplexed bus type with control signals CS, WR, RD
3. or of the Siemens/Intel multiplexed address/data bus type with control signals CS,
WR, RD, ALE
The selection is performed via pin ALE as follows:
ALE tied to VDD → (1)
ALE tied to VSS → (2)
Edge on ALE → (3)
The occurence of an edge on ALE, either positive or negative, at any time during the
operation immediately selects the multiplexed bus type. A return to one of the other is
possible only if a hardware reset is issued.
3.1.4
External Memory Interface
The external memory interface allows the connection of both program and data
memories to the PSB 7238. The access to either type of memory is determined by the
signals CPS and CDS, respectively. In standard applications, the external memory
interface used as a program memory interface is normally not needed, but is reserved
for development purposes.
The upper 32k half (8000H - FFFFH) of the address space is reserved for execution of
software from external memory.
For executing software in the lower address range 0000H - 7FFFH, a control line EA
(External Access) determines whether program is fetched from internal or external
memory. Thus, in standard applications, the EA line should always be “high”.
The DSP program execution can be controlled from the outside by loading the
PC-counter of the DSP via the parallel host interface.
The external memory interface implements:
– protection against reading the internal ROM.
Semiconductor Group
28
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
3.1.5
Clock Interface
The chip internal clock is derived from a crystal connected across XTAL1,2 or from an
external clock input via pin XTAL1. Two different clock options are provided, controlled
by the clock mode pin CM1.
These clock modes are:
CM1 = 0
The internal clock circuitry generates a frequency 4.5 times the input
on XTAL1(,2). The internal frequency required is 34.56 MHz and is
obtained by providing a frequency of 7.68 MHz on XTAL1 input.
CM1 = 1
The internal frequency is directly input via XTAL1(,2). When using a
crystal, a 34.56 MHz crystal swinging at its basic harmonic has to be
connected to XTAL1,2.
After reset the pin CLKO outputs a frequency of 7.68 MHz, independent of the selection
of CM1 bit. Alternatively, CLKO can be programmed to output the frequency of a
programmable divider (CKOS bit in register 2002H). Thus, a clock of frequency equal to
the internal clock divided by a programmable baud rate factor (1, 2, 3, …, 219) can be
generated.
When using the PLL (CM1 = 0), it is made sure that during reset phase CLKO delivers a
continuous 7.68 MHz clock. When using the non-PLL mode (CM1 = 1) CLKO goes low
while reset phase.
3.2
Shared Memories
Note: The absolute addresses for the different internal register banks and memories are
given here and in the rest of this Data Sheet both as seen from the host and from
the embedded DSP, the latter information being included for the sake of
completeness only.
Directly Accessible Register Bank (DARB)
The host accesses directly via its 8-bit address bus the so-called Directly Accessible
Register Bank (DARB) located between DSP addresses 3000H and 30FFH.
Semiconductor Group
29
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
Figure 9
This area is in turn divided into four blocks of 64 bytes each according to their functions.
Not all the addresses in each of these 64-byte areas are used. An overview of the
functions of these 64-byte areas is given in Figure 10, please refer also to the
appropriate chapters for a detailed description.
1. Locations for reading and writing samples “in real time” from/to the serial interfaces
(IOM-2 and serial audio interface) - Input/Output area (see Chapter 3.3.1)
2. Area for communication between the host and the embedded DSP, for programming
parameters and reporting status conditions - DSP/Host Com area (see Chapter 3.3.2
and Chapter 3.3.3)
3. Register bank for HDLC Controller 1 - accessed by host if HHA1 (configuration bit) is
‘1’ - HDLC1
4. Register bank for HDLC Controller 2 - accessed by host if HHA2 (configuration bit) is
‘1’ - HDLC2
.
Figure 10
Semiconductor Group
30
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
3.3
Directly Accessible Register Bank
3.3.1
Input/Output Registers
This area contains the locations for receiving/transmitting real-time audio and data
between the serial interfaces (IOM-2 and serial audio interface) and the host (or
embedded DSP).
The PSB 7238 implements two receive and two transmit audio channels, denoted RC1,2
and XC1,2 respectively. Further, two receive and two transmit channels are provided to
access the HDLC1,2 receiver input data and the HDLC1,2 transmitter output,
respectively, called HR1,2 and HX1,2.
Transfer of audio samples is interrupt supported, whereby two possibilities are provided:
– interrupt status generated after a programmable number of bits (1, …, 32) have been
shifted in/out;
– interrupt indicating the start of a physical frame (normally at 8 kHz, either from FSC,
RFS or TFS frame sync pulses): in this case the number of significant bits depends
on the time-slot length programmed for that channel on the line (DU/DD/SR/ST).
The interrupt statuses may generate a maskable interrupt on the high priority interrupt
lines INTR (Host) and/or INT0 (embedded DSP), respectively.
RC1, RC2, XC1, XC2, HR1, HR2, HX1, HX2 channel registers are located in the address
range 00H - 3FH for the host, and in the memory mapped area 3000H - 303FH for the
DSP. The register banks for the host and the DSP are physically separate from each
other. The read registers and write registers are physically separate.
The addresses for these registers are such that a 32-bit sample can be accessed from
the DSP via only two 16-bit read/write operations (16-bit data bus). From the host, the
access is byte-by-byte (8-bit data bus).
List of Registers
RC1:
RC2:
XC1:
XC2:
HRR1:
HRW1:
HXR1:
HXW1:
HRR2:
HRW2:
HXR2:
HXW2:
32-bit register for audio receive channel 1 (read)
32-bit register for audio receive channel 2 (read)
32-bit register for audio transmit channel 1 (write)
32-bit register for audio transmit channel 2 (write)
32-bit register for reading data from HDLC receiver 1 input shift register
32-bit register for writing data to be loaded into HDLC receiver 1 input
32-bit register for reading data from HDLC transmitter 1 output
32-bit register for writing data to HDLC transmitter 1 output shift register
32-bit register for reading data from HDLC receiver 2 input shift register
32-bit register for writing data to be loaded into HDLC receiver 2 input
32-bit register for reading data from HDLC transmitter 2 output
32-bit register for writing data to HDLC transmitter 2 output shift register
Semiconductor Group
31
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
Memory Map
Figure 11
Semiconductor Group
32
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
Alignment of Data for Audio Channels
The most significant bit is always the first bit received/transmitted. Therefore, if audio is
processed in units of N bits (N programmable between 1 and 32), the alignment of the
data for receive and transmit audio channels in the registers is as shown in the
Figure 12.
Figure 12
Alignment of Data for HDLC/Transparent Serial Data Receiver and Transmitter
Registers
In the HDLC controllers the reception/transmission of most significant or least significant
bit can be selected by control switches (RMSB, XMSB). Nevertheless, for serial data
communication, the convention is that the least significant bit of user data is
received/transmitted first. In order to have an identical format for the data in the serial
controller input/output registers as in the FIFOs, the data is aligned in the registers as
shown below (the available options for data unit sizes when pre/postprocessing
HDLC/transparent data are: 1, 2 or 4 bytes).
Figure 13
Semiconductor Group
33
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
3.3.2
DSP/Host Com Area with a Multiplexed Host Interface
The DSP/host communication area contains the registers to support hardware and
software interrupts and special purpose registers that support communication between
the embedded DSP and the host. In multiplexed mode, address and data are multiplexed
on pins AD(0-7). It is necessary e.g for indirect programming of the configuration and
control registers from the host and for a complete access to all host addresses.
3.3.2.1
Access to DSP/Host Com Area
The address mapping in multiplexed mode is given in Table 9.
Table 9
Address Mapping of DSP/Host Com Area (Multiplexed Mode)
DSP
DSP Write
Address (always
16 bit Wide)
3076H
3074H
3072H
3070H
DSP Read
(always
16 Bit Wide)
Host
Address
AD0-7
Acknowledge
INT
Interrupt INT
Mask
Interrupt INT
Status
Host Write
Host Read
(always 8 bit (always 8 bit
Wide)
Wide)
FFH - FEH reserved
reserved
FDH - FCH reserved
reserved
77H
Acknowledge
INT MSB
76H
Acknowledge
INT LSB
75H
Interrupt INT
Mask MSB
Interrupt INT
Status MSB
74h
Interrupt INT
Mask LSB
Interrupt INT
Status LSB
73H
Acknowledge
INTR
71H
Interrupt
INTR Mask
MSB
Interrupt
INTR Status
MSB
70H
Interrupt
INTR Mask
LSB
Interrupt
INTR Status
LSB
6CH
reserved
reserved
Acknowledge
INTR
Interrupt
INTR Mask
Semiconductor Group
Interrupt
INTR Status
34
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
Table 9
Address Mapping of DSP/Host Com Area (Multiplexed Mode) (cont’d)
DSP
DSP Write
Address (always
16 bit Wide)
DSP Read
(always
16 Bit Wide)
Host
Address
AD0-7
Host Read
Host Write
(always 8 bit (always 8 bit
Wide)
Wide)
6AH
reserved
reserved
3061H
Cntrl DSP →
Host MSB
Cntrl Host →
DSP MSB
61H
Cntrl Host →
DSP MSB
Cntrl DSP →
Host MSB
3060H
Cntrl DSP →
Host LSB
Cntrl Host →
DSP LSB
60H
Cntrl Host →
DSP LSB
Cntrl DSP →
Host LSB
Note: Read and write
accesses to 3060H and
3061H from the DSP
are 8bit wide only.
3058H
IND Interrupt
Status
INDB (LSBit)
58H
INDB (LSBit)
IND Interrupt
Status
3050H
INHB (LSBit)
INH Interrupt
Status
50H
INH Interrupt
Status
INHB(LSBit)
4CH
Mailbox IO
write
Mailbox IO
read
Semiconductor Group
35
4AH
Mailbox write address
48H
Mailbix read address
47H
Ext. Memory
Data high
46H
Ext. Memory
Data low
45H
Ext. Memory
Addr high
44H
Ext. Memory
Addr low
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
Table 9
Address Mapping of DSP/Host Com Area (Multiplexed Mode) (cont’d)
DSP
DSP Write
Address (always
16 bit Wide)
DSP Read
(always
16 Bit Wide)
Host
Address
AD0-7
Host Write
Host Read
(always 8 bit (always 8 bit
Wide)
Wide)
3041H
Reg Data
DSP → Host
Reg Data
Host → DSP
41H
Reg Data
Host → DSP
Reg Data
DSP → Host
3040H
RDY(LSBit)
Conf/Cont
Reg Address
40H
Conf/Cont
Reg Address
RDY(LSBit)
The functions of these registers are described below.
Indirect Access to Configuration and Control Registers
Writing of hardwired registers (configuration and control registers) in the DSP memory
(from 2000H to 203FH) can be effected through the parallel host interface.
For the last case two directly accessible locations are provided in the DSP/host com area
(host addresses 40H and 41H). A write operation in the first of these registers with a
command (read/write) and a 6-bit address offset will cause the DSP to read or write a
configuration/control register in address space 2000 H - 203FH. The second location
(host address 41H) contains the data read/written from/to the requested location.
Table 10
DSP
DSP Write
Address (always
16 bit Wide)
DSP Read
(always
16 bit Wide)
Host
Address
AD0-7
Host Write
Host Read
(always 8 bit (always 8 bit
Wide)
Wide)
3041H
Reg Data
DSP → Host
Reg Data
Host → DSP
41H
Reg Data
Host → DSP
Reg Data
DSP → Host
3040H
RDY(LSBit)
Conf/Cont
Reg Address
40H
Conf/Cont
Reg Address
RDY(LSBit)
The procedure is described in Table 11.
Semiconductor Group
36
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
Table 11
For reading a register from Host writes byte: 1 0 a5 a4 a3 a2 a1 a0 to address 40H.
address
This causes RDY bit to be set to 0. Internally, an RACC
(2000H + a5:0)
interrupt status (INT1 line) is generated to the DSP.
Firmware:
DSP reads address 3040H, recognizes a “read” access
(most significant bit = 1), fetches data from (2000H + a5:0),
writes into 3041H and sets RDY bit (address 3040H/40H) to
‘1’.
After polling RDY bit to be ‘1’, the host can read the data
from 41H, and access 40H for another operation.
For writing a register at
address
(2000H + a5:0)
Host writes data into address 41H.
Host writes byte: 0 0 a5 a4 a3 a2 a1 a0 to address 40H.
This causes RDY bit to be set to 0. Internally, an RACC
interrupt status (INT1 line) is generated to the DSP.
Firmware:
DSP reads address 3040H, recognizes a “write” access
(most significant bit = 0), fetches data from 3041H, writes it
into (2000H + a5:0), and sets RDY bit (address 3040H/40H)
to ‘1’.
After polling RDY bit to be ‘1’, the host can access 40H for
another operation.
Software Interrupts
For communication between the host software and the DSP software, the soft interrupt
registers IND (from DSP to host) and INH (from host to DSP) can be used.
Interrupt from Host to DSP
A write operation by the host to address 50H (INH) causes a maskable INH interrupt
status to be generated on INT1 to the DSP, and the Interrupt Host Busy bit INHB
(address 50H, readable by host) to be set to ‘1’. Having recognized an INH interrupt
status, the DSP (firmware) reads address 3050H (INH). This read operation
automatically resets the HINT interrupt status bit in the DSP Interrupt Status Register for
INT1 (address 3074H). The INHB bit can be written by the DSP again to ‘0’ to indicate
that it is ready to accept a new interrupt from the host, which it would usually (but not
necessarily) do after it has read the INH register. The 16-bit control register located at
60/61H (3060/3061H) may contain additional information for the DSP to read after an INH
interrupt. Please refer to the specific interface procedures for details.
Semiconductor Group
37
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
Interrupt from DSP to Host
For a soft interrupt from the DSP to the host, the procedure is identical. In this case, the
soft interrupt is a maskable interrupt on line INT. The interrupt vector is written by the
DSP in address 3058H (IND). Simultaneously, the Interrupt DSP Busy bit INDB (address
58H, writable by host) is set to ‘1’. Having recognized an IND interrupt status, the host
reads address 58H (IND), which automatically resets the DINT interrupt status bit in the
Host Interrupt Status Register for INT (address 75H). The INDB bit can be written by the
host again to ‘0’ to indicate that it is ready to accept a new interrupt from the DSP. The
16-bit control register located at 60/61H (3060/3061H) may contain additional information
for the host to read after an IND interrupt. Please refer to the specific interface
procedures for details.
Registers for Accessing the External Memory
In normal operation, the program bus of the DSP is connected via the external memory
interface to the external memory bus so that instructions are fetched from an external
memory when an address between 8000H and FFFFH is hit, if EA = “High”. If EA = “Low”,
the whole address range is for off-chip programs.
If the bit LDMEM (see description of Configuration and Control Registers, Chapter 4) is
set to ‘1’ and bit DACC is ‘0’ (see description of Configuration and Control Registers,
Chapter 5.3), the external memory interface address and data buses are connected to
the outputs of registers address low/high (at host address 44/45H) and data low/high (at
host address 46/47H), respectively. This feature can be used to down-load programs into
a memory connected to the PSB 7238.
When a write access to the data high register (address 47H) is detected, this activates
the external memory interface write signal CWR for the duration of the host WR signal
(independent of any possible wait states in NRW(3:0)).
Thus the host writes one word of data into an external memory by effecting the following
write operations:
Write Address Low + High
Write Data Low
Write Data High (operation is carried out during this write cycle).
When LDMEM is ‘1’, the CPS signal is permanently active.
Note: When LDMEM is ‘0’, the CPS signal is activated when a read access - program
fetch - is performed on the external memory interface.
Semiconductor Group
38
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
Registers Pertaining to the Mailbox
The function of these host registers is described in detail in the next section.
Hardware Interrupt Registers
In the following the interrupts for the host are listed, as well as, for completeness, those
for the embedded DSP.
The interrupts are grouped so that the high priority interrupt statuses may cause a
maskable interrupt on INTR (“Interrupts Real-time” for host) and/or INT0 (DSP), and the
lower priority interrupt statuses on INT (host) and/or INT1 (DSP).
High priority interrupts (INTR/INT0):
FSC, RFS, TFS
BFUL1, BFUL2, BEMP1, BEMP2, BFHR1, BFHX1, BFHR2, BFHX2
Lower priority interrupts (INT/INT1):
T1, T2, T3
SAIN
HDLC1, HDLC2
HINT (to DSP) or DINT (to Host)
RACC (to DSP only)
GPI
MDR, MER, MDA, MAB, CIC1, CIC2
The active level of INTR and INT lines is “low”, of INT0 and INT1 “high”.
The interrupt line will remain active as long as an interrupt status (if unmasked) is not
explicitly acknowledged, or the cause of the interrupt status has not been removed.
The registers for the interrupt status as well as the configuration and control registers
(from address 2000H upwards) are described in detail in Section 5.
Semiconductor Group
39
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
3.3.2.2
Mailbox
The mailbox is implemented as physically two separate 256-byte memory blocks. Only
least significant bytes are used. One is read-only by the DSP and write-only by the host,
the other is write-only by the DSP and read-only by the host.
Figure 14
Since the two memories are totally independent, data transfer from host to DSP can take
place simultaneously with data transfer from DSP to host (full duplex operation).
The mailbox is seen from the host as an I/O device. Thus, to read or write a byte in the
mailbox, the host accesses a single location (separate for read and for write mailbox).
The address is given by an address register directly programmable by the host. This
address is autoincremented every time an access by the host to the mailbox I/O address
is performed. Thus, for sequential, fast access, the mailbox is seen as a 256-byte, full
duplex FIFO. For random accesses to the mailbox the host has to reprogram the address
register(s). This is summarized in Figure 15.
Figure 15
Semiconductor Group
40
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
I/O Access from the Host to the Mailbox (Summary)
Read
Host programs the desired start address (00H to FFH) into address register 48H.
Loop:
A read access from host to 4CH gives the data from the current location in the read
mailbox pointed to by the address register in 48H.
The address register is autoincremented.
Go to Loop.
Write
Host programs the desired start address (00H to FFH) into address register 4AH.
Loop:
A write access from host to 4CH writes the data into the current location in the write
mailbox pointed to by the address register in 4AH.
The address register is autoincremented.
Go to Loop.
(In the case of overflow, the address register 48H or 4AH wraps around to 00H.)
Software Handling of Communication via Mailbox
To indicate that data is ready to be read by the host/DSP, the DSP/host may use a
general purpose 8-bit interrupt register located in the host/DSP comm section of the
Directly Accessible Register Bank (DARB), associated with a 16-bit soft command and
status word in the same area. This protocol is implemented in software. The same
applies for indicating to the host/DSP that data has been read, in other words, the
memory in one direction is free. See example below for using the mailbox involving a
handshake protocol between the DSP and the host.
Simultaneous read/write is not prohibited by hardware, but a handshake mechanism
(via IND/INH software interrupt registers with optional control data) is implemented in
software.
Procedure from host to DSP (example):
Host
Write mailbox (1 to 256 bytes) if free (released by DSP)
Write word in control register (60-61 H) (e.g. number of bytes in mailbox)
Write 8-bit vector in INH
Internally, this causes an INT1 interrupt to DSP, which recognizes a “soft interrupt”
(firmware)
DSP: services INT1 and acknowledges by writing an 8-bit vector in IND
Host
Read IND
Jump into routine pointed to by IND: “Mailbox release”
Write further data, etc.
Semiconductor Group
41
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
3.3.3
DSP/Host Com Area with a Demultiplexed Host interface
The DSP/host communication area contains the registers to support hardware and
software interrupts and special purpose registers that support communication between
the embedded DSP and the host. In demultiplexed mode, data are available on pins on
pins AD(0-7), whereas the address is supplied on pins A(0-3). This mode gives an
additional and more microprocessor-like way of accessing the DSP/Host Com Area. The
most important registers are accessible via 3 address pins only and by the use of an
additional pin (A3) it is possible to access the complete range of the DSP/Host Com
Area. The address mapping versus the multiplexed host interface is given in Table 12.
Table 12
Address
A0-3
Address Mapping of Multiplexed/Demultiplexed Host Interface
Demultiplexed Mode
Data D0-7
Host Write
Semiconductor Group
Address
AD0-7
Host Read
Multiplexed Mode
Data AD0-7
Host Write
42
Host Read
FFH - FEH reserved
reserved
FDH - FCH reserved
reserved
77H
Acknowledge
INT MSB
76H
Acknowledge
INT LSB
75H
Interrupt INT
Mask MSB
Interrupt INT
Status MSB
74H
Interrupt INT
Mask LSB
Interrupt INT
Status LSB
73H
Acknowledge
INTR
71H
Interrupt
INTR Mask
MSB
Interrupt
INTR Status
MSB
70H
Interrupt
INTR Mask
LSB
Interrupt
INTR Status
LSB
6CH
reserved
reserved
6AH
reserved
reserved
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
Table 12
Address
A0-3
Address Mapping of Multiplexed/Demultiplexed Host Interface (cont’d)
Demultiplexed Mode
Data D0-7
Host Write
0FH
reseved
0EH
reseved
Address
AD0-7
Host Read
Multiplexed Mode
Data AD0-7
Host Write
Host Read
61H
Cntrl Host →
DSP MSB
Cntrl DSP →
Host MSB
60H
Cntrl Host →
DSP LSB
Cntrl DSP →
Host LSB
58H
INDB (LSBit)
IND Interrupt
Status
50H
INH Interrupt
Status
INHB(LSBit)
4CH
Mailbox IO
write
Mailbox IO
read
09H
Data register
Data register
4AH
Mailbox write address
08H
Address
register
Address
register
48H
Mailbix read address
07H
Interrupt INT
Mask MSB
Interrupt INT
Status MSB
06H
Cntrl Host →
DSP MSB
Cntrl DSP →
Host MSB
47H
Ext. Memory
Data high
05H
Cntrl Host →
DSP LSB
Cntrl DSP →
Host LSB
46H
Ext. Memory
Data low
04H
INDB (LSBit)
IND Interrupt
Status
45H
Ext. Memory
Addr high
03H
INH Interrupt
Status
INHB (LSBit)
44H
Ext. Memory
Addr low
02H
Mailbox IO
write
Mailbox IO
read
01H
Mailbox write address
41H
Reg Data
Host → DSP
Reg Data
DSP → Host
00H
Mailbox read address
40H
Conf/Cont
Reg Address
RDY(LSBit)
Semiconductor Group
43
Data Sheet 1998-07-01
PSB 7238
Interfaces and Memory Organization
The shaded registers are mapped to the demultiplexed mode and can be accessed in
demultiplexed mode by using address pins A(0-2). Using A3 gives an additional way of
accessing the DSP/Host Communication area by 2 registers only. The address register
08H is written with the target address (from the multiplexed mode) and the data register
09H contains the corresponding value or can be written with a new value for the target
address.
The function of the registers 00H to 07H is the same as described in Chapter 3.3.2.1.
Semiconductor Group
44
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
4
Functional Blocks
4.1
PLL and Baud Rate Generator
Clocking Modes
The clock generator including PLL generates the internal master clock derived from an
input clock (or crystal) on pins XTAL(1:2).
Because of integrated decoupling capacitors, DC components of the input frequency on
XTAL(1:2) are filtered out. Consequently, for a crystal input (nearly a sinusoid), an
internal clock of nearly 50% duty cycle results.
The different clock modes available in the PSB 7238 are as follows:
CM1 = 0
PLL is activated by firmware after reset. The internal clock circuitry
generates a frequency 4.5 times the input on XTAL(1,2). The internal
frequency required is 34.56 MHz and is obtained by providing a
frequency of 7.68 MHz on XTAL1 input.
CM1 = 1
PLL inactive. The internal frequency is directly input via XTAL(1,2).
When using a crystal, a 34.56 MHz crystal swinging at its basic
harmonic has to be connected to XTAL(1,2).
For the clock generation unit (oscillator and PLL) a separate supply voltage pin ( VDDA
and VDDAP) and a separate ground pin (VSSA and VSSAP) are provided.
The block diagram of the clock circuitry is shown in Figure 16.
INT0
INT1
OR
1 => s e t P U
F o r C M1 = 0 (input 7 , 6 8 MHz)
C M1
CM1
Os cillator
X TAL1
PU
DSP
3 4. 56 MHz
/2
x 18
/2
0
DS P
clo ck
M
U
AND
X
X TAL2
1
19
/25 6
CKOBR
DIV
CKOEN
VD DA, VS S A
(Se pa ra te
P owe r s upply)
14
P LL/Clo c k ge n erator c irc uit
T3
/ T3
CKOS
CM1
DIV
CKOEN
7 ,6 8 MHz
T3 EN
T3 inte rrupt s tatus
C LKO
Figure 16
Semiconductor Group
45
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
Note: When the PSB 7238 is reset via the RESET input, the following consecutive
actions take place internally:
– the PLL is initialized depending on the pin CM1
– if the PLL is chosen as a clock source, the PLL (frequency multiplier) goes through
a transient state where the clock is not yet stable
– after the clock has become stable, the PSB 7238 (including the DSP) requires
42 clock cycles to be fully initialized.
– As a consequence, for a proper initialization the required total length of the RESET
is 1 ms.
Note: After a hardware reset, the JADE firmware needs to initialize its internal memories
and interfaces. The time to do this is less than 10 ms. The user must take care to
access the JADE only after this initialization phase is completed, i.e. 10 ms after
the hardware reset.
Power-Down
The actual chip internal clock (“DSP clock”) is gated with the PU bit in the general
configuration/control register. Thus, when PU is set to ‘0’ (either via the host or the DSP),
clock distribution is stopped and the DSP is disabled. In this mode the power
consumption is minimum (software power-down). Only an interrupt to the DSP (on INT0
or INT1) can restart the DSP clock.
The initial state of the PU bit is ‘1’.
The PU bit is used by the on-chip firmware for the firmware-controlled power-down (see
Chapter 6.1.3 for details).
IOM®-2 Clocks
The IOM-2 clocking is either provided by separate timing inputs DCL and FSC,
independent of the other clocks, or may be generated by the JADE itself (CGEN bit in
register 202BH). When generated by the JADE, only double rate clocking in TE mode
(DCL = 1.536 MHz, FSC = 8 kHz) is supported.
When input, the DCL clock frequency is either equal to the data rate on DD/DU (if Clock
Rate Select bit CRS = 1) or twice the bit rate (if CRS = 0, default value after reset). In the
last case it is ensured that the internal IOM-2 bit clock has a phase such that output bits
on DD/DU are correctly clocked out (see Figure 17).
Semiconductor Group
46
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
Figure 17
CLKO and Timers
After reset the auxiliary clock output CLKO outputs a frequency of 7.68 MHz,
independent of the selection of CM1 bit. Alternatively, CLKO can be programmed (via
CKOS bit in register 2002H) to output a frequency obtained from the DSP clock via a
programmable baud rate generator (baud rate factor 1, 2, 3, …, 219).
The wide range for the division factor for the CLKO output allows also for the possibility
to use it as a time marker (period on the order of 10 ms to synchronize another device
to the PSB 7238 time base).
When using the PLL (CM1 = 0), it is made sure that during reset phase CLKO delivers a
continuous 7.68 MHz clock. When using the non-PLL mode (CM1 = 1) CLKO goes low
while reset phase.
Timer T3 is derived from the DSP clock via a division by a programmable factor 1, …,
214 with a prescaler of 256. This generates an interrupt status and a maskable interrupt
on INT1, as an optional synchronous time base for the DSP software.
Two timers T1 and T2 are provided, derived from the 8 kHz FSC (usually a
high-precision clock locked to the central clock of the synchronous network, e.g. ISDN)
with division factors (1, 2, 3, …, 64) and (1, 2, 3, …, 128), cascaded - yielding a time base
of hundreds of µs to around a second.
Figure 18
Semiconductor Group
47
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
4.2
Audio and Data Reception/Transmission
The PSB 7238 supports a total of eight independent serial I/O-channels:
– two receive and two transmit audio channels, and
– two receive and two transmit data channels (pertaining to the two HDLC controllers).
The eight channels are transferred between the DSP and/or the parallel host interface
and one of the serial interface lines: DD or DU (IOM-2), or SR or ST (Serial Audio
Interface SAI). The capacity of each channel is individually determined by programming
the time-slot length on the selected serial interface line.
Timing Generation
The selection of the line for each of the channels is performed via SLIN1,0 (00: DU; 01:
DD; 10: SR; 11: ST). The timing logic is driven by the bit clock and frame synchronization
signals corresponding to the selected line. These are:
DCL(/2) and FSC
for DD and DU.
SCLK and RFS
for SR.
SCLK and TFS
for ST.
The IOM-2 timing signals can be input or output of the PSB 7238, i.e. the circuit is a slave
or master with respect to the IOM-2 interface. The selection is done by the CGEN bit in
register 202BH.
The timing on the SAI lines SR and ST is either input or output. In the case where the
timing is internally generated (i.e. the PSB 7238 functions as SAI master for SR and/or
ST), a schematic diagram of the generation logic is shown in Figure 19.
Semiconductor Group
48
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
PRSC
SCKIN
10
DSP clock
Div
SCLK (in)
RFIN
0
M
U
1 X
Baud-Rate
Generator
1
SCLK (out)
1
0
M
U
10
RFS (out)
X
STR/ERFS RCONT RPRD/RREP
1
RFS(in)
TFIN
Baud-Rate
Generator
1
1
0
M
U
10
X
STX/ETFS TCONT TPRD/TREP
TFS(in)
Figure 19
TFS (out)
1
Timing Generation on SAI Lines - Frame Sync
For the frame sync signal RFS and/or TFS, two basic modes of operation are provided:
Case 1
If control bit RCONT = 1, pulses on RFS are continuously and periodically generated if
ERFS (Enable RFS generation control bit in HDLC register bank) is set to ‘1’, of one bit
period length and spaced (PRD + 1) × 16 bits apart, where PRD = 0, 1, …, 31.
Note: It suffices that the ERFS bits in one of the HDLC controller register banks is set to
“1” in order for pulses to be generated.
Case 2
If RCONT = 0, a burst of REP + 1 pulses on RFS is generated, of one bit period duration
and spaced 16 bit periods apart when a start command is issued by setting the STR bit
to ‘1’. REP takes a value in the range 0 to 1.023.
Note: It suffices that the STR command in one of the HDLC controller register banks is
issued in order for the generation of pulses start.
The same applies for TFS (control bits are ETFS and STX).
Semiconductor Group
49
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
Figure 20
Timing Generation on SAI Lines - Continuous and Burst Mode
The uses of these modes are as follows:
Case 1
When the timing is input, or when it is internally generated with TCONT = 1, the interface
can be used as a general time-division multiplex highway with time-slots of
programmable lengths and locations for audio and data.
Case 2
When the timing is output with TCONT = 0, the interface is typically used to transfer
messages or blocks of compressed or uncompressed audio or data, preceded by a
header of control information pertaining to the transferred data block and synchronous
to it. The blocks can be received and transmitted using one of the HDLC controllers in
the transparent mode. An application of this mode of operation is the synchronous
transfer of H.221/223 oriented data between the PSB 7238 and an attached VCP
videocodec - see corresponding application note: “The PSB 7238 in Videophone
Application with the VCP”).
Semiconductor Group
50
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
Audio Channel Transfer
As mentioned in Section 3, all the serial channels (2 receive audio, 2 transmit audio, and
two full-duplex HDLC/transparent data channels) can be transferred between one of the
serial interfaces and the DSP or the host in a flexible manner.
The interface to each of the audio channels is a 32-bit wide shift register. In receive
direction, when the shift register is filled to a programmable level (up to 32 bits), the
whole 32-bit shift register is loaded into the receive channel read register set accessible
from the DSP and from the host. Simultaneously, a maskable interrupt status is set.
Similarly, in the transmit direction, transmit channel data is loaded from the write register
pertaining to that channel (either from DSP or host register, as selected via a control bit)
into the transmit shift register when a selectable number of bits have been shifted out.
The buffering of up to 32 bits reduces the reaction time of the DSP software.
As an alternative to this, the audio channel data can also be loaded from the shift register
to the DSP/host registers (receive direction) and from the DSP/host registers into the
shift register (transmit direction) at the occurrence of the frame sync pulse. In this case
the number of significant bits in the registers is determined by the time-slot length
programmed on the receive/transmit line. The DSP/host has 125 µs to read/write the
register while new data is assembled or the contents of the shift register are transmitted,
during the following frame. (This option could be used for DSP software synchronized on
the 8-kHz time base).
The audio channel registers, each of length 2 words/4 bytes, are (see Section 3):
RC1
Receive channel 1.
RC2
Receive channel 2.
XC1
Transmit channel 1.
XC2
Transmit channel 2.
The relevant parameters for controlling the transfer of the audio channels are
(independent for each channel):
EN
Enable channel.
LMOD
Load mode (either once per frame, or after LBIT bits have been
received/transmitted).
LBIT
Load bits. Gives the number of bits (1 to 32) to be loaded, in multiples of
the physical time-slot length.
Semiconductor Group
51
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
The maskable interrupt status bits for controlling the transfer are:
BFUL
Buffer full (RC1 or RC2).
BEMP
Buffer empty (XC1 or XC2).
or optionally:
FSC
Frame sync interrupt (FSC).
RFS
Frame sync interrupt (RFS).
TFS
Frame sync interrupt (TFS).
In addition, the control bits HXA1 and HXA2 control whether the corresponding transmit
channel is loaded into the shift register from the XC1/2 register accessible from the DSP
(HXA = 0) or from the host (HXA = 1).
The block diagrams for the receive and transmit audio channels are shown in the
following Figures.
Receive 1,2:
Host/DSP
SLIN
2
DCL(/2)
SCLK
TFS
SCLK
SLIN
2
RCx
32 bits
00
DU
01
DD
X 10
SR
11
ST
Load*
M
0x
FSC
RFS
Time-slot
Enable
Parameters
M
10 U
11
Time-slot
Count
Logic
TS-Clock
Shift Register
1 to 32 bits (LBIT)
U
X
5
LMOD LBIT
BFUL
Figure 21
Semiconductor Group
52
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
*
Transmit 1,2:
Host/DSP
SLIN
Time-slot
Enable
Parameters
DCL(/2)
RFS
SCLK
TFS
32 bits
00
DU
01
DD
X 10
SR
11
ST
Load*
0x
FSC
M
M
10 U
11
EN*Strobe
2
XCx
2
SLIN
Time-slot
Count
Logic
TS-Clock
Shift Register
Strobe
1 to 32 bits (LBIT)
U
X
SCLK
5
LMOD LBIT
BEMP
Figure 22
Caption to the Figures
In receive direction, the input data is loaded from the shift register into DSP accessible
read registers and simultaneously into (physically separate) host accessible read
registers.
In the transmit direction, data is loaded into the shift register from the transmit channel
register accessible from the DSP (if HXA = 0) or the register accessible from the host (if
HXA = 1). Two separate control bits HXA1 and HXA2 are provided for this purpose, for
audio channel 1 and audio channel 2, respectively.
HDLC/Transparent Data Channel Transfer
The interface between the input of the HDLC/transparent data receiver and the DSP or
host, and between the output of the transmitter and DSP or host is in each case a 32-bit
long shift register.
Receiver in LMOD(1:0) = 01, 10, 11
In receive direction, when the shift register from the serial line is filled to a programmable
level (1, 2 or 4), the whole 32-bit shift register is loaded into the HRR1/2 read registers,
physically separate for DSP and host. In the same cycle the contents of the HRW1/2
write register accessible from the DSP (if HHR1/2 = 0) or host (HHR1/2 = 1) are loaded
to the HDLC receiver input. In the next cycle the data from HRR1/2 is as a default loaded
into HRW1/2 and a maskable interrupt status BFHR1/2 is generated to the DSP and
host. The interrupt status is generated to both DSP and host, independent of the setting
of HAH1/2. If the data in HRR1/2 is to be pre-processed, the HRW1/2 register can be
overwritten by the DSP or host before the next 1, 2 or 4 bytes (programmable) have been
shifted into the shift register.
Semiconductor Group
53
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
After reset (RRES) when starting the receiver (RAC = 1), the reset status data of HRW
and HRR is ignored by the receiver, i.e. the contents of HRW1/2 and HRR1/2 are not
forwarded to the HDLC receiver, but only the data received from the line. The same
applies to the interrupts: A BFHR1/2 interrupt is only generated after the first 1, 2 or
4 bytes of line data are available in the HRR1/2 register. Due to this pipeline, a latency
occurs in the HDLC/transparent serial data reception, see section below.
The start of the reception can be in the same frame (w.r.t. frame sync signal on the
chosen line) as the setting of RAC = 1 since the time-slot count logic works
independently of RAC.
In transparent mode (TMO = 1) the reception is only started at the beginning of the
time-slot (time-slot aligned). If RAC is set to ‘1’ during the selected time-slot, the receiver
waits for the beginning of the time-slot in the next frame.
Receiver in LMOD(1:0) = 00
The same applies for LMOD = 00, except the pre-processing is not available. The data
from the bit-reversal unit is bypassed to the HDLC receiver. In addition, the loading of
HRR1/2, HRW1/2 and the generation of the interrupt BFHR1/2 is done like in the other
LMODs for observation of the data stream by the DSP or host only. Thus, the
LMOD = 00 is identical with LMOD = 01, except pre-processing is not available and the
receiver latency after reset is shortened, see section below.
Transmitter in LMOD(1:0) = 01, 10, 11
Similarly, in the transmit direction, after 1, 2 or 4 bytes (programmable) are shifted out of
the shift register, the contents of the HXW1/2 write register accessible from DSP
(if HHX1/2 = 0) or host (if HHX1/2 = 1) are loaded into the transmitter shift register. In the
same cycle 1, 2 or 4 bytes are loaded from the HDLC transmitter output into the HXR1/2
read register, physically separate for DSP and host. In the next cycle the data from
HXR1/2 is as a default loaded into HXW1/2 and a maskable interrupt status is generated
to the DSP and host. The interrupt status is generated to both DSP and host,
independent of the setting of HAH1/2. If the data in HXR1/2 is to be post-processed, the
HXW1/2 register can be overwritten by the DSP or host before the next 1, 2 or 4 bytes
(programmable) have been shifted out of the shift register.
After reset (XRES), the reset status data of HXR1/2 and HXW1/2 is ignored by the
transmitter, i.e. the contents of HXR1/2 and HXW1/2 are not transmitted to the line, but
only the data from the HDLC transmitter. In the first cycle after the transmitter has been
activated (XAC = 1), the data from the HDLC transmitter is immediately passed to the
HXR1/2 register for post-processing. The line-transmission is not yet started! In the first
cycle after the DSP or host (programmable via HHX1/2) has written the HXW1/2 register
with the post-processed value, this value is passed through the bit-reversal unit into the
shift register and the transmission is started as soon as the next beginning of the
selected time-slot is detected.
Semiconductor Group
54
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
The start of the transmission can be in the same frame (w.r.t. the frame sync signal on
the chosen line) as the setting of XAC = 1 and/or the writing to the HXW1/2 register since
the time-slot logic works independently of XAC.
In transparent mode (TMO = 1) the transmission is only started at the beginning of the
time-slot (time-slot aligned). If the first write to HXW1/2 happens during the selected
time-slot, the transmitter waits for the beginning of the time-slot in the next frame.
Transmitter in LMOD = 00
The same applies for LMOD = 00, except the post-processing is not available. The data
from the HDLC transmitter is after XAC = 1 directly passed through the bit-reversal unit
into the shift register. In addition, the loading of HXR1/2, HXW1/2 and the generation of
the interrupt is done like in the other LMODs for observation of the data stream by the
DSP or host only. Thus, the LMOD = 00 is identical with LMOD = 01, except
post-processing is not available and the transmitter latency after reset is shortened, see
section below. The transmission is in this case started by the setting of XAC = 1. No write
to HXW1/2 is necessary.
The start of the transmission can be in the same frame (w.r.t. the frame sync signal on
the chosen line) as the setting of XAC = 1 since the time-slot logic works independently
of XAC.
In transparent mode (TMO = 1) the transmission is only started at the beginning of the
time-slot (time-slot aligned). If XAC is set to ‘1’ during the selected time-slot, the
transmitter waits for the beginning of the time-slot in the next frame.
The HDLC/transparent data channel registers, each of length 2 words/4 bytes, are (see
Section 3):
HRR1
HDLC Receive Read 1.
HRR2
HDLC Receive Read 2.
HRW1
HDLC Receive Write 1.
HRW2
HDLC Receive Write 2.
HXR1
HDLC Transmit Read 1.
HXR2
HDLC Transmit Read 2.
HXW1
HDLC Transmit Write 1.
HXW2
HDLC Transmit Write 2.
Semiconductor Group
55
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
The relevant parameters for controlling the transfer of the HDLC/transparent data
channels are:
LMOD(1:0)
Load mode (access byte by byte without delay, or access in 1, 2 or 4 byte
units with a corresponding serial data delay).
HHR
Access to HDLC/transparent data receiver input from DSP (HHR = 0) or
from host (HHR = 1).
HHX
Access to HDLC/transparent data output shift register from DSP
(HHX = 0) or from host (HHX = 1).
The access right to the receiver and transmitter input/output from the DSP or the host
(determined by bits HHR1/2 and HHX1/2) is independent of who is allowed to service the
HDLC controller (determined by bits HAH1/2).
The maskable interrupt status bits for controlling the transfer are:
BFHR
Buffer full for HDLC receiver (new data can be read from HRR and written
into HRW).
BFHX
Buffer full for HDLC transmitter (new data can be read from HXR and
written into HXW).
The block diagrams for the receive and transmit HDLC controller channels are shown in
the following Figures.
Figure 23
Semiconductor Group
56
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
Caption to the Figure
The data from the shift register is loaded into DSP accessible receive read registers
(HRR1/2) and simultaneously into (physically separate) host accessible receive read
registers. Data to the HDLC receiver is loaded from the receive write register (HRW1/2)
accessible from the DSP (if HHR = 0) or the register accessible from the host
(if HHR = 1). Two separate control bits HHR1 and HHR2 are provided for this purpose,
for HDLC channel 1 and channel 2, respectively.
Figure 24
Caption to the Figure
The data from the HDLC transmitter is loaded into DSP accessible transmit read
registers (HXR1/2) and simultaneously into (physically separate) host accessible read
registers. Data is loaded into the shift register from the transmit write register (HXW1/2)
accessible from the DSP (if HHX = 0) or the register accessible from the host
(if HHX = 1). Two separate control bits HHX1 and HHX2 are provided for this purpose,
for HDLC channel 1 and channel 2, respectively.
The access right to the receiver and transmitter write registers (HRW1/2, HXW1/2) from
the DSP or the host (determined bits HHR1,2 and HHX1,2) is independent of who is
allowed to service the HDLC controller (determined by bits HAH1,2).
Semiconductor Group
57
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
Note on Time-Slots of HDLC/Transparent Data Communication Controllers
If a time-slot is still active (either in receive or transmit direction) when a new frame sync
pulse is detected, the programmed length of the time-slot is not reduced but the time-slot
remains active until its end. However, the time-slot count logic for the new frame starts
immediately at the detection of the new frame sync pulse. A new time-slot can start
immediately after the currently active time-slot has been closed, thus permitting a
permanent reception or transmission (“time-slot length” = “distance between two
consecutive frame sync’s”).
The case where “time-slot length” > “distance between two consecutive frame sync’s”
should not occur.
Bit-Reversal Units
The bit-reversal units are working byte-based, i.e. when enabled via bits RMSB or XMSB
for receiver and transmitter, respectively, each byte inside the 32 bit data path is
reversed:
31 30 … 25 24 23 22 … 17 16 15 14 … 9
24 25 … 30 31 16 17 … 22 23 8
9
7
6
… 1
0
… 14 15 0
1
… 6
7
8
The bit-reversal unit is independent of the LMOD bits, but in case of LMOD = 00, 01, 10
not all bytes contain valid data.
When disabled (RMSB/XMSB = 0), the bit-reversal units are transparent.
Note on Latency of HDLC/Transparent Serial Data
When an HDLC receiver is enabled (via bit RAC), the HDLC receiver is clocked with the
serial interface clock even outside the selected time-slot. However, the logic at the input
of the HDLC receiver is only clocked with the serial clock during the selected time-slot.
Consequently, N bits are loaded into HRR register from the serial line after N clock edges
inside the selected time-slot (N is equal to 8, 16 or 32 depending on LMOD). Similarly,
data from HRW register is loaded into HDLC receiver only after a certain number of clock
edges inside the selected time-slot have occurred. The HDLC bit-engine works on serial
data, thus adding a delay of N clock cycles, but not necessarily inside the time-slot. The
latency (delay) of received data from the input pin to the HDLC FIFO is given in the
following as a function of LMOD (CTS means the number of clock edges inside the active
time-slot, C means the number of clock edges independent of the active time-slot):
Semiconductor Group
58
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
Table 13
Receiver Delays
Start & Stationary
LMOD = 00
8 CTS + 9 C
LMOD = 01
16 CTS + 9 C
LMOD = 10
32 CTS + 17 C
LMOD = 11
64 CTS + 33 C
Similarly, latencies apply in the case of the data from the output of the HDLC transmitter
FIFOs to the serial output pin. Those are different for the first 1, 2 or 4 bytes (“start”) and
the following bytes (“stationary”):
Table 14
Transmitter Delays
Start
Stationary
LMOD = 00
10 C
10 C + 8 CTS
LMOD = 01
11 C + ∆t
10 C + 16 CTS
LMOD = 10
19 C + ∆t
18 C + 32 CTS
LMOD = 11
35 C + ∆t
34 C + 64 CTS
∆t: Delay between BFHX1/2 interrupt status and write to HXW1/2 register by DSP or host
(programmable via HHX1/2).
During reception/transmission the delay is dynamically increased by the number of zero
insertions in the path between the line and the HDLC receiver/transmitter. Thus, the
numbers in the table refer to the beginning and the end of the frame and any state inside
a frame when no zero insertions are in the pipeline.
The receiver latencies have to be taken into account in systems where the serial clock
is not continuous but is immediately disabled after the last serial data bit has been
received.
The transmitter latencies have to be taken into account in systems where the transmitter
shall start transmitting accurately in one special frame (w.r.t. the line frame sync signal),
e.g. when the transmission has to be started in the first time-slot of a frame-sync burst.
Semiconductor Group
59
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
4.3
HDLC Controller
The two internal HDLC controllers of the PSB 7238 can be independently serviced
– either via the Parallel Host Interface
– or by the DSP (SPCF).
Important Notes
1. From the point of view of the end user/system manufacturer, only the servicing of the
HDLC controllers via the host is of relevance, since the servicing via the DSP is done
by on-chip firmware invisible to the end user.
2. If the packet oriented protocol on the Serial Audio Interface used in videophone
applications with the VCP (from 8×8, Inc.) videocodec is needed, the HDLC1
controller is serviced by the on-chip firmware, in other words, it cannot be accessed
by the host: only HDLC2 controller will then be available to the user.
The servicing of the HDLC controller(s) via the host and via the embedded DSP are
exclusive of each other. The access to the register banks of the two HDLC controllers is
determined by the “HDLC Controller Access from Host” bits HAH1 (for HDLC1) and
HAH2 (for HDLC2):
– When HAHx is ‘0’, the SPCF is allowed to access the HDLC register bank, and the
host interface bus is disconnected from the HDLC controller;
– When HAHx is ‘1’, the host is allowed to access the HDLC register bank, and the
SPCF data bus is disconnected from the HDLC controller.
The address spaces of the two HDLC controllers for the host interface bus and for the
SPCF data bus is shown in Figure 25 (see also Section 5: HDLC Controller Register
Description):
Figure 25
Semiconductor Group
60
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
In the rest of this paragraph, for the sake of simplicity, a reference to “Host” (or “Host
software”) implies HDLC driver software running on a host (e.g. provided by the user) or
on the DSP (e.g. firmware).
HDLC Applications
The integrated HDLC controller opens the way for numerous applications that may be
realized with the PSB 7238 in a very cost-effective manner. Some of the more obvious
are:
Figure 26
For non-HDLC serial protocols, the transparent mode of the HDLC controllers can be
used.
a) D-channel handling in point-to-point configurations, e.g. on Digital Circuit
Multiplication Equipment.
b) Packetized voice e.g. with G.728.
Functions of the HDLC Controllers
The HDLC controllers perform the following functions:
In HDLC Mode
Bit level functions:
–
–
–
–
–
flag generation/detection
zero bit insertion/deletion after 5 ones
CRC generation/check
abort generation
inter-frame time fill generation.
Programmable features for HDLC transmission:
– Idle (‘1’) or flag (‘0111111’) as inter-frame time fill
– CRC generated yes/no (if no, the frame is closed with a closing flag only).
Semiconductor Group
61
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
– CRC according to CCITT polynomial of order 16 or 32:
CRC-16: x16 + x12 + x5 + 1
(checksum: 1D0FH)
CRC-32: x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
(checksum: C704DD7BH)
Programmable features for HDLC reception:
– CRC written in receive FIFO yes/no
– CRC according to CCITT polynomial of order 16 or 32 (common with transmitter).
Reception of back-to-back frames and consecutive frames with a shared flag, as well as
flags with shared ‘0’s is possible.
HDLC Frame Format
The HDLC transmitter starts an HDLC frame with a flag. It continues with the data from
the XFIFO (including the address). The end of a frame is indicated by a closing flag
preceded by the 16/32-bit CRC checksum or by an abort sequence. When no frame is
being transmitted inter-frame time-fill ‘1’ or “flags” is transmitted during the programmed
time-slot. Outside the selected time-slot, the output line is in “high impedance” state.
The HDLC receiver hunts for flags which are not followed by another flag or an abort
sequence. It stores the information - including the address field - in the RFIFO until the
end of the frame is detected. The status of the received frame (CRC status, end of frame
condition etc.) is reported via a status byte which is stored in the RFIFO immediately
following the last byte of the frame, and, simultaneously, in a register.
In Transparent Mode
In this mode, data is received and transmitted fully transparently without HDLC framing.
The received data is stored in the receive FIFO so that byte alignment in the FIFO
corresponds to byte alignment in the serial time-slot (if the length of the time-slot is a
multiple of 8 bits). Similarly, in transmit direction the byte alignment in the FIFO
corresponds to the time-slot boundaries in the transmit time-slot, if its length is a multiple
of 8 bits. When the transmit FIFO is empty, idle (‘1’) is transmitted during the active
time-slot. Outside the selected time-slot, the output line is in “high impedance” state.
Semiconductor Group
62
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
Details on the Operation of the HDLC Receiver
The HDLC receive FIFO size is 2 × 32 bytes. One half of the FIFO is connected to the
receiver shift register while the second half is accessible from the controlling software.
The status bits pertaining to the HDLC receiver are
:
RPF
Receive Pool Full
32 bytes of a frame have arrived in the receive FIFO. The frame has not yet
been completely received.
RME
Receive Message End
One complete frame of length less than 32 bytes, or the last part of a frame at
least 32 bytes long is stored in the receive FIFO, including the status byte. No
RPF is generated in this case. The number of bytes stored is given by RBC
bits 0 - 4.
RFO
Receive Frame Overflow
Indicates that a frame has been lost because the FIFO was full at the reception
of the beginning of a frame.
RBC
Receive Byte Count register (RBCH, RBCL)
16 bits wide. Total number of bytes in received frame, including the status
byte.
RSTA
Receive Status Register
Contains the following information:
VFR
Valid Frame
Indicates whether the frame length is a multiple of 8 bit.
RDO
Receive Data Overflow
At least one byte of the frame has been lost because it could not be
stored in the FIFO.
CRC
CRC check
Correct (1) or incorrect (0).
RAB
Receive Message Aborted
By the remote station (7 consecutive ‘1’s received), yes (1) or no (0).
The HDLC receiver is controlled by the following bits:
Semiconductor Group
63
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
RAC
Receiver Active
Sets the receiver in an active state, where the receiver hunts for an opening
flag.
In transparent mode, when RAC is set to ‘1’, storage of bytes in the receive
FIFO starts time-slot aligned (if the receive time-slot length is a multiple of
8 bits).
RMC
Receive Message Complete
Acknowledges a previous RPF or RME status. Frees the FIFO pool for the
next received frame or part of a frame.
RMD
Receive Message Delete
Reaction to an RPF interrupt. The remaining part of the current frame is to be
ignored by the receiver (which goes into the “hunt” mode, starting in the
DSP/host-inaccessible part of the RFIFO); the receive FIFO is cleared of that
frame.
RRES
Receiver Reset
Resets the HDLC receiver, which goes into an idle state (RAC cleared), clears
the receive FIFO and aborts any HDLC frame being received.
In the case of a frame of length less than 64 bytes, the whole frame may be stored in the
receive FIFO. After the first 32 bytes have been received, the HDLC controller prompts
via RPF the controlling software to read data from the FIFO. When the data has been
read, the FIFO is released by issuing the RMC command, after which the rest of the
frame, when ready, is made available (see Figure 27).
Semiconductor Group
64
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
Figure 27
When a frame is not longer than 32 bytes, the whole frame is received in one block. The
reception of the frame is reported via the RME interrupt status. This interrupt status is
also generated when the final part of a frame longer than 32 bytes has been written in
the FIFO.
The Receive Status Register (RSTA) contains the status pertaining to the current frame
(Data Overflow yes/no, CRC Check, Abort yes/no). This status byte is also appended in
the receive FIFO after the last data byte of the corresponding frame. The number of valid
Semiconductor Group
65
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
bytes (including the status byte) stored in the receive FIFO can be read out from the
receive byte count register. The receive frame status and receive byte count information
is valid after the occurrence of the RME interrupt status, and remains valid until the
software issues an acknowledgement via RMC.
In the case of frames at least 64 bytes long, the controlling software will repeatedly be
prompted by RPF to read out the FIFO in blocks of 32 bytes (except the final block). After
reading each data block, it is acknowledged RMC, which releases the FIFO. The
availability of the remainder block of length 0 to 31 bytes (excluding the status byte) is
reported via RME instead of RPF.
In the case of several consecutive short frames, the number of frames that can be stored
is only limited by the FIFO size. After an RME interrupt status, one frame is available in
the FIFO for reading. Through the RMC command the next frame is copied in the
accessible half and the corresponding space is freed in the upper (inaccessible) half.
Bits 0 - 4 of the RBC register represent the number of bytes stored in the RFIFO. Bits
5 - 15 indicate the total number of 32-byte blocks which were stored before the reception
of the remainder block.
If a frame cannot be stored due to a full FIFO, the RFO interrupt status is generated.
The RMD command is used to disable the reception of the rest of a frame after the
controlling software has checked that the frame is to be discarded (e.g. because of a
wrong address, or because of inability to process it).
Note: Only minimum length check (16 bits between flags) is performed on the receive
frame.
Details on the Operation of the HDLC Transmitter
The transmit FIFO size is 2 × 32-bytes. One half is connected with the transmit shift
register while the other half is accessible via the controlling software.
The interrupt status bits pertaining to the HDLC transmitter are:
XPR
Transmit Pool Ready
One data block may be entered into the transmit FIFO.
XDU
Transmit Data Underrun
Transmitted frame was terminated with an abort sequence because no data
was available in the transmit FIFO and yet no XME command has been
issued.
ALLS
All Sent
When ‘1’, indicates that the last bit of a frame has been transmitted on the
line and that both parts of XFIFO are empty (in either HDLC or transparent
mode).
Semiconductor Group
66
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
The following status bits are provided:
XDOV
Transmit Data Overflow
Indicates that more than 32 bytes have been written into the transmit FIFO.
The HDLC transmitter is controlled by the following bits:
XF
Transmit Frame
Initiates transmission of an entire frame, or part of one (up to 32 bytes).
XME
Transmit Message End
Indicates that after the transmission of data from the FIFO pool, the frame is
to be closed with a closing flag (and possibly a CRC checksum).
XRES
Transmitter Reset
Resets the HDLC transmitter, clears the transmit FIFO, aborts any HDLC
frame being transmitted and generates an XPR status after the command
has been completed.
XNEW
Transmitter Restart
Resets the transmitter state machine without any loss of data (i.e. FIFO
data). The transmission of the current frame can be restarted with the first
bit of the start flag.
After up to 32 bytes have been written to the FIFO, transmission is started by issuing the
XF command. The opening flag (in the case of HDLC) is generated automatically. The
HDLC controller requests another data block by an XPR interrupt status if there are no
more than 32 bytes in the FIFO and the frame close command bit XME has not been set.
To this the software responds by writing another pool of data and issuing a transmit
command XF for that data. If transmission of earlier data (or of a previous frame) is still
underway when a new transmission command XF is issued, software access to the FIFO
is blocked until the first transmission is completed (see Figure 28).
Semiconductor Group
67
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
For closing a frame in HDLC mode the DSP/host has two possibilities:
1. When XME and XF bits are set in the same command, all remaining bytes in the FIFO
are transmitted, the CRC field (programmable) and the closing flag of the HDLC frame
are appended and after all data has been transmitted to the line the HDLC controller
generates a new XPR interrupt. Thus, a delay is caused between the transmission of
two frames which is filled with interframe timefill values (programmable flags or ‘1’s).
2. To avoid the gap between two frames and time-optimize the transmission, the XF
command can be set first for the last FIFO of the frame. After the corresponding XPR
interrupt has been detected, the DSP/host may set XME = 1 and then start writing the
next frame for the XFIFO (max. 32 bytes) which is again transmitted by an XF
command. The HDLC transmitter will automatically insert the CRC field
(programmable), the closing flag for the first frame and the start flag for the second
frame.
Figure 28
The host does not necessarily have to transfer a frame in blocks of 32 bytes. As a matter
of fact, the sub-blocks issued by the host and separated by an XF command, can be
between 0 and 32 bytes long.
If the transmit FIFO runs out of data and the XME command bit has not been set, the
frame is terminated with an abort sequence (seven ‘1’s) followed by inter-frame time fill,
and the host will be advised by a Transmit Data Unterrun (XDU) interrupt status.
Semiconductor Group
68
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
4.4
IOM®-2 Functions
The IOM-2 functions supported by the PSB 7238 are:
– layer-1 functions in terms of the frame structure supporting any number n of 4-byte
multiplexes (n = 1, …, 16), the number is implicitly determined by the DCL clock (see
Section 2)
– one monitor channel of programmable location
– two C/I channels.
See Figure 29.
Monitor Channel
Figure 29
Parameters
SLIN = 0:
Monitor transmit data on DU, receive data on DD
SLIN = 1:
Monitor transmit data on DD, receive data on DU
CH(0:3):
Monitor channel in 3rd byte of multiplex 0, …, 15 (common to receive
and transmit channel) (CH(0:3) = 0001 in the example)
C/I Channels (2 independent channels)
Figure 30
Semiconductor Group
69
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
Parameters
SLIN = 0:
C/I channel transmit data on DU, receive data on DD
SLIN = 1:
C/I channel transmit data on DD, receive data on DU
CH(0:3)
C/I channel in 4th byte of multiplex 0, …, 15, common for receive and
transmit channel (CH(0:3) = 0001 in the example)
CIL:
C/I channel length is 4 bits (0) or 6 bits (1)
DLL:
Double last look yes (1) or no (0)
4.4.1
Monitor Channel Protocol
Use of Monitor Channel
In the case where a local host is present, the Monitor channel may be used e.g. for data
exchange between the local host and another controller attached to the IOM-2 bus. For
this the basic monitor channel protocol as explained in this section is sufficient.
Note: The monitor channel protocol is not implemented on-chip on the PSB 7238. The
monitor channel protocol has to be implemented via the host: this allows the
implementation of data exchange with a remotely located controller.
General Description of Monitor Channel Protocol
The monitor channel consists of 8 bits for the monitor data channel (MON) and 2 bits for
the flow control (MX and MR). The transmitter controls the monitor data channel and the
MX bit on one line while evaluating the condition of the MR bit on the other line. The
receiver evaluates the MX bit of one line and latches its monitor data value. It controls
the MR bit of the other line. The monitor channel protocol is shown in Figure 31.
The hardware performs reception and transmission of monitor channel messages
(packets) byte-by-byte under software control.
The received and transmitted monitor channel bytes are stored in the Monitor data
transmit (MONX) register and Monitor data Receive (MONR) register, respectively.
The software controls the monitor channel via two control bits in the monitor channel
control register:
MRE
Monitor channel Receiver Enable.
MRC
MR bit Control.
MXC
Monitor channel Transmitter Control.
Semiconductor Group
70
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
The monitor channel status is reported to the software via four bits in the monitor channel
status register:
MDR
Monitor channel Data Received.
MER
Monitor channel End of Reception.
MDA
Monitor channel Data Acknowledged.
MEA
Monitor End of Acknowledgement.
MAB
Monitor channel Abort.
Inactivity
The transmitter indicates its inactivity with the idle state of the MX bit (1) and by
transmitting the value FFH (or high impedance) in the monitor data channel. The receiver
responds to this inactivity via the idle (1) condition of the MR output bit.
Monitor Packet Transfer
The message transfer starts when the transmitter transmits the value of the first byte of
the monitor data channel and sets the MX bit to its active state (0). The MX bit remains
active until the receiver acknowledges the data or the transmitter software aborts the
transmission. The receiver recognizes the change of the MX bit to the active state and
latches the contents of the monitor data channel. Since the monitor channel address is
always transmitted as the first byte of a message, all receiving devices compare (per
hardware or software) the first value with their own address. If a device recognizes its
address it acknowledges the data by changing its MR bit to the active state (0).
The transmitter recognizes this change and can now transmit the next byte of the
message. This is done by transmitting the value in the monitor data channel and setting
the MX bit to the inactive, idle (1) state for one frame and then changing it back to the
active (0) state. The receiver recognizes the transition of MX from the inactive to the
active state and latches the contents of the monitor data channel.
The receiver acknowledges the data transfer by setting the MR bit to the
inactive (1) state for one frame and then back to the active (0) state. This procedure is
repeated until all the data is transferred. Once the receiver has acknowledged the last
value the transmitter switches its MX bit and the monitor channel into the idle (1) state.
The receiver recognizes this idle state after it has received two consecutive frames with
an idle MX bit and will then set its own MR bit in the idle (1) state.
The transmitter recognizes the change of the MR bit and indicates the idle condition after
the second frame. If the receiver wants to abort a transmission, then it will set its MR bit
into an idle (1) condition. The transmitter recognizes the abort condition after the second
frame with an idle MR bit and switches its MX bit and the monitor data channel to idle.
Semiconductor Group
71
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
Figure 31
Note: For simplification of the diagram the states of MX and MR are shown as ‘0’ or ‘1’
during the entire 125-µs frame without regard to the bit positions they actually
occupy.
Software Handling of Monitor Channel Transmission
The idle state of the transmitter is maintained when the MXC (Monitor channel Transmit
Control) bit is 0. In order to transmit the first byte, its value is written into the MONX
(Monitor channel Transmit) register. After the MXC bit is set to 1, the monitor channel
hardware sends the byte from MONX and controls the MX bit accordingly (MX:1 → 0).
When the hardware detects the acknowledgment from the other end (received MR
bit = 0), it will set the MDA (Monitor Data Acknowledged) bit. When this is detected by
the software, it writes the next byte in MONX register. This byte is sent and the MX bit
controlled accordingly. The acknowledgment by the other end is again indicated by the
MDA status bit. This procedure is repeated until all the data is transmitted. After the last
MDA status the software sets the MXC bit back to 0 and the transmit channel including
the MX bit returns to the idle state.
If an abort request from the receiving end is detected by the hardware, the MAB (Monitor
channel Abort) status bit is set.
In the PSB 7238 the Monitor channel transmitter implements the so-called maximum
speed option of this protocol, whereby the acknowledgment of every byte (except the
first) by the receiving end is anticipated. This means that an MDA interrupt status is
generated as soon as the received MR bit is detected to go from 0 to 1. Transmission of
the next byte is started as soon as the software has reacted to this interrupt. Thus a
maximum transfer speed of 32 Kbit/s can be obtained.
Semiconductor Group
72
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
Each data byte is transmitted at least twice (only twice if the receiver is fast enough so
that the transmitter works at maximum speed), namely once when MX is 1, and once
when MX is 0 in the next frame. The only exception is the first byte, which is transmitted
in three consecutive frames (where MX = 1, 0, 0, respectively).
In order for the transmitter to recognize that the receiver has correctly acknowledged the
last byte, the interrupt status MEA is set after the received MR bit is received at 1 in two
consecutive frames (interrupt status different from MAB). The condition for generating
an MEA interrupt status is the recognition of a MR = 0, 1, 1 sequence when MXC = 0.
Figure 32
Figure 32 shows the general case, Figure 33 the maximum speed case.
Software Handling of Monitor Channel Reception
The receiver of the monitor channel is controlled via the MRE bit. As long as the MRE bit
is zero, no evaluation of the received MX bit is done. If the MRE bit is set to 1, then the
monitor channel hardware waits for a start of a monitor packet. When the start of a
packet is recognized with a monitor byte matching monitor receive address,
acknowledgement can be enabled by the software by setting the MR control bit MRC
to 1. The hardware performs acknowledgement by setting the transmitted MR bit to 0.
Semiconductor Group
73
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
Upon the reception of the next byte the hardware sets the MDR status bit. When the
monitor byte is read from the MONR register, this byte is acknowledged via transmit
MR = 0. Every new byte is similarly indicated by the MDR status, and acknowledged
after a read of the MONR register. If the hardware recognizes the end of a packet, it
indicates this via the MER status (MRE = 1).
The receiver of the PSB 7238 does not perform a double-last-look check on the received
data (i.e. compare the data received while MX = 0 with the data in the previous frame
with MX = 1).
When MRC = 0, it is made sure that the receiver only receives the first byte of a packet
and does not latch any further bytes in MONR until the beginning of the next packet.
Thus the conditions for latching the first byte of a packet is:
(MRE = 1) & (MX = 0 after having been 1 in at least two consecutive frames).
Any further bytes are latched into MONR only if:
(MRE × MRC = 1) & (previously received byte has been read from MONR register) &
(MX = 0).
Figure 33
Semiconductor Group
74
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
Figure 34
Monitor Channel Data Transfer
A hardware model of the monitor channel is shown in Figure 35.
Figure 35
*)
MRC has to be ‘1’ and MONR has to be read before any new value from the same packet is loaded into MONR.
Thus, while MRC = 0, only the first byte of a packet is loaded into MONR.
Semiconductor Group
75
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
4.4.2
C/I Channel
The two C/I channels are controlled via the C/I Transmit (CIX) and C/I Receive (CIR)
registers, the C/I channel Enable (CIEN) and the C/I Change (CIC) interrupt status bit.
In addition, an Awake (AWK) control bit is provided. When this bit is set to ‘1’, the output
line is unconditionally “low” until AWK is set to ‘0’ again. This bit is used in ISDN terminal
applications to “wake up” the IOM-2 interface, i.e. to require clocking to be generated on
DCL and FSC by an upstream circuit - typically an ISDN S-Bus Access Controller
ISAC-S.
When the AWK bit is set to ‘0’, the output line is released only after the next FSC pulse
has been detected, to avoid sending an invalid code in the outgoing C/I channel. C/I data
reception and processing begins after setting of CIEN to 1. It is made sure that no invalid
code is sent or received. AWK overrides any data normally transmitted during the C/I
time-slot even if CIEN = 1. When CIEN is ‘0’ and AWK is ‘0’, the outgoing C/I channel is
permanently in high-impedance state.
The block diagram of the C/I channel handler is shown in Figure 37.
In the receive direction, a change is recognized either using Double Last Look (DLL = 1)
or not (DLL = 0).
Without Double Last Look
A change in received C/I channel is recognized after a new value is recognized once.
The new value is loaded into CIR for the DSP to read, and a CIC interrupt status is
generated.
If further changes in receive C/I code take place before a previous changed value in CIR
has been read, the changed values are not loaded in CIR.
When the first changed value is read by the DSP, the latest changed value is loaded in
CIR and a CIC interrupt status is generated anew. Any possible changes that occurred
between the first and the latest are thus lost.
Semiconductor Group
76
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
With Double Last Look
A change in received C/I is recognized after a new value is detected in two consecutive
frames.
This is shown in Figure 36.
Figure 36
Algorithm
“Current” is compared to “Previous”:
– If they are not equal, “Current” is loaded into “Previous”, and a new comparison is
performed in the next frame. No further actions are taken.
– If they are equal, the new value takes the place of “Confirmed”. “Confirmed” is
compared to “Old Confirmed”:
If they are equal, no actions are taken.
If they are not equal, “Confirmed” is copied to “Old Confirmed”.
If CIR register has been read, “Old Confirmed” is compared to CIR:
– If they are equal, no actions are taken.
– If they are not equal, “Old Confirmed” is copied to CIR and a CIC interrupt status is
generated.
Semiconductor Group
77
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
C/I Channel Data Transfer
The block diagram of the C/I channel handler is shown in Figure 37.
C/I channels 1,2:
CIC int status Read
DSP or
Host
Load
CIR
*)
CIL CICH
1
DLL
Compare
logic
Previous
SLIN
Current
4
1
6
Time-slot
Count
Logic
DCL(/2)
FSC
6 bits
Clock
Shift Register
6 bits
0
Shift Register
CIEN Strobe
Load
0
1
M
U
X
0
M
U
X 1
DD
0
M
U
X 1
DU
DU
DD
6
1
CIX
AWK
SLIN
1
CIEN*Strobe+AWK
DSP or
Host
Figure 37
*)
Read of the old changed value is the condition of loading of a new changed value. Thus, when several changes
occur before the first changed value has been read, only the first and the last change are available.
Semiconductor Group
78
Data Sheet 1998-07-01
PSB 7238
Functional Blocks
4.5
Programming Indirectly Accessible Registers
Registers in the memory mapped (DSP X-data RAM) area from 2000H upwards are read
and written:
– via the Parallel Host Interface by using two registers (Conf/Cont Reg Address Register
at address 40H/3040H and Conf/Control Reg Data Register at address 41H/3041H)
4.5.1
Programming via Parallel Host Interface
(see also Section 3.3.2)
For writing a configuration/control register (addresses 2000H - 203FH), the host writes in
the data register the data byte to be written and in the address register the write
command:
Bit 7
0
Bit 0
0
A5
A4
A3
A2
A1
A0
where A(5:0) gives the offset of the register to be written. This causes an RACC
(Register Access) interrupt status to the DSP. The DSP software transfers the data byte
to the requested address 2000H + A(5:0) and writes the RDY bit (least significant bit of
address 40H/3040H) to ‘1’ again (which was set to ‘0’ by hardware at the time of writing
of the address register). By sensing the state of bit RDY the host is able to start a new
access to address and data registers when the DSP is ready.
For reading a configuration/control register (addresses 2000H - 203FH), the host writes
in the address register the read command:
Bit 7
1
Bit 0
0
A5
A4
A3
A2
A1
A0
where A(5:0) gives the offset of the register to be read. This causes a RACC (Register
Access) interrupt status to the DSP. The DSP software transfers the contents of the
requested address 2000H + A(5:0) into the data register and writes the RDY bit to ‘1’.
Semiconductor Group
79
Data Sheet 1998-07-01
PSB 7238
Register Description
5
Register Description
5.1
Interrupt Structure
As explained in Section 3, the interrupt statuses are grouped on two interrupt lines, “high
priority” and “low priority” interrupts, respectively.
High Priority Interrupts (INTR)
FSC, RFS, TFS
BFUL1, BFUL2, BEMP1, BEMP2, BFHR1, BFHX1, BFHR2, BFHX2
Lower Priority Interrupts (INT)
T1, T2, T3
SAIN
HDLC1, HDLC2
DINT
GPI
MDR, MER, MDA, MEA, MAB, CIC1, CIC2
Corresponding interrupt status register exist for the internal DSP.
The interrupt status registers are physically separate for the host and for the DSP. Thus,
when an interrupt status is generated, the interrupt status bit is set in both registers.
The interrupt status disappears from the interrupt status register when the cause of the
interrupt status is removed by the software, or the interrupt is explicitly acknowledged.
Whenever possible, an interrupt status is made to disappear when the cause of that
interrupt status is removed (example: in/out audio data channel interrupts), in order to
spare the explicit writing of an acknowledge register address. In other cases the interrupt
statuses are explicitely acknowledged by writing a ‘1’ in a virtual acknowledge register.
The interrupt status bits have individual mask bits which have no influence on the setting
of the interrupt status bits, but only on the generation of the interrupt on the interrupt line.
When the mask bit is 0, the generation of the interrupt for the corresponding interrupt
status on line INTR or INT is prevented.
Semiconductor Group
80
Data Sheet 1998-07-01
PSB 7238
Register Description
5.2
Interrupt Status Registers
Register Map for Host Interrupts
Host Interrupt Status for INTR:
Bit 15
71H
FSC
Bit 8
RFS
TFS
Bit 7
70H
BFUL1
Bit 0
BFUL2
BEMP1 BEMP2 BFHR1
BFHX1
BFHR2
BFHX2
FSC
FSC detected
RFS
RFS detected
TFS
TFS detected
BFUL1
Receive channel 1 sample of programmable length (1 … 32 bits) available in
RC1
BFUL2
Receive channel 2 sample of programmable length (1 … 32 bits) available in
RC2
BEMP1
Transmit channel 1 sample of programmable length (1 … 32 bits) can be
written in XC1
BEMP2
Transmit channel 2 sample of programmable length (1 … 32 bits) can be
written in XC2
BFHR1
HDLC 1 receiver shift register can be read and/or written (1, 2 or 4 bytes) in
HR1
BFHX1
HDLC 1 transmitter shift register can be read and/or written (1, 2 or 4 bytes)
in HX1
BFHR2
HDLC 2 receiver shift register can be read and/or written (1, 2 or 4 bytes) in
HR2
BFHX2
HDLC 2 transmitter shift register can be read and/or written (1, 2 or 4 bytes)
in HX2.
Semiconductor Group
81
Data Sheet 1998-07-01
PSB 7238
Register Description
Interrupt Mask Registers
Bit 15
71H
FSC
Bit 8
RFS
TFS
Bit 7
70H
BFUL1
Bit 0
BFUL2
BEMP1 BEMP2 BFHR1
BFHX1
BFHR2
BFHX2
A ‘0’ in a bit position masks the corresponding interrupt (default value, i.e. after Reset).
The mask bit affects only the generation of the interrupt, but not the interrupt status bit
from being set.
Acknowledge Register
Bit 15
73H
FSC
Bit 8
RFS
TFS
The interrupt status bit is reset when the host writes a ‘1’ in the corresponding bit
position.
The other interrupt status bits are reset when the input/output registers are read or
written:
BFUL1
Reset when RC1 (address 00H) is read
BFUL2
Reset when RC2 (address 04H) is read
BEMP1
Reset when XC1 (any of 00-03H) is written
BEMP2
Reset when XC2 (any of 04-07H) is written
BFHR1
Reset when HRR1 (any of 10-13H) is read
BFHX1
Reset when HXR1 (any of 14-17H) is read
BFHR2
Reset when HRR2 (any of 18-1BH) is read
BFHX2
Reset when HXR2 (any of 1C-1FH) is read.
Semiconductor Group
82
Data Sheet 1998-07-01
PSB 7238
Register Description
Host Interrupt for INT
Bit 15
75H
T1
Bit 8
T2
T3
SAIN
DINT
HDLC1 HDCL2
Bit 7
74H
MDR
Bit 0
MER
MDA
MEA
MAB
T1
Timer T1 expired
T2
Timer T2 expired
T3
Timer T3 expired
SAIN
Serial Audio Input Interrupt (from SIO line)
DINT
Software interrupt from DSP
HDLC1
Interrupt from HDLC Controller 1
HDLC2
Interrupt from HDLC Controller 2
MDR
Monitor Channel Data Received
MER
Monitor Channel End of Reception
MDA
Monitor Channel Data Acknowledged
MEA
Monitor End of Acknowledgment
MAB
Monitor Channel Abort Request
GPI
General Purpose Interrupt occured
CIC1
C/I Channel 1 Change
CIC2
C/I Channel 2 Change.
GPI
CIC1
CIC2
Interrupt Status Mask Register
Bit 15
75H
T1
Bit 8
T2
T3
SAIN
DINT
HDLC1 HDCL2
Bit 7
74H
MDR
Bit 0
MER
MDA
MEA
MAB
GPI
CIC1
CIC2
A ‘0’ in a bit position masks the corresponding interrupt (default value, i.e. after reset).
The mask bit affects only the generation of the interrupt, but not the interrupt status bit
from being set. Undocumented mask bits must be always set to ‘0’.
Semiconductor Group
83
Data Sheet 1998-07-01
PSB 7238
Register Description
Acknowledge Register
Bit 15
77H
T1
Bit 8
T2
T3
SAIN
Bit 7
Bit 0
MER
76H
MDA
MEA
MAB
The interrupt status bit is reset when the host writes a ‘1’ in the corresponding bit
position. The other interrupts are acknowledged as follows:
DINT
Reset when IND Int. Status register is read
HDLC1
Reset when HDLC Controller 1 interrupt register is read
HDLC2
Reset when HDLC Controller 2 interrupt register is read
MDR
Reset when MONR register is read
GPI
Reset when GP Int Status register is read
CIC1
Reset when CIR1 register is read
CIC2
Reset when CIR2 register is read.
Note: Since no direct access to the MONR, CIR1, CIR2 and GP Int Status registers for
the host is allowed (these registers are in the configuration and control register
area 2000H upwards), they are read using the procedure via address and data
registers as decribed in Section 2 – in principle giving the host the possibility to
handle the Monitor and C/I channels via the DSP.
Semiconductor Group
84
Data Sheet 1998-07-01
PSB 7238
Register Description
5.3
Indirectly Accessible Configuration and Control Registers
Table 15
Addr
Register
Name
2000H
Summary
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Chip Version −
Nr
−
VN5
VN4
VN3
VN2
VN1
VN0
2001H
External
Memory
LDMEM
CAEN
−
DACC
NRW3
NRW2
NRW1
NRW0
2002H
General
Config
PU
CRS
CKOEN
CKOS
ODS
CKOBR18 CKOBR17 CKOBR16
2003H
CLKO Baud
Rate2
CKOBR15 CKOBR14 CKOBR13 CKOBR12 CKOBR11 CKOBR10 CKOBR9
CKOBR8
2004H
CLKO Baud
Rate1
CKOBR7
CKOBR6
CKOBR5
CKOBR4
CKOBR3
CKOBR2
CKOBR1
CKOBR0
2005H
SAI Mode
SODS
SPS
DSE
−
−
SCKIN
PRSC9
PRSC8
2006H
SCLK Baud
Rate
PRSC7
PRSC6
PRSC5
PRSC4
PRSC3
PRSC2
PRSC1
PRSC0
2007H
RFS Mode
RFIN
RCONT
RFE
RFSEL
RFPS
−
RREP9
RREP8
2008H
RFS
RREP7
Per/Rep Rate
RREP6
RREP5
RPRD4/
RREP4
RPRD3/
RREP3
RPRD2/
RREP2
RPRD1/
RREP1
RPRD0/
RREP0
2009H
TFS Mode
TCONT
TFE
TFSEL
TFPS
−
TREP9
TREP8
200AH
TFS Per/Rep TREP7
Rate
TREP6
TREP5
TPRD4/
TREP4
TPRD3/
TREP3
TPRD2/
TREP2
TPRD1/
TREP1
TPRD0/
TREP0
200BH
SIO Config
−
−
−
−
−
SAIO
SOUT
SINTC
200CH Timer 1
T1EN
−
T15
T14
T13
T12
T11
T10
200DH Timer 2
T2EN
T26
T25
T24
T23
T22
T21
T20
TFIN
200EH
Timer 3 Mode T3EN
−
T313
T312
T311
T310
T39
T38
200FH
Timer 3
T37
T36
T35
T34
T33
T32
T31
T30
2010H
HDLC Cntr
Access
−
−
−
−
−
−
HAH1
HAH2
2011H
Rec Audio
Ch1 Cfg
EN
SLIN1
SLIN0
LEN4
LEN3
LEN2
LEN1
LEN0
2012H
Rec Audio
Ch1 TS
TS8
TS7
TS6
TS5
TS4
TS3
TS2
TS1
2013H
Rec Audio
Ch1 Mode
TS0
LMOD
LBIT4
LBIT3
LBIT2
LBIT1
LBIT0
−
2014H
Rec Audio
Ch2 Cfg
EN
SLIN1
SLIN0
LEN4
LEN3
LEN2
LEN1
LEN0
2015H
Rec Audio
Ch2 TS
TS8
TS7
TS6
TS5
TS4
TS3
TS2
TS1
2016H
Rec Audio
Ch2 Mode
TS0
LMOD
LBIT4
LBIT3
LBIT2
LBIT1
LBIT0
−
2017H
Tx Audio
Ch1 Cfg
EN
SLIN1
SLIN0
LEN4
LEN3
LEN2
LEN1
LEN0
Semiconductor Group
85
Data Sheet 1998-07-01
PSB 7238
Register Description
Table 15
Summary (cont’d)
Addr
Register
Name
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
2018H
Tx Audio
Ch1 TS
TS8
TS7
TS6
TS5
TS4
TS3
TS2
TS1
2019H
Tx Audio
Ch1 Mode
TS0
LMOD
LBIT4
LBIT3
LBIT2
LBIT1
LBIT0
HXA
201AH
Tx Audio
Ch2 Cfg
EN
SLIN1
SLIN0
LEN4
LEN3
LEN2
LEN1
LEN0
201BH
Tx Audio
Ch2 TS
TS8
TS7
TS6
TS5
TS4
TS3
TS2
TS1
201CH Tx Audio
Ch2 Mode
TS0
LMOD
LBIT4
LBIT3
LBIT2
LBIT1
LBIT0
HXA
201DH HDLC1 Ser
Rec Path
−
−
−
SLIN1
SLIN0
LMOD1
LMOD0
HHR
201EH
HDLC1 Ser
Tx Path
−
−
−
SLIN1
SLIN0
LMOD1
LMOD0
HHX
201FH
HDLC2 Ser
Rec Path
−
−
−
SLIN1
SLIN0
LMOD1
LMOD0
HHR
2020H
HDLC2 Ser
Tx Path
−
−
−
SLIN1
SLIN0
LMOD1
LMOD0
HHX
2021H
Mon Ch
Config
−
−
−
SLIN
MONCH3
MONCH2
MONCH1
MONCH0
2022H
Mon Ch Cntr
−
−
−
−
−
MRE
MRC
MXC
2023H
IC Mon
Channel Id
MAD7
MAD6
MAD5
MAD4
MAD3
MAD2
MAD1
MAD0
2024H
Monitor
Tx/Rec
MONR7/
MONX7
MONR6/
MONX6
MONR5/
MONX5
MONR4/
MONX4
MONR3/
MONX3
MONR2/
MONX2
MONR1/
MONX1
MONR0/
MONX0
2025H
C/I Ch Mode
−
−
−
−
CIEN1
AWK1
CIEN2
AWK2
2026H
C/I Ch 1
Config
−
SLIN
CICH3
CICH2
CICH1
CICH0
CIL
DLL
2027H
C/I Ch 2
Config
−
SLIN
CICH3
CICH2
CICH1
CICH0
CIL
DLL
2029H
C/I Channel 1 −
−
CIR5/
CIX5
CIR4/
CIX4
CIR3/
CIX3
CIR2/
CIX2
CIR1/
CIX1
CIR0/
CIX0
202AH
C/I Channel 2 −
−
CIR5/
CIX5
CIR4/
CIX4
CIR3/
CIX3
CIR2/
CIX2
CIR1/
CIX1
CIR0/
CIX0
202BH
IOM Config
−
−
−
−
−
−
FODS
CGEN
202CH PLL Config 1 M0
CM1
−
MAX
BYPA
LOCK
SWCK
PU
202DH PLL Config 1 N4
N3
N2
N1
N0
M3
M2
M1
2030H
GP Output
Config
−
−
−
−
IOC3
IOC2
IOC1
IOC0
2031H
GP Direction
−
−
−
−
IOD3
IOD2
IOD1
IOD0
2032H
GP Data
−
−
−
−
IOR3
IOR2
IOR1
IOR0
2033H
GP Strobe
−
−
−
−
IOS3
IOS2
IOS1
IOS0
Semiconductor Group
86
Data Sheet 1998-07-01
PSB 7238
Register Description
Table 15
Summary (cont’d)
Addr
Register
Name
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
2034H
GP Int Status −
−
−
−
IOINT3
IOINT2
IOINT1
IOINT0
2035H
GP Int Mask
−
−
−
−
IOIM3
IOIM2
IOIM1
IOIM0
Note:
VN(5:0)
Read only (hardwired).
MAD(7:0)
Loaded from AD(7:0) at reset, may be written thereafter.
MONR
A read of MONR acknowledges MDR interrupt status (for Host and for
DSP).
CIR
A read of CIR acknowledges the C/I Change CIC int status (for Host and
for DSP).
GP Int
Status
A read of GP Int Status acknowledges the GP IO interrupt status (for Host
and DSP).
Semiconductor Group
87
Data Sheet 1998-07-01
PSB 7238
Register Description
Description of Configuration and Control Registers
Unless otherwise indicated, all register bits are initialized to ‘0’ after a hardware reset.
When read, register bits that are not in use (or reserved for future use) are not defined,
i.e. their value may be either ‘0’ or ‘1’.
During the initialization phase the firmware does a re-programming on the following
registers of the configuration/control block to setup the default configuration for the
communication with a video-processor (see Section 6.2.3.3), i.e. the hardware reset
values given in the register description below are overwritten by the following values:
Address
Data
Description
2005H
04H
SCLK is an output
2006H
1BH
SCLK Baud Rate = 34.56 MHz/28 = 1.23 MHz
2011H
8FH
Receive Uncompressed Audio: DU line, 16 bit linear
2012H
10H
Position of first bit in time-slot: 32
2013H
42H
Interrupt generated after 2 samples of 16 bits stored
2017H
AFH
Transmit Uncompressed Audio: DD line, 16 bit linear
2018H
10H
Position of first bit in time-slot: 32
2019H
42H
Interrupt generated after 2 samples of 16 bits stored
201DH
10H
HDLC1 receiver connected to SR line
201EH
18H
HDLC1 transmitter connected to ST line
Moreover, the firmware uses registers 2007H and 2009H for setting up the appropriate
number of frame syncs.
The firmware also initialises the PLL Config registers 202CH and 202DH to its appropriate
values in case the PLL mode is selected via the CM1 pin. In case the non-PLL mode is
chosen, the firmware does not use these registers.
Chip Version Number Register
Read
Address 2000H
Value after reset: 30H
VN(5-0)
Version Number of Chip
Semiconductor Group
88
Data Sheet 1998-07-01
PSB 7238
Register Description
External Memory Interface Register
Read/Write
Address 2001H
Value after reset: 00H
LDMEM
Load Memory. If LDMEM = 0, the external memory interface is
connected with the program bus. It is used for connecting an external
software RAM or EPROM.
If LDMEM = 1, the external memory interface address and data buses
are connected to the outputs of registers address low/high (at host
address 44/45H) and data low/high (at host address 46/47H),
respectively. This mode is used to download a program into an external
RAM.
CAEN
If EA = 1 and LDMEM = 0: Enable address lines (CA bus) to external
SRAM for program/data fetch; no meaning in other cases.
0: CA bus switched off, no program/data fetch possible (reset value).
1: CA bus active, external program/data fetch possible.
DACC
Data Access, selects program or data memory connected to
SRAM-interface.
0: program memory connected (reset value).
1: data memory connected, can be written by using “MOV” instruction,
must be read by using “MOVP”.
NRW(3-0)
Number of wait states for external interface. The number of wait states
is NRW (1111B = 0 wait states, 0000B = 15 wait states), takes the value
0000B after reset. SRAM connected for development purpose should be
capable of zero wait states.
Semiconductor Group
89
Data Sheet 1998-07-01
PSB 7238
Register Description
General Configuration Register
Read/Write
Address 2002H
Value after reset: B0H
PU
CRS
CKOEN
Power Up
0
The DSP clock is turned off. It can be started again with a DSP
interrupt.
1
Normal operation
This is the value of PU after a hardware reset.
Clock Rate Select
0
Input DCL is twice the bit rate on IOM-2.
1
Input DCL is equal to the bit rate on IOM-2.
CLKO Enable
0
CLKO disabled (output high-impedance), CLKO generator
initialized and idle.
1
Enables generation of CLKO (value during and after reset).
When PU is ‘0’ and CKOEN is ‘0’, all outputs and input/outputs of the
PSB 7238 are in the high-impedance state.
CKOS
ODS
CKOBR
(18-16)
Source clock for CLKO output pin
0
Internal DSP system clock is input for divider connected to
CLKO.
1
CLKO outputs 7.68 MHz, may be used to clock e.g. an ISAC-S
(value during and after reset).
Open drain select for IOM DU and DD lines:
0
DD and DU are open drain (reset value).
1
DD and DU are push-pull.
Most significant bits of baud rate division factor for CLKO output from
DSP clock.
Semiconductor Group
90
Data Sheet 1998-07-01
PSB 7238
Register Description
CLKO Baud Rate Registers
Read/Write
Address 2003H/2004H
Value after reset: 00H
CKOBR(15-0) Less significant bits of baud rate division factor for CLKO output from
DSP clock.
Serial Audio Interface Signal Register
Read/Write
Address 2005H - 200AH
Value after reset: 00H
SODS
SPS
DSE
SCKIN
PRSC(9-0)
Serial Audio Interface Open Drain Select for SR and ST line
0
SR and ST are push-pull (Reset value)
1
SR and ST are open drain
SCLK Polarity select
0
Data/Frame Sync out on rising edge, Data/Frame Sync in on
falling edge (if DSE = 1, idle position outside strobe = 0)
1
Data/Frame Sync out on falling edge, Data/Frame Sync in on
rising edge (if DSE = 1, idle position outside strobe = 1)
Data Strobe Enable (only valid if SCLK is output)
0
SCLK is permanently active
1
SCLK is active only during the programmed timeslots for SR and
ST. Outside the active timeslots, SR and ST remain as High-Z.
The strobe signals of all audio receivers and transmitters to
either SR or ST line are combined by logical OR and ANDed with
internal SCLK.
Serial Clock In
0
SCLK is an input
1
SCLK is an output
Prescaler
SCLK is derived from the DSP clock by division through PRSC + 1
(1 to 1024)
RFIN
RFS In
0
RFS is an input
1
RFS is an output
Semiconductor Group
91
Data Sheet 1998-07-01
PSB 7238
Register Description
RCONT
RFE
RFSEL
RFPS
Continuous generation of RFS pulses
0
A number of pulses (spaced 16-bit periods from each other)
equal to RREP + 1 (1, …, 1024) is generated upon an STR
command (see HDLC/transparent data controller register
description).
1
When ERFS bit is ‘1’ (see HDLC/transparent data controller
register description), continuous pulses on RFS are generated,
spaced RPRD + 1 (1, …, 32) 16-bit words from each other.
RFS Clock Edge
0
When RFS is generated by the PSB 7238 (= output), it changes
its state at the rising edge of the SCLK clock.
1
When RFS is generated by the PSB 7238 (= output), it changes
its state at the falling edge of the SCLK clock.
Receive Frame Sync Select (only valid if RFS is output)
(in both cases the polarity is selected by RFPS)
0
Single cycle RFS is generated
1
The data strobe is output on RFS pin. This only affects the RFS
pin, the internal frame sync is generated and is input to the
timeslot count logic of the audio receivers and transmitters
connected to SR and ST line as in case RFSEL = 0. The strobe
signals of all audio receivers and transmitters connected to SR
and ST line will be combined by logical OR.
RFS polarity select
0
Rising edge marks the beginning of a new frame on the RFS
line.
1
Falling edge marks the beginning of a new frame on the RFS
line. If RFS is an output it is inverted vs. RFPS = 0
RPRD(4-0)/
Period of RFS pulse generation
RREP(9-0)
Number of repetition of pulses
When RCONT = 0, RREP(9-0) gives the number of pulses (RREP + 1)
to be generated, spaced 16 bits apart (up to 1024 pulses).
When RCONT = 1, RPRD(4-0) gives the spacing of continuously
generated pulses in 16-bit word increments (up to 32).
TFIN
TFS In
0
TFS is an input
1
TFS is an output
Semiconductor Group
92
Data Sheet 1998-07-01
PSB 7238
Register Description
TCONT
TFE
TFSEL
TFPS
Continuous generation of TFS pulses
0
A number of pulses (spaced 16-bit periods from each other)
equal to TREP + 1 (1, …, 1024) is generated upon an STX
command (see HDLC/transparent data controller register
description).
1
When ETFS bit is ‘1’ (see HDLC/transparent data controller
register description), continuous pulses on TFS are generated,
spaced TPRD + 1 (1, …, 32) 16-bit words from each other.
TFS Clock Edge
0
When TFS is generated by the PSB 7238 (= output), it changes
its state at the rising edge of the SCLK clock.
1
When TFS is generated by the PSB 7238 (= output), it changes
its state at the falling edge of the SCLK clock.
Transmit Frame Sync Select (only valid if TFS is output)
(in both cases the polarity is selected by TFPS)
0
Single cycle TFS is generated
1
The data strobe is output on TFS pin. This only affects the TFS
pin, the internal frame sync is generated and is input to the
timeslot count logic of the audio receivers and transmitters
connected to SR and ST line as in case TFSEL = 0. The strobe
signals of all audio receivers and transmitters connected to SR
and ST line will be combined by logical OR.
TFS polarity select
0
Rising edge marks the beginning of a new frame on the TFS line.
1
Falling edge marks the beginning of a new frame on the TFS
line. If TFS is an output it is inverted vs. TFPS = 0
TPRD(4-0)/
Period of TFS pulse generation
TREP(9-0)
Number of repetition of pulses
When TCONT = 0, TREP(9-0) gives the number of pulses (TREP + 1)
to be generated, spaced 16 bits apart (up to 1024 pulses).
When TCONT = 1, TPRD(4-0) gives the spacing of continuously
generated pulses in 16-bit word increments (up to 32).
Semiconductor Group
93
Data Sheet 1998-07-01
PSB 7238
Register Description
SIO Configuration Register
Read/Write
Address 200BH
Value after reset: 00H
SAIO
Serial Audio Interrupt line In/Out
0
SIO line is an input
1
SIO line is an output
SOUT
Serial Audio Out value. If SAIO = 1 (SIO is output), value of SIO line
(clocked out with the rising edge of SCLK).
SINTC
Serial Audio Interrupt Configuration
0
If SIO is programmed as input (SIO = 0), a falling edge on SIO
causes an interrupt, if unmasked.
1
If SIO is programmed as input (SIO = 0), a rising edge on SIO
causes an interrupt, if unmasked.
Semiconductor Group
94
Data Sheet 1998-07-01
PSB 7238
Register Description
Timers
Read/Write
Address 200CH - 200FH
Value after reset: 00H
T1EN
Timer 1 Enable
0
Stops the timer and initializes it.
1
Enables the timer.
When T1EN = 1, the timer generates continuously a pulse of one FSC
period width with a repetition rate determined by T1.
T1(5-0)
Timer 1
Gives the division factor for timer 1 generation, starting from FSC
(divided by 1 to 64).
T2EN
Timer 2 Enable
0
Stops the timer and initializes it.
1
Enables the timer.
When T1EN = 1 and T2EN = 1, the timer expires periodically with a
period determined by T1 and T2.
T2(6-0)
Timer 2
Gives the division factor for timer 2 generation, starting from Timer 1
output (divided by 1 to 128).
T3EN
Timer 3 Enable
0
Stops the timer and initializes it.
1
Enables the timer.
When T3EN = 1, the timer generates continuously a pulse of one clock
width with a repetition rate determined by T1.
T3(13-0)
Timer 3
Gives the division factor for timer 3 generation, starting from DSP clock
(1 to 16384 prescaler 256).
Semiconductor Group
95
Data Sheet 1998-07-01
PSB 7238
Register Description
HDLC Controller Access Register
Read/Write
Address 2010H
Value after reset: 00H
HAH1
Host Access to HDLC Controller 1
0
The DSP services the HDLC controller (register set including
FIFOs is inaccessible from host).
1
The Host services the HDLC controller (register set including
FIFOs is inaccessible from DSP).
This bit determines the access to the register area of the HDLC
controller 1; it is independent of the HHR and HHX bits which determine
the access from DSP or host to the HDLC serial input and output,
respectively.
HAH2
Host Access to HDLC Controller 2
0
The DSP services the HDLC controller (register set including
FIFOs is inaccessible from host).
1
The host services the HDLC controller (register set including
FIFOs is inaccessible from DSP).
This bit determines the access to the register area of the HDLC
controller 2; it is independent of the HHR and HHX bits which determine
the access from DSP or host to the HDLC serial input and output,
respectively.
Semiconductor Group
96
Data Sheet 1998-07-01
PSB 7238
Register Description
Receive Audio Channel 1
Read/Write
Address 2011H - 2013H
Value after reset: 00H
EN
Enable
If inactive (0), no clock is generated for this channel, must be set to 0
during configuration of receive audio channel 1.
SLIN(1-0)
Select Line
00
Channel time-slot on DU (frame sync FSC, clock DCL or DCL/2)
01
Channel time-slot on DD (frame sync FSC, clock DCL or DCL/2)
10
Channel time-slot on SR (frame sync RFS, clock SCLK)
11
Channel time-slot on ST (frame sync TFS, clock SCLK)
LEN(4-0)
Length of channel time-slot
Channel time-slot length in bits = LEN + 1 (1, …, 32 bits).
TS(8-0)
Time-slot position
Position of first bit of time-slot from frame sync (0, …, 511).
LMOD
LBIT(4-0)
Load Mode
0
Sample of length LEN + 1 loaded into read register
(from frame-1) at the occurrence of frame sync.
1
(LBIT + 1) × (LEN + 1) bits are loaded into read register when
ready (for software to be accessed via a “Buffer Full” interrupt
status).
Load Bits
Number of bits in aggregates of (LEN + 1) loaded into read register
when ready, if LMOD = 1. The number of bits loaded is equal to
(LBIT + 1) × (LEN + 1), the corresponding interrupt status is BFUL1.
Note: Since the number of bits is 32 maximum, the value of the product
(LBIT + 1) × (LEN + 1) shall not exceed 32.
Semiconductor Group
97
Data Sheet 1998-07-01
PSB 7238
Register Description
Receive Audio Channel 2
Read/Write
Address 2014H - 2016H
Value after reset: 00H
EN
Enable
If inactive (0), no clock is generated for this channel, must be set to 0
during configuration of receive audio channel 2.
SLIN(1-0)
Select Line
00
Channel time-slot on DU (frame sync FSC, clock DCL or DCL/2)
01
Channel time-slot on DD (frame sync FSC, clock DCL or DCL/2)
10
Channel time-slot on SR (frame sync RFS, clock SCLK)
11
Channel time-slot on ST (frame sync TFS, clock SCLK)
LEN(4-0)
Length of channel time-slot channel time-slot length in bits = LEN + 1
(1, …, 32 bits).
TS(8-0)
Time-slot position
Position of first bit of time-slot from frame sync (0, …, 511).
LMOD
Load Mode
LBIT(4-0)
0
Sample of length LEN + 1 loaded into read register
(from frame-1) at the occurrence of frame sync.
1
(LBIT + 1) × (LEN + 1) bits are loaded into read register when
ready (for software to be accessed via a ”Buffer Full” interrupt
status).
Load Bits
Number of bits in aggregates of (LEN + 1) loaded into read register
when ready, if LMOD = 1. The number of bits loaded is equal to
(LBIT + 1) × (LEN + 1), the corresponding interrupt status is BFUL2.
Note: Since the number of bits is 32 maximum, the value of the product
(LBIT + 1) × (LEN + 1) shall not exceed 32.
Semiconductor Group
98
Data Sheet 1998-07-01
PSB 7238
Register Description
Transmit Audio Channel 1
Read/Write
Address 2017H - 2019H
Value after reset: 00H
EN
Enable
If inactive (0), no clock is generated for this channel, and the channel is
in high impedance, must be set to 0 during configuration of transmit
audio channel 1.
SLIN(1-0)
LEN(4-0)
Select Line
00
Channel time-slot on DU (frame sync FSC, clock DCL or DCL/2)
01
Channel time-slot on DD (frame sync FSC, clock DCL or DCL/2)
10
Channel time-slot on SR (frame sync RFS, clock SCLK)
11
Channel time-slot on ST (frame sync TFS, clock SCLK)
Length of channel time-slot
Channel time-slot length in bits = LEN + 1 (1, …, 32 bits).
TS(8-0)
Time-slot position
Position of first bit of time-slot from frame sync (0, …, 511).
LMOD
Load Mode
0
Sample of length LEN + 1 loaded from write register into shift
register (for frame + 1) at the occurrence of frame sync.
1
When shift register is about to become empty
((LBIT + 1) × (LEN + 1) bits shifted out), it is loaded from write
register (for software to be accessed via a “Buffer Empty”
interrupt status).
LBIT(4-0)
Load Bits
Number of bits in aggregates of (LEN + 1) loaded into output shift
register when ready, if LMOD = 1. The number of bits loaded is equal to
(LBIT + 1) × (LEN + 1), the corresponding interrupt status is BEMP1.
Since the number of bits is 32 maximum, the value of the product
(LBIT + 1) × (LEN + 1) shall not exceed 32.
HXA
Host Transmit Access
0
Channel originates from DSP
1
Channel originates from Host
Semiconductor Group
99
Data Sheet 1998-07-01
PSB 7238
Register Description
Transmit Audio Channel 2
Read/Write
Address 201AH - 201CH
Value after reset: 00H
EN
Enable
If inactive (0), no clock is generated for this channel, and the channel is
in high impedance, must be set to 0 during configuration of transmit
audio channel 2.
SLIN(1-0)
LEN(4-0)
Select Line
00
Channel time-slot on DU (frame sync FSC, clock DCL or DCL/2)
01
Channel time-slot on DD (frame sync FSC, clock DCL or DCL/2)
10
Channel time-slot on SR (frame sync RFS, clock SCLK)
11
Channel time-slot on ST (frame sync TFS, clock SCLK)
Length of channel time-slot
Channel time-slot length in bits = LEN + 1 (1, …, 32 bits).
TS(8-0)
Time-slot position
Position of first bit of time-slot from frame sync (0, …, 511).
LMOD
LBIT(4-0)
Load Mode
0
Sample of length LEN + 1 loaded from write register into shift
register (for frame + 1) at the occurrence of frame sync.
1
When shift register is about to become empty
((LBIT + 1) × (LEN + 1) bits shifted out), it is loaded from write
register (for software to be accessed via a “Buffer Empty”
interrupt status).
Load Bits
Number of bits in aggregates of (LEN + 1) loaded into output shift
register when ready, if LMOD = 1. The number of bits loaded is equal to
(LBIT + 1) × (LEN + 1), the corresponding interrupt status is BEMP2.
Since the number of bits is 32 maximum, the value of the product
(LBIT + 1) × (LEN + 1) shall not exceed 32.
HXA
Host Transmit Access
0
Channel originates from DSP
1
Channel originates from Host
Semiconductor Group
100
Data Sheet 1998-07-01
PSB 7238
Register Description
HDLC Channel 1 Receive Path Register
Read/Write
Address 201DH
Value after reset: 00H
SLIN(1-0)
LMOD(1-0)
HHR
Select Line
00
Channel on DU (frame sync FSC, clock DCL or DCL/2)
01
Channel on DD (frame sync FSC, clock DCL or DCL/2)
10
Channel on SR (frame sync RFS, clock SCLK)
11
Channel on ST (frame sync TFS, clock SCLK)
Load Mode
00
When shift register contains one byte, it is loaded into HDLC
receiver as soon as possible (and, in addition, to DSP/host read
register for monitoring).
XX
When shift register contains n bytes (XX = 01: n = 1; XX = 10:
n = 2; XX = 11: n = 4), the contents is loaded into DSP and host
read register, DSP or host (cf. HHR1 bit) write register is loaded
into HDLC receive buffer, and read DSP or host read register is
loaded into DSP or host write register (for software to be
accessed via a “Buffer Full” interrupt status).
Host HDLC Receiver Access
0
DSP has access to modify HDLC receiver input (monitoring from
host still possible).
1
Host has access to modify HDLC receiver input (monitoring from
DSP still possible).
Semiconductor Group
101
Data Sheet 1998-07-01
PSB 7238
Register Description
HDLC Channel 1 Transmit Path Register
Read/Write
Address 201EH
Value after reset: 00H
SLIN(1-0)
LMOD(1-0)
HHX
Select Line
00
Channel on DU (frame sync FSC, clock DCL or DCL/2)
01
Channel on DD (frame sync FSC, clock DCL or DCL/2)
10
Channel on SR (frame sync RFS, clock SCLK)
11
Channel on ST (frame sync TFS, clock SCLK)
Load Mode
00
When shift register is about to become empty, it (as well as DSP
and Host read registers) is loaded from HDLC transmitter.
XX
When shift register contains n bytes (XX = 01: n = 1; XX = 10:
n = 2; XX = 11: n = 4), the contents is loaded into DSP and host
read register, DSP or host (cf. HHR bit) write register is loaded
into HDLC receive buffer, and read DSP or host read register is
loaded into DSP or host write register (for software to be
accessed via a “Buffer Empty” interrupt status).
Host HDLC Transmitter Access
0
DSP has access to modify HDLC transmitter output (monitoring
of HDLC output from host still possible).
1
Host has access to modify HDLC receiver input (monitoring of
HDLC output from DSP still possible).
Semiconductor Group
102
Data Sheet 1998-07-01
PSB 7238
Register Description
HDLC Channel 2 Receive Path Register
Read/Write
Address 201FH
Value after reset: 00H
SLIN(1-0)
LMOD(1-0)
HHR
Select Line
00
Channel on DU (frame sync FSC, clock DCL or DCL/2)
01
Channel on DD (frame sync FSC, clock DCL or DCL/2)
10
Channel on SR (frame sync RFS, clock SCLK)
11
Channel on ST (frame sync TFS, clock SCLK)
Load Mode
00
When shift register contains one byte, it is loaded into HDLC
receiver as soon as possible (and, in addition, to DSP/host read
register for monitoring).
XX
When shift register contains n bytes (XX = 01: n = 1; XX = 10:
n = 2; XX = 11: n = 4), the contents is loaded into DSP and host
read register, DSP or host (cf. HHR1 bit) write register is loaded
into HDLC receive buffer, and read DSP or host read register is
loaded into DSP or host write register (for software to be
accessed via a “Buffer Full” interrupt status).
Host HDLC Receiver Access
0
DSP has access to modify HDLC receiver input (monitoring from
host still possible).
1
Host has access to modify HDLC receiver input (monitoring from
DSP still possible).
Semiconductor Group
103
Data Sheet 1998-07-01
PSB 7238
Register Description
HDLC Channel 2 Transmit Path Register
Read/Write
Address 2020H
Value after reset: 00H
SLIN(1-0)
LMOD(1-0)
HHX
Select Line
00
Channel on DU (frame sync FSC, clock DCL or DCL/2)
01
Channel on DD (frame sync FSC, clock DCL or DCL/2)
10
Channel on SR (frame sync RFS, clock SCLK)
11
Channel on ST (frame sync TFS, clock SCLK)
Load Mode
00
When shift register is about to become empty, it (as well as DSP
and Host read registers) is loaded from HDLC transmitter.
XX
When shift register contains n bytes (XX = 01: n =1; XX = 10:
n = 2; XX = 11: n = 4), the contents is loaded into DSP and .ost
read register, DSP or .ost (cf. HHR bit) write register is loaded
into HDLC receive buffer, and read DSP or .ost read register is
loaded into DSP or .ost write register (for software to be
accessed via a “Buffer Empty” interrupt status).
Host HDLC Transmitter Access
0
DSP has access to modify HDLC transmitter output (monitoring
of HDLC output from host still possible).
1
Host has access to modify HDLC receiver input (monitoring of
HDLC output from DSP still possible).
Semiconductor Group
104
Data Sheet 1998-07-01
PSB 7238
Register Description
Monitor Channel Configuration Register
Read/Write
Address 2021H
Value after reset: 00H
SLIN
MONCH(3-0)
Select Line
0
Receive channel on DD, transmit channel on DU.
1
Receive channel on DU, transmit channel on DD.
Monitor Channel position
Monitor channel (same time-slot for receive and transmit direction)
located in the 3rd byte of multiplex MONCH (0 to 15).
Monitor Channel Control Register
Read/Write
Address 2022H
Value after reset: 00H
MRE
MRC
MXC
Monitor channel Receive Enable
0:
Receive monitor channnel inactive
1:
Receive monitor channel active
MR bit Control
0:
No acknowledgement is sent in response to a received byte.
When MRE = 1 and MRC = 0, only the first byte of a packet can
received, further bytes (in the case that the first byte is
acknowledged by another IC) are not loaded into MONR.
1:
Acknowledgement via MR bit is enabled, acknowledgement
takes place after MONR is read.
Monitor Transmit Control
0:
Transmit monitor channel inactive (high impedance)
1:
Monitor channel transmission enabled
Monitor Channel Address (IC Identification)
Read/Write
Address 2023H
Value after reset: 00H
MAD
Monitor Address
Latched at reset from lines AD(7-0) and programmable from host
(if present) thereafter.
Semiconductor Group
105
Data Sheet 1998-07-01
PSB 7238
Register Description
Monitor Channel Transmit/Receive Register
Read/Write
Address 2024H
Value after reset: 00H
MONX
Monitor Transmit Register (write)
Value of monitor byte to be transmitted.
MONR
Monitor Receive Register (read)
Value of received monitor channel byte. A read of this register enables
the automatic acknowledgement of the received byte.
C/I Channel Mode Register
Read/Write
Address 2025H
Value after reset: 00H
CIEN1, 2
AWK1, 2
C/I Channel 1,2 Enable
0:
Transmission of C/I channel disabled.
(channel in high impedance).
1:
Transmission of C/I channel enabled
Awake for C/I channel 1,2
0:
C/I channel normal operation
1:
A “low” is unconditionally sent on the line programmed for C/I
transmit channel.
Note: When AWK is set to ‘1’ the line (DD or DU) is immediately pulled
low (non-synchronously with clock). When AWK is set to ‘0’, the
line is “set free” only after the next rising edge of FSC is detected.
One should avoid setting AWK to ‘0’ just when a rising edge on
FSC is expected.
Semiconductor Group
106
Data Sheet 1998-07-01
PSB 7238
Register Description
C/I Channel 1, 2 Configuration Registers
Read/Write
Address 2026H/2027H
Value after reset: 00H
SLIN
CICH(3-0)
Select Line
0
Receive channel on DD, transmit channel on DU.
1
Receive channel on DU, transmit channel on DD.
C/I channel position
C/I channel (same time-slot for receive and transmit direction) located
in the 4th byte of multiplex CICH (0 to 15).
CIL
DLL
C/I Channel Length
0:
4 bits
1:
6 bits
Double Last Look
0:
No double last look
1:
C/I channel change confirmed only after two consecutive
identical values are received.
C/I Channel 1 Transmit/Receive Register
Read/Write
Address 2029H
Value after reset: 00H
CIX
C/I Channel Transmit
Value of transmitted C/I channel
CIR
C/I Channel Receive (read)
Value of received C/I channel
Semiconductor Group
107
Data Sheet 1998-07-01
PSB 7238
Register Description
C/I Channel 2 Transmit/Receive Register
Read/Write
Address 202AH
Value after reset: 00H
CIX
C/I Channel Transmit
Value of transmitted C/I channel
CIR
C/I Channel Receive (read)
Value of received C/I channel
IOM Configuration Register
Read/Write
Address 202BH
Value after reset: 00H
CGEN
FODS
Clock Generation for IOM-2 interface (TE mode)
0
FSC and DCL are inputs (Reset value)
1
FSC and DCL are outputs (DCL = 1.536 MHz, FSC = 8 kHz)
FSC/DCL Open Drain Select
0
FSC and DCL are push/pull (Reset value)
1
FSC and DCL are open drain
PLL Configuration Register
PU
Read/Write
Address 202CH - 202DH
Power Up for PLL
0
PLL is in power-down mode
1
PLL is in power-up mode
General Purpose I/O Configuration Register
Read/Write
Address 2030H
Value after reset: 00H
IIOC(3-0)
I/O Line Configuration
0
Pin GPx is open drain (with internal pull up registers)
1
Pin GPx is push/pull
Semiconductor Group
108
Data Sheet 1998-07-01
PSB 7238
Register Description
General Purpose I/O Data Direction Register
Read/Write
Address 2031 H
Read/Write
Address 2032H
Value after reset: 00H
IIOD(3-0)
I/O Line Direction
0
Pin GPx is input
1
Pin GPx is output
General Purpose I/O Data Register
Value after reset: 00H
IIOR(3-0)
I/O Line Data
In a write access to GPR the value will stored in the GPR. For those
ports which are configured as output the value is driven on the
corresponding pin GPx. As a consequence, GPR can be initialized even
before the coressponding pin is configured as output.
A read access to GPR will return the current status on the pin GPx,
independent of whether the pin GPx is configured as input or output.
General Purpose I/O Strobe Register
Read/Write
Address 2033H
Value after reset: 00H
IIOS(3-1)
IIOS0
I/O Strobe Select
0
input pin GPx is not strobed
1
input pin GPx performes strobed operation
I/O Strobe Mode
0
strobe mode is disabled. GP0 is used as general I/O pin
1
strobe mode is selected (only valid if GP0 is configured as input).
If strobed operation is disabled, the input pins are sampled
continuously.
If strobed is selected, input pins are latched during GP0 = 0. The latch
is closed when GP0 = 1
Semiconductor Group
109
Data Sheet 1998-07-01
PSB 7238
Register Description
General Purpose Interrupt Status Register
Read
Address 2034H
Value after reset: 00H
IOINTS(3-0)
Input Interrupt Status Register
0
no state change is detected on pin GPx
1
a state change (0-1 or 1-0) is detected on pin GPx.
A maskable interrupt from any of the GPx pins is generated to the host
if the GPI-mask bit in register 74H is enabled.
General Purpose Interrupt Mask Register
Read/Write
Address 2035H
Value after reset: 00H
IIOINTM(3-0)
Input Interrupt Mask Register
0
a “1” in IOINTSx does not generate an INT1 to the DSP
1
a “1” in IOINTSx generates an INT1 to the DSP
Semiconductor Group
110
Data Sheet 1998-07-01
PSB 7238
Register Description
5.4
HDLC Controller Registers
As mentioned previously, the addresses for the HDLC registers are given here for the
DSP for completeness only, since they are only relevant for the on-chip firmware.
The access to the register banks of the two HDLC controllers is determined by the
“HDLC Controller Access from Host” bits HAH1 (for HDLC1) and HAH2 (for HDLC2):
– When HAHx is 0, the DSP is allowed to access the HDLC register bank, and thus to
service the HDLC controller.
– When HAHx is ‘1’, the host is allowed to service the HDLC controller.
Figure 38
In the following tables the addresses are relative to the base address 80 H (HDLC1) or
C0H (HDLC2). In each row, the upper line lists the read values, the lower the write values
of the corresponding register.
Semiconductor Group
111
Data Sheet 1998-07-01
PSB 7238
Register Description
Table 16
Read
Byte
Address Write
Offset
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
–
–
–
–
–
–
–
00H
…
1FH
RFIFO –
XFIFO
20H
STAR XDOV XFW
XCMD XF
XME
XCEC
XRES
RCEC BSY
XNEW –
RNA
–
STR
–
STX
STX
21H
RSTA
–
VFR
–
RDO
–
CRC
–
RAB
–
–
–
–
–
–
–
–
–
22H
MODE TMO
MODE TMO
RAC
RAC
XAC
XAC
TLP
TLP
–
–
–
–
ERFS ETFS
ERFS ETFS
23H
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
24H
RBCH
–
OV
–
RBC14 RBC13 RBC12 RBC11 RBC10 RBC9 RBC8
–
–
–
–
–
–
–
25H
RBCL RBC7 RBC6
RCMD RMC RRES
RBC5
RMD
RBC4
–
RBC3
–
RBC2
–
RBC1 RBC0
STR
–
26H
CCR0
CCR0
PU
PU
C32
C32
CRL
CRL
RCRC
RCRC
XCRC
XCRC
RMSB XMSB
RMSB XMSB
27H
CCR1
CCR1
RCS0 RSCO
RCS0 RSCO
RFDIS XCS0
RFDIS XCS0
TSCO
TSCO
XFDIS –
XFDIS –
28H
TSAR
TSAR
TSR5 TSR4
TSR5 TSR4
TSR3
TSR3
TSR2
TSR2
TSR1
TSR1
TSR0
TSR0
RCS2 RCS1
RCS2 RCS1
29H
TSAX
TSAX
TSX5
TSX5
TSX4
TSX4
TSX3
TSX3
TSX2
TSX2
TSX1
TSX1
TSX0
TSX0
XCS2 XCS1
XCS2 XCS1
2AH
RCCR RCC7 RCC6
RCCR RCC7 RCC6
RCC5
RCC5
RCC4
RCC4
RCC3
RCC3
RCC2
RCC2
RCC1 RCC0
RCC1 RCC0
2BH
XCCR
XCCR
XCC7 XCC6
XCC7 XCC6
XCC5
XCC5
XCC4
XCC4
XCC3
XCC3
XCC2
XCC2
XCC1 XCC0
XCC1 XCC0
2CH
ISR
IMR
RME
RME
RFO
RFO
XPR
XPR
XDU
XDU
ALLS
ALLS
–
–
ITF
ITF
RPF
RPF
–
–
–
–
–
–
Unless otherwise indicated, all register bits are initialized to ‘0’ after a hardware reset.
Semiconductor Group
112
Data Sheet 1998-07-01
PSB 7238
Register Description
During the initialization phase the firmware does a re-programming on the following
registers of the HDLC1 controller to setup the default configuration for the
communication with a video-processor (see Section 6.2.3.3):
Table 17
Address
Data
Description
30A2H
80H
Transparent Mode
30A5H
40H
Receiver Reset
30A6H
83H
Power Up, MSB first for Receiver and Transmitter
30AAH
0FH
Receiver: 16 bit time-slot
30ABH
0FH
Transmitter: 16 bit time-slot
30ACH
50H
Interrupt Enable for RPF and XPR
When read, register bits that are not in use (or reserved for future use) are not defined,
i.e. their value may be either ‘0’ or ‘1’.
Receive FIFO
RFIFO
Read
Address 00-1FH
The HDLC receive FIFO size is 2 × 32 bytes. One half of the FIFO is connected to the
receiver shift register while the second half is accessible to the controlling processor.
The least significant 5 bits of the address are not decoded for the FIFO access, thus
always the same address may be used to read out the FIFO contents. With the first read
access the first byte from the FIFO will be read, with the second read access the second
byte and so on. A random access to the FIFO contents is not possible.
Transmit FIFO
XFIFO
Write
Address 00-1FH
The transmit FIFO size is 2 × 32 bytes. One half is connected with the transmit shift
register while the other half is accessible to the controlling processor. The least
significant 5 bits of the address are not decoded for the FIFO access, thus always the
same address may be used to write to the FIFO. With the first write access the first byte
is written to the FIFO, with the second write access the second byte and so on. A random
access to the FIFO is not possible.
Semiconductor Group
113
Data Sheet 1998-07-01
PSB 7238
Register Description
Status Register
STAR
Read
Address 20H
Bit 7
STAR
XDOV
Bit 0
XFW
XCEC
RCEC
BSY
RNA
STR
STX
XDOV
Transmit Data Overflow
Indicates that more than 32 bytes have been written into the transmit FIFO.
Set:
In the write cycle of the 33 byte.
Reset: After reading STAR register, XRES or hardware reset.
XFW
Transmit FIFO Write Enable
Data can be entered into the transmit FIFO.
Set:
After the XF command execution has been finished, after XRES,
after hardware reset.
Reset: After XF command has been given.
XCEC
Transmitter Command Executing
If ‘1’, a command is currently executed by the transmitter and no further
command may be written into the XCMD register. When ‘0’, a new command
may be entered into XCMD.
Set:
After a new command has been written to the XCMD register
(with the rising edge of WR).
Reset: After the new command has been executed, after hardware reset.
RCEC
Reveiver Command Executing
If ‘1’, a command is currently executed by the receiver and no further
command may be written into the RCMD register. When ‘0’, a new
command may be entered into RCMD.
Set:
After a new command has been written to the RCMD register (with
the rising edge of WR).
Reset: After the new command has been executed, after hardware reset.
BSY
Busy state in the receive channel
A ‘0’ indicates an “idle” state.
Set:
After a ‘0’ has been received, after RRES, after hardware reset.
Reset: After 15 consecutive ones have been received.
RNA
Receive channel Not Active
Indicates whether flags/frames are being received on the line (0) or not (1).
Set:
After 7 consecutive ones are received on the line.
Reset: After each received 0, after RRES, after hardware reset.
Semiconductor Group
114
Data Sheet 1998-07-01
PSB 7238
Register Description
STR
Status of generation of RFS pulses
Only valid when RFIN = 0 (RFS pulses internally generated) and used if
RCONT bit in RFS mode register is ‘0’.
A ‘1’ indicates that generation of pulses as a result of a previous STR
command is still on-going.
This function may be used in connection with the HDLC controller when a
predefined number of data units (e.g. words) are received, clocked by RFS
pulses.
Set:
With the rising edge of the first RFS pulse being generated.
Reset: 16 bit periods after the last RFS pulse, after hardware reset.
STX
Status of generation of TFS pulses
Only valid when TFIN = 0 (TFS pulses internally generated) and used if
TCONT bit in TFS mode register = 0.
A ‘1’ indicates that generation of pulses as a result of a previous STX
command is still on-going; STX is reset to ‘0’ 16 bit periods after the last TFS
pulse has been generated.
This function may be used in connection with the HDLC controller when a
predefined number of data units (e.g. words) are to be transmitted, clocked
by TFS pulses.
Set:
With the rising edge of the first TFS pulse being generated.
Reset: 16 bit periods after the last TFS pulse, after hardware reset.
Semiconductor Group
115
Data Sheet 1998-07-01
PSB 7238
Register Description
Transmit Command Register XCMD
(Write)
Bit 7
XCMD
XF
Address 20H
Bit 0
XME
XRES
XNEW
STX
XF
Transmit Frame
Initiates transmission of a pool of data (up to 32 bytes). The XFIFO is write
protected. When the non-accessible part is empty, the contents of the
accessible part is copied to the non-accessible part, an XPR interrupt status
is generated and the accessible part is again writable from the DSP or host
(determined by HAHx bit).
XME
Transmit Message End
Indicates that after the transmission of data from the FIFO pool, the frame is
to be closed with a CRC checksum (programmable) and a closing flag. Can
be set together with XF or as a reaction to the XPR interrupt generated after
the XF for the last FIFO. See Section 4.3 for details.
Has no meaning in transparent mode.
XRES
Transmitter Reset
When XAC = 1, this command resets the HDLC transmitter, clears the
transmit FIFO, aborts any HDLC frame being transmitted and generates an
XPR status after the command has been completed.
When XRES is issued while XAC = 0, this command initializes in addition
the time-slot count logic for this channel.
XNEW
Transmitter Restart
When set to ‘1’ during the transmission of the first FIFO (including the start
flag) the transmitter state machine is reset to the starting state without any
loss of data (i.e. FIFO data). XAC is reset to ‘0’ automatically. When XAC is
reprogrammed to ‘1’, the transmission of the current frame is restarted with
the first bit of the start flag.
STX
Start command for TFS generation
Only valid when TFIN = 0 (TFS pulses internally generated) and used if
TCONT bit in TFS mode register is ‘0’.
When TCONT = 0, when STX is set, exactly TREP(9-0) pulses of one bit
duration and spaced 16 bit periods from each other are generated. When
STX command is given, generation of pulses starts at the next possible
16-bit boundary.
This function may be used in connection with the HDLC controller when a
predefined number of data units (e.g. words) are transmitted, clocked by
TFS pulses.
Semiconductor Group
116
Data Sheet 1998-07-01
PSB 7238
Register Description
Receive Status Register
RSTA
Read
Bit 7
RSTA
VFR
Address 21H
Bit 0
RDO
CRC
RAB
This byte is the same as the byte appended in the RFIFO to the last byte (or CRC) of the
frame. The value is updated after the end flag has been received and before RSTA is
written to the RFIFO and RME interrupt status is generated.
The status register is completely reset with every start flag. Thus, the DSP/host should
always use the RSTA value from the RFIFO to evaluate the status at the end of the
corresponding frame, since the register contents does not necessarily refer to the current
frame being read from the RFIFO.
Has no meaning in transparent mode.
VFR
Valid Frame
Indicates whether the frame length is valid (1) or not (0).
Set:
If the frame length (transparent data without zero insertion) is a
multiple of 8 bits and the frame contains at least 16 bits.
Reset: All other frame lengths, with every new start flag
RDO
Receive Data Overflow
At least one byte of the frame has been lost because it could not be stored
in the FIFO.
Set:
When one byte of frame data is available from the HDLC bitengine
but cannot be stored in the RFIFO because it’s full.
Reset: With every new start flag
CRC
CRC check
Correct (1) or incorrect (0). The value is updated after the end flag has been
received and before RSTA is written to the RFIFO and RME interrupt status
is generated.
Set:
CRC correct
Reset: CRC incorrect, with every new start flag
RAB
Receive Message Aborted
Frame aborted by the remote station (7 consecutive ‘1’s received), yes (1)
or no (0).
Set:
After 7 consecutive ‘1’s have been received
Reset: With every new start flag
Semiconductor Group
117
Data Sheet 1998-07-01
PSB 7238
Register Description
Mode Register
MODE
Read/Write
Address 22H
Bit 7
MODE
TMO
Bit 0
RAC
XAC
TLP
ERFS
ETFS
TMO
Transparent Mode
A ‘1’ selects the transparent non-HDLC mode, where no HDLC framing
functions are implemented. In transparent mode, data reception and
transmission is started time-slot aligned.
RAC
Receiver Active
Sets the receiver in an active state, where the receiver goes into the hunt
mode1) (see Page 127).
Note: In transparent mode, when RAC is set to ‘1’, storage of bytes in the
receive FIFO starts time-slot aligned.
XAC
Transmitter Active
When ‘1’, the HDLC transmitter transmits on the line and in the time-slot
assigned to it (interframe time-fill if no data is available). When XAC = 0, the
time-slot assigned to the transmitter is in high impedance.
Note: In transparent mode, when XAC is set to ‘1’, transmission of bytes
from the transmit FIFO starts time-slot aligned.
TLP
Test Loop
When ‘1’, output of the HDLC controller is connected to input (i.e. what is
transmitted is simultaneously received). The loop is transparent.
ERFS
Enable RFS generation
Only valid when RFIN = 0 (RFS pulses internally generated) and used if
RCONT bit in RFS mode register is ‘1’.
When RCONT = 1, an ERFS value of ‘1’ enables the generation of RFS
pulses of one bit duration and spaced RPRD + 1 (1, …, 32) 16-bit words
from each other. Pulses are generated indefinitely until ERFS is set to ‘0’
again.
ETFS
Enable TFS generation
Only valid when TFIN = 0 (TFS pulses internally generated) and used if
TCONT bit in TFS mode register is ‘1’.
When TCONT = 1, an ETFS value of ‘1’ enables the generation of TFS
pulses of one bit duration and spaced TPRD + 1 (1, …, 32) 16-bit words
from each other. Pulses are generated indefinitely until ETFS is set to ‘0’
again.
Semiconductor Group
118
Data Sheet 1998-07-01
PSB 7238
Register Description
Receive Byte Count High
RBCH
Read
Address 24H
Bit 7
RBCH
OV
Bit 0
RBC14
Receive Byte Count Low
RBC13
RBC12
RBCL
RBC11
RBC10
Read
RBC9
RBC8
Address 25H
Bit 7
Bit 0
RBCL
RBC7
OV
Overflow
A ‘1’ indicates a frame at least 32.768 bytes long. Despite the overflow, the
RBC(14-0) counter continues counting.
Set: When RBC(14-0) counter reaches 32.768.
Reset: After RRES, after hardware reset, with the last RMC (after RME)
RBC
Receive Byte Count
Length of received frame (including status and CRC bytes). The register
contents are valid after an RME interrupt status. RBC4-0 indicate the
number of valid bytes currently in the DSP/host accessible part of RFIFO.
Reset with the last RMC (after RME).
Semiconductor Group
RBC6
RBC5
RBC4
119
RBC3
RBC2
RBC1
RBC0
Data Sheet 1998-07-01
PSB 7238
Register Description
Receive Command Register
RCMD
Write
Address 25H
Bit 7
RCMD
RMC
Bit 0
RRES
RMD
STR
RMC
Receive Message Complete
Acknowledges a previous RPF or RME status. Frees the FIFO pool for the
next received frame or part of a frame.
Although the interrupt status register (ISR) is automatically reset after read,
the RMC must be given in response to an RPF or RME interrupt to free the
FIFO.
The FIFO is not considered to be free, even if completely read. The read on
the FIFO can be done cyclically several times.
RRES
Receiver Reset
When RAC = 1, this command resets the HDLC receiver, clears the receive
FIFO and aborts any HDLC frame being received.
When RRES is issued while RAC = 0, this command initializes in addition
the time-slot count logic for this channel.
RMD
Receive Message Delete
Reaction to an RPF interrupt. The remaining part of the frame is to be
ignored by the receiver (which goes into the hunt mode1) (see Page 127)
starting in the DSP/host inaccessible part of RFIFO); the receive FIFO is
cleared of that frame.
STR
Start command for RFS generation
Only valid when RFIN = 0 (RFS pulses internally generated) and used if
RCONT bit in RFS mode register = 0.
When RCONT = 0, when STR is set, exactly RREP(9-0) pulses of one bit
duration and spaced 16 bit periods from each other are generated. When
STR command is given, generation of pulses starts at the next possible
16-bit boundary.
This function may be used in connection with the HDLC controller when a
predefined number of data units (e.g. words) are received, clocked by RFS
pulses.
Semiconductor Group
120
Data Sheet 1998-07-01
PSB 7238
Register Description
Channel Configuration Register 0 CCR0
Read/Write
Address 26H
Bit 7
CCR0
PU
Bit 0
ITF
C32
CRL
RCRC
XCRC
RMSB
XMSB
PU
Power Up
Power down (0) or power up (1).
ITF
Interframe Time-Fill
If ‘0’, idle (continuous logical 1) is transmitted when no frame is sent;
continuous flag sequences, otherwise.
Has no meaning in transparent mode (where “idle” is always sent in the
absence of data).
C32
Enable CRC-32
A ‘1’ selects the 32-bit CCITT-32 frame check sequence, as opposed to the
16-bit frame check sequence.
Has no meaning in transparent mode.
CRL
CRC Reset Level
Defines the initialization for the internal receive and transmit CRC
generators: A ‘0’ initializes the generators to (FFFF)FFFF H, a ‘1’ to
(0000)0000H. Has no meaning in transparent mode.
RCRC
Receive CRC On/Off
When ‘1’, the received CRC checksum is written to RFIFO. The checksum,
consisting of last 2 (or 4) bytes in the received frame, is followed in the
RFIFO by the status information byte (copied into RSTA register).
Independently of RCRC the received checksum will be checked for
correctness. RBCL/H include the CRC byte(s).
Has no meaning in transparent mode.
XCRC
Transmit CRC On/Off
When ‘1’, the CRC checksum in transmit direction is not generated
automatically. It has to be written as the last 2 or 4 bytes in XFIFO.
Has no meaning in transparent mode.
Semiconductor Group
121
Data Sheet 1998-07-01
PSB 7238
Register Description
RMSB
Receive MSB first
When RMSB = 0, the least significant bit of a byte in the receive FIFO is the
bit first received (normal mode in HDLC/serial data communication
protocols).
When RMSB = 1, the most significant bit of a byte in the receive FIFO is the
first bit received.
XMSB
Transmit MSB first
When XMSB = 0, the least significant bit of a byte in the transmit FIFO is the
bit first transmitted (normal mode in HDLC/serial data communication
protocols).
When XMSB = 1, the most significant bit of a byte in the transmit FIFO is the
first bit transmitted.
Semiconductor Group
122
Data Sheet 1998-07-01
PSB 7238
Register Description
Channel Configuration Register 1 CCR1
Read/Write
Bit 7
Address 27H
Bit 0
CCR1
RCS0
RCS0
Receive Clock Shift 0
Together with RCS2 and RCS1 in TSAR, determines the clock shift relative
to the frame synchronization signal. A clock shift of 0 … 7 is programmable.
RSCO
Receive Time-Slot Continuous
When RSCO is equal to one, the time-slot capacity (normally given by
register RCCR, between 1 and 256 bits) is “infinity”. This means that the
time-slot will be always “active” so that data can be permanently received if
RAC = 1.
If RFDIS = 0, and if the time-slot count logic has been reset (by issuing
RRES while RAC = 0), time-slot logic can start operation and thus “activate”
a time-slot only after the first frame sync pulse is detected (i.e. on FSC, RFS,
or TFS, whichever has been selected). The time-slot offset register
TSAR + bit RCS0 mark the instant when the “infinite” time-slot will be
activated after the first frame sync pulse has occurred. If RFDIS = 1,
reception can start immediately, without the necessity to wait for the first
frame sync pulse.
RFDIS
Receive Frame Sync Disregard
When RFDIS is ‘1’, the time-slot generation logic disregards frame syncs. In
particular, if RFDIS = 1, receive time-slot is immediately considered as
permanently “active”, and remains activated as long as this condition
prevails, independent of RSCO.
XCS0
Transmit Clock Shift 0
Together with XCS2 and XCS1 in TSAX, determines the clock shift relative
to the frame synchronization signal. A clock shift of 0 … 7 is programmable.
Semiconductor Group
RSCO
RFDIS
XCS0
123
TSCO
XFDIS
Data Sheet 1998-07-01
PSB 7238
Register Description
TSCO
Transmit Time-Slot Continuous
When TSCO is equal to one, the time-slot capacity (normally given by
register XCCR, between 1 and 256 bits) is “infinity”. This means that the
time-slot will be always “active” so that data can be permanently transmitted
if XAC = 1.
If TFDIS = 0, and if the time-slot count logic has been reset (by issuing
XRES while XAC = 0), time-slot logic can start operation and thus “activate”
a time-slot only after the first frame sync pulse is detected (i.e. on FSC, RFS,
or TFS, whichever has been selected). The time-slot offset register
TSAX + bit XCS0 mark the instant when the “infinite” time-slot will be
activated after the first frame sync pulse has occurred. If TFDIS = 1,
transmission can start immediately, without the necessity to wait for the first
frame sync pulse.
TFDIS
Transmit Frame Sync Disregard
When TFDIS is ‘1’, the time-slot generation logic disregards frame syncs. In
particular, if TFDIS = 1, transmit time-slot is immediately considered as
permanently “active”, and remains activated as long as this condition
prevails, independent of TSCO.
Time-Slot Assignment Receive
TSAR
Read/Write
Address 28H
Bit 7
TSAR
TSR5
Bit 0
TSR4
TSR3
TSR2
TSR1
TSR0
RCS2
RCS1
TSR
Time-Slot Receive
Selects one of up to 64 possible time-slots (00H - 3FH) in which data is
received. TSR gives the location of the time-slot in octets
(granularity = octet). The bits RCS(2-0) give the exact starting point of the
time-slot with one-bit precision. In other words, the time-slot position with
respect to the frame sync is given by (TSR × 8 + RCS). The length of the
time-slot is given by RCC(7-0).
RCS
Receive Clock Shift
Together with RCS0, RCS1 and RCS2 mark the start of the time-slot with
one-bit granularity.
Semiconductor Group
124
Data Sheet 1998-07-01
PSB 7238
Register Description
Time-Slot Assignment Transmit
TSAX
Read/Write
Address 29H
Bit 7
TSAX
TSX5
Bit 0
TSX4
TSX3
TSX2
TSX1
TSX0
XCS2
XCS1
TSX
Time-Slot Transmit
Selects one of up to 64 possible time-slots (00H - 3FH) in which data is
transmitted. TSX gives the location of the time-slot in octets
(granularity = octet). The bits XCS(2-0) give the exact starting point of the
time-slot with one-bit precision. In other words, the time-slot position with
respect to the frame sync is given by (TSX × 8 + XCS). The length of the
time-slot is given by XCC(7-0).
XCS
Transmit Clock Shift
Together with XCS0, XCS1 and XCS2 mark the start of the time-slot with
one-bit granularity.
Receive Channel Capacity Register RCCR
Read/Write
Address 2AH
Bit 7
RCCR
RCC
RCC7
Bit 0
RCC6
RCC5
RCC4
RCC3
RCC2
RCC1
RCC0
Receive Channel Capacity
Defines the number of bits in the receive time-slot.
Number of bits = RCC + 1 (1 … 256 bits/time-slot).
Semiconductor Group
125
Data Sheet 1998-07-01
PSB 7238
Register Description
Transmit Channel Capacity Register
XCCR
Read/Write
Address 2BH
Bit 7
XCCR
XCC
XCC7
Bit 0
XCC6
XCC5
XCC4
XCC3
XCC2
XCC0
Transmit Channel Capacity
Defines the number of bits in the transmit time-slot.
Number of bits = XCC + 1 (1 … 256 bits/time-slot).
Interrupt Status Register
ISR
Read
Address 2CH
Bit 7
ISR
XCC1
RME
Bit 0
RPF
RFO
XPR
XDU
ALLS
RME
Receive Message End
One complete frame of length less than 32 bytes, or the last part of a frame
at least 32 bytes long is stored in the receive FIFO, including the status byte.
No RPF is generated in this case. The number of bytes stored is given by
RBC bits 0-4. Has no meaning in transparent mode.
Set:
When the last part of a frame has been transferred to the DSP/host
accessible part of RFIFO.
Reset: After ISR is read, after RRES, after hardware reset.
RPF
Receive Pool Full
32 bytes of a frame have arrived in the receive FIFO. The frame has not yet
been completely received. In transparent mode, signifies that 32 bytes can
be read from the FIFO.
Set:
When a part of a frame (but not the last part) has been transferred
to the DSP/host accessible part of RFIFO.
Reset: After ISR is read, after RRES, after hardware reset.
RFO
Receive Frame Overflow
Indicates that a frame has been lost because the FIFO was full at the
reception of the beginning of a frame. In transparent mode, signifies that
data has been lost because no room was available in RFIFO.
Set:
The DSP/host inaccessible part of RFIFO is full and the beginning
of a new frame is detected.
Reset: After ISR is read, after RRES, after hardware reset.
Semiconductor Group
126
Data Sheet 1998-07-01
PSB 7238
Register Description
XPR
Transmit Pool Ready
One data block may be entered into the transmit FIFO.
Set:
After XF command has been executed and after XRES.
Reset: After ISR is read, after hardware reset.
XDU
Transmit Data Underrun
Transmitted frame was terminated with an abort sequence because no data
was available in the transmit FIFO and yet no XME command has been
issued.
In transparent mode indicates the transmission has been stopped because
no data was available in the transmit FIFO.
Set:
When the HDLC bitengine requests new data from an empty XFIFO.
Reset: After ISR is read, after XRES, after hardware reset.
ALLS
All Sent
When ‘1’, indicates that the last bit of a frame has been transmitted on the
line and that both XFIFO parts are empty (in either HDLC or transparent
mode).
Set:
When the last bit of a frame has been transmitted to the line.
Reset: After ISR is read, after XRES, after hardware reset.
All ISR bits are acknowledged when ISR is read.
Interrupt Mask Register
IMR
Write
Address 2CH
A ‘0’ in a bit position (status after reset) masks the corresponding bit in ISR.
Bit 7
IMR
RME
Bit 0
RPF
RFO
XPR
XDU
ALLS
1) “Hunt Mode”: The HDLC-receiver hunts for flags which are not followed by another flag or an abort sequence.
Thus, the HDLC-receiver of the JADE will receive two frames correctly if they are separated by only one
common flag (shared flag). It will also receive two frames correctly if they are separated by two flags
(back-to-back frames). In case of a back-to-back frame the flags may share the ‘0’ or not.
Semiconductor Group
127
Data Sheet 1998-07-01
PSB 7238
Firmware Features
6
Firmware Features
The JADE internal firmware starts automatically after a hardware reset.
Note: After a hardware reset, the JADE firmware needs to initialize its internal memories
and interfaces. The time to do this is less than 10 ms. The user must take care to
access the JADE only after this initialization phase is completed, i.e. 10 ms after
the hardware reset.
In the initialization phase, the JADE will re-program some of the internal registers (see
Section 5.3 and Section 5.4). The default interface configuration is described in
Section 6.2.3.3.
After the initialization phase is completed, the JADE can be started in the default mode
or be reprogrammed and then started.
6.1
Basic Functions
6.1.1
Firmware Version Number
To obtain the version number of the on-chip firmware, the following interrupt handshake
procedure has to be implemented by a host:
Figure 39
Semiconductor Group
128
Data Sheet 1998-07-01
PSB 7238
Firmware Features
The following steps are executed:
1. The host generates an interrupt to the JADE by writing value 19H into INH interrupt
status register at address 50H.
2. The JADE writes the firmware version number into communication register accessible
from the host at address 60H and resets the INHB bit to 0.
3. The host checks the INHB bit and as soon as it reads a ‘0’ it may get the version
number from register 60H.
The version number of JADE MM 2.1 is (for historical reasons) 33H, so the “xyh” in the
picture above has to be substituted by this number.
6.1.2
Software Reset
A software reset (see Figure 40) is used to re-initialize the JADE without resetting the
hardware. This means that e.g. not the whole configuration/control register area is reset,
but only the firmware initialization (see Section 5.3 and Section 5.4) is executed.
Figure 40
Semiconductor Group
129
Data Sheet 1998-07-01
PSB 7238
Firmware Features
The following steps are executed:
1. The host initializes the control registers 60H and 61H by writing a ‘0’ into it.
2. The host generates an interrupt to the JADE by writing value 12H into INH interrupt
status register at address 50H.
3. The JADE resets the INHB bit and acknowledges the reception by generating an
interrupt at INT line to the host by writing a value 13H into IND interrupt status register
at address 58H.
4. The host may reset the INDB as a reaction to the JADE interrupt. This step is not
mandatory and may be skipped.
5. The JADE restarts its internal firmware beginning with the initialization phase.
For the restart of the internal firmware the JADE needs the same initialization time like
after a hardware reset. So, the user should wait for 10 ms before it accesses the JADE
again.
6.1.3
Power Down Command
In case the JADE is not currently needed in the system, the device can be powered
down. Two options exists, one power-down including the PLL and one excluding it.
These options are selected via the contents of the control register 60H. A non-zero value
leaves the PLL powered-up while the rest of the JADE goes power-down and a zero
value in register 60H includes the PLL in the power-down sequence and therefore is a
complete power-down of the chip.
The power-up is triggered by one of the following interrupts: GPIO, Host interrupt and C/I
channel interrupt.
The sequence to power-down the device is as follows:
1. The host initializes the control registers 60H by writing a ‘0’ or a non-zero value into it
(PLL included or excluded, see above).
2. The host generates an interrupt to the JADE by writing value 37H into INH interrupt
status register at address 50H.
3. The JADE resets the INHB bit. There is no further acknowledge to this interrupt since
the JADE will go to power-down almost immediately.
4. The host may reset the INDB as a reaction to the JADE interrupt. This step is not
mandatory and may be skipped.
5. The JADE firmware disables the CLKO pin, the PLL as selected and the DSP and can
be woken up by any of the above mentioned interrupts. If the PLL was powered down,
it takes longer to resume normal operation. If the PLL remained powered up, the
firmware is immediately ready for resuming operation.
Semiconductor Group
130
Data Sheet 1998-07-01
PSB 7238
Firmware Features
6.2
Audio Interfaces
In order to cover a wide range of applications, the JADE offers a variety of different
interface combinations and protocols for the uncompressed/compressed data
exchange.
The basic interfacing is like in Figure 41:
Figure 41
Two interfaces are necessary, one for compressed audio connected to a User and one
for uncompressed audio connected to a Codec.
By switching the compressed/uncompressed data stream to different hardware
interfaces (Host, IOM, Serial Audio Interface), the JADE is able to support standalone
solutions using a video processor (compressed data provided on Serial Audio Interface)
as well as host systems (e.g. software video coders using the host interface for the
compressed data) or offline audio compression (compressed and uncompressed audio
exchanged through host interface).
The audio interface description is split up into two basic parts: In the first part the protocol
(data format, data packet size) and mode control (inband or outband) are described
(Section 6.2.1 and Section 6.2.2) which are independent of the selected
hardware-interface combination, in the second part the individual timings and
handshake procedures for the selected hardware-interface combination are described
(Section 6.2.3).
6.2.1
Compressed Audio Protocols and Control of JADE
In the following sections the protocols for the exchange of compressed audio data
between the JADE and a user are described.
6.2.1.1
Outband Control of JADE
All times that are given in this chapter refer to realtime processing of a 10 ms frame
length of the audio data, which is the default setting of the JADE. When doing offline
processing (compressed and uncompressed data exchanged through the host), the
delay times in this chapter have to be substituted by the corresponding number of
Semiconductor Group
131
Data Sheet 1998-07-01
PSB 7238
Firmware Features
frames. For example, a delay time of 30 ms corresponds to three frames of audio data
exchange when doing offline processing.
The host may change the JADE operating mode by sending a command block, and the
JADE will send back a status block, if requested by the host. Command and status
blocks consist of 8-bit words.
To exchange command and status blocks, the host initiates an interrupt handshake
procedure.
See Figure 42 for the host writing a new control block to the JADE:
Figure 42
Semiconductor Group
132
Data Sheet 1998-07-01
PSB 7238
Firmware Features
The following steps are executed:
1. The host writes new control block into JADE mailbox using the procedure described
in Section 3.3.2.2.
2. The host generates an interrupt to the JADE by writing value 31H into INH interrupt
status register at address 50H.
3. The JADE reads the new control block from the mailbox, resets the INHB bit and
acknowledges the reception by generating an interrupt at INT line to the host by
writing a value 32H into IND interrupt status register at address 58H.
4. The host may reset the INDB as a reaction to the JADE interrupt. This step is not
mandatory and may be skipped.
Any changes to the current operating mode of the JADE take effect on the next input data
packets, i.e. when a 10 ms frame length is selected, the next 10 ms packet of
uncompressed data will be compressed using the new settings and the next 10 ms
packet of compressed data will be decompressed using the new settings, too.
Due to internal buffering, a three stages pipeline appears in the JADE (input,
compression/decompression, output). Each stage takes as long as determined by the
frame length (default: 10 ms). For that reason, a mode switch affecting the input data of
the JADE has to go through the whole pipeline before the output data reports the new
settings. This results in a delay of three times the frame length (default: 30 ms) between
the host requesting a new mode setting and the JADE delivering the first packet of data
compressed/decompressed with these new settings and reporting the new settings in
the status data block.
To change the control block data, the host must first set the mode to neutral (see MODE
register description below) for at least three frames (default: 30 ms). Although the MODE
word is part of the control block, it can be changed to neutral at any time. The switch to
neutral mode before doing other changes to the control block is required to clear up the
JADE’s pipeline and make sure it does not have to process two different modes at once
in the same pipeline. Following the neutral mode command, the host may transfer the
control block with the new settings.
Some bits in the control block don’t require this procedure (volume change, …). These
are especially indicated in the description of the control block (see below).
See Figure 43 for the host reading the current status data block from the JADE:
Semiconductor Group
133
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Figure 43
The following steps are executed:
1. The host generates an interrupt to the JADE by writing value 33H into INH interrupt
status register at address 50H.
2. JADE writes the current status data into the mailbox, resets the INHB bit and
generates an interrupt at INT line to the host by writing a value 34H into IND interrupt
status register at address 58H.
3. The host reads the status data from the mailbox using the procedure described in
Section 3.3.2.2 and may reset the INDB bit. The reset of the INDB bit is not
mandatory and may be skipped. The host acknowledges the transfer by writing a
value 35H into INH interrupt status register at address 50H and by that generating an
interrupt to the JADE.
4. The JADE resets the INHB bit.
Semiconductor Group
134
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Like stated before, there is a delay of three times the frame length (default: 30 ms)
between the transfer of a new control block from the host to the JADE and the new
settings being reported in the status data (transferred from the JADE to the host) due to
the internal buffering pipeline of the JADE.
The structure of the control and status data blocks is identical. The host writes the control
block to change the settings of the JADE and reads the status block to evaluate the
current settings of the JADE.
The control/status block is organized in 8-bit words and has the following structure:
(MSB)
(LSB)
CTRL
PSEL
ISEL1
ISEL0
FLEN
0
0
0
1
G728C
0
0
0
UDF1
UDF0
ET0
1
PF728
G723C
HP723 PF723
0
0
0
0
0
0
G722C
TM722
0
0
0
0
0
0
0
MODE
EM3
EM2
EM1
EM0
DM3
DM2
DM1
DM0
OPT1
I
0
0
P1
P0
L2
L1
L0
OPT2
0
S
Re1
Re0
Rd1
Rd0
e
d
EVOL
EV7
EV6
EV5
EV4
EV3
EV2
EV1
EV0
DVOL
DV7
DV6
DV5
DV4
DV3
DV2
DV1
DV0
Note: Unless otherwise indicated, the host has to switch the MODE to neutral for at least
3 frames (default: 30 ms) before it can change the control block. Only the
underlined bits may also be changed on the fly disregarding that rule. After Reset,
the JADE is automatically in the neutral mode, so changes to the control block can
be done immediately after the JADE has finished its initialization phase (see
Section 6.2.3).
Semiconductor Group
135
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Mailbox Address 00H
Value after reset: C1H
(MSB)
CTRL
PSEL
ISEL(1-0)
FLEN
PSEL
(LSB)
ISEL1
ISEL0
FLEN
0
0
0
1
Protocol Select
0
Outband controlled protocol selected, see current section.
1
Inband controlled protocol selected, see Section 6.2.1.3.
Interface Select
00
Uncompressed audio:
Compressed data:
Host IF
Host IF
01
Uncompressed audio:
Compressed data:
IOM IF
Host IF
10
Uncompressed audio:
Compressed data:
IOM IF
Serial Audio IF
11
Reserved
Frame Length
0
10 ms frame length selected. The data packet size of
compressed and uncompressed audio is determined by the
frame length.
1
Reserved
Semiconductor Group
136
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Mailbox Address 01H
Value after reset: 1BH
(MSB)
G728C
UDF(1-0)
ET0
PF728
0
(LSB)
0
0
UDF1
UDF0
ET0
1
PF728
Uncompressed Data Format (independent of the selected audio
compression).
00
Reserved
01
G.711 A-Law
10
G.711 µ-Law
11
16-bit uncompressed audio
Decoder Excitation Signal set to 0.
0
Excitation Signal in the decoder is derived from the compressed
G.728 data stream. This is the standard G.728 decompression
mode.
1
Excitation Signal in the decoder is set to zero. By that the output
signal of the decoder is muted with a more smooth transition
than setting the decoder output directly to zero. This maybe
switched on by the host when the compressed data is corrupted
or not available.
G.728 Postfilter On/Off.
0
Postfilter Off
1
Postfilter On
Semiconductor Group
137
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Mailbox Address 02H
Value after reset: C0H
(MSB)
G723C
HP723
PF723
(LSB)
HP723 PF723
0
0
0
0
0
0
G.723 High Pass Filter On/Off.
0
High Pass Filter Off
1
High Pass Filter On
G.723 Postfilter On/Off.
0
Postfilter Off
1
Postfilter On
Mailbox Address 03H
Value after reset: 00H
(MSB)
G722C
TM722
TM722
(LSB)
0
0
0
0
0
0
0
ITU-T Test Mode G.722.
0
Test Mode Off
1
Test Mode On, RS signal in compressed and uncompressed
data, see ITU-T recommendation G.722 for details
Semiconductor Group
138
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Mailbox Address 04H
Value after reset: 00H
(MSB)
MODE
(LSB)
EM3
EM(3-0),
DM(3-0)
EM2
EM1
EM0
DM3
DM2
DM1
DM0
Audio modes for encoder (EM(3-0)) and decoder (DM(3-0)).
0H
Neutral mode, no compressed audio data is exchanged
1H
Pass-through 16-bit linear 8 kHz or 16-kHz sampled data
2H
G.711 8-kHz sample rate A-law encoding/decoding
3H
G.711 8-kHz sample rate µ-law encoding/decoding
4H
G.722 16-kHz sample rate (wideband) sub-band ADPCM
encoding/decoding
5H
G.728 8-kHz sample rate low delay code excited linear
predictive coding (LD-CELP)
6H
G.723 8-kHz sample rate MP-MLQ (6.3 Kbit/s) or ACELP
(5.3 Kbit/s) coding
Mailbox Address 05H
Value after reset: 00H
(MSB)
OPT1
I
(LSB)
0
I
0
P1
P0
L2
L1
L0
Data is invalid. If I is set then the compressed data in this packet was missing
or had errors. The data words in this packet are still sent to avoid buffer
problems.
0
Data is valid
1
Data is invalid
Semiconductor Group
139
Data Sheet 1998-07-01
PSB 7238
Firmware Features
P(1-0)
Part number of the data in this packet. Allows the natural period of the data
to be 10 to 40 ms. For G.723 takes on the values 0, 1 or 2 corresponding to
the first, second or third part of a 30 ms data packet. Is always 0 for the other
modes.
Note: To avoid the updating of these bits by the user in each frame when
operating in G.723 mode, the JADE auto-increments the P-bits.
Nevertheless, the user has to take care that G.723 encoder and
decoder are running synchronously, i.e. the part number of the
received and transmitted packet in one 10 ms frame must be identical
for control and status. For that, after switching to G.723 mode the user
has to read the P(1-0) status bits and synchronize the data stream
transmitted to the JADE correspondingly, i.e. if the user reads a status
value of 2 it has to transmit part 0 of the next 30 ms data packet in the
next 10 ms frame.
The P(1-0) control block bits sent by a user are ignored by the JADE when
operating in G.723 mode. This is to avoid collisions between the host and the
auto-increment mechanism in the JADE.
L(2-0)
00
First part of compressed audio packet (G.723: part 1/3)
01
Second part of compressed audio packet (G.723: part 2/3)
10
Third part of compressed audio packet (G.723: part 3/3)
11
Fourth part of compressed audio packet (G.723: reserved)
Loopback modes, used for testing the audio subsystem.
000
No loopback (default)
001
Send received compressed data back to the user as encode data
010
Encode the decoded user data
011
Reserved
100
Reserved
101
Decode the encoded audio input data
110
Send the digital ADC output to the DAC input
111
Reserved
Semiconductor Group
140
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Mailbox Address 06H
Value after reset: 00H
(MSB)
OPT2
S
Re(1-0),
Rd(1-0)
0
(LSB)
S
Re1
Re0
Rd1
Rd0
e
d
Sampling Rate of the codec connected to the JADE, either 8 kHz or
16 kHz. If the sampling rate of the codec is different from the sampling
rate expected by the selected speech coder, the JADE automatically
uses over-/undersampling filters to convert the audio data.
When using G.728 mode and S = 1 indicating a 16-kHz codec is
connected, the postfilter of G.728 is switched off to ensure the
computational power for the over-/undersampling filters is available.
The effect on the audio quality is negligible.
When using G.722 mode and S = 0 indicating an 8-kHz codec is
connected, the bandwidth of the G.722 input/output data is reduced to
3.4 kHz. Nevertheless, the compressed data stream is fully compatible
and interoperable with the G.722 standard.
0
Codec has 8 kHz sampling rate
1
Codec has 16 kHz sampling rate
Restricted number of bits for encode and decode. Only used for G.722,
that offers modes where less than 8 bits per byte are used: 7 bits per
byte (56 Kbit/s) and 6 bits per byte (48 Kbit/s).
00
8 valid bits per byte
01
7 valid bits per byte
10
6 valid bits per byte
11
Reserved
G.723 uses these bits in a different way. When the encode mode is
G.723 the Re bits give the desired encoding method:
00
High rate, don’t use silence suppression
01
High rate, use silence suppression
10
Low rate, don’t use silence suppresion
11
Low rate, use silence suppression
Rd is the same as the above, but indicates the mode of the data in this
packet. It is the same as the corresponding bits of the G.723 packet
data.
Semiconductor Group
141
Data Sheet 1998-07-01
PSB 7238
Firmware Features
e
Encoding mute enable. After switching, a ramping function is
implemented to avoid audible clicks.
0
Encoding Mute disabled
1
Encoding Mute enabled
Mailbox Address 07H
Value after reset: 00H
(MSB)
EVOL
EV7
EV(7-0)
(LSB)
EV6
EV5
EV4
EV3
EV2
EV1
EV0
Encoder Volume
00H - Adjusts the gain on the analog input. Realized by multiplying the
FFH encoder input samples with (EV(7-0) + 1)/256, i.e. 00H is the
minimum and FFH the maximum volume.
Mailbox Address 08H
Value after reset: 00H
(MSB)
DVOL
DV(7-0)
(LSB)
DV6
DV7
DV5
DV4
DV3
DV2
DV1
DV0
Decoder Volume
00H - Adjusts the gain on the analog output. Realized by multiplying
FFH the decoder output samples with (DV(7-0) + 1)/256, i.e. 00H is
the minimum and FFH the maximum volume.
The whole control/status block is usually only written once in the beginning of
communication.
Semiconductor Group
142
Data Sheet 1998-07-01
PSB 7238
Firmware Features
6.2.1.2
Compressed Audio Protocol with Outband Control
To minimize the bandwidth on the compressed audio interface, an outband controlled
protocol is implemented in the JADE. This means that the mode settings for the JADE
are usually done before audio data exchange is started using the procedure described
in Section 6.2.1.1. During audio data transfer the JADE keeps its current mode settings
and only compressed audio is exchanged.
The size and format of the compressed data is summarized in Table 18 below for the
various operating modes:
Table 18
Compression Mode
Compressed Data Packet Valid Bits per Byte1)
Size in Bytes
Neutral
0
0
8-kHz pass-through
160
8
16-kHz pass-through
320
8
G.711
80
8
G.722, 64 Kbit/s
80
8
G.722, 56 Kbit/s
80
7
G.722, 48 Kbit/s
80
6
G.728
20
8
G.723, 6.3 Kbit/s
8
8
G.723, 5.3 Kbit/s
82)
8
1)
Always the most significant bits of a byte are valid and the least significant bits are ignored.
2)
All different G.723 packets are transmitted with the same number of bytes which is determined by the 6.3 Kbit/s
mode. This is to make the protocol simple, not to minimize the data rate. Please refer to the drawing below for
details
In G.723 mode the natural frame size of 30 ms is split up into three 10 ms packets. To
simplify the protocol handling all different G.723 modes are transmitted with the same
data rate. Please refer to the following figure for sub-frame numbering with P(1-0) bits
and valid bytes per packet in the corresponding G.723 packets:
Semiconductor Group
143
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Figure 44
The two LSB’s of the first byte inside a 30 ms frame determine the kind of frame that is
currently being transmitted (see also Figure 44):
Semiconductor Group
144
Data Sheet 1998-07-01
PSB 7238
Firmware Features
G.723 Mode
Supported in ITU-T Bit (1-0) of first
C-Code Version:
Byte
Comment
G.723, 6.3 Kbit/s
4.1, 5.0, 5.1
00
6.3 Kbit/s Mode
standard packet
G.723, 5.3 Kbit/s
4.1, 5.0, 5.1
01
5.3 Kbit/s Mode
standard packet
G.723, Silence
Insertion Descriptor
(SID) packets
5.0, 5.1
10
Silence packet with
filter coefficients,
same for 6.3 and
5.3 Kbit/s mode
G.723,
untransmitted
packets
5.0, 5.1
11
Silence packet
without any data,
same for 6.3 and
5.3 Kbit/s mode
Note: Independently of the interface selection for the compressed audio, always the
most significant bit of the most significant byte is transferred first, e.g. when using
pass-through modes, the 16-bit samples are split up into two bytes and the most
significant bit of the most significant byte is transferred first (big endian).
6.2.1.3
Compressed Audio Protocol with Inband Control
The following paragraph describes an H.221/H.223 oriented protocol which transfers the
control information inband with the compressed audio data.
The user sends commands and data, and the provider sends status and data.
Commands and data or status and data are grouped into blocks of 16-bit words.
Between the user and the JADE one data packet is transferred each way every 10 ms.
The packet, that is transferred from the video processor to the JADE - called “command
data” - consists of eight command words followed by the appropriate number of data
words for the current speech algorithm:
Semiconductor Group
145
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Command Data Structure
0
Command header word
1
Checksum of words 2-7
2
Set mode
3
Set options
4
Set volume
5-7
Reserved for future expansion
8+
Compressed data; 0, 4, 40, 80 or 160 words
The header of the command data packet describes the JADE operation modes in effect
for data in the next packet. See Section Commands below for a detailed description of
the above command words.
The packet that is transferred from the JADE to the video processor - called “status data”
- consists of eight status words followed by the appropriate number of data words for the
current speech algorithm:
Status Data Structure
0
Status header word
1
Capabilities
2
Mode status
3
Options status
4
Volume satus
5
Error conditions
6-7
Reserved for future expansion
8+
Compressed data; 0, 4, 40, 80 or 160 words
The compressed data is between 0 and 160 words long depending on which of the
decoding/encoding modes is active (neutral, G.723, G.728, G.711, G.722, 8-kHz
samples pass-through or 16-kHz samples pass-through). Due to the different bit-rates of
the decoding/encoding modes for 16 Kbit/s, 48 Kbit/s and 56 Kbit/s only two, six or
seven bits of a byte are used. The most significant bits of the byte are valid and the least
significant bits are ignored. The first byte is the most significant byte of a word.
The G.723 compressed data framing is identical with the outband controlled mode, see
Section 6.2.1.2 for details.
Semiconductor Group
146
Data Sheet 1998-07-01
PSB 7238
Firmware Features
A header bit can indicate that the current compressed data is invalid. This means that it
is not decoded and instead the sound from a previous packet is repeated. By that a
simple interpolation of the speech signal is achieved to avoid an audible click.
The size of the command and data packets is the following (header excluded):
Mode
Compressed Words
Neutral
0
G.723
4
G.728
40
G.711
40
G.722
8-kHz pass-through
40
1)
16-kHz pass-through
1)
80
160
The 8 kHz pass through mode is not available when Host/Host is selected as interface combination for
compressed/uncompressed data.
The communication between user and JADE starts in the neutral mode. To initiate
transfer of speech data, the user sends a command data structure set to the desired
compression mode(s) in a neutral size packet. The mode change affects the JADE’s
input pipeline stage in the next 10 ms period. This means that if the decode mode
changes, the next packet from the user will change in size (corresponding to the new
decode mode), while if the encode mode changes, the third packet from the JADE will
be affected (packets from the JADE represent the output stage of the pipeline). As a
general rule, any changes to the current operating mode or opetions (volume, mute, etc.)
transferred to the JADE from the user take effect on the input captured on the next 10 ms
boundary.
To change compression modes, the user must first send two neutral mode command
packets. The first neutral mode command will be in a full-size packet per the current
operating mode, while the following neutral mode command packet does only contain
the 8 words header. Two neutral packets are required to clear the JADE’s pipeline.
During that time the JADE will reorganize its memory (if required) and re-initialize internal
variables.
Note: When a mode change is requested by the user without sending two neutral
packets before, the JADE may not work stable.
Semiconductor Group
147
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Commands
The following section defines the commands which are sent from the user to the JADE.
Any changes in mode affects the input pipeline stage in the next 10 ms time-slot.
1. Command header word:
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
2. Checksum:
The sum of the six following words (regarded as signed 16-bit values) in the command
header. If the checksum is wrong, no modes or options are changed, and an error status
is sent back in the next status header.
3. Set Mode:
x
x
x
x
x
x
x
x
EM3 EM2 EM1 EM0 DM3 DM2 DM1 DM0
Audio modes for encoder (EM0:3) and decoder (DM0:3). The following modes are
defined:
RESET
Special full word definition of the command mode. Reset is
defined as 0xFFFF and returns the JADE to its power on default
state.
0
Neutral mode, only command and status header information is
exchanged.
1
Pass-through 16-bit linear 8 kHz or 16-kHz sampled data
2
G.711 8-kHz sample rate A-law encoding/decoding
3
G.711 8-kHz sample rate µ-law encoding/decoding
4
G.722 16-kHz sample rate (wideband) sub-band ADPCM
encoding/decoding
5
G.728 8-kHz sample rate low delay code excited linear predictive
coding (LD-CELP)
6
G.723 8-kHz sample rate MP-MLQ (6.3 Kbit/s) or ACELP
(5.3 Kbit/s) coding
4. Set Options:
I
x
x
P1
Semiconductor Group
P0
L2
L1
L0
148
x
S
Re1 Re0 Rd1 Rd0
e
d
Data Sheet 1998-07-01
PSB 7238
Firmware Features
d
decoding mute enable (1) and disable (0). After switching, a ramping function
is implemented to avoid audible clicks
e
encoding mute enable (1) and disable (0). After switching, a ramping function
is implemented to avoid audible clicks
Re(1-0),
Rd(1-0)
Restricted number of bits for encode and decode. Only used for G.722, that
offers modes where less than 8 bits per byte are used: 7 bits per byte
(56 Kbit/s) and 6 bits per byte (48 Kbit/s).
00
8 valid bits per byte
01
7 valid bits per byte
10
6 valid bits per byte
11
Reserved
G.723 uses these bits in a different way. When the encode mode is G.723
the Re bits give the desired encoding method:
00
High rate, don’t use silence suppression
01
High rate, use silence suppression
10
Low rate, don’t use silence suppresion
11
Low rate, use silence suppression
Rd is the same as the above, but indicates the mode of the data in this
packet. It is the same as the corresponding bits of the G.723 packet data.
S
Sampling Rate of the codec connected to the JADE, either 8 kHz (0) or
16 kHz (1). If the sampling rate of the codec is different from the sampling
rate expected by the selected speech coder, the JADE automatically uses
over-/undersampling filters to convert the audio data.
When using G.728 mode and S = 1 indicating a 16-kHz codec is connected,
the postfilter of G.728 is switched off to ensure the computational power for
the over-/undersampling filters is available. The effect on the audio quality is
negligible.
When using G.722 mode and S = 0 indicating an 8-kHz codec is connected,
the bandwidth of the G.722 input/output data is reduced to 3.4 kHz.
Nevertheless, the compressed data stream is fully compatible and
interoperable with the G.722 standard.
Semiconductor Group
149
Data Sheet 1998-07-01
PSB 7238
Firmware Features
L(2-0)
P(1-0)
Loopback modes, used for testing the audio subsystem. The following loops
are implemented:
000
No loopback (default)
001
Send received compressed data back to the user as encode data
010
Encode the decoded user data
011
Reserved
100
Reserved
101
Decode the encoded audio input data
110
Send the digital ADC output to the DAC input
111
Reserved
Part number of the data in this packet. Allows the natural period of the data
to be 10 to 40 ms. For G.723 takes on the values 0, 1 or 2 corresponding to
the first, second or third part of a 30 ms data packet. Is always 0 for the other
modes.
Note: When in G.723 mode, the user has to care that G.723 encoder and
decoder are running synchronously, i.e. the part number of the
received and transmitted packet in one 10 ms frame must be identical
for control and status.
I
Data is invalid. If I is set then the compressed data in this packet was missing
or had errors. The data words in this packet are still sent to avoid buffer
problems.
5. Set Volume
EV7 EV6 EV5 EV4 EV3 EV2 EV1 EV0 DV7 DV6 DV5 DV4 DV3 DV2 DV1 DV0
Adjusts the gain on the analog input and output. Realized by multiplying the encoder
samples with (EV(7-0) + 1)/256 and the decoder samples with (DV(7-0) + 1)/256, i.e. for
maximum volume, the samples are not affected and for minimum volume they are
divided by 256.
Semiconductor Group
150
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Status
The following section defines the status information that is sent from the JADE to the
user. The status packet contains information about the current output pipeline stage, i.e.
the modes used to generate the data in the status packet itself.
1. Status header word:
0
1
0
0
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
M
L
W
µ
A
P
2. Capabilities:
C
S
0
P
Pass-through mode available (1) or not (0)
A
G.711 - 8-kHz sample rate A-law coding available
µ
G.711 - 8-kHz sample rate µ-law coding available
W
G.722 - 16-kHz sample rate (wideband) sub-band ADPCM coding
available
L
G.728 - 8-kHz sample rate low delay code excited linear predictive coding
(LD-CELP) available
M
G.723 - 8-kHz sample rate MP-MLQ (6.3 Kbit/s) or ACELP (5.3 Kbit/s)
coding available
S
Symmetry required.
The JADE reports a 1 indicating the standards used for encoding must be
the same as for decoding. Nevertheless, mixed G.711/G.728
encoding/decoding is possible with the JADE.
C
Codec connected to the JADE (1) or not (0). Default is 1.
Semiconductor Group
151
Data Sheet 1998-07-01
PSB 7238
Firmware Features
3. Mode Status:
x
x
x
x
x
x
x
x
EM3 EM2 EM1 EM0 DM3 DM2 DM1 DM0
Report the audio mode or operation as defined in the command mode word above for
the data that is in this packet.
4. Options Status:
I
x
x
P1
P0
L2
L1
L0
x
S
Re1 Re0 Rd1 Rd0
e
d
Report the audio mode or operation per the bits as defined in the command options word
above for the data in this packet.
5. Volume Status:
EV7 EV6 EV5 EV4 EV3 EV2 EV1 EV0 DV7 DV6 DV5 DV4 DV3 DV2 DV1 DV0
Report the gain on the analog input and output. Defined as in the command volume word
above, i.e. 0 is the minimum volume, and 255 is the maximum.
6. Error Conditions:
E15 E14 E13 E12 E11 E10 E9
E8
E7
E6
E5
E4
E3
E2
E1
E0
Set in response to an error, either in the command sequence or an internal error. All zero
indicates no error.
Bit
Error Condition
0
Invalid checksum
1
Invalid audio mode
2
Invalid loopback mode
3
Hardware error
4
Packet timing error
Semiconductor Group
152
Data Sheet 1998-07-01
PSB 7238
Firmware Features
6.2.1.4
Control Pipeline
Like stated before, there is a delay of three times the frame length (default: 30 ms)
between the transfer of a new control block from the host to the JADE and the new
settings being reported in the status data (transferred from the JADE to the host) due to
the internal buffering pipeline of the JADE. This pipeline is independent of the chosen
compressed audio protocol (inband or outband). Therefore this chapter is applicable to
Chapter 6.2.1.2 and Chapter 6.2.1.3. In case G.723 is used it is recommended to use
the inband protocol due to the fact that packet numbering information is needed on a
10 ms basis. The packet numbering information is included in the inband protocol
header, thus there is no need to request additional status information from the JADE
(see Chapter 6.2.1.1).
Table 19 shows the pipeline behaviour switching from neutral to G.711 and vice versa.
Note: The encoder data is input through the uncompressed interface and output through
the compressed interface. The decoder data is input through the compressed
interface and output through the uncompressed interface. The “#Data Bytes” (see
table below) transferred together with the control/status information refers only to
the compressed interface!
:
Table 19
Control/Status Pipeline for G.711 (identical for Pass-Through)
Packet#
(10 ms)
Control
(User to JADE)
Status
(JADE to User)
Comment
MODE OPT1* #Data MODE OPT1 #Data
Bytes
Bytes
1.
00
00
0
00
00
0
Neutral status after Reset
2.
22
00
0
00
00
0
Command: G.711 A-law
encode & decode
3.
22
00
80
00
00
0
First G.711 A-law encoded
data to JADE
4.
22
00
80
00
00
0
–
5.
22
00
80
22
00
80
First G.711 A-law
en-/decoded data from
JADE
6.
22
00
80
22
00
80
–
7.
00
00
80
22
00
80
Command: Neutral Mode
(at least 4 times), last G.711
data to JADE
8.
00
00
0
22
00
80
–
Semiconductor Group
153
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Table 19
Control/Status Pipeline for G.711 (identical for Pass-Through ) (cont’d)
Packet#
(10 ms)
Control
(User to JADE)
Status
(JADE to User)
Comment
MODE OPT1* #Data MODE OPT1 #Data
Bytes
Bytes
9.
00
00
0
22
00
80
Last G.711 A-law
en-/decoded data from
JADE
10.
00
00
0
00
00
0
4th neutral packet, next can
change mode
11.
33
05
0
00
00
0
Command: G.711 µ-law
with Loop 5
12.
33
05
80
00
00
0
First (dummy) G.711 µ-law
encoded data to JADE
13.
33
05
80
00
00
0
–
14.
33
05
80
33
05
80
First G.711 µ-law
en-/decoded data from
JADE
15.
33
05
80
33
05
80
–
16.
00
00
80
33
05
80
Command: Neutral Mode,
last G.711 data to JADE
17.
00
00
0
33
05
80
–
18.
00
00
0
33
05
80
Last G.711 µ-law
en-/decoded data from
JADE
19.
00
00
0
00
00
0
4th neutral packet, next can
change mode
20.
02
00
0
00
00
0
Command: G.711 A-law
decoder only
21.
02
00
80
00
00
0
First G.711 A-law encoded
data to JADE
22.
02
00
80
00
00
0
–
23.
02
00
80
02
00
0
First G.711 A-law decoded
data from JADE
Semiconductor Group
154
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Table 19
Control/Status Pipeline for G.711 (identical for Pass-Through) (cont’d)
Packet#
(10 ms)
Control
(User to JADE)
Status
(JADE to User)
Comment
MODE OPT1* #Data MODE OPT1 #Data
Bytes
Bytes
24.
02
00
80
02
00
0
–
25.
00
00
80
02
00
0
Command: Neutral Mode,
last G.711 data to JADE
26.
00
00
0
02
00
0
–
27.
00
00
0
02
00
0
Last G.711 A-law decoded
data from JADE
28.
00
00
0
00
00
0
4th neutral packet, next can
change mode
The pipelining is identical for the 8 kHz pass-through mode.
In G.723 the natural frame length of 30 ms is split up into three 10 ms packets to fit into
the interface structure of the other audio modes. These packets are numbered by the
P(1-0) bits (in OPT1 for outband control, OPTIONS for inband control) taking on the
values 0, 1 or 2 for the first, second or third part of a 30 ms frame, respectively.
When entering G.723 mode the pipelining is similar to the above listing, but the first
G.723 packets from the JADE will be invalid (indicate by MSB of OPT1). As mentioned
above for synchronisation of input and output packets one has to wait for valid packets
from the JADE.
When in G.723 mode, mode changes will be recognized by the JADE with the beginning
of the first 10 ms packet. Thus, the control block for a mode change request should be
transmitted to the JADE during the previous 3rd packet exchange. After an exit from
G.723 encoder has been requested, the P(1-0) counter will no longer reflect the packet
numbers even during the phase of draining the JADE internal pipeline. See the example
below for details (high rate without voice activity detection used in this example,
behaviour for the other modes is similar). The recommended host procedure for setting
up G.723 encoding (and/or decoding) is as follows:
1.
Wait for status packet showing the desired mode. The firmware takes care that
the 4th packet after a mode change shows the desired mode
2.
Wait for the 1st valid G.723 encoded packet numbered as packet #0. All
subsequent packets will be numbered correctly.
Semiconductor Group
155
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Table 20
Control/Status Pipeline for G.723
Packet#
(10 ms)
Control
(User to JADE )
Status
(JADE to User)
Comment
MODE OPT1* #Data MODE OPT1 #Data
Bytes
Bytes
1.
00
00
0
00
00
0
Neutral status after Reset
2.
66
00
0
00
00
0
Command: G.723 high rate
encode & decode
3.
66
00
8
00
00
0
First (dummy) G.723 encoded
data to JADE for G.723
decoding
4.
66
00
8
00
00
0
–
5.
66
90
8
66
90
8
First (invalid) G.723
en-/decoded data from JADE
6.
66
80
8
66
80
8
–
7.
66
88
8
66
88
8
–
8.
66
90
8
66
90
8
–
9.
66
00
8
66
00
8
Part 0 of valid G.723 encoded
frame to/from JADE
10
66
08
8
66
08
8
Part 1 of 30 ms frame
11.
66
10
8
66
10
8
Part 2 of 30 ms frame
12.
66
00
8
66
00
8
Part 0 of 30 ms frame
13.
66
08
8
66
08
8
Part 1 of 30 ms frame
14.
00
10
8
66
10
8
Part 2 of 30 ms frame,
Command: Neutral Mode, last
G.723 data to JADE
15.
00
00
0
66
00
8
–
16.
00
00
0
66
00
8
Last G.723 en-/decoded data
from JADE
17.
00
00
0
00
00
0
4th neutral packet, next can
change mode
Semiconductor Group
156
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Table 20
Control/Status Pipeline for G.723 (cont’d)
Packet#
(10 ms)
Control
(User to JADE )
Status
(JADE to User)
Comment
MODE OPT1* #Data MODE OPT1 #Data
Bytes
Bytes
18.
60
00
0
00
00
0
Command: G.723 high rate
encode
19.
60
00
0
00
00
0
–
20.
60
00
0
00
00
0
–
21.
60
00
0
60
90
8
First (invalid) G.723 encoded
data from JADE
22.
60
00
0
60
80
8
–
23.
60
00
0
60
88
8
–
24.
60
00
0
60
90
8
–
25.
60
00
0
60
00
8
Part 0 of valid G.723 encoded
frame from JADE
26.
60
00
0
60
08
8
Part 1 of 30 ms frame
27.
60
00
0
60
10
8
Part 2 of 30 ms frame
28.
60
00
0
60
00
8
Part 0 of 30 ms frame
29.
60
00
0
60
08
8
Part 1 of 30 ms frame
30.
00
00
0
60
10
8
Part 2 of 30 ms frame,
Command: Neutral Mode
31.
00
00
0
60
80
8
Invalid G.723 data from JADE
internal pipeline
32.
00
00
0
60
00
8
Last G.723 encoded data from
JADE
33.
00
00
0
00
00
0
4th neutral packet, next can
change mode
34.
06
00
0
00
00
0
Command: G.723 high rate
decode
35.
06
00
8
00
00
0
Part 0 of valid G.723 encoded
frame to JADE
Semiconductor Group
157
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Table 20
Control/Status Pipeline for G.723 (cont’d)
Packet#
(10 ms)
Control
(User to JADE )
Status
(JADE to User)
Comment
MODE OPT1* #Data MODE OPT1 #Data
Bytes
Bytes
36.
06
08
8
00
00
0
Part 1 of 30 ms frame
37.
06
10
8
06
00
0
Part 2 of 30 ms frame, first
G.723 decoded data from
JADE
38.
06
00
8
06
00
0
Part 0 of 30 ms frame
39.
06
08
8
06
00
0
Part 1 of 30 ms frame
40.
00
10
8
06
00
0
Part 2 of 30 ms frame,
Command: Neutral Mode, last
G.723 data to JADE
41.
00
00
0
06
00
0
–
42.
00
00
0
06
00
0
Last G.723 decoded data from
JADE
43.
00
00
0
00
00
0
4th neutral packet, next can
change mode
*: P(1-0) bits are autoincremented in outband controlled mode. Thus, OPT1 does not
need to be explicitly written for each 10 ms packet! If P(1-0) bits are written to the JADE
which don’t match the corresponding status bits, they will be ignored.
#Data Bytes means the number of compressed data bytes transmitted from the User to
the JADE or from the JADE to the User, respectively. The uncompressed data is
exchanged constantly with 80 samples in 10 ms (8 kHz).
Semiconductor Group
158
Data Sheet 1998-07-01
PSB 7238
Firmware Features
6.2.2
Uncompressed Data Protocol
The uncompressed data protocol is quite simple. The default configuration is 8-kHz
sampling rate and 16-bit linear data. The sampling rate can be switched between 8-kHz
and 16 kHz (see S-bit in the control block) and the data format can be selected to be
either 16-bit linear or 8-bit PCM (G.711 A-/µ-law). For a 10 ms framing the size of the
uncompressed data (in bytes) is listed in Table 21:
Table 21
16-bit Linear
G.711 A-/µ-law
8-kHz sampling rate
160
80
16-kHz sampling rate
320
160
Note: Independently of the interface selection for the uncompressed audio, always the
most significant bit of the most significant byte is transferred first, e.g. 16-bit linear
samples are split up into two bytes and the most significant bit of the most
significant byte is transferred first (big endian).
6.2.3
Audio Interface Timings
In this chapter the timings and/or interrupt handshake procedures are described for the
different hardware interface selections (Host/Host, IOM/Host, IOM/Serial Audio
Interface).
After a hardware reset the firmware automatically does all necessary initializations for
the IOM/Serial Audio Interface combination described in Section 6.2.3.3. The other
interface combinations can be configured by configuring the control block (see
Section 6.2.1.1).
Note: After a hardware reset, the JADE firmware needs to initialize its internal memories
and interfaces. The time to do this is less than 10 ms. The user must take care to
access the JADE only after this initialization phase is completed, i.e. 10 ms after
the hardware reset.
6.2.3.1
Uncompressed Data: Host IF, Compressed Data: Host IF
This interface combination is used for offline processing of audio (ISEL(1-0) = 00). I.e.
the compression can be done faster than realtime, because the JADE is in each mode
able to process audio at least in realtime. This definitely also depends on the capabilities
of the host processor to provide a fast interrupt service to the handshake procedure
described below. The most complex algorithm is G.728, in this mode the maximum
possible speed is only slightly faster than realtime, because almost all of the
computational power of the JADE is needed to compress the audio.
Semiconductor Group
159
Data Sheet 1998-07-01
PSB 7238
Firmware Features
The basic structure of data exchange between the host and the JADE is for all
compression modes the same, except for the 16-kHz pass-through mode. Thus, two
different cases have to be considered:
Figure 45
The picture shows the sequence of basic handshake procedures for one 10 ms frame.
Basically, in both cases there are three blocks: The compressed audio exchange (basic
procedure 1/3), the uncompressed audio exchange (basic procedure 2/3) and the
finishing procedure (basic procedure 3/3).
The compressed audio exchange (1/3) is executed only once in a 10 ms frame, except
of the 16-kHz pass-through mode. In the 16-kHz pass-through mode the mailbox cannot
transfer the full data packet (320 or 336 bytes, depends on whether outband or inband
control is selected) at once. Only for this mode the interrupt handshake procedure (1/3)
is executed twice in one time frame. With the first run 256 bytes are transmitted in each
direction, with the second run 64 bytes (outband control) or 80 bytes (inband control) are
transmitted.
With the uncompressed audio handshake (2/3), 2.5 ms of uncompressed data are
exchanged (20 samples for 8 kHz and 40 samples for 16-kHz sampling rate). This
results in a four times repetition of this block to collect 10 ms of uncompressed data for
the next frame.
Finally, a finishing handshake (3/3) is executed, which acknowledges the audio data
exchange, offers the possibility to the host to request for other interrupt services and
starts the next frame.
Note: The first time frame after the Host/Host interface has been setup starts with the
last part of the finishing handshake procedure (3/3), see Figure 46 and table
below.
Semiconductor Group
160
Data Sheet 1998-07-01
PSB 7238
Firmware Features
For the handshake procedure of the compressed audio see Figure 46:
Figure 46
Semiconductor Group
161
Data Sheet 1998-07-01
PSB 7238
Firmware Features
This procedure is (nearly) identical with the interrupt handshake when in IOM/Host mode
(see Section 6.2.3.2) and the following steps are perfomed:
The JADE writes one frame of encoded audio data into the mailbox (most significant byte
first).
7. The JADE generates a “VocoderFinished” interrupt at INT line to the host by writing a
value C0H or 80H (toggling) into IND interrupt status register at address 58H. The value
of this interrupt is each time toggling between C0H and 80H to ensure that a polling
host can consider a new “VocoderFinished”. For an interrupt driven host one should
just connect both numbers to the same interrupt service routine.
8. The host reads the compressed audio frame from the mailbox using the procedure
described in Section 3.3.2.2 and may reset the INDB bit. The reset of the INDB bit is
not mandatory and may be skipped.
9. The host writes the compressed audio frame for the decoder into the mailbox using
the procedure described in Section 3.3.2.2.
10.The host generates an interrupt to the JADE by writing value 24H into INH interrupt
status register at address 50H.
11.The JADE reads the compressed audio data from the mailbox and acknowledges the
reception by resetting the INHB bit.
Semiconductor Group
162
Data Sheet 1998-07-01
PSB 7238
Firmware Features
In the following, four 2.5 ms packets of uncompressed audio data are exchanged. See
Figure 47 for the handshake procedure:
Figure 47
Semiconductor Group
163
Data Sheet 1998-07-01
PSB 7238
Firmware Features
The following steps are executed:
1. The JADE writes a packet of uncompressed audio (2.5 ms) into the mailbox (most
significant byte first).
2. The JADE generates an interrupt at INT line to the host by writing a value 03H into IND
interrupt status register at address 58H.
3. This interrupt acknowledges the previous INH interrupt (either from the compressed
data transfer or from the last uncompressed data transfer) and requests the current
uncompressed data exchange.
4. The host reads the uncompressed audio from the mailbox using the procedure
described in Section 3.3.2.2 and may reset the INDB bit. The reset of the INDB bit is
not mandatory and may be skipped.
5. The host writes a packet of uncompressed audio (2.5 ms) into the mailbox using the
procedure described in Section 3.3.2.2.
6. The host generates an interrupt ot the JADE by writing value 02H into INH interrupt
status register at address 50H.
7. The JADE reads the uncompressed audio data from the mailbox.
After the above procedure has been repeated four times, the finishing procedure is
executed (see Figure 48):
Semiconductor Group
164
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Figure 48
Semiconductor Group
165
Data Sheet 1998-07-01
PSB 7238
Firmware Features
The following steps are executed:
1. The JADE generates an interrupt at INT line to the host by writing a value 04h into INH
interrupt status register at address 50H.
2. The host may reset the INDB as a reaction to the JADE interrupt. This step is not
mandatory and may be skipped.
3. Start point in first frame
At this point, the host can request other interrupts, like Read Status or Write Control
Block (see Section 6.2.1.1).
The number of interrupts and the time to execute them is not limited by the JADE, but
dedicated by the host itself. The host may request interrupts as long as it has not
executed the next step of this table.
4. The host generates an interrupt to the JADE by writing value 05H into INH interrupt
status register at address 50H.
By that, the host indicates that it is ready to exchange the next frame of data.
5. The JADE resets the INHB bit.
With this procedure the handling of one frame of data is finished and the next frame is
started beginning with the exchange of the compressed audio (procedure 1/3).
When starting the above protocol, it begins at the point marked with “Start in first frame”.
This is to enable the host to have control of the real start time, so the host first has to
generate a “Host Ready” interrupt (INH = 05H) before the host will start with the
exchange of the compressed audio (procedure 1/3). After that, the Host/Host handshake
procedure is executed cyclically.
Note: A polling host should not directly poll the IND interrupt status register 58H, but the
DINT bit in INT interrupt status register 75H. This bit always shows whether an
interrupt from the DSP has been generated or not, independently of the
corresponding mask register. The mask register only decides whether an interrupt
at INT line is generated. After having recognized an IND interrupt status, the
polling host may read out the register 58H to get the interrupt number.
Semiconductor Group
166
Data Sheet 1998-07-01
PSB 7238
Firmware Features
6.2.3.2
Uncompressed Data: IOM IF, Compressed Data: Host IF
The JADE can provide the uncompressed audio via the IOM interface while exchanging
the compressed audio through the host interface (ISEL(1-0) = 01).
After switching to IOM/host interface combination by programming the ISEL(1-0) bits in
the control block, an initialization phase is executed by the JADE in which the internal
firmware re-programs the configuration/control registers like in the default configuration
(see Section 5.3) to setup the IOM interface for the communication with the analog front
end (AFE). This initialization phase is < 10 ms.
The IOM interface is in TE mode (double DCL clock) and IC1/2 channels are selected
for the 16 bit linear data transfer between the JADE and the analog front end (AFE). The
DD line is output of the JADE, DU is input to the JADE.
This configuration may be changed by the host by just overwriting the corresponding
registers after the default initialization has been completed.
An interrupt handshake protocol is implemented for the data exchange on the host
interface. The basic timing for this protocol is determined by the uncompressed data rate
at the IOM interface. See Figure 49 for the interrupt handshake procedure:
Semiconductor Group
167
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Figure 49
Semiconductor Group
168
Data Sheet 1998-07-01
PSB 7238
Firmware Features
The JADE starts the above interrupt procedure once every frame (default: 10 ms),
except of the 16-kHz pass-through mode. In the 16-kHz pass-through mode the mailbox
cannot transfer the full data packet (320 or 336 bytes, depends on whether outband or
inband control is selected) at once. Only for this mode the above interrupt handshake
procedure is executed twice in one time frame. With the first “VocoderFinished”
256 bytes are transmitted in each direction, with the second run 64 bytes (outband
control) or 80 bytes (inband control) are transmitted.
The following steps are performed:
1. The JADE writes one frame of encoded audio data into the mailbox (most significant
byte first).
2. The JADE writes a backup of the “VocoderFinished” interrupt number performed in the
next step into the host accessible register 61H. This is only used for detection of a
missed interrupt when a slow host is connected, see text below.
3. The JADE generates a “VocoderFinished” interrupt at INT line to the host by writing a
value C0H or 80H (toggling) into IND interrupt status register at address 58H. The value
of this interrupt is each time toggling between C0H and 80H to ensure that a polling
host can consider a new “VocoderFinished”. For an interrupt driven host one should
just connect both numbers to the same interrupt service routine.
4. The host reads the compressed audio frame from the mailbox using the procedure
described in Section 3.3.2.2 and may reset the INDB bit. The reset of the INDB bit is
not mandatory and may be skipped.
5. Start point in first frame
The host writes the compressed audio frame for the decoder into the mailbox using
the procedure described in Section 3.3.2.2.
6. The host generates an interrupt to the JADE by writing value 24H into INH interrupt
status register at address 50H.
7. The JADE reads the compressed audio data from the mailbox and acknowledges the
reception by resetting the INHB bit.1) 2)
When starting the above procedure, it begins at the point marked with “Start in first
frame”. This is to enable the host to have control of the real start time, so the host first
has to deliver compressed data to the JADE and generate the corresponding interrupt.
After that, the IOM/Host handshake procedure is executed cyclically.
1)
2)
To keep the interrupt load for the host as small as possible, the JADE does not generate an acknowledge
interrupt. It is guaranteed, that the INH interrupt 24H is serviced within a time of 125 µs, so if the host sends
the interrupt 24H soon enough, it is guaranteed, that the interrupt handshake procedure is completed before
the next “VocoderFinished” from the JADE appears. So, in this case the host does not need to check the status
of INHB.
If the host wants to apply other actions, e.g. reading or writing of the control/status block, it has to wait for the
INHB bit to be reset to 0. All these additional actions should be completed within the current time frame (default:
within 10 ms after the “VocoderFinished” interrupt). Otherwise special situations in the interrupt sequence have
to be considered by the host, see text below.
Semiconductor Group
169
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Note: A polling host should not directly poll the IND interrupt status register 58H, but the
DINT bit in INT interrupt status register 75H. This bit always shows whether an
interrupt from the DSP has been generated or not, independently of the
corresponding mask register. The mask register only decides whether an interrupt
at INT line is generated. After having recognized an IND interrupt status, the
polling host may read out the register 58H to get the interrupt number.
Note: Some special situations have to be considered if one uses a slow host that cannot
always ensure to finish the whole interrupt handshake in one frame period (default
10 ms), i.e. before the next VocoderFinished interrupt is generated by the JADE.
Collisions between not finished interrupts and the new VocoderFinished Interrupt
may occur.
Interrupt Conflicts with a Slow Host
In the following some special situations and the recommended handling are described
to keep the host protocol stable also in situations where the host has not finished it’s
interrupt requests before the begin of the next time frame, as long as the interrupt service
delay is less than 160 ms.
The following descriptions apply for all encoder/decoder modes, except the 16-kHz
pass-through. In the 16-kHz pass-through mode, the host must ensure that all interrupts
are finished before the next “VocoderFinished” is generated by the JADE. This is
because of the special double-“VocoderFinished” protocol, see text above.
If the interrupt service from the host is delayed by up to 160 ms, none of the Interrupts
during this time (usually only one “VocoderFinished” every 10 ms) is lost, but they are
delayed, too, until the host is able to service them. Thus, after a gap in interrupt service
a burst of interrupts has to be serviced by the host.
Note: G.723 mode: During the interrupt burst to catch up for the delayed host interrupt
service, the number of interrupts ensures proper synchronisation after the burst,
but the data and packet numbering during the burst will be garbage. Thus, the
synchronisation of encoder and decoder packets should only be done during
non-delayed interrupt service.
The interrupts “Write JADE Control Block” and “Read JADE Status” are representative
for all kinds of interrupts initiated by the host, so they are used in the following as an
example for the corresponding type of interrupt.
1. “Write JADE Control Block” Conflict with “VocoderFinished”, Case 1
A critical situation for the host may occur when a “Write JADE Control Block” (WCB)
interrupt handshake is done immediately before the next time frame starting with the new
“VocoderFinished” (VocFin) interrupt begins. See Figure 50.
Semiconductor Group
170
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Figure 50
Semiconductor Group
171
Data Sheet 1998-07-01
PSB 7238
Firmware Features
In this case, the WCB interrupt handshake is finished correctly, but the acknowledge
interrupt IND 32H may be missed by the host if it is busy at that time, because the next
VocFin may be generated by the JADE before the host is able to recognize the IND 32H
interrupt. The IND interrupt status register then is overwritten by the VocFin interrupt. If
the host was busy during the time these two interrupts occured, it will afterwards only
detect the VocFin interrupt and miss the acknowledge of the WCB.
To handle this situation, the host should have an internal status register indicating an
outstanding acknowledge interrupt. In case a VocFin is detected and an acknowledge
interrupt is outstanding, the host has to check the INHB bit. As shown in Figure 50, the
INHB bit is reset in the WCB acknowledge procedure (see bold text). If the host detects
INHB = 0, the WCB interrupt has been acknowledged, but the host has missed the IND
32H interrupt. If the host detects INHB = 1, the WCB interrupt has not yet been serviced
and will be serviced later. For this case see also the conflict situation below.
2. “Write JADE Control Block” Conflict with “VocoderFinished”, Case 2
Another critical situation for the host may occur when a “Write JADE Control Block”
(WCB) interrupt handshake is started in parallel with with the new VocoderFinished
interrupt of the new time frame.
See Figure 51.
Semiconductor Group
172
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Figure 51
Semiconductor Group
173
Data Sheet 1998-07-01
PSB 7238
Firmware Features
In this case, the host generates the WCB interrupt before it has recognized the VocFin
from the JADE and the JADE generates the VocFin before it has recognized the WCB
from the host.
Immediately after the reception of WCB request the JADE will service that interrupt and
send the corresponding acknowledge interrupt IND 32H. The VocFin interrupt status in
the IND register is overwritten by that. If the host was busy between VocFin and the
acknowledge of WCB, it will only receive one interrupt and recognize the later one, which
is the IND 32H. To recognize, that it has missed one VocFin interrupt, the host should
check the “VocoderFinished” backup register 61H. If the value of this register has
toggled, it knows that there has been a VocFin before the IND 32H interrupt and must
continue to service it.
Note: A parallel read/write access of the 3061/61 register is not prohibited by hardware.
Thus an invalid value maybe read by the host when it reads the register at the
same time as the JADE writes it. As a consequence, the host has to implement a
double last look regarding this register, i.e. it has to read the contents until it has
read the same value in two consecutive read-accesses, only then it is ensured that
the value is valid.
3. “Read JADE Status” Conflict with “VocoderFinished”, Case 1
If a “Read JADE Status” (RS) interrupt handshake is initiated by the host immediately
before the next time frame starts and is not completed at the time the new VocFin
interrupt should occur, the VocFin is delayed until the RS is finished.
Due to audio delay reasons, the JADE has small internal buffers for the compressed
data. This leads to an overwriting of audio data very soon after a VocFin is delayed.
It is ensured that the JADE is working stable in these situations (except for the 16-kHz
pass-through mode, in which two VocFin handshakes have to be done in each time
frame, see above), nevertheless, a graceful degradation of speech quality has to be
accepted by the user which is about proportional to the real delay time of the VocFin
interrupt (the smaller the delay due to the busy host, the smaller the degradation of
quality).
4. “Read JADE Status” Conflict with “VocoderFinished”, Case 2
A “Read JADE Status” (RS) request from the host coming in parallel with the VocFin of
the new time frame will cause the following interrupt flow:
Semiconductor Group
174
Data Sheet 1998-07-01
PSB 7238
Firmware Features
Figure 52
Semiconductor Group
175
Data Sheet 1998-07-01
PSB 7238
Firmware Features
The SR request will be recognized by the JADE, but not immediately be serviced. It is
stored in an internal interrupt buffer and the VocFin is handled first as the higher priority
interrupt. So, the host must not wait for the SR request to be serviced, but has to be able
to recognize a VocFin interrupt from the JADE after an SR request. The VocFin interrupt
then is serviced as usual and only after the corresponding handshake mechanism is
finished, the SR request is serviced by the JADE.
6.2.3.3
Uncompressed Data: IOM IF, Compressed Data: Serial Audio
Interface (SAI)
This is the default mode of the JADE (ISEL(1-0) = 10). The complete setup of the
interfaces, time slots and so on is done by the on-chip firmware after reset, so that a
standalone application with a video processor using the IOM-SAI interface combination
can be realized without the need of an additional host.
Figure 53
The on-chip firmware uses the HDLC1 controller in transparent mode for the transfer of
the compressed audio data over the serial audio interface. During the initialization phase
after a reset, the internal firmware programs the configuration/control registers (see
Section 5.3) and the HDLC1 controller (see Section 5.4). This results in a serial clock
rate of 1.23 MHz continously generated by the JADE, a 16-bit time-slot length and MSB
sent/received first. The frame sync signals RFS and TFS are generated by the JADE
non-continously, i.e. during one frame only the exact number of frame syncs needed for
the transfer of the current packet of data is generated in one burst.
The IOM interface is in TE mode (double DCL clock) and IC1/2 channels are selected
for the 16-bit linear data transfer between the JADE and the analog front end (AFE). The
DD line is output of the JADE, DU is input to the JADE.
This configuration may be changed by the host by just overwriting the corresponding
registers.
Semiconductor Group
176
Data Sheet 1998-07-01
PSB 7238
Firmware Features
The timing of the JADE firmware is controlled by the video processor, which generates
an interrupt every 10 ms at the SIO line. The JADE then starts generating a number of
frame sync signals at RFS and TFS, depending on the length of the data packet that has
to be exchanged. The RFS and TFS bursts are asynchronously, i.e. the RFS burst starts
about 16 frame syncs before the TFS. After data packet transfer the JADE waits for the
next SIO interrupt.
Note: During startup procedure the uncompressed interface (IOM) must be setup before
the Serial Audio Interface is started, i.e. the FSC and DCL signals must be stable
before the first 10 ms interrupt is generated by the video processor.
Due to small differences in the clock of the video processor and the audio output, the
JADE is able to add two uncompressed audio samples every 10 ms. That means, a skew
of about 2.5% (fs = 8 kHz) or 1.25% (fs = 16 kHz) between the communication board’s
clock and the audio codec’s clock is acceptable to the JADE and should be aurally
imperceptible. In the following this will be called the long term skew.
In addition to the long term skew, the JADE can correct for short term variances using
an internal buffer mechanism. This allows single SIO periods to be 10 ms ± 15%.
The full definition is as follows:
Long term SIO period TL:
TL = 10 ms ± 0.25 ms
Short term SIO period TS:
TS = TL × 1 ± 15%
Duration of n consecutive SIO periods:
n
∑ Ti = ( n – 1 ) × TL + TS
i=1
The basic clock for the definition of [ms] is the frame sync signal of the uncompressed
audio interface.
Note: For maximum audio quality it is recommended to keep the skew between the
IOM-2 and the SIO time base as small as possible, i.e. to adjust TL in the above
definition as close to 10 ms as possible. In an application with the VCP from 8×8
(formerly IIT) like in the Siemens/8x8 demonstration board design, the SIO
interrupt period is locked to the IOM-2 time base after a call is setup, so no
compensation on the uncompressed audio needs to be done by the JADE any
more. This ensures the maximum possible audio quality.
Semiconductor Group
177
Data Sheet 1998-07-01
PSB 7238
Electrical Specification
7
Electrical Specification
7.1
Absolute Maximum Ratings
Table 22
Parameter
Symbol
Limit Values
Unit
Ambient temperature under bias
TA
Tstg
VDD
VDDA
VDDP
VS
0 to 70
°C
– 65 to 125
°C
– 0.5 to 4.2
V
– 0.5 to 4.2
V
– 0.5 to 6.0
V
– 0.4 to VDD + 0.5
V
VS
If VDDP < 3 V:
– 0.4 to VDD + 0.5
If VDDP > 3 V:
– 0.4 to VDDP + 0.5
V
Storage temperature
Supply voltage
Supply voltage
Supply voltage
Voltage of pin with respect to ground:
XTAL1, XTAL2
Voltage of any other pin with respect
to ground
V
ESD-integrity is 500 V.
Note: Stresses above those listed here may cause permanent damage to the device.
Exposure to absolute maximum rating conditions for extended periods may affect
device reliability.
7.2
Operating Conditions
VDD = 3.0 to 3.6 V, VDDP = 4.5 to 5.5 V, VSS = 0 V
VDDA = 3.0 to 3.6 V, VSSA = 0 V
VDDAP = 3.0 to 3.6 V, VSSAP = 0 V
Note: In the operating range the functions given in the circuit description are fulfilled.
Semiconductor Group
178
Data Sheet 1998-07-01
PSB 7238
Electrical Specification
7.3
DC Characteristics
Conditions: VDD = 3.0 to 3.6 V, VDDP = 4.5 to 5.5 V, VSS = 0 V, TA = 0 to + 70 °C.
All pins except XTAL1, XTAL2:
Parameter
Symbol
Limit Values
min.
max.
Unit
Test Condition
High-level input
voltage
VIH
2.0
–
V
–
Low-level input
voltage
VIL
–
0.8
V
–
High-level output VOH
voltage
2.4
–
V
IOH = – 400 µA
Low-level output VOL
voltage
–
0.45
V
IOL = 7 mA pins for DU, DD, SR
and ST (50 pF)
IOL = 5 mA pins CA(0:15),
CD(0:15), INTN, INTRN (30 pF)
IOL = 2 mA all others (30 pF)
Input leakage
current
ILI
–1
1
µA
0 V < VIN < VDDA for XTAL1
0 V < VIN < VDD for CD(0:15)
0 V < VIN < VDDP for all others
Output leakage
current
ILO
–10
10
µA
0 V < VOUT < VDDA for XTAL2
0 V < VOUT < VDD for CA(0:15),
CD(0:15), CPS, CDS, CWR, CRD
0 V < VOUT < VDD for all others
VDD + VDDA
IDDS
–
90
mA
–
IDDPS
–
1
mA
–
supply current
VDDP supply
current
The power supply on voltage on VDD – VSS and VDDA – VSSA must be applied after the
power supply on VDDP/VSSP is applied (or at the same time as VDD is applied). If this is
not accomplished, the device may be damaged permanently.
Applying voltages to signal pins when power supply is not active (circuit not under bias)
may cause damage - refer to paragraph “Absolute Maximum Ratings”.
When power supply is switched on, the pads do not reach their stable bias until after 2 µs
(maximum).
Semiconductor Group
179
Data Sheet 1998-07-01
PSB 7238
Electrical Specification
7.4
Capacitances
Table 23
Parameter
Symbol
Input capacitance
I/O capacitance
Load capacitance
7.5
CIN
CI/O
CLD
Limit Values
Unit
Test Condition
min.
max.
–
7
pF
–
–
7
pF
–
–
93/71)
pF
XTAL1,2
Oscillator Circuit
Figure 54
7.6
XTAL 1,2 Recommended Typical Crystal Parameters
Table 24
Parameter
Symbol
Limit Values
Unit
Motional capacitance
C1
C0
CL
Rr
17
fF
5
pF
≤ 23/421)
pF
recommended 50/801)
Ohm
Shunt
Load
Resonance resistance
1)
First value for 7.68 MHz crystal (using internal PLL), second value for 34.56 MHz crystal (using bypass mode).
Note: The 34.56 MHz crystal must be of the fundamental type.
Semiconductor Group
180
Data Sheet 1998-07-01
PSB 7238
Electrical Specification
7.7
AC Characteristics
7.7.1
Testing Waveform
Conditions as above (Recommended Operating Conditions) at TA = 0 to 70 °C.
Inputs are driven to 2.4 V for a logical “1” and to 0.4 V for a logical “0”. Timing
measurements are made at 2.0 V for a logical “1” and 0.8 V for a logical “0”. The AC
testing input/output waveforms are shown in Figure 55.
Figure 55
7.7.2
Parallel Host Interface Timing
Siemens/Intel Bus Mode
t RR
t RI
RD x CS
t DF
t RD
AD0 - AD7
Data
ITT00712
Figure 56
Microprocessor Read Timing
Figure 57
Microprocessor Write Timing
Semiconductor Group
181
Data Sheet 1998-07-01
PSB 7238
Electrical Specification
t AA
t AD
ALE
WR x CS or
RD x CS
t ALS
t AL
t LA
Address
AD0 - AD7
ITT00714
Figure 58
Multiplexed Address Timing
WR x CS or
RD X CS
t AS
A0-A7
t AH
Address
ITT09661
Figure 59
Non-Multiplexed Address Timing
Motorola Bus Mode
R/W
t DSD
t RWD
t RI
t RR
CS x DS
t DF
t RD
D0 - D7
Data
ITT00716
Figure 60
Microprocessor Read Timing
Semiconductor Group
182
Data Sheet 1998-07-01
PSB 7238
Electrical Specification
R/W
t DSD
t RWD
t WW
t WI
CS x DS
t WD
t DW
D0 - D7
Data
ITT09679
Figure 61
Microprocessor Write Timing
CS x DS
t AS
t AH
AD0 - AD7
ITT09662
Figure 62
Non-Multiplexed Address Timing
Table 25
Parameter
Symbol
tAA
tAL
tLA
tALS
tAS
tAH
tAD
tDSD
tRWD
ALE pulse width
Address setup time to ALE
Address hold time from ALE
Address latch setup time to WR, RD
Address setup time
Address hold time
ALE guard time
DS delay after R/W setup
R/W hold from CS × DS inactive
Semiconductor Group
183
Limit Values
Unit
min.
max.
50
–
ns
15
–
ns
10
–
ns
0
–
ns
25
–
ns
10
–
ns
15
–
ns
0
–
ns
0
–
ns
Data Sheet 1998-07-01
PSB 7238
Electrical Specification
Table 25
(cont’d)
Parameter
Symbol
Limit Values
tRR
tRD
tDF
tRI
tWW
tDW
tWD
tWI
RD pulse width
Data output delay from RD
Data float from RD
RD control interval
W pulse width
Data setup time to W × CS
Data hold time W × CS
W control interval
Unit
min.
max.
110
–
ns
–
110
ns
–
25
ns
70
–
ns
60
–
ns
35
–
ns
10
–
ns
70
–
ns
Interrupt Release Timing
Figure 63
Table 26
Parameter
Symbol
tIAT
Interrupt acknowledge to high-impedance
Semiconductor Group
184
Limit Values
min.
max.
–
100
Unit
ns
Data Sheet 1998-07-01
PSB 7238
Electrical Specification
7.7.3
IOM®-2 Interface Timing
IOM®-2 (PCM) Timing with Single Rate DCL
Figure 64
Table 27
Parameter
Symbol
DCL period
DCL high
DCL low
Frame sync setup
Frame sync hold
Frame sync width
Output data delay from FSC (if tOZD < tODD)
Output data delay from DCL (if tODD < tOZD)
Output data from active to high impedance
Input data setup
Input data hold
Semiconductor Group
185
tP
tWH
tWL
tFSS
tFSH
tFSW
tOZD
tODD
tODZ
tIDS
tIDH
Limit Values
Unit
min.
max.
244
–
ns
100
–
ns
100
–
ns
120
–
ns
40
–
ns
40
–
ns
–
100
ns
–
100
ns
–
80
ns
20
–
ns
40
–
ns
Data Sheet 1998-07-01
PSB 7238
Electrical Specification
IOM-2 Timing with Double Rate DCL
Figure 65
Table 28
Parameter
Symbol
DCL period
DCL high
DCL low
Frame sync setup
Frame sync hold
Output data from high impedance to active
Output data delay from clock
Output data from active to high impedance
Input data setup
Input data hold
Semiconductor Group
186
tP
tWH
tWL
tFSS
tFSH
tOZD
tODD
tODZ
tIDS
tIDH
Limit Values
Unit
min.
max.
244
–
ns
100
–
ns
100
–
ns
40
–
ns
40
–
ns
–
100
ns
–
100
ns
–
80
ns
20
–
ns
40
–
ns
Data Sheet 1998-07-01
PSB 7238
Electrical Specification
7.7.4
Serial Audio Interface Timing
Serial Clock
Figure 66
Table 29
Parameter
SCLK period
SCLK high
SCLK low
Symbol
tP
tWH
tWL
Limit Values
Unit
min.
max.
244
–
ns
100
–
ns
100
–
ns
Serial Output Timing
Figure 67
Table 30
Parameter
Symbol
TFS/RFS setup
TFS/RFS hold
Output data delay from clock
Output data from active to high impedance
Semiconductor Group
187
tFSS
tFSH
tODD
tODZ
Limit Values
Unit
min.
max.
40
–
ns
40
–
ns
–
100
ns
–
80
ns
Data Sheet 1998-07-01
PSB 7238
Electrical Specification
Serial Input Timing
Figure 68
Table 31
Parameter
Symbol
Limit Values
tFSS
tFSH
tIDS
tIDH
TFS/RFS setup
TFS/RFS hold
Input data setup
Input data hold
Unit
min.
max.
40
–
ns
40
–
ns
20
–
ns
40
–
ns
TFS/RFS Output Timing
Figure 69
Table 32
Parameter
TFS/RFS out
Semiconductor Group
Symbol
tFO
188
Limit Values
min.
max.
–
40
Unit
ns
Data Sheet 1998-07-01
PSB 7238
Electrical Specification
7.7.5
External Memory Interface
No external SRAM needs to be connected to the JADE, since it has all memories on chip.
Nevertheless, an external memory interface is implemented for development purpose
only.
The timing of this interface is not part of the test procedure for the JADE, and so not
specified at this point. For development purpose especially tested devices (including
external memory interface test) are available from Siemens on request in small
quantities. These devices are working under special conditions such as e.g. higher
supply voltage.
Semiconductor Group
189
Data Sheet 1998-07-01
PSB 7238
Package Outlines
8
Package Outlines
GPP05614
P-TQFP-100
(Plastic Thin Quad Flat Package)
Sorts of Packing
Package outlines for tubes, trays etc. are contained in our
Data Book “Package Information”.
Dimensions in mm
SMD = Surface Mounted Device
Semiconductor Group
190
Data Sheet 1998-07-01