en:netzer:impulse

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:netzer:impulse [2014/08/16 16:41] – Added structure overview sveschen:netzer:impulse [2025/06/11 20:42] (current) – external edit 127.0.0.1
Line 3: Line 3:
 Netzer is able to generate and capture signals at IO3 and SPI_INT. Netzer is able to generate and capture signals at IO3 and SPI_INT.
  
-{{ :en:netzer:impulse_overview.gif?direct&600 |}}+{{ :en:netzer:impulse_overview.gif?direct&700 |}}
  
 The image shows the structure of the impulse generator/capture. The image shows the structure of the impulse generator/capture.
  
 +The impulse module is divided into two modes, the unsynchronized mode and the IO0 synchronized mode.
 +Both, IO3 and SPI_INT, can either work in unsynchronized or in IO0 synchronized mode.
 +
 +Furthermore a mode M can be configured:
 +  * Continuous mode
 +  * Single
 +  * Triggered by IO0
 +
 +Resolution N can be either 100ns, 200ns, 400ns or 800ns. 
 +All raw values associated with Capture/Generator module must be multiplied by N to get the final time value.
 +
 +Last but not least channels can be configured for capturing (measuring impulses) or generating impulses.
 +
 +
 +===== Examples =====
 +
 +Some of the examples below show both signals IO3 and SPI_INT.
 +Of course impulse module can be configured to use only one of them.
 +
 +The examples below only show positive logic.
 +Simply invert the signals to get negative logic examples.
 +
 +In the IO0 examples the IO0 trigger is configured for rising edge.
 +Simply invert the IO0 signal to get falling edge examples.
 +
 +
 +==== Generating impulses in continuous mode (Unsynchronized) ====
 +
 +The impulse timer is free running in this mode. 
 +Changes on IO0 will not reset the impulse timer.
 +
 +{{ :en:netzer:impulse_compare_cont_unsync.gif?direct |}}
 +
 +
 +==== Generating impulses in single mode (Unsynchronized) ====
 +
 +The impulse timer is free running in this mode. 
 +Changes on IO0 will not reset the impulse timer.
 +
 +{{ :en:netzer:impulse_compare_single_unsync.gif?direct |}}
 +
 +
 +==== Generating impulses in "Triggered by IO0" mode (Unsynchronized) ====
 +
 +This mode shall not be used.
 +
 +==== Generating impulses in continuous mode (IO0 synchronized) ====
 +
 +This mode shall not be used.
 +
 +
 +==== Generating impulses in single mode (IO0 synchronized) ====
 +
 +{{ :en:netzer:impulse_compare_single_sync.gif?direct |}}
 +
 +
 +==== Generating impulses in "Triggered by IO0" mode (IO0 synchronized) ====
 +
 +{{ :en:netzer:impulse_compare_io0_sync.gif?direct |}}
 +
 +
 +==== Measuring impulses in continuous mode (Unsynchronized) ==== 
 +
 +{{ :en:netzer:impulse_capture_cont_unsync.gif?direct |}}
 +
 +
 +==== Measuring impulses in single mode (Unsynchronized) ==== 
 +
 +{{ :en:netzer:impulse_capture_single_unsync.gif?direct |}}
 +
 +
 +==== Measuring impulses in "Triggered by IO0" mode (Unsynchronized) ==== 
 +
 +This mode shall not be used.
 +
 +
 +==== Measuring impulses in continuous mode (IO0 synchronized) ====
 +
 +This mode shall not be used.
 +
 +
 +==== Measuring impulses in single mode (IO0 synchronized) ====
 +
 +{{ :en:netzer:impulse_capture_single_sync.gif?direct |}}
 +
 +
 +The second example shows the special case of an ultrasonic sensor like HC-SR04.
 +This sensor needs a 10 µs impulse at the TRIG input which shall be connected to IO3.
 +The pulse length of sensor singnal ECHO decodes the distance to the detected object.
 +The signal must be connected to IO0 and SPI_INT.
 +IO0 must be configured for rising trigger edge, SPI_INT for falling capture edge.
 +
 +{{ :en:netzer:impulse_capture_io0_sync2.gif?direct |}}
 +
 +==== Measuring impulses in „Triggered by IO0“ mode (IO0 synchronized) ====
 +
 +In this mode the periode of periodic signals or pulse length can be measured.
 +Connect the signal to measure to IO0 and IO3 or SPI_INT or both.
 +For period length the IO0 trigger edge and the capture edge must be equal (like IO3 in image below).
 +For positive pulses the IO0 trigger edge must be rising, the capture edge falling edge (like SPI_INT in image below).
 +For negative pulses the IO0 trigger edge must be falling, the capture edge rising edge.
 +
 +{{ :en:netzer:impulse_capture_io0_sync.gif?direct |}}