ETC AP77016-B05

User’s Manual
µSAP77016-B05
MPEG-4 CELP Speech Codec Middleware
Target Devices
µPD77110
µPD77111
µPD77112
µPD77113
µPD77114
µPD77115
Document No. U14497EJ2V0UM00 (2nd edition)
Date Published December 2000 N CP(K)
Printed in Japan
[MEMO]
2
User’s Manual U14497EJ2V0UM
Patent for MPEG-4 CELP
A number of patents exist for systems related to MPEG-4 CELP.
NEC would request that customers ensure they comply with the relevant rights for these patents. NEC does not
accept any responsibility for infringement of any patent rights by the customer.
MS-DOS and Windows are either registered trademarks or trademarks of Microsoft Corporation in the
United States and/or other countries.
• The information in this document is current as of October, 2000. The information is subject to
change without notice. For actual design-in, refer to the latest publications of NEC's data sheets or
data books, etc., for the most up-to-date specifications of NEC semiconductor products. Not all
products and/or types are available in every country. Please check with an NEC sales representative
for availability and additional information.
• No part of this document may be copied or reproduced in any form or by any means without prior
written consent of NEC. NEC assumes no responsibility for any errors that may appear in this document.
• NEC does not assume any liability for infringement of patents, copyrights or other intellectual property rights of
third parties by or arising from the use of NEC semiconductor products listed in this document or any other
liability arising from the use of such products. No license, express, implied or otherwise, is granted under any
patents, copyrights or other intellectual property rights of NEC or others.
• Descriptions of circuits, software and other related information in this document are provided for illustrative
purposes in semiconductor product operation and application examples. The incorporation of these
circuits, software and information in the design of customer's equipment shall be done under the full
responsibility of customer. NEC assumes no responsibility for any losses incurred by customers or third
parties arising from the use of these circuits, software and information.
• While NEC endeavours to enhance the quality, reliability and safety of NEC semiconductor products, customers
agree and acknowledge that the possibility of defects thereof cannot be eliminated entirely. To minimize
risks of damage to property or injury (including death) to persons arising from defects in NEC
semiconductor products, customers must incorporate sufficient safety measures in their design, such as
redundancy, fire-containment, and anti-failure features.
• NEC semiconductor products are classified into the following three quality grades:
"Standard", "Special" and "Specific". The "Specific" quality grade applies only to semiconductor products
developed based on a customer-designated "quality assurance program" for a specific application. The
recommended applications of a semiconductor product depend on its quality grade, as indicated below.
Customers must check the quality grade of each semiconductor product before using it in a particular
application.
"Standard": Computers, office equipment, communications equipment, test and measurement equipment, audio
and visual equipment, home electronic appliances, machine tools, personal electronic equipment
and industrial robots
"Special": Transportation equipment (automobiles, trains, ships, etc.), traffic control systems, anti-disaster
systems, anti-crime systems, safety equipment and medical equipment (not specifically designed
for life support)
"Specific": Aircraft, aerospace equipment, submersible repeaters, nuclear reactor control systems, life
support systems and medical equipment for life support, etc.
The quality grade of NEC semiconductor products is "Standard" unless otherwise expressly specified in NEC's
data sheets or data books, etc. If customers wish to use NEC semiconductor products in applications not
intended by NEC, they must contact an NEC sales representative in advance to determine NEC's willingness
to support a given application.
(Note)
(1) "NEC" as used in this statement means NEC Corporation and also includes its majority-owned subsidiaries.
(2) "NEC semiconductor products" means any semiconductor product developed or manufactured by or for
NEC (as defined above).
M8E 00. 4
User’s Manual U14497EJ2V0UM
3
Regional Information
Some information contained in this document may vary from country to country. Before using any NEC
product in your application, pIease contact the NEC office in your country to obtain a list of authorized
representatives and distributors. They will verify:
•
Device availability
•
Ordering information
•
Product release schedule
•
Availability of related technical literature
•
Development environment specifications (for example, specifications for third-party tools and
components, host computers, power plugs, AC supply voltages, and so forth)
•
Network requirements
In addition, trademarks, registered trademarks, export restrictions, and other legal issues may also vary
from country to country.
NEC Electronics Inc. (U.S.)
NEC Electronics (Germany) GmbH
NEC Electronics Hong Kong Ltd.
Santa Clara, California
Tel: 408-588-6000
800-366-9782
Fax: 408-588-6130
800-729-9288
Benelux Office
Eindhoven, The Netherlands
Tel: 040-2445845
Fax: 040-2444580
Hong Kong
Tel: 2886-9318
Fax: 2886-9022/9044
NEC Electronics Hong Kong Ltd.
Velizy-Villacoublay, France
Tel: 01-30-67 58 00
Fax: 01-30-67 58 99
Seoul Branch
Seoul, Korea
Tel: 02-528-0303
Fax: 02-528-4411
NEC Electronics (France) S.A.
NEC Electronics Singapore Pte. Ltd.
Madrid Office
Madrid, Spain
Tel: 91-504-2787
Fax: 91-504-2860
United Square, Singapore
Tel: 65-253-8311
Fax: 65-250-3583
NEC Electronics (France) S.A.
NEC Electronics (Germany) GmbH
Duesseldorf, Germany
Tel: 0211-65 03 02
Fax: 0211-65 03 490
NEC Electronics (UK) Ltd.
Milton Keynes, UK
Tel: 01908-691-133
Fax: 01908-670-290
NEC Electronics Taiwan Ltd.
NEC Electronics Italiana s.r.l.
NEC Electronics (Germany) GmbH
Milano, Italy
Tel: 02-66 75 41
Fax: 02-66 75 42 99
Scandinavia Office
Taeby, Sweden
Tel: 08-63 80 820
Fax: 08-63 80 388
Taipei, Taiwan
Tel: 02-2719-2377
Fax: 02-2719-5951
NEC do Brasil S.A.
Electron Devices Division
Guarulhos-SP Brasil
Tel: 55-11-6462-6810
Fax: 55-11-6462-6829
J00.7
4
User’s Manual U14497EJ2V0UM
Major Revisions in This Edition
Page
Description
Throughout
Addition of µPD77111, 77112, and 77115.
p.11
Modification of description in 1.2 MPEG-4 CELP Speech Codec
p.12
Modification of 1.3 Product Overview
p.19
Modification of Return value, Function, and Hardware resources in 2.3.2 mpc_InitDec function
p.20
Modification of Hardware resources in 2.3.3 mpc_Enc function
pp.22, 23
Modification of Function and Hardware resources in 2.3.4 mpc_Dec function
p.25
Addition of description to 2.4 Compressed Data Format
p.34
Modification of APPENDIX SAMPLE PROGRAM SOURCE
The mark
shows major revised points.
User’s Manual U14497EJ2V0UM
5
PREFACE
Target Readers
This manual is intended for users who wish to design and develop application
systems using the µPD77016 Family.
The µPD77016 Family includes the µPD77015, 77016, 77017, 77018, 77019, 77110,
77111, 77112, 77113, 77114, and 77115. This manual, however, only covers the
µPD77110, 77111, 77112, 77113, 77114, and 77115.
Purpose
The purpose of this manual is for users to gain an understanding of the middleware
used for support when designing and developing application systems using the
µPD77016 Family.
Organization
This manual consists of the following.
CHAPTER 1 INTRODUCTION
CHAPTER 2 LIBRARY SPECIFICATIONS
CHAPTER 3 INSTALLATION
CHAPTER 4 SYSTEM EXAMPLE
APPENDIX SAMPLE PROGRAM SOURCE
How to Read This Manual
It is assumed that the reader of this manual has general knowledge in the fields of
electrical engineering, logic circuits, and microcontrollers.
Conventions
Data significance:
Higher digits on the left and lower digits on the right
Note:
Footnote for item marked with Note in the text
Caution:
Information requiring particular attention
Remark:
Supplementary information
Number representation:
Binary ×××× or 0b××××
Decimal ××××
Hexadecimal 0x××××
6
User’s Manual U14497EJ2V0UM
Related Documents
The related documents indicated in this publication may include preliminary versions.
However, preliminary versions are not marked as such.
Documents Related to Devices
Document Name
Pamphlet
Data Sheet
Part Number
µ PD77110
U12395E
User’s Manual
Application Note
Architecture
Instructions
Basic Software
U14623E
U13116E
U11958E
−
−
−
U12801E
µ PD77111
µ PD77112
µ PD77113
U14373E
µ PD77114
µ PD77115
−
U14867E
Documents Related to Development Tools
Document Name
IE-77016-98, IE-77016-PC User’s Manual
Document No.
Hardware
IE-77016-CM-LC User’s Manual
U14139E
RX77016 User’s Manual
RX77016 Application Note
Caution
U13044E
Function
U14397E
Configuration Tool
U14404E
HOST API
U14371E
The related documents listed above are subject to change without notice. Be sure to use the latest
version of each document for designing.
User’s Manual U14497EJ2V0UM
7
CONTENTS
CHAPTER 1 INTRODUCTION.................................................................................................................................. 11
1.1 Middleware ....................................................................................................................................................... 11
1.2 MPEG-4 CELP Speech Codec ......................................................................................................................... 11
1.3 Product Overview ............................................................................................................................................ 12
1.3.1 Features .................................................................................................................................................. 12
1.3.2 Operating environment ............................................................................................................................ 13
1.3.3 Performance............................................................................................................................................ 13
1.3.4 Directory structure ................................................................................................................................... 14
CHAPTER 2 LIBRARY SPECIFICATIONS ............................................................................................................. 15
2.1 Application Processing Flow .......................................................................................................................... 15
2.2 Timing Diagrams .............................................................................................................................................. 17
2.3 Function Specifications................................................................................................................................... 18
2.3.1 mpc_InitEnc function ............................................................................................................................... 18
2.3.2 mpc_InitDec function............................................................................................................................... 19
2.3.3 mpc_Enc function.................................................................................................................................... 20
2.3.4 mpc_Dec function.................................................................................................................................... 22
2.3.5 mpc_GetVersion function ........................................................................................................................ 24
2.4 Compressed Data Format ............................................................................................................................... 25
2.4.1 Header .................................................................................................................................................... 25
2.4.2 Frame ...................................................................................................................................................... 27
2.5 Relationship Between Bit Rate and Number of Samples ............................................................................. 28
CHAPTER 3 INSTALLATION ................................................................................................................................... 30
3.1 Installation Procedure ..................................................................................................................................... 30
3.2 Sample Creation Procedure ............................................................................................................................ 30
3.3 Symbol Naming Regulations .......................................................................................................................... 30
CHAPTER 4 SYSTEM EXAMPLE ........................................................................................................................... 31
4.1 Simulation Environment in Which Timing File Used .................................................................................... 31
4.2 Operation .......................................................................................................................................................... 31
APPENDIX SAMPLE PROGRAM SOURCE ........................................................................................................... 34
8
User’s Manual U14497EJ2V0UM
LIST OF FIGURES
Figure No.
Title
Page
2-1 Application Processing Flow (Encoder).................................................................................................................15
2-2 Application Processing Flow (Decoder) ................................................................................................................16
2-3 Encoder Timing Diagram ......................................................................................................................................17
2-4 Decoder Timing Diagram ......................................................................................................................................17
2-5 Header Format ......................................................................................................................................................25
2-6 Frame Configuration .............................................................................................................................................27
User’s Manual U14497EJ2V0UM
9
LIST OF TABLES
Table No.
Title
Page
1-1 Supported Functions ............................................................................................................................................. 12
1-2 Required Memory Size ......................................................................................................................................... 13
1-3 MIPS Values Required for Compression/Decompression Processing ................................................................. 13
2-1 Relationship Between Narrow Band Bit Rate and Number of Samples................................................................ 28
2-2 Relationship Between Wide Band Bit Rate and Number of Samples ................................................................... 29
10
User’s Manual U14497EJ2V0UM
CHAPTER 1 INTRODUCTION
1.1 Middleware
Middleware is the name given to a group of software that has been tuned so that it draws out the maximum
performance of the processor and enables processing that is conventionally performed by hardware to be performed
by software. The concept of middleware was introduced with the development of a new high-speed processor, the
DSP, in order to facilitate operation of the environments integrated in the system.
By providing appropriate speech codec and image data compression/decompression-type middleware, NEC is
offering users the kind of technology essential in the realization of a multimedia system for the µPD77016 Family, and
is continuing its promotion of system development.
The µSAP77016-B05 is middleware that supplies the functions of speech compression/decompression.
1.2 MPEG-4 CELP Speech Codec
Note 1
The MPEG-4 CELP
Note 2
ISO/IEC
speech codec is a CELP speech compression/decompression function standardized as
14496-3 (MPEG-4 version 1) Audio Part. In addition, the error robustness and silence compression
functions are expanded by ISO/IEC 14496-3/Amd1 (MPEG-4 version 2) Audio Part. This MPEG-4 CELP speech
codec employs an algorithm proposed by NEC.
The speech input/output data processed by the MPEG-4 CELP speech codec is 16-bit linear PCM data resulting
from sampling an analog input signal at 8 or 16 MHz. If the signal is sampled at 8 kHz (narrow band: NB), 28 types of
bit rates, 3.85 to 12.2 Kbps, are supported. If the signal is sampled at 16 kHz (wide band: WB), 30 types of bit rates,
10.9 to 23.8 Kbps, are supported (refer to 2.5 Relationship Between Bit Rate and Number of Samples).
Notes 1.
2.
CELP: Code Excited Linear Prediction
ISO: International Organization for Standardization
IEC: International Electrotechnical Commission
User’s Manual U14497EJ2V0UM
11
CHAPTER 1 INTRODUCTION
1.3 Product Overview
1.3.1 Features
(1) Speech input/output data: 16-bit linear PCM data
(2) Coding/decoding 80 to 320 samples/frame at sampling frequency of 8 or 16 kHz
(3) 28 types of bit rates (3.85 to 12.2 Kbps) at sampling frequency of 8 kHz or 30 types of bit rates (10.9 to 23.8
Kbps) at 16 kHz
(4) High-quality speech coding
• Wide band (16 kHz sampling)
Note
• Quality equivalent to ITU-T G.729
at 8 Kbps and sampling frequency of 8 kHz
Note International Telecommunication Union – Telecommunication Standardization Sector
Table 1-1 lists the supported functions.
Table 1-1. Supported Functions
Function
Version 1
Encoder
Decoder
Basic coding function (base layer)
√
√
Bit rate hierarchy function (Bit Rate Scalable)
×
×
Band hierarchy function (Band Width Scalable)
×
×
Multi-pulse sound source (Multi Pulse Excitation)
√
√
Regular pulse sound source (Regular Pulse Excitation)
×
×
Fine rate control
×
×
√
√
Error concealment
Note
: Bit error
−
√
Error concealment
Note
: Frame erasure
−
√
Silence compression
×
√
Version 2 compressed data format
×
√
Version 1 compressed data format
Version 2
Note Error concealment is a function of version 2, but this middleware allows it to be used with data of version 1.
Caution “Version” in the above figure indicates the version of MPEG-4, not the version of the middleware.
Remark
12
√: Supported, ×: Not supported, −: Not subject to support
User’s Manual U14497EJ2V0UM
CHAPTER 1 INTRODUCTION
1.3.2 Operating environment
(1) Target DSP:
µPD77110, 77111
Note
, 77112
Note
, 77113, 77114, 77115
Note
Note Applicable when these processors operate only as decoders.
(2) Required memory size:
This middleware can be used as a codec, or separately as an encoder or decoder. Table 1-2 shows the
required memory size.
Table 1-2. Required Memory Size
Memory
Type
Size (Words)
Encoder [Words]
Decoder [Words]
–
14.6 K
8.0 K
8.0 K
Encoder: 3 K / Decoder: 1.5 K
3.2 K
3.0 K
2.7 K
1.5 K
0.6 K
5.5 K
2.4 K
5.0 K
Encoder: 4.7 K / Decoder: 0.7 K
2.5 K
4.7 K
2.5 K
0.7 K
0.1 K
13.1 K
10.1 K
9.3 K
Instruction memory
X memory
RAM (Work)
(Static)
ROM
Y memory
RAM (Work)
(Static)
ROM
TM
(3) Software tools (Windows
version):
DSP tools
• WB77016 (workbench assembler)
• HSM77016 (high-speed simulator)
• IE77016 (debugger)
1.3.3 Performance
[Condition] DSP: µPD77016 Family (33 MIPS @ 33 MHz operation)
[The MIPS values required to execute the processing of 1 frame in real time]
Table 1-3. MIPS Values Required for Compression/Decompression Processing
Bit Rate
[bps]
Compression Time
[MIPS]
Decompression Time
(Postprocessing Filter
On) [MIPS]
Total
(Postprocessing
Filter On) [MIPS]
4650 (NB)
16.5
2.5
19.0
5500 (NB)
17.5
2.6
20.1
7300 (NB)
19.5
2.6
22.1
10700 (NB)
20.8
3.3
24.1
12200 (NB)
22.3
3.5
25.8
14300 (NB)
52.5
9.1
61.6
17000 (NB)
55.3
9.3
64.6
21100 (NB)
58.2
12.3
70.5
23800 (NB)
60.8
12.5
73.3
User’s Manual U14497EJ2V0UM
13
CHAPTER 1 INTRODUCTION
1.3.4 Directory structure
The contents of the packages are shown below.
<library>
mpc_110b.lib: Library for the µPD77110 and 77115 (BE mode)
mpc_110f.lib: Library for the µPD77110 and 77115 (FE mode)
mpc_11xb.lib: Library for the µPD77111, 77112, 77113, and 77114 (BE mode)
mpc_11xf.lib: Library for the µPD77111, 77112, 77113, and 77114 (FE mode)
<smp><mpc>
mpc_enc.h: Header file for encoder
mpc_dec.h: Header file for decoder
sample.prj: Sample project file
sample.asm: Sample source file
sample.tmg: Sample timing file
input.dat: Input data for sample program
out.dat: Expected output data for sample program
readme.txt: Explanation of each file
Each directory is outlined below.
(1) library
Stores the library files.
Two types of libraries, for BE (Bit Error) mode and FE (Frame Erasure) mode, are available depending on the
differences in the concealment processing of the decoder, and either of them is selected when the
middleware is embedded into a system. They cannot be selected during reception.
• BE (Bit Error) mode
This mode is used if the system can receive error frame information.
The past frame data and part of the current frame data are used for decoding processing in this mode.
• FE (Frame Erasure) mode
This mode is used if the system can receive no error frame information.
In this mode, decoding processing is performed by using only the past frame data.
(2) <smp>--<mpc>
Stores the source files of the sample program, and the header files. A timing file, to be described later, is
also available.
14
User’s Manual U14497EJ2V0UM
CHAPTER 2 LIBRARY SPECIFICATIONS
MPEG-4 CELP provides the following 5 functions.
Function Name
Function
mpc_InitEnc
Encode processing initialization
mpc_InitDec
Decode processing initialization
mpc_Enc
Encode processing
mpc_Dec
Decode processing
mpc_GetVersion
Version information acquisition
2.1 Application Processing Flow
Examples of application processing using the MPEG-4 CELP speech codec are shown in Figures 2-1 and 2-2
below.
Figure 2-1. Application Processing Flow (Encoder)
Start
Speech I/O initialization processing
• AD/DA initial settings
• Interrupt enable, etc.
Encoder initialization
call mpc_InitEnc
: Bit rate and sampling frequency
settings, header output
Speech input interrupt
handler
16-bit linear data input
No
Sampling of 1 frame complete?
Yes
Encode data input processing
Encode processing
call mpc_Enc
Encode data output processing
User’s Manual U14497EJ2V0UM
15
CHAPTER 2 LIBRARY SPECIFICATIONS
Figure 2-2. Application Processing Flow (Decoder)
Start
Speech I/O initialization processing
• AD/DA initial settings
• Interrupt enable, etc.
Decoder initialization
call mpc_InitDec
: Header analysis
Speech output interrupt
handler
16-bit linear data output
No
Sampling of 1 frame complete?
Yes
Decode data input processing
Decode processing
call mpc_Dec
Decode data output processing
The speech data I/O processing is dependent on the target system’s hardware, so make sure the design accords
with the target system.
16
User’s Manual U14497EJ2V0UM
CHAPTER 2 LIBRARY SPECIFICATIONS
2.2 Timing Diagrams
Figure 2-3. Encoder Timing Diagram
Speech input
interrupt handler
<1>
User application
<4>
<2>
1 frame of
1 frame of
speech data compressed data
MPEG-4 CELP
encode
processing
<3>
0
Time
1 frame of speech
<1> Sampling frequency: 8 or 16 kHz, Precision: 16 bits; A/D converted to 1 frame of PCM data
<2> Buffering via the user application
<3> 1 frame of sample data is compressed
<4> 1 frame of compressed data is saved. The user can use the rest of the time for processing another
application.
Figure 2-4. Decoder Timing Diagram
Speech output
interrupt handler
<4>
User application
<3>
<1>
1 frame of
1 frame of
compressed data speech data
MPEG-4 CELP
decode
processing
<2>
0
Time
1 frame of speech
<1> 1 frame of compressed data is read and passed to decompression processing
<2> 1 frame of compressed data is decompressed into 1 frame of sample data
User’s Manual U14497EJ2V0UM
17
CHAPTER 2 LIBRARY SPECIFICATIONS
<3> The decompressed speech data is buffered. The user can use the rest of the time for processing another
application.
<4> Sampling frequency: 8 or 16 kHz, Precision: 16 bits; 1 frame of PCM data is D/A converted
2.3 Function Specifications
2.3.1 mpc_InitEnc function
• Classification
MPEG-4 CELP encoder initialization processing
• Function name
mpc_InitEnc
• Summary of function
Makes the parameter settings and initializes the RAM area used by the MPEG-4
CELP encoder.
• Format
call mpc_InitEnc
• Arguments
*mpc_E_ANA_BUFF_SADR:x
*mpc_E_RATE_NUM:x
Output data buffer start address (X memory)
Bit rate setting.
Sets the 28 types/30 types of bit rates in the No. column
in the tables in 2.5 Relationship Between Bit Rate and
Number of Samples.
Sets the MPE configuration of the header.
*mpc_E_WB:x
Sets the sampling frequency. 0: NB/1: WB set in the
R6
Start address of the X memory work area
R5
Start address of the Y memory work area
*mpc_E_PCM_NUM:x
Number of samples per frame
*mpc_E_ANA_BITS:x
Number of compressed data bits in 1 frame
sample rate mode of the header.
• Return value
• Function
Makes the parameter settings necessary for the MPEG-4 CELP encoder, initializes
the calculation area, and outputs the header to the top of the buffer specified by
mpc_E_ANA_BUFF_SADR. (11 bits with MSB first).
The bit rate cannot be changed after the initialization processing.
For details of the memory size required for the work area, refer to the value of the
RAM (Work) in 1.3.2 (2) Required memory size.
The encoded data can be output in version 1 only. It cannot be output in version 2.
• Registers used
R0, R1, R2, R3, R4, R5, R6, R7, DP0, DP1, DP2, DP3, DP4, DP5, DN0, DN1
• Hardware resources
The hardware resources for this function are as follows.
Maximum stack level:
18
3
Maximum loop stack level:
1
Maximum number of repeats:
800
Maximum number of cycles:
2700
User’s Manual U14497EJ2V0UM
CHAPTER 2 LIBRARY SPECIFICATIONS
Caution Between when the mpc_InitEnc function was called and the end of compression processing,
the RAM area must not be destroyed.
If the RAM area is destroyed, operation is not
guaranteed.
2.3.2 mpc_InitDec function
• Classification
MPEG-4 CELP decoder initialization processing
• Function name
mpc_InitDec
• Summary of function
Makes the parameter settings and initializes the RAM area used by the MPEG-4
CELP decoder.
• Format
call mpc_InitDec
• Arguments
*mpc_D_ANA_BUFF_SADR:x
• Return value
Input data buffer start address (X memory)
*mpc_D_PF_FLAG:x
Post-processing filter flag. 0: OFF/1: ON
R6
Work area X memory start address
R5
Work area Y memory start address
*mpc_D_PCM_NUM:x
Number of samples per frame
*mpc_D_ANA_BITS:x
Number
of
CelpBaseFrame
bits
among
compressed data in 1 frame (this is the same as
the number of compressed bits in 1 frame if
silence compression is not used.)
• Function
Analyses the compressed data by the header, sets the parameters required for the
MPEG-4 CELP decoder, and initializes the calculation area. The header is input to
the top of the buffer specified by mpc_D_ANA_BUFF_SADR. (11 bits with MSB first in
version 1, and 12 bits with MSB first in version 2). Whether the speech data output is
passed through a post-processing filter is determined by mpc_D_PF_FLAG.
The
post-processing filter is a filter configured on the output side of the decoder to improve
the sound quality of the decoded speech signals.
Refer to 2.4.1 Header for the format of the header.
For details of the memory size required for the work area, refer to the value of the
RAM (Work) in 1.3.2 Operating environment.
• Registers used
R0, R1, R2, R3, R4, R5, R6, R7, DP0, DP1, DP2, DP4, DP5, DN0
• Hardware resources
The hardware resources for this function are as follows.
Maximum stack level:
3
Maximum loop stack level:
1
Maximum number of repeats:
50
Maximum number of cycles:
800
User’s Manual U14497EJ2V0UM
19
CHAPTER 2 LIBRARY SPECIFICATIONS
Caution Between when the mpc_InitDec function was called and the end of decompression processing,
the RAM area must not be destroyed.
If the RAM area is destroyed, operation is not
guaranteed.
2.3.3 mpc_Enc function
• Classification
MPEG-4 CELP encoder processing
• Function name
mpc_Enc
• Summary of function
Compresses 1 frame of specified speech data.
• Format
call mpc_Enc
• Arguments
*mpc_E_PCM_BUFF_SADR:x
Input data buffer start address (X memory)
*mpc_E_ANA_BUFF_SADR:x
Output data buffer start address (X memory)
• Return value
None
• Function
Performs
compression
processing
for
speech
data
specified
by
mpc_E_PCM_BUFF_SADR and writes and returns this data to the compressed data
buffer specified by mpc_E_ANA_BUFF_SADR. If the final word of the compressed
data frame is less than 1 word, this data is word-aligned by outputting it after filling the
remainder with 0s.
The number of samples input in 1 frame is determined by the bit rate, and is assigned
by mpc_E_PCM_NUM, which is the return value of the encoder initialization
processing, mpc_InitEnc.
The size of the compressed data output is also determined by the bit rate.
Neither the bit rate nor NB/WB can be changed.
The compressed data is a stream of bit units.
Input data (speech data)
mpc_E_PCM_BUFF_SADR
16-bit PCM
16-bit PCM
16-bit PCM
20
User’s Manual U14497EJ2V0UM
1 frame of speech data
The number of samples
(mpc_E_PCM_NUM)
is determined at initialization.
CHAPTER 2 LIBRARY SPECIFICATIONS
Output data (compressed data)
mpc_E_ANA_BUFF_SADR
Compressed data
Compressed data
Compressed data
1 frame of compressed data
The number of compressed data bits
(mpc_E_ANA_BITS) is determined at
initialization.
Partial data output during processing
Valid data
• Registers used
Zero data
R0, R1, R2, R3, R4, R5, R6, R7, DP0, DP1, DP2, DP3, DP4, DP5, DP6, DP7, DN0,
DN1, DN2, DN3, DN4, DN5, DN6, DN7, DMX, DMY
• Hardware resources
The hardware resources for this function are as follows.
Maximum stack level:
6
Maximum loop stack level:
4
Maximum number of repeats:
340
Maximum MIPS value:
60.8
User’s Manual U14497EJ2V0UM
21
CHAPTER 2 LIBRARY SPECIFICATIONS
2.3.4 mpc_Dec function
• Classification
MPEG-4 CELP decoder processing
• Function name
mpc_Dec
• Summary of function
Decompresses 1 frame of the specified compressed speech data.
• Format
call mpc_Dec
• Arguments
*mpc_D_ANA_BUFF_SADR:x
Input data buffer start address (X memory)
*mpc_D_PCM_BUFF_SADR:x
Output data buffer start address (X memory)
*mpc_D_ERR_FLAG:x
Recover processing flag. 0: OFF/1: ON
• Return value
None
s
• Function
Performs
decompression
processing
for
compressed
data
specified
by
mpc_D_ANA_BUFF_SADR and writes and returns this data to the speech data buffer
specified by mpc_D_PCM_BUFF_SADR. When the mpc_D_ERR_FLAG is on, that
frame is regarded to have an error, and recovery is performed by error concealment
processing using the data of the previous frame.
A frame error must be detected by the calling system.
Recovery processing is performed in two modes, BE (Bit Error) mode and FE (Frame
Erasure) mode, and is determined depending on the library to be embedded (refer to
1.2 MPEG-4 CELP Speech Codec and 1.3.4 Directory structure).
If the final word of the compressed data frame is less than 1 word, the valid data is
input starting from the MSB.
The size of the compressed data input and the number of samples output in 1 frame
is determined by the bit rate. The bit rate cannot be changed.
If silence compression is used, the size of the compressed data input varies
depending upon the frame.
The compressed data is a stream of bit units.
Input data (compressed data)
mpc_D_ANA_BUFF_SADR
Compressed data
Compressed data
Partial data input during processing
Valid data
22
No care
User’s Manual U14497EJ2V0UM
1 frame of compressed data
(word boundary)
The number of compressed
data bits (mpc_D_ANA_BITS)
is determined at initialization.
CHAPTER 2 LIBRARY SPECIFICATIONS
Output data (speech data)
mpc_D_PCM_BUFF_SADR
16-bit PCM
16-bit PCM
• Registers used
1 frame of speech data
The number of samples
(mpc_D_PCM_NUM)
is determined at initialization.
R0, R1, R2, R3, R4, R5, R6, R7, DP0, DP1, DP2, DP3 DP4, DP5, DP6, DP7 DN0,
DN1, DN2, DN3, DN4, DN5, DN6, DN7, DMX, DMY
• Hardware resources
The hardware resources for this function are as follows.
Maximum stack level:
7
Maximum loop stack level:
3
Maximum number of repeats:
400
Maximum MIPS value:
12.5 (with no error code)
User’s Manual U14497EJ2V0UM
23
CHAPTER 2 LIBRARY SPECIFICATIONS
2.3.5 mpc_GetVersion function
• Classification
Version information acquisition
• Function name
mpc_GetVersion
• Summary of function
Returns the version of the library.
• Format
call mpc_GetVersion
• Arguments
None
• Return Value
R0H
Major version number
R0L
Minor version number
• Function
Returns the version number of the MPEG-4 CELP speech codec library as a 32-bit
value.
When R0 = 0x00’0x0001’0x0100:
Version: V1.01
• Registers used
R0
• Hardware resources
The hardware resources for this function are as follows.
24
Maximum stack level:
1
Maximum loop stack level:
0
Maximum number of repeats:
0
Maximum number of cycles:
6
User’s Manual U14497EJ2V0UM
CHAPTER 2 LIBRARY SPECIFICATIONS
2.4 Compressed Data Format
The MPEG-4 CELP speech codec has two types of compressed data formats: version 1 and version 2.
With this middleware, the encoder outputs compressed data of version 1. The decoder can read compressed data
of both versions 1 and 2.
Version 1: Conforms to MPEG-4 CELP object
Version 2: Conforms to MPEG-4 ER-CELP object
2.4.1 Header
With version 1, the header size is 11 bits (BWS = OFF) or 13 bits (BWS = ON), and the header configuration is as
shown in Figure 2-5 (a). With version 2, the header size is 12 bits (BWS = OFF) or 14 bits (BWS = ON), and the
header configuration is as shown in Figure 2-5 (b).
Figure 2-5. Header Format
(a) Version 1
Reserved
Sample rate mode
Reserved
1 bit
1 bit
1 bit
5 bits
2 bits
1 bit
2 bits
BWS mode
BWS configuration
(BWS mode = 1)
Enhancement layer number
MPE configuration
User’s Manual U14497EJ2V0UM
25
CHAPTER 2 LIBRARY SPECIFICATIONS
(b) Version 2
Reserved
Sample rate mode
Reserved
1 bit
1 bit
1 bit
1 bit
5 bits
2 bits
2 bits
1 bit
BWS mode
BWS configuration
(BWS mode = 1)
Enhancement layer number
MPE configuration
Silence compression
(1) Sample rate mode:
Determines the sampling frequency of MPEG-4 CELP. 8 kHz (narrow band): 0, 16 kHz (wide band): 1
(2) Silence compression (provided in version 2 only):
Specifies silence compression.
Off: 0, on: 1
(3) MPE configuration:
Determines the compression bit rate of MPEG-4 CELP. (28 types/30 types)
(4) Number of enhancement layers:
Not supported in this middleware (always 0).
(5) BWS mode:
Not supported in this middleware (always 0).
(6) BWS configuration:
Not supported in this middleware (this bit does not exist).
26
User’s Manual U14497EJ2V0UM
CHAPTER 2 LIBRARY SPECIFICATIONS
2.4.2 Frame
Figure 2-6. Frame Configuration
(a) With version 1 or version 2 when Silence Compression = OFF
CelpBaseFrame
Note
(b) With version 2 when Silence Compression = ON
If TX_flag = 1 (the first bit is 0 and second bit is 1)
TX_flag
CelpBaseFrame
2 bits
Note
If TX_flag = 2 (the first bit is 1 and second bit is 0)
TX_flag
LPC
2 bits
15bits (NB) or 32 bits (WB)
RMS
6 bits
If TX_flag = 3 (the first bit is 1 and second bit is 1)
TX_flag
RMS
2 bits
6 bits
If TX_flag = 0 (the first bit is 0 and second bit is 0)
TX_flag
2 bits
0 bit
Note The bit length of the CelpBaseFrame differs depending upon the bit rate and can be calculated by the
following expression (refer to 2.5 Relationship Between Bit Rate and Number of Samples):
• For Narrow Band
Compressed bit rate (X) × Number of samples per frame (L) ÷ 8000
• For Wide Band
Compressed bit rate (X) × Number of samples per frame (L) ÷ 16000
The bit length can be obtained by the return value “mpc_E_ANA_BITS:x” of the mpc_InitEnc function
or the return value “mpc_D_ANA_BITS:x” of the mpc_InitDec function.
User’s Manual U14497EJ2V0UM
27
CHAPTER 2 LIBRARY SPECIFICATIONS
2.5 Relationship Between Bit Rate and Number of Samples
The relationship between the number of samples and the 28 types of compression bit rates for the narrow band (8
kHz sampling) and 30 types of compression bit rates for the wide band (16 kHz sampling) is shown in the tables
below.
Table 2-1. Relationship Between Narrow Band Bit Rate and Number of Samples
No.
28
Compression
Bit Rate (bps): X
Number of Samples
per Frame: L
0
3850
320
1
4250
320
2
4650
320
3
4900
240
4
5200
240
5
5500
240
6
5700
160
7
6000
160
8
6300
160
9
6600
160
10
6900
160
11
7100
160
12
7300
160
13
7700
160
14
8300
160
15
8700
160
16
9100
160
17
9500
160
18
9900
160
19
10300
160
20
10500
160
21
10700
160
22
11000
80
23
11400
80
24
11800
80
25
12000
80
26
12200
80
27
6200
240
User’s Manual U14497EJ2V0UM
CHAPTER 2 LIBRARY SPECIFICATIONS
Table 2-2. Relationship Between Wide Band Bit Rate and Number of Samples
No.
Compression
Bit Rate (bps): X
Number of Samples
per Frame: L
0
10900
320
1
11500
320
2
12100
320
3
12700
320
4
13300
320
5
13900
320
6
14300
320
7
Reserve
—
8
14700
320
9
15900
320
10
17100
320
11
17900
320
12
18700
320
13
19500
320
14
20300
320
15
21100
320
16
13600
160
17
14200
160
18
14800
160
19
15400
160
20
16000
160
21
16600
160
22
17000
160
23
Reserve
—
24
17400
160
25
18600
160
26
19800
160
27
20600
160
28
21400
160
29
22200
160
30
23000
160
31
23800
160
User’s Manual U14497EJ2V0UM
29
CHAPTER 3 INSTALLATION
3.1 Installation Procedure
The MPEG-4 CELP speech codec middleware is supplied on a 3.5-inch floppy disk (1.44 MB). The procedure for
installing the µSAP77016-B05 in the host machine is outlined below.
(1) Set the floppy disk in the floppy disk drive and copy the files to the directory where tools from ATAIR are used
(e.g. C:\DSPTools). The following is an example of when files are copied from the A drive to the C drive.
A:\>xcopy /s *.* c:\DSPTools <CR>
(2) Confirm that the files have been copied. Refer to 1.3.4 Directory structure for details on the directories.
A:\>dir c:\DSPTools <CR>
3.2 Sample Creation Procedure
The sample program is stored in the sample directory of the supplied medium. With the sample program, it is
possible to simulate the external I/O of speech and compressed data by using a timing file to be described later (in
CHAPTER 4 SYSTEM EXAMPLE) on the SM77016 ATAIR simulator.
The following is an explanation of how to build the MPEG-4 CELP speech codec middleware sample program.
(1)
Start up the WB77016 (workbench).
(2)
Open the sample.prj project.
Example
Specify sample.prj from Open Project on the Project menu.
(3)
Execute Build and confirm that sample.lnk has been created.
Example
The sample.lnk file is generated by selecting Build All from the Make menu.
(4)
Start up the SM77016 (simulator)
(5)
Open sample.lnk
Example
(6)
Specify sample.lnk by clicking Open on the File menu.
Open the timing file sample.tmg.
Example
Specify sample.tmg by clicking Open on the File menu.
3.3 Symbol Naming Regulations
The section names used in this library are shown below.
Classification
30
Regulation
Function name, variable name
mpc_xxxx
Macro, constant name
MPC_XXXX
Section name
__MPC_XXXX (Two underscores at the start)
User’s Manual U14497EJ2V0UM
CHAPTER 4 SYSTEM EXAMPLE
4.1 Simulation Environment in Which Timing File Used
An example in which the speech codec compression/decompression processing simulator and a timing file are
used is shown below. Speech data is input, and then output frame by frame after each frame has undergone
compression/decompression processing.
Software environment:
• High-speed simulator:
HSM77016
• Sample program: sample.lnk (created in 3.2 Sample Creation Procedure)
• Timing file:
sample.tmg
4.2 Operation
(1)
(2)
Start up the HSM77016 (high-speed simulator)
Open sample.lnk, which was created in 3.2 Sample Creation Procedure.
Example
(3)
Open the timing file sample.tmg.
Example
(4)
Specify sample.lnk by clicking Open on the File menu.
Specify sample.tmg by clicking Open on the File menu.
Make the wait settings.
Example
Set waits in the DWTR/IWTR registers in the setting windows opened by clicking Periphery
Register on the Window menu.
(5)
Execute with Run.
The timing file sample.tmg is described below.
The high-speed simulator (HSM77016) provides a function for simulating external I/O using a timing file.
(a) Data file input (16-bit data)
Data is input from a file via the host interface. An example of the description format is shown below.
• Preparation
open input “input.dat”
input format hex
; Input file specification (encode data)
; Input file format specification
• Input processing (16-bit data)
wait cond pin hwe == 0
wait cond pin hcs == 1
; Waiting until the host can write to HDT(in).
; Waiting until the chip select signal becomes inactive.
set pin hcs = 0
; (A)
set port ha = 0
set pin hwr = 0
; Input starts when the chip select signal becomes active.
; The lower 8 bits of the HDT register are selected.
; The host write strobe is activated.
input data
set port hd = data&0xFF
wait 100ns
; Data values are input from the data file and are assigned as “data”.
; The 8-bit “data” is input from the HD port.
; Waiting until the data is transferred.
User’s Manual U14497EJ2V0UM
31
CHAPTER 4 SYSTEM EXAMPLE
set pin hwr = 1
wait 5ns
; (B)
; Input ends when hwr becomes inactive.
; delay
;The processing from (A) to (B) is repeated for higher 8 bits.
set port ha = 1
; The higher 8 bits of the HDT register are selected.
wait 5ns
; delay
set pin hwr = 0
; start output
set port hd = (data>>8)&0xFF
; input high byte to host port
wait 100ns
; access duration
set pin hwr = 1
; end input
set pin hcs = 1
; Input ends when the chip select signal becomes inactive.
• Termination
close input
; The data file is closed.
(b) Data file output (16-bit data)
• Preparation
open output “out.dat”
output format HIDEBASE unsigned hex
; Output file specification (encode data)
; Output file format specification
• Output processing (16-bit data)
wait cond pin hre == 0
wait cond pin hcs == 1
; Waiting until the host can read from HDT(out).
; Waiting until the chip select signal becomes inactive.
set pin hcs = 0
; (A)
set port ha = 0
set pin hrd = 0
; Output starts when the chip select signal becomes active.
wait 50ns
set lowbyte = port hd&0xff
set pin hrd = 1
wait 5ns
; (B)
; The lower 8 bits of the HDT register are selected.
; The host read strobe is activated.
; access duration
; 8 bits are read out from the HD port and are assigned as “lowbyte”.
; Output ends when hrd becomes inactive.
; delay
;The processing from (A) to (B) is repeated for higher 8 bits.
set port ha = 1
; The higher 8 bits of the HDT register are selected.
wait 5ns
; delay
set pin hrd = 0
; start output
wait 50ns
; access duration
output ((port hd&0xFF)<<8)|lowbyte; output word data to file
set pin hrd = 1
; end output
set pin hcs = 1
32
; Output ends when the chip select signal becomes inactive.
User’s Manual U14497EJ2V0UM
CHAPTER 4 SYSTEM EXAMPLE
• Termination
close input
; The data file is closed.
User’s Manual U14497EJ2V0UM
33
APPENDIX SAMPLE PROGRAM SOURCE
/*----------------------------------------------------------------------*/
/* File Information
*/
/*----------------------------------------------------------------------*/
/* Name
: sample.asm for Timing File
*/
/* Type
: SPX Assembler Code
/* Version : 2.00a
*/
/* Date
: 2000.06.21
/* CPU
: uPD7701x
*/
/* Compiler: Atair uPD77016 Workbench
*/
/* About
: encoder function module
*/
/*----------------------------------------------------------------------*/
/* Copyright (C) NEC Corporation 1998,1999
*/
/* NEC CONFIDENTIAL AND PROPRIETARY
*/
/* All rights reserved by NEC Corporation.
*/
/* Use of copyright notice does not evidence publication
*/
/*----------------------------------------------------------------------*/
#include "mpc_enc.h"
#include "mpc_dec.h"
#define STACK_SIZE_E
#define STACK_SIZE_D
0x1500
0x700
#define HST 0x3807
#define HDT 0x3806
#define HDO 0x3806
#define START_ADDRESS
#define VECTR_ADDRESS
#define BEGIN_ADDRESS
0x200
0x210
0x240
#define
#define
#define
#define
#define
1
6
320
1
1
WB_FLAG
RATE_NUMBER
FRAME_SIZE
POSTFILTER_FLAG
VERSION
/*
/*
/*
/*
/*
0:NB / 1:WB */
bit rate number */
PCM frame size */
PostFilter 0:off/1:on */
Bitstream version */
%DEFINE(_read_host(reg))
(
r0l=*HST:x;
r0=r0 & 0x1;
if(r0 != 0) jmp $-2;
r@reg = *HDT:x;
)
%DEFINE(_write_host(reg))
(
r0l=*HST:x;
r0=r0 & 0x2;
if(r0 != 0) jmp $-2;
*HDT:x=r@reg;
)
%DEFINE(_VECTOR_DEF)
34
User’s Manual U14497EJ2V0UM
*/
*/
APPENDIX SAMPLE PROGRAM SOURCE
(
nop;
reti;
nop;
nop;
)
/*----------------------------------------------------------------------*/
USER_DATA XRAMSEG
InputData:
ds 320;
CodeData:
ds 30;
OutputData:
ds 320;
USER_FREE_X xramseg
_USER_Free_X_Area_D:
ds STACK_SIZE_D;
_USER_Free_X_Area_E:
ds STACK_SIZE_E;
USER_FREE_Y yramseg
_USER_Free_Y_Area_D:
ds STACK_SIZE_D;
_USER_Free_Y_Area_E:
ds STACK_SIZE_E;
/*----------------------------------------------------------------------*/
/* Function Name : main
/*----------------------------------------------------------------------*/
/* others: r_
[*, , , , , , ,*]
dmx,dmy [ , ]
*/
/*
dp_
[*, , , , , , , ]
loops/stacks
[1/0]
*/
/*
dn_
[ , , , , , , , ]
cycles
???
/*----------------------------------------------------------------------*/
Startup imseg at START_ADDRESS
jmp _main;
Vector imseg at VECTR_ADDRESS
;0x210 INT1
%_VECTOR_DEF;
;0x214 INT2
%_VECTOR_DEF;
;0x218 INT3
%_VECTOR_DEF;
;0x21c INT4
%_VECTOR_DEF;
;0x220 Serial Input 1
%_VECTOR_DEF;
;0x224 Serial Output 1
%_VECTOR_DEF;
;0x228 Serial Input 2
%_VECTOR_DEF;
User’s Manual U14497EJ2V0UM
*/
*/
35
APPENDIX SAMPLE PROGRAM SOURCE
;0x22c Serial Output 2
%_VECTOR_DEF;
;0x230 Host Input
%_VECTOR_DEF;
;0x234 Host Output
%_VECTOR_DEF;
main imseg at BEGIN_ADDRESS
_main:
clr(r0);
call
_Init_Int;
/* Initialize interrupt */
/* ------------- */
/* clear memory */
/* ------------- */
clr(r0);
clr(r1);
clr(r2);
r0l=_USER_Free_X_Area_E;
r1l=_USER_Free_Y_Area_E;
r2l=STACK_SIZE_E;
call
_Zero_Mem;
clr(r0);
clr(r1);
clr(r2);
r0l=_USER_Free_X_Area_D;
r1l=_USER_Free_Y_Area_D;
r2l=STACK_SIZE_D;
call
_Zero_Mem;
/* -------------------- */
/* -------------------- */
/* -------------------- */
/* Setting for Encoder */
/* -------------------- */
r7l = CodeData;
*mpc_E_ANA_BUFF_SADR:x = r7l;
r7l = RATE_NUMBER;
*mpc_E_RATE_NUM:x = r7l;
r7l=WB_FLAG;
*mpc_E_WB:x=r7l;
clr(r6);
clr(r5);
r6l=_USER_Free_X_Area_E;
r5l=_USER_Free_Y_Area_E;
call
mpc_InitEnc;
/* For Encoder Function */
/* -------------------- */
/* Setting for Decoder */
/* -------------------- */
r7l= CodeData;
*mpc_D_ANA_BUFF_SADR:x = r7l;
r7l = POSTFILTER_FLAG;
*mpc_D_PF_FLAG:x=r7l;
r7l = VERSION;
36
User’s Manual U14497EJ2V0UM
APPENDIX SAMPLE PROGRAM SOURCE
*mpc_D_VER:x=r7l;
clr(r6);
clr(r5);
r6l=_USER_Free_X_Area_D;
r5l=_USER_Free_Y_Area_D;
call
mpc_InitDec;
/* -------------------- */
/* Begin Main Loop
*/
/* -------------------- */
_main_loop:
/* -------------------- */
/* Read Input Data
*/
/* -------------------- */
r0l=InputData;
call
_Read_Code_Data;
/* -------------------- */
/* Encode one Frame
*/
/* -------------------- */
r7l = InputData;
*mpc_E_PCM_BUFF_SADR:x = r7l;
call
mpc_Enc;
/* -------------------- */
/* Decode one Frame
*/
/* -------------------- */
r7l = OutputData;
*mpc_D_PCM_BUFF_SADR:x = r7l;
clr(r0);
*mpc_D_ERR_FLAG:x = r0l;
call
mpc_Dec;
/* -------------------- */
/* Write Output Data
*/
/* -------------------- */
r0l=OutputData;
r1l=*mpc_D_PCM_NUM:x;
call
_Write_Code_Data;
jmp _main_loop;
/*----------------------------------------------------------------------*/
/* Function Name : _Init_Int
*/
/* disable internal interrupt HO,HI
*/
/*----------------------------------------------------------------------*/
/* others: r_
[*, , , , , , , ]
dmx,dmy [ , ]
*/
/*
dp_
[ , , , , , , , ]
loops/stacks
[0/0]
*/
/*
dn_
[ , , , , , , , ]
cycles
???
/*----------------------------------------------------------------------*/
_Init_Int:
r0l=sr;
r0=r0 | 0x0300;
sr=r0l;
r0l=0x0001;
*HST:x=r0l;
User’s Manual U14497EJ2V0UM
*/
37
APPENDIX SAMPLE PROGRAM SOURCE
ret;
/*----------------------------------------------------------------------*/
/* Function Name : _Write_Code_Data
*/
/* [argv]
*/
/*
r0l:Write Data Ponter : Xmem
*/
/*
r1l:Number of Write Data
/*----------------------------------------------------------------------*/
/* others: r_
[*,*, , , , , ,*]
dmx,dmy [ , ]
*/
/*
dp_
[*, , , , , , , ]
loops/stacks
[1/0]
*/
/*
dn_
[ , , , , , , , ]
cycles
???
/*----------------------------------------------------------------------*/
_Write_Code_Data:
dp0=r0l;
if(r1 == 0) jmp _end_Write_Code_Data;
r7l=*dp0++;
loop r1l{
%_write_host(7l);
r7l=*dp0++;
nop;
};
_end_Write_Code_Data:
r0l=*HST:x;
r0=r0 & 0x2;
if(r0 != 0) jmp $-2;
ret;
/*----------------------------------------------------------------------*/
/* Function Name : _Read_Code_Data
*/
/* [argv]
*/
/*
r0l:Read Data Ponter : Xmem
*/
/* [ret]
*/
/*----------------------------------------------------------------------*/
/* others: r_
[*, , , , , , , ]
dmx,dmy [ , ]
*/
/*
dp_
[*, , , , , , , ]
loops/stacks
[1/0]
*/
/*
dn_
[ , , , , , , , ]
cycles
???
/*----------------------------------------------------------------------*/
_Read_Code_Data:
dp0=r0l;
r0l=FRAME_SIZE;
loop r0l{
%_read_host(0);
*dp0++=r0h;
nop;
};
ret;
/*----------------------------------------------------------------------*/
/* Function Name : _Zero_Mem
*/
/* clear memory
/* [argv]
*/
/*
r0l:Start Address : Xmem
/*
r1l:Start Address : Ymem
/*
r2l:Size
/* [ret]
*/
/*
r0:0 :Error !=0:OK
*/
38
User’s Manual U14497EJ2V0UM
*/
*/
*/
*/
*/
*/
*/
APPENDIX SAMPLE PROGRAM SOURCE
/*----------------------------------------------------------------------*/
/* others: r_
[*,*, , , , , , ]
dmx,dmy [ , ]
*/
/*
dp_
[*, , , ,*, , , ]
loops/stacks
[1/0]
*/
/*
dn_
[ , , , , , , , ]
cycles
???
/*----------------------------------------------------------------------*/
_Zero_Mem:
dp0=r0l;
dp4=r1l;
clr(r1);
clr(r0);
rep r2l;
*dp0++=r0l *dp4++=r1l;
ret;
*/
END
User’s Manual U14497EJ2V0UM
39
Facsimile Message
From:
Name
Company
Tel.
Although NEC has taken all possible steps
to ensure that the documentation supplied
to our customers is complete, bug free
and up-to-date, we readily accept that
errors may occur. Despite all the care and
precautions we've taken, you may
encounter problems in the documentation.
Please complete this form whenever
you'd like to report errors or suggest
improvements to us.
FAX
Address
Thank you for your kind support.
North America
Hong Kong, Philippines, Oceania
NEC Electronics Inc.
NEC Electronics Hong Kong Ltd.
Corporate Communications Dept. Fax: +852-2886-9022/9044
Fax: 1-800-729-9288
1-408-588-6130
Korea
Europe
NEC Electronics Hong Kong Ltd.
NEC Electronics (Europe) GmbH
Seoul Branch
Technical Documentation Dept.
Fax: 02-528-4411
Fax: +49-211-6503-274
South America
NEC do Brasil S.A.
Fax: +55-11-6462-6829
Asian Nations except Philippines
NEC Electronics Singapore Pte. Ltd.
Fax: +65-250-3583
Japan
NEC Semiconductor Technical Hotline
Fax: 044-435-9608
Taiwan
NEC Electronics Taiwan Ltd.
Fax: 02-2719-5951
I would like to report the following error/make the following suggestion:
Document title:
Document number:
Page number:
If possible, please fax the referenced page or drawing.
Document Rating
Excellent
Good
Acceptable
Poor
Clarity
Technical Accuracy
Organization
CS 00.6