WO1986007157A1 - Portable spectrum analyzer - Google Patents

Portable spectrum analyzer Download PDF

Info

Publication number
WO1986007157A1
WO1986007157A1 PCT/US1986/001063 US8601063W WO8607157A1 WO 1986007157 A1 WO1986007157 A1 WO 1986007157A1 US 8601063 W US8601063 W US 8601063W WO 8607157 A1 WO8607157 A1 WO 8607157A1
Authority
WO
WIPO (PCT)
Prior art keywords
mode
microprocessor
byte
channel
video
Prior art date
Application number
PCT/US1986/001063
Other languages
French (fr)
Inventor
Warren L. Braun
Walter M. Curt
Original Assignee
Comsonics, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Comsonics, Inc. filed Critical Comsonics, Inc.
Priority to DE1986903830 priority Critical patent/DE229103T1/en
Publication of WO1986007157A1 publication Critical patent/WO1986007157A1/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R23/00Arrangements for measuring frequencies; Arrangements for analysing frequency spectra
    • G01R23/16Spectrum analysis; Fourier analysis

Definitions

  • the present invention generally relates to spectrum analyzers and, more particularly, to a portable, battery powered instrument using frequency synthesis to perform voltage amplitude measurements of specified channel segments in a multichannel configured coaxial cable environment.
  • Yet another object of the invention is to provide a microprocessor based spectrum analyzer for cable television channel signal measurements which allows the operator to save complete channel information from a plurality of locations in the field.
  • Still another object of the invention is to provide a multitasking system for a microprocessor based spectrum analyzer which schedules tasks to occur at times based on current needs of the system.
  • channel tuning is achieved through frequency synthesis with. tuning intervals selected to allow analysis of cable television frequency allocations.
  • the instrument is provided with a liquid crystal display (LCD) which provides both bar graph and alphanumeric readout of data.
  • LCD liquid crystal display
  • visual and aural carrier functions are operator selectable.
  • zoom mode a single channel selected is displayed with both video and audio levels side by side in bar graph form.
  • the memory mode allows the operator to save complete channel information from up to three system locations.
  • a configure mode which allows the operator to establish his system requirements in non-volitile memory thereby making the instrument a personalized piece of test equipment.
  • the portable spectrum analyzer according to the invention is implemented as a microprocessor controlled system.
  • the inputs to the system are the cable test point, a keyboard and various function switches.
  • the outputs provided by the system are the LCD display and an audio speaker.
  • the microprocessor is supported by electronically programmable read only memory (EPROM), random access memory (RAM), and nonvolitile RAM.
  • the microprocessor controls, via output interfaces connected to the system bus, input attenuators, a frequency synthesizer converter, and the gain of an intermediate frequency (IF) section.
  • the output of the IF section is supplied to an envelope detector, the output of which is supplied to an analog-to-digital (A/D) converter connected to the memory bus of the microprocessor.
  • a distinguishing feature of the the software is the small multitasking operating system. This kernel schedules tasks to occur at times based on the current needs of the system.
  • Figure 1 is a block diagram of the overall system according to the invention.
  • FIG. 1 is an illustration of the LCD display in the sweep mode of operation
  • Figure 3 is an illustration of the LCD display in the zoom mode of operation
  • Figure 4 is another illustration of the LCD display in the zoom mode of operation;
  • Figure 5 is a block diagram of the microprocessor used in the preferred embodiment of the invention.
  • Figure 6 is a memory map of the internal data RAM for the microprocessor
  • Figure 7 is a memory map of the external data space
  • Figure 8 is a memory map of the code space for the executable machine instructions in read only memory (ROM).
  • the hardware of the system includes an input 1 connectable to a test point in the cable communications network.
  • This input supplies series connected attenuator pads 2 and 3 via a 3 dB combiner 4.
  • the other input of the 3 dB combiner is supplied by a noise source 5, which will be described in more detail hereinafter.
  • the attenuator pads 2 and 3 and the noise source 5 are all controlled by outputs from switch logic 6.
  • the output of the 3 dB combiner 5 is supplied to the first stage of a two stage converter 7 which forms part of a three stage converter.
  • the converter uses frequency synthesis techniques and includes voltage controlled oscillators (VCOs) 8, 9 and 10 controlled, respectively, by phase locked loops (PLLs) 11, 12 and 13.
  • VCOs voltage controlled oscillators
  • PLLs phase locked loops
  • the output of the last stage is supplied by mixer 14 to a filter 15.
  • the output of filter 15 is supplied to an IF detector 16 via a gain control circuit 17.
  • Two outputs are obtained from IF detector 16.
  • One is supplied to an FM (frequency modulation) audio detector 18 which, in turn, supplies an input to audio multiplex circuits 19.
  • the audio multiplex circuits 19 also receive as inputs tones generated by tone generator 20.
  • the selection of the audio signal output by the audio detector 18 and one or the other of the tones from tone generator 20 by the multiplex circuits 19 is controlled by the switch logic 21.
  • the other output from the IF detector is supplied to a track and hold circuit 22.
  • the output of the track and hold circuit 22 is coupled to an analog-to-digital (A/D) converter 23.
  • A/D analog-to-digital
  • the switch logic 6 and each of the PLLs 11, 12 and 13 are controlled via an output port interface 24 connected to the system bus 25.
  • Another output port interface 26 connected to the system bus 25 provides the control signals to the switch logic 21 and the track and hold circuits 22.
  • Also attached to the system bus 25 is an LCD display 27 and a microprocessor 28.
  • Supporting memory for the microprocessor 28 is also connected to the bus.
  • This memory includes three EPROMs 29, 30 and 31, a RAM 32 and a non-volitile RAM 33.
  • the A/D converter 21 is connected to the RAM 32.
  • the memory bus 34 is connected by a latch 35 to the microprocessor 28. Inputs to the microprocessor 28 are provided by a keyboard 36.
  • the system is capable of operating in several modes.
  • the sweep mode is the power up default mode.
  • the LCD display 27 will show all of the video signal levels for the 50 MHz to 550 MHz range.
  • the audio sweep mode displays all of the audio carriers and is selected by pressing the VIDEO/AUDIO key while in the video sweep mode. Once in the audio sweep mode, the operator can return to the video sweep mode by pressing the VIDEO/AUDIO key again.
  • FIG. 2 An example of the video sweep screen is shown in Figure 2.
  • the channel aumber is displayed in the upper left hand corner designated by the reference numeral 38.
  • This channel display is configurable by the operator to display designations by either the EIA standard or the historical standard, i.e., numerics or alphanumerics.
  • the channel selection is performed by using the CURSOR keys to move the on-screen cursor 47 to the appropriate channel.
  • the channel number at 38 changes to reflect the channel that is directly below the cursor 47.
  • the video/audio status display 40 On the line directly below the frequency display 39 is the video/audio status display 40. This display shows the operator which submode is currently active.
  • the channel that the cursor 47 lies on has its absolute level in dBmV displayed at 41, and if the cursor is moved to a different channel, the new channel level is shown here.
  • the status display at 42 shows which main mode of operation the instrument is in. As will be described, there are three modes whose status appear in this location. They are sweep, zoom, and memory. There are other modes of operation, but their display screens show mode status in different ways. Modes are selected by pressing valid function keys on the front of the instrument.
  • the sweep screen status display shows which range of frequencies is being displayed. There are two choices; 50 MHz to 550 MHz or 5 MHz to 250 MHz. To switch between these two ranges, the operator simply presses a button which toggles between the two ranges.
  • An indication of relative battery voltage level is displayed in horizontal bar graph form at 44.
  • the main sweep screen is located directly to the right of the status display.
  • the absolute level for each channel is displayed in bar graph form with the lower frequency channels to the left and the higher ones to the right.
  • the on-screen range at 45 is set dynamically. It is 30 dBmV wide and is alignable to 5 dBmV increments; i.e., - 4 ⁇ to -2 ⁇ , -35 to -15, etc.
  • the bar graph representation of the carriers themselves shown at 46 are side by side with no space in between. In a preferred display screen, each bar is three pixels wide, and each vertical pixel represents .25 dBmV.
  • the channel selection cursor 47 video flashes over whatever is behind it so that it stands out from the background and sweep information.
  • the zoom mode of operation is entered directly from the video or audio sweep modes.
  • the display When in either of those modes, if the SWEEP/ZOOM key is depressed, the display "zooms in” on the channel number that the cursor is currently pointing to.
  • FIG. 3 An example of the zoom scan screen is shown in Figure 3 wherein like refernce numerals designate similar display features.
  • status information is displayed on the left side of the LCD display. Additional status information is also displayed in symmetrical form on the right hand side, leaving the center of the screen to the twin display of the audio and video carrier bar graphs 48 and 49, respectively.
  • the channel number is displayed at 38, and the frequency, at 39. By pressing the cursor keys, the next higher or lower channel can be selected.
  • the status line 40 prominently displays the word VIDEO.
  • the absolute level of the video signal is displayed at 41, and the mode, in this case ZOOM, is displayed at 42.
  • the right side status information is headed by line 50 indicating that this is AUDIO information.
  • the audio bar will not be displayed. In its place will be an arrow pointing down to warn the operator that the audio level is below range.
  • This screen is illustrated in Figure 4. Note that the absolute audio level is still displayed at the status location 51. While in the zoom mode, the operator can listen to the video sync buzz or the audio signal by depressing the VOLUME key once. With one press, the output is at low volume; with two presses, the output is at high volume; and with three presses, the speaker is off again.
  • the VIDEO/AUDIO key selects which signal will be reproduced since it toggles between video and audio. The operator cannot listen to these signals in any other mode of operation.
  • the user can enter the memory mode only from the sweep mode, either audio or video, by pressing the MEMORY key once.
  • the screen will display the same information as before except that now the one screen information will not be updated.
  • the mode display line 4 ⁇ on the screen will show the user that he is in the memory mode and is now looking at "bin ⁇ ", which is a snapshot of the last screen displayed before entering the memory mode.
  • the user can view stored scan screens by pressing the MEMORY key repeatedly. Once a sweep screen is selected, the user can operate on it just as in the normal sweep mode. The only difference is that the user can store a screen by selecting the bin to use, by pressing the MEMORY key, and pressing the STORE key and the MEMORY key simultaneously. What this does is take information from the snapshot in bin ⁇ memory and move it to permanent memory. In the preferred embodiment of the invention, up to three sweep screens can be saved in permanent memory using this technique.
  • the operator In order for the operator to measure signal to noise, he must first tune to a blank video slot that has an adjacent video carrier. This can be done from either the video or manual mode. The operator then would press down and hold the NOISE key. This causes the screen to clear and then display the value clearly at the center of the screen for as long as the NOISE key is depressed.
  • the operator To measure hum, the operator must first tune to a CW (continuous wave) carrier while in either the sweep or zoom modes of operation. He would then depress and hold the HUM key. The screen would clear and then display the value clearly at the center of the screen for as long as the HUM key is depressed.
  • CW continuous wave
  • a CONFIGURE key preferrably a small recessed button on the back of the instrument, places the system in the configure mode of operation when the key is pressed at power up.
  • the operator follows a simple set of menu screens that will lead him through the configure process of setting several options. The first of these options allows for the selection of system types; i.e., EIA or historic channel allocation and IRC, HRC or standard channel allocation. Once selected, this setting is stored in the non-volatile RAM 33 for semi-permanent reference, and channel information display will be based on this information. If no selection is made, then a default to standard is provided.
  • the configure mode will also set the channel status display to readout in either numerics or alphanumerics. For example, if numerics is selected, a numeral is displayed; but if alphanumerics is selected, an alpha character or an alpha character and a numeral are displayed. The numeric selection is the new standard, while the alphanumerics selection is the historical reference.
  • the configure option the operator can force the system to display special frequencies in a noticable way and adjust the system for FAA (Federal Aviation Administration) offsets as well. More specifically, the "set pilots" option allows the operator to designate two of his visible channels as "pilot" freqencies.
  • the status display will show "Low Pilot” or "High Pilot”.
  • the operator can also set aside a special frequency for an RF (radio frequency) leak detector.
  • the status display will show "Sniffer”.
  • the cable plant has any special data frequencies, the system allows three to be uniquely displayed. These are user configurable and displayed as "Data 1", “Data 2", and "Data 3".
  • the FAA offsets selection enables the operator to shift the needed channels to their proper frequencies.
  • the help mode of operation The help function is available from any command location of the system except while in the configure mode.
  • the operator just presses the HELP key and then any other key to determine its function.
  • the screen will display information about the key in question until the exit key is pressed.
  • the operator To exit the help mode, the operator only needs to press the EXIT key which returns the system to its condition before the HELP key was pressed.
  • the instrument according to the invention Since the instrument according to the invention must operate reliably in outdoor, harsh environments, it must automatically calibrate itself on a routine basis during operation. To accomplish this, the system has an internal temperature compensated noise source 5, shown in Figure 1, that can be switched into the system.
  • the software has a table for the proper calibration adjustments and automatically makes the necessary changes. The procedure may be repeated periodically.
  • a more extensive calibration routine is executed during which the message "Now Calibrating" is displayed on the LCD display 27.
  • the system executes a series of diagnostic tests. The results of these tests are displayed on the LCD display 27. The tests executed and the results displayed are generally as follows:
  • the microprocessor 28 consists of an Intel 80C31 8-bit CMOS microprocessor with 24,576 bytes of external code space residing on three Intel 27C64 EPROMs.
  • the internal architecture of the 8 ⁇ C31 is shown in block diagram form in Figure 5.
  • This microcomputer features 128 bytes of RAM 54, 32 input/output (I/O) lines 55, two 16-bit timers 56 and 57, a five-source, two-level interrupt structure 58, a full duplex serial port 59, and on chip oscillator and timing and control circuits 6 ⁇ and 61, respectively.
  • the 8 ⁇ C31 has two software selectable modes of reduced activity for further reduction in power consumption.
  • the RAM 54, timers 56 and 57, interrupt system 58, and the serial port 59 remain active while the rest of the system is frozen.
  • the RAM is saved and all other functions are inoperative. Further information on the 8 ⁇ C31 microcomputer may be obtained from the manufacturer, Intel Corp.
  • the internal memory space is broken up into four banks of registers, a set of bit by bit programmable special function registers, and 1 ⁇ bytes of internal 8-bit wide high speed RAM memory 54.
  • a memory map of this RAM is shown in Figure 6.
  • the internal data RAM 54 holds the run time stack, the working registers, and the temporary variables for the system while it is in operation. This internal RAM will also hold temporary information when the system is placed in the idle mode.
  • the microprocessor 28 accesses all external devices through a memory mapped I/O scheme that maps all devices into the upper 8K bytes of external address space.
  • Data memory 32 has access, on 8K boundaries, to the other 56K bytes of space. Not all of the available memory or I/O space is used, allowing room for future expansion.
  • the external memory map is shown in Figure 7.
  • Code space consists of the three 8K byte EPROMs. All of the executable machine instructions reside in these EPROMs. Those skilled in the art will recognize that the economies of large scale manufacturing could allow some of this code to be moved onto internal processor ROM.
  • the memory map for the code space is shown in Figure 8.
  • the memory maps of Figures 7 and 8 represent the contents of data and code memories 29, 3 ⁇ , 31, and 32 shown in Figure 1.
  • the EPROMs are, in the preferred embodiment, Intel 27C64 8K by 8-bit wide CMOS devices.
  • the nonvolitile RAM 33 may be a conventional volitile CMOS RAM with a continuous battery power supply which is on even when the system is turned off. This memory 33 holds all of the configure mode values and the memory screens.
  • the static RAM 32 holds all temporary screen images and many of the non-time critical program variables.
  • the configure data and the calibration adjustment tables are moved from nonvolitile memory 33 to RAM 32 immediately after power up.
  • the values output from the A/D converter 21 are also stored in the RAM 32.
  • the RAM 32 is an ultra-low power CMOS 8K by 8-bit wide RAM made by Toshiba.
  • the LCD display 27 is one that is manufactured by Hitachi and provides a resolution of 128 pixels high by 48 ⁇ pixels wide. This size allows the operator to view all of the information that has been previously described.
  • the display data resides in the external processor data space and is treated as two contiguous bytes of that space.
  • the keyboard 36 is connected to port number 1 of the microprocessor 28.
  • the physical keyboard used is preferrably an environmentally sealed conductive rubber type device.
  • the A/D converter 23 is a 12-bit CMOS device with an external voltage reference.
  • the A/D converter is prefereably a 12 ⁇ 5 A/D converter manufactured by National.
  • the levels measured include signal level, battery level, DC/DC converter outputs and temperature sensor voltages.
  • the three phase lock loops 11, 12 and 13 are programmable by the microprocessor 28 through a simple serial protocol. These PLLs tune the VCOs 8, 9 and 1 ⁇ to the proper channel under direct software control. The first PLL steps the device in 6 MHz frequency increments, the second PLL is set to a fixed frequency, and the third PLL advances the output in 5 ⁇ MHz increments.
  • the output of the converter from filter 15 is provided to the FM detector 16 which may be an RCA 3 ⁇ 89A FM IF subsystem integrated circuit.
  • the chip provides a meter drive pinout connection from the output side of the limiting amplifiers. This meter drive signal is inherently logarithmic, and so no special hardware is required for the desired amplitude display.
  • a simple peak detector is employed in the track and hold circuits 22. Sampled DC, proportional to the peak amplitude of the measured carrier is applied to the input of the A/D converter 23 for display processing.
  • a simple ratio detector is used to demodulate the IF into baseband audio for driving the speaker.
  • the front end attenuator pads 2 and 3 and the noise source are also controlled by the microprocessor 28.
  • the attenuator pads keep the input signal to the converter 7 at an acceptable level of between +1 ⁇ to +2 ⁇ dBmV.
  • Attenuator pad 2 supplies 2 ⁇ dB attenuation
  • attenuator 3 supplies 2 ⁇ dB attenuation. This provides switched combination of ⁇ , 2 ⁇ and 4 ⁇ dB.
  • the microprocessor maintains proper calibration of the instrument by turning off the input signal, switching on the noise source 5, and taking level readings. The readings, along with temperature and individual unit calibration information allow the software to constantly adjust the instrument for optimum performance.
  • the microprocessor makes appropriate adjustments based on the temperature of the instrument as read from the thermister.
  • the code chosen for the software is PL/M, an Intel Corporation special microprocessor language. This language is compiled and, once compiled, is extremely efficient in the generation of the target processor's machine code.
  • the following is an example of the PL/M code for setting the phase lock loop internal shift registers.
  • This procedure sets the phase lock loop internal shift registers. Either the /n or /r timer register is selected by passing a Byte value ( use register).
  • the PLL is selected by passing the address ( use pll) of the desired PLL. value for value use register: selects register use pll selects pll
  • Port X is the internal global memory representation of the current value of the latch used to feed the pll and must be changed as the value to the pll is changed.
  • DECLARE use pll, use register
  • DECLARE pll set value
  • DECLARE index, data bit
  • pll set value ROL(pll set value,3)
  • /* shift first data bit to 0 */ DO index 1 TO NUMBER OF BITS IN PLL
  • pll data BOOLEAN(pll set value)
  • /* read data value */ pll clock CLOC K ON
  • /* turn clock on */ pll set value ROL( pll set value,1 )
  • /* shift for next value */ pll clock CLOCK OFF; /* turn clock off */ END;
  • a distinguishing feature of the software for the portable spectrum analyzer according to the invention is the small, time based operating system that orchestrates all functions. This kernel schedules tasks to occur at times based on the present needs of the system. The system is actually a fairly complex finite state machine which derives all of its state information from the external keyboard. The three units of the operating system are the tasker, scheduler, and clock.
  • time of execution There are no priorities except time of execution, although those skilled in the art will recognize that priorities can be easily added to the system. Further, time of execution is not guaranteed by the tasker, only that the scheduled routine will not execute before the time requested. Thus, the operating system is not a "real time" operating system.
  • the scheduler is called with the address of the next procedure to be executed and with the time from now at which it should be executed. It then sorts the task, by time, with other tasks in a wait list. Up to ten tasks can be in the wait list.
  • the granularity of the system clock is one millisecond. Every clock tick causes the processor to be interrupted with the highest priority interrupt in the system (i.e., no other process can interrupt the clock), and look at the lowest time in the wait list. If the time (or times if more than one task has the exact same delay) is at zero, then the clock routine removes the task(s) address from the wait list and places it in the ready list. Up to ten tasks can be in the ready list. The tasker is called once at system startup and given the first address of a process to execute, and it is never directly called again. It then sets up the wait and ready lists, and executes the first process.
  • the tasker will put the microprocessor in the "sleep mode" to reduce the power consumption to one tenth that of normal operation, and wait for a clock tick interrupt.
  • the tasker is always running in the background, it calls procedures to be executed by their addresses in the ready list, and when the procedures terminate, control returns to the tasker. It should be noted that one ramification of this design is that if no tasks are in the ready and wait lists, the system will hang in the tasker waiting for a task to appear in the ready list.
  • the hardware includes a "watchdog" timer that will reset the microprocessor if not written to within a short period of time.
  • the watchdog timer is strobed every time the tasker calls a procedure to execute and is thus reset. This means that if the task that is executing takes longer than the watchdog quanta, or the ready and wait list both become empty, the entire system will be reset.
  • the tasker module is set forth in the following PL/M listing.
  • DECLARE P Front, P Wait, P Wait Q. P Avail, Count Down BYTE; DECLARE (Process TabIe Se maphore, Clock Missed) BIT;
  • the input/output library of the system includes all the procedures that control the LCD display, A/D converter, multiplex circuits, phase lock loops, track and hold circuits, keyboard, switchable attenuators, IF gain circuitry, and audio circuits. These procedures are called by the upper level tasks to perform specific functions at the lowest level in the hardware. They are generally layered so that a change in the exact hardware device will only require a change in the functional control layer of the software, the functional request will not change unless the product specifications are changed. Some of the more useful procedures are listed below.
  • This procedure places the video and audio bar graph Images on the LCD screen vhen the unit is in ZOOM Mode.
  • This routine takes the memory screen image and dumps it to the LCD display while the unit is in sweep mode.
  • This procedure will place a horizontal line of given length at a given place on the LCD display.
  • This procedure vill place a vertical line of a given length at a given place on the display.
  • This routine vill scan the keyboard and return the keypress value. It has the ability to decode tyo simultaneous keypresses (ie: the memory and store keys held down at the same time). H. BLANK-DISPLAY
  • This procedure will place a string of ASCII characters on the LCD at a specific location.
  • This routine will fill the entire LCD screen with text by doing a memory dump of those text character. s.
  • Keymode is the software that controls all the user interface to the system. It displays data and screen templates and decides what to do with valid key presses. What follows is the list of variables used in keymode, with the values they may assume, and a list of the possible keys that could be pressed in any mode.
  • VIDEO FLAG OFF BIN ZERO ADDRESS + (BIN WIDTH* OFFSET B. POSSIBLE KEYS ALLOWED VALID KEYS ON LIGHT DISPLAY STORE VOLUME HUM NOISE SWEEP/ZOOM 50-550/5-250 VIDEO/AUDIO EXIT HELP LEFT CURSOR RIGHTCURSOR MEMORY
  • RANGE FLAG (BIT) R 50 TO 550
  • CURRENT_MODE(BYTE) HELP_MODE
  • CURRENT_MODE (BYTE) HELP_MODE
  • VIDEO_FLAG(BIT) AUDIO
  • RANGE_FLAG(BIT) R_50_TO_550
  • CURRENT_MODE (BYTE) HELP_MODE
  • CURRENT_MODE (BYTE) HELP_MODE
  • CURRENT_MODE (BYTE) HELP_MODE
  • CURRENT_MODE (BYTE ) HELP_MODE
  • RANGE_FLAG(BIT) R_5_TO_250
  • CURRENT_MODE (BYTE) HELP_MODE
  • CURRENT_MODE (BYTE) HELP_MODE
  • CURRENT_MODE (BYTE) HELP_MODE
  • CURRENT_MODE (BYTE) HELP_MODE
  • RANGE_FLAG(BIT) R_50_TO_550
  • CURRENT_MODE (BYTE ) HELP_MODE
  • RANGE_FLAG(BIT) R_5_TO_250 HIGHEST_AVAILABLE_CHANNEL(BYTE ) LOW_RANGE_HIGH_CHANNEL LOWEST_AVAILABLE_CHANNEL(BYTE ) LOW_RANGE_LOW_CHANNEL [VALID KEYS]
  • RANGE_FLAG(BIT) R_50_TO_550
  • CURRENT_MODE (BYTE) HELP_MODE
  • RANGE_FLAG(BIT ) R_5_TO_250
  • CURRENT_MODE (BYTE) HELP_MODE
  • Attached as appendicies to this specification are the PL/M program listings for the keyboard control and the input/output library for the system.

Abstract

A portable spectrum analyzer using frequency synthesis is used in the field to perform voltage amplitude measurements of specified channel segments in a multichannel configured coaxial cable environment. The instrument is a microprocessor (28) based system, and includes an RF input (1) and keyboard (36) and function switch inputs and provides both aural and visual outputs by means of a speaker and an LCD display (27). A three stage frequency converter (7) including PLLs (11, 12 and 13) controlled by the microprocessor (28) allows for the automatic monitoring of a plurality of carrier channels or the display of both video and audio levels of a single channel. Automatic adjustment of the input signal level is provided by attenuator pads (2 and 3) controlled by the microprocessor (28). Calibration is also automatically controlled by the periodic injection of a signal of predetermined level from a noise source (4) under the control of the microprocessor (28). The microprocessor is programmed to provide several modes of operation including a sweep mode, a zoom mode, and a memory mode. In the sweep mode, the instrument continually scans all carrier channels automatically, each channel being presented sequentially and simultaneously in bar graph form on the LCD display (27). In the zoom mode, a single channel is displayed with both video and audio levels side by side. In the memory mode, the operator can view data saved from measurements previously made at a selected location in the cable system.

Description

PORTABLE SPECTRUM ANALYZER
DESCRIPTION
Technical Field
The present invention generally relates to spectrum analyzers and, more particularly, to a portable, battery powered instrument using frequency synthesis to perform voltage amplitude measurements of specified channel segments in a multichannel configured coaxial cable environment.
Description of the Prior Art
The proper management and operation of a coaxial cable communication system such as a CATV system requires periodic measurements of the signal levels of the several channels supported by the system. These measurements need to be made at various locations in the cable plant. Typically, a technician will make the measurements in the field using portable insturments. However, most portable test instruments rugged enough for use in the field are not capable of the several types of measurements that would provide the type of information required to properly diagnose the current state of operation of the system. Spectrum analyzers are well known as laboratory instruments, and there have been attempts to make such instruments portable and sufficiently rugged for field use. These attempts have only been marginally successful, but even where the instrument itself meets the requirements for field use, it suffers from the draw back that it is difficult to use. This is a direct result of adapting the laboratory instrument for use in the field, rather than designing an instrument for the specific application.
Summary of the Invention
It is therefore and object of the present invention to provide an easy-to-use, portable spectrum analyzer with tuning intervals selected to allow analysis of cable television frequency allocations.
It is another object of the invention to provide a portable test instrument for use in the field which automatically presents the operator with an alphanumeric and graphical display of measured data.
It is a further object of the invention to provide a microprocessor based spectrum analyzer having a plurality of operator selectable modes of operation allowing for the automatic monitoring of a plurality of cable television visual carrier channels or the display of both video and audio levels of a single channel.
Yet another object of the invention is to provide a microprocessor based spectrum analyzer for cable television channel signal measurements which allows the operator to save complete channel information from a plurality of locations in the field.
Still another object of the invention is to provide a multitasking system for a microprocessor based spectrum analyzer which schedules tasks to occur at times based on current needs of the system. According to the invention, channel tuning is achieved through frequency synthesis with. tuning intervals selected to allow analysis of cable television frequency allocations. The instrument is provided with a liquid crystal display (LCD) which provides both bar graph and alphanumeric readout of data. There are several operational modes. In the sweep mode, the instrument continually scans all cable television visual carrier channels automatically, each channel being presented sequentially and simultaneously in bar graph form on the LCD display. The operator may select any available channel, and the selected channel will be displayed in an alphanumeric form as well as in the bar graph presentation. Both the channel designation and either visual of aural carrier field strength are displayed. In addition, visual and aural carrier functions are operator selectable. In the zoom mode, a single channel selected is displayed with both video and audio levels side by side in bar graph form. The memory mode allows the operator to save complete channel information from up to three system locations. In additon to these modes of operation, there is provided a configure mode which allows the operator to establish his system requirements in non-volitile memory thereby making the instrument a personalized piece of test equipment. The portable spectrum analyzer according to the invention is implemented as a microprocessor controlled system. The inputs to the system are the cable test point, a keyboard and various function switches. The outputs provided by the system are the LCD display and an audio speaker. The microprocessor is supported by electronically programmable read only memory (EPROM), random access memory (RAM), and nonvolitile RAM. The microprocessor controls, via output interfaces connected to the system bus, input attenuators, a frequency synthesizer converter, and the gain of an intermediate frequency (IF) section. The output of the IF section is supplied to an envelope detector, the output of which is supplied to an analog-to-digital (A/D) converter connected to the memory bus of the microprocessor. The necessary functions of the controlling software are divided into logical layers allowing easy future modification of the code. A distinguishing feature of the the software is the small multitasking operating system. This kernel schedules tasks to occur at times based on the current needs of the system.
Brief Description of the Drawings
The foregoing and other objects, aspects and advantages of the invention will be better understood from the following detailed description of a preferred embodiment with reference to the drawings, in which: Figure 1 is a block diagram of the overall system according to the invention;
Figure 2 is an illustration of the LCD display in the sweep mode of operation;
Figure 3 is an illustration of the LCD display in the zoom mode of operation;
Figure 4 is another illustration of the LCD display in the zoom mode of operation; Figure 5 is a block diagram of the microprocessor used in the preferred embodiment of the invention;
Figure 6 is a memory map of the internal data RAM for the microprocessor;
Figure 7 is a memory map of the external data space; and
Figure 8 is a memory map of the code space for the executable machine instructions in read only memory (ROM).
Detailed Description of a Preferred Embodiment of the Invention
System Overview
Referring now to the drawings, and more particularly to Figure 1, the hardware of the system includes an input 1 connectable to a test point in the cable communications network. This input supplies series connected attenuator pads 2 and 3 via a 3 dB combiner 4. The other input of the 3 dB combiner is supplied by a noise source 5, which will be described in more detail hereinafter. The attenuator pads 2 and 3 and the noise source 5 are all controlled by outputs from switch logic 6. The output of the 3 dB combiner 5 is supplied to the first stage of a two stage converter 7 which forms part of a three stage converter. The converter uses frequency synthesis techniques and includes voltage controlled oscillators (VCOs) 8, 9 and 10 controlled, respectively, by phase locked loops (PLLs) 11, 12 and 13. The output of the last stage is supplied by mixer 14 to a filter 15. The output of filter 15 is supplied to an IF detector 16 via a gain control circuit 17. Two outputs are obtained from IF detector 16. One is supplied to an FM (frequency modulation) audio detector 18 which, in turn, supplies an input to audio multiplex circuits 19. The audio multiplex circuits 19 also receive as inputs tones generated by tone generator 20. The selection of the audio signal output by the audio detector 18 and one or the other of the tones from tone generator 20 by the multiplex circuits 19 is controlled by the switch logic 21. The other output from the IF detector is supplied to a track and hold circuit 22. The output of the track and hold circuit 22 is coupled to an analog-to-digital (A/D) converter 23.
The switch logic 6 and each of the PLLs 11, 12 and 13 are controlled via an output port interface 24 connected to the system bus 25. Another output port interface 26 connected to the system bus 25 provides the control signals to the switch logic 21 and the track and hold circuits 22. Also attached to the system bus 25 is an LCD display 27 and a microprocessor 28. Supporting memory for the microprocessor 28 is also connected to the bus. This memory includes three EPROMs 29, 30 and 31, a RAM 32 and a non-volitile RAM 33. The A/D converter 21 is connected to the RAM 32. The memory bus 34 is connected by a latch 35 to the microprocessor 28. Inputs to the microprocessor 28 are provided by a keyboard 36. User Interface
The system is capable of operating in several modes. The sweep mode is the power up default mode. At startup, the LCD display 27 will show all of the video signal levels for the 50 MHz to 550 MHz range. Actually, there are two different sweep modes, one for video and one for audio. The audio sweep mode displays all of the audio carriers and is selected by pressing the VIDEO/AUDIO key while in the video sweep mode. Once in the audio sweep mode, the operator can return to the video sweep mode by pressing the VIDEO/AUDIO key again.
An example of the video sweep screen is shown in Figure 2. The channel aumber is displayed in the upper left hand corner designated by the reference numeral 38. This channel display is configurable by the operator to display designations by either the EIA standard or the historical standard, i.e., numerics or alphanumerics. When viewing a sweep screen, the channel selection is performed by using the CURSOR keys to move the on-screen cursor 47 to the appropriate channel. As the cursor is moved, the channel number at 38 changes to reflect the channel that is directly below the cursor 47. On the line directly below the frequency display 39 is the video/audio status display 40. This display shows the operator which submode is currently active. The channel that the cursor 47 lies on has its absolute level in dBmV displayed at 41, and if the cursor is moved to a different channel, the new channel level is shown here. The status display at 42 shows which main mode of operation the instrument is in. As will be described, there are three modes whose status appear in this location. They are sweep, zoom, and memory. There are other modes of operation, but their display screens show mode status in different ways. Modes are selected by pressing valid function keys on the front of the instrument. At location 43, the sweep screen status display shows which range of frequencies is being displayed. There are two choices; 50 MHz to 550 MHz or 5 MHz to 250 MHz. To switch between these two ranges, the operator simply presses a button which toggles between the two ranges. An indication of relative battery voltage level is displayed in horizontal bar graph form at 44.
The main sweep screen is located directly to the right of the status display. The absolute level for each channel is displayed in bar graph form with the lower frequency channels to the left and the higher ones to the right. The on-screen range at 45 is set dynamically. It is 30 dBmV wide and is alignable to 5 dBmV increments; i.e., - 4Ø to -2Ø, -35 to -15, etc. The bar graph representation of the carriers themselves shown at 46 are side by side with no space in between. In a preferred display screen, each bar is three pixels wide, and each vertical pixel represents .25 dBmV. The channel selection cursor 47 video flashes over whatever is behind it so that it stands out from the background and sweep information.
The zoom mode of operation is entered directly from the video or audio sweep modes. When in either of those modes, if the SWEEP/ZOOM key is depressed, the display "zooms in" on the channel number that the cursor is currently pointing to.
An example of the zoom scan screen is shown in Figure 3 wherein like refernce numerals designate similar display features. As in the video and audio sweep modes, status information is displayed on the left side of the LCD display. Additional status information is also displayed in symmetrical form on the right hand side, leaving the center of the screen to the twin display of the audio and video carrier bar graphs 48 and 49, respectively. As before, the channel number is displayed at 38, and the frequency, at 39. By pressing the cursor keys, the next higher or lower channel can be selected. To delineate the fact that the status information on the left is for the video carrier, the status line 40 prominently displays the word VIDEO. The absolute level of the video signal is displayed at 41, and the mode, in this case ZOOM, is displayed at 42. The right side status information is headed by line 50 indicating that this is AUDIO information. The absolute level of the audio signal is displayed at 51. 52 is the visual header for the displayed difference between video and audio signal levels displayed at 53.
If the differential between video and audio signal strength exceeds 30 dBmV, which is the range of the bar graph display, then the audio bar will not be displayed. In its place will be an arrow pointing down to warn the operator that the audio level is below range. This screen is illustrated in Figure 4. Note that the absolute audio level is still displayed at the status location 51. While in the zoom mode, the operator can listen to the video sync buzz or the audio signal by depressing the VOLUME key once. With one press, the output is at low volume; with two presses, the output is at high volume; and with three presses, the speaker is off again. The VIDEO/AUDIO key selects which signal will be reproduced since it toggles between video and audio. The operator cannot listen to these signals in any other mode of operation.
The user can enter the memory mode only from the sweep mode, either audio or video, by pressing the MEMORY key once. In the memory mode, the screen will display the same information as before except that now the one screen information will not be updated. The mode display line 4Ø on the screen will show the user that he is in the memory mode and is now looking at "bin Ø", which is a snapshot of the last screen displayed before entering the memory mode. The user can view stored scan screens by pressing the MEMORY key repeatedly. Once a sweep screen is selected, the user can operate on it just as in the normal sweep mode. The only difference is that the user can store a screen by selecting the bin to use, by pressing the MEMORY key, and pressing the STORE key and the MEMORY key simultaneously. What this does is take information from the snapshot in bin Ø memory and move it to permanent memory. In the preferred embodiment of the invention, up to three sweep screens can be saved in permanent memory using this technique.
In order for the operator to measure signal to noise, he must first tune to a blank video slot that has an adjacent video carrier. This can be done from either the video or manual mode. The operator then would press down and hold the NOISE key. This causes the screen to clear and then display the value clearly at the center of the screen for as long as the NOISE key is depressed. To measure hum, the operator must first tune to a CW (continuous wave) carrier while in either the sweep or zoom modes of operation. He would then depress and hold the HUM key. The screen would clear and then display the value clearly at the center of the screen for as long as the HUM key is depressed.
There is also a configure mode of operation that allows the operator to configure the system for his cable plant. A CONFIGURE key, preferrably a small recessed button on the back of the instrument, places the system in the configure mode of operation when the key is pressed at power up. Once in this mode, the operator follows a simple set of menu screens that will lead him through the configure process of setting several options. The first of these options allows for the selection of system types; i.e., EIA or historic channel allocation and IRC, HRC or standard channel allocation. Once selected, this setting is stored in the non-volatile RAM 33 for semi-permanent reference, and channel information display will be based on this information. If no selection is made, then a default to standard is provided.
The configure mode will also set the channel status display to readout in either numerics or alphanumerics. For example, if numerics is selected, a numeral is displayed; but if alphanumerics is selected, an alpha character or an alpha character and a numeral are displayed. The numeric selection is the new standard, while the alphanumerics selection is the historical reference. Using the configure option, the operator can force the system to display special frequencies in a noticable way and adjust the system for FAA (Federal Aviation Administration) offsets as well. More specifically, the "set pilots" option allows the operator to designate two of his visible channels as "pilot" freqencies. Whenever the system displays status information on these two channels, instead of displaying a channel number, the status display will show "Low Pilot" or "High Pilot". The operator can also set aside a special frequency for an RF (radio frequency) leak detector. When the system displays status information on this signal, the status display will show "Sniffer". If the cable plant has any special data frequencies, the system allows three to be uniquely displayed. These are user configurable and displayed as "Data 1", "Data 2", and "Data 3". In order to allow for small frequency adjustments to certain channels that reside near the FAA spectrum allocations, the FAA offsets selection enables the operator to shift the needed channels to their proper frequencies. Finally, there is a help mode of operation. The help function is available from any command location of the system except while in the configure mode. The operator just presses the HELP key and then any other key to determine its function. The screen will display information about the key in question until the exit key is pressed. To exit the help mode, the operator only needs to press the EXIT key which returns the system to its condition before the HELP key was pressed.
Hardware
Since the instrument according to the invention must operate reliably in outdoor, harsh environments, it must automatically calibrate itself on a routine basis during operation. To accomplish this, the system has an internal temperature compensated noise source 5, shown in Figure 1, that can be switched into the system. The software has a table for the proper calibration adjustments and automatically makes the necessary changes. The procedure may be repeated periodically. At power up, a more extensive calibration routine is executed during which the message "Now Calibrating" is displayed on the LCD display 27. Also at power up, the system executes a series of diagnostic tests. The results of these tests are displayed on the LCD display 27. The tests executed and the results displayed are generally as follows:
1. Central Processor Test OK
2. Memory OK 3. Analog OK
4. Power OK
5. RF OK
6. Now Calibrating OK
In the preferred embodiment of the invention as actually implemented, the microprocessor 28 consists of an Intel 80C31 8-bit CMOS microprocessor with 24,576 bytes of external code space residing on three Intel 27C64 EPROMs. The internal architecture of the 8ØC31 is shown in block diagram form in Figure 5. This microcomputer features 128 bytes of RAM 54, 32 input/output (I/O) lines 55, two 16-bit timers 56 and 57, a five-source, two-level interrupt structure 58, a full duplex serial port 59, and on chip oscillator and timing and control circuits 6Ø and 61, respectively. In addition, the 8ØC31 has two software selectable modes of reduced activity for further reduction in power consumption. In the idle mode, the RAM 54, timers 56 and 57, interrupt system 58, and the serial port 59 remain active while the rest of the system is frozen. In the power down mode, the RAM is saved and all other functions are inoperative. Further information on the 8ØC31 microcomputer may be obtained from the manufacturer, Intel Corp.
The internal memory space is broken up into four banks of registers, a set of bit by bit programmable special function registers, and 1ØØ bytes of internal 8-bit wide high speed RAM memory 54. A memory map of this RAM is shown in Figure 6. The internal data RAM 54 holds the run time stack, the working registers, and the temporary variables for the system while it is in operation. This internal RAM will also hold temporary information when the system is placed in the idle mode.
The microprocessor 28 accesses all external devices through a memory mapped I/O scheme that maps all devices into the upper 8K bytes of external address space. Data memory 32 has access, on 8K boundaries, to the other 56K bytes of space. Not all of the available memory or I/O space is used, allowing room for future expansion. The external memory map is shown in Figure 7. Code space consists of the three 8K byte EPROMs. All of the executable machine instructions reside in these EPROMs. Those skilled in the art will recognize that the economies of large scale manufacturing could allow some of this code to be moved onto internal processor ROM. The memory map for the code space is shown in Figure 8. Thus, the memory maps of Figures 7 and 8 represent the contents of data and code memories 29, 3Ø, 31, and 32 shown in Figure 1. The EPROMs are, in the preferred embodiment, Intel 27C64 8K by 8-bit wide CMOS devices. The nonvolitile RAM 33 may be a conventional volitile CMOS RAM with a continuous battery power supply which is on even when the system is turned off. This memory 33 holds all of the configure mode values and the memory screens. The static RAM 32 holds all temporary screen images and many of the non-time critical program variables. The configure data and the calibration adjustment tables are moved from nonvolitile memory 33 to RAM 32 immediately after power up. The values output from the A/D converter 21 are also stored in the RAM 32. In the preferred embodiment, the RAM 32 is an ultra-low power CMOS 8K by 8-bit wide RAM made by Toshiba.
There are no real I/O ports; rather, all of the input and output is memory mapped to and from 8-bit CMOS latches 35 composed of 74HC373 devices. All gain, attenuator pad, volume, keyboard, switch, noise source, and phase lock loop controls are driven from specific bits on the latches' inputs and outputs. In the preferred embodiment, the LCD display 27 is one that is manufactured by Hitachi and provides a resolution of 128 pixels high by 48Ø pixels wide. This size allows the operator to view all of the information that has been previously described. The display data resides in the external processor data space and is treated as two contiguous bytes of that space. The keyboard 36 is connected to port number 1 of the microprocessor 28. The physical keyboard used is preferrably an environmentally sealed conductive rubber type device.
Turning now to the interface between the digital and analog circuits, the A/D converter 23 is a 12-bit CMOS device with an external voltage reference. The A/D converter is prefereably a 12Ø5 A/D converter manufactured by National. There are a series of front end analog multiplexers that allow the microprocessor to select the input to the A/D converter. The levels measured include signal level, battery level, DC/DC converter outputs and temperature sensor voltages.
The three phase lock loops 11, 12 and 13 are programmable by the microprocessor 28 through a simple serial protocol. These PLLs tune the VCOs 8, 9 and 1Ø to the proper channel under direct software control. The first PLL steps the device in 6 MHz frequency increments, the second PLL is set to a fixed frequency, and the third PLL advances the output in 5Ø MHz increments.
The output of the converter from filter 15 is provided to the FM detector 16 which may be an RCA 3Ø89A FM IF subsystem integrated circuit. The chip provides a meter drive pinout connection from the output side of the limiting amplifiers. This meter drive signal is inherently logarithmic, and so no special hardware is required for the desired amplitude display. in order to demodulate the video carrier, a simple peak detector is employed in the track and hold circuits 22. Sampled DC, proportional to the peak amplitude of the measured carrier is applied to the input of the A/D converter 23 for display processing. A simple ratio detector is used to demodulate the IF into baseband audio for driving the speaker.
At the input, the front end attenuator pads 2 and 3 and the noise source are also controlled by the microprocessor 28. The attenuator pads keep the input signal to the converter 7 at an acceptable level of between +1Ø to +2Ø dBmV. Attenuator pad 2 supplies 2Ø dB attenuation, and attenuator 3 supplies 2Ø dB attenuation. This provides switched combination of Ø, 2Ø and 4Ø dB. The microprocessor maintains proper calibration of the instrument by turning off the input signal, switching on the noise source 5, and taking level readings. The readings, along with temperature and individual unit calibration information allow the software to constantly adjust the instrument for optimum performance. The microprocessor makes appropriate adjustments based on the temperature of the instrument as read from the thermister.
Software
The code chosen for the software is PL/M, an Intel Corporation special microprocessor language. This language is compiled and, once compiled, is extremely efficient in the generation of the target processor's machine code. The following is an example of the PL/M code for setting the phase lock loop internal shift registers.
This procedure sets the phase lock loop internal shift registers. Either the /n or /r timer register is selected by passing a Byte value ( use register). The PLL is selected by passing the address ( use pll) of the desired PLL. value for value use register: selects register use pll selects pll
0 /n 1 1
1 /r 2 2
3 3
The pll set value will be placed in the pll followed by the use register select value. Port X is the internal global memory representation of the current value of the latch used to feed the pll and must be changed as the value to the pll is changed.
*/
SET PHASE LOCK LOOP : PROCEDURE( use pll, use register , pll set value)
USING INTERRUPT REGlSTER BANK;
DECLARE (use pll, use register) WORD MAIN; DECLARE (pll set value) WORD MAIN ; DECLARE ( index, data bit) BYTE MAIM; pll set value = ROL(pll set value,3); /* shift first data bit to 0 */ DO index = 1 TO NUMBER OF BITS IN PLL; pll data = BOOLEAN(pll set value); /* read data value */ pll clock = CLOC K ON; /* turn clock on */ pll set value = ROL( pll set value,1 ); /* shift for next value */ pll clock = CLOCK OFF; /* turn clock off */ END;
pll data = BOOLEAN(use register); /* send register select */ pll clock = CLOCK ON; /* turn clock on */ pll clock = CLOCK OFF; /* turn clock off */ CALL LATCH DATA(use pll, LATCH ON); /* set all data for pll */ CALL LATCH DATA(Use pll, LATCH OFF); /* and unlatch values */ END SET PHASE LOCK LOOP;
By dividing the necessary functions in the software into logical layers, the code generated can be modified easily. All that is necessary for the newly added code to replace old code is for it to accept the same input (s) and return the proper value(s). Thus, to add a different display, it is only necessary to rewrite the lowest level functions. Rewritting the software that provides the output to the screen is not required. A distinguishing feature of the software for the portable spectrum analyzer according to the invention is the small, time based operating system that orchestrates all functions. This kernel schedules tasks to occur at times based on the present needs of the system. The system is actually a fairly complex finite state machine which derives all of its state information from the external keyboard. The three units of the operating system are the tasker, scheduler, and clock. There are no priorities except time of execution, although those skilled in the art will recognize that priorities can be easily added to the system. Further, time of execution is not guaranteed by the tasker, only that the scheduled routine will not execute before the time requested. Thus, the operating system is not a "real time" operating system.
The scheduler is called with the address of the next procedure to be executed and with the time from now at which it should be executed. It then sorts the task, by time, with other tasks in a wait list. Up to ten tasks can be in the wait list.
The granularity of the system clock is one millisecond. Every clock tick causes the processor to be interrupted with the highest priority interrupt in the system (i.e., no other process can interrupt the clock), and look at the lowest time in the wait list. If the time (or times if more than one task has the exact same delay) is at zero, then the clock routine removes the task(s) address from the wait list and places it in the ready list. Up to ten tasks can be in the ready list. The tasker is called once at system startup and given the first address of a process to execute, and it is never directly called again. It then sets up the wait and ready lists, and executes the first process. If during the course of events no process is in the ready list after the previously executing process has released to the tasker, the tasker will put the microprocessor in the "sleep mode" to reduce the power consumption to one tenth that of normal operation, and wait for a clock tick interrupt. To restate the tasker operation, the tasker is always running in the background, it calls procedures to be executed by their addresses in the ready list, and when the procedures terminate, control returns to the tasker. It should be noted that one ramification of this design is that if no tasks are in the ready and wait lists, the system will hang in the tasker waiting for a task to appear in the ready list. The user of the operating system must therefore be sure that scheduled tasks in turn schedule other tasks to form an unbroken succession of scheduled events from power up to power down. The hardware includes a "watchdog" timer that will reset the microprocessor if not written to within a short period of time. The watchdog timer is strobed every time the tasker calls a procedure to execute and is thus reset. This means that if the task that is executing takes longer than the watchdog quanta, or the ready and wait list both become empty, the entire system will be reset. The tasker module is set forth in the following PL/M listing.
TASKER MODULE:
DO;
$INCLUDE (MOD51 DCL)
DECLARE RESET TIME HIGH LITERALLY Timer Zero High Register - OFCH ,
DECLARE RESET TIME LOW LITERALLY Ti mer Zero Low Register - 018H ;
DECLARE RESET TIME LITERALLY 'RESET TIME HIGH; RESET TIME LOW' ;
DECLARE FOREVER LITERALLY 'WHILE 1';
DECLARE HANG LITERALLY 'DO WHILE 1;END':
DECLARE NIL LITERALLY '255';
DECLARE DO NOT WAIT IF THIS SMALL LITERALLY '1';
DECLARE MAX PROCESS LΠΈRALLY '10';
DECLARE Process Table(MAX PROCESS) t
STRUCTURE (Procedure Address WORD, Delta Time BYTE,Li BYTE) AOX;
DECLARE (P Front, P Wait, P Wait Q. P Avail, Count Down) BYTE; DECLARE (Process TabIe Se maphore, Clock Missed) BIT;
DECLARE Error Code BYTE AUX;
DECLARE SCHEDULE MISSED MISSED LITERALLY '1'
DECLARE CLOCK MISSED MISSED LITERALLY '2';
DECLARE POP EMPTY WAIT LITERALLY '3';
DECLARE SCHEDULE LOCK OUT LITERALLY '4';
DECLARE AVAIL OVER 1 LITΈRALLY '5';
DECLARE AVAIL OVER 2 LITERALLY '6';
DECLARE AVAIL OVER 3 LITERALLY '7';
DECLARE AVAIL OVER 4 LITERALLY '8';
Figure imgf000027_0001
Figure imgf000028_0001
/* BUILD READY QUEUE WITH procedure address AND WAIT QUEUE AS EMPTY */
P Front - 0;
Process Table(0) Link-1;
Process Table(l) Procedure Address - procedure address;
Process Table(l) Link -NIL;
P Wait P - 1;
P Wait Q - NIL;
Error Code - 0;
Process TabIe Semaphore - 1;
Clock Missed - 0;
/* INITIATE CLOCK */
Count Down - 0; Timer Modify Register - 011H; RESET TIME
Timer Zero Interrupt Prior - 1; Ti mer Zero Run - 1; Ti mer Zero Interrupt Enable - 1; ENABLE
DO FOREVER; DO WHILE P Front - P Wait P; END; /* RESET WATCHDOG TIMER HERE */ p - P Front; P F Front -Process Table (p) Link; Process Table(p) Link - P Avail; P Avail-p; next procedure address - Process Table(P Front) Procedure Address; CALL next procedure address; END; END TASKER; SCHEDULE: PROCEDURE (procedure address, from now) PUBLIC; DECLARE procedure address WORD; DECLARE from now BYTE; DECLARE (p. q. r. delta, oldcount) BYTE; ≀ IF RUN CHECKS Error Code - SCHEDULE MISSED MISSE D; IF Clock Missed THEN HANG; Error Code - SCHEDULE LOCK OUT; IF NOT TESTCLEAR (Process Table Semaphore) THEN HANG; ≀ ENDIF
IF from now <-DO NOT WAIT IF THIS SMALL THEN DO; ≀ IF RUN C HECKS Error Code SCHEDULE MISSED MISSED; IF Clock Missed THEN HANG; Error Code SCHEDULE LOCK O UT; IF NOT TESTCLEAR (Process Table Semsphore) THEN HANG;≀ ENDIF
p-P Avail; P Avail -Process Table(p) Link; Process Table (p) Procedure Address-procedure address; Process Table (p) Link-P Wait Q; Process Table(P Wait P)Link -p; P Wait P-p; END; ELSE IF from now <Count Down THEN DO; Process Table(P Wait Q) Delta Time Count Down-from now; Count Down-from now; ≀ IF RUN CHECKS Error Code -AVAIL OVER 2; IF P Avail -NIL THEN HANG; ≀ ENDIF
p -P Avail; P Avail- Process Table(p) Link; Process Table (p) Procedure Address-procedure address; Process Table (p) Link - P Wait Q; Process Table (P Wait P) Link -p; P Wait Q-p; END; ELSE IF P Wait Q-NIL THEN DO; ≀ IF RUN CHECKS Error Code - AVAIL OVER 3; IF P Avail - NIL THEN HANG; ≀ ENDIF
p - P Avail; P Avail - Process Table (p) Link; Process Table (p) Procedure Address- procedure address; Process Table (p) Link-NIL; Process Table (P Wait P)Link - p; P Wait Q-p; Count Down -from now; END; ELSE DO; p - P Wait Q; q-Process Table (p) Link; delta -from now -Count Down ;
r-1;
DO WHILE BOOLEAN(r);
IF q-NIL THEN r-0;
ELSE IF delta <Process Table(q) Delta Time THEN r-0;
ELSE DO; delta - delta - Process Table(q) Delta Time; p-q: q-Process TabIe(q) Link; END; END;
≀ IF RUN CHECKS
Error Code - A VAIL OVER 4;
IF P Avail - NIL THEM HANG; ≀ ENDIF r-P Avail;
P Avail - Process Table(r) Link; Process Table(r)Procedure Address- procedure address; Process Table(r) Delta Time - delta; Process Table(r)Link - q; Process Table(p) Link - r; END;
Process Table Semaphore - 1;
Figure imgf000034_0001
The input/output library of the system includes all the procedures that control the LCD display, A/D converter, multiplex circuits, phase lock loops, track and hold circuits, keyboard, switchable attenuators, IF gain circuitry, and audio circuits. These procedures are called by the upper level tasks to perform specific functions at the lowest level in the hardware. They are generally layered so that a change in the exact hardware device will only require a change in the functional control layer of the software, the functional request will not change unless the product specifications are changed. Some of the more useful procedures are listed below.
A. UPDATE ZOOM DISPLAY
This procedure places the video and audio bar graph Images on the LCD screen vhen the unit is in ZOOM Mode.
B. UPDATE-DISPLAY
This routine takes the memory screen image and dumps it to the LCD display while the unit is in sweep mode.
C. DRAW HORIZOHTAL LINE
This procedure will place a horizontal line of given length at a given place on the LCD display.
D. ERASE HORIZONTAL LINE
This will place a blank horizontal line of a given length at a given place on the display.
E. DRAW VERTICAL LINE
This procedure vill place a vertical line of a given length at a given place on the display.
F. ERASE VERTICAL LINE
This will place a blank vertical line of a given length at a given place on the display.
G. DECODE KEY PRESSES
This routine vill scan the keyboard and return the keypress value. It has the ability to decode tyo simultaneous keypresses (ie: the memory and store keys held down at the same time). H. BLANK-DISPLAY
This will completely erase the display.
I. DRAW CHARACTER
As there is no onboard character generator within the LCD unit, this routine will take an ASCII value and map a character to the LCD. J. DRAW INVERSE CHARACTER
Same as DRAW-CHARACTER except the character will be inverse (light character on a dark background). K. BEEP
This procedure will cause the speaker to BEEP. L. WRITE STRING
This procedure will place a string of ASCII characters on the LCD at a specific location.
M. WRITE INVERSE STRING
This procedure will place a string of inverse ASCII characters on the LCD at a specific location. N. WRITE INTEGER
This procedure will place an ASCII character corresponding to an integer value on the LCD display. O. PRINT SCREEN
This routine will fill the entire LCD screen with text by doing a memory dump of those text character. s.
Keymode is the software that controls all the user interface to the system. It displays data and screen templates and decides what to do with valid key presses. What follows is the list of variables used in keymode, with the values they may assume, and a list of the possible keys that could be pressed in any mode.
A . KEYVALUE ROUTINE VARIABLES
VARIABLES RANGE OF VALUESMEMORY FLAG (BIT) ON, OFF RANGE FLAG R 50 TO 550, R 5 TO 250
VIDEO FLAG (BIT ) VIDEO, AADIO BIN NUMBER (BYTE) 0, 1, 2, 3 CURRENT MODE (BYTE) SWEEP MODE ZOOM MODE HUM MODE SIGNAL NOISE MODE HELP MODE HIGHEST FOR THIS MODE SWEEP MAX ZOOM MAX HUM MAX SIGNAL NOISE MAX HELP MAX
HIGHEST AVAILABLE CHANNEL (BYTE) HIGH RANGE HIGH CHANNEL LOW RANGE HIGH CHANNELLOWEST AVAILABLE CHANNEL (BYTE ) HIGH RANGE LOW CH ANNE L LOW RANGE LOW CHA NNELS AVED HIGHEST FOR THIS MODE (BYTE ) SWEEP MAX ZOOM MAX HUM MAX SIGNAL NOISE MAX
HELP MAX SAVED MODE (BYTE) SWEEP MODE ZOOM MODE HUM MODE SIGNAL NOISE MODE HELP MODE VOLUME LEVEL ( BYTE) OFF, LOW, HIGH CURRENT BIN ADDRESS ) IF VIDEO FLAG=ON V BIN ZERO ADDRESS + (BIN WIDTH*BIN NUMBER)
IF VIDEO FLAG= OFF BIN ZERO ADDRESS + (BIN WIDTH* OFFSET B. POSSIBLE KEYS ALLOWED VALID KEYS ON LIGHT DISPLAY STORE VOLUME HUM NOISE SWEEP/ZOOM 50-550/5-250 VIDEO/AUDIO EXIT HELP LEFT CURSOR RIGHTCURSOR MEMORY
C. DYNAMIC VARIABLE ALLOCATION AND KEY VALUES ALLOWED
Figure imgf000042_0001
[VARIABLES]
BIN NUMBER (BYTE) =0 CURRENT MODE (BYTE) = SWEEP MODE HIGHEST FOR THIS MODE (BYTE) = SWEEP MAX VOLUME LEVEL (BYTE) = OFF
Figure imgf000042_0002
[VARIABLES]
VIDEO FLAG (BIT) = VIDEO CLIRRENT BIN ADDRESS(WORD) = BIN ZERO ADDRESS
Figure imgf000042_0003
[VARIABLES]
RANGE FLAG (BIT) = R 50 TO 550
HIGHEST AVAILABLE CHANNEL (BYTE) = HIGH RANGE HIGH CHANNEL
LOWEST AVAILABLE CHANNEL (BYTE) = HIGH RANGE LOW CHANNEL
[VALID KEYS]
ON LIGHT
DISPLAY STORE
VOLUME HUM NOISE SWEEP/ZOOM 50-550/5-250 VIDEO/AUDIO EXIT HELPLEFT CURSOR RIGHT CURSORMEMORY
Figure imgf000043_0001
[VARIABLES] CURRENT MODE (BYTE ) = HELP MODE HIGHEST FOR THIS MODE (BYTE) = HELP MAX SAVED HIGHEST FOR THIS MODE (BYTE) = SWEEP MAX SAVED MODE (BYTE ) = SWEEP MODE [VALID KEYS] ALL KEYS ARE VALID IN HELP
Figure imgf000043_0002
[VARIABLES] CURRENT MODE (BYTE) = SIGNAL NOISE MODE HIGHEST FOR THIS MODE (BYTE ) = SIGNAL NOISE MAX [VALID KEYS] ON LIGHT DISPLAY STORE VOLUME HUM NOISE SWEEP/ZOOM 50-550/5-250 VIDEO/AUDIO EXIT HELP LEFT CURSOR RIGHT CURSOR MEMORY
Figure imgf000044_0001
[VARIABLES] CURRENT_ MODE (BYTE) = HELP_ MODE HIGHEST_ FOR_ THIS_ MODE (BYTE) = HELP_ MAX SAVED_ HIGHEST_ FOR_ THIS_ MODE (BYTE) = SIGNAL_ NOISE_ MAX SAVED_ MODE (BYTE) = SIGNAL_ NOISE_ MODE [VALID KEYS] ALL KEYS ARE VALID IN HELP
Figure imgf000044_0002
[VARIABLES] CURRENT_ MODE (BYTE ) = HUM_ MODE HIGHEST_ FOR_ THIS_ MODE (BYTE ) = HUM_ MAX [VALID KEYS] ON LIGHT DISPLAY STORE VOLUME HUM NOISE SW EEP/ZOOM 50-550/5-250 VIDEO/AUDIO EXIT HELP LEFT CURSOR RIGHT CURSOR MEMORY
Figure imgf000045_0002
[VARIABLES]
CURRENT_ MODE (BYTE) = HELP_ MODE
HIGHEST_ FOR_ THIS_ MODE (BYTE) = HELP_ MAX
SAVED_ HIGHEST_ FOR_ THIS_ MODE (BYTE) = HUM_MAX
SAVED_ MODE ( BYTE ) = HUM_ MODE
[VALID KEYS)
ALL KEYS ARE VALID IN HELP
Figure imgf000045_0001
[VARIABLES]
RANGE_ FLAG (BIT) = R_ 5_TO_ 250 HIGHEST_ AVAILABLE_ CHANNEL (BYTE) = LOW_ RANGE_ HIGH_ CHANNEL LOWEST_ AVAILABLE_ CHANNEL(BYTE ) = LOW_ RANGE_ LOW_ CHANNEL [VALID KEYS!
ON LIGHT
DISPLAY STORE
VOLUME HUM
NOISE SWEEP/ZOOM
50-550/5-250 VIDEO/AUDIO
EXIT HELP
LEFT CURSOR RIGHT CURSOR MEMORY
[VARIABLES!
CURRENT_ MODE (BYTE) = HELP_ MODE
HIGHEST_FOR_THIS_MODE(BYTE) = HELP_MAX
SAVED_ HIGHEST_FOR_THIS_MODE(BYTE) = SWEEP-MAX
SAVED_MODE(BYTE) = SWEEP_MODE
[VALID KEYS]
ALL KEYS ARE VALID IN HELP
[VARIABLES]
CURRENT_MODE(BYTE) = SIGNAL_NOISE_MODE
HIGHEST_FOR_THIS_MODE(BYTE) = SIGNAL_NOISE_MAX
[VALID KEYS]
ON LIGHT
DISPLAY STORE
VOLUME HUM
NOISE SWEEP/ZOOM
50-550/5-250 VIDEO/AUDIO
EXIT HELP
LEFT CURSOR RIGHT CURSOR
MEMORY
[VARIABLES]
CURRENT_MODE(BYTE) = HELP_MODE
HIGHEST_FOR_THIS_MODE(BYTE) = HELP_MAX
SAVED_HIGHEST_FOR_THIS_MODE(BYTE) = SIGNAL_NOISE_MAX
SAVED_MODE(BYTE) = SIGNAL_NOISE_MODE
[VALID KEYS]
ALL KEYS ARE VALID IN HELP
Figure imgf000047_0001
[VARIABLES]
CURRENT_MODE (BYTE)= HUM_MODE
HIGHEST_FOR_THIS_MODE(BYTE) = HUM_MAX
[VALID KEYS]
ON LIGHT DISPLAY STORE
VOLUME HUM
NOISE SWEEP/ZOOM
50-550/5-250 VI DEO/ AUDIO
EXIT HELP
LEFT CURSOR RIGHT CURSOR
MEMORY
Figure imgf000047_0002
[VARIABLES]
CURRENT_MODE (BYTE) = HELP_MODE
HIGHEST_FOR_THIS_MODE(BYTE) = HELP_MAX
SAVED_HIGHEST_FOR_THIS_MODE(BYTE) = HUM_MAX
SAVED_MODE(BYTE) = HUM_MODE
[VALID KEYS]
ALL KEYS ARE VALID IN HELP
Figure imgf000048_0001
[VARIABLES]
VIDEO_FLAG(BIT) = AUDIO
CURRENT_BIN_ADDRESS(WORD)= BIN_ZERO_ADDRESS + AUDIO_OFFSET
Figure imgf000048_0002
[VARIABLES]
RANGE_FLAG(BIT) = R_50_TO_550
HIGHEST_AVAILABLE_CHANNEL(BYTE) = HIGH_RANGE_HIGH_CHANNEL LOWEST_AVAILABLE_CHANNEL(BYTE) = HIGH_RANGE_LOW_CHANNEL [VALID KEYS]
ON LIGHT
DISPLAY STORE
VOLUME HUM
NOISE SWEEP/ZOOM
50-550/5-250 VIDEO/AUDIO
EXIT HELP
LEFT CURSOR RIGHT CURSOR
MEMORY
Figure imgf000048_0003
[VARIABLES]
CURRENT_MODE (BYTE) = HELP_MODE
HIGHEST_FOR_ THIS_MODE(BYTE) = HELP_MAX
SAVED_ HIGHEST_FOR_THIS_MODE(BYTE ) = SWEEP_MAX
SAVED_MODE(BYTE)= SWEEP_MODE
[VALID KEYS]
ALL KEYS ARE VALID IN HELP
Figure imgf000049_0001
[VARIABLES]
RANGE_FLAG(BIT) = R_5_TO_250 HIGHEST_AVAILABLE_CHANNEL(BYTE ) = LOW_RANGE_HIGH_CHANNEL LOWEST_AVAILABLE_CHANNEL (BYTE ) = LOW_RANGE_LOW_CHANNEL [VALID KEYS]
ON LIGHT
DISPLAY STORE
VOL UME HUM
NOISE SWEEP/ZOOM
50-550/5-250 VIDEO/AUDIO
EXIT HELP
LEFT CURSOR RIGHT CURSOR
MEMORY
Figure imgf000049_0002
[VARIABLES]
CURRENT_MODE (BYTE) = HELP_MODE
HIGHEST_FOR_THIS_MODE(BYTE) = HELP_MAX
SAVED_HIGHEST_FOR_THIS_MODE(BYTE ) = SWEEP_MAX
SAVED_MODE(BYTE)= SWEEP-MODE
[VALID KEYS]
ALL KEYS ARE VALID IN HELP
Figure imgf000050_0001
[VARIABLES]
BIN_NUMBER(BYTE ) = 0 CURRENT_MODE ( BYTE )= ZOOM_MODE HIGHEST_FOR_THIS_MODE(BYTE )= Z00M_ MAX
Figure imgf000050_0002
[VARI ABLES]
RANGE_FLAG(BIT ) = R_50_TO_550 HIGHEST_AVAILABLE_CHANNEL (BYTE ) = HIGH_RANGE_HIGH_CHANNEL LOWEST_AVAILABLE_CHANNEL (BYTE ) = HIGH_RANGE_LOW_CHANNEL
Figure imgf000050_0003
[VAR IABLES]
VOLUME_LEVEL (BYTE ) = OFF [VAL ID KEYS]
ON LIGHT
DISPLAY STORE
VOLUME HUM
NOISE SWEEP/ZOOM
50-550/5-250 VI DEO/ AUDIO
EXIT HELP
LEFT CURSOR RIGHT CURSOR
MEMORY
Figure imgf000051_0001
[VARIABLES]
CURRENT_MODE (BYTE) = HELP_MODE
HIGHEST_FOR_THIS_MODE (BYTE) = HELP_MAX
SAVED_ HIGHEST_FOR_THIS_MODE(BYTE) = ZOOM_MAX
SAVED_MODE (BYTE) = ZOOM_MODE
[VALID KEYS]
ALL KEYS ARE VALID IN HELP
Figure imgf000051_0002
[VARIABLES]
VOLUME_LEVEL (BYTE) = LOW, HIGH
[VALID KEYS]
ON LIGHT
DISPLAY STORE
VOLUME HUM
NOISE SWEEP/ZOOM
50-550/5-250 VI DEO/ AUDIO
EXIT HELP
LEFT CURSOR RIGHT CURSOR
MEMORY
Figure imgf000052_0001
[VARIABLES]
CURRENT_MODE (BYTE ) = HELP_MODE
HIGHEST_FOR_THIS_MODE (BYTE) = HELP_MAX
SAVED_ HIGHEST_FOR_THIS_MODE(BYTE ) = ZOOM_MAX
SAVED_MODE (BYTE) = ZOOM_MODE
[VALID KEYS]
ALL KEYS ARE VALID IN HELP
Figure imgf000052_0002
[VARIABLES]
RANGE_FLAG(BIT) = R_5_TO_250
HIGHEST_AVAILABLE_CHANNEL (BYTE ) = LOW_RANGE_HIGH_CHANNEL
LOWEST AVAILABLE CHANNEL (BYTE ) = LOW_RANGE_LOW_CHANNEL
Figure imgf000052_0003
[VARIABLES]
VOLUME_LEVEL (BYTE) = OFF [VALID KEYS]
ON LIGHT
DISPLAY STORE
VOLUME HUM
NOISE SWEEP/ZOOM
50-550/5-250 VIDEO/AUDIO
EXIT HELP
LEFT CURSOR RIGHT CURSOR
MEMORY
Figure imgf000052_0004
[VARIABLES]
CURRENT_MODE (BYTE) = HELP_MODE
HIGHEST_FOR_THIS_MODE (BYTE) = HELP_MAX
SAVED_ HIGHEST_FOR_THIS_MODE(BYTE ) = ZOOM_MAX
SAVED_MODE (BYTE) = ZOOM_MODE
[VALID KEYS]
ALL KEYS ARE VALID IN HELP
Figure imgf000053_0001
[VARIABLES]
VOLUME_LEVEL (BYTE) = LOW, HIGH
[VALID KEYS]
ON LIGHT
DISPLAY STORE
VOLUME HUM
NOISE SWEEP/ZOOM
50-550/5-250 VI DEO/ AUDIO
EXIT HELP
LEFT CURSOR RIGHT CURSOR
MEMORY
Figure imgf000053_0002
[VARIABLES]
CURRENT_MODE (BYTE) = HELP_MODE
HIGHEST_FOR_THIS_MODE (BYTE) = HELP_MAX
SAVED_ HIGHEST_FOR_THIS_MODE(BYTE ) = ZOOM_MAX
SAVED_MODE (BYTE) = ZOOM_MODE
[VALID KEYS]
ALL KEYS ARE VALID IN HELP
Figure imgf000054_0001
DISPLAY STORE VOL UME HUM NOISE SWEEP/ZOOM
50-550/5-250 VIDEO/AUDIO EXIT HELP
LEFT CURSOR RIGHT CURSOR MEMORY
Figure imgf000055_0001
[VARIABLES]
CURRENT_MODE (BYTE) = HELP_MODE
HIGHEST_FOR_THIS_MODE(BYTE) = HELP_MAX
SAVED_HIGHEST_FOR_THIS_MODE(BYTE ) = SWEEP_MAX
SAVED_MODE(BYTE ) = SWEEP_MODE
[VALID KEYS]
ALL KEYS ARE VALID IN HELP
Figure imgf000055_0002
[VARIABLES]
RANGE_FLAG ( BIT) = R_5-TO_250 HIGHEST_AVAILABLE_CHANNEL (BYTE ) = LOW_RANGE_HIGH_CHANNEL LOWEST_AVAILABLE_CHANNEL(BYTE ) = LOW_RANGE_LOW_CHANNEL [VALID KEYS] ON LIGHT
DISPLAY STORE
VOLUME HUM
NOISE SWEEP/ZOOM
50-550/5-250 VIDEO/AUDIO
EXIT HELP
LEFT CURSOR RIGHT CURSOR
MEMORY
[VARIABLES]
CURRENT_MODE (BYTE) = HELP_MODE
HIGHEST_FOR_THIS_MODE(BYTE) = HELP_MAX
SAVED_HIGHEST_FOR_THIS_MODE(BYTE ) = SW EEP_MAX
SAVED_MODE(BYTE)= SWEEP_MODE
[VALID KEYS]
ALL KEYS ARE VALID IN HELP
AMflfo.
[VARIABLES]
VIDEO_FLAG(BIT) = AUDIO CURRENT_BIN_ADDRESS(WORD)=
BIN_ZERO_ADDRESS + (BIN_WIDTH * BIN_NUMBER) + AUDIO_OFFSET
[VARIABLES]
RANGE_FLAG(BIT) = R_50_TO_550
HIGHEST_AVAILABLE-CHAHNEL(BYTE) = HIGH_RANGE_HIGH_CHANNEL LOWEST_AVAILABLE_CHANNEL(BYTE) = HIGH_RANGE_LOW_CHANNEL
[VALID KEYS]
ON LIGHT
DISPLAY STORE
VOLUME HUM
NOISE SWEEP/ZOOM
50-550/5-250 VIDEO/AUDIO
EXIT HELP
LEFT CURSOR RIGHT CURSOR
MEMORY
Figure imgf000057_0001
[VARIABLES]
CURRENT_MODE (BYTE ) = HELP_MODE
HIGHEST_FOR_THIS_MODE(BYTE) = HELP_MAX
SAVED_HIGHEST_FOR_THIS_MODE(BYTE ) = SWEEP_MAX
SAVED_MODE(BYTE)= SWEEP_MODE
[VALID KEYS]
ALL KEYS ARE VALID IN HELP
Figure imgf000057_0002
[VARIABLES]
RANGE_FLAG(BIT) = R_5_TO_250 HIGHEST_AVAILABLE_CHANNEL(BYTE ) LOW_RANGE_HIGH_CHANNEL LOWEST_AVAILABLE_CHANNEL(BYTE ) LOW_RANGE_LOW_CHANNEL [VALID KEYS]
ON LIGHT
DISPLAY STORE
VOLUME HUM
NOISE SWEEP/ZOOM
50-550/5-250 VIDEO/AUDIO
EXIT HELP
LEFT CURSOR RIGHT CURSOR
MEMORY
Figure imgf000058_0003
[VARIABLES]
CURRENT_MODE (BYTE ) = HELP_MODE HIGHEST_FOR_THIS_MODE(BYTE) = HELP_MAX
SAVED_HIGHEST_FOR_THIS_MODE(BYTE ) SWEEP_MAX SAVED_MODE(BYTE)= SWEEP-MODE [VALID KEYS] ALL KEYS ARE VALID IN HELP
Figure imgf000058_0002
[VARIABLES]
BIN_NUMBER(BYTE) = 0, 1, 2, 3 CLIRRENT_MODE(BYTE)= ZOOM_MODE HIGHEST_FOR_THIS_MODE(BYTE)= ZOOM_MAX
Figure imgf000058_0001
[VARIABLES]
RANGE_FLAG(BIT) = R_50_TO_550
HIGHEST_AVAILABLE_CHANNEL (BYTE) = HIGH_RANGE_HIGH_CHANNEL
LOWEST_AVAILABLE_CHANNEL (BYTE) = HIGH_RANGE_LOW_CHANNEL
[VALID KEYS]
ON LIGHT
DISPLAY STORE
VOLUME HUM
NOISE SWEEP/ZOOM
50-550/5-250 VIDEO/AUDIO
EXIT HELP
LEFT CURSOR RIGHT CURSOR
MEMORY
Figure imgf000059_0001
[VARIABLES]
CURRENT_MODE (BYTE) = HELP_MODE
HIGHEST_FOR_THIS_MODE (BYTE) = HELP_MAX
SAVED_HIGHEST_FOR_THIS_MODE(BYTE) = ZOOM_MAX
SAVED_MODE (BYTE) = ZOOM_MODE
[VALID KEYS]
ALL KEYS ARE VALID IN HELP
Figure imgf000059_0002
[VARIABLES]
RANGE_FLAG(BIT ) = R_5_TO_250
HIGHEST_AVAILABLE_CHANNEL (BYTE ) = LOW_RANGE_HIGH_CHANNEL
LOWEST_AVAILABLE_CHANNEL (BYTE) = LOW_RANGE_LOW_CHANNEL
[VALID KEYS]
ON LIGHT DISPLAY STORE
VOLUME HUM
NOISE SWEEP/ZOOM
50-550/5-250 VIDEO/AUDIO
EXIT HELP
LEFT CURSOR RIGHT CURSOR
MEMORY
Figure imgf000060_0001
[VARIABLES]
CURRENT_MODE (BYTE) = HELP_MODE
HIGHEST_FOR_THIS_MODE (BYTE ) = HELP_MAX
SAVED_HIGHEST_FOR_THIS_MODE(BYTE) = ZOOM_MAX
SAVED_MODE (BYTE) = ZOOM_MODE
[VALID KEYS]
ALL KEYS ARE VALID IN HELP
Attached as appendicies to this specification are the PL/M program listings for the keyboard control and the input/output library for the system.
While we have described our invention with respect to a preferred embodiment thereof, those skilled in the art will understand that changes may be made therein without departing from the spirit and scope of our invention.

Claims

1. A portable spectrum analyzer for making field measurements in a multichannel configured coaxial cable communication environment comprising: a microprocessor; memory means connected to said microprocessor for storing control code and data; switch means connected to said microprocessor for providing operator input signals to said microprocessor; signal selecting means connectable to a coaxial cable and controlled by said microprocessor for selectively tuning a plurality of channels; signal detection means connected to receive the output of said signal selecting means for sampling and storing data in said memory means; and visual display means connected to said microprocessor for displaying measured data.
2. The portable spectrum analyzer recited in claim 1 wherein said microprocessor is programmed to provide a plurality of modes of operation including a sweep mode in which said visual display means displays video or audio signal levels of a plurality of channels.
3. The protable spectrum analyzer recited in claim 2 wherein said microprocessor is further programmed to provide a zoom mode in which said visual display means displays video and audio signal levels of a single channel.
4. The portable spectrum analyzer recited in claim 3 wherein said microprocessor is programmed to provide a memory mode in which said visual display means displays previously measured data for a selected location in said coaxial cable.
5. The portable spectrum analyzer recited in claim 1 further comprising attenuator means connected between the input of said signal selecting means and a test point on said coaxial cable and controlled by said microprocessor for automatically maintaining the input signal level within predetermined limits.
6. The portable spectrum analyzer recited in claim 1 further comprising calibration means connected between the input of said signal selecting means and a test point on said coaxial cable and controlled by said microprocessor for substituting a noise signal of predetermined level for the input signal at said test point to automatically calibrate said spectrum analyzer.
7. The spectrum analyzer recited in claim 2 wherein said switch means includes cursor keys for controlling a cursor displayed by said visual display means, said microprocessor being responsive to the operation of said cursor keys in said sweep mode of operation for moving said cursor and providing a display of channel information for the channel selected by said cursor.
8. The spectrum analyzer recited in claim 2 wherein said switch means includes a video/audio key, said microprocessor being responsive to the operation of said video/audio key said sweep mode of operation for toggling between displays on said visual display means of video data and audio data for said plurality of channels.
PCT/US1986/001063 1985-05-23 1986-05-20 Portable spectrum analyzer WO1986007157A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE1986903830 DE229103T1 (en) 1985-05-23 1986-05-20 PORTABLE SPECTRUM ANALYZER.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/737,217 US4685065A (en) 1985-05-23 1985-05-23 Portable sampling spectrum analyzer
US737,217 1985-05-23

Publications (1)

Publication Number Publication Date
WO1986007157A1 true WO1986007157A1 (en) 1986-12-04

Family

ID=24963043

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1986/001063 WO1986007157A1 (en) 1985-05-23 1986-05-20 Portable spectrum analyzer

Country Status (4)

Country Link
US (1) US4685065A (en)
EP (1) EP0229103A1 (en)
CA (1) CA1252149A (en)
WO (1) WO1986007157A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0516452A2 (en) * 1991-05-31 1992-12-02 Leader Electronics Corp. Television signal level meter
EP0588662A1 (en) * 1992-09-18 1994-03-23 Leader Electronics Corp. CN ratio measuring apparatus
EP1971027A1 (en) * 2007-03-13 2008-09-17 MARK STAR Servo-tech Co., Ltd. Hand-held spectrum scanner

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4942614A (en) * 1986-04-16 1990-07-17 Australian Atomic Energy Commission Calibration of ultrasonic transducers
US4782284A (en) * 1988-01-12 1988-11-01 Bsr North America Ltd. Frequency analyzer
US4862506A (en) * 1988-02-24 1989-08-29 Noise Cancellation Technologies, Inc. Monitoring, testing and operator controlling of active noise and vibration cancellation systems
US5590343A (en) * 1988-12-09 1996-12-31 Dallas Semiconductor Corporation Touch-sensitive switching circuitry for power-up
US5175845A (en) * 1988-12-09 1992-12-29 Dallas Semiconductor Corp. Integrated circuit with watchdog timer and sleep control logic which places IC and watchdog timer into sleep mode
CA2030272C (en) * 1989-11-24 1995-06-27 David R. Brunfeldt Vector network analyzer
US5262957A (en) * 1990-11-09 1993-11-16 Global Communications, Inc. Inexpensive portable RF spectrum analyzer with calibration features
US5263185A (en) * 1990-12-10 1993-11-16 Trilithic, Inc. AM distortion measurement method and apparatus usable on active audio carriers
US5233418A (en) * 1991-10-25 1993-08-03 Tektronix, Inc. Catv sweep system using a gated receiver
US5418460A (en) * 1992-07-21 1995-05-23 Innovatum, Inc. Compact triaxial AC magnetic field analyzer/dosimeter using swept bandpass filters
US5493210A (en) * 1993-06-10 1996-02-20 Trilithic, Inc. Combined signal level meter and leakage detector
JPH0746579A (en) * 1993-07-21 1995-02-14 Sony Corp Signal monitoring device
US5577067A (en) * 1994-02-22 1996-11-19 Comsonics, Inc. Data acquisition and storage system for telecommunication equipment to facilitate alignment and realignment of the telecommunications equipment
US5485199A (en) * 1994-07-19 1996-01-16 Tektronix, Inc. Digital audio waveform display on a video waveform display instrument
US5628619A (en) * 1995-03-06 1997-05-13 Sabratek Corporation Infusion pump having power-saving modes
DE59611437D1 (en) * 1996-02-27 2007-08-23 Micronas Gmbh Circuit for decoding additional information in a broadcast transmission
US5931873A (en) 1996-10-04 1999-08-03 Telxon Corporation Programmable mobile device with thumb wheel
US6580452B1 (en) * 1997-03-05 2003-06-17 Sony Corporation Satellite signal loss on-screen notification
US6384591B1 (en) * 1997-09-11 2002-05-07 Comsonics, Inc. Hands-free signal level meter
US6041076A (en) * 1997-12-02 2000-03-21 Wavetek Corporation Digitally modulated CATV power measurement using undersampling
US6130703A (en) * 1998-02-10 2000-10-10 Scientific-Atlanta, Inc. Local status monitoring of taps in a cable television system
US5965819A (en) * 1998-07-06 1999-10-12 Csi Technology Parallel processing in a vibration analyzer
US6611150B1 (en) 1999-03-31 2003-08-26 Sadelco, Inc. Leakage detector for use in combination with a signal level meter
US6507624B1 (en) 1999-04-21 2003-01-14 Tektronix, Inc. Bandpass sampling architecture for wide-frequency band signal analysis
US7050401B1 (en) * 1999-11-30 2006-05-23 Agilent Technologies, Inc. Monitoring system and method implementing test result display logic
US20020019983A1 (en) * 2000-06-05 2002-02-14 Emsley Brett W. Testing instrument
US7199818B1 (en) * 2000-08-07 2007-04-03 Tektronix, Inc. Status ribbon for display for multiple channels/codes
US6636722B1 (en) 2000-09-12 2003-10-21 Tektronix, Inc. Broadband receiver amplitude/phase normalization using a broadband temperature compensated noise source and a pseudo random sequence generator
US6690769B2 (en) * 2001-02-24 2004-02-10 Telesector Resource Group, Inc. Hand-held telecommunication loop testing device
US6961370B2 (en) * 2001-03-29 2005-11-01 Acterna Sweep method using digital signals
US20020199210A1 (en) * 2001-06-26 2002-12-26 Pingnan Shi Universal test meter for digital signal distribution systems
US7421318B2 (en) * 2001-08-02 2008-09-02 Symbol Technologies, Inc. Mobile terminal with ergonomic housing
US6911196B2 (en) * 2002-07-31 2005-06-28 Samir I. Hamtini Topical medicament for treating nappy rash
ES2341206B1 (en) 2008-05-26 2011-05-03 Sistemas Integrados De Servicios De Telecontrol, S.L. EQUIPMENT AND PROCEDURE FOR MEASURING RADIO AND / OR TELEVISION SIGNS.
ES2361310A1 (en) * 2008-11-27 2011-06-16 Sistemas Integrados De Servicios De Telecontrol, S.L. Radio and/or television signal measuring device
US8823879B2 (en) * 2009-11-12 2014-09-02 Sony Corporation TV feature highlight
CN102368175B (en) * 2011-09-16 2013-12-25 中冶南方(武汉)自动化有限公司 GUI (Graphical User Interface)-based frequency converter keyboard and control method thereof
CN103792496B (en) * 2014-02-21 2020-01-31 福禄克精密测量有限公司 Voice counting of a battery under test

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4244025A (en) * 1979-03-20 1981-01-06 Alshuk Thomas J Rolling mill gauge control system
US4295093A (en) * 1978-11-17 1981-10-13 Marconi Instruments Limited Spectrum analysers
US4321680A (en) * 1980-04-22 1982-03-23 Wavetek Rockland Inc. Spectrum analyzer with frequency band selection
US4482861A (en) * 1982-06-14 1984-11-13 Tektronix, Inc. Waveform measurement and display apparatus
US4568878A (en) * 1984-03-19 1986-02-04 Tektronix, Inc. Spectrum analyzers
US4578638A (en) * 1983-02-27 1986-03-25 Anritsu Electric Co. Ltd. Spectrum analyzer

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4241416A (en) * 1977-07-01 1980-12-23 Systron-Donner Corporation Monitoring apparatus for processor controlled equipment
US4207431A (en) * 1977-09-23 1980-06-10 Broadband Technologies, Inc. Apparatus and method for monitoring a communications system
US4244024A (en) * 1978-08-10 1981-01-06 Hewlett-Packard Company Spectrum analyzer having enterable offsets and automatic display zoom
US4408227A (en) * 1981-06-03 1983-10-04 Cushman Electronics, Inc. Method and apparatus for television distribution system sweep testing
FR2523791B1 (en) * 1982-03-19 1985-01-04 Thomson Csf DEVICE AND APPARATUS FOR TESTING ELECTRONIC EQUIPMENT, PARTICULARLY TELEVISION
US4561093A (en) * 1983-02-22 1985-12-24 Otis Elevator Company Servicing a software-controlled elevator

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4295093A (en) * 1978-11-17 1981-10-13 Marconi Instruments Limited Spectrum analysers
US4244025A (en) * 1979-03-20 1981-01-06 Alshuk Thomas J Rolling mill gauge control system
US4321680A (en) * 1980-04-22 1982-03-23 Wavetek Rockland Inc. Spectrum analyzer with frequency band selection
US4482861A (en) * 1982-06-14 1984-11-13 Tektronix, Inc. Waveform measurement and display apparatus
US4578638A (en) * 1983-02-27 1986-03-25 Anritsu Electric Co. Ltd. Spectrum analyzer
US4568878A (en) * 1984-03-19 1986-02-04 Tektronix, Inc. Spectrum analyzers

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0516452A2 (en) * 1991-05-31 1992-12-02 Leader Electronics Corp. Television signal level meter
EP0516452A3 (en) * 1991-05-31 1994-08-10 Leader Electronics Television signal level meter
EP0588662A1 (en) * 1992-09-18 1994-03-23 Leader Electronics Corp. CN ratio measuring apparatus
US5450623A (en) * 1992-09-18 1995-09-12 Leader Electronics Corp. CN ratio measuring apparatus
EP1971027A1 (en) * 2007-03-13 2008-09-17 MARK STAR Servo-tech Co., Ltd. Hand-held spectrum scanner

Also Published As

Publication number Publication date
EP0229103A1 (en) 1987-07-22
US4685065A (en) 1987-08-04
CA1252149A (en) 1989-04-04

Similar Documents

Publication Publication Date Title
US4685065A (en) Portable sampling spectrum analyzer
US5493210A (en) Combined signal level meter and leakage detector
US5808920A (en) Communications line test apparatus with an improved graphical user interface
US4244024A (en) Spectrum analyzer having enterable offsets and automatic display zoom
CA1124420A (en) Display system for facilitating the setup of a tuning system
US7443385B2 (en) Data processing
KR100536931B1 (en) Measurement acquisition and display apparatus
US4257104A (en) Apparatus for spectrum analysis of an electrical signal
US4888815A (en) Scanning radio receiver
US6359632B1 (en) Audio processing system having user-operable controls
US5465402A (en) Automatic frequency transfer and storage method
US20080180393A1 (en) User Interface with Thin Display Device
US5321420A (en) Operator interface for an electronic measurement system
KR900017286A (en) Synchronization system
US4264958A (en) Video processor for a spectrum analyzer
JPH11248753A (en) System and method for simultaneous calling of automatic measurement in signal measuring system
US4328578A (en) Digital receiver/transceiver synchronization pulse detector for a multiplexing system
US4361907A (en) Direct access channel selection apparatus for a digital tuning system
KR19980060007A (en) Power consumption reduction circuit of liquid crystal display
EP0448267A2 (en) Interactive monitor control system
US4317222A (en) Transceiver/receiver information multiplexing system
EP0971237A2 (en) A simple digital storage oscilloscope user interface
US6418162B1 (en) Frequency spectrum measurement apparatus
EP0416731A2 (en) Simplified interface and method of operation for multi-function apparatus
EP0150409B1 (en) Keyboard-operated rf network analyzer

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 1986903830

Country of ref document: EP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): DE FR GB

WWP Wipo information: published in national office

Ref document number: 1986903830

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1986903830

Country of ref document: EP