Firmware system design for a frequency and time interval analyzer - technical

Hewlett-Packard Journal, Feb, 1989 by Terrance K. Nimori, Lisa B. Stambaugh

Firmware System Design for a Frequency and Time Interval Analyzer

FREQUENCY COUNTERS offer the high resolution and measurement flexibility essential for examining frequency or timing stability. Traditional counters, however, lack measurement control and analysis capabilities for profiling changes in frequency or timing parameters. Although external processing is often used to reveal modulation or jitter components, software complexity and noncontinuous sampling limit the effectiveness of this technique.

Based on continuous measurement technology, the HP 5371A Frequency and Time Interval Analyzer represents a significant contribution to dynamic signal analysis. Powerful analysis and graphics firmware provide enhanced performance capabilities for such applications as frequency modulation and timing jitter measurements.

This article examines the major firmware components of the HP 5371A, and focuses on their design and application to the continuous measurement concept.

Design Objectives

The design objectives of the firmware were strongly influenced by the potential of the continuous measurement technology. These objectives included:

* Supporting continuous measurement processing and statistical and graphical analysis functions

* Providing an enhanced user interface through a menu-driven front panel and a descriptive HP-IB programming language

* Partitioning the firmware system into functional modules that can be combined for extended capabilities

* Leveraging technologies from other HP products.

We concluded early in the design of the HP 5371A that while existing designs offered basic features, performance improvements and additional capabilities were often needed to address these objectives. An example that illustrates this contrast is the microprocessor system. While a conventional counter might use an 8-bit processor and typically 16K bytes of ROM, the HP 5371A uses a 32-bit 68000 microprocessor for overall control. A total of 550K bytes of ROM and 200K bytes of RAM are used. Unlike many existing designs, which were written in assembly language, most of the HP 5371A firmware (approximately 80%) was written in Pascal for maximum flexibility and development efficiency. Only time-critical functions, such as interrupt handlers and hardware interfaces, were written in assembly langauge.

System Architecture

The firmware system for the HP 5371A consists of five major modules (Fig. 1):

* Command Translator

* Measurement Manager

* Display Manager

* HP-IB

* Central Data Base.

These modules are synchronized by a real-time operating system.

The command translator parses keyboard operations or HP-IB commands into instrument settings, which are saved in the central data base. These settings are used by the measurement manager to program the measurement hardware. The measurement manager is also responsible for retrieving and processing measurement results. Menu screens and graphics displays are controlled by the display manager. The HP-IB module builds input command strings and provides a variety of output data formats and status reporting capabilities for the automated test system environment.

Operating System

The HP 5371A operating system is divided into two sections: scheduling executive and command interpretation. The scheduler is responsible for scheduling tasks and for passing messages between these tasks. The command interpretation section includes the command translator and the action-takings tasks that carry out the commands requested.

Messages are used to communicate between tasks. One tasks creates a message and sends it to another task. The second task reacts to this message by performing some action and/or sending another message. Messages are used to send information from task to task, and to synchronize their operations. Messages are created by tasks and left at exchange points to be picked up or received by some other task. Tasks may wait at exchange points for messages for a specified or unspecified length of time. If a default return time is not specified, a task may wait indefinitely for a message. This ensures that the task will not continue execution withtout receiving the proper message.

Interrupts are also handled through this message structure. When an interrupt occurs, the appropriate message is sent to the task that handles that interrupt. Examples of typical interrupts include HP-IB, measurement hardware, and real-time clock interrupts. In some cases, the message is only a signal that an event has happened, such as the completion of a measurement or the occurrence of another clock cycle. In other cases the message contains additional information, such as the data byte sent via the HP-IB.

The message handler is responsible for all message processing procedure. To minimize complexity, especially in the area of garbage collection, we use fixed block sizes to create messages. These fixed-length blocks are joined in linked lists to obtain variable-length mesages. The message handler takes care of allocating blocks of free space for messages and later returning blocks to free space when they are no longer needed.

 

BNET TalkbackShare your ideas and expertise on this topic

Please add your comment:

  1. You are currently: a Guest |
  2.  

Basic HTML tags that work in comments are: bold (<b></b>), italic (<i></i>), underline (<u></u>), and hyperlink (<a href></a)

advertisement
CXO UnpluggedSmart Business interviews on BNET

See and hear how senior level executives across the Asia Pacific are developing smart business ideas across a variety of sectors. The focus is on the future, and on how businesses need to evolve.

advertisement
  • Click Here
  • Click Here
  • Click Here
advertisement

Content provided in partnership with Thompson Gale