Q10103 Configuring DAP boards for master/slave clocking
I have multiple DAP boards connected with synchronization cables. Do I need to do anything special to operate these boards?
You need some special things — special, but not difficult to do or difficult to understand. First, makes sure that the synchronization cable is correctly installed (see the references for more information about synchronization cables). The master end of the cable must connect to the DAP board that is to act as the master.
For the software configuration, you need to designate which board acts
as the master board. The master board is the one that will send
the hardware timing signals through the synchronization connector to
coordinate the other boards. To do this, simply include an extra
MASTER
command in the sampling configuration you send to the
master. For example:
// MASTER - DAP 0 idefine master_sampler channels 4 master set ip0 s0 set ip1 s1 40 set ip2 s2 40 set ip3 s3 40 time 5.00 end
You also need to designate all of the DAP board that are connected as
slave boards. The slave boards will ignore the hardware timing
signals generated on-board or by external triggering and clocking pins,
and will instead wait for the timing signals to arrive from the master
through the synchronization connector. To configure this, simply include
an extra SLAVE
command in the sampling configuration for
each slave board. For example, a corresponding slave configuration:
// SLAVE 1 of 2 - DAP 1 idefine slave_sampler channels 4 slave set ip0 s0 set ip1 s1 set ip2 s2 set ip3 s3 time 5.00 end start
Some important details about the slave configuration:
-
Even though the slave does not use the on-board hardware signals implied by the sampling time interval of 5 microseconds, you must specify this anyway. It allows the DAPL system to configure buffer storage and some of its internal timing correctly.
-
DAP models like DAP5400a or DAP5380a that sample multiple input signals simultaneously can also serve as a master or slave, acting in the same manner except that each sampling operation captures a pin group.
-
There are no hardware triggering or external clocking modes here. All external timing goes to the master, with slaves responding only to timing signals from the master.
-
The slave configurations are started immediately. The master configuration is not.
The reason for starting all of the slaves first is that they must be ready and running at the time that the master generates the first timing pulse, otherwise the slaves cannot respond to the master and synchronization is lost. When started, the slaves will do everything they need to do to prepare for sampling, then wait at the point where their hardware needs the first sampling pulse. You can be sure that the slaves are ready in one of two ways:
-
Configure all of the boards and then send the master board a separate
START
command. -
Put a
START
command at the end of every configuration file, but make sure that the master board receives its configuration last.
For maximum reliability in the startup sequence, insert a time delay (perhaps 1/2 second to 1 second) between starting the last slave and starting the master.
At the end of the sampling activity, reverse the start-up order
— send a STOP
command to the master first, then stop
all of the slaves. That way, the slave boards will stop in an orderly
manner when the master board stops sending sample pulses.
L01398
Knowledge base article Q10102 discusses the hardware synchronization cables that you must use with board operated in a master/slave configuration.
The DAPL 3000 manual discusses master/slave considerations when using software triggering.