Language selection

Search

Patent 2072662 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 2072662
(54) English Title: SINGLE INSTRUCTION DATA TRANSFER METHOD AND APPARATUS
(54) French Title: METHODE ET APPAREIL DE TRANSFERT DE DONNEES MONO-INSTRUCTION
Status: Deemed Abandoned and Beyond the Period of Reinstatement - Pending Response to Notice of Disregarded Communication
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06F 13/38 (2006.01)
  • H04B 1/16 (2006.01)
  • H04L 27/34 (2006.01)
(72) Inventors :
  • RUPP, CRAIG E. (United States of America)
(73) Owners :
  • MOTOROLA, INC.
(71) Applicants :
  • MOTOROLA, INC. (United States of America)
(74) Agent: GOWLING WLG (CANADA) LLP
(74) Associate agent:
(45) Issued:
(86) PCT Filing Date: 1991-08-19
(87) Open to Public Inspection: 1992-04-02
Examination requested: 1992-04-30
Availability of licence: N/A
Dedicated to the Public: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/US1991/005877
(87) International Publication Number: WO 1992006566
(85) National Entry: 1992-04-30

(30) Application Priority Data:
Application No. Country/Territory Date
590,986 (United States of America) 1990-10-01

Abstracts

English Abstract


A Single Instruction Data Transfer Apparatus
Abstract of the Disclosure
A single instruction data transfer apparatus (103) which
responds to a read instruction from a processor (301) is
disclosed. The apparatus transfers data from a peripheral
device (213, 215) to a memory device (303). Upon selection of the
peripheral device (213, 215), the apparatus (103) couples the
peripheral device (213, 215) to the memory device (303) via the
data bus (113). Following the coupling, the apparatus (103)
creates a memory (303) write signal which causes a write
function to be enabled and de-asserts read signal which causes
the read function to be disabled.


Claims

Note: Claims are shown in the official language in which they were submitted.


Claims
1. A single instruction data transfer apparatus, responding
to a single triggering event from a governing device,
transferring data from an output device to an input device,
comprising:
means, responsive to the single triggering event, for
generating at least one control signal which selects the input
device and the output device;
means for coupling the output device data to the input
device when the output device is selected; and
means, responsive to the single triggering event, for
creating at least one control signal coupled to the input device
which causes a write function to be enabled.

2. A single instruction data transfer apparatus in
accordance with claim 1 wherein the input device further
comprises an input/output device.
3. A single instruction data transfer apparatus in
accordance with claim 2 wherein said at least one control
signal coupled to the input device further comprises means for
disabling a read function.

11
4. A digital radio telephone system employing a digital
receiver which provides signal output corresponding to received
radio signals and transferring data from an output device to an
input device in response to a single triggering event,
comprising:
means for converting the signal output to digital data;
means, responsive to the single triggering event, for
generating at least one signal which selects the input device
and the output device;
means for coupling the output device data to the input
device when the output device is selected; and
means, responsive to the single triggering event, for
creating at least one control signal coupled to the input device
which causes a write function to be enabled.

12
5. A single instruction data transfer apparatus in
accordance with claim 13 wherein the input device further
comprises an input/output device.
6. A single instruction data transfer apparatus in
accordance with claim 14 wherein the at least one control
signal coupled to the input device further comprises means for
disabling a read function.

13
7. A single instruction data transfer apparatus, responding
to a read instruction from a digital signal processor (DSP),
transferring data from at least two peripheral devices to an
external memory of the DSP, comprising:
means, responsive to the single triggering event, for
choosing a first peripheral device from the at least two
peripheral devices;
means, responsive to the single triggering event, for
generating an output enable signal coupled to said first
peripheral device;
means, responsive to the single triggering event, for
generating an address corresponding to a location in the
external memory of the DSP;
means for coupling said first peripheral device to the
external memory of the DSP when said first peripheral device is
selected; and
means, responsive to the single triggering event, for
creating a read disable and a write enable signal coupled to
the external memory of the DSP.

14
8. A single instruction data transfer apparatus in
accordance with claim 16 wherein the peripheral device further
comprises an ADC employing tri-state buffers on digital
outputs.
9. A single instruction data transfer apparatus in
accordance with claim 17 wherein said means for coupling
further comprises a data bus between said tri-state buffers and
the external memory of the DSP.

10. A method of responding to a single triggering event
from a governing device to transfer data from an output device
to an input device, comprising:
generating at least one signal, in response to the single
triggering event, which selects the input device and the output
device;
coupling the output device data to the input device when the
output device is selected; and
creating a control signal, responsive to the single triggering
event, coupled to the input device which causes a write function
to be enabled.

