SIGNALCORE SC5317A, SC5318A Programming Manual

© 2018 SignalCore, Inc. All Rights Reserved
Programming Manual
SC5317A* & SC5318A
6 GHz to 26.5 GHz RF Downconverter
www.signalcore.com
*SC5317A coming soon
©2018 | SC5317A & SC5318A Programming Manual Rev 1.1
1
Introduction
Table of Contents
1 Introduction .......................................................................................................................................... 3
2 Driver Architecture ................................................................................................................................ 4
2.1 API Function Names and Call Type ................................................................................................ 4
2.2 Compiling Code in C/C++ ............................................................................................................... 4
3 Identifying, Opening, and Closing Devices ............................................................................................. 5
3.1 Identifying Devices on the Host Computer .................................................................................... 5
3.2 Opening and Connecting to a Device ............................................................................................ 6
3.3 Disconnecting from and Closing a Device ...................................................................................... 6
3.4 Multiple Devices ............................................................................................................................ 6
3.5 Initialize Device .............................................................................................................................. 6
4 Configuration Functions ........................................................................................................................ 6
4.1 Setting the Frequency at the Ports ................................................................................................ 7
4.2 Setting the Attenuators ................................................................................................................. 8
4.3 Configuring the Conversion Signal Path ........................................................................................ 8
4.3.1 Enabling the RF Preamplifier ................................................................................................. 9
4.4 Setting the Synthesizer Modes ...................................................................................................... 9
4.5 Configuring the Reference Clock ................................................................................................. 10
4.5.1 Adjustment to the Internal TCXO Clock ............................................................................... 10
4.6 Saving the New Default State of the Device ................................................................................ 10
4.7 Setting the First LO Drive Path..................................................................................................... 10
5 Query Functions .................................................................................................................................. 10
5.1 Getting General Device Information ........................................................................................... 10
5.2 Getting the Device Status ............................................................................................................ 11
5.3 Getting Other RF Parameters ...................................................................................................... 11
5.4 Retrieving the Device Temperature ............................................................................................ 12
6 Calibration Functions ........................................................................................................................... 12
6.1 Obtaining Calibration Data .......................................................................................................... 12
6.1.1 Structured Calibration Data Format .................................................................................... 12
6.1.2 Reading Formatted Data ..................................................................................................... 13
6.1.3 Reading Raw Calibration Data ............................................................................................. 14
6.2 Configuring the Gain of the Device Using Calibration ................................................................. 14
7 General Functions ............................................................................................................................... 16
Rev 1.1 | SC5317A & SC5318A Programming Manual SignalCore, Inc.
2
SC5317A & SC5318A Programming Manual
7.1 Writing to the User EEPROM ....................................................................................................... 16
7.2 Reading from the Calibration and User EEPROMs ....................................................................... 16
7.3 Self-Calibration of the Synthesizer .............................................................................................. 17
7.4 Write Registers ............................................................................................................................ 17
7.5 Read Registers ............................................................................................................................. 18
Revision Table.............................................................................................................................................. 19
©2018 | SC5317A & SC5318A Programming Manual Rev 1.1
3
Introduction
1 Introduction
The SC5317A and SC5318A are C to K broadband single stage downconverters, with input RF range from 6 GHz to 26.5 GHz, external LO frequency range from 6 GHz to 14 GHz, and output IF range from 50 MHz to 3 GHz. These modules feature an internal synthesized local oscillator, RF preamplifier, and variable gain control, making them compact and versatile modules. With the option for an external LO signal, the SC5317A and SC5318A may be configured for SISO applications or paired together with multiple units for MIMO applications such as ground-based satellite communications, point-to-point radio, and test instrument systems.
This manual serves as a programming guide for those using the WindowsTM software API to program these devices for the purpose of communicating with them through a host computer via the PXIe, USB or RS232 bus. This document is structured into sections that describe the generic use of the product’s functions such as searching for available devices, opening a device, changing the conversion parameters, obtaining gain correction using calibration data, and putting the device into power standby.
This manual will explain each function in detail, including the purpose of the function and what each of its parameters mean. Wherever applicable, snippets of C/C++ code are provided as examples on how to properly use a function.
SignalCoreTM a registered trademark of SignalCore Incorporated, USA. SignalCoreTM is referred to as SignalCore in this manual. Microsoft and Windows are trademarks of Microsoft Corporation in the United States and/or other countries. Trade names are trademarks of their respective owners. © 2018 SignalCore Incorporated, Austin, TX 78729, USA
Rev 1.1 | SC5317A & SC5318A Programming Manual SignalCore, Inc.
4
SC5317A & SC5318A Programming Manual
2 Driver Architecture
The SC5317A is a PXIe based product, while the SC5318A is controlled through USB and RS232. Each method of communication requires its unique set of header files, dynamic linked libraries (DLL), and system level drivers.
The software architectures of the communication methods are illustrated in the following table. The left column represents the PXIe software architecture, the middle column represents the USB software architecture, and the right column represents the RS232 software architecture.
Table 1. Software Architectures
PXIe
USB
RS232
userapp.c
sc5317a.h
sc5317a.lib
userapp.c
sc5318a_usb.h
sc5318a_usb.lib
userapp.c
sc5318a_rs232.h
sc5318a_rs232.lib
sc5317a.dll
scipciexr.dll
sc5318a_usb.dll
libusb-1.0.dll
sc5318a_rs232.dll
kernel32.dll
scipciexr.sys
winusb.sys
serial.sys
At the highest level, where the user application resides, are the user code, header file(s) (.h), and library file (.lib) for the device. The next level has the device API DLL and driver DLL (.dll), both called by the applicated level. The last level is where the device system driver, or the kernel level driver, (.sys) resides.
2.1 API Function Names and Call Type
The function names for an interface are compounded words comprising of the product name, followed by the interface, and ending with the function description such as “sc5318a_usbSetFrequency”. In this document, all function descriptions will leave out the product and interface description so that
“SetFrequency” is used to represent all interfaces. All functions are of call type __stdcall in WindowsTM.
2.2 Compiling Code in C/C++
The header files are shared between USB and RS232 interfaces. To successfully use the header files to write applications, proper macros must be defined prior to compilation of the code.
Device/Interface
Macro
Down Converter
DOWNCONVERTER
PXI
PXI_DEVICE_TYPE
USB
USB_DEVICE_TYPE
RS232
RS232_DEVICE_TYPE
©2018 | SC5317A & SC5318A Programming Manual Rev 1.1
5
Identifying, Opening, and Closing Devices
In Microsoft Visual Studio, these macros can be entered in as Preprocessor Definitions in the project properties window. This could also be accomplished in GCC with the -D name option, where name is one of the macro words.
3 Identifying, Opening, and Closing Devices
The SC5317A and SC5318A downconverters are identified by their unique serial numbers. This serial number is passed to the OpenDevice() function as a string in order to open a connection to the device. The string consists of 8 HEX format characters such as 100E4FC2.
3.1 Identifying Devices on the Host Computer
The serial number is found on the product label, attached to the outer body of the product. However, if the serial number cannot be found, there is a function to obtain the current devices connected to the host computer. The SearchDevice() function scans the host computer for converter devices. If found, a list containing its serial number is returned. The function is declared as;
SCISTATUS SearchDevices(char **serialNumberList, int *numberDevices);
The **serialNumberList is a 2D array format [number of devices, serial number length
+ 1], and *numberDevices is the number of devices detected and available for connection.
The following code snippet demonstrates how to prepare to call this function.
SCISTATUS status; char **serialNumbers; int i, nDevices; serialNumbers = (char**)malloc(sizeof(char*)*MAXDEVICES); for (i=0;i<MAXDEVICES; i++) serialNumbers[i] = (char*)malloc(sizeof(char)*SCI_SN_LENGTH); /* MAXDEVICES is the number of devices to allocate memory for. SCI_SN_LENGTH is defined 0x09. */ Status = SearchDevices(serialNumbers, &nDevices ); if(status != SCI_SUCCESS) ...error handling, free allocated memory...
It is important to free all allocated memory immediately once it is not in use. The following code lines show how to deallocate the memory used to hold the serial numbers.
for(i=0;i<MAXDEVICES; i++) free(serialNumbers[i]); free(serialNumbers);
Loading...
+ 14 hidden pages