Wiki

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
resources:tools-software:linux-drivers:iio-transceiver:ad9361 [05 Mar 2018 09:10] – [TX Signal Path] Michael Hennerichresources:tools-software:linux-drivers:iio-transceiver:ad9361 [13 Feb 2019 14:22] – [Digital FIR Filter controls] Michael Hennerich
Line 42: Line 42:
 | driver  | [[linux.github>master?drivers/iio/adc/ad9361_conv.c | drivers/iio/adc/ad9361_conv.c]] | | driver  | [[linux.github>master?drivers/iio/adc/ad9361_conv.c | drivers/iio/adc/ad9361_conv.c]] |
 | include | [[linux.github>master?drivers/iio/adc/ad9361.h | drivers/iio/adc/ad9361.h]] | | include | [[linux.github>master?drivers/iio/adc/ad9361.h | drivers/iio/adc/ad9361.h]] |
 +| devicetree bindings | [[linux.github>master?Documentation/devicetree/bindings/iio/adc/adi,ad9361.txt | Documentation/devicetree/bindings/iio/adc/adi,ad9361.txt]] |
  
 ==== Related Device Drivers ==== ==== Related Device Drivers ====
Line 548: Line 549:
 The AD9361 device driver will warn if a programmed filter doesn’t match the limits. The AD9361 device driver will warn if a programmed filter doesn’t match the limits.
  
 +In general the filters are either created using the:
 +  - [[resources:eval:user-guides:adrv936x:software:filters|MATLAB Filter Design Wizard for AD9361]]
 +  - [[https://github.com/analogdevicesinc/libad9361-iio|libad9361-iio]]
 +
 +Some per-generated examples can be found here: [[https://github.com/analogdevicesinc/iio-oscilloscope/tree/master/filters | AD936x example filters]] 
  
 ==== Query current filter Configuration ==== ==== Query current filter Configuration ====
Line 703: Line 709:
 Standard Tables: Standard Tables:
 ^ RX LO Range ^ Min GAIN ^ Max Gain ^ ^ RX LO Range ^ Min GAIN ^ Max Gain ^
-| 70 ... 1300 MHz | 1 dB | 77 dB |+| 70 ... 1300 MHz | -1 dB | 73 dB |
 | 1300 ... 4000 MHz | -3 dB | 71 dB |   | 1300 ... 4000 MHz | -3 dB | 71 dB |  
 | 4000 ... 6000 MHz | -10 dB | 62 dB |   | 4000 ... 6000 MHz | -10 dB | 62 dB |  
Line 914: Line 920:
 <xterm> <xterm>
 root:/sys/bus/iio/devices/iio:device1> **cat calib_mode_available** root:/sys/bus/iio/devices/iio:device1> **cat calib_mode_available**
-auto manual manual_tx_quad tx_quad rf_dc_offs+auto manual manual_tx_quad tx_quad rf_dc_offs rssi_gain_step
 </xterm></WRAP> </xterm></WRAP>
  
 ^ Option ^ Description ^ ^ Option ^ Description ^
-| auto | Run RF DC and TX Quadrature Calibration when moving to a new carrier frequency that is more than 100 MHz away from the previous carrier frequency |+| auto | Run TX Quadrature Calibration when moving to a new carrier frequency that is more than 100 MHz away from the previous carrier frequency |
 | manual | Disables auto mode | | manual | Disables auto mode |
 | manual_tx_quad | Disables auto mode and also prevents any TX Quad Calibration unless manually invoked using tx_quad | | manual_tx_quad | Disables auto mode and also prevents any TX Quad Calibration unless manually invoked using tx_quad |
 | rf_dc_offs | Issue RF DC Offset Calibration | | rf_dc_offs | Issue RF DC Offset Calibration |
 | tx_quad | Issue TX Quadrature Calibration (may have a second optional parameter (cal phase value 0..31)| | tx_quad | Issue TX Quadrature Calibration (may have a second optional parameter (cal phase value 0..31)|
 +| rssi_gain_step | Runs the RSSI gain step calibration. Before running this calibration, provide a single tone within the channel bandwidth and monitor the received data. Adjust the tone amplitude until the received data is within a few dB of full scale but not overloading. Once this calibration is done, **calib_mode** will be automatically set to its previous value. |
  
 <WRAP box bggreen><wrap info>This specifies any shell prompt running on the target</wrap> <WRAP box bggreen><wrap info>This specifies any shell prompt running on the target</wrap>
Line 1123: Line 1130:
 root:/sys/bus/iio/devices/iio:device1> **echo 1000 > out_voltage2_raw** root:/sys/bus/iio/devices/iio:device1> **echo 1000 > out_voltage2_raw**
 </xterm></WRAP> </xterm></WRAP>
 +
 +===== RSSI Gain Step Calibration =====
 +
 +The RSSI gain step calibration can be run by setting **calib_mode** to **rssi_gain_step** (See: [[resources:tools-software:linux-drivers:iio-transceiver:ad9361#calibration_mode_controls]]).
 +
 +Once the calibration is done, the error tables can be read and loaded again anytime using the dedicated sysfs attribute. Since the gain step calibration register values are dependent on the LO frequency, specifying them is also possible (gain_step_calib_reg_val = Maximum LNA Gain LNA, Gain difference word for Index 0, LNA Gain difference word for Index 1, LNA Gain difference word for Index 2, LNA Gain difference word for Index 3).
 +
 +<WRAP box bggreen><wrap info>This specifies any shell prompt running on the target</wrap>
 +<xterm>
 +root:/sys/bus/iio/devices/iio:device1> **cat rssi_gain_step_error**
 +lna_error: 0 15 14 0
 +mixer_error: 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 0
 +gain_step_calib_reg_val: 192 44 16 6 0
 +</xterm></WRAP>
 +
 ====== Advanced Debug Facilities ====== ====== Advanced Debug Facilities ======
  
resources/tools-software/linux-drivers/iio-transceiver/ad9361.txt · Last modified: 12 Feb 2022 01:49 by Terry Carpenter