Changes between Version 4 and Version 5 of WARPLab/Reference/TriggerManager/TriggerProcessor


Ignore:
Timestamp:
Mar 13, 2015, 12:36:38 PM (9 years ago)
Author:
welsh
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WARPLab/Reference/TriggerManager/TriggerProcessor

    v4 v5  
    170170
    171171
    172 == Command List and Documentation ==
     172== Command List and Documentation ==
     173
    173174=== {{{add_ethernet_trigger}}} ===
    174175Associates node to a trigger input[[BR]]
     
    180181
    181182
     183
    182184=== {{{delete_ethernet_trigger}}} ===
    183 Deassociates node to a trigger input[[BR]]
     185De-associates node to a trigger input[[BR]]
    184186
    185187
     
    187189
    188190'''Returns:''' none
     191
    189192
    190193
     
    198201
    199202
     203
     204=== {{{set_ethernet_trigger_type}}} ===
     205Set the Ethernet trigger type[[BR]]
     206
     207In WARP v3, the ability was added to the trigger manager to "sniff" the axi stream between the Ethernet controller and the AXI interface to the Ethernet controller, such as the AXI DMA or AXI FIFO.  This allows for more predictable timing for Ethernet triggers since it does not depend on any SW interaction.  However, this feature could not be added to the WARP v2 trigger manager due to differences in Ethernet components.  Therefore, in reference designs since this feature was introduced, WARP v3 has used hardware for Ethernet triggers while WARP v2 has used software.[[BR]]
     208
     209Unfortunately, this introduced a large timing difference between WARP v2 and WARP v3 when asserting the Ethernet trigger within the node in response to a broadcast Ethernet trigger.  This adds a complication to experiments involving a mix of WARP v2 and WARP v3 nodes.  Therefore, trigger manager
     210v1.04.a addressed this by being able to select between using the hardware capabilities WARP v3 or using software, like WARP v2, for Ethernet triggers.[[BR]]
     211
     212This command allows users to set whether the WARP v3 node uses hardware or software for Ethernet triggers.  Since WARP v2 does not support using hardware for Ethernet triggers, this command does nothing.
     213
     214
     215'''Arguments:''' (TRIGGER_TYPE:  'hardware' or 'software')
     216
     217'''Returns:''' none
     218
     219
     220
    200221=== {{{get_ethernet_trigger}}} ===
    201222Reads current trigger association from node[[BR]]
     
    204225'''Arguments:''' node
    205226
    206 '''Returns:''' (uint32 TRIGGER_ASSOCIATION)
    207 TRIGGER_ASSOCIATION: bit-wise AND of associated[[BR]]
    208 trigger IDs[[BR]]
     227'''Returns:''' (uint32 TRIGGER_ASSOCIATION)[[BR]]
     228  TRIGGER_ASSOCIATION: bit-wise AND of associated trigger IDs[[BR]]
     229
    209230
    210231
     
    216237'''Returns:''' none
    217238
    218 OUTPUTS:      vector of output trigger IDs, provided by[[BR]]
    219 wl_getTriggerOutputIDs[[BR]]
    220 
    221 OR_INPUTS:    vector of input trigger IDs, provided by[[BR]]
    222 wl_getTriggerInputIDs. Any triggers in[[BR]]
    223 this vector that assert will cause the[[BR]]
    224 output trigger to assert.[[BR]]
    225 
    226 AND_INPUTS:   vector of input trigger IDs, provided by[[BR]]
    227 wl_getTriggerInputIDs. Only if all triggers[[BR]]
    228 in this vector assert will the output [[BR]]
    229 trigger assert.   [[BR]]
    230 
    231 Usage note: This command replaces the current input[[BR]]
    232 selection on the board. Previous state is not saved.[[BR]]
     239OUTPUTS:      vector of output trigger IDs, provided by wl_getTriggerOutputIDs[[BR]]
     240
     241OR_INPUTS:    vector of input trigger IDs, provided by wl_getTriggerInputIDs. Any triggers in this vector that assert will cause the output trigger to assert.[[BR]]
     242
     243AND_INPUTS:   vector of input trigger IDs, provided by wl_getTriggerInputIDs. Only if all triggers in this vector assert will the output trigger assert.   [[BR]]
     244
     245NOTE: This command replaces the current input selection on the board. The previous state is not saved.[[BR]]
     246
    233247
    234248
    235249=== {{{output_config_delay}}} ===
    236 Configures specified output triggers to be have an[[BR]]
    237 additional delay relative to their inputs[[BR]]
     250Configures specified output triggers to be have an additional delay relative to their inputs[[BR]]
    238251
    239252
     
    242255'''Returns:''' none
    243256
    244 OUTPUTS:      vector of output trigger IDs, provided by[[BR]]
    245 wl_getTriggerOutputIDs[[BR]]
    246 
    247 DELAY_NS:     scalar value of the intended delay,[[BR]]
    248 specified in nanoseconds (1e-9 seconds)[[BR]]
     257OUTPUTS:      vector of output trigger IDs, provided by wl_getTriggerOutputIDs[[BR]]
     258
     259DELAY_NS:     scalar value of the intended delay, specified in nanoseconds (1e-9 seconds)[[BR]]
     260
    249261
    250262
    251263=== {{{output_config_hold_mode}}} ===
    252 Configures whether specified output triggers should[[BR]]
    253 hold their outputs once triggered[[BR]]
     264Configures whether specified output triggers should hold their outputs once triggered[[BR]]
    254265
    255266
     
    258269'''Returns:''' none
    259270
    260 OUTPUTS:      vector of output trigger IDs, provided by[[BR]]
    261 wl_getTriggerOutputIDs[[BR]]
     271OUTPUTS:      vector of output trigger IDs, provided by wl_getTriggerOutputIDs[[BR]]
    262272
    263273MODE:         'enable' or 'disable'[[BR]]
    264274
    265275
     276
    266277=== {{{output_state_read}}} ===
    267 Reads current state of output triggers. Note: this[[BR]]
    268 command is intended to be used on output triggers[[BR]]
    269 that have enabled their hold mode.[[BR]]
     278Reads current state of output triggers. Note: this command is intended to be used on output triggers that have enabled their hold mode.[[BR]]
    270279
    271280
     
    274283'''Returns:''' (bool STATES)
    275284
    276 OUTPUTS:      vector of output trigger IDs, provided by[[BR]]
    277 wl_getTriggerOutputIDs[[BR]]
    278 
    279 STATES:       vector of (true, false) trigger states[[BR]]
    280 corresponding to state of OUTPUTS vector[[BR]]
     285OUTPUTS:      vector of output trigger IDs, provided by wl_getTriggerOutputIDs[[BR]]
     286
     287STATES:       vector of (true, false) trigger states corresponding to state of OUTPUTS vector[[BR]]
     288
    281289
    282290
     
    289297'''Returns:''' none
    290298
    291 OUTPUTS:      vector of output trigger IDs, provided by[[BR]]
    292 wl_getTriggerOutputIDs[[BR]]
     299OUTPUTS:      vector of output trigger IDs, provided by wl_getTriggerOutputIDs[[BR]]
    293300
    294301
    295302
    296303=== {{{input_config_enable_selection}}} ===
    297 Configures specified input triggers to be enabled[[BR]]
    298 as inputs that feed the trigger manager core.[[BR]]
    299 Note: This command disables all inputs before[[BR]]
    300 enabling the selected inputs -- no previous state is[[BR]]
    301 stored in the node.[[BR]]
     304Configures specified input triggers to be enabled as inputs that feed the trigger manager core.[[BR]]
     305Note: This command disables all inputs before enabling the selected inputs -- no previous state is stored in the node.[[BR]]
    302306
    303307
     
    306310'''Returns:''' none
    307311
    308 INPUTS:      vector of output trigger IDs, provided by[[BR]]
    309 wl_getTriggerInputIDs[[BR]]
     312INPUTS:      vector of output trigger IDs, provided by wl_getTriggerInputIDs[[BR]]
     313
    310314
    311315
    312316=== {{{input_config_debounce_mode}}} ===
    313 Configures specified input triggers to enable or[[BR]]
    314 disable debounce circuit. Note: debounce circuit adds[[BR]]
    315 delay of 4 cycles, where each cycle is a duration[[BR]]
    316 specified in the delayStep_ns property of the[[BR]]
    317 wl_manager_proc.m class.[[BR]]
     317Configures specified input triggers to enable or disable debounce circuit. Note: debounce circuit adds delay of 4 cycles, where each cycle is a duration specified in the input_delayStep_ns property of the wl_trigger_manager_proc.m class.[[BR]]
    318318
    319319
     
    322322'''Returns:''' none
    323323
    324 INPUTS:      vector of output trigger IDs, provided by[[BR]]
    325 wl_getTriggerInputIDs[[BR]]
     324INPUTS:      vector of output trigger IDs, provided by wl_getTriggerInputIDs[[BR]]
    326325
    327326MODE:         'enable' or 'disable'[[BR]]
    328327
    329328
     329
     330=== {{{input_config_delay}}} ===
     331Configures specified input triggers to be have an additional delay relative to their inputs[[BR]]
     332
     333
     334'''Arguments:''' (uint32 INPUTS), (double DELAY_NS)
     335
     336'''Returns:''' none
     337
     338INPUTS:       vector of input trigger IDs, provided by wl_getTriggerInputIDs[[BR]]
     339
     340DELAY_NS:     scalar value of the intended delay, specified in nanoseconds (1e-9 seconds)[[BR]]
     341
     342
     343
    330344=== {{{energy_config_busy_threshold}}} ===
    331 Configures the threshold above which RSSI is[[BR]]
    332 considered as a "busy" medium.[[BR]]
     345Configures the threshold above which RSSI is considered as a "busy" medium.[[BR]]
    333346
    334347
     
    337350'''Returns:''' none
    338351
    339 THRESH:      busy threshold. For the MAX2829-based[[BR]]
    340 interfaces, WARP uses a 10-bit ADC for[[BR]]
    341 RSSI (range of ![0,1023]).[[BR]]
    342 
    343 Note: RSSI averaging in the core does NOT divide by[[BR]]
    344 the number of samples that are summed together.[[BR]]
    345 Averaging by N cycles means that the maximum possible[[BR]]
    346 RSSI post-averaging is N*1023.[[BR]]
     352THRESH:      busy threshold. For the MAX2829-based interfaces, WARP uses a 10-bit ADC for RSSI (range of ![0,1023]).[[BR]]
     353
     354Note: RSSI averaging in the core does NOT divide by the number of samples that are summed together. Averaging by N cycles means that the maximum possible RSSI post-averaging is N*1023.[[BR]]
     355
    347356
    348357
    349358=== {{{energy_config_average_length}}} ===
    350 Configures the number of samples over which RSSI is[[BR]]
    351 averaged before it is compared to any threshold.[[BR]]
     359Configures the number of samples over which RSSI is averaged before it is compared to any threshold.[[BR]]
    352360
    353361
     
    356364'''Returns:''' none
    357365
    358 LENGTH:      Number of samples over which RSSI is[[BR]]
    359 averaged.[[BR]]
    360 
    361 Note: For all hardware versions, RSSI is sampled at[[BR]]
    362 10 MHz. Each sample is, therefore, 100 ns.[[BR]]
     366LENGTH:      Number of samples over which RSSI is averaged.[[BR]]
     367
     368Note: For all hardware versions, RSSI is sampled at 10 MHz. Each sample is, therefore, 100 ns.[[BR]]
     369
    363370
    364371
    365372=== {{{energy_config_busy_minlength}}} ===
    366 Average RSSI samples must exceed the busy threshold[[BR]]
    367 for a minimum number of samples before the trigger is[[BR]]
    368 activated. This command sets this minimum value.[[BR]]
     373Average RSSI samples must exceed the busy threshold for a minimum number of samples before the trigger is activated. This command sets this minimum value.[[BR]]
    369374
    370375
     
    373378'''Returns:''' none
    374379
    375 LENGTH:      Minimum number of samples that RSSI must[[BR]]
    376 be busy before trigger is raised.[[BR]]
     380LENGTH:      Minimum number of samples that RSSI must be busy before trigger is raised.[[BR]]
     381
    377382
    378383
    379384=== {{{energy_config_interface_selection}}} ===
    380 Selects the interfaces from which energy detection[[BR]]
    381 should base its decision[[BR]]
     385Selects the interfaces from which energy detection should base its decision[[BR]]
    382386
    383387
     
    386390'''Returns:''' none
    387391
    388 IFCSELECTION:     One or more interfaces that the[[BR]]
    389 energy detector system should[[BR]]
    390 monitor[[BR]]
    391 
    392 Note: IFCSELECTION is intended to be used with the[[BR]]
    393 return values from the wl_getInterfaceIDs method.[[BR]]
     392IFCSELECTION:     One or more interfaces that the energy detector system should monitor[[BR]]
     393
     394Note: IFCSELECTION is intended to be used with the return values from the wl_getInterfaceIDs method.[[BR]]
     395
    394396
    395397
     
    401403
    402404'''Returns:''' none
     405