While Teledyne LeCroy oscilloscopes can be equipped to measure and analyze a large and growing number of serial communication protocols, there is always the need for custom eye diagram masks for proprietary or new protocols. That is where the Masks Database Editor software becomes a valuable tool. The Masks Database Editor can be used to edit the XML mask database files, EyeMaskProp.xml and User.xml, to include new or modified bilevel signal and eye diagram masks based on data entered from the test mask descriptions.

EyeMaskProp.xml includes the definitions of standard eye diagram masks included with our analysis software. It is installed with the oscilloscope firmware and overwritten with each firmware upgrade.

User.xml is reserved for custom eye diagram masks, so it is not overwritten by firmware updates and will retain any new definitions created by users. After creating this file, edit it to add new masks to your custom mask "database".

The oscilloscope will show both EyeMaskProp.xml and User.xml mask definitions in the SDAIII and SDM signal menus.

Figure 1:

A typical test mask specification

Adding/Changing Masks

Figure 1 above depicts a typical test mask specification. It shows the:

  • Upper passing level of the signal (e.g., 350 mV), entered in Mask Database Editor Y4
  • Upper passing level of the Eye Height (e.g., B-C, 300 mV), entered in Y3
  • Lower passing level of the Eye Height (e.g., F-E, -300 mV), entered in Y2
  • Lower passing level of the signal (e.g., -350 mV), entered in Y1
  • Leftmost extent of mask which occurs at 50% of mask height (e.g., A, .2 UI), entered in X1
  • Where interior of eye reaches the upper and lower passing levels (e.g., B-F, .35 UI), entered in X2
  • Where interior of eye leaves the upper and lower passing levels (e.g., C-E, .65 UI), entered in X3
  • Rightmost extent of mask which occurs at 50% of mask height (e.g., D, .8 UI), entered in X4

Note: Points B and C, and E and F, can be the same, in which case the mask will form a 4-vertex parallelogram

To create a custom mask, you will need at minimum the values listed above, as well as the bit rate for the protocol under test. The mask will fill the grid inside and outside the limits of the passing signal and eye.

  1. Exit the oscilloscope application to the Windows desktop by choosing File > Exit.
  2. For safety’s sake, create a backup of the mask file you are editing.
  3. Start the mask editor by executing: C:Program FilesLeCroyXStreammasksdatabaseeditor.exe.
  4. The opening screen of the editor will resemble a blank spreadsheet. To edit an existing mask file, choose File > Open, then navigate to the file and click Open (as shown in Figure 2).
    To create a new User.xml file, choose File > New, then enter the File name User.xml and Open.
    Tip: Masks are stored by default in D:Masks or C:LeCroyXStreamMasks. You need only create one User.xml file if it is not pre-installed. Be careful when changing or deleting masks; Mask Database Editor will not prompt you to cancel changes before closing.
    The title bar of the Masks Database Editor window should now show the file you are editing, and the "spreadsheet" is populated with whatever masks have so far been defined (a new User.xml will be blank).

    Figure 2:

    Selecting a mask to edit from the Masks Database Editor window

  5. To add a new mask to the file, choose Standard > New to open the Standard Edit dialog (Figure 3).
    To change an existing mask, select the row from the spreadsheet and choose Standard >Edit.

    Figure 3:

    Normalized and Absolute mask definitions entered into the Standard Edit dialog

  6. Enter the Name, Class and Bit Rate of the signal/mask.
  7. In Mode enter a brief description of the test mode.
  8. If the vertical coordinates are specified in Volts, select Type Absolute.
    If the vertical coordinates are specified in relative units, select Type Normalized.
  9. Using the information in your test mask specification, enter the value of each passing level and extent into the Xn and Yn fields on the dialog.
    Tip: Calculating the exact Y levels for normalized masks can be challenging. If you know the voltage values of these levels, first create the mask as Type Absolute, then after entering the values, change the Type to Normalized. The software will automatically recalculate the levels.
  10. Click OK to insert the data into the mask database file.
  11. Repeat Steps 5 – 10 for each new or changed mask. When done editing, choose File > Exit.
  12. On the oscilloscope, be sure the XML mask database file resides in D:Masks. On PCs installed with MAUI Studio, place it in C:LeCroyXstreamMasks. The software will look in these folders for the mask database files to populate the selection menus.
  13. Reboot the oscilloscope to add the new masks to the other oscilloscope selections.

In this example, we added MyMask to the User.xml file. MyMask is now an available Signal Type when working in the SDAIII software, as shown in Figure 4. The bit rate you entered will automatically fill the Nominal Rate, and the mask defined for that signal will appear on screen when Eye Diagram mask testing is enabled. Because it is a data-based rather than pixel-based mask, it will rescale with changes to the signal vertical levels and bit rate.

Figure 4:

The newly created mask displayed on the oscilloscope

Importing Mask Maker Masks

Bilevel eye diagram masks created using Teledyne LeCroy's Mask Maker utility can be uploaded into the mask database file by checking Mask in file on the Standard Edit dialog, then selecting the mask file. In this way, the masks can be included in the SDA signal selections, along with the masks created in Mask Database Editor.

Note: The software will still look for the mask file in its original upload location, and it will still function as a pixel-based rather than a data-based mask when displayed on the oscilloscope.

When masks are created in Mask Maker, the software sets the extent of the UI at divisions 1 and 9. However, when imported and used in SDA, the software will automatically rescale the UI to divisions 2 and 8 of the grid. When used for Pass/Fail testing, the UI will remain as drawn at divisions 1 and 9.