Generator User Guide


Add to my manuals
122 Pages

advertisement

Generator User Guide | Manualzz

Copyright, Confidentiality and Disclaimer Statements.

While the information in this publication is believed to be accurate, Ellisys makes no warranty of any kind to this material including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Ellisys shall not be liable for any errors contained herein, or for incidental or consequential damages in connection with the furnishing, performance or use of this material.

No part of this publication may be reproduced, stored in a retrieval system or transmitted, in any form or by any means, photocopying, recording or otherwise, without prior written consent of Ellisys. No third party intellectual property right liability is assumed with respect to the use of the information contained herein. Ellisys assumes no responsibility for errors or omissions contained in this book. This publication and features described herein are subject to change without notice.

Copyright (C) Ellisys 2007. All rights reserved.

All products or services mentioned in this manual are covered by trademarks, service marks, or product names as designated by the companies who market those products.

This manual is populated throughout with screens captured from a specific version of Ellisys WiMedia Explorer 300 software. All the information contained in the screens are samples and serve as instructional purposes only.

Document Revision History

Date

2006-06-16

2007-01-10

2007-12-12

Revision

1.0

2.0

2.8

Changes

Initial release.

Major edits to all chapters.

New design. Major edits to all chapters.

Ellisys Contact Details

Ellisys

Chemin du Grand-Puits 38

CH-1217 Meyrin Geneva

Switzerland

Phone:

Fax:

Email:

Web:

+41 22 777 77 89

+41 22 777 77 90 [email protected]

http://www.ellisys.com

CONDITIONS OF USE AND LIMITED

WARRANTY TERMS

These conditions and terms are deemed to be accepted by the customer at the time the product is purchased, leased, lent or used, whether or not acknowledged in writing.

Conditions of Use

The customer is only authorized to use the product for its own activities, whether professional or private. Thus, the customer is, in particular, forbidden to resell, lease or lend the product to any third party. In addition, the customer has, in particular, no right to disassembly, modify, copy, reverse engineer, create derivative works from or otherwise reduce or alter the product. The product may also not be used in any improper way.

Limited Warranty Coverage

Ellisys warrants to the original customer of its products that its products are free from defects in material and workmanship for the warranty period. Subject to the conditions and limitations set forth below, Ellisys will, at its option, either repair or replace any part of its products that prove defective by reason of improper workmanship or materials. Repaired parts or replacement products will be provided by Ellisys on an exchange basis, and will be either new or refurbished to be functionally equivalent to new. If Ellisys is unable to repair or replace the product, it will refund the current value of the product at the time the warranty claim is made. In no event shall Ellisys' liability exceed the original purchase price of product.

Excluded Products and Problems

This limited warranty does not cover any damage to this product that results from improper installation, accident, abuse, misuse, natural disaster, insufficient or excessive electrical supply, abnormal mechanical or environmental conditions, or any unauthorized disassembly, repair, or modification. This limited warranty also does not apply to any product on which the original identification information has been altered, obliterated or removed, has not been handled or packaged correctly, or has been sold as second-hand. This limited warranty only applies to the original customer of the product for so long as the original customer owns the product. This limited warranty is non-transferable.

This limited warranty covers only repair, replacement or refund for defective Ellisys products, as provided above. Ellisys is not liable for, and does not cover under warranty, any loss of data or any costs associated with determining the source of system problems or removing, servicing or installing Ellisys products.

Obtaining Warranty Service

To obtain warranty service, you may return a defective product to the authorized Ellisys dealer or distributor from which you purchased the Ellisys product. Please confirm the terms of your dealer's or distributor's return policies prior to returning the product. Typically, you must include product identification information, including model number and serial number with a detailed description of the problem you are experiencing. You must also include proof of the date of original retail purchase as evidence that the product is within the applicable warranty period.

The returned product will become the property of Ellisys. Repaired or replacement product will be shipped at Ellisys' expense. Repaired or replacement product will continue to be covered by this limited warranty for the remainder of the original warranty or 90 days, whichever is longer.

3

4

Limitations

THE FOREGOING IS THE COMPLETE WARRANTY FOR ELLISYS PRODUCTS AND SUPERSEDES

ALL OTHER WARRANTIES AND REPRESENTATIONS, WHETHER ORAL OR WRITTEN. EXCEPT

AS EXPRESSLY SET FORTH ABOVE, NO OTHER WARRANTIES ARE MADE WITH RESPECT TO

ELLISYS PRODUCTS AND ELLISYS EXPRESSLY DISCLAIMS ALL WARRANTIES NOT STATED

HEREIN, INCLUDING, TO THE EXTENT PERMITTED BY APPLICABLE LAW, ANY WARRANTY

THAT MAY EXIST UNDER NATIONAL, STATE, PROVINCIAL OR LOCAL LAW INCLUDING BUT

NOT LIMITED TO ANY IMPLIED WARRANTY OF NON-INFRINGEMENT, MERCHANTABILITY OR

FITNESS FOR A PARTICULAR PURPOSE. ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED,

ARE LIMITED TO THE PERIODS OF TIME SET FORTH ABOVE. SOME STATES OR OTHER

JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES OR

LIMITATIONS ON HOW LONG AN IMPLIED WARRANTY LASTS, SO THE ABOVE LIMITATIONS

MAY NOT APPLY TO YOU.

ELLISYS PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE

SUPPORT EQUIPMENT OR FOR APPLICATIONS IN WHICH THE FAILURE OR MALFUNCTION OF

THE PRODUCTS WOULD CREATE A SITUATION IN WHICH PERSONAL INJURY OR DEATH IS

LIKELY TO OCCUR. ELLISYS SHALL NOT BE LIABLE FOR THE DEATH OF ANY PERSON OR ANY

LOSS, INJURY OR DAMAGE TO PERSONS OR PROPERTY BY USE OF PRODUCTS USED IN

APPLICATIONS INCLUDING, BUT NOT LIMITED TO, MILITARY OR MILITARY-RELATED

EQUIPMENT, TRAFFIC CONTROL EQUIPMENT, DISASTER PREVENTION SYSTEMS AND

MEDICAL OR MEDICAL-RELATED EQUIPMENT.

ELLISYS' TOTAL LIABILITY UNDER THIS OR ANY OTHER WARRANTY, EXPRESS OR IMPLIED,

IS LIMITED TO REPAIR, REPLACEMENT OR REFUND. REPAIR, REPLACEMENT OR REFUND

ARE THE SOLE AND EXCLUSIVE REMEDIES FOR BREACH OF WARRANTY OR ANY OTHER

LEGAL THEORY. TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, ELLISYS SHALL

NOT BE LIABLE TO THE CUSTOMER OF AN ELLISYS PRODUCT FOR ANY DAMAGES,

EXPENSES, LOST DATA, LOST REVENUES, LOST SAVINGS, LOST PROFITS, OR ANY OTHER

INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING FROM THE PURCHASE, USE OR

INABILITY TO USE THE ELLISYS PRODUCT, EVEN IF ELLISYS HAS BEEN ADVISED OF THE

POSSIBILITY OF SUCH DAMAGES. SOME STATES OR OTHER JURISDICTIONS DO NOT

ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES,

SO THE ABOVE LIMITATIONS OR EXCLUSIONS MAY NOT APPLY TO YOU.

Severability

If any provision or any portion of any provision contained in these terms is held to be invalid, illegal or unenforceable by a court of competent jurisdiction, then the remaining provisions, and if a portion of any provision is unenforceable, then the remaining portion of such provision shall, nevertheless, remain in full force and effect. The parties undertake to negotiate in good faith with a view to replace such invalid, illegal or unenforceable provision or part thereof with another provision not so invalid, illegal or unenforceable with the same or similar effect, and further agree to be bound by the mutually agreed substitute provision.

Warranty Period

The warranty begins on the date of purchase and covers a period of two (2) years.

Governing Law

These conditions and terms shall be governed by and construed in accordance with the law of Switzerland.

Jurisdiction; Venue

The parties consent to the exclusive personal jurisdiction of, and venue in, the District Court of Geneva, Switzerland.

Table of Contents

About this Manual ................................................................... 7

1 Ellisys WiMedia Explorer 300 Generator Overview ................ 9

1.1 Product Overview............................................................. 9

1.2 Main Features ................................................................. 9

2 Installing the Ellisys WiMedia Explorer 300 ........................ 11

2.1 Software Prerequisites.....................................................11

2.2 Installing Software..........................................................12

2.3 Front Panel Overview ......................................................18

2.4 Back Panel Overview .......................................................19

2.5 Mounting the External Antenna .........................................19

2.6 Connecting to the Computer.............................................20

2.7 Placing the WiMedia Explorer 300......................................25

3 User Interface Reference .................................................... 27

3.1 Organizing Panes ............................................................28

3.2 Main Toolbar ..................................................................29

3.3 Main Menu .....................................................................31

3.4 Opening a File ................................................................35

3.5 Saving a File ..................................................................35

3.6 Printing a File .................................................................36

3.7 Editing a Script...............................................................37

3.8 Advanced Editing Features ...............................................38

3.9 Searching ......................................................................39

3.10 Working with Bookmarks................................................42

3.11 Working with Breakpoints...............................................43

3.12 Compiling a Script.........................................................44

3.13 Running a Script ...........................................................45

3.14 Working with Registers ..................................................47

4 Language Reference............................................................ 49

4.1 Comments .....................................................................49

4.2 Include Files...................................................................49

4.3 Constants Declaration .....................................................50

4.4 Variables Declaration.......................................................50

4.5 Functions Declaration ......................................................51

4.6 Function Calls.................................................................52

4.7 Enumerations Declarations...............................................53

4.8 Namespaces Declarations ................................................54

4.9 Buffer Usage ..................................................................55

4.10 Counters......................................................................55

4.11 Timers.........................................................................55

4.12 Stop Keyword...............................................................57

4.13 Breakpoint Keyword ......................................................57

4.14 If Statement.................................................................57

4.15 Switch Statement..........................................................58

4.16 Repeat Statement .........................................................59

4.17 While Statement ...........................................................59

5

6

4.18 Do While Statement ...................................................... 60

4.19 For Statement.............................................................. 60

4.20 Mathematical expressions .............................................. 61

4.21 Conditional expressions ................................................. 63

5 Instruction Set Reference....................................................65

5.1 Sleep Instruction............................................................ 65

5.2 StartCountdown Instruction ............................................. 66

5.3 WaitCountdownReached Instruction .................................. 67

5.4 StartTimer Instruction..................................................... 68

5.5 StopTimer Instruction ..................................................... 69

5.6 WaitTimer Instruction ..................................................... 69

5.7 CopyMemory Instruction ................................................. 71

5.8 CompareMemory Instruction ............................................ 73

5.9 WaitButtonPressed Instruction ......................................... 75

5.10 WaitTriggerIn Instruction............................................... 76

5.11 GenerateTriggerOut Instruction ...................................... 77

5.12 SetChannel Instruction .................................................. 78

5.13 SetTxPowerAttenuation Instruction ................................. 79

5.14 SendFrame Instruction .................................................. 80

5.15 WaitFrame Instruction................................................... 83

5.16 WaitDataPattern Instruction ........................................... 86

5.17 WaitSignature Instruction .............................................. 90

5.18 WusbDeviceNotification Instruction ................................. 93

5.19 WusbDeviceTransmit Instruction..................................... 98

5.20 WusbWaitDntsCta Instruction ....................................... 102

5.21 WusbWaitDtCta Instruction .......................................... 105

Frequently Asked Questions ................................................109

Glossary ..............................................................................113

Index...................................................................................119

About this Manual

Typographic Conventions

Bold is used to indicate menu commands, buttons, and tabs.

