Difference between revisions of "Gate generator (GATEGEN)"
(→Models) |
(→Example VIs) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 70: | Line 70: | ||
| 2 | | 2 | ||
| DELAY | | DELAY | ||
− | | Bit 31..0: Set the value of the delay after the trigger, after writing this register the counter will be reseted | + | | Bit 31..0: Set the value of the delay after the trigger, after writing this register the counter will be reseted, the width depends on Model |
|- | |- | ||
| 3 | | 3 | ||
| DURATION | | DURATION | ||
− | | Bit 31..0: Set the width of the pulse, after writing this register the counter will be reseted | + | | Bit 31..0: Set the width of the pulse, after writing this register the counter will be reseted, the width depends on Model |
|- | |- | ||
| 4 | | 4 | ||
| RETRIGGER | | RETRIGGER | ||
− | | Bit 0: If | + | | Bit 0: If a new trigger arrives and the gate ganerator is still runnig, abort the current pulse and generate a new pulse, if not set the trigger will be ignored. After writing this register the counter will be reseted |
|} | |} | ||
Line 89: | Line 89: | ||
− | Pulse generator (GateGenerator) with programable Delay and Duration | + | Pulse generator (GateGenerator) with programable Delay and Duration. |
The meaning of almost inputs and outputs of this Vi depends on the input "Function". The global inputs and outputs does not depend on the "function" input: | The meaning of almost inputs and outputs of this Vi depends on the input "Function". The global inputs and outputs does not depend on the "function" input: | ||
Line 95: | Line 95: | ||
=== Glogal Inputs === | === Glogal Inputs === | ||
− | + | GATEGEN#: number of gate generator to be accesed (1..255). | |
USB In: Handle to the LogicBox (create by open.vi), if not connected will take a global. parameter, this only works with one LogicBox at a time. | USB In: Handle to the LogicBox (create by open.vi), if not connected will take a global. parameter, this only works with one LogicBox at a time. | ||
Line 110: | Line 110: | ||
− | Connect: enable, configurate and set | + | Connect: enable, configurate and set the trigger driver signal. |
− | + | Inputs: | |
− | + | "Params" set the Pulse delay and duration, width depends on model | |
− | + | "Enable" enable or disable the module | |
− | + | "TRIG" set the signal number which will drive the trigger. This signal can be set or clear manually using the module "B_S.vi" (Bool to Signal). | |
− | + | "Mode" Non retrigger: Ignore the trigger until the gate generator is free. | |
+ | Retrigger: If a new trigger arrives and the gate ganerator is still runnig, abort the current pulse and generate a new pulse | ||
+ | Outputs: | ||
+ | "Gate" signal number in which the pulse is generated | ||
− | + | Set Trig: set the signal number which will drive the trigger. | |
− | + | Input: "TRIG" set the signal number which will drive the trigger. This signal can be set or clear manually using the module "B_S.vi" (Bool to Signal). | |
− | |||
− | |||
− | Set | + | Set Enable: enable or disable the module |
− | + | Input: "Enable" enable or disable the module | |
− | + | ||
− | + | Get Gate: get the gate (Pulse) value and the signal number in which the pulse is generated. | |
+ | Output: "Gate" signal number in which the pulse is generated | ||
+ | |||
+ | Read Busy: get the status of the module (Running or waiting for trigger) | ||
+ | Output: "Busy" status of the module | ||
+ | |||
+ | Write Params: set the Pulse delay and duration. | ||
+ | Input: "Params" set the Pulse delay and duration, width depends on model | ||
+ | |||
+ | Read Counter: read the value of the internal counter used to generated the pulse: | ||
+ | Output: "Gate" contains the current value of the counter. | ||
+ | |||
+ | Write Triggermode & Clear Counter: set Triggermode & resets counter to 0. | ||
+ | Input: "Mode" Non retrigger: Ignore the trigger until the gate generator is free. | ||
+ | Retrigger: If a new trigger arrives and the gate ganerator is still runnig, abort the current pulse and generate a new pulse | ||
=== Example VIs === | === Example VIs === | ||
− | + | LP_GateGen_Test.vi: |
Latest revision as of 10:16, 10 May 2016
Contents
LogicPool (TEMPLATE)
This module will created a Pulse after the arrival of a trigger. The pulse width and delay can be set. After the pulse was created , the module can trigger it self again. This feature can be used to create CLOCKs. It Does not need any Hardware submodule to work.
Models
There is three model, the only diferent is the width of an internal counter.
Model 0 -> 32 Bits
Model 1 -> 24 Bits
Model 2 -> 16 Bits
Model 3 -> 32 Bits
Model 4 -> 24 Bits
Model 5 -> 16 Bits
Register Map
Module Address: 'G' or Ox47
Read register
Register Address | Name | Data |
---|---|---|
0 | VERSION, MODEL and Driver if any |
Bit 31..25: VERSION HI Bit 24..16: VERSION LOW Bit 15..8 : MODEL Bit 7: Status Bit 6..0: Driver |
1 | STATUS | Bit 7..0 is the counter active? is running? |
2 | COUNTER_VALUE | Bit 31..0 Counter value, the width depends on Model |
Write register
Register Address | Name | Data |
---|---|---|
0 | TRIGGER | Bit 7..0: Select the input driver of the trigger |
1 | ENABLE | Bit 7..0: Select the input driver of the enable signal of the counter |
2 | DELAY | Bit 31..0: Set the value of the delay after the trigger, after writing this register the counter will be reseted, the width depends on Model |
3 | DURATION | Bit 31..0: Set the width of the pulse, after writing this register the counter will be reseted, the width depends on Model |
4 | RETRIGGER | Bit 0: If a new trigger arrives and the gate ganerator is still runnig, abort the current pulse and generate a new pulse, if not set the trigger will be ignored. After writing this register the counter will be reseted |
LabVIEW Vi
GATEGEN.vi
Pulse generator (GateGenerator) with programable Delay and Duration.
The meaning of almost inputs and outputs of this Vi depends on the input "Function". The global inputs and outputs does not depend on the "function" input:
Glogal Inputs
GATEGEN#: number of gate generator to be accesed (1..255).
USB In: Handle to the LogicBox (create by open.vi), if not connected will take a global. parameter, this only works with one LogicBox at a time.
error in: error handling input
Global Outputs
USB out: Handle to the LogicBox.
error out: error handling output
Functions
Connect: enable, configurate and set the trigger driver signal. Inputs: "Params" set the Pulse delay and duration, width depends on model "Enable" enable or disable the module "TRIG" set the signal number which will drive the trigger. This signal can be set or clear manually using the module "B_S.vi" (Bool to Signal). "Mode" Non retrigger: Ignore the trigger until the gate generator is free. Retrigger: If a new trigger arrives and the gate ganerator is still runnig, abort the current pulse and generate a new pulse Outputs: "Gate" signal number in which the pulse is generated
Set Trig: set the signal number which will drive the trigger. Input: "TRIG" set the signal number which will drive the trigger. This signal can be set or clear manually using the module "B_S.vi" (Bool to Signal).
Set Enable: enable or disable the module Input: "Enable" enable or disable the module Get Gate: get the gate (Pulse) value and the signal number in which the pulse is generated. Output: "Gate" signal number in which the pulse is generated
Read Busy: get the status of the module (Running or waiting for trigger) Output: "Busy" status of the module
Write Params: set the Pulse delay and duration. Input: "Params" set the Pulse delay and duration, width depends on model
Read Counter: read the value of the internal counter used to generated the pulse: Output: "Gate" contains the current value of the counter.
Write Triggermode & Clear Counter: set Triggermode & resets counter to 0. Input: "Mode" Non retrigger: Ignore the trigger until the gate generator is free. Retrigger: If a new trigger arrives and the gate ganerator is still runnig, abort the current pulse and generate a new pulse
Example VIs
LP_GateGen_Test.vi: