**Special Arithmetic Functions**

**L2340**

**Digital Synthesizer**

50 MHz

u

Modulation.

**FEATURES**

**DESCRIPTION**

**L2340**

**Digital Synthesizer**

**L2340 B**

**LOCK**

**D**

**IAGRAM**

**L2340**is a digital synthesizer that

performs waveform synthesis, modu-

lation, and demodulation.

quadrature matched pairs of 16-bit

sine and cosine waves in DAC-

compatible 16-bit offset binary format

with15-bit amplitude and 32-bit phase

inputs.

frequency modulated. Digital output

frequencies are restricted to the

Nyquist limit.

**Functional Description**

Magnitude) data into Rectangular

(Cartesian) coordinates. The user

transformed result is seen at the

output after 22 clock cycles and will

continue upon every clock cycle

thereafter.

are input into the L2340 to produce an

output of 16-bit rectangular data. The

user may select the data format to

either 16-bit offset binary or 15-bit

unsigned magnitude format. High

accuracy phase increment values with

minimal accumulation error is accom-

plished by use of a 32-bit phase

accumulator.

supports frequency or phase modula-

tion and is selected by ENP

**L2340**

**Digital Synthesizer**

**Special Arithmetic Functions**

**T**

**ABLE**

**2. A**

**CCUMULATOR**

**C**

**ONTROL**

**SIGNAL DEFINITIONS**

**Power**

*Vcc and GND*

connected.

**Clock**

*CLK -- Master Clock*

enabled registers.

**Inputs**

*AM*

*14-0*

*-- Amplitude Modulation Data*

*Input*

*PH*

*31-0*

*-- Phase Angle Data Input*

are loaded through this port into

registers enabled by ENP

**Outputs**

*I*

*15-0*

*-- x-coordinate Data Output*

HIGH, I

*Q*

*15-0*

*-- y-coordinate Data Output*

HIGH, Q

**Controls**

*ENA -- Amplitude Modulation Data*

*Input Enable*

into the input register on the rising

edge of clock. When ENA is LOW, the

value stored in the register is un-

changed.

*ENP*

*1-0*

*-- Phase Modulation Data Input*

*Control*

one of the four modes shown in Table

1. `M' is the Modulation Register and

`C' is the Carrier Register as shown in

the Functional Block Diagram.

**T**

**ABLE**

**1. R**

**EGISTER**

**O**

**PERATION**

**L2340 F**

**UNCTIONAL**

**B**

**LOCK**

**D**

**IAGRAM**

PROCESSOR

**Special Arithmetic Functions**

**L2340**

**Digital Synthesizer**

**F**

**IGURE**

**1**

**A**

**.**

**I**

**NPUT**

**F**

**ORMATS**

**AM**

**PH**

**Fract. Unsigned Mag./Two's Comp.**

**Integer Unsigned Magnitude**

**(RTP = 0)**

*FM, PM -- Frequency Modulation,*

*Phase Modulation Control*

Modulation/Phase Modulation

Control that determines one of the

four modes shown in Table 2. When

full-scale is exceeded, the accumulator

will roll over correctly allowing

continuous phase accumulation

through 2

*OBIQ -- Data Input/Output Format*

*Select*

format is selected. When OBIQ is

LOW, unsigned format is selected.

*OEI -- x-coordinate Data Output*

*Enable*

**F**

**IGURE**

**1**

**B**

**.**

**O**

**UTPUT**

**F**

**ORMATS**

**Integer Unsigned Magnitude (OBIQ = 0)**

**Offset Binary (OBIQ = 1)**

**I**

**Q**

*OEQ -- y-coordinate Data Output*

*Enable*

Q

**L2340**

**Digital Synthesizer**

**Special Arithmetic Functions**

**X**

**Y**

**X**

**Y**

**Circle Test**

transformation, inaccuracies are

introduced by a combination of

quantization and approximation

errors. The accuracy of a coordinate

transformer is dependent on the

word length used for the input

variables, the word length used for

internal calculations, as well as the

number of iterations or steps per-

formed. Truncation errors are due

to the finite word length and ap-

proximation errors are due to the

finite number of iterations. For

example, in the case of performing a

polar-to-rectangular transformation,

the accuracy of the rotation will be

determined by how closely the input

rotation angle was approximated by

the summation of sub-rotation

angles.

accurately a coordinate transformer

with a 16-bit internal processor

versus a 24-bit internal processor

can calculate all the coordinates of a

circle. By setting the radius to

7FFFH,

0000 4000H until all the points of a

full circle are calculated into rectan-

gular coordinates.

nates were plotted and graphed. A

graphical representation of the

resulting vectors for both 16-bit and

24-bit internal processors are com-

pared at 45°. Theoretically, a

perfect circle is the desired output

but when the resulting vectors from

a coordinate transformer with 16-bit

internal processor are graphed and

displayed as shown in Figure 2, we

see significant errors due to the

inherent properties of a digital

synthesizer. In comparison, the 24-

bit internal processor proves to be

significantly more accurate than a

16-bit internal processor due to

minimization of truncation errors.

In many applications, this margin of

**F**

**IGURE**

**2.**

**C**

**IRCLE**

**T**

**EST**

**R**

**ESULT**

**N**

**EAR**

**45° (16-B**

**IT**

**I**

**NTERNAL**

**P**

**ROCES**

**-**

**SOR**

**)**

**F**

**IGURE**

**3.**

**C**

**IRCLE**

**T**

**EST**

**R**

**ESULT**

**N**

**EAR**

**45° (24-B**

**IT**

**I**

**NTERNAL**

**P**

**ROCES**

**-**

**SOR**

**)**

performing waveform sythesis,

modulation, and demodulation.

3 are shown in Table 3. By looking

at these values, we observe the step

resolution on a 16-bit internal

processor is not 1 unit in the x and

y. In most cases, the minimum step

resolution is 2 units in the x and y.

On the other hand, step resolution

on a 24-bit internal processor is 1

unit in the x and y thus resulting in

greater accuracy.

resolution that could be produced is

0.00175° when x = 7FFFH and y = 1H.

A 16-bit internal processor can

produce a minimum angle resolu-

tion of only 0.00549° and will not be

able to properly calculate the

theoretical minimum angle resolu-

tion. On the other hand, a 24-bit

internal processor can produce a

minimum angle resolution of

0.00002° and could therefore prop-

erly calculate the theoretical mini-

mum angle resolution.

**Special Arithmetic Functions**

**L2340**

**Digital Synthesizer**

**16-bit Internal Processor**

**24-bit Internal Processor**

**x**

**x (HEX)**

**y**

**y (HEX)**

**x**

**x (HEX)**

**y**

**y (HEX)**

**T**

**ABLE**

**3.**

**R**

**ESULTANT**

**D**

**ATA**

**V**

**ALUES**

**O**

**F**

**C**

**IRCLE**

**T**

**EST**

**N**

**EAR**

**45°**