Italics are used to indicate fields, pane names, window names and cross references.

Fixed width is used to indicate system file names, text typed and code snippets.

A warning symbol describes a possible critical situation and how to avoid it.

An information symbol tells you how to respond to a situation that may arise.

A tip symbol tells you information that will help you carry out a procedure.

Where to Find More Help

Go to the Ellisys website and the following pages for the latest information:

Ellisys products page - Go to www.ellisys.com/products/ for the latest product information and documentation.

Application notes and white papers - Go to www.ellisys.com/

technology/ to find up-to-date information about the technology.

Distributors - Go to www.ellisys.com/sales/ to find a list of Ellisys distributors.

Technical support - Go to www.ellisys.com/support/ to send a question directly to the Ellisys support team.

7

8

1

Ellisys WiMedia Explorer 300 Generator

Overview

1.1

Product Overview

The Ellisys WiMedia Explorer 300 Generator is a generator for WiMedia

Ultrawideband, Certified Wireless USB protocols and several other protocols based on WiMedia UWB. The WiMedia Explorer 300 Generator verifies product and component reliability by generating reproducible traffic, timing and error scenarios.

The WiMedia Explorer 300 Generator contains a specialized processor designed specifically for WiMedia-based and Certified Wireless USB protocols. The WiMedia Explorer 300 Generator produces sequences of arbitrary frames with programmable inter-frame delay and can wait for any kind of response frame or event. The processor's instruction set enables you to emulate Wireless USB hosts and devices and other various

WiMedia equipment.

The WiMedia Explorer 300 Generator’s software allows you to quickly and easily create, edit, and debug scripts. Traces previously recorded by an

Ellisys WiMedia Explorer 300 Analyzer can be exported to a script and played back by the generator. This will allow you to quickly understand and fix issues that may arise during device, driver or software development.

1.2

Main Features

The WiMedia Explorer 300 Generator enables you to:

Emulate most WiMedia equipment, including Wireless USB hosts and devices.

Perform functional validation and stress testing of protocol stacks.

Generate arbitrary frames with full control of the frame raw data down to the PHY layer.

Generate sequences of frames with programmable inter-frame delay.

Use exported scripts from protocol analysis software to play back error scenarios.

Test error recovery mechanisms by generating frames with incorrect content or timing.

Ellisys WiMedia Explorer 300 Generator Overview 9

Visit the product web page at www.ellisys.com/products/wex300/ for the latest product information and documentation.

10 Ellisys WiMedia Explorer 300 Generator Overview

2

Installing the Ellisys WiMedia

Explorer 300

Before installing the Ellisys WiMedia Explorer 300 ensure your computer meets the following requirements:

Microsoft Windows Installer 3.0 or later. If the installation does not run smoothly, or if the system indicates that there is a version error, update your Windows Installer.

Microsoft .Net Framework version 2.0.

Pentium 4, 1.8 GHz or compatible processor, or better.

512 MBytes of RAM or more.

1024x768 screen display resolution with 256 colors or better.

USB 2.0 host controller.

2.1

Software Prerequisites

The WiMedia Explorer 300 software requires several software components. Ellisys recommends that you visit the following web pages to update your version of Microsoft .Net Framework and Windows:

www.microsoft.com/net to download the Microsoft .Net Framework version 2.0.

windowsupdate.microsoft.com to update your version of Windows.

When using the Windows update service it will automatically download and install the Microsoft .Net Framework version 2.0.

See your System Administrator for more information about updating

Microsoft .Net Framework and Windows.

Installing the Ellisys WiMedia Explorer 300 11

2.2

Installing Software

To install the WiMedia Explorer 300’s software:

1. Insert the Ellisys WiMedia Explorer 300 installation CD-ROM that accompanies the product into the computer’s CD-ROM drive.

The WiMedia Explorer 300 Setup Wizard screen appears:

If the WiMedia Explorer 300 Setup Wizard screen does not appear automatically; Click Start | Run, type d:\setup.exe (change d: to match the drive letter of your CD-ROM) and click on OK.

12 Installing the Ellisys WiMedia Explorer 300

2. Read the Warning note and click on Next.

The WiMedia Explorer 300 Licence Agreement screen appears:

3. Read the licence agreement carefully and select I Agree.

Installing the Ellisys WiMedia Explorer 300 13

4. Click on Next.

The Select Installation Folder screen appears:

5. The default installation folder appears in the Folder field. Ellisys recommend that you use the default folder, however if you wish to change this folder click on Browse and navigate to the folder required.

6. Select whether anyone or only the user currently logged on can access the software by selecting either Everyone or Just me.

14 Installing the Ellisys WiMedia Explorer 300

7. Click on Next.

The Confirm Installation screen appears:

Installing the Ellisys WiMedia Explorer 300 15

8. Click on Next to continue the software’s installation.

An Installation Progress screen appears.

16 Installing the Ellisys WiMedia Explorer 300

When the software has been installed, the Installation Complete screen appears:

9. Click on Close.

The WiMedia Explorer 300 software is now installed.

After installing WiMedia Explorer 300 software a new Hardware

Wizard may appear. Refer to

2.6, Connecting to the Computer,

on page 20 for more information about installing the USB driver.

Installing the Ellisys WiMedia Explorer 300 17

2.3

Front Panel Overview

Ellisys WiMedia Explorer 300’s front panel:

The Power LED is illuminated constant green when connected to a USB 2.0 host controller and working normally.

The Power LED is illuminated constant red when connected via a USB 1.1 host controller and working normally. Performance may not be optimal.

The Power LED blinks green when connected to a USB 2.0 host controller and the driver is not yet fully installed.

The Power LED blinks red when connected to a USB 1.1 host controller and the driver is not yet fully installed.

The Activity LED blinks green when traffic is detected. The blink rate depends on the amount traffic detected, the faster the blink rate the greater amount of traffic detected.

The Activity LED blinks red when traffic is recorded or generated.

The Trigger LED blinks green when waiting for an event to occur.

The Trigger LED is illuminated red for a short period when the expected event occurs.

18 Installing the Ellisys WiMedia Explorer 300

2.4

Back Panel Overview

Ellisys WiMedia Explorer 300’s back panel:

A USB cable must be connected between the Computer connector and the computer on which the software runs.

When connecting the USB cable DO NOT force the connector into the WiMedia Explorer 300. The metal part of the connector should not be inserted completely into the connection port. Forcing the connector or inserting all of the metal part of the connector may break the port connection and is not covered by the warranty.

2.5

Mounting the External Antenna

The Ultrawideband antenna connects to the Antenna SMA connector on the front panel. The antenna should be screwed on the front panel connector, tightened by hand, and oriented upright for best performance.

Before mounting the external antenna ensure that the WiMedia

Explorer 300 is powered off by disconnecting the USB cable.

Installing the Ellisys WiMedia Explorer 300 19

Antenna placed upright

Antenna SMA connector

Do not use a wrench or other tools, and avoid damage by not overtightening the connector, however ensure that the antenna is firmly secured.

It is possible to connect a device to the WiMedia Explorer 300 using the

Wired Kit which is available as an option. Please refer to the documents that accompanies the Wired Kit for more information on how to connect a device using the Wired Kit.

2.6

Connecting to the Computer

The WiMedia Explorer 300 connects on a USB port, allowing the use of any notebook or desktop computer. The unit is powered by USB and does not require an external adapter. A driver needs to be installed on the computer to ensure proper operation.

Although the WiMedia Explorer 300 can upload or download data on a full speed USB 1.1 connection, Ellisys strongly recommends that you connect it to a high speed USB 2.0 port to obtain optimal performance. If you experience problems with the WiMedia

Explorer 300, please ensure it is connected on a high speed USB 2.0 enabled host controller before contacting technical support.

20 Installing the Ellisys WiMedia Explorer 300

Follow the steps below to install the USB driver:

1. Connect the WiMedia Explorer 300.

If you are connecting the WiMedia Explorer 300 for the first time wait until Windows displays a message saying a new device has been

discovered and go to Step 3.

2. If you want to update a previously installed device driver:

Open the Device Manager window: Start | Control Panel.

Double-click the System icon.

Click the Hardware tab.

Click on Device Manager.

Click on Ellisys protocol analyzers.

Right-click and select Update Driver.

The Hardware Update Wizard window opens:

3. Select No, not this time.

Installing the Ellisys WiMedia Explorer 300 21

4. Click on Next.

The Found New Hardware window appears:

5. Select Install the software automatically (Recommended).

22 Installing the Ellisys WiMedia Explorer 300

6. Click on Next.

The Please wait while the wizard installs the software window appears:

Windows installs the driver.

Installing the Ellisys WiMedia Explorer 300 23

When the installation is complete The wizard has finished installing the

software window appears:

7. Click on Finish.

The installation is complete.

24 Installing the Ellisys WiMedia Explorer 300

2.7

Placing the WiMedia Explorer 300

The WiMedia Explorer 300 probes and generates Ultrawideband waves.

The Ultrawideband circuitry used by the WiMedia Explorer 300 is optimized to have excellent receiver characteristics.

Ellisys strongly recommends using the configuration shown below for optimal performance. Placing the WiMedia Explorer 300 at mid distance between the transmitting units provides the lowest error rate and the best performance:

If the WiMedia Explorer 300 is not placed at an equal distance from the transmitting units, this may result in causing transmission issues that are not related to the Devices Under Test:

Installing the Ellisys WiMedia Explorer 300 25

26 Installing the Ellisys WiMedia Explorer 300

Menu bar

Toolbar

3

User Interface Reference

The user interface of the Ellisys WiMedia Explorer 300 Generator software contains a number of panes, menus, toolbars and other visual elements.

Script editor

Output pane

Registers pane

Auto hide pane button Close pane button

The WiMedia Explorer 300 Generator has several default panes. Each pane displays specific information or allows you to interact with the software for a given task:

Script Editor - Shows the current script. The Script Editor also allows editing the script, setting or clearing breakpoints, and placing bookmark to navigate through the script.

Output pane - Shows messages about a script after compiling. If there is an error in the script the Output pane will show an error description and the error’s position: file, line and column.

Register pane - Shows the contents of the variables, see

3.14,

Working with Registers,

on page 47 for more information.

User Interface Reference 27

3.1

Organizing Panes

To open or display a pane:

1. Select View in the menu and click on the pane required in the View menu.

The selected pane opens.

To close a pane:

1. Click on Close bar of the pane.

positioned on the top right-hand corner of the title

The pane closes.

To hide a pane:

1. Click on Auto Hide title bar.

positioned on the top right-hand corner of the

The pane is hidden and the pane’s name appears as a tab at the side of the screen.

To move a pane or window:

1. Click on the title bar of a pane or window.

2. Press and hold the left mouse button and drag the pane or window.

A window placer appears:

3. Keep the mouse button pressed and point to one of the following:

Center to open a pane as a floating window in the screen.

Top to move the pane to the top of the screen or pane group.

Right to move the pane to the right of the screen or pane group.

28 User Interface Reference

Left to move the pane to the left of the screen or pane group.

Bottom to move the pane to the bottom of the screen or pane group.

3.2

Main Toolbar

The table below shows the WiMedia Explorer 300 Generator toolbar buttons and their actions.

New Document

Open Document

Save Document

Print

Print Preview

Cut

Copy

Paste

Opens a new document.

Opens a folder to allow you open a previous saved file.

Saves a document.

Opens print options to allow you to print a document.

Opens the print preview window.

Cuts a selection of text.

Copies a selection of text.

Pastes a selection of copied or cut text.

Undo

Redo

Undoes the previous action.

Redoes the previous action.

User Interface Reference 29

Find/Replace

Opens the find and replace window.

Comment Selection

Comments out one or more lines.

