RTC6 boards
Doc. Rev. 1.0.21 en-US
6 Developing RTC6-User Programs
124
6.6.2 Single-Board Programming
During single board programming, one of the
inserted RTC6 PCIe Boards is defined with select_rtc
as default card. All single board commands following
select_rtc are sent to the defined board until
select_rtc is called once again.
Multi-Board commands are not influenced by
select_rtc (if the card number is valid, see above).
Care must be taken if a process uses multiple boards
by multiple threads, because select_rtc is not thread-
specific but board-specific. It immediately redirects
the output of all currently running threads of a
process to the specified RTC6 PCIe Board.
6.6.3 Master/Slave Operation
If several RTC6 PCIe Boards are to be operated clock-
synchronized, then they must be connected pairwise
with each other by the Master and Slave connectors
and installed in preferably (recommended) adjacent
PCIe slots. Connect the Master connector of one
board to the Slave connector of another board.
Suitable connection cables, see Figure 8, are available
from SCANLAB.
An RTC6 PCIe Board automatically gets the master
board of a master/slave chain, if a further
RTC6 PCIe Board is connected to its Master connector
but no further RTC6 PCIe Board is connected to its
Slave connector. All other RTC6 PCIe Boards are slave
boards. See also Chapter 4.4 ”Master Socket
Connector, Slave Socket Connector”, page 66.
get_master_slave can be used to query separately
for each RTC6 PCIe Board the master/slave status,
that is, whether it is operated as a master, slave or
single board.
For a source code example on how to check which
RTC6 PCIe Board is the master and which one is slave,
see Section ”Example Code (Delphi)”, page 127.
After synchronization, the clock phase of each board
is delayed by 0…3 1/64 µs clock cycles (= approx.
0 ns…50 ns) in relation to the clock phase of the
preceding (upstream) board.
Without synchronization, delays of up to 10 µs can
occur. You can use get_sync_status to check if a slave
board is synchronized to the master board (or to the
preceding board in the master/slave chain).
Notice!
• select_rtc defines the active RTC6 PCIe Board
for all threads of one process (user program)
that are currently running.
In multi-threaded user programs, this can result
in programming errors.