
©2018
Rev 2.0
5
Communication Interfaces
execution of the register that was sent, the device will return one (1) byte of data with bit 1 high
to indicate success. This byte must be read by the host to clear its receive buffer so that reading
subsequent registers will not contain corrupted data. Furthermore, reading back this byte will
ensure that the device is ready for the next register command.
Reading from the Device Via RS232
To query information from the device, the query registers are addressed, and data is returned.
contains the query register information. As with the configuration
registers, it is important that all data byte(s) (write) associated with the query registers are sent
even if they are null. All queries will return 8 bytes of data (read) with the first received byte being
the most significant (MSB). Section
provides the format details of the received
data.
PXI Express
The PXIe interface contains a high-speed PCIe-to-Serial bridge chip. This bridge chip communicates
with the onboard microcontroller serially. The interface on the bridge chip resides at offset addresses
between 0x00 and 0xFF from BAR0; which is memory mapped. A kernel level driver for the operating
system is needed to access this memory address. A simple driver using IO controls should be
sufficient to read and write byte data to this block of addresses. Although SignalCore provides the
driver and API for these products, information is provided here for users who may need to write
drivers for a different operating system or a different driver. An example would be writing the API
for the Linux operating system.
Setting Up the PCI to Serial Bridge
The serial function of the bridge chip must first be initialized before it can communicate with the
onboard microcontroller, and hence communication between the microcontroller and the PXIe
bus. The initialization can be done at the kernel level mode or at the user level mode, the decision
is left to the user. The following table lists the programming order of the bridge register addresses
to initialize and setup the serial port function.
Step
BAR0 Register
Address
Data
(Byte)
1
0x88
0x01
2
0x04
0x00
3
0x03
0x80
4
0x00
0x04
5
0x01
0x00
6
0x03
0x03
7
0x02
0x07