SC5506A Operating & Programming Manual
Rev 2.1.1
12
S C 5 5 0 6 A
P
R O G R A M M I N G
I
N T E R F A C E
Device Drivers
The SC5506A is programmed by writing to its set of configuration registers, and its status read back
through its set of query registers. The user may choose to program directly at register level or through the
API library functions provided. These API library functions are wrapper functions of the registers that
simplify the task of configuring of the register bytes. The register specifics are covered in the next section.
Writing to and reading from the device at the register level through the API involves calls to the
sc5506a_RegWrite
and
sc5506a_RegRead
functions respectively.
For Microsoft Windows
TM
operating systems, The SC5506A API is provided as a dynamic linked library,
sc5506a.dll
, which is available for 32bit and 64bit operating systems. This API is based on the libusb-1.0
library and therefore it is required to be installed on the system prior to development. The
libusb-1.0.dll
will install along with the
sc5506a.dll
, and along with the header files for development. However for
possible newer versions of libusb-1.0, visit
to check for version updates and downloads.
To install the necessary drivers, right click on the
sc5506a.inf
file in the
Win\
directory and choose install.
When the device is connected to a USB port, the host computer should identify the device and load the
appropriate driver. For more information, see the
SC5506A_Readme.txt
file in the
Win\
directory.
For LabVIEW
TM
support, a full LabVIEW API is provided and is available in the
Win\API\LabVIEW\
directory.
To use the library, copy the “SignalCore” folder
in that directory to
%LabVIEW path%\instr.lib
location of
your LabVIEW installation directory. The LabVIEW functions are simply VI wrappers around
sc5506a.dll
.
Code written purely in G that does not call or depend on external library functions is available to our
customers on request. If pure G code SC5506A API functions are implemented, the National Instruments
driver wizard packaged with NI-VISA should be used to create a driver for the intended operating system.
SignalCore's vendor ID is
0x277C
and the product ID (PID) is
0x0016
.
For other operating systems, users will need to write and compile their own drivers. The device register
map provides the necessary information to successfully implement a driver for the SC5506A. Driver code
based on libusb-1.0 is available to our customers on request. Should the user require assistance in writing
an appropriate API other than that provided, please contact SignalCore for additional example code and
hardware details.
Using the Application Programming Interface (API)
The SC5506A API library functions make it easy for the user to communicate with the device. Using the
API removes the need to understand register-level details - their configuration, address, data format, etc.
Using the API, commands to control the device are greatly simplified. For example, to obtain the device
temperature, the user simply calls the function
sc5506A_GetDeviceTemperature
, or calls
sc5506A_SetFrequency
to tune the frequency. The software API is covered in detail in the
section.
SPI and RS-232 Programming
Please see the SPI and RS-232 sections of this manual for interfacing to the device registers using either
of these communication methods.