Package ztex

The Java API of the ZTEX SDK.

See: Description

Package ztex Description

The Java API of the ZTEX SDK.

This API implements access to all ZTEX FPGA Board specific functions from host side. It uses usb4java, a Java wrapper for libusb 1.0.

Features

The main features are:

Communication with the FPGA Board

Firmware built using the ZTEX SDK supports an additional descriptor, the ZTEX descriptor 1. This descriptor identifies the device and firmware, provides compatibility information (e.g. to avoid that a device is loaded with the wrong firmware) and specifies the communication protocol. A description of the descriptor is given in ZtexDevice1.

The communication protocol defines how the functions provided by the firmware (see main features above) can be accessed. Currently there is only one protocol implemented, the so called interface 1. A description of the interface is given in Ztex1v1.

The most important classes for the interaction with the EZ-USB device / firmware are

ZtexDevice1 Represents an EZ-USB device that supports ZTEX descriptor 1. These devices can be found using ZtexScanBus1.
Ztex1 Implementation of interface-independent part of the communication protocol, e.g. uploading the firmware to the EZ-USB and renumeration management.
Ztex1v1 Implementation of the Interface 1, i.e. the interface dependent part of the communication protocol.

SDK overview

The following diagram gives an overview about the components of the ZTEX SDK.

SDK for ZTEX FPGA Boards

Java host software built with the SDK usually consists in a single jar archive which contains

This single jar archive runs on all supported operating systems.

On Linux this jar archive has no additional software requirements. The usb4java/libusb-1.0 library communicates directly with the EZ-USB device using kernel routines.

On Windows a libusb-1.0 driver must be installed and assigned to the device, see the Tutorial on the Wiki. The usb4java library communicates with the EZ-USB device using that driver.

Related Resources

Additional information can be found at