Uncomment Selection

Uncomment one or more lines.

Toggle Bookmark

Toggles a bookmark at a selected line.

Previous Bookmark Finds the previous bookmark.

Next Bookmark

Finds the next bookmark.

Clear Bookmarks

Compile

Run

Break

Stop

Restart

Step

Clears all bookmarks.

Compiles a script.

Runs a stopped or paused script.

Pauses a script when running.

Stops a running script.

Stops and restarts a script from the beginning.

Steps from line to line in the script.

30 User Interface Reference

3.3

Main Menu

The table below shows the WiMedia Explorer 300 Generator main menu options and their actions.

File

New

(CTRL + N)

Open

(CTRL + O)

Save

(CTRL + S)

Save As

Page Setup

Creates a new file.

Opens a previous saved file.

Saves a file.

Print Preview

Print

(CTRL + P)

Exit

Saves a file with a new name.

Opens the Page Setup dialog box that lets you set the page margins and other parameters.

Opens the Print Preview window.

Prints a file.

Exits the software.

Edit

Undo

(CTRL + Z)

Redo

(CTRL + Y)

Cut

(CTRL + X)

Copy

(CTRL + C)

Undoes the previous action.

Redoes the previous action.

Cuts a selection of text.

Copies a selection of text.

User Interface Reference 31

Paste

(CTRL + V)

Edit | Advanced

Pastes a selection of copied or cut text.

Mark Line Modifications

Marks line modifications in the file.

Highlight Current Line

Highlights the current line in the script.

Show Column 80 Guide

Comment Selection

Uncomment Selection

Make Uppercase

(CTRL + SHIFT + U)

Make Lowercase

(CTRL + U)

Edit | Bookmarks

Displays the column guide in the script.

Adds a comment to the current selected line.

Removes the comment from the selected line.

Changes selected lowercase text to uppercase text.

Changes selected uppercase text to lowercase text.

Toggle Bookmark

Enable Bookmark

Previous Bookmark

Next Bookmark

Clear Bookmarks

Insert Snippet Code

(CTRL + I)

Toggles a bookmark at a selected line.

Enables the selected bookmark.

Finds the previous bookmark.

Finds the next bookmark.

Clears all bookmarks.

Opens the Insert Snippet code list.

32 User Interface Reference

View

Output window

Search

Registers window

Script

Find/Replace

(CTRL + F)

Find Next

F3

Find Previous

(SHIFT + F3)

Go To Line

(CTRL + G)

Compile

(F7)

Run

(F5)

Break

Stop

(SHIFT +F5)

Restart

Step

(F10)

Toggle Breakpoint

(F9)

Opens or closes the Output window.

Opens or closes the Registers window.

Opens the Find/Replace window.

Finds the text previously entered in the

Find/Replace window.

Finds the text previously entered in the

Find/Replace window.

Opens the Go To Line window.

Compiles a script.

Runs a stopped or paused script.

Pauses a script when running.

Stops a running script.

Stops and restarts a script from the beginning.

Steps from line to line in the script.

Toggles a breakpoint at a selected line.

User Interface Reference 33

Help

Clear all Breakpoints

(CTRL+SHIFT +F9)

Select a Generator

User Guide

Ellisys website

Contact support

About

Removes all breakpoints in the script.

Opens the Available Generators window.

Opens the online user guide.

Opens the Ellisys website in your default internet browser.

Opens a form to contact the technical support.

Opens the About window.

34 User Interface Reference

3.4

Opening a File

To open a file:

1. Select File | Open in the menu or click on Open Document

The Open File window appears:

.

2. Select the file required and click on Open.

The selected file opens in the software.

3.5

Saving a File

To save a file:

1. Select File | Save in the menu or click on Save Document

The file is saved.

.

User Interface Reference 35

To save a file with a new name:

1. Select File | Save As in the menu.

The Save As window appears:

2. Navigate to the directory where the file is to be saved.

3. Enter the required name of the file in the File name field and click on

Save.

The file is saved with the required name and the original file is not modified.

3.6

Printing a File

Use the Page Setup option, File | Page Setup, to setup how the file should be printed. This option will depend on the printer, please see your printer’s documentation for more information.

A file can be very large therefore it is advisable to check the size of the file before trying to print the file.

36 User Interface Reference

To print a file:

1. Select File | Print in the menu or click on Print

The Print window appears:

.

2. Select the printer and printer setup if required.

3. Click on OK.

The file is printed.

3.7

Editing a Script

The WiMedia Explorer 300 Generator includes several specialized instructions. Example code for these instructions can be inserted to help you write instructions. An example code is called a code snippet.

A full description of the specialized instructions can be found in

Chapter

5,

Instruction Set Reference,

on page 65.

To insert a code snippet:

1. Click on the point in the script where the code snippet is to be inserted.

2. Select Edit | Insert Code Snippet in the menu. or

Press CTRL + I.

User Interface Reference 37

The Code Snippet list appears:

3. Select the code snippet required from the list.

4. Double-click on the code snippet required. or

Select the snippet required and press ENTER.

The selected code snippet is inserted into the script and can be modified.

3.8

Advanced Editing Features

All the WiMedia Explorer 300 Generator’s advanced editing features can be accessed by clicking Edit | Advanced in the menu.

To mark or unmark line modifications:

1. Select Edit | Advanced | Mark Line Modifications in the menu.

All lines that have been modified are marked with a yellow mark beside the line.

To highlight the current line:

1. Select Edit | Advanced | Highlighting Current Line in the menu.

The line with the cursor is highlighted.

To display the column 80 guide:

1. Select Edit | Advanced | Show 80 Column Guide in the menu.

The 80 column guide appears as a line in the main script pane.

To comment a selection in a script:

1. Select the lines you want to comment.

38 User Interface Reference

2. Click on Comment Selection or

Select Edit | Advanced | Comment Selection in the menu.

Comment markers are inserted before the selected lines.

To uncomment a selection in a script:

1. Select the commented lines you want to uncomment.

2. Click on Uncomment Selection or

Select Edit | Advanced | Uncomment Selection in the menu.

Comment markers are removed from the selected lines.

To change text case:

1. Select the text required in the script.

2. Select Edit | Advanced | Make Uppercase to change the text’s case from lowercase to uppercase.

or

3. Select Edit | Advanced | Make Lowercase to change the text’s case from uppercase to lowercase.

3.9

Searching

Search, find and replace options can be accessed by clicking Search in the menu.

To search text:

1. Click on Find/Replace or

Select Search | Find in the menu. or

Press CTRL + F.

User Interface Reference 39

The Find/Replace window appears:

2. Enter what you need to be found in the Find what field.

or

3. Select the Use check box if you want to use Regular expression or

Wildcards.

Regular expressions or Wildcards can be selected as an option.

4. If you selected the Use check box, select Regular expression or

Wildcards from the drop-down list. The Right Arrow

Find What field becomes enabled.

beside the

40 User Interface Reference

5. Click on Right Arrow .

If Wildcards has been selected from the Use drop-down list a Wildcard list appears;

6. Select the Wildcard required.

If Regular expression has been selected from the Use drop-down list a

Regular expression list appears:

7. Select the Regular expression required.

8. Select the required search options check boxes.

9. Click on the required button: Find Next to find the next occurrence or

Bookmark All to bookmark all occurrences.

The selected search is performed.

User Interface Reference 41

To replace text:

1. Click on Find/Replace and then click Quick Replace or

Select Search | Replace in the menu. or

Press CTRL + H.

The Find/Replace window appears:

2. Enter what you need to be found in the Find what field.

3. Enter the replacement text in the Replace with field.

4. Select the required search options check boxes.

5. Click on the required button: Find Next to find the next occurrence or

Replace or Replace All to respectively replace the next occurrence or all occurrences.

The selected replacement is performed.

3.10 Working with Bookmarks

A bookmark is a useful tool that enables you to mark lines of code to help you navigate through a script.

All the bookmark options can be accessed by selecting Edit | Bookmarks in the menu.

To toggle a bookmark:

1. Select a line where the bookmark is to be inserted.

42 User Interface Reference

2. Click on Toggle Bookmark or

Select Edit | Bookmarks | Toggle Bookmark in the menu.

The bookmark is inserted beside the selected line.

To enable a bookmark:

1. Click on the line beside the bookmark.

2. Select Edit | Bookmarks | Enable Bookmark in the menu.

The selected bookmark is enabled.

To move to the next or previous bookmark:

1. Click on Next Bookmark or

Select Edit | Bookmarks | Next Bookmark in the menu.

A flashing cursor appears beside the next bookmark.

2. Click on Previous Bookmark or

Select Edit | Bookmarks | Previous Bookmark in the menu.

A flashing cursor appears beside the previous bookmark.

To remove all bookmarks:

1. Click on Clear Bookmark or

Select Edit | Bookmarks | Clear Bookmark in the menu.

All bookmarks in the script are removed.

3.11 Working with Breakpoints

A breakpoint is a point in a program which is used to temporarily halt the execution of that program.

To insert a breakpoint:

1. Select a line where the breakpoint is to be inserted.

2. Select Script | Toggle Breakpoint in the menu or

Press F9.

User Interface Reference 43

A breakpoint is inserted beside the selected line.

To remove all breakpoints:

1. Select Script | Clear All Breakpoint in the menu.

All breakpoints in the script are removed.

3.12 Compiling a Script

To compile a script:

1. Open a script file as described in

3.4, Opening a File,

on page 35.

or

Create a new script file and save it.

2. Click on Compile or

Select Script | Compile in the menu.

The WiMedia Explorer 300 Generator compiles the script.

If the compilation is successful a ‘Compilation Succeeded’ message will appear in the Output pane.

44 User Interface Reference

If the compilation is unsuccessful a ‘Compilation Failed’ message will appear in the Output pane. A list of errors will also be listed in the Output pane.

To find an error in a compiled script:

1. Compile a script as described in

3.12, Compiling a Script,

on page 44.

The compilation errors are listed in the Output pane under the Message colunm.

2. Double-click on the error description you require in the Output pane.

The line that contains the error is highlighted in the main script pane.

3.13 Running a Script

To select a generator:

1. Select Script | Select a generator in the menu.

The Available Generators window appears:

User Interface Reference 45

2. Select the required generator and click on OK.

It is advisable to select a generator as the default generator by clicking the Use this generator by default check box. This will stop the Available Generators window appearing every time you run the software.

The generator is selected.

To run a script:

1. Open a script file as described in

3.4, Opening a File,

on page 35

or

Create a new script file and save it.

2. Click on Run or

Select Script | Run in the menu.

If you did not select a generator as a default generator then the Available

Generators window appears:

3. Select on the required generator and click on OK.

The script runs using the selected generator.

To break or pause a script:

1. Run a script as described in

3.13, Running a Script,

on page 45.

2. Click on Break or

Select Script | Break in the menu.

The script is paused.

46 User Interface Reference

To stop a script:

1. Run a script as described in

3.13, Running a Script,

on page 45.

2. Click on Stop or

Select Script | Stop in the menu.

The script stops.

To restart a script:

1. Click on Restart or

Select Script | Restart in the menu.

The script is restarted.

To step a script:

1. Click on Step or

Select Script | Step in the menu. or

Press F10.

The script is run command by command.

3.14 Working with Registers

This section describes how you can work with registers. For more information about registers see

4.10, Counters,

on page 55.

All registers are displayed in the Registers pane.

To select a register format:

1. Right-click on one of the registers in the Registers pane.

User Interface Reference 47

The Format submenu appears:

2. Click on the format require; Dec, Hex or Bin.

The register format is changed to the selected format and the numbers are displayed.

48 User Interface Reference

4

Language Reference

4.1

Comments

