U.S. patent number 4,561,049 [Application Number 06/478,140] was granted by the patent office on 1985-12-24 for control system employing a rotary knob.
This patent grant is currently assigned to Tektronix, Inc.. Invention is credited to Sam M. Deleganes, Steven C. Den Beste.
United States Patent |
4,561,049 |
Deleganes , et al. |
December 24, 1985 |
Control system employing a rotary knob
Abstract
A microprocessor controlled system is provided which is
responsive to displacement information such as rotation rate and
position of a rotary knob for controlling instrument functions such
as display scrolling, the setting and display of measurement
conditions (operating parameters), and the entering and display of
alphanumeric data.
Inventors: |
Deleganes; Sam M. (Aloha,
OR), Den Beste; Steven C. (Beaverton, OR) |
Assignee: |
Tektronix, Inc. (Beaverton,
OR)
|
Family
ID: |
23898698 |
Appl.
No.: |
06/478,140 |
Filed: |
March 23, 1983 |
Current U.S.
Class: |
700/1; 345/184;
345/684; 700/83 |
Current CPC
Class: |
G06F
3/0485 (20130101); G06F 3/0383 (20130101) |
Current International
Class: |
G06F
3/033 (20060101); G05B 009/02 (); G06F
003/14 () |
Field of
Search: |
;364/130,141,188,190
;340/709,710,723,724,725,726,359 ;318/591 |
References Cited
[Referenced By]
U.S. Patent Documents
Foreign Patent Documents
Primary Examiner: Smith; Jerry
Assistant Examiner: Grossman; Jon D.
Attorney, Agent or Firm: Hulse; Robert S. Noe; George T.
Claims
We claim:
1. A control system connectable to a signal measurement and display
instrument, comprising:
means for generating data values representative of the angular
displacement and direction of rotation of a rotary control
means;
means for reading said data values at a predetermined rate to
provide updated status and displacement values; and
means responsive to said status and displacement values for
generating commands which establish operating conditions for said
measurement and display instrument,
means for reading said data wherein said means for generating data
values includes a Gray code generator coupled to said rotary
control means, a Gray code condition circuit coupled to said Gray
code generator for producing an increment/decrement signal and a
clock, and an up/down counter coupled to said Gray code condition
circuit, wherein said up/down counter produces said data values in
response to said increment/decrement signal and said clock.
2. A control system in accordance with claim 1 wherein said means
for reading said data values includes first processing means
operating under program control.
3. A control system in accordance with claim 2 wherein said means
for generating commands comprises second processing means having
stored global data and programs for selecting one of a plurality of
operating modes, wherein said commands are generated to establish
operating conditions in accordance with a selected operating
mode.
4. A control system in accordance with claim 3 wherein one of said
operating modes permits scrolling of the display of said
measurement and display instrument, wherein the rate at which said
display is scrolled is determined by rotation of said rotary
control means.
5. A control system in accordance with claim 3 wherein one of said
operating modes permits selection of displayed information by
moving a cursor in response to rotation of said rotary control
means.
Description
BACKGROUND OF THE INVENTION
The present invention relates generally to a system for controlling
a signal-measuring instrument using a displacement mechanism and,
more specifically, to a microprocessor controlled system where said
mechanism is a rotary knob.
Many electronic mesurement instruments include microprocessor
systems for improving signal measurement functions. In certain of
these instruments, key switches are used to set measurement
conditions, to control data display scrolling operations, or to
enter alphanumeric data such as labels. Sometimes one or more keys,
(e.g., increment and decrement keys) are used to alter a parameter
setting or data value, or to control the scrolling operation, each
depression of the key causing a predetermined next data value,
parameter setting, or address (location) to be displayed. Usually
when a key is held down, successive changes in data values or
locations are made to occur at a predetermined fixed rate of
progression. Often this causes "overshoot", where the equipment
setting has progressed to a point beyond the desired setting value
or location, obliging the user to initiate the setting process
again, and to progress more slowly to the desired setting.
Typically the progression rate chosen is either too slow to move
conveniently through a large number of setting values or acquired
data, or too fast to properly examine each value or data location.
Such instruments usually also require the use of a full
typewriter-like keyboard, complete with shift key for entry of
alphanumeric data.
As control systems, these instruments are generally quite complex,
underscoring the need for simpler systems capable of performing
data entry and parameter setting operations.
SUMMARY OF THE INVENTION
According to the illustrated preferred embodiment of the present
invention, a system is provided which is responsive to actuation of
a manually operable rotary knob for controlling display scrolling,
the setting of measurement conditions (parameters), and the
entering of alphanumeric data. The rotary knob is used to position
or actuate a mechanical (or opto-electronic) switch which generates
a two-bit Gray code in accordance with the rotation of the knob.
This Gray code is used to generate an increment/decrement signal
(i.e., a U/D or up/down signal) and a clock signal for a counter,
the increment/decrement signal representing the direction of
rotation of the knob, and the frequency of the clock signal
representing the rotation rate. The contents of the counter, which
can be read by a microprocessor, is used as a delta value
representing a change to be made to stored data. The changed data,
in turn, represents a new parameter value, an alphanumeric input,
or a control value for data scrolling. For user convenience, the
changed data is displayed on a CRT screen.
Since the rate at which data changes are made and, hence, new data
values are generated (the repetition rate) is proportional to the
rate at which the user turns the knob, a large range of values may
be generated conveniently. This rate control, coupled with
specialized display circuitry, gives the user better control over
data scrolling and other data display functions. If the user wishes
to examine each entry or each display location, the knob may be
turned slowly. If the user already knows what value is desired, or
wishes to quickly scroll through the data to be displayed, a faster
knob rotation rate may be used. Furthermore, the use of the knob
for multiple functions facilitates instrument operation because it
reduces the number of controls needed to operate the instrument.
Since only one knob is used to set instrument parameters, scroll
the display, and enter alphanumeric data, the present invention
promises considerable user convenience.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a preferred embodiment of the present
invention;
FIG. 2 is a flow chart showing the operation of the invention of
FIG. 1 for converting knob rotation to displacement
information;
FIG. 3 is a flow chart showing the operation of the invention of
FIG. 1 for acquiring displacement information;
FIG. 4 is a flow chart showing the operation of the invention of
FIG. 1 for translating displacement information into parameter and
display modifications;
FIG. 5 is a flow chart showing the operation of the invention of
FIG. 1 for translating displacement information into information
for controlling data scrolling; and
FIG. 6 is a flow chart showing the operation of the invention of
FIG. 1 for changing displayed data in accordance with displacement
information.
DESCRIPTION OF THE PREFERRED EMBODIMENT
Referring to FIG. 1, there is shown a block diagram of a preferred
embodiment of the present invention. Switch 10 is a conventional
mechanical or opto-electronic switch for generating a two-bit
Gray-code in accordance with rotation of a knob (not shown). This
figure shows the mechanical type Gray code generation switch,
wherein two contacts are controlled by the knob so as to generate
the Gray code. Gray-code condition circuit 12 receives the
Gray-code output from switch 10, and generates an
increment/decrement (high/low) signal representing the direction of
turn of the knob, and a clock signal the number of pulses of which
is determined by the extent or distance to which the knob is
turned. Up/down counter 14 receives the increment/decrement signal
and the clock signal from circuit 12 at the up/down control
terminal (U/D) and the clock terminal, respectively. The contents
of counter 14 is controlled by rotation of the knob of switch 10.
Counter 14 also receives, at its enable terminal (E), an enable
signal from bus 16 consisting of data, address and control lines.
The combination of switch 10, circuit 12 and counter 14 comprises
knob hardware 32 as disclosed in Japanese Published Unexamined
Patent Application No. 54-36194 and UM Application No. 57-67435,
both of which were assigned to the assignee of this patent
application. The output signal from counter 14 is applied to bus
16. Keyboard 18 is used as an alternate input device connected to
bus 16. Measurement instrument 20 such as a logic analyzer acquires
an input signal and measures it under control of instruction
signals from bus 16, and the measurement results are applied to bus
16. Bus 16 is further connected to display control circuit 22,
microprocessor (.mu.P) 24, Read Only Memory (ROM) 26 and Random
Access Memory (RAM) 28. Display control circuit 22 controls cathode
ray tube (CRT) 30 for displaying measurement results and setting
values of measurement instrument 20 or the like. Under control of
.mu.P 24, circuit 22 also controls data display corresponding to
knob movement. .mu.P 24 includes two .mu.P sections, one section
operating as a control processor for controlling the operation of
measurement instrument 20, and the other section operating as an
Input/Output (I/O) processor for controlling the operations of
counter 14, keyboard 18 and display control circuit 22. The control
and I/O processor sections may be an 8088 and a Z-80, respectively.
.mu.P 24 operates under control of software stored in ROM 26. RAM
28 acts as temporary storage under control of .mu.P 24.
The contents of counter 14 is read by the I/O processor under
software control. This software, which is stored in ROM 26,
includes knob driver routine 34, interrupt handler routine 36,
interprocessor communication routine 38, and communication
interrupt driver routine 40, as shown in FIG. 2. The I/O processor,
under control of the knob driver routine 34 and interrupt handler
(scheduler) routine 36, reads the counter output from knob hardware
32 sixty times per second in accordance with a timing signal
applied from a 60 Hz interrupt clock (not shown). The counter
outputs represent knob displacements. The I/O processor, under
control of the knob driver routine 34, converts each displacement
into a signed integer at each clock interrupt, cumulates successive
integers, and stores the cumulated value in RAM 28. The cumulated
value represents the change in position of the knob since the last
request for knob information by the I/O processor. Further, the I/O
processor, under control of routine 34, applies a signal to the
control processor notifying the control processor through
interprocessor communication buffer 42 that knob movement has
occurred. When it is ready to receive knob information, the control
processor applies an interrupt signal to interrupt driver routine
40 of the I/O processor. The I/O processor, under control of
routine 38, passes the knob displacement integer information from
RAM 28 to buffer 42. (Optionally, as shown in FIG. 3, the I/O
processor, under control of a utility routine 46, may cause this
information to be forwarded from buffer 42 to RAM 28.) Interrupt
routine 40 then conveys to the control processor the address of the
knob displacement integer information in RAM 28. Alternatively,
where RAM 28 is partitioned or divided such that a first portion
services the I/O processor and a second portion services the
control processor, the interrupt driver routine 40 would set a flag
in the first RAM portion in response to the interrupt signal from
the control processor. In response to this flag the I/O processor,
under control of routine 38, passes the knob displacement integer
information from RAM 28 to the control processor through
interprocessor communication buffer 42 and sets the cumulative
count in RAM 28 to zero. Thus, the knob displacement information is
transferred to the control processor from the I/O processor via
buffer 42.
The control processor operates to set parameter values to scroll
data, and to enter alphanumeric data in accordance with knob
displacement information stored in the RAM by knob input utility
routine 46. Parameter and alphanumeric data values that are entered
or set via knob rotation are displayed on CRT 30. A movable
blinking field cursor displayed on the face of the CRT is
positioned by the user to specify (select) which of a plurality of
displayed values (corresponding to global data values stored in RAM
28) he wishes modified. The selected value is then modified in
response to rotation (displacement) of the knob, as shown in FIG.
4.
The control processor operates under control of software stored in
ROM 26 including knob input utility routine 46, field input
translator routine 48, input field handler routine 50, and display
output utility routine 54. Under control of these routines, the
control processor modifies the global data value corresponding to
the parameter value selected by the blinking field cursor. Field
input translator 48 operates in conjunction with knob input utility
routine 46 to acquire the knob displacement information, and
translates this information into an appropriate "select" command.
This command represents a delta quantity by which the selected
parameter value is to be changed. The command is applied to field
input handler 50, which modifies the parameter value (field) based
on pre-established significance (e.g., number and type) of the
command. In response to a select command applied by translator 48,
handler 50 accesses global data 52 (corresponding to field cursor
position) in RAM 28, and modifies the accessed data in accordance
with the select command. This modified data is then stored in RAM
28, and a display command corresponding to the modified data is
applied to display output utility routine 54. This utility routine
54 transfers the display commands to interprocessor communication
buffer 42 for later access and use by the I/O processor in changing
the information displayed on CRT 30, so as to have it correspond to
the modified data.
FIG. 5 shows how the control processor accomplishes data scrolling
operations in response to knob displacement. The control processor
operates under control of software stored in ROM 26 including knob
input translator routine 58, display modification calculator
routine 60, and display output utility routine 54. Under control of
these routines, the control processor modifies the global data
value corresponding to the data cursor position, said position
being representative of a data line (e.g., horizontal or vertical
line) being displayed. Knob input translator 58 operates in
conjunction with knob input utility routine 46 to acquire the knob
displacement information, and translates this information into an
appropriate amount (value) of scroll displacement. This scroll
displacement value represents a delta quantity (increment or
decrement) by which the data cursor position is to be changed
(e.g., vertically or horizontally). The scroll displacement value
is applied to display modification calculator routine 60 which
accesses global data 52 corresponding to the data cursor position
and to acquired data in RAM 28 for display on CRT 30. Using this
information, routine 60 modifies the accessed data in accordance
with the scroll displacement value and generates display commands
describing the scroll operation, which commands are applied to
display output utility routine 54. This utility routine 54
transfers the display to the interprocessor communication buffer 42
for later access by the I/O processor in changing the information
displayed on CRT 30 to have it correspond to the new data cursor
position.
The display commands from display output utility 54 shown in FIGS.
4 and 5 are processed by the I/O processor under control of
software stored in ROM 26 including interprocessor communication
routine 38, communication interrupt driver routine 40, and display
command processor routine 74, as shown in FIG. 6. The display
commands are acquired from the control processor through
interprocessor communication buffer 42 by interprocessor
communication module routine 38 in response to the interrupt from
communication interrupt driver routine 40. The display commands are
applied by routine 38 to display command processor routine 74. This
processor 74 translates the display commands to character codes and
display control register values, and applies these codes and
register values to display hardware 76 consisting of display
control circuit 22 and CRT 30.
From the above description, therefore, it is seen that by means of
the system of the present invention, display data may be scrolled,
and parameter and alphanumeric data values may be entered and
changed by operation of a mechanism, such as a rotary knob, capable
of specifying a displacement. Other such mechanisms may be a linear
control mechanism, joystick, trackball, thumbwheel, or the like.
The mode of operation of the system (e.g., entering data, setting a
parameter value, or scrolling the display) may be selected via
keyboard 18.
It will be obvious to those having ordinary skill in the art that
many changes may be made in the above-described details of the
preferred embodiment of the present invention. For example, a
single processor may act as both the control and I/O processors, or
the interprocessor communication buffer may be replaced with a
dual-port RAM. Detailed listings of program instructions and data
of the various routines are presented following the detailed
description of the invention. ##SPC1## ##SPC2## ##SPC3## ##SPC4##
##SPC5## ##SPC6## ##SPC7## ##SPC8## ##SPC9##
* * * * *