beautypg.com

Message-based firmware specification, Smbi data types, Communication mechanism – Measurement Computing DAQFlex User Manual

Page 4: Control transfers, Chapter 1

background image

4

Chapter 1

Message-based Firmware Specification

The message-based firmware architecture uses a String Message Based Interface (SMBI) to

communicate with supported devices using a minimal number of device transactions.

For those interested in developing a driver to interface directly with the device, the source code for the

DAQFlex software API may be used as a guide.

Click on a link below for more information about the firmware specification:

SMBI data types

Communication mechanism

Message-based control transfers

Analog input data format

Programming and developing applications

Updating device firmware

Updating the FPGA configuration bitfile on a non-Windows system

Calibrating a device

Hardware reference

Note that not all of the messages supported by the software are supported when talking directly to the

device firmware.

SMBI data types

Special formatting characters are returned with RAW data (except streaming data from bulk transfers)

to indicate the following data types:

char[64]: String data in a character array

uint8: unsigned 8-bit value

uint16: unsigned 16-bit value

uint32: unsigned 32-bit value

float32: float 32-bit value

Communication mechanism

The device enumerates as a USB device using an MCC driver.

Control transfers

Control transfers to endpoint 0 are used to communicate with the device.

The control transfer maximum buffer size is 64 bytes.

The control transfers are vendor transfers.

The command code is in the bRequest field.

o SMBI uses the 0x80 data type for strings, and the 0x81 data type for RAW data, when

supported.

Parameters passed for OUT control transfers are sent during the data stage.

The SMBI data stage returns RAW data, with LSB first.