Single line comments are done using the // characters.

void Main()

{

// This is a single line comment

CopyMemory(Src => [ 0x00, 0x00 ],

Dst => Buffer,

DstOffset => 200);

}

Multi line comments are open using the /* characters, and are closed using the */ characters.

void Main()

{

/* This is a multi line comment the prevents the following instruction to be executed

CopyMemory(Src => [ 0x00, 0x00 ],

Dst => Buffer,

DstOffset => 200);

*/

}

4.2

Include Files

Files can be included using the include directive.

The example below shows a script that includes a file and use then the macro declared inside.

include "MyInclude.esf" void Main()

{

// Calls a function declared in MyInclude.esf

SendPulseAndWaitAnswer(10, 2s);

}

Language Reference 49

4.3

Constants Declaration

Constants can be declared with the const keywork.

The example below shows a script that defines two constants.

const NormalState = StateMachine.Running; const DefaultTimeout = 450ms; void Main()

{

WaitForState(State => NormalState,

Timeout => DefaultTimeout);

}

4.4

Variables Declaration

Variables are instantiated with the var keyword. The variable can be initialized at declaration with a value. If no initial value is specified the variable will not be initialized.

var myVar; var myVar1 = 10; var myVar2 = CounterB; var myVar3 = myVar1 * myVar2;

There is no restriction on variables declaration location. Variables can be declared anywhere in the script. The scope of the variable depends on the declaration location.

var myGlobalVar = 0; void MyMacro() { myGlobalVar = 10; } void Main()

{ var myVar = 0; for(var i=0; i<10; i++)

{ myVar += 1 << i;

}

Sleep( myVar );

}

50 Language Reference

4.5

Functions Declaration

Functions can be used to save typing and improve the understanding of a script. Functions accept parameters and can optionally return a value.

The example below shows a script that defines a function for sending a trigger pulse and waiting until an answer is received.

void SendPulseAndWaitAnswer(MaxRetries,

MaxTime)

{

repeat(MaxRetries)

{

GenerateTriggerOut(Output => BncOut,

Mode => PulseHigh);

WaitTriggerIn(Input => BncIn,

Condition => RisingEdge,

Timeout => MaxTime);

if(!TimeoutOccured)

{

exit;

}

}

} void Main()

{

SendPulseAndWaitAnswer(10, 2s);

SendPulseAndWaitAnswer(100, 20ms);

SendPulseAndWaitAnswer(10, 2s);

}

The following example shows a function returning a value based on a parameter: var ComputeSlotPosition(Index)

{ return Index * 85;

}

TimerA = ComputeSlotPosition(CounterB);

Language Reference 51

4.6

Function Calls

The parameters of functions calls are explicit. The syntax for specifying parameters values is param => value. The parameters order is thus not relevant as the parameter is fully identified by its name. The examples below shows a function with two parameters Param1 and Param2; the value

10 is assigned to Param1 and the value 20 is assigned to Param2:

SampleMacro( Param1 => 10, Param2 => 20 );

SampleMacro( Param2 => 20, Param1 => 10 );

When an instruction, a function has only one parameter its name can be omitted. For example:

Sleep( Duration => 10us ); can also be written as:

Sleep( 10us );

Parameters are optional when they have a default value. If the parameter is not specified in the call, the default value is used. The example below defines a macro with two parameters. Param1 is mandatory and Param2 has a default value of 0. Since Param2 is not specified in the call, the value 0 will be used as default.

void SampleFunction(Param1, Param2 = 0)

{

Sleep( Param 1 + Param2 );

} void Main()

{

SampleFunction( Param1 => 10us );

}

52 Language Reference

4.7

Enumerations Declarations

Enumerations can be used to give names to known values.

The example below shows a script that defines several error codes.

enum ErrorCode

{

NoError = 0,

Timeout = 1,

SequenceMismatch = 2,

Unspecified = 3

}

The example below shows a script that declares a unique number for each state of a state machine.

enum StateMachine

{

Stopped,

Paused,

Running,

Unspecified

} void main()

{

var currentState = GetMachineState();

if(currentState == StateMachine.Unspecified)

{

currentState = StateMachine.Stopped;

}

SetMachineState(currentState);

}

Language Reference 53

4.8

Namespaces Declarations

Namespaces can be used to isolate some portions of code to avoid name collision in big scripts.

The example below shows a script that declares a namespace and then use functions defined by this namespace.

namespace UtilityFunctions

{

void WaitSpecialEvent(Event, Timeout)

{ /* ... */ }

void GenerateSpecialEvent(Event, Param = 0)

{ /* ... */ }

} void WaitAndGenerate(Event)

{

UtilityFunctions.WaitSpecialEvent(Event, 50ms);

UtiliyFunctions.GenerateSpecialEvent(Event);

} using namespace UtilityFunctions; void main()

{

WaitSpecialEvent(Event, 200ms);

WaitAndGenerate(Event);

}

The example below shows a scripts that declare two namespaces, each with a function that has the same name.

namespace TimingFunctions

{

void WaitAnswer(Timeout) { /* ... */ }

} namespace ProtocolFunctions

{

void WaitAnswer(AnswerId) { /* ... */ }

} void main()

{

TimingFunctions.WaitAnswer(400ms);

ProtocolFunctions.WaitAnswer(Handshake);

}

54 Language Reference

4.9

Buffer Usage

The hardware contains a buffer of 8192 bytes available for memory comparison and copy operations. It can be accessed with the Buffer keyword for reading as well as for writing. Example:

Buffer[0 to 3] = [ 0, 1, 2, 3 ];

Buffer[0 for 4] = CounterB;

CounterA = Buffer[10 for 4];

The last received frame can be accessed with the LastRxFrame keyword.

LastRxFrame is read only. Example:

Buffer[2 to CounterB] = LastRxFrame[2 to CounterB];

CounterC = LastRxFrame[5];

4.10 Counters

Counters are useful for example to count errors, special conditions, etc.

Several counters are available in the generator, namely CounterA to

CounterH. The value of the counters is indicated in the Registers window.

The example below shows a script that repetitively sends a pulse on the output BNC connector and waits for a rising edge on the input BNC connector. If the rising edge is not detected within 500 milliseconds the script increments CounterA.

repeat(1000)

{

GenerateTriggerOut(Output => BncOut,

Mode => PulseHigh);

WaitTriggerIn(Input => BncIn,

Condition => RisingEdge,

Timeout => 500ms);

if(TimeoutOccurred)

{

// Keep the error count in Counter

CounterA++;

}

}

4.11 Timers

Timers are useful for example to measure or generate precise timing sequences. Several timers are available in the generator. Timers can be

Language Reference 55

started, stopped or modified. It is possible to wait until a timer reaches a specified value or to change the current value of a timer.

The example below shows a script that measure the duration of a trigger pulse and generates one that lasts three times this duration.

Timer0 = 0;

Timer1 = 0;

WaitTriggerIn(Input => BncIn,

Condition => RisingEdge);

StartTimer(0);

GenerateTriggerOut(Output => BncOut,

Mode => ForceHigh);

WaitTriggerIn(Input => BncIn,

Condition => FallingEdge);

StartTimer(1);

StopTimer(0);

WaitTimer(Index => 1,

TargetValue => Timer0 * 2,

TimingRespect => Hard);

GenerateTriggerOut(Output => BncOut,

Mode => ForceLow);

StopTimer(1);

56 Language Reference

4.12 Stop Keyword

The stop keyword stops the execution of the generator. This is useful for example to stop the generator when a required condition is not met.

WaitTriggerIn(Input => BncIn,

Condition => FallingEdge,

Timeout => 100ms); if(TimeoutOccurred)

{

// Condition not met: stop execution

stop;

}

4.13 Breakpoint Keyword

The breakpoint keyword breaks the execution of the generator. The execution can be resumed by the user from the breakpoint.

WaitTriggerIn(Input => BncIn,

Condition => FallingEdge,

Timeout => 100ms); if(TimeoutOccurred)

{

// Condition not met: break execution

breakpoint;

}

4.14 If Statement

The if statement executes instructions conditionally depending on a

condition. Conditions are described in

4.21, Conditional expressions,

on page 63.

The example below shows a script that increments CounterA if the button is pressed, and CounterB otherwise. When CounterA reaches 10, CounterB is reset to 0.

WaitButton(Index => 0,

Timeout => 0ms,

Condition => HighLevel); if(MatchOccurred)

{

CounterA++;

}

Language Reference 57

else

{

CounterB++;

} if(CounterA >= 10)

{

CounterB = 0;

}

4.15 Switch Statement

The switch statement executes instructions conditionally depending on the value of the specified variable.

The example below shows a script that increments CounterA if the value of the variable is 0, increments CounterB if the value is 1 and resets both to zero in other cases. switch(CounterC)

{

case 0:

CounterA++;

break;

case 1:

CounterB++;

break;

default:

CounterA = 0;

CounterB = 0;

break;

}

58 Language Reference

4.16 Repeat Statement

The repeat statement executes instructions the specified count of times.

A repeat statement can be stopped with the exit keyword. Up to four repeat statements can be imbricated.

The example below shows a script that pulses high the state of the output

BNC connector for 200 milliseconds every seconds. It does this 10 times.

repeat(10)

{

GenerateTriggerOut(Output => BncOut,

Mode => ForceHigh);

Sleep(200ms);

GenerateTriggerOut(Output => BncOut,

Mode => ForceLow);

Sleep(800ms);

}

4.17 While Statement

The while statement executes instructions as long as a specified condition is true. The condition is checked before the instruction is executed. A while statement can be stopped with the exit keyword. Up to four while statements can be imbricated.

The example below shows a script that toggles the state of the output

BNC connector every 200 milliseconds until the input BNC connector presents a high logic level.

while(true)

{

GenerateTriggerOut(Output => BncOut,

Mode => Toggle);

WaitTriggerIn(Input => BncIn,

Condition => HighLevel,

Timeout => 200ms);

if(MatchOccurred) { exit; }

}

Language Reference 59

4.18 Do While Statement

The do while statement executes instructions as long as a specified condition is true. The condition is checked after the instruction is executed. A while statement can be stopped with the exit keyword. Up to four do while statements can be imbricated.

The example below shows a script that generates a pulse on the output

BNC connector until the input BNC connectors presents a high logic level.

do

{

GenerateTriggerOut(Output => BncOut,

Mode => PulseHigh);

WaitTriggerIn(Input => BncIn,

Condition => LowLevel,

Timeout => 0);

} while(MatchOccurred);

4.19 For Statement

The for statement executes instructions in a loop a certain number of times. A for statement can be stopped with the exit keyword. Up to four for statements can be imbricated.

The example below shows a script that generates 20 pulses on the output

BNC connector.

for(var i=0; i<20; i++)

{

GenerateTriggerOut(Output => BncOut,

Mode => PulseHigh);

}

60 Language Reference

4.20 Mathematical expressions

The Ellisys script language supports the following mathematical operators: +, -, *, /, %, &, |, ^, >> and <<.

The examples below show how to use these operators and how to combine them. In all these examples, a must be a variable; b and c can be variables or a literals.

The following example assigns the value 20 to a: a = 20;

The following example assigns the value 0xAB12 (43,794 in decimal) to a: a = 0xAB12;

The following example adds the value of b to the value of c and assigns the result to a: a = b + c;

The following example subtract the value of c from the value of b and assigns the result to a: a = b - c;

The following example multiplies the value of b with the value of c and assigns the result to a: a = b * c;

The following example divides the value of b by the value of c and assigns the result to a: a = b / c;

The following example divides the value of b with the value of c and assigns the rest of the integer division to a: a = b % c;

The following example performs a mathematical AND operation between the value of b and the value of c and assigns the result to a: a = b & c;