16
11. A method of responding to a single triggering event in
accordance with claim 19 further comprising the step of
disabling a read function.

Description

Note: Descriptions are shown in the official language in which they were submitted.


2~72~2
A Single Instruction Data Transfer Method and
Apparatus
1 0 Field of the Invention
.
` This invention relates generally to data transfer processing
and more specifically to receiving data from a peripheral device
into the external memory of a processor.
1 5
Background of the Invention
Traditional techniques used for data transfers typically
employ either the continuous use of the processor unit for the
2 0 length of the transfer or an external dedicated controller
assigned to the tran~fer. Such routines are generally known
and widely used throughout the computer design environment.
Programmed routines which use the proeessor are inexpensive
and size efflcient, however, they are computation inefficient.
2 5 Each transfer cycle takes a minimum of two instruction cycles
and the processor is unable to make any other computations
during the entire length of the data transfer. An example of
using a programmed transfer to solve the problem of
transferring data from a peripheral device to memory can be
3 0 found on page 224 of Microprocessors and Microcomputers,
, . .: : ~ ~ .
. . ,:
. .

2~72~
,
Ha,rdware and Software by Tocci and Laskowski. Dedicated
controllers do not utilize the processor ~or the entire transfer
routine, however, the controllers must obtain control of the data
bus to trans~er data. The process of obtaining control of the data
bus from the processor requires the controller to send a bus
request and receive a bus grant from the processor; this adds an
unknown delay of at least two instruction cycles for each bus
grant. Additionally, the controller will employ the data bus for
all or part of the data transfer, thus limiting the amount of data
1 0 the processor can transfer between itself and the memory. An
example of using a dedicated controller to solve the problem of
data transferal from a peripheral device to memory can be
found in the following application note by Thomas Hardy, A
Transparent DMA using a MC6809E MPU and a MC6844
1 5 DMAC, (1984). The use of traditional techniques leaves the
designer with either the inefficient use of the processor's
computing power or a data bus not always available to the
processor, thus restricting the amount of calculations that can
be performed by the processor within a certain amount of time.
2 0 Although the above examples are well suited to their
applications, a need exists for an inexpensive, small, transfer
process which only uses one processor instruction cycle to load
data from a peripheral device to the external memory of the
processor and relinquish the use of the data bus for the use of
2 5 the processor.
,
. . .
.: ,

2 ~ r~ 2 ~ ~ ~
Summary of the Invention
The present invention encompasse~ a single instruction
data transfer apparatus responding to a single triggering event
5 from a governing device to transfer data from an output device
to an input device. The apparatus, responding to the single
triggering event, generates at least one signal which selects the
input device and the output device. Upon selection of the output
device, the apparatus couples the output device to the input
1 0 device. Following the coupling of the output and input devices,
the apparatus creates at least one signal to the input device
which causes a write function to be enabled.
Brief Description of the Drawings
Figure 1 is a block diagram of a radio frequency data
transmission system.
Figure 2 and 3 are, together, a block diagram of a receiver
which may employ a single instruction data transfer
2 0 apparatus.
Figure 4 is a memory map of the memor;y shown in FIG. 2.
Figurc 5 is a process flowchart of the controller 103 for a
data transfer from teh inphase ADC (209) to the memory (303).
2 5 Desc~ption of a Preferred Embodiment
A radio frequency systern conveying a data signal from a
transmitter 107 to a receiver 101 is shown in FIG. 1. In a
radiotelephone system, the transmitter 107 would be a ~ed site
3 0 transmitter serving a radio coverage area which would be
:
-
- ~

2~72fi~
populated by mobile or portable transceivers, the receiver 101 of
which is shown in FIG. 1. This radio contains a processor 105
which performs calculations on the data received by the radio.
The data which is received by the radio must be transferred to
5 the processor 105 for these calculations to be performed. The
transfer of the in-phase (I) data and the quadrature (Q) data
from the receiver 101 to the processor 105 is handled by the
controller block 103.
FIG. 2 depicts a block diagram of a radio receiver 101. The
10 receiver 101 acquires radio frequency (RF) signals from the
fixed transceiver 107. Upon receipt of the signals, the receiver
101 filters 221 the signals and mixes 219 the RF signals with a
local oscillator (LO) 223. After passing through an additional
filter 217, the result3 are intermediate frequency signals (IF).
1 5 Mixer 201 adds LO to the IF signals and mixer 203 subtracts LO
from the IF signals, this results in base band (BB) signals. The
BB signals is then passed through low pass filters 205, 207 to
form in-phase (I) and Quadrature (Q) signals. The I signals
are a result of directly mixing the LO 225 with the IF frequency
2 0 and the Q signals are a result of phase shif~ing the LO 22~ by 90
degrees and mixing it w~th the IF frequency. The I and Q BB
signals are input into the two Analog to Digital Converters
(ADC) 209, 211 where they are sampled at regular intervals by
the sarnple clock and the results are stored in the buffers 213,
2 5 215. Aflcer sampling, the I and Q data is primed for transfer
into the digital processing environment, where calculations
will be performed on the data. The data in the buf~ers 213, 215
can be accessed by the processor 10S via the data bus 113. If the
processor 105 requests data from the ADCs 209, 211 ~e
3 0 controller module 103 controls the transfer of the data. The data
::`
.
, : .~ . .. . .
.~ . . . .;
- . .
.. .
. . .

