After defining the DUT. It is now time to implement the serial bus control into a program.
Several programming considerations are required for serial bus.
1.) The serial type is DUT defined. (This is the tester default so not required in globals.)
2.) The specific DB lines for the clock data and strobe must be defined. For serial speeds above 60 kHz: Data must be DB2 with Clock DB3, Data read DB1 or Data must be DB10 with Clock DB11, Data read DB9.
3.) Set up the initial conditions for the Strobe line in the global defaults:
For instance, if the strobe is "negative" it must transition low to begin the serial word. As such, it must start high, therefore the global default for that DB line should be ON (high).
4.) Set up the initial condition for the Clock line in the global defaults:
This is dependent on the clock strobe relationship. There are two possible modes that depend on the need for an "extra" or "latching" clock transition before the valid "loading"clock edge, after the strobe goes valid. Let us look at a "positive" clock serial bus.
Mode I. The data is clocked on the first positive clock edge after the strobe becomes valid.
Mode II. The data is clocked on the first positive edge after a negative edge and the strobe is valid.
The mode is selected in RiApps by the initial condition (at the strobe edge) of the Clock DB line
Clock DB line is Low or OFF strobe
Clock DB line is High or ON at the strobe
5.) The serial clock period should be defined. For periods less than 10uSec, fast mode is used which limits the DB pins as indicated above (#2)
6.) The tester considers the DUT defined default state the state the DUT powers up in, and therefore will not send the default commands to the device on start-up. If the DUT requires an initialization string, put the string in the connect sequence and its antithesis in the disconnect settings. This will force the tester to send the initialization string during the connect sequence.
7.) The optimizer is active unless it is turned off. If there are any sequence dependent serial commands either include them in a pre-measure, or in an earlier test section with optimization off.
8.) Like any computer, a programmed device does not like power being turned off. Take that into consideration during DC switching. Utilize make before break techniques.
9.) The DUT defined Serial Defaults become the testers defaults when the DUT is active. It is therefore not necessary to put those buttons in the Global Defaults of the testplan.
9.) Sometimes a large number of DUT Serial buttons are required in a test panel. If desired, to save space, they can be collapsed into a single button. Right click on the button, select Settings, Select Contract.
10.) For read operations see; Serial Bus Control: Data Read