Language Reference 61

The following example performs a mathematical OR operation between the value of b and the value of c and assigns the result to a: a = b | c;

The following example performs a mathematical XOR operation between the value of b and the value of c and assigns the result to a: a = b ^ c;

The following example performs a right shift operation between the value of b and the value of c and assigns the result to a: a = b >> c;

The following example performs a left shift operation between the value of b and the value of c and assigns the result to a: a = b << c;

The following example demonstrates how to combine expressions to produce more complex results: a = ((b & 0x0F) * 12) >> (c + 1);

62 Language Reference

4.21 Conditional expressions

The conditions that can be tested are MatchOccurred and TimeoutOccured.

These two flags are set by instructions that wait specific conditions.

Conditional expressions can be used as condition of execution or termination with several statements, including if, while and do while.

The following example executes the specified code if a equals b: if(a == b) { /* insert code here */ }

The following example executes the specified code if a is different from b: if(a != b) { /* insert code here */ }

The following example executes the specified code if a is greater than b: if(a > b) { /* insert code here */ }

The following example executes the specified code if a is greater than or equal to b: if(a >= b) { /* insert code here */ }

The following example executes the specified code if a is less than b: if(a < b) { /* insert code here */ }

The following example executes the specified code if a is less than or equal to b: if(a <= b) { /* insert code here */ }

Language Reference 63

64 Language Reference

5

Instruction Set Reference

The WiMedia Explorer 300 Generator includes several specialized instructions. These instructions are divided into six distinct categories:

Timing operations

Buffer operations

Trigger operations

PHY-oriented operations

UWB-oriented operations

Wireless USB-oriented operations

5.1

Sleep Instruction

The Sleep instruction waits a precise duration which can be specified in several units. The duration can be specified in units of time (seconds, milliseconds, microseconds and nanoseconds) or in 66 MHz clock cycles.

Example

Sleep ( Duration => 1.5ms );

Sleep ( 1.5ms );

Parameter List

Duration

Description

Amount of time to wait.

Type

Time expressed in 66 MHz clock cycles or seconds.

Range

0 to 4,294,967,295 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

No default value; this parameter is mandatory.

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed.

Instruction Set Reference 65

5.2

StartCountdown Instruction

The StartCountdown instruction starts a countdown timer in the generator. Two countdown timers can run simultaneously.

Example

StartCountdown ( Index => 0, Duration => 65538us );

StartCountdown ( 65538us );

Parameter List

Index

Description

Index of the countdown timer.

Range

Default

Example

0 to 1.

0

0 to use the countdown timer with index 0.

1 to use the countdown timer with index 1.

Duration

Description

Amount of time to wait.

Type

Time expressed as 66 MHz clock cycles or seconds.

Range

Default

Example

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

No default value; this parameter is mandatory.

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

66 Instruction Set Reference

5.3

WaitCountdownReached Instruction

The WaitCountdownReached instruction waits the countdown timer reaches its nominal value.

Example

WaitCountdownReached(

Index => 0,

Timeout => 500ms,

TimingRespect => Hard);

Parameter List

Index

Description

Index of the countdown timer.

Range

Default

Example

0 to 1.

0

0 to use the countdown timer with index 0.

1 to use the countdown timer with index 1.

Timeout

Description

Timeout after which the instruction is aborted.

Type

Time expressed as 66 MHz clock cycles or seconds.

Range

Default

Example

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Waits for ever if not specified.

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

Instruction Set Reference 67

TimingRespect

Description

Specifies if the processor breaks if the countdown value was already reached at the time the wait was called.

Range

Default

Soft or Hard.

Soft

Example

Soft to continue even if the countdown value was already reached.

Hard to break script execution if the countdown value was exceeded. This value helps detecting timing errors in scripts.

5.4

StartTimer Instruction

The StartTimer instruction starts the specified timer.

Example

StartTimer(1);

Parameter List

Index

Description

Specifies the index of the timer to start.

Type

0 to 2.

Default

Example

No default value; this parameter is mandatory.

0 will use timer 0.

68 Instruction Set Reference

5.5

StopTimer Instruction

The StopTimer instruction stops the specified timer.

Example

StopTimer(2);

Parameter List

Index

Description

Specifies the index of the timer to stop.

Type

0 to 2.

Default

Example

No default value; this parameter is mandatory.

0 will use timer 0.

5.6

WaitTimer Instruction

The WaitTimer instruction waits until the specified timer reaches the specified value.

Example

WaitTimer(

Index => 1,

TargetValue => 60s);

Parameter List

Index

Description

Specifies the index of the timer to wait on.

Type

0 to 2.

Default

No default value; this parameter is mandatory.

Example

0 will use timer 0.

Instruction Set Reference 69

TargetValue

Description

Specifies the target value to wait on.

Type

0 to 4,294,967,295 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

No default value; this parameter is mandatory.

Example

10500 will match when the specified timer reaches value 10500.

132ms will match when the specified timer reaches value

8,712,000, which equals to 132ms at 66 MHz.

Timeout

Description

Timeout after which the instruction is aborted.

Type

Time expressed as 66 MHz clock cycles or seconds.

Range

Default

Example

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

No default value; this parameter is mandatory.

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

TimingRespect

Description

Specifies if the processor breaks if the countdown value was already reached at the time the wait was called.

Range

Default

Soft or Hard.

Soft

Example

Soft to continue even if the countdown value was already reached.

Hard to break script execution if the countdown value was exceeded. This value helps detecting timing errors in scripts.

70 Instruction Set Reference

5.7

CopyMemory Instruction

The CopyMemory instruction copies bytes from a location of the user buffer to another location.

Example

CopyMemory(

Src => [ 0x00, 0x00 ],

Dst => Buffer,

DstOffset => 200);

CopyMemory(

Src => Buffer,

SrcOffset => 0,

Dst => Buffer,

DstOffset => 200,

Length => 2);

CopyMemory(

Src => LastRxFrame,

SrcOffset => 15,

Dst => Buffer,

DstOffset => 15,

Length => 60);

Parameter List

Src

Description

The source data to copy to the destination.

Type

Default

Example

Inline bytes (max 8192 bytes) or Buffer or LastRxFrame.

No default value; this parameter is mandatory.

[ 0x00, 0x09, 0x00, 0xE0, 0x00 ] to copy these bytes.

Buffer to copy bytes from the user buffer.

Instruction Set Reference 71

SrcOffset

Description

Offset in the source data of the first byte to use.

Range

0 to 8191.

Default

Example

0

0 will copy from the beginning of the PHY header when

LastRxFrame is specified or from offset 0 of the user buffer when Buffer is used.

5 will copy from the beginning of the MAC header when

LastRxFrame is specified or from offset 5 of the user buffer when Buffer is used.

15 will copy from the beginning of the payload when

LastRxFrame is specified or from offset 15 of the user buffer when Buffer is used.

Dst

Description

The destination where the source will be copied.

Type

Buffer

Default

Example

No default value; this parameter is mandatory.

Buffer is the only acceptable value.

DstOffset

Description

Offset in the destination buffer of the first data byte to copy.

Range

0 to 8191.

Default

Example

No default value; this parameter is mandatory.

0 will copy source bytes at offset 0 of the destination buffer.

22 will copy source bytes at offset 22 of the destination buffer.

Length

Description

Length of the data to copy.

Range

Default

Example

0 to 8192.

No default value; this parameter is mandatory.

5 will copy 5 bytes.

72 Instruction Set Reference

5.8

CompareMemory Instruction

The CompareMemory instruction compares bytes from a location of the user buffer to another.

Example

CompareMemory(

Src => Buffer,

SrcOffset => 60,

Dst => [ 0x00, 0x00 ] );

CompareMemory(

Src => Buffer,

SrcOffset => 0,

Dst => Buffer,

DstOffset => 200,

Length => 40);

CompareMemory(

Src => LastRxFrame,

SrcOffset => 5,

Dst => Buffer,

DstOffset => 5,

Length => 10);

Parameter List

Src

Description

The first sequence of bytes to compare.

Type

Default

Example

Inline bytes (max 8192 bytes) or Buffer or LastRxFrame.

No default value; this parameter is mandatory.

[ 0x00, 0x09, 0x00, 0xE0, 0x00 ] to compare the specified bytes with the bytes specified in Dst.

Buffer to compare bytes in the user buffer with the bytes specified in Dst.

Instruction Set Reference 73

SrcOffset

Description

Offset in the source data of the first byte to compare.

Range

0 to 8191.

Default

Example

0

0 will compare from the beginning of the PHY header when

LastRxFrame is specified or from offset 0 of the user buffer when Buffer is used.

5 will compare from the beginning of the MAC header when

LastRxFrame is specified or from offset 5 of the user buffer when Buffer is used.

15 will compare from the beginning of the payload when

LastRxFrame is specified or from offset 15 of the user buffer when Buffer is used.

Dst

Description

The second sequence of bytes to compare.

Type

Buffer or LastRxFrame.

Default

Example

No default value; this parameter is mandatory.

Buffer to compare bytes defined in Src with data in the user buffer.

LastRxFrame to compare bytes defined in Src with data contained in the last received frame.

DstOffset

Description

Offset in the destination buffer of the first data byte to compare.

Range

Default

Example

0 to 2047.

No default value; this parameter is mandatory.

0 will compare from offset 0 of the user buffer when Buffer or

LastRxFrame is used.

200 will compare from offset 200 of the user buffer when

Buffer or LastRxFrame is used.

74 Instruction Set Reference

Mask

Description

Mask to apply on each byte of the data to compare. The mask is applied with an AND operator.

Type

Default

Inline bytes (max 8192 bytes).

0xFF for all bytes specified in Data.

Example

[ 0x0F, 0x0F, 0xFF, 0xF0, 0xFF ] will use these bytes for the mask.

Length

Description

Length of the data to compare.

Range

0 to 2047.

Default

Example

No default value; this parameter is mandatory.

5 will copy 5 bytes.

5.9

WaitButtonPressed Instruction

The WaitButtonPressed instruction waits on user action on the specified button of the trigger board.

Example

WaitButtonPressed(

Index => 0,

Timeout => 10s);

Parameter List

Index

Description

Selects the button to wait on.

Range

Default

Example

0 to 1.

No default value; this parameter is mandatory.

0 will wait until Button0 is pressed on the trigger board.

1 will wait until Button1 is pressed on the trigger board.

Instruction Set Reference 75

Timeout

Description

Timeout after which the instruction is aborted.

Type

Time expressed as 66 MHz clock cycles or seconds.

Range

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

Waits for ever if not specified.

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

5.10 WaitTriggerIn Instruction

The WaitTriggerIn instruction waits on the specified input of the trigger board.

Example

WaitTriggerIn(

Input => BncIn,

Condition => RisingEdge,

Timeout => 5s);

Parameter List

Input

Description

Selects the input on which the condition should be waited on.

Range

Default

Any, BncIn, DigitalIn0 to DigitalIn3.

No default value; this parameter is mandatory.

Example

Any waits on any inputs of the trigger board.

BncIn waits on the BNC input of the trigger board.

76 Instruction Set Reference

Condition

Description

Specifies the trigger condition.

Range

Default

RisingEdge, FallingEdge, HighLevel, LowLevel.

No default value; this parameter is mandatory.

Example

RisingEdge waits on a rising edge condition.

HighLevel waits on a high level condition.

Timeout

Description

Timeout after which the instruction is aborted.

Type

Range

Default

Example

Time expressed as 66 MHz clock cycles or seconds.

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Waits for ever if not specified.

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

5.11 GenerateTriggerOut Instruction

The GenerateTriggerOut instruction generates a condition on the specified output of the trigger board.

Example