2~J~2
is made available on the data bus 113 when the outputs of the
tri-state buffers 213, 215 are enabled.
The digital processing env~ronment of processor 105 is
represented by the block diagram of FIG. 3. It consists of a
5 digital signal processor (DSP, such as the DSP56001 available
from Motorola, Inc. or similar DSP) 301 and a memory 303. The
DSP 301, the memory 303, the controller 103 and the ADC's
buf~ers 213, 21~ are conventionally interconnected by the data
and the address busses 113,111. The address bus 111 is used by
1 0 the proce~sor to point to a specific register location in the
memory 303 or to the ADCs 209, 211. The dedicated control
lines, such as the RD, WR and CS, are used to perform
functions on the specilSc register selected by the address bus
111. The ADC's tri-state buf~ers 213, 215 are arranged as
1 5 registers in th~ DSP's 301 memory maps 401, 403 enabling the
DSP to read from these bu~ers as if they were memory
locations. The available processor memory consists of internal
RAM and external RAM and ROM. The memory i~ addressed
according to the memory maps of FIG.4. The DSP 301 is used by
2 0 the radio to perform the equalization calculations on the data
received by the radio. In the preferred embodiment the
calculations include the following: (1) automatic frequency
control (AFC), (2) correlation, (3) match filter, (4) power
measurements, and (5~ automatic gain control (AGC). The data
2 5 used for the calculations are the sampled data from the .ADC's
buffers 213, 215 located in the receiver 101. The data and the
results of the calculations are stored in the memory 303 and
retrieved from the memory 303 by the combined use of the data
bus 113, the address bus lll and the memory maps 401, 403, 405.
.
, . : ~,, ~ , . .
. ,......................... . ~ ~ .

2~2~
The memory maps utilized by the DSP 301 are described in
FIG. 4. The addressable memory locations of the DSP 301 are
broken into three individual maps; the X data memory 401, the
Y data memory 403 and the program memory 405. All three
5 memory maps have memory located internally to the DSP 301
and externally to the DSP 301. The numbers preceded by a $
along the left side of the memory maps 401, 403, 405 are the
hexadecimal address locations used by the DSP 301 to refer to
specific locations in the memory maps. The X and Y data
1 0 memory 401, 403 and the program memory internal to the DSP
301 are addressed from $0000 to $00FF and in X memory from
$FFC0 to $FFFF. All of the other addressable memory is
external to the DSP 301. The external RAM for the X and Y data
memory banks are addressed between $2000 and $2800. The
1 5 addresses for the buf~ers of the ADCs 213, 215 are between $4000
and $4800. Notice that the I ADC buffer 213 location is in the X
memory bank 203 and the Q ADC buffer 215 location is in the Y
memory bank 205; this allows the DSP 301 to choose between the
I and Q data by toggling the x/y memory select line. The on chip
2 0 peripherals are addressed in the X data mem~ry 401 between
$FFC0 and $FFFF. The results of the calculations performed by
the DSP 301 are stored in the X and Y data memory 401, 403.
The results of the AFC calculations are written to Y: $FFF0,
and the results of the AGC calculations are written to Y:$FFD0
2 5 and Y:$FFE0. The external program ROM is addressed
between $8000 and $E000 in the program memory map 405.
The trans~er of data on the data bus is monitored by the
controller 103. If the DSP 301 requests a read from either of the
ADC buf~ers 213, 215, the controller alters the standard DSP 301
3 0 read routine. The read instruction from the DSP 301 is
:'.
,.

~26~
considered a single triggering event from a governing device.
Referring to FIG. 5, the transfer process from the controller 103
is ~riggered at 501 by a read instruction from the DSP 301. The
first test is carr~ed out at 517 to check if the read command is for
one of the receiver's two ADC buf~ers 213, 215. The controller
103 checks the address bus for an address between $4000 and
$4800 knowing that these are the address locations of the
receiver's ADC buffers 213, 215. If the read is requested for one
of the ADC buffers, bit 14 (A14) on the address bus will be high
1 0 and bit 13 (A13) will be low. If the read is for one of the ADC
bu~ers 213, 215, the controller 103 dec~des which ADC to read
from at 507. Upon determining this, the controller generates the
DSP's x/y memory select line. If the line is asserted high 503,
the D~;P 301 will be addressing memory in the X data bank 401,
1 5 low signifies memory in the Y data bank 403. If it i9 asserted
high, at 505 the controller 103 generates a signal which will
enable the outputs of the in-phase ADC's buffer 213; allowing
the I data onto the data bus 113. If the x/y memory select line is
low, then the controller 103 generates a signal which will
2 0 enable the outputs of the quadrature ADC's b~er 215; allowing
the Q data onto the data bus 113 at ~11. The preceding enable
~` signals select the appropriate output device. Since the DSP's
external memory 303 consists of several 8K ~ 8 bit menlories,
only the 11 least significant bits are necessary to address any
2 5 location within the memories. The higher order bits (A12 - A15)
are used by the controller to select between memory chips or
other peripheral device~ in the memory maps 401, 403, 405.
Since th~ lower bits of the external memory's address and the
ADCs' memory address are identical9 the only change
3 0 necessary to effectively alter the address in the memory map
`:
.
.
.
. . . : ~ ,

2~72~
401, 403, 405 from the ADCs 213? 215 to the external memory 303
is to assert the chip select (CS~ line for the external memory. At
507, the controller 103 generates signals which de-assert the
external memory's read line and assert the e~ternal memory's
5 CS lina, this i9 referred to as an altered read instruction. Next,
the controller 103 asserts the external memory's write line and
the external memory's ( S line at 509, this is referred to as an
altered write instruction. If the original DSP 301 address was
outside of the $4000 - $4800 window at ~03, then a standard DSP
1 0 301 read instruction would have been performed at 513. This
completes the controller's 103 routine at 511. The controller 103
i~ responsible for determining if the requested DSP 301 read is
for one of the ADC's buffers 213, 215, ~electing between the I or
the Q ADC buf~er 213, 215, creating a colTesponding write
15 address and executing the write command.
The preferred embodiment fulfills the radiotelephone'~
requirements of size of the controller, cost of the controller and
use of the processor. The controller 103 is irnplemented in a
16L8 PAL which i9 an inexpensive ~d small programmable
2 0 part. The transfer process requires only one read instruction
from the DSP 301 to carry out the entire transfer from one of the
two ADC'~ buf~ers 213, 215 to the external memory 303 of the
DSP 301. These m et or exceed the requests listed in the
background of the invention.
2 5 What is cl-imed i~:
~ .
,.~
,

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

2024-08-01:As part of the Next Generation Patents (NGP) transition, the Canadian Patents Database (CPD) now contains a more detailed Event History, which replicates the Event Log of our new back-office solution.

Please note that "Inactive:" events refers to events no longer in use in our new back-office solution.

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Event History , Maintenance Fee  and Payment History  should be consulted.

Event History

Description Date
Inactive: IPC expired 2009-01-01
Inactive: IPC from MCD 2006-03-11
Time Limit for Reversal Expired 1997-08-19
Application Not Reinstated by Deadline 1997-08-19
Deemed Abandoned - Failure to Respond to Maintenance Fee Notice 1996-08-19
All Requirements for Examination Determined Compliant 1992-04-30
Request for Examination Requirements Determined Compliant 1992-04-30
Application Published (Open to Public Inspection) 1992-04-02

Abandonment History

Abandonment Date Reason Reinstatement Date
1996-08-19
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
MOTOROLA, INC.
Past Owners on Record
CRAIG E. RUPP
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Abstract 1992-04-02 1 21
Claims 1992-04-02 8 131
Drawings 1992-04-02 3 118
Cover Page 1992-04-02 1 16
Descriptions 1992-04-02 8 327
Representative drawing 1999-08-24 1 19
Fees 1994-06-22 2 210
Fees 1995-06-26 1 109
Fees 1993-06-24 1 110
Courtesy - Office Letter 1993-02-26 1 30
Examiner Requisition 1995-10-31 3 107
International preliminary examination report 1992-04-30 71 2,256