Digital Oscilloscope functional description

 

Description: The system will be a digital oscilloscope that displays input waveforms on a graphical LCD. The user will be able to change the sample rates, the trigger slopes, trigger levels, trigger delays, and sweep rates. The system allow the user to change such options through a menu system. The system will allow analog inputs with a range of –2.5V to 2.5V with a maximum sample rate of 1MHz.

 

Input:

The input of the system will be an analog waveform. The user will input commands through with a four directional keypad multiple switches. The up and down arrows signify the previous and next menus, while the left and right arrows signify the previous and next options within each menu (see user interface).

 

 

User Interface (updated from Glen George’s User specifications)

On power up, the scope displays a welcome message, requiring a key press to exit and start the scope. The scope then starts in normal mode and continuously takes samples (if triggered).  The user can then access the various menus of the scope by the five buttons:

Key

Description of Key Action

<Menu>

Turns the menu on/off. If the menu is off it is not displayed and the "cursor keys" have no effect on the settings. When the menu is not on, the refresh rate approximately doubles for the traces.

<Up>

Move the cursor up to the previous menu, if not already at the top menu item. If the cursor is at the top of the menu, then the cursor will not be moved.

<Down>

Move the cursor down to the next menu, if not already at the bottom menu item. If the cursor is at the bottom of the menu, then the cursor will not be moved.

<Right>

Change the currently selected (with cursor) menu item. Go "forward" through the list of possible settings. If at the last item of the list, the item will not change

<Left>

Change the currently selected (with cursor) menu item. Go "backward" through the list of possible settings. If at the first item of the list, the item will not change.

 

The scope parameter menu is located in the upper right corner of the LCD and contains the following entries:

 

Menu

Options

Description

Mode

Normal, One-Shot

In the menu, Normal is the default setting and a key press left or right toggles between the two modes. In Normal Mode, the scope continuously samples the input waveform displaying a sample as quickly as possible (or as quickly as triggers are available). In One-Shot Mode, the scope records one triggered sample, and stops sampling until the trigger is re-armed somehow (in the Trigger Menus). This sample will be the first sample to be displayed once the mode is returned to Normal Mode.

Scale

Axes, Off

In the menu, axes is the default setting and a key press left or right toggles between the two modes. In Axes mode, x and y axes are displayed. In Axes Off Mode, the x and y axes are not displayed.

Sweep

1, 2, 5, 10, 20, 50, 100, 200, 500 ms; 1, 2, 5, 10, 20 ms

The rate at which the analog waveform is sampled (i.e. converted to a digital signal drawn by the display). One data point will be taken for each increment of time chosen. The sample rates will be listed from the fastest sampling rate to the slowest sampling rate (i.e. 1ms is the first item in the list, and 20ms is the last item in the list).

Trigger Value

Values between     –2.5V and 2.5V

On power up, the default trigger level is about 0V. The scope calculates certain values between –2.5V and 2.5V that can be the trigger level. If the right key is pressed, then the trigger level moves to the next highest trigger value (unless the trigger level is at the maximum 2.5V, in which case the trigger value will not increase). If the left key is pressed, then the trigger level moves to the next lowest trigger value (unless the trigger level is at the minimum –2.5V, in which case the trigger value will not decrease).

Trigger slope

+ or -

The slope at which the scope starts to display the waveform. The two options will toggle in the menu. + signifies when the signal crosses a threshold voltage from below it to above it, while – signifies the opposite.

Trigger delay

1 to 65535

The delay can be any integer between 1 and 65535. On power up, the default setting is the minimum delay of 1 sample. If the right key is pressed, the sample delay will increase by one (unless the sample delay is at the maximum of 65535 samples, in which case the sample delay will not increase). If the left key is pressed, the sample delay will decrease the sample delay by one (unless the sample delay is at the minimum of 1 sample, in which case the sample delay will not decrease).

 

Output:

The display for the system will be a Federal Express Surplus graphical LCD (128 x 480 pixels). The screen will display both the waveform and reserve some space for the menu system on the side. The output will be the digitized form of an analog waveform.

 

Return values: None (only power down for the stand alone system)

 

Arguments: None

 

Error Handling:

If there is a power failure the system will be reset to the start state, where it will accept and display waveforms. If a waveform is over the maximum allowed voltage, the portions above or below the max voltage are ignored and not displayed. If the waveform has an extremely high frequency, it will still be displayed in its jumbled form.

 

Algorithms: none yet

 

Data structure:

 

Limitations:

ultimately, processor clock speed will reach a point where it will not be able to plot the number data points, or the refresh rate on the LCD.

Documentation:

  1. Table of Contents
  2. Function Specification/Project Description
  3. Circuit Description
  4. Block Diagrams
  5. State Diagrams
  6. Schematic
  7. File List
  8. Fully Commented Code
  9. Conclusion

Data Sheets to get this thing working:

  1. Intel 80x188
  2. 74LS244 (buffer)
  3. MAX153 (A/D converter)
  4. Motorola 7205 FIFO
  5. -2.5V Voltage regulator
  6. -5V Voltage regulator
  7. Lattice 1016 CPLD
  8. GAL22v10 PLD
  9. Fedex LCD
  10. VRAM