GenerateTriggerOut(

Output => BncOut,

Mode => PulseHigh);

Instruction Set Reference 77

Parameter List

Output

Description

Selects the output to generate the trigger on.

Range

Default

All, BncOut, DigitalOut0 to DigitalOut3.

No default value; this parameter is mandatory.

Example

All generates the condition on all outputs of the trigger board.

BncOut generates the condition on the BNC output.

Mode

Description

Specifies the trigger mode.

Range

Default

Example

PulseHigh, PulseLow, ForceHigh, ForceLow, Toggle.

No default value; this parameter is mandatory.

PulseHigh generates a positive pulse on the output.

ForceLow forces a low-level on the output.

Toggle inverts the current level of the output.

5.12 SetChannel Instruction

The SetChannel instruction sets the TX channel and the RX channel of the

WiMedia PHY, as specified in the WiMedia MAC/PHY Interface 1.0 specification.

Example

SetChannel( Channel => 0x0D );

SetChannel( 0x0D );

78 Instruction Set Reference

Parameter List

Output

Description

Ultrawideband channel to switch on.

Range

0 to 63.

Default

Example

No default value; this parameter is mandatory.

0x0D will switch on Band Group 1, TFC 5.

0x0F will switch on Band Group 1, TFC 7.

14 will switch on Band Group 1, TFC 6.

5.13 SetTxPowerAttenuation Instruction

The SetTxPowerAttenuation instruction sets the attenuation of the transmitter.

Example

SetTxPowerAttenuation( Attenuation => 7 );

SetTxPowerAttenuation( 7 );

Parameter List

Attenuation

Description

Attenuation specified in dB.

Range

0 to 15.

Default

No default value; this parameter is mandatory.

Example

0 specifies an attenuation of 0 dB (max power).

15 specifies an attenuation of 15 dB (min power).

Instruction Set Reference 79

5.14 SendFrame Instruction

The SendFrame instruction transmits the specified raw frame over-the-air.

Any kind of correct or incorrect WiMedia frame can be sent using this instructi on.

There is a delay of 1.0us between the execution of the instruction and the actual RF transmission.

Example

SendFrame(

RawData => [ 0x00, 0x28, 0x00, 0x90,

0x00, 0x40, 0x1C, 0xFE,

0x00, 0xEF, 0xBE, 0x00,

0x00, 0x00, 0x80 ],

Interval => 17.554us,

Spacing => SIFS,

ComputeFcs => false);

SendFrame(

RawData => Buffer,

RawDataOffset => 20,

Interval => 17.554us,

Spacing => SIFS,

ComputeFcs => true);

Parameter List

RawData

Description

Raw data to be used (including PHY header, MAC header, payload and FCS as specified in the WiMedia MAC/PHY

Interface 1.0).

Type

Default

Example

Inline bytes (min 15 bytes, max 4114 bytes) or Buffer.

No default value; this parameter is mandatory.

[ 0x00, 0x00, 0x40, 0x00, 0x00, 0x40,

0x06, 0x5A, 0xB0, 0x57, 0xC0, 0x00,

0x00, 0x39, 0x00 ] to use these bytes for the instruction.

Buffer to use bytes from the user buffer.

80 Instruction Set Reference

RawDataOffset

Description

Offset of the data bytes in the raw data.

Range

0 to 8191.

Default

Example

No default value; this parameter is mandatory when Buffer is used in RawData. This parameter cannot be used when inline bytes are specified in RawData.

0 will start matching at the beginning of the PHY header.

5 will start matching at the beginning of the MAC header.

15 will start matching at the beginning of the payload.

Interval

Description

Delay between the beginning of this instruction and the beginning of the next instruction.

Type

Range

Time expressed as 66 MHz clock cycles or seconds.

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

0

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

Spacing

Description

Delay between the end of this instruction and the beginning of the next instruction.

Type

Range

Time expressed as 66 MHz clock cycles or seconds.

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

MIFS

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

Instruction Set Reference 81

Note that a spacing of at least MIFS (Minimum Inter Frame Spacing) shall be respected between two consecutive SendFrame instructions. This can be achieved by specifying the correct Interval value, or by setting a Spacing of MIFS (MIFS is a globally defined constant equal to 1.875us).

It is possible to generate invalid spacings for testing purposes but this must be done with care because some PHY components will not be able to receive another frame after a duration shorter than MIFS.

ComputeFcs

Description

Specifies if the FCS bytes should be computed automatically by the hardware instead of using the specified values.

Type

Default

Boolean (True or False).

False

Example

True to replace the specified FCS bytes with the computed

FCS.

False to leave the specified FCS bytes as is.

82 Instruction Set Reference

5.15 WaitFrame Instruction

The WaitFrame instruction waits for a frame matching the specified criteria.

Example

WaitFrame(

Length => 128,

Type => Data,

DestAddress => 0x0002,

SourceAddress => 0x0001,

Interval => 17.554us,

Spacing => 10us,

Timeout => 500ms);

WaitFrame(

Type => Beacon,

Timeout => 70ms,

MatchOnlyValidFcs => true);

Parameter List

Length

Description

Length of the payload to match (not including PHY header, MAC header or FCS).

Range

0 to 4095.

Default

Example

The length of the payload is ignored if this parameter is not specified.

128 will match a frame containing 128 bytes of payload. In this case the total frame length will be 147 bytes. The PHY header is always 5 bytes, the MAC header is always 10 bytes, and the

FCS is always 4 bytes.

Instruction Set Reference 83

Type

Description

Type of frame to match

Range

Default

0 to 7. The following constants can also be used: Beacon,

Control, Command, Data and AggregatedData.

The type of the frame is ignored if this parameter is not specified.

Example

Data will match data frames.

5 will match the first frame that contains value 5 in the MAC frame type field.

DestAddress

Description

Destination address of the frame to match.

Range

0 to 65535.

Default

The destination address is ignored if this parameter is not specified.

Example

0xABCD will match frames directed to the device 0xABCD.

1000 will match frames directed to the device 1000.

The value can be specified in decimal or hexadecimal.

SourceAddress

Description

Source address of the frame to match.

Range

0 to 65535.

Default

Example

The source address is ignored if this parameter is not specified.

0x1234 will match frames coming from the device 0x1234.

11 will match frames coming from the device 11.

The value can be specified in decimal or hexadecimal.

84 Instruction Set Reference

MatchOnlyValidFcs

Description

Specifies if the instruction will only match frames with valid FCS.

Type

Boolean (True or False).

Default

False

Example

True will break the script if a match occurs and the FCS of the received frame is valid.

False will break the script if a match occurs independently of the FCS value of the received frame.

Interval

Description

Delay between the beginning of this instruction and the beginning of the next instruction.

Type

Time expressed as 66 MHz clock cycles or seconds.

Range

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

0

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

Spacing

Description

Delay between the end of this instruction and the beginning of the next instruction.

Type

Time expressed as 66 MHz clock cycles or seconds.

Range

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

MIFS

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

Instruction Set Reference 85

Timeout

Description

Timeout after which the instruction is aborted.

Type

Time expressed as 66 MHz clock cycles or seconds.

Range

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

Waits for ever if not specified.

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

5.16 WaitDataPattern Instruction

The WaitDataPattern instruction waits on raw data that matches the specified pattern from the defined offset.

Example

WaitDataPattern(

Data => [ 0x0A, 0x17, 0x7F ],

Mask => [ 0x0F, 0xFF, 0xFF ],

Offset => 5, // Skip PHY header

Interval => 15us,

Spacing => 0,

Timeout => 500ms);

WaitDataPattern(

Data => Buffer,

DataOffset => 0,

Mask => Buffer,

MaskOffset => 12,

Length => 6,

Offset => 5, // Skip PHY header

Interval => 15us,

Spacing => 0,

Timeout => 500ms);

86 Instruction Set Reference

Parameter List

Data

Description

Data pattern to match on.

Type

Default

Inline bytes (max 1024 bytes) or Buffer.

No default value; this parameter is mandatory.

Example

[ 0x00, 0x09, 0x00, 0xE0, 0x00 ] to match on these bytes.

Buffer to match on bytes specified in the user buffer.

DataOffset

Description

Offset in the buffer of the first data byte to use.

Range

0 to 8191.

Default

Example

0

0 will start matching at the beginning of the PHY header.

5 will start matching at the beginning of the MAC header.

15 will start matching at the beginning of the payload.

Mask

Description

Mask to apply on the data pattern. The mask is applied with an

AND operator.

Type

Default

Inline bytes (max 1024 bytes) or Buffer.

0xFF for all bytes specified in Data.

Example

[ 0x0F, 0x0F, 0xFF, 0xF0, 0xFF ] will use these bytes for the mask.

Instruction Set Reference 87

MaskOffset

Description

Offset in the mask of the first byte to use.

Range

0 to 8191.

Default

Example

0

0 will start matching at the beginning of the PHY header.

5 will start matching at the beginning of the MAC header.

15 will start matching at the beginning of the payload.

Length

Description

Length of the specified data pattern.

Range

0 to 1023.

Default

Example

No default value; this parameter is mandatory.

5 will match 5 bytes.

Offset

Description

Offset in the frame raw data at which the data pattern starts matching.

Range

Default

Example

0 to 8191.

No default value; this parameter is mandatory.

0 will start matching at the beginning of the PHY header.

5 will start matching at the beginning of the MAC header.

15 will start matching at the beginning of the payload.

MatchOnlyValidFcs

Description

Specifies if the instruction will only match frames with valid FCS.

Type

Default

Example

Boolean (True or False).

False

True will break the script if a match occurs and the FCS of the received frame is valid.

False will break the script if a match occurs independently of the FCS value of the received frame.

88 Instruction Set Reference

Interval

Description

Delay between the beginning of this instruction and the beginning of the next instruction.

Type

Range

Time expressed as 66 MHz clock cycles or seconds.

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

0

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

Spacing

Description

Delay between the end of this instruction and the beginning of the next instruction.

Type

Range

Time expressed as 66 MHz clock cycles or seconds.

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

MIFS

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

Instruction Set Reference 89

Timeout

Description

Timeout after which the instruction is aborted.

Type

Time expressed as 66 MHz clock cycles or seconds.

Range

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

Waits for ever if not specified.

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

5.17 WaitSignature Instruction

The WaitSignature instruction waits on raw data matching the specified pattern anywhere in a frame.

Example

WaitSignature(

Data => [ 0x00, 0x09, 0x00,

0xE0, 0x00 ],

Mask => [ 0x0F, 0x0F, 0xFF,

0xF0, 0xFF ],

Interval => 17.752,

Timeout => 500ms);

WaitSignature(

Data => Buffer,

DataOffset => 200,

Mask => Buffer,

MaskOffset => 400,

Timeout => 500ms);

90 Instruction Set Reference

Parameter List

Data

Description

Data pattern to match on.

Type

Default

Inline bytes (max 16 bytes) or Buffer.

No default value; this parameter is mandatory.

Example

[ 0x00, 0x09, 0x00, 0xE0, 0x00 ] to match on these bytes.

Buffer to match on bytes specified in the user buffer.

DataOffset

Description

Offset in the data of the first byte to use.

Range

0 to 8191.

Default

Example

0

0 will start matching at the beginning of the PHY header.

5 will start matching at the beginning of the MAC header.

15 will start matching at the beginning of the payload.

Mask

Description

Mask to apply on the data pattern. The mask is applied with an

AND operator.

Type

Default

Inline bytes (max 16 bytes) or Buffer.

0xFF for all bytes specified in Data.

Example

[ 0x0F, 0x0F, 0xFF, 0xF0, 0xFF ] will use these bytes for the mask.

Instruction Set Reference 91

MaskOffset

Description

