**Special Arithmetic Functions**

**L2330**

**Coordinate Transformer**

Rectangular at 50 MHz

FM Modulation

u

u

**FEATURES**

**DESCRIPTION**

**L2330**

**Coordinate Transformer**

**L2330 B**

**LOCK**

**D**

**IAGRAM**

**L2330**is a coordinate transformer

that converts bidirectionally between

Rectangular and Polar coordinates.

the L2330 is able to retrieve phase and

magnitude information or backward

map from a rectangular raster display

to a radial data set.

the L2330 is able to execute direct

digital waveform synthesis and

modulation. Real-time image-space

conversions are achieved from radi-

ally-generated images, such as RADAR,

SONAR, and ultrasound to raster

display formats.

**Functional Description**

between Rectangular (Cartesian) and

Polar (Phase and Magnitude) coordi-

nates. The user selects the numeric

format. A valid transformed result is

and will continue upon every clock

cycle thereafter.

the user inputs a 16-bit Rectangular

coordinate and the output generates a

Polar transformation with 16-bit

magnitude and 16-bit phase. The user

may select the data format to be either

two's complement or sign-and-

magnitude Cartesian data format.

Polar Magnitude data is always in

magnitude format only. Polar Phase

Angle data is modulo 2

complement format.

the user inputs 16-bit Polar Magnitude

and 32-bit Phase data and the output

generates a 16-bit Rectangular coordi-

nate. The use may select the data

format to be either two's complement

or sign-and-magnitude Cartesian data

format.

**L2330**

**Coordinate Transformer**

**Special Arithmetic Functions**

**T**

**ABLE**

**2. A**

**CCUMULATOR**

**C**

**ONTROL**

**SIGNAL DEFINITIONS**

**Power**

*V*

*CC*

*and GND*

connected.

**Clock**

*CLK -- Master Clock*

enabled registers.

**Inputs**

*XRIN*

*15-0*

*-- x-coordinate/Magnitude*

*Data Input*

input port. XRIN

*YPIN*

*31-0*

*-- y-coordinate/Phase Angle*

*Data Input*

input port. When RTP is HIGH, the input

accumulators should not be used. When

ACC is LOW, the upper 16 bits of YPIN

are the input port and the lower 16 bits

become "don't cares". YPIN

**Outputs**

*RXOUT*

*15-0*

*-- x-coordinate/Magnitude*

*Data Output*

output port. When OERX is HIGH,

RXOUT

*PYOUT*

*15-0*

*-- y-coordinate/Phase Angle*

*Data Output*

output port. When OEPY is HIGH,

PYOUT

**Controls**

*ENXR -- x-coordinate/Magnitude Data*

*Input Enable*

into the input register on the rising

edge of clock. When ENXR is LOW,

the value stored in the register is

unchanged.

*ENYP*

*1-0*

*-- y-coordinate/Phase Angle*

*Data Input Control*

determines four modes as shown in

**T**

**ABLE**

**1. R**

**EGISTER**

**O**

**PERATION**

**L2330 F**

**UNCTIONAL**

**B**

**LOCK**

**D**

**IAGRAM**

PROCESSOR

**Special Arithmetic Functions**

**L2330**

**Coordinate Transformer**

**F**

**IGURE**

**1**

**A**

**.**

**I**

**NPUT**

**F**

**ORMATS**

**Integer Signed Magnitude (RTP = 1, TCXY = 0)**

**Integer Two's Complement (RTP = 1, TCXY = 1)**

**XRIN**

**YPIN**

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

**Fractional Signed Magnitude (RTP = 1, TCXY = 0)**

**Fractional Two's Complement (RTP = 1, TCXY = 1)**

**Fractional Unsigned Magnitude**

**(RTP = 0)**

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

**Integer Unsigned Magnitude**

**(RTP = 0)**

Register and `C' is the Carrier Register

as shown in the Functional Block

Diagram.

*RTP -- Rectangular-to-Polar*

Polar conversion mode is selected.

When RTP is LOW, Polar-to-Rectan-

gular conversion mode is selected.

*ACC*

*1-0*

*-- Accumulator Control*

shown in Table 2. Changing of the

internal phase Accumulator structure

is very useful when RTP is LOW

allowing for waveform synthesis and

modulation. ACC

from Cartesian to Polar coordinates.

*TCXY -- Data Input/Output Format*

*Select*

ment format is selected. When TCXY

is LOW, sign-and-magnitude format is

selected.

**L2330**

**Coordinate Transformer**

**Special Arithmetic Functions**

**F**

**IGURE**

**1**

**B**

**.**

**O**

**UTPUT**

**F**

**ORMATS**

**Integer Signed Magnitude (RTP = 0, TCXY = 0)**

**Integer Two's Complement (RTP = 0, TCXY = 1)**

**RXOUT**

**PYOUT**

**Fractional Signed Magnitude (RTP = 0, TCXY = 0)**

**Fractional Two's Complement (RTP = 0, TCXY = 1)**

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

**Integer Unsigned Magnitude**

**(RTP = 1)**

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

**Fractional Unsigned Magnitude**

**(RTP = 1)**

*OVF -- Overflow Flag*

magnitude of either of the current

Cartesian coordinate outputs exceed

the maximum range. OVF will return

LOW on the clock that the Cartesian

output value(s) return within range.

An overflow condition can only occur

when RTP is LOW.

*OERX -- x-coordinate/Magnitude Data*

*Output Enable*

HIGH, RXOUT

*OEPY -- y-coordinate/Phase Angle Data*

*Output Enable*

HIGH, PYOUT

**Special Arithmetic Functions**

**L2330**

**Coordinate Transformer**

**Conversion Ranges**

radii and 16-bit signed Cartesian

coordinates. Since the 16-bit rectangular

coordinate space does not completely

cover the polar space defined by 16-bit

radii, certain values of "r" will not map

correctly. This condition is indicated by

the overflow (OVF) flag.

overflow occurs for r

46341 (B505H). Note that in signed

magnitude mode r = 46340 (B504H)

will also cause an overflow. For 32767

these three regions: A = no overflow

(correct conversion), B = possible

overflow, C = overflow. The other

quadrants are mapped in a similar

manner.

overflows on the other three quadrants

are the same as in the first. This occurs

because the signed magnitude number

system is symmetric about zero. For

example, if a given r and angle

overflow for the angles -

mode, the overflows aren't quite the

same. This occurs because the two's

**F**

**IGURE**

**2.**

**C**

**ONVERSION**

**R**

**ANGES**

symmetric about zero. For example, if

the X or Y component of the input is

32768 (8000H), no overflow occurs.

But if the X or Y component of the

input is +32768, overflow does occur.

Polar, if both inputs are zero the radius

is zero but the angle is not defined.

The L2330 will output 4707H in this

case. Since the angle is not defined for a

zero length vector, this is not an error.