Offset in the mask of the first byte to use.

Range

0 to 8191.

Default

Example

0

0 will start matching at the beginning of the PHY header.

5 will start matching at the beginning of the MAC header.

15 will start matching at the beginning of the payload.

MatchOnlyValidFcs

Description

Specifies if the instruction will only match frames with valid FCS.

Type

Boolean (True or False).

Default

False

Example

True will break the script if a match occurs and the FCS of the received frame is valid.

False will break the script if a match occurs independently of the FCS value of the received frame.

Interval

Description

Delay between the beginning of this instruction and the beginning of the next instruction.

Type

Time expressed as 66 MHz clock cycles or seconds.

Range

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

0

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

92 Instruction Set Reference

Spacing

Description

Delay between the end of this instruction and the beginning of the next instruction.

Type

Range

Time expressed as 66 MHz clock cycles or seconds.

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

MIFS

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

Timeout

Description

Timeout after which the instruction is aborted.

Type

Time expressed as 66 MHz clock cycles or seconds.

Range

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

Waits for ever if not specified.

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

5.18 WusbDeviceNotification Instruction

The

WusbDeviceNotification instruction helps sending device notifications to the host. It waits for a specific Wireless USB MMC containing a CTA IE, looks for a DNTS CTA matching the criteria, and then transmits the supplied raw data at the specified time.

Example

WusbDeviceNotification(

HostAddress => 0xBEEF,

NumberOfSlots => 16,

SlotToTransmit => 0,

Instruction Set Reference 93

Timeout => 500ms,

RawData => [ 0x00, 0x01,

0x02, 0x03,

0x04 ],

Interval => 17.752us);

WusbDeviceNotification(

HostAddress => 0xBEEF,

NumberOfSlots => 16,

SlotToTransmit => 0,

Timeout => 500ms,

RawData => Buffer,

RawDataOffset => 200,

Interval => 17.752us);

Parameter List

HostAddress

Description

Address of the Host sending the MMC to match.

Range

0 to 65535.

Default

Example

The host address is ignored if this parameter is not specified.

0xB1E5 will match frames coming from the host with address

0xB1E5.

NumberOfSlots

Description

Number of slots of the DNTS to match.

Range

0 to 255.

Default

The number of slots is ignored if this parameter is not specified.

Example

7 will match DNTS CTA IE containing 7 slots.

94 Instruction Set Reference

SlotToTransmit

Description

Slot in wich the notification should be sent.

Range

0 to 31.

Default

Example

No default value; this parameter is mandatory.

2 will transmit the raw data in slot number 2.

wStartOffset

Description

Offset from the nominal wStart value as specified in the Certified

Wireless USB Specification.

Type

Range

Time expressed as 66 MHz clock cycles or seconds.

-8,191 to +8,191 clock cycles or -124.106 to +124.106 microseconds with a precision of 15.1515 nanoseconds.

Default

Example

0

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

MatchOnlyValidFcs

Description

Specifies if the instruction will only match frames with valid FCS.

Type

Boolean (True or False).

Default

Example

False

True will break the script if a match occurs and the FCS of the received frame is valid.

False will break the script if a match occurs independently of the FCS value of the received frame.

Instruction Set Reference 95

Interval

Description

Delay between the beginning of this instruction and the beginning of the next instruction.

Type

Range

Time expressed as 66 MHz clock cycles or seconds.

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

0

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

Spacing

Description

Delay between the end of this instruction and the beginning of the next instruction.

Type

Range

Time expressed as 66 MHz clock cycles or seconds.

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

MIFS

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

96 Instruction Set Reference

Timeout

Description

Timeout after which the instruction is aborted.

Type

Time expressed as 66 MHz clock cycles or seconds.

Range

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

Waits for ever if not specified.

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

RawData

Description

Raw data to be used (including PHY header, MAC header, payload and FCS as specified in the WiMedia MAC/PHY

Interface 1.0).

Type

Default

Inline bytes (min 15 bytes, max 4114 bytes) or Buffer.

No default value; this parameter is mandatory.

Example

[ 0x00, 0x00, 0x40, 0x00, 0x00, 0x40,

0x06, 0x5A, 0xB0, 0x57, 0xC0, 0x00,

0x00, 0x39, 0x00 ] to use these bytes for the instruction.

Buffer to use bytes from the user buffer.

RawDataOffset

Description

Offset in the raw data of the first byte to use.

Range

0 to 8191.

Default

Example

No default value; this parameter is mandatory when Buffer is used in RawData. This parameter cannot be used when inline bytes are specified in RawData.

0 will start matching at the beginning of the PHY header.

5 will start matching at the beginning of the MAC header.

15 will start matching at the beginning of the payload.

Instruction Set Reference 97

ComputeFcs

Description

Specifies if the FCS bytes should be computed automatically by the hardware instead of using the specified values.

Type

Default

Boolean (True or False).

False

Example

True to replace the specified FCS bytes with the computed

FCS.

False to leave the specified FCS bytes as is.

5.19 WusbDeviceTransmit Instruction

The WusbDeviceTransmit instruction helps sending device packets to the host. It waits for a specific Wireless USB MMC containing a CTA IE, looks for a DT CTA matching the criteria, and then transmits the supplied raw data at the time specified by the host.

Example

WusbDeviceTransmit (

HostAddress => 0xBEEF,

DeviceAddress => 1,

DeviceEndpoint => 0,

Timeout => 500ms,

RawData => [ 0x00, 0x01,

0x02, 0x03,

0x04 ],

Interval => 17.855us);

Parameter List

HostAddress

Description

Address of the Host sending the MMC to match.

Range

0 to 65535.

Default

Example

The host address is ignored if this parameter is not specified.

0xB1E5 will match frames coming from the host 0xB1E5.

98 Instruction Set Reference

DeviceAddress

Description

Address of the Device in the DNTS to match.

Range

0 to 65535.

Default

Example

This field is ignored if this parameter is not specified.

0x0001 will match frames coming from the device 0x0001

DeviceEndpoint

Description

Endpoint of the Device in the DNTS to match.

Range

0 to 15.

Default

Example

No default value; this parameter is mandatory.

1 will match device endpoint 1.

wStartOffset

Description

Offset from the nominal wStart value as specified in the Certified

Wireless USB Specification.

Type

Range

Time expressed as 66 MHz clock cycles or seconds.

-8,191 to +8,191 clock cycles or -124.106 to +124.106 microseconds with a precision of 15.1515 nanoseconds.

Default

Example

0

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

Instruction Set Reference 99

MatchOnlyValidFcs

Description

Specifies if the instruction will only match frames with valid FCS.

Type

Boolean (True or False).

Default

False

Example

True will break the script if a match occurs and the FCS of the received frame is valid.

False will break the script if a match occurs independently of the FCS value of the received frame.

Interval

Description

Delay between the beginning of this instruction and the beginning of the next instruction.

Type

Time expressed as 66 MHz clock cycles or seconds.

Range

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

0

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

Spacing

Description

Delay between the end of this instruction and the beginning of the next instruction.

Type

Time expressed as 66 MHz clock cycles or seconds.

Range

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

MIFS

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

100 Instruction Set Reference

Timeout

Description

Timeout after which the instruction is aborted.

Type

Time expressed as 66 MHz clock cycles or seconds.

Range

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

Waits for ever if not specified.

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

RawData

Description

Raw data to be used (including PHY header, MAC header, payload and FCS as specified in the WiMedia MAC/PHY

Interface 1.0).

Type

Default

Inline bytes (min 15 bytes, max 4114 bytes) or Buffer.

No default value; this parameter is mandatory.

Example

[ 0x00, 0x00, 0x40, 0x00, 0x00, 0x40,

0x06, 0x5A, 0xB0, 0x57, 0xC0, 0x00,

0x00, 0x39, 0x00 ] to use these bytes for the instruction.

Buffer to use bytes from the user buffer.

RawDataOffset

Description

Offset in the raw data of the first byte to use.

Range

0 to 8191.

Default

Example

No default value; this parameter is mandatory when Buffer is used in RawData. This parameter cannot be used when inline bytes are specified in RawData.

0 will start matching at the beginning of the PHY header.

5 will start matching at the beginning of the MAC header.

15 will start matching at the beginning of the payload.

Instruction Set Reference 101

ComputeFcs

Description

Specifies if the FCS bytes should be computed automatically by the hardware instead of using the specified values.

Type

Default

Boolean (True or False).

False

Example

True to replace the specified FCS bytes with the computed

FCS.

False to leave the specified FCS bytes as is.

5.20 WusbWaitDntsCta Instruction

The WusbWaitDntsCta instruction helps sending device packets to the host.

It waits for a specific Wireless USB MMC containing a CTA IE and looks for a DNTS CTA matching the criteria. This instruction is usually followed by a

SendFrame Instruction for transmitting the required frame at the desired time.

Example

WusbWaitDntsCta(

HostAddress => 0xBEEF,

NumberOfSlots => 16,

Timeout => 500ms,

Interval => 15.568us);

Parameter List

HostAddress

Description

Address of the Host sending the MMC to match.

Range

0 to 65535.

Default

The host address is ignored if this parameter is not specified.

Example

0xB1E5 will match frames coming from the host 0xB1E5.

102 Instruction Set Reference

NumberOfSlots

Description

Number of slots of the DNTS to match.

Range

0 to 255.

Default

Example

This field is ignored if this parameter is not specified.

7 will match DNTS CTA IE containing 7 slots.

MatchOnlyValidFcs

Description

Specifies if the instruction will only match frames with valid FCS.

Type

Boolean (True or False).

Default

Example

False

True will break the script if a match occurs and the FCS of the received frame is valid.

False will break the script if a match occurs independently of the FCS value of the received frame.

Interval

Description

Delay between the beginning of this instruction and the beginning of the next instruction.

Type

Range

Time expressed as 66 MHz clock cycles or seconds.

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

0

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

Instruction Set Reference 103

Spacing

Description

Delay between the end of this instruction and the beginning of the next instruction.

Type

Range

Time expressed as 66 MHz clock cycles or seconds.

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

MIFS

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

Timeout

Description

Timeout after which the instruction is aborted.

Type

Time expressed as 66 MHz clock cycles or seconds.

Range

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

Waits for ever if not specified.

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

104 Instruction Set Reference

5.21 WusbWaitDtCta Instruction

The WusbWaitDtCta instruction helps sending device packets to the host. It waits for a specific Wireless USB MMC containing a CTA IE and looks for a

DT CTA matching the criteria. This instruction is usually followed by a

SendFrame Instruction for transmitting the required frame at the desired time.

Example

WusbWaitDtCta(

HostAddress => 0xBEEF,

DeviceAddress => 1,

DeviceEndpoint => 0,

Timeout => 500ms,

Interval => 15.598us);

Parameter List

HostAddress

Description

Address of the Host sending the MMC to match.

Range

0 to 65535.

Default

Example

The host address is ignored if this parameter is not specified.

0xB1E5 will match frames coming from the host 0xB1E5.

DeviceAddress

Description

Address of the Device in the DNTS to match.

Range

0 to 65535.

Default

Example

This field is ignored if this parameter is not specified.

0x0001 will match frames coming from the device 0x0001

Instruction Set Reference 105

DeviceEndpoint

Description

Endpoint of the Device in the DNTS to match.

Range

0 to 15.

Default

Example

No default value; this parameter is mandatory.

1 will match device endpoint 1.

MatchOnlyValidFcs

Description

Specifies if the instruction will only match frames with valid FCS.

Type

Boolean (True or False).

Default

Example

False

True will break the script if a match occurs and the FCS of the received frame is valid.

False will break the script if a match occurs independently of the FCS value of the received frame.

Interval

Description

Delay between the beginning of this instruction and the beginning of the next instruction.

Type

Range

Time expressed as 66 MHz clock cycles or seconds.

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

0

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

106 Instruction Set Reference

Spacing

Description

Delay between the end of this instruction and the beginning of the next instruction.

Type

Range

Time expressed as 66 MHz clock cycles or seconds.

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

MIFS

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

Timeout

Description

Timeout after which the instruction is aborted.

Type

Time expressed as 66 MHz clock cycles or seconds.

Range

0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.

Default

Example

Waits for ever if not specified.

1.32ms means 1,320 microseconds or 87,120 clock cycles.

600ns will be floored down to 39 clock cycles.

3960clk means 3,960 clock cycles or 60 microseconds.

1000 (without unity) is not allowed and will generate a warning.

Instruction Set Reference 107

108 Instruction Set Reference

Frequently Asked Questions

Q

The WiMedia Explorer 300 transmits data using a USB 2.0 connection. Do I need a USB 2.0 host controller?

A

Although the WiMedia Explorer 300 can upload or download data on a full speed USB 1.1 connection, Ellisys strongly recommends that you connect it to a high speed USB 2.0 port to obtain optimal performance. If you experience problems with the

WiMedia Explorer 300, please ensure it is connected on a high

2.0 enabled host controller before contacting technical support.

Q What is the maximum amount of data that I can analyze with the Ellisys WiMedia Explorer 300 Analyzer?

A

The Analyzer uses the host-computer memory and hard disk to store analyzed data. The maximum quantity of data is therefore limited by the size of the analysis computer’s central memory

(RAM) and hard disk.

Q What is the maximum amount of data that I can generate with the Ellisys WiMedia Explorer 300 Generator?

A

The Generator uses its internal memory to store data to be generated. The maximum quantity of data is therefore limited by the size of the internal memory.

Q

I have been told that Ultrawideband or WiMedia has not yet been regulated in my country. Can I start developing

UWB or WiMedia devices without causing unauthorized interferences?

A

Wireless information is transmitted over the air between devices through electromagnetic fields. These fields must stay within certain limits that have already been defined and accepted in the USA but regulations are still in progress in many other countries. Ellisys proposes a Wired Kit to connect the system under test with high frequency cables. Please contact the Ellisys sales team for more information.

109

110

Q Is it possible to upgrade the firmware of the WiMedia

Explorer 300?

A

Yes, the firmware is automatically updated with each new software release. No user intervention is required; the latest version of the firmware will be downloaded when you run the most recent version of the software.

Q

What can I connect to the large connector on the back of the product?

A

The Auxiliary Equipment connector enables hardware extensions. Several options are currently available and others may be provided in the future. Please contact the Ellisys sales team for more information.

Q I cannot run the software installation file, why?

A

The software installation file requires Microsoft Windows

Installer 3.0 or higher, which is available for download from the

Microsoft web site.

Q

When my wireless devices are not generating frames the

WiMedia Explorer 300 records a few invalid frames. What are these frames?

A

The invalid frames are observing are called false detects. These sporadic false detects are caused by ambient noise. They can be safely ignored or filtered.

Q The frame error rate is quite high. What can I do?

A

Please follow the WiMedia Explorer recommendations in

2.7 Placing the WiMedia Explorer 300

, on page 25. If the frame error rate continues to be high, bring the

transmitting units closer and/or try working at a lower data rate.

Need more help?

Go to the Ellisys web site and the following pages for the latest information:

Ellisys products page - Go to www.ellisys.com/products for the latest product information and documentation.

Application notes and white papers - Go to www.ellisys.com/

technology to find up-to-date information about the technology.

Distributors - Go to www.ellisys.com/sales/ to find a list of Ellisys distributors.

Technical support - Go to www.ellisys.com/support/ to send a question directly to the Ellisys support team.

111

112

Glossary

This glossary lists terminology terms, abbreviations and acronyms that you may come across while reading this User Guide and working with

Ellisys products.

ACK

Addr

Analyzer

Antenna

API

Bandwidth

Beacon

BIN

BER

BNC

Bookmark bps

Breakpoint

Code

Snippet

CSV

Acknowledgment code - Usually sent at the end of successful transaction.

Address - A field used to identify a given device.

An instrument that capture traffic exchanged between devices.

An apparatus for sending or receiving electromagnetic waves.

Application Programming Interface - A set of functions used by a program to communicate with another.

The transmission capacity of an electronic pathway such as a communication line, computer bus or computer channel.

A data structure sent periodically to enable device discovery, dynamic network organization and support for mobility.

Binary - A representation of values that uses two symbols, typically 0 and 1.

Bit Error Rate - The number of bits in error divided by the total number of bits.

Bayonet-Neill-Concelman - A connector for coaxial cables.

A stored location for quick retrieval at a later date.

Bits per second - The measurement of the speed of data transfer in communication systems.

The location in a program used to temporarily halt the program for testing and debugging.

A small piece of program code usually used to guide the user.

CTA

Comma-separated Values - A delimited data format that has fields separated by the comma character and records separated by new lines.

Channel Time Allocation - An amount of time during which a

Wireless USB device is allowed to use the channel for transmission or reception.

113

114

DR

DT

DUT

EDX

EFO

ESE

EUI-48

Dec

DestAddr

DNTS

FCS

FIFO

FER

Frame

Gbps

GByte

HCS

Hex

Handshake

Decimal - A representation of values that uses ten symbols, typically 0 to 9.

Destination Address - A field that identifies the recipient of a packet of information.

Device Notification Time Slot - Used to let a Wireless USB device send a notification, as for example to emulate wired

USB signaling events.

Device Receive - Used to send data to a Wireless USB device.

Device Transmit - Used to let a Wireless USB device transmit data.

Device Under Test - A device that is being analyzed or debugged.

Ellisys index file - A file format used to index information found in another file.

Ellisys file format - A file format used to store information captured by an analyzer.

Ellisys settings file - A file format used to store user settings.

Unique identifier partly assigned by the IEEE RAC and partly defined by the manufacturer of an equipment to uniquely identify a networking device.

Frame Check Sequence - A number added to a stream of information that is used for error detection.

First In First Out - A storage method that retrieves first the item stored for the longest time.

Frame Error Rate - A measure of the number of frames in error divided by the total number of frames.

A block of data transmitted over a communication link. A frame can usually encapsulate one or more packets.

Gigabits per second - 1,073,741,824 bits per second.

Gigabytes - 1,073,741,824 bytes.

Header Check Sequence - A number added to a header that is used for error detection.

Hexadecimal - A representation of values that uses sixteen symbols, typically 0 to 9 and A to F.

The resulting status of a data exchange.

MAC address

Mbps

MByte

MIC

MIFS

MMC

Host

IDE-type connector

IE

LED

Kbps

KByte

Loop

MAC

NAK

OFDM

Packet

Payload

A computer that acts as a source of information or signals.

A type of electric connector usually attached to a flat ribbon cable.

Information Elements - A data structure that contains one or several fields that can be decoded using the corresponding specification.

Light Emitting Diode - Display and lighting technology commonly used on electronic equipment to indicate their status.

Kilobits per second - 1,024 bits per second.

Kilobytes - 1,024 bytes.

A repetition within a program or script.

Media Access Control - Usually an electronic component that performs protocol-level encapsulation, decapsulation, integrity checking and scheduling.

A number that identify the recipient of a packet of information.

MAC addresses are commonly coded using EUI-48.

Megabits per second - 1,048,576 bits per second.

Megabytes - 1,048,576 bytes.

Message Integrity Check - A cryptographic checksum used in the handshaking process to verify the integrity of the packet.

Minimum Inter Frame Spacing - The minimum time between two consecutive frames.

Micro-scheduled Management Command - A structure for maintaining Wireless USB channel and accomplishing data communications.

Negative Acknowledgement - An answer to a request that can express anything but acceptance.

Orthogonal Frequency Division Multiplexing - OFDM's spread spectrum technique distributes the data over a large number of carriers that are spaced apart at precise frequencies.

A block of data that is transmitted over a communication link. A packet can be encapsulated in a lower-level frame.

The actual data in a packet minus all headers attached for transport and minus all descriptive metadata.

115

116

PHY

Protocol

RX

Scambler

ScrAddr

Script

Security key

SIFS

Snippet

SOF

Stream

Time Slot

TX

Ultra wideband

USB

UWB

WdntsCTA

WdrCTA

In wireless communications, the PHY enables the actual transmission by transforming over-the-air frames into electrical signals that are transmitted to a MAC, or vice-versa.

The format and procedures that govern the transmitting and receiving of data.

A communication abbreviation for receive.

A device or software program that encrypts data.

Source Address - A field that identifies the sender of a packet of information.

A set of instructions that is executed without user interaction.

A numeric code that is used for encryption and security purposes.

Standard Inter Frame Spacing - The time that is expected between two frames.

A small piece of program code that guides the user in how to write a specific instruction.

Start of Frame - A packet used for USB time synchronization.

The continuous flow of data from one place to another.

Interval of time in which a device is allowed to transmit or receive data.

A communication abbreviation for transmit.

A technology for transmitting information spread over a large bandwidth (>500 MHz) aimed to share spectrum with other users. WiMedia UWB is an UWB protocol defined by the

WiMedia Alliance.

Universal Serial Bus - An interface that connects between a computer and peripheral devices (such as a keyboard, game controllers, telephone, printer, etc.).

Ultra wideband - A technology for transmitting information spread over a large bandwidth (>500 MHz) aimed to share spectrum with other users. WiMedia UWB is an UWB protocol defined by the WiMedia Alliance.

Device Notification Time Slot - Used to let a Wireless USB device send a notification, as for example to emulate wired

USB signaling events.

Device Receive - Used to send data to a Wireless USB device.

WdtCTA

WiMedia

Wireless

WUSB

XML

Device Transmit - Used to let a Wireless USB device transmit data.

WiMedia is an ISO-published radio platform standard for highspeed ultra wideband (UWB) wireless connectivity. With efficient power consumption and high data rates.

A radio transmission that does not use cable and can possibly transmit information over the air.

Wireless USB - An evolution of USB that enables wireless communication over WiMedia Ultra-wideband.

Extensible Markup Language - A reasonably human-legible structured language aimed to facilitate the sharing of data across heterogeneous information systems.

117

118

Index

B

back panel overview

19

bookmarks code

42

enable

43

move to next or previous

43

remove

43

toggle

42

breakpoints

43

insert

43

remove

44

C

code bookmarks

42

breakpoints

43

searching

39

compiling

44

connecting to the computer

20

E

editing advanced

38

features

38

scripts

37

editor script

27

errors searching

44

F

files opening

35

printing

36

saving

35

working with

35

front panel overview

18

G

generator external antenna

19

features

9

overview

9

L

language reference

49

M

main menu

31

mounting external antenna

19

O

opening files

35

panes

28

organizing panes

28

output pane

27

P

panes close

28

default

27

hide

28

opening

28

organizing

28

output

27

register

27

window placer

28

printing files

36

R

register pane

27

registers

47

select a format

47

running scripts

45

S

saving files

35

script editor

27

scripts advanced editing features

38

break or pause

46

change text case

39

comment a selection

38

compiling

44

display colums 80 guide

38

editing

37

find an error

45

119

120 highlight a current line

38

mark line modifications

38

restart

47

running

45

step

47

stop

47

uncomment a selection

39

unmark line modifications

38

searching code

39

errors

44

regular expression

40

,

41

wildcards

40

,

41

software installing

12

prerequisites

11

T

toolbar main toolbar

29

U

user interface

27

W

window placer

28

121

advertisement

Was this manual useful for you? Yes No
Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Related manuals

advertisement

Table of contents