<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://ez.analog.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Q&amp;amp;A - Recent Threads</title><link>https://ez.analog.com/data_converters/precision_adcs/f/q-a</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>current measurement problem</title><link>https://ez.analog.com/thread/603883?ContentTypeID=0</link><pubDate>Mon, 13 Apr 2026 09:12:41 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:2b7480c0-6149-49ea-b647-3ce99abf619a</guid><dc:creator>lyesbaci</dc:creator><slash:comments>0</slash:comments><comments>https://ez.analog.com/thread/603883?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603883/current-measurement-problem/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We are developing a coulombermeter with AD7705.&lt;/p&gt;
&lt;p&gt;AD7705 is used to measure the voltage of a shunt 300A 60 mV&amp;nbsp; and I can have the current with the voltage&lt;/p&gt;
&lt;p&gt;Everthing works, the current is small (&amp;lt; 10A), but I can have some peak of current (179.62A ADC value about 0x00A0?).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The peak of current is about each 10mins?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;* I send below message to init AD7705&lt;/p&gt;
&lt;p&gt;0x20, 0x0C&lt;/p&gt;
&lt;p&gt;0x10, 0x68&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;* we have a&amp;nbsp;4.9152MHz Crystal Oscillator on MCLK IN and MCLK OUT=AB308-4.9152MHZ with 16pF capacitor&amp;nbsp;&lt;/p&gt;
&lt;p&gt;* Reference voltage 1.25V=TLV431BQDBZRQ1&lt;/p&gt;
&lt;p&gt;*You find attached the schematic&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/425/pastedimage1776071535470v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Do you know where is my problem?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>I don't get the test pattern properly in dual LVDS lane mode</title><link>https://ez.analog.com/thread/603882?ContentTypeID=0</link><pubDate>Mon, 13 Apr 2026 08:30:26 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:ceffef0a-168f-4067-866b-614ff5e5a58c</guid><dc:creator>MMalmir</dc:creator><slash:comments>1</slash:comments><comments>https://ez.analog.com/thread/603882?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603882/i-don-t-get-the-test-pattern-properly-in-dual-lvds-lane-mode/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I&amp;rsquo;m currently running some experiments by interfacing an EVAL‑AD4080‑FMC board with a Zedboard. I&amp;rsquo;ve flashed the latest ADI Kuiper Linux image to the SD card, and I&amp;rsquo;m using ACE software to capture data from the ADC.&lt;/p&gt;
&lt;p&gt;My initial test was to read the test pattern 0xAC5D6, as specified in the datasheet. With the default configuration (single LVDS lane, 40 MSPS, 400 MHz clock) and by setting the INTF_CHK_EN bit in the ADC_DATA_INTF_CONFIG_A register, I can successfully read the correct test pattern&amp;nbsp;&lt;/p&gt;
&lt;p&gt;However, I&amp;rsquo;m unable to get the correct test pattern when switching to two LVDS lanes. For this setup, I wrote 0x54 to the ADC_DATA_INTF_CONFIG_A register and tested LVDS_CNV_CLK_CNT values from 0 to 10 in the ADC_DATA_INTF_CONFIG_B register. The sampling rate remained at 40 MSPS. I repeated the test using both 400 MHz and 200 MHz clocks, but the correct test pattern still does not appear.&lt;/p&gt;
&lt;p&gt;Do you know if there is anything I might be missing in the configuration for the dual‑lane mode?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Filter Coefficients</title><link>https://ez.analog.com/thread/603859?ContentTypeID=0</link><pubDate>Fri, 10 Apr 2026 15:09:56 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:d1b37cbb-865d-4823-b98a-d61a78ea4af2</guid><dc:creator>bluespider</dc:creator><slash:comments>1</slash:comments><comments>https://ez.analog.com/thread/603859?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603859/filter-coefficients/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Is it possible to have the digital filter coefficients for this ADC?&lt;br /&gt; They are needed for further data processing and this is the only ADC we use that doesn&amp;#39;t supply them in the datasheet.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Peak Current of Input Pin</title><link>https://ez.analog.com/thread/603855?ContentTypeID=0</link><pubDate>Fri, 10 Apr 2026 12:42:25 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:6032f32f-f0e0-4e42-92fd-7f7522389e63</guid><dc:creator>DespicableMe</dc:creator><slash:comments>2</slash:comments><comments>https://ez.analog.com/thread/603855?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603855/peak-current-of-input-pin/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Hi,&lt;br /&gt;For AD4112, as per datasheet, each current input pin can handle max of +-50mA. Is this continuous current?&lt;/p&gt;
&lt;p&gt;What is the peak current that each pin can handle and for what duration?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AD7785 Clock Duty Cycle</title><link>https://ez.analog.com/thread/603819?ContentTypeID=0</link><pubDate>Thu, 09 Apr 2026 06:06:50 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:e70f61ad-9288-4330-9d94-681acf36bfd1</guid><dc:creator>miky</dc:creator><slash:comments>1</slash:comments><comments>https://ez.analog.com/thread/603819?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603819/ad7785-clock-duty-cycle/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I have a question about AD7785.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;The AD7785 datasheet states that the duty cycle for the external clock must be within &amp;plusmn;5%.&lt;/p&gt;
&lt;p&gt;However, while it notes that &amp;ldquo;This applies to an external 64 kHz clock; a 128 kHz&lt;br /&gt;clock can have a less stringent duty cycle,&amp;rdquo; it does not specify the exact conditions.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;To what extent can the duty cycle be relaxed when using a 128 kHz clock?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AD5940 (ADICUP3029): Synchronized ECG + ICG (BIA) at 512 Hz Hangs After Initialization</title><link>https://ez.analog.com/thread/603813?ContentTypeID=0</link><pubDate>Wed, 08 Apr 2026 19:55:33 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:917927d7-1a0c-40a9-882d-011d42cfa434</guid><dc:creator>Sadique</dc:creator><slash:comments>2</slash:comments><comments>https://ez.analog.com/thread/603813?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603813/ad5940-adicup3029-synchronized-ecg-icg-bia-at-512-hz-hangs-after-initialization/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p data-path-to-node="5"&gt;Hello ADI Community,&lt;/p&gt;
&lt;p data-path-to-node="6"&gt;I am developing a combined, synchronized Electrocardiogram (ECG) and Impedance Cardiography (ICG / BIA) application using the &lt;b data-path-to-node="6" data-index-in-node="126"&gt;EVAL-ADICUP3029&lt;/b&gt; paired with the &lt;b data-path-to-node="6" data-index-in-node="158"&gt;AD5940 BioZ shield&lt;/b&gt;. I am using Keil &amp;micro;Vision and the standard AD5940 firmware library (v0.2.1).&lt;/p&gt;
&lt;p data-path-to-node="7"&gt;&lt;b data-path-to-node="7" data-index-in-node="0"&gt;My Goal:&lt;/b&gt; To achieve a simultaneous ECG and single-frequency (50 kHz) BIA measurement at a &lt;b data-path-to-node="7" data-index-in-node="90"&gt;512 Hz Output Data Rate&lt;/b&gt;. Because the AD5940 has a single ADC, my strategy is to interleave the measurements using the sequencers:&lt;/p&gt;
&lt;ol start="1" data-path-to-node="8"&gt;
&lt;li&gt;
&lt;p data-path-to-node="8,0,0"&gt;The Wake-Up Timer (WUPT) runs at 512 Hz and wakes up &lt;b data-path-to-node="8,0,0" data-index-in-node="53"&gt;Sequencer 0&lt;/b&gt; (ECG).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-path-to-node="8,1,0"&gt;Sequencer 0 configures the ADC for SINC3, takes the ECG measurement, pushes it to the FIFO, and then uses a register write (&lt;code data-path-to-node="8,1,0" data-index-in-node="124"&gt;SEQ_WR&lt;/code&gt;) to instantly trigger &lt;b data-path-to-node="8,1,0" data-index-in-node="153"&gt;Sequencer 1&lt;/b&gt; (BIA).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-path-to-node="8,2,0"&gt;Sequencer 1 configures the switches/DFT, takes the ICG measurement, pushes it to the FIFO, and goes to sleep.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-path-to-node="9"&gt;&lt;b data-path-to-node="9" data-index-in-node="0"&gt;The Issue:&lt;/b&gt; The code compiles flawlessly and the SPI communication is verified (the board prints the correct silicon version and library info). However, immediately after starting the applications, the stream stops. No data is ever printed, and polling the FIFO count (&lt;code data-path-to-node="9" data-index-in-node="268"&gt;AD5940_FIFOGetCnt()&lt;/code&gt;) always returns 0.&lt;/p&gt;
&lt;p data-path-to-node="10"&gt;Here is my terminal output before it hangs:&lt;/p&gt;
&lt;p data-path-to-node="5"&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;/p&gt;
&lt;div class="code-block ng-tns-c1583389803-353 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation"&gt;
&lt;div class="code-block-decoration header-formatted gds-title-s ng-tns-c1583389803-353 ng-star-inserted"&gt;&lt;span class="ng-tns-c1583389803-353"&gt;Plaintext&lt;/span&gt;
&lt;div class="buttons ng-tns-c1583389803-353 ng-star-inserted"&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;span class="mat-mdc-button-persistent-ripple mdc-icon-button__ripple"&gt;&lt;/span&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;span class="mat-focus-indicator"&gt;&lt;/span&gt;&lt;span class="mat-mdc-button-touch-target"&gt;&lt;/span&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;/div&gt;
&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;/div&gt;
&lt;!--mce:protected %3C%21----%3E--&gt;
&lt;div class="formatted-code-block-internal-container ng-tns-c1583389803-353"&gt;
&lt;div class="animated-opacity ng-tns-c1583389803-353"&gt;
&lt;pre class="ng-tns-c1583389803-353"&gt;&lt;code class="code-container formatted ng-tns-c1583389803-353" data-test-id="code-content"&gt;==================================
ADICUP3029 BOOT SUCCESSFUL!
Mode: Synchronized ECG + ICG
==================================
This AD594x!
Note: Current Silicon is S2
AD5940LIB Version:v0.2.1
Configuring ECG Sequencer...
Configuring BIA Sequencer...
Starting Synchronized Measurements!
&lt;/code&gt;&lt;/pre&gt;
&lt;!--mce:protected %3C%21----%3E--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-path-to-node="5"&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;/p&gt;
&lt;p data-path-to-node="12"&gt;&lt;b data-path-to-node="12" data-index-in-node="0"&gt;Key Setup Details:&lt;/b&gt;&lt;/p&gt;
&lt;p data-path-to-node="13"&gt;&lt;i data-path-to-node="13" data-index-in-node="0"&gt;1. FIFO Configuration (Routing both sources):&lt;/i&gt;&lt;/p&gt;
&lt;p data-path-to-node="5"&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;/p&gt;
&lt;div class="code-block ng-tns-c1583389803-354 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation"&gt;
&lt;div class="code-block-decoration header-formatted gds-title-s ng-tns-c1583389803-354 ng-star-inserted"&gt;&lt;span class="ng-tns-c1583389803-354"&gt;C&lt;/span&gt;
&lt;div class="buttons ng-tns-c1583389803-354 ng-star-inserted"&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;span class="mat-mdc-button-persistent-ripple mdc-icon-button__ripple"&gt;&lt;/span&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;span class="mat-focus-indicator"&gt;&lt;/span&gt;&lt;span class="mat-mdc-button-touch-target"&gt;&lt;/span&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;/div&gt;
&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;/div&gt;
&lt;!--mce:protected %3C%21----%3E--&gt;
&lt;div class="formatted-code-block-internal-container ng-tns-c1583389803-354"&gt;
&lt;div class="animated-opacity ng-tns-c1583389803-354"&gt;
&lt;pre class="ng-tns-c1583389803-354"&gt;&lt;code class="code-container formatted ng-tns-c1583389803-354" data-test-id="code-content"&gt;  fifo_cfg.FIFOEn = bFALSE;
  fifo_cfg.FIFOMode = FIFOMODE_FIFO;
  fifo_cfg.FIFOSize = FIFOSIZE_4KB;                       
  fifo_cfg.FIFOSrc = FIFOSRC_DFT | FIFOSRC_SINC3; &lt;span class="hljs-comment"&gt;/* Both sources */&lt;/span&gt;
  fifo_cfg.FIFOThresh = &lt;span class="hljs-number"&gt;8&lt;/span&gt;; 
  AD5940_FIFOCfg(&amp;amp;fifo_cfg);                             
  fifo_cfg.FIFOEn = bTRUE;  
  AD5940_FIFOCfg(&amp;amp;fifo_cfg);
&lt;/code&gt;&lt;/pre&gt;
&lt;!--mce:protected %3C%21----%3E--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-path-to-node="5"&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;/p&gt;
&lt;p data-path-to-node="15"&gt;&lt;i data-path-to-node="15" data-index-in-node="0"&gt;2. WUPT Master Timer (Triggering ECG only):&lt;/i&gt;&lt;/p&gt;
&lt;p data-path-to-node="5"&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;/p&gt;
&lt;div class="code-block ng-tns-c1583389803-355 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation"&gt;
&lt;div class="code-block-decoration header-formatted gds-title-s ng-tns-c1583389803-355 ng-star-inserted"&gt;&lt;span class="ng-tns-c1583389803-355"&gt;C&lt;/span&gt;
&lt;div class="buttons ng-tns-c1583389803-355 ng-star-inserted"&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;span class="mat-mdc-button-persistent-ripple mdc-icon-button__ripple"&gt;&lt;/span&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;span class="mat-focus-indicator"&gt;&lt;/span&gt;&lt;span class="mat-mdc-button-touch-target"&gt;&lt;/span&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;/div&gt;
&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;/div&gt;
&lt;!--mce:protected %3C%21----%3E--&gt;
&lt;div class="formatted-code-block-internal-container ng-tns-c1583389803-355"&gt;
&lt;div class="animated-opacity ng-tns-c1583389803-355"&gt;
&lt;pre class="ng-tns-c1583389803-355"&gt;&lt;code class="code-container formatted ng-tns-c1583389803-355" data-test-id="code-content"&gt;  wupt_cfg.WuptEn = bTRUE;
  wupt_cfg.WuptEndSeq = WUPTENDSEQ_A;
  wupt_cfg.WuptOrder[&lt;span class="hljs-number"&gt;0&lt;/span&gt;] = SEQID_0; &lt;span class="hljs-comment"&gt;/* Wake up ECG first */&lt;/span&gt;
  wupt_cfg.SeqxSleepTime[SEQID_0] = (&lt;span class="hljs-keyword"&gt;uint32_t&lt;/span&gt;)(&lt;span class="hljs-number"&gt;32000.0&lt;/span&gt; / &lt;span class="hljs-number"&gt;512.0&lt;/span&gt;) - &lt;span class="hljs-number"&gt;2&lt;/span&gt; - &lt;span class="hljs-number"&gt;1&lt;/span&gt;;
  wupt_cfg.SeqxWakeupTime[SEQID_0] = &lt;span class="hljs-number"&gt;1&lt;/span&gt;; 
  AD5940_WUPTCfg(&amp;amp;wupt_cfg);
&lt;/code&gt;&lt;/pre&gt;
&lt;!--mce:protected %3C%21----%3E--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-path-to-node="5"&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;/p&gt;
&lt;p data-path-to-node="17"&gt;&lt;i data-path-to-node="17" data-index-in-node="0"&gt;3. The Baton Pass (End of ECG Sequence 0):&lt;/i&gt;&lt;/p&gt;
&lt;p data-path-to-node="5"&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;/p&gt;
&lt;div class="code-block ng-tns-c1583389803-356 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation"&gt;
&lt;div class="code-block-decoration header-formatted gds-title-s ng-tns-c1583389803-356 ng-star-inserted"&gt;&lt;span class="ng-tns-c1583389803-356"&gt;C&lt;/span&gt;
&lt;div class="buttons ng-tns-c1583389803-356 ng-star-inserted"&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;span class="mat-mdc-button-persistent-ripple mdc-icon-button__ripple"&gt;&lt;/span&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;span class="mat-focus-indicator"&gt;&lt;/span&gt;&lt;span class="mat-mdc-button-touch-target"&gt;&lt;/span&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;/div&gt;
&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;/div&gt;
&lt;!--mce:protected %3C%21----%3E--&gt;
&lt;div class="formatted-code-block-internal-container ng-tns-c1583389803-356"&gt;
&lt;div class="animated-opacity ng-tns-c1583389803-356"&gt;
&lt;pre class="ng-tns-c1583389803-356"&gt;&lt;code class="code-container formatted ng-tns-c1583389803-356" data-test-id="code-content"&gt;  &lt;span class="hljs-comment"&gt;/* Disable ADC block to prepare for BIA */&lt;/span&gt;
  AD5940_AFECtrlS(AFECTRL_ADCCNV|AFECTRL_ADCPWR, bFALSE);  
  
  &lt;span class="hljs-comment"&gt;/* Hardware Trigger Sequence 1 (BIA) */&lt;/span&gt;
  AD5940_SEQGenInsert(SEQ_WR(&lt;span class="hljs-number"&gt;0x00002064&lt;/span&gt;, &lt;span class="hljs-number"&gt;2&lt;/span&gt;)); &lt;span class="hljs-comment"&gt;/* Write to REG_AFE_SEQTRG */&lt;/span&gt;

  &lt;span class="hljs-comment"&gt;/* Put Sequencer 0 to sleep */&lt;/span&gt;
  AD5940_EnterSleepS();
&lt;/code&gt;&lt;/pre&gt;
&lt;!--mce:protected %3C%21----%3E--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-path-to-node="5"&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;!--mce:protected %3C%21----%3E--&gt;&lt;/p&gt;
&lt;p data-path-to-node="19"&gt;&lt;b data-path-to-node="19" data-index-in-node="0"&gt;My Questions:&lt;/b&gt;&lt;/p&gt;
&lt;ol start="1" data-path-to-node="20"&gt;
&lt;li&gt;
&lt;p data-path-to-node="20,0,0"&gt;Is writing &lt;code data-path-to-node="20,0,0" data-index-in-node="11"&gt;2&lt;/code&gt; to &lt;code data-path-to-node="20,0,0" data-index-in-node="16"&gt;REG_AFE_SEQTRG&lt;/code&gt; (&lt;code data-path-to-node="20,0,0" data-index-in-node="32"&gt;0x00002064&lt;/code&gt;) the correct and reliable way to chain Sequencer 0 to Sequencer 1 within the sequence generator?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-path-to-node="20,1,0"&gt;When rapidly switching the ADC between SINC3 (for ECG) and DFT (for BIA) at 512 Hz, are there specific ADC/Filter reset or settling commands I must include in the sequences to prevent the ADC from locking up?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p data-path-to-node="20,2,0"&gt;Can the FIFO safely handle &lt;code data-path-to-node="20,2,0" data-index-in-node="27"&gt;FIFOSRC_DFT | FIFOSRC_SINC3&lt;/code&gt; multiplexing without halting, or does this mixed-data configuration require a specific word-alignment strategy?&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-path-to-node="21"&gt;Any insight into why the sequencers are failing to cycle or push data into the FIFO would be massively appreciated! Thank you.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>LTC2309 - Residual Charge Question</title><link>https://ez.analog.com/thread/603792?ContentTypeID=0</link><pubDate>Tue, 07 Apr 2026 16:17:35 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:95a38144-1f02-4f78-a62e-453e1b2c1a72</guid><dc:creator>AlexanderK23</dc:creator><slash:comments>1</slash:comments><comments>https://ez.analog.com/thread/603792?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603792/ltc2309---residual-charge-question/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello,&amp;nbsp;&lt;br /&gt;&lt;br /&gt;I was wondering if we have control between switching the mux and the read commands through I2C.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Looking to see if there is significant residual charge when switching the internal mux.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Alex&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>LTC2309 - Over Conversion Range</title><link>https://ez.analog.com/thread/603791?ContentTypeID=0</link><pubDate>Tue, 07 Apr 2026 16:07:11 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:3fabb2e3-e083-46eb-a805-27eb09491514</guid><dc:creator>AlexanderK23</dc:creator><slash:comments>2</slash:comments><comments>https://ez.analog.com/thread/603791?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603791/ltc2309---over-conversion-range/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;I am looking into the LTC2309 over conversion range effects. If I am running in Uni-polar mode, the maximum conversion range is 4.096V.&lt;/p&gt;
&lt;p&gt;What do I read on the digital output if I have a 5V analog input? (Assume the ADC is powered also by 5V)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thank you!&lt;/p&gt;
&lt;p&gt;Alex&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AD5941 setting Vzero and Vbias</title><link>https://ez.analog.com/thread/603754?ContentTypeID=0</link><pubDate>Mon, 06 Apr 2026 01:39:15 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:18340616-06ef-438b-9b37-3065b653167c</guid><dc:creator>lizziechu</dc:creator><slash:comments>2</slash:comments><comments>https://ez.analog.com/thread/603754?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603754/ad5941-setting-vzero-and-vbias/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I am currently testing AD5941 to create a ramp from -400mV to 1200mV using HSDAC direct code and an external opamp with a gain of 2 for a potentiostat application. The hardware is 1 electrode connect to CE0 and the other electrode connect to SE0.&lt;/p&gt;
&lt;p&gt;My setup is currently is this in the code.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;extern uint32_t AppBuff[APPBUFF_SIZE];
static const char *TAG = &amp;quot;FSCV_APP&amp;quot;;

AppRAMPCfg_Type AppRampCtrl = {
  .bParaChanged = bFALSE,         /**&amp;lt; Indicate to generate sequence again. It&amp;#39;s auto cleared by AppBIAInit */
  .SeqStartAddr = 0,              /**&amp;lt; Initialaztion sequence start address in SRAM of AD5940  */
  .MaxSeqLen = 0,                 /**&amp;lt; Limit the maximum sequence.   */
  .SeqStartAddrCal = 0,           
  .MaxSeqLenCal = 0,             

/* Application related parameters */ 
  .LFOSCClkFreq = 32000.0f,         /**&amp;lt; The clock frequency of Wakeup Timer in Hz. Typically it&amp;#39;s 32kHz. Leave it here in case we calibrate clock in software method */
  .SysClkFreq = 16000000.0f,           /**&amp;lt; The real frequency of system clock */
  .AdcClkFreq = 16000000.0f,           /**&amp;lt; The real frequency of ADC clock */
  .RcalVal = 10000.0f,              /**&amp;lt; Rcal value in Ohm */
  .ADCRefVolt = 1820.0f,           /**&amp;lt; The real ADC voltage in mV. */
  .bTestFinished = bFALSE,			/**&amp;lt; Variable to indicate ramt test has finished &amp;gt;*/
  .NumOfData = -1,            /* By default it&amp;#39;s &amp;#39;-1&amp;#39;. If you want the engine stops after get NumofData, then set the value here. Otherwise, set it to &amp;#39;-1&amp;#39; which means never stop. */

  /* Describe Ramp signal */
  .RampStartVolt = -400.0f,        /**&amp;lt; The start voltage of ramp signal in mV */
  .RampPeakVolt = 1200.0f,         /**&amp;lt; The maximum or minimum voltage of ramp in mV */
  .Vzero = 400.0f, // vzero = 800 -&amp;gt; vce0 = 195mV at 0x200 vzero = 1100 -&amp;gt; Vce0 = 504mV at 0x200
  .Vbias = 600.0f, // normal 600.0
  .frequency_hz = 10.0f,   /**&amp;lt; The frequency of the ramp signal in Hz */
  .DAC_Steps = 1000,           /**&amp;lt; Total number of steps. Limited to 4095. */
  .ScanRate = 400.0f,              /* Scan rate in V/s */
  /*Configure for HSDAC*/
  .PwrMod = AFEPWR_LP,              /* control chip power mode (LP/HP)*/
  .HstiaRtiaSel = HSTIARTIA_160K,        /* HSTIARTIA_160K*/
  .ExcitBufGain = EXCITBUFGAIN_2,        /* Select from  EXCTBUFGAIN_2, EXCTBUFGAIN_0P25 */    
  .HsDacGain = HSDACGAIN_1,           /* Select from  HSDACGAIN_1, HSDACGAIN_0P2 */
  .HsDacUpdateRate = 10,

  /* Receive path configuration */			
  .ExternalRtiaValue = 0.0f,    /**&amp;lt; The optional external RTIA value in Ohm. Disconnect internal RTIA to use external RTIA. When using internal RTIA, this value is ignored. */
  .AdcPgaGain = ADCPGA_1,           /**&amp;lt; PGA Gain select from ADCPGA_1, ADCPGA_1_5, ADCPGA_2, ADCPGA_4, ADCPGA_9 !!! We must ensure signal is in range of +-1.5V which is limited by ADC input stage */   
  .ADCSinc3Osr = ADCSINC3OSR_2,          /**&amp;lt; We use data from SINC3 filter. */
  .ADCSinc2Osr = ADCSINC2OSR_22,  
  .BpSinc3 = bFALSE, 
  .Sinc2En = bTRUE, 
  .BpNotch = bTRUE,
  .FIFOSrc = FIFOSRC_SINC2NOTCH,

  /* Digital related */
  .FifoThresh = 4,           /**&amp;lt; FIFO Threshold value */

  /* switch configuration*/
  .DswitchSel = SWD_CE0,
  .PswitchSel = SWP_CE0,
  .NswitchSel = SWN_SE0LOAD,
  .TswitchSel = SWT_SE0LOAD| SWT_TRTIA,
};


static void fscv_platform_config(void){
    AD5940_HWReset();
    AD5940_Initialize();

    /* configure clock */
    CLKCfg_Type clk_cfg = {
        .ADCClkDiv = ADCCLKDIV_1,
        .ADCCLkSrc = ADCCLKSRC_XTAL,
        .SysClkDiv = SYSCLKDIV_1,
        .SysClkSrc = SYSCLKSRC_XTAL,
        .HfOSC32MHzMode = bFALSE,
        .HFOSCEn = 0,
        .HFXTALEn = 1,
        .LFOSCEn = bTRUE,
    };
    AD5940_CLKCfg(&amp;amp;clk_cfg);

    /* configure power mode and bandwidth */
    AD5940_AFEPwrBW(AFEPWR_LP, AFEBW_250KHZ);

    /* intial fifo configuration */
    FIFOCfg_Type fifo_cfg = {
        .FIFOEn = bFALSE,
        .FIFOMode = FIFOMODE_FIFO,
        .FIFOSize = FIFOSIZE_2KB,
        .FIFOSrc = FIFOSRC_SINC3,
        .FIFOThresh = 4,
    };
    AD5940_FIFOCfg(&amp;amp;fifo_cfg);

    /* intial sequencer configuration */
    SEQCfg_Type seq_cfg = {
        .SeqMemSize = SEQMEMSIZE_4KB,
        .SeqCntCRCClr = bTRUE,
        .SeqEnable = bFALSE,
        .SeqWrTimer = 0,
    };
    AD5940_SEQCfg(&amp;amp;seq_cfg);

    /* configure interrupt controller */
    uint32_t intc0_src = AFEINTSRC_ENDSEQ | AFEINTSRC_CUSTOMINT0 | AFEINTSRC_DATAFIFOTHRESH | AFEINTSRC_DATAFIFOOF;
    uint32_t intc1_src = AFEINTSRC_ALLINT;
    AD5940_INTCCfg(AFEINTC_0, intc0_src, bTRUE);
    AD5940_INTCClrFlag(AFEINTSRC_ALLINT);
    AD5940_INTCCfg(AFEINTC_1, intc1_src, bTRUE);
    AD5940_INTCClrFlag(AFEINTSRC_ALLINT);

    /* configure GPIO */
    AGPIOCfg_Type gpio_cfg = {
        .FuncSet = GP0_INT | GP1_SLEEP | GP2_SYNC,
        .InputEnSet = 0,
        .OutputEnSet = AGPIO_Pin0 | AGPIO_Pin1 | AGPIO_Pin2,
        .OutVal = 0,
        .PullEnSet = 0,
    };
    AD5940_AGPIOCfg(&amp;amp;gpio_cfg);

    LFOSCMeasure_Type LfoscMeasure = {
        .CalDuration = 1000.0,
        .CalSeqAddr = 0,
        .SystemClkFreq = 16000000.0f,
    };
    AD5940_LFOSCMeasure(&amp;amp;LfoscMeasure, &amp;amp;AppRampCtrl.LFOSCClkFreq);
    ESP_LOGI(TAG, &amp;quot;LFOSC Clock Frequency measured: %.2f Hz&amp;quot;, AppRampCtrl.LFOSCClkFreq);
}


static void calculate_hsdac_code(float Vzero, float target_mv, uint32_t *wg_code){
    const float V_POINTS[] = {-472.0f, -42.0f, 426.0f, 910.0f, 1368.0f, 1820.0f, 2275.0f};
    const uint32_t C_POINTS[] = {0x200, 0x400, 0x600, 0x800, 0xA00, 0xC00, 0xE00};
    const int NUM_POINTS = 7;

    // target_mv is already the desired differential voltage
    uint32_t code;

    // Handle out-of-bounds (clamping)
    if (target_mv &amp;lt;= V_POINTS[0]) {
        code = C_POINTS[0];
    }
    else if (target_mv &amp;gt;= V_POINTS[NUM_POINTS - 1]) {
        code = C_POINTS[NUM_POINTS - 1];
    }
    else {
        code = C_POINTS[0];
        for (int i = 0; i &amp;lt; NUM_POINTS - 1; i++) {
            if (target_mv &amp;lt; V_POINTS[i + 1]) {
                float fraction = (target_mv - V_POINTS[i]) / (V_POINTS[i + 1] - V_POINTS[i]);
                code = (uint32_t)(fraction * (C_POINTS[i + 1] - C_POINTS[i]) + C_POINTS[i]);
                break;
            }
        }
    }

    // Final hardware safety clamp
    if (code &amp;gt; 0xE00) code = 0xE00;
    if (code &amp;lt; 0x200) code = 0x200;

    *wg_code = code;
}

static void generate_next_fscv_code(uint32_t * wg_code, uint32_t step_idx, uint32_t fscv_peak_idx, float step_size_mv){
    float target_mv; 
    if (step_idx &amp;lt;= fscv_peak_idx) {
        target_mv = AppRampCtrl.RampStartVolt + step_size_mv * (float)step_idx;
    }
    else {
        uint32_t descending_step_idx = step_idx - fscv_peak_idx;
        target_mv = AppRampCtrl.RampPeakVolt -  step_size_mv * (float)descending_step_idx;
    }
    if (target_mv &amp;gt; AppRampCtrl.RampPeakVolt) {
        target_mv = AppRampCtrl.RampPeakVolt;
    }
    if (target_mv &amp;lt; AppRampCtrl.RampStartVolt) {
        target_mv = AppRampCtrl.RampStartVolt;
    }
    calculate_hsdac_code(AppRampCtrl.Vzero, target_mv, wg_code);
}

static AD5940Err fscv_ramp_seq_gen(void){
    uint32_t fscv_peak_idx = AppRampCtrl.DAC_Steps / 2;
    float step_size_mv = (AppRampCtrl.RampPeakVolt - AppRampCtrl.RampStartVolt) / (float)fscv_peak_idx;
    uint32_t wg_code;

    AD5940_SEQGenCtrl(bTRUE);
    AD5940_SEQGenInsert(SEQ_WAIT((uint32_t)(16e6 * 10e-3))); // Wait 10ms for settling
    AD5940_AFECtrlS(AFECTRL_ADCCNV, bTRUE);
    for (uint32_t step_idx = 0; step_idx &amp;lt; AppRampCtrl.DAC_Steps; step_idx++) {
        generate_next_fscv_code(&amp;amp;wg_code, step_idx, fscv_peak_idx, step_size_mv);
        AD5940_WGDACCodeS(wg_code);
    }

    AD5940_AFECtrlS(AFECTRL_ADCCNV, bFALSE);
    AD5940_SEQGenInsert(SEQ_INT0());
    AD5940_SEQGenCtrl(bFALSE);

    const uint32_t *pSeqCmd; 
    uint32_t SeqLen; 
    AD5940Err error = AD5940_SEQGenFetchSeq(&amp;amp;pSeqCmd, &amp;amp;SeqLen);

    SEQInfo_Type FSCVRampInfo;
    uint32_t SeqStartAddr = 0;
    uint32_t InitSeqId = SEQID_0;
    if (error == AD5940ERR_OK) {
        FSCVRampInfo.SeqId = InitSeqId;
        FSCVRampInfo.SeqRamAddr = SeqStartAddr;
        FSCVRampInfo.SeqLen = SeqLen;
        FSCVRampInfo.pSeqCmd = pSeqCmd;
        FSCVRampInfo.WriteSRAM = bFALSE; 
        AD5940_SEQCmdWrite(FSCVRampInfo.SeqRamAddr, FSCVRampInfo.pSeqCmd, FSCVRampInfo.SeqLen);
    }
    else{
        ESP_LOGE(TAG, &amp;quot;Failed to fetch FSCV ramp sequence, error code: %d&amp;quot;, error);
        ESP_LOGE(TAG, &amp;quot;sequence length: %d&amp;quot;, SeqLen);
        return AD5940ERR_ERROR;
    }

    float ramp_duration_ms = (AppRampCtrl.RampPeakVolt - AppRampCtrl.RampStartVolt) / AppRampCtrl.ScanRate * 2.0f;

    uint32_t seq_write_timer = (uint32_t)(16e6 * (ramp_duration_ms / 1000.0f) / AppRampCtrl.DAC_Steps);

    FIFOCfg_Type fifo_cfg;
    fifo_cfg.FIFOEn = bTRUE;
    fifo_cfg.FIFOSrc = AppRampCtrl.FIFOSrc;
    fifo_cfg.FIFOThresh = 511;
    fifo_cfg.FIFOMode = FIFOMODE_FIFO;
    fifo_cfg.FIFOSize = FIFOSIZE_2KB;
    AD5940_FIFOCfg(&amp;amp;fifo_cfg);

    SEQCfg_Type seq_cfg;
    seq_cfg.SeqMemSize = SEQMEMSIZE_4KB;
    seq_cfg.SeqBreakEn = bFALSE;
    seq_cfg.SeqIgnoreEn = bFALSE;
    seq_cfg.SeqCntCRCClr = bTRUE;
    seq_cfg.SeqEnable = bFALSE;
    seq_cfg.SeqWrTimer = (uint8_t)seq_write_timer;
    AD5940_SEQCfg(&amp;amp;seq_cfg);

    AD5940_SEQInfoCfg(&amp;amp;FSCVRampInfo);

    AD5940_SEQCtrlS(bTRUE);
    AD5940_INTCClrFlag(AFEINTSRC_ALLINT);
    AD5940_ClrMCUIntFlag();

    return AD5940ERR_OK;

}

static AD5940Err fscv_init_seq_gen(void){
    AD5940_SEQGenCtrl(bTRUE);
    AD5940_AFECtrlS(AFECTRL_ALL, bFALSE);

    AFERefCfg_Type aferef_cfg;
    AD5940_StructInit(&amp;amp;aferef_cfg, sizeof(aferef_cfg));
    aferef_cfg.HpBandgapEn = bTRUE;
    aferef_cfg.Hp1V8BuffEn = bTRUE;
    aferef_cfg.LpBandgapEn = bTRUE;
    aferef_cfg.LpRefBufEn = bTRUE;
    aferef_cfg.Hp1V1BuffEn = bTRUE; // not sure if needed
    AD5940_REFCfgS(&amp;amp;aferef_cfg);

    LPLoopCfg_Type lploop_cfg;
    AD5940_StructInit(&amp;amp;lploop_cfg, sizeof(lploop_cfg));


    uint8_t BITCODE6 = (uint8_t)((AppRampCtrl.Vzero - 200.0f) /34.375f); // LSB 6bit = 34.375mV
    uint16_t BITCODE12 = (uint16_t)(AppRampCtrl.Vbias * 1000.0f / 537.2f) + BITCODE6 * 64; // this is to ensure Vbias is always higher than Vzero, which means we always have positive bias for vCe0, current Vbias = 600 -&amp;gt; vminceo~0, vbias = 1200 -&amp;gt; Vminceo =613mV

    if(BITCODE12 &amp;lt; (BITCODE6 * 64)){
        BITCODE12 = BITCODE12 - 1;
    }

    lploop_cfg.LpDacCfg.LpdacSel = LPDAC0;
    lploop_cfg.LpDacCfg.DacData12Bit = BITCODE12;
    lploop_cfg.LpDacCfg.DacData6Bit = BITCODE6;
    lploop_cfg.LpDacCfg.DataRst = bFALSE;
    lploop_cfg.LpDacCfg.LpDacSW = LPDACSW_VZERO2HSTIA | LPDACSW_VZERO2PIN | LPDACSW_VBIAS2PIN;; // | LPDACSW_VBIAS2PIN
    lploop_cfg.LpDacCfg.LpDacRef = LPDACREF_2P5;
    lploop_cfg.LpDacCfg.LpDacSrc = LPDACSRC_MMR;
    lploop_cfg.LpDacCfg.LpDacVbiasMux = LPDACVBIAS_12BIT;
    lploop_cfg.LpDacCfg.LpDacVzeroMux = LPDACVZERO_6BIT;
    lploop_cfg.LpDacCfg.PowerEn = bTRUE;

    lploop_cfg.LpAmpCfg.LpPaPwrEn = bFALSE;      // disable LP PA - stops it driving CE0
    lploop_cfg.LpAmpCfg.LpTiaPwrEn = bFALSE; 

    AD5940_LPLoopCfgS(&amp;amp;lploop_cfg);

    HSLoopCfg_Type hsloop_cfg;
    AD5940_StructInit(&amp;amp;hsloop_cfg, sizeof(hsloop_cfg));
    /* high speed loop amp config*/
    hsloop_cfg.HsDacCfg.ExcitBufGain = EXCITBUFGAIN_2;
    hsloop_cfg.HsDacCfg.HsDacGain = HSDACGAIN_1; //HSDACGAIN_1 
    hsloop_cfg.HsDacCfg.HsDacUpdateRate = 10;
    /*HSDAC output to CE0*/
    hsloop_cfg.SWMatCfg.Dswitch = SWD_CE0;
    hsloop_cfg.SWMatCfg.Pswitch = SWP_CE0;
    hsloop_cfg.SWMatCfg.Nswitch = SWN_SE0LOAD;
    hsloop_cfg.SWMatCfg.Tswitch = SWT_SE0LOAD | SWT_TRTIA;

    /* HSTIA config*/
    hsloop_cfg.HsTiaCfg.DiodeClose = bTRUE;
    hsloop_cfg.HsTiaCfg.HstiaCtia = 32;
    hsloop_cfg.HsTiaCfg.HstiaRtiaSel = AppRampCtrl.HstiaRtiaSel;
    hsloop_cfg.HsTiaCfg.HstiaBias = HSTIABIAS_VZERO0;
    hsloop_cfg.HsTiaCfg.HstiaDeRload = HSTIADERLOAD_OPEN;
    hsloop_cfg.HsTiaCfg.HstiaDeRtia = HSTIADERTIA_OPEN;
    /* High speed loop waveform generator configuration */
    hsloop_cfg.WgCfg.WgType = WGTYPE_MMR;
    hsloop_cfg.WgCfg.GainCalEn = bFALSE;
    hsloop_cfg.WgCfg.OffsetCalEn = bFALSE;
    AD5940_HSLoopCfgS(&amp;amp;hsloop_cfg);

    uint32_t hsdac_code;
    calculate_hsdac_code(AppRampCtrl.Vzero, AppRampCtrl.RampStartVolt, &amp;amp;hsdac_code);
    AD5940_WGDACCodeS(hsdac_code);

    /* Config DSP */
    DSPCfg_Type dsp_cfg;
    AD5940_StructInit(&amp;amp;dsp_cfg, sizeof(dsp_cfg));
    dsp_cfg.ADCBaseCfg.ADCMuxP = ADCMUXP_HSTIA_P;
    dsp_cfg.ADCBaseCfg.ADCMuxN = ADCMUXN_HSTIA_N;
    dsp_cfg.ADCBaseCfg.ADCPga = AppRampCtrl.AdcPgaGain;
    /*ADC Filter Configuration*/
    dsp_cfg.ADCFilterCfg.ADCSinc2Osr = AppRampCtrl.ADCSinc2Osr;
    dsp_cfg.ADCFilterCfg.ADCSinc3Osr = AppRampCtrl.ADCSinc3Osr;
    dsp_cfg.ADCFilterCfg.BpSinc3 = AppRampCtrl.BpSinc3;
    dsp_cfg.ADCFilterCfg.BpNotch = bTRUE;
    dsp_cfg.ADCFilterCfg.Sinc2NotchEnable = AppRampCtrl.Sinc2En;
    dsp_cfg.ADCFilterCfg.ADCRate = ADCRATE_800KHZ;
    AD5940_DSPCfgS(&amp;amp;dsp_cfg);

    /* Power up necessary blocks: DAC reference buffer, DAC, TIA, waveform generator */
    AD5940_AFECtrlS(AFECTRL_DACREFPWR, bTRUE); //AFECTRL_DCBUFPWR |
    AD5940_AFECtrlS(AFECTRL_EXTBUFPWR | AFECTRL_INAMPPWR | AFECTRL_HSTIAPWR | AFECTRL_HSDACPWR, bTRUE);
    AD5940_AFECtrlS(AFECTRL_WG | AFECTRL_ADCPWR, bTRUE);

    AD5940_SEQGenInsert(SEQ_STOP());
    AD5940_SEQGenCtrl(bFALSE);

    const uint32_t *pSeqCmd;
    uint32_t SeqLen;
    AD5940Err error = AD5940_SEQGenFetchSeq(&amp;amp;pSeqCmd, &amp;amp;SeqLen);

    SEQInfo_Type InitSeqInfo;
    uint32_t MaxSeqLen = 1024; // = 4kb/4
    uint32_t SeqStartAddr = 0;
    uint32_t InintSeqId = SEQID_0;
    if (error == AD5940ERR_OK) {
        AD5940_StructInit(&amp;amp;InitSeqInfo, sizeof(InitSeqInfo));
        if (SeqLen &amp;gt;= MaxSeqLen) {
            ESP_LOGE(TAG, &amp;quot;Generated sequence length %d exceeds max length %d&amp;quot;, SeqLen, MaxSeqLen);
            return AD5940ERR_ERROR;
        }

        InitSeqInfo.SeqId = InintSeqId;
        InitSeqInfo.SeqRamAddr = SeqStartAddr;
        InitSeqInfo.pSeqCmd = pSeqCmd;
        InitSeqInfo.SeqLen = SeqLen;
        InitSeqInfo.WriteSRAM = bTRUE;
        AD5940_SEQInfoCfg(&amp;amp;InitSeqInfo);
    }
    else {
        ESP_LOGE(TAG, &amp;quot;Failed to fetch generated sequence: %d&amp;quot;, error);
        return AD5940ERR_ERROR;
    }

    AD5940_INTCClrFlag(AFEINTSRC_ALLINT);
    AD5940_SEQCtrlS(bTRUE);
    AD5940_SEQMmrTrig(InitSeqInfo.SeqId);
    while (AD5940_INTCTestFlag(AFEINTC_1, AFEINTSRC_ENDSEQ) == bFALSE)
        ;
    AD5940_INTCClrFlag(AFEINTSRC_ENDSEQ);
    ESP_LOGI(TAG, &amp;quot;Sequence generator initialized and ran successfully&amp;quot;);

    if (fscv_ramp_seq_gen() != AD5940ERR_OK) {
        ESP_LOGE(TAG, &amp;quot;Failed to generate FSCV ramp sequence&amp;quot;);
        return AD5940ERR_ERROR;
    }

    return AD5940ERR_OK;
}

static void start_fscv(void) {
    WUPTCfg_Type wupt_cfg;
    wupt_cfg.WuptEn = bTRUE;
    wupt_cfg.WuptEndSeq = WUPTENDSEQ_A;
    wupt_cfg.WuptOrder[0] = SEQID_0;
    wupt_cfg.SeqxSleepTime[SEQID_0] = 4;
    wupt_cfg.SeqxWakeupTime[SEQID_0] = (uint32_t)(AppRampCtrl.LFOSCClkFreq / AppRampCtrl.frequency_hz) - 4;
    AD5940_WUPTCfg(&amp;amp;wupt_cfg);
}

static const float RtiaValue[] = {200.0, 1000.0, 5000.0, 10000.0, 20000.0, 40000.0, 80000.0, 160000.0, 1000000.0};

static void fscv_data_process(uint32_t *app_data_buff, uint32_t *pbuf_len){
    static float s_fscv_samples[APPBUFF_SIZE];

    if (!pbuf_len || *pbuf_len == 0) {
        return;
    }

    if (*pbuf_len &amp;gt; APPBUFF_SIZE) {
        ESP_LOGW(TAG, &amp;quot;FSCV data too large; dropping&amp;quot;);
        return;
    }

    size_t bytes = (size_t)(*pbuf_len) * sizeof(float);
    if (bytes &amp;gt; UINT16_MAX) {
        ESP_LOGW(TAG, &amp;quot;FSCV data too large; dropping&amp;quot;);
        return;
    }
    for (uint32_t i = 0; i &amp;lt; *pbuf_len; i++) {
        float mv = -AD5940_ADCCode2Volt(app_data_buff[i] &amp;amp; 0xFFFF, AppRampCtrl.AdcPgaGain, AppRampCtrl.ADCRefVolt);
        float current_nA = (mv * 1.0e-3f) / RtiaValue[AppRampCtrl.HstiaRtiaSel] * 1.0e9;

        s_fscv_samples[i] = current_nA;
        printf(&amp;quot;Current (nA): %.2f\n&amp;quot;, current_nA);
    }

}

static void fscv_ISR(void *pBuff, uint32_t *pCount){
    uint32_t IntFlag = AD5940_INTCGetFlag(AFEINTC_0);
    uint32_t FifoCnt;
    if (IntFlag &amp;amp; AFEINTSRC_CUSTOMINT0){
        FifoCnt = AD5940_FIFOGetCnt();
        if (FifoCnt &amp;gt; 0) {
            AD5940_FIFORd((uint32_t *)pBuff, FifoCnt);
            fscv_data_process((uint32_t *)pBuff, &amp;amp;FifoCnt);
        }
        AD5940_INTCClrFlag(AFEINTSRC_CUSTOMINT0);
    }
    if (IntFlag &amp;amp; AFEINTSRC_DATAFIFOOF) {
        ESP_LOGE(TAG, &amp;quot;FIFO OVERFLOW - data lost&amp;quot;);
        AD5940_INTCClrFlag(AFEINTSRC_DATAFIFOOF);
    }
    return;
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;I notice that when set the Vzero = 1100mV, the output of CE0 is 505mV at the DAC code 0x200, which mean after opamp is 1100mV, which I cannot generate wanted ramp (the difference between V_CE0_buffer and VSE0 is about 13mV).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;When I set the Vzero = 700mV, &lt;span&gt;the difference between V_CE0_buffer and VSE0 is about -472mV&lt;/span&gt; at the DAC code 0x200.&lt;/p&gt;
&lt;p&gt;If I set Vzero to be less than 700mV (Vzero = 500mV), &lt;span&gt;the difference between V_CE0_buffer and VSE0 is about -463mV at the DAC code 0x200,&amp;nbsp;&lt;/span&gt;&amp;nbsp;the same with when the Vzero is 700mV.&lt;/p&gt;
&lt;p&gt;The detailed of my measurement is below:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;        // this is before buffer voltage; vbias = 200mV, vzero = 1100:                  0x200: 505mV;  0x400: 705mV;   0x600: 905mV;  0x800: 1110mV ; 0xA00: 1310mV; 0xC00: 1517mV ; 0xE00: 1719mV
        // with 15kohm load, vzero = 1800, vbias = 600; voltage after buffer - vzero:   0x200: 814mV;  0x400: ;        0x600: ;       0x800: ;        0xA00: ;       0xC00: ;        0xE00: 3.03V;
        // with 15kohm load, vzero = 1100, vbias = 600; voltage after buffer - vzero:   0x200: -13mV;  0x400: 425mV;   0x600: 866mV;  0x800: 1310mV;  0xA00: 1.75V ; 0xC00: 2.19V;   0xE00: 2.63V;
        // with 15kohm load, vzero = 700, vbias = 600; voltage after buffer - vzero:    0x200: -472mV; 0x400: -42mV ;  0x600: 426mV;  0x800: 910mV;   0xA00: 1.368V; 0xC00: 1.820V;  0xE00: 2275mV;
        // with 15kohm load, vzero = 700, vbias = 200; voltage after buffer - vzero:    0x200: -474mv; 0x400:  ;       0x600: ;       0x800: 909mV;   0xA00: ;       0xC00: 1.820V ; 0xE00: 2.270v ; -&amp;gt; Vbias currently not affecting the output
        // with 15kohm load, vzero = 500, vbias = 600; voltage after buffer - vzero:    0x200: -463mV; 0x400:  -230mV; 0x600: 400mV;  0x800: 910mV;   0xA00: 1.367V; 0xC00: 1.819V;  0xE00: 2.269V;
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Moreover, when I set different Vbias, the DC bias of the ramp does not change.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t understand this dependency on Vzero when Vzero &amp;gt; 700mV and why when I change Vbias, nothing change.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Is my setup incorrect? Can you give me lead into how to solve this?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thank you very much.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Sincerely,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Lizzie&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Can you please help&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>ADC sends out the same value every time</title><link>https://ez.analog.com/thread/603760?ContentTypeID=0</link><pubDate>Sun, 05 Apr 2026 11:20:22 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:51001626-c67f-4285-ab0e-08a44ca0670c</guid><dc:creator>vbash</dc:creator><slash:comments>1</slash:comments><comments>https://ez.analog.com/thread/603760?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603760/adc-sends-out-the-same-value-every-time/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I am trying to debug a new ADC board based on LTC2325-16. I have developed&amp;nbsp;some HDL to generate CNV and clock pulse and read the SDO lines in DDR mode. As you can see from the image,&amp;nbsp;the digital interface appears&amp;nbsp;&amp;nbsp;to working correctly:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:212px;max-width:1280px;" alt=" " height="212" src="/resized-image/__size/2560x424/__key/communityserver-discussions-components-files/425/Screenshot-from-2026_2D00_04_2D00_05-12_2D00_58_2D00_20.png" width="1280" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;My problem is regardless of what signal I apply to analog input pins of ADC the output on SDO lines remains&amp;nbsp;the same values, dancing around -64 and all even numbers.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt=" " height="573" src="/resized-image/__size/1048x1146/__key/communityserver-discussions-components-files/425/Screenshot-from-2026_2D00_04_2D00_05-13_2D00_12_2D00_18.png" width="524" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Here is part of the schematic. I also have an analog front-end using an FDA but I think it is not relevant at the moment because I am applying an analog signal directly to ADCs Ain+- pins.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I would appreciate it if anyone could give me an idea of what is happening.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;​For the information, the CNV and SCK are coming directly from the FPGA (with no jitter filter between them) and the frequency of the clock is 50 Mhz. I have a 10ns delay between the falling edge of the CNV and the first rising edge of the clock. Also since CLKOUT and SDOx are in phase, I pass the SDOx through a 5ns delay in order to capture them at falling and raising edges of CLKOUT&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Using ADAS1000 with SDP USB Converter</title><link>https://ez.analog.com/thread/603738?ContentTypeID=0</link><pubDate>Thu, 02 Apr 2026 12:25:10 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:9946c9cc-5b13-46e8-9f47-bf8cc10f5602</guid><dc:creator>bdogan</dc:creator><slash:comments>1</slash:comments><comments>https://ez.analog.com/thread/603738?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603738/using-adas1000-with-sdp-usb-converter/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p class="isSelectedEnd"&gt;&lt;span&gt;Dear Analog Devices Support Team,&lt;/span&gt;&lt;/p&gt;
&lt;p class="isSelectedEnd"&gt;&lt;span&gt;I am currently using the ADAS1000 board together with the SDP USB converter in my ECG PhD project, and I would like to ask a few technical questions.&lt;/span&gt;&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;
&lt;p class="isSelectedEnd"&gt;&lt;strong&gt;&lt;span&gt;Using ADAS1000 directly from MATLAB or Python&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span&gt;Is it possible to communicate with and use the ADAS1000 directly from MATLAB or Python instead of only through the ADAS1000 GUI? I need to analyze the ECG signals online/in real time during my experiments.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;Could you please share any available libraries, APIs, SDKs, example code, or other required software/documentation for this purpose?&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p class="isSelectedEnd"&gt;&lt;strong&gt;&lt;span&gt;ADAS1000 GUI compatibility with newer Windows versions&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span&gt;The ADAS1000 GUI seems to work only on older Windows 7 computers in my case. Is there a newer or updated version of the software that supports current Windows versions?&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;I would appreciate any guidance, software resources, or documentation you can provide.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Current consumption of the AD7608</title><link>https://ez.analog.com/thread/603734?ContentTypeID=0</link><pubDate>Thu, 02 Apr 2026 08:35:21 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:f85f8d69-7647-4fb0-af10-efbd0403ef35</guid><dc:creator>miky</dc:creator><slash:comments>2</slash:comments><comments>https://ez.analog.com/thread/603734?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603734/current-consumption-of-the-ad7608/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I have a question about AD7608.&lt;/p&gt;
&lt;p&gt;The specifications in the datasheet list &amp;ldquo;Itotal.&amp;rdquo;&lt;br /&gt;Does this refer to the total current for both the digital and analog power supplies?&lt;/p&gt;
&lt;p&gt;I would like to verify the current consumption for the digital and analog sections separately.&lt;br /&gt;If you have any documentation or calculation methods available, please provide them.&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/425/pastedimage1775118852500v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Weird data on MISO line, after reading out all 8 channels of the on ad7771 ADC</title><link>https://ez.analog.com/thread/603726?ContentTypeID=0</link><pubDate>Wed, 01 Apr 2026 16:31:34 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:f62a0e68-00a0-4bd5-932e-d3b02967c870</guid><dc:creator>Ol40</dc:creator><slash:comments>4</slash:comments><comments>https://ez.analog.com/thread/603726?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603726/weird-data-on-miso-line-after-reading-out-all-8-channels-of-the-on-ad7771-adc/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello everyone, i&amp;#39;m currently working with the ad777x-FMCZ devkit, and reading out the channels works fine.&lt;br /&gt;what i&amp;#39;m having trouble with is noticing some weird behaviour on the MISO line, after finishing readiout out all 8 channels.&lt;/p&gt;
&lt;p&gt;this is with reading the channels only through SPI. happens when i read the channels in 8 byte frames, or when i try to read all 32 bytes at once.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I might be doing something wrong because for the life of me I cannot understand what is meant in this section of the data sheet.&lt;/p&gt;
&lt;p&gt;tbh i think it&amp;#39;s quite weirdly written&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/425/20260401_5F00_18h23m33s_5F00_grim.png" /&gt;&lt;/p&gt;
&lt;p&gt;but in any case, here&amp;#39;s what happens on the signal analyzer, first in 8 byte chunk readout.&lt;/p&gt;
&lt;p&gt;lines are top to bottom: clock, mosi, miso, /cs,drdy,alert&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:324px;max-width:503px;" alt=" " height="324" src="/resized-image/__size/1006x648/__key/communityserver-discussions-components-files/425/20260401_5F00_18h21m03s_5F00_grim.png" width="503" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;as you can see, after the last 8 byte chunk is read out, after a while, and after the chip select line is pulled high, we have some weird bit of noise on the line&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/425/20260401_5F00_18h22m38s_5F00_grim.png" /&gt;&lt;/p&gt;
&lt;p&gt;here is the same thing happening when i try to read out all 32 bytes at once.&lt;/p&gt;
&lt;p&gt;i&amp;#39;m sending 0x80 command every 4 bytes, so looks like 0x80, 0x00, 0x00, 0x00, 0x80..... so as to not trigger a reset.&lt;/p&gt;
&lt;p&gt;any idea why this might be happening?, the data that i&amp;#39;m getting seems to be good otherwise.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>ADAS1000-4: Minimal reference schematic for basic ECG acquisition and QRS visualization</title><link>https://ez.analog.com/thread/603719?ContentTypeID=0</link><pubDate>Wed, 01 Apr 2026 12:48:53 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:e75086aa-1a00-4225-9bf2-fff907b35ebe</guid><dc:creator>AE61</dc:creator><slash:comments>1</slash:comments><comments>https://ez.analog.com/thread/603719?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603719/adas1000-4-minimal-reference-schematic-for-basic-ecg-acquisition-and-qrs-visualization/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p data-start="651" data-end="657"&gt;Hello,&lt;/p&gt;
&lt;p data-start="659" data-end="836"&gt;I am currently developing a small ECG device as part of my final thesis and I selected the ADAS1000-4 because it seems to be a very capable solution for compact ECG acquisition.&lt;/p&gt;
&lt;p data-start="838" data-end="1093"&gt;At the moment, I am not trying to build a full advanced medical system yet. My immediate goal is much simpler: I want to establish a minimal and technically correct hardware baseline that allows me to acquire ECG signals and visualize a clear QRS complex.&lt;/p&gt;
&lt;p data-start="1095" data-end="1423"&gt;I have already started my own schematic draft based on the datasheet, including the basic ECG input path, protection concept, clocking, and power supply considerations. However, before I continue too far, I would like to ask whether Analog Devices can provide or point me to any of the following specifically for the ADAS1000-4:&lt;/p&gt;
&lt;ul data-start="1425" data-end="1687"&gt;
&lt;li data-section-id="wwjj0n" data-start="1425" data-end="1482"&gt;a minimal reference schematic for basic ECG acquisition&lt;/li&gt;
&lt;li data-section-id="xyo63o" data-start="1483" data-end="1514"&gt;an evaluation board schematic&lt;/li&gt;
&lt;li data-section-id="1x8znth" data-start="1515" data-end="1568"&gt;an application note with a proven front-end example&lt;/li&gt;
&lt;li data-section-id="mmywvk" data-start="1569" data-end="1687"&gt;or any recommended minimal hardware configuration for simply acquiring ECG data and displaying a visible QRS complex&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-start="1689" data-end="1926"&gt;At this stage, I do not need a complete production-ready system. A known-good minimal reference design for basic ECG signal acquisition would already be extremely valuable and would help me build a solid foundation for my thesis project.&lt;/p&gt;
&lt;p data-start="1928" data-end="1996"&gt;If helpful, I can also share my current schematic draft for context.&lt;/p&gt;
&lt;p data-start="1998" data-end="2035"&gt;Thank you very much for any guidance.&lt;/p&gt;
&lt;p data-start="2037" data-end="2059"&gt;Best regards,&lt;br /&gt;Atakan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Keil build error</title><link>https://ez.analog.com/thread/603686?ContentTypeID=0</link><pubDate>Tue, 31 Mar 2026 03:39:38 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:0a911621-7a3e-4a9b-80b1-3a74ccc2400d</guid><dc:creator>Lilij</dc:creator><slash:comments>2</slash:comments><comments>https://ez.analog.com/thread/603686?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603686/keil-build-error/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I am trying to build the AD5940_SPI example for ADICUP3029 using Keil uVision 5 with ARM Compiler 6.24.&lt;/p&gt;
&lt;p&gt;The project compiles successfully, but linking fails with:&lt;/p&gt;
&lt;p&gt;Error: L6320W: Ignoring --entry command. Cannot find argument &amp;#39;Reset_Handler&amp;#39;&lt;br /&gt;Warning: L6320W: Ignoring --first command. Cannot find argument &amp;#39;__Vectors&amp;#39;&lt;/p&gt;
&lt;p&gt;Result: target not created (.axf not generated)&lt;/p&gt;
&lt;p&gt;What I have verified:&lt;br /&gt;- Using ADICUP3029 target&lt;br /&gt;- Correct startup file: startup_ADuCM3029.s&lt;br /&gt;- system_ADuCM3029.c present (no duplicates)&lt;br /&gt;- __Vectors and Reset_Handler are defined and exported in startup file&lt;br /&gt;- Clean + rebuild performed&lt;br /&gt;- OUT folder deleted and regenerated&lt;/p&gt;
&lt;p&gt;Observations:&lt;br /&gt;- Using ARM Compiler 6 (armclang), not legacy ARMCC&lt;br /&gt;- No scatter file manually set (default memory layout used)&lt;br /&gt;- Project compiles all CMSIS/DSP files without issue&lt;br /&gt;- Linker cannot resolve startup symbols&lt;/p&gt;
&lt;p&gt;Question:&lt;br /&gt;Is this example compatible with ARM Compiler 6, or does it require ARM Compiler 5?&lt;/p&gt;
&lt;p&gt;If AC6 is supported, what is the correct startup/linker configuration required for ADICUP3029?&lt;/p&gt;
&lt;p&gt;If not, what is the recommended working toolchain setup for this example?&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Request for EVAL-AD4130-8 PCB design files</title><link>https://ez.analog.com/thread/603648?ContentTypeID=0</link><pubDate>Tue, 31 Mar 2026 01:49:50 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:7dd036c3-b705-4217-aa2d-0f1034d47f4c</guid><dc:creator>mcvain</dc:creator><slash:comments>1</slash:comments><comments>https://ez.analog.com/thread/603648?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603648/request-for-eval-ad4130-8-pcb-design-files/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Can the PCB design file and schematic for the eval board please be shared with me (&lt;a id="" href="mailto:mcvain77@gmail.com"&gt;mcvain77@gmail.com&lt;/a&gt;)? I see others have received it via email through this forum.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AD5941 Schematic Design</title><link>https://ez.analog.com/thread/603669?ContentTypeID=0</link><pubDate>Mon, 30 Mar 2026 08:44:14 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:7b381ec2-6ddc-403b-af6a-8cb5e5aef771</guid><dc:creator>damocrrll</dc:creator><slash:comments>2</slash:comments><comments>https://ez.analog.com/thread/603669?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603669/ad5941-schematic-design/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Dear team,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I bought the chip of AD941, and then designed the PCB diagram by myself for testing electrochemical methods , can you help me see if there is a problem with my schematic?&lt;/p&gt;
&lt;p&gt;kind regard!&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/425/2744.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/425/4380.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/425/Screenshot-2026_2D00_03_2D00_30-153952.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Exact 'Wideband Filter' Step Response numbers</title><link>https://ez.analog.com/thread/603667?ContentTypeID=0</link><pubDate>Mon, 30 Mar 2026 08:27:55 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:aa851a67-f51a-4cc3-a043-1d6d5efa686f</guid><dc:creator>Tobalt</dc:creator><slash:comments>1</slash:comments><comments>https://ez.analog.com/thread/603667?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603667/exact-wideband-filter-step-response-numbers/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;We are using the AD7768-4 for a high precision measurement instrument. Recently, transient measurements have become an application, and the wideband decimation filter expectably leads to step response oscillations, as also given by Figure 92 of the data sheet.&lt;/p&gt;
&lt;p&gt;In order the deconvolve this behavior, we need to know the ideal step response.&amp;nbsp;Could you please provide the numeric step response coefficients?&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Best regards!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>About the ADA4084, the REF buffer on the ADAQ4224 evaluation board.</title><link>https://ez.analog.com/thread/603638?ContentTypeID=0</link><pubDate>Fri, 27 Mar 2026 08:46:06 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:87c93d2c-b697-491e-be85-18c8a228940d</guid><dc:creator>yoshibabababa735</dc:creator><slash:comments>4</slash:comments><comments>https://ez.analog.com/thread/603638?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603638/about-the-ada4084-the-ref-buffer-on-the-adaq4224-evaluation-board/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;In the ADAQ4224evaluation board(&lt;span&gt;EVAL-ADAQ4224-FMCZ&lt;/span&gt;), the ADA4807 is operated with a 5V supply in a voltage follower configuration for a 4.096V output.&lt;/p&gt;
&lt;p&gt;Since&amp;nbsp; VICM&amp;nbsp;is operating outside the recommended range &lt;span class="math-inline" data-math="V_S - 1.5V" data-index-in-node="58"&gt;VS - 1.5V&lt;/span&gt;, the DC precision is expected to deteriorate. Is this considered a valid operating condition for this evaluation board?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>16-bit mode data format issue</title><link>https://ez.analog.com/thread/603636?ContentTypeID=0</link><pubDate>Fri, 27 Mar 2026 07:20:16 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:fd46a91a-37b5-495a-969f-99fc548edaf7</guid><dc:creator>HJM</dc:creator><slash:comments>3</slash:comments><comments>https://ez.analog.com/thread/603636?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603636/16-bit-mode-data-format-issue/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;In the evaluation software of AD4115, we used the 16-bit mode of AD4115 to read the data from the data_register register of the ADC conversion. We captured the waveform at that time. According to the description in the datasheet, it should be an 8-sck command followed by 16-sck data. However, when we captured it, we found that it was 16-sck + 16-sck (as shown in the following figure). This does not match the description in the datasheet. In our application, which configuration should we follow (datasheet or evaluation software)?&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/425/pastedimage1774594541311v1.png" alt=" " /&gt;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/425/pastedimage1774594551708v2.png" alt=" " /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thanks&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>What power mode can we used?</title><link>https://ez.analog.com/thread/603633?ContentTypeID=0</link><pubDate>Fri, 27 Mar 2026 05:39:31 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:ef56bc5a-22d7-459f-a9c4-4c3b5c1726f3</guid><dc:creator>Firefighter</dc:creator><slash:comments>5</slash:comments><comments>https://ez.analog.com/thread/603633?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603633/what-power-mode-can-we-used/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi ADI,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;In the table 9 of datasheet for ad7768-1, it suggests the fmod can only go up to 1.024MHz.&lt;/p&gt;
&lt;p&gt;However, in the online tool&amp;nbsp;&lt;a href="https://www.analog.com/media/en/engineering-tools/design-tools/ad7768-1_filter_model_web.xlsx"&gt;https://www.analog.com/media/en/engineering-tools/design-tools/ad7768-1_filter_model_web.xlsx&lt;/a&gt;, we can use 4MHz with low power mode. We want to set divider to 1 and demation to 1024 with 4MHz fmod coz it give us a very low noise value.&lt;/p&gt;
&lt;p&gt;We want to know whether the configuration is supported or not.&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Purchase of an EVAL-AD4857 populated with an AD4853</title><link>https://ez.analog.com/thread/603607?ContentTypeID=0</link><pubDate>Wed, 25 Mar 2026 16:38:45 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:1eccba38-4a10-4851-b3eb-e86d2bb0dead</guid><dc:creator>charlesw</dc:creator><slash:comments>3</slash:comments><comments>https://ez.analog.com/thread/603607?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603607/purchase-of-an-eval-ad4857-populated-with-an-ad4853/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;I would like to purchase an EVAL-AD4857 evaluation board that is populated with the 4-channel version, AD4853. Essentially an EVAL-AD4853. Is this possible?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AD74416 EVA Board measurement Popcorn noise occurred</title><link>https://ez.analog.com/thread/603573?ContentTypeID=0</link><pubDate>Tue, 24 Mar 2026 06:37:26 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:50dd2859-5236-4493-ac76-10faa37a830a</guid><dc:creator>Osamukan</dc:creator><slash:comments>3</slash:comments><comments>https://ez.analog.com/thread/603573?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603573/ad74416-eva-board-measurement-popcorn-noise-occurred/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;When using a dummy load to verify the characteristics of the EVAL-AD74416H evaluation board, a popcorn-like noise was obtained.&lt;/p&gt;
&lt;p&gt;It did not appear with only one channel, but was visible on all channels when the dummy load was included.&lt;/p&gt;
&lt;p&gt;Furthermore, it was not synchronized with the SYNC function as shown in Fig. 4 and Fig. 8 in the datasheet.&lt;/p&gt;
&lt;p&gt;The source of this noise is unknown.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/425/pastedimage1774333742578v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/425/EVL74416.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Noisy ECG signal using EVAL-AD5940BIOZ and AD8233 (3-Wire Setup)</title><link>https://ez.analog.com/thread/603569?ContentTypeID=0</link><pubDate>Tue, 24 Mar 2026 00:48:49 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:5d2a9b5c-2dd0-4db7-ae13-6033711a9e06</guid><dc:creator>Sadique</dc:creator><slash:comments>2</slash:comments><comments>https://ez.analog.com/thread/603569?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603569/noisy-ecg-signal-using-eval-ad5940bioz-and-ad8233-3-wire-setup/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello everyone,&lt;/p&gt;
&lt;p&gt;I am currently evaluating the AD5940 and AD8233 for ECG acquisition, but I am struggling with an extremely noisy signal where the P-QRS-T waveform is buried/indistinguishable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;My Hardware Setup:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Motherboard: EVAL-ADICUP3029&lt;/p&gt;
&lt;p&gt;Middle Shield: EVAL-AD5940ARDZ&lt;/p&gt;
&lt;p&gt;Top Shield: EVAL-AD5940BIOZ (Integrated AD5940-BioElectric board)&lt;/p&gt;
&lt;p&gt;Software: Testing baseline hardware functionality using the SensorPal GUI.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;My Connections &amp;amp; Configuration:&lt;/strong&gt; I am using a 3-lead ECG snap cable plugged into the P6 micro-USB port on the top BioElectric shield, using wet Ag/AgCl gel pads attached to a human subject.&lt;/p&gt;
&lt;p&gt;Red (F+): Left Arm&lt;/p&gt;
&lt;p&gt;Blue (S-): Right Arm&lt;/p&gt;
&lt;p&gt;Black (F- / RLD): Right Leg&lt;/p&gt;
&lt;p&gt;After initially dealing with amplifier saturation/flatlining, I referenced the board schematics and corrected my jumpers to the following configuration to properly balance the DC Lead-Off detection and reference bias:&lt;/p&gt;
&lt;p&gt;P16: Pins 1-2 (Pulled up to ELECT_BIAS)&lt;/p&gt;
&lt;p&gt;P17: Pins 2-3 (Pulled down to AGND)&lt;/p&gt;
&lt;p&gt;JP7: Pins 1-3 (REFOUTS connected to ELECT_BIAS)&lt;/p&gt;
&lt;p&gt;P18 / P19: DNI (Empty)&lt;/p&gt;
&lt;p&gt;The Issue: While correcting the jumpers successfully resolved the flatline, the resulting signal in SensorPal is extremely noisy.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;My Questions:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;1. Are there any other specific hardware jumpers or surface-mount components (like JP4, JP5, JP6) that I need to modify from their factory defaults to clean up this noise for a 3-wire setup?&lt;/p&gt;
&lt;p&gt;2. Since the official custom cable includes a 4th wire (S+ / Green) that I am not using, does the AD8233 on this specific evaluation board require that 4th connection for proper noise cancellation?&lt;/p&gt;
&lt;p&gt;3. Are there any specific settings within SensorPal (or the underlying C-code libraries) I should tweak to improve the filtering?&lt;/p&gt;
&lt;p&gt;Any guidance on how to achieve a clean baseline ECG with this board would be greatly appreciated! Thank you.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Inverse output when change setting configurations</title><link>https://ez.analog.com/thread/603538?ContentTypeID=0</link><pubDate>Mon, 23 Mar 2026 01:18:29 GMT</pubDate><guid isPermaLink="false">a884d118-f55f-49de-87eb-b9dbaf99b3e3:5635be1d-ef7c-41b3-a84b-ba33575092b4</guid><dc:creator>skindepth</dc:creator><slash:comments>1</slash:comments><comments>https://ez.analog.com/thread/603538?ContentTypeID=0</comments><wfw:commentRss>https://ez.analog.com/data_converters/precision_adcs/f/q-a/603538/inverse-output-when-change-setting-configurations/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi, I am junhyeob from korea.&lt;/p&gt;
&lt;p&gt;I have a question with AD7746 difference measuring way.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;table class="cui-real-table"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="cui-real-td"&gt;
&lt;p&gt;&lt;span class="cui-origin-span"&gt;#&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="cui-real-td"&gt;
&lt;p&gt;&lt;span class="cui-origin-span"&gt;VDD&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="cui-real-td"&gt;
&lt;p&gt;&lt;span class="cui-origin-span"&gt;Cap Vol. (x n)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="cui-real-td"&gt;
&lt;p&gt;&lt;span class="cui-origin-span"&gt;Conversion time (ms)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="cui-real-td"&gt;
&lt;p&gt;&lt;span class="cui-origin-span"&gt;Ref&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="cui-real-td"&gt;
&lt;p&gt;&lt;span class="cui-origin-span"&gt;3.3&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="cui-real-td"&gt;
&lt;p&gt;&lt;span class="cui-origin-span"&gt;1/8&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="cui-real-td"&gt;
&lt;p&gt;&lt;span class="cui-origin-span"&gt;11&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="cui-real-td"&gt;
&lt;p&gt;&lt;span class="cui-origin-span"&gt;A&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="cui-real-td"&gt;
&lt;p&gt;&lt;span class="cui-origin-span"&gt;3.3&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="cui-real-td"&gt;
&lt;p&gt;&lt;span class="cui-origin-span"&gt;1/8&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="cui-real-td"&gt;
&lt;p&gt;&lt;span class="cui-origin-span"&gt;77&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="cui-real-td"&gt;
&lt;p&gt;&lt;span class="cui-origin-span"&gt;B&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="cui-real-td"&gt;
&lt;p&gt;&lt;span&gt;3.3&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="cui-real-td"&gt;
&lt;p&gt;&lt;span&gt;1/2&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="cui-real-td"&gt;
&lt;p&gt;&lt;span&gt;11&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="cui-real-td"&gt;
&lt;p&gt;&lt;span class="cui-origin-span"&gt;C&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="cui-real-td"&gt;
&lt;p&gt;&lt;span&gt;3.3&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="cui-real-td"&gt;
&lt;p&gt;&lt;span&gt;1/2&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td class="cui-real-td"&gt;
&lt;p&gt;&lt;span&gt;77&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I had changed settings of ad7746, the test output is different.&lt;/p&gt;
&lt;p&gt;In high humidity situation (80%), ref output is different compared to A, B, C test conditions.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In ref test condition, the output in the 80%RH was higher than 60%RH.&lt;/p&gt;
&lt;p&gt;But In the A, B, C conditions, the output in the 80%RH was lower than 60% RH.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="/resized-image/__size/640x480/__key/communityserver-discussions-components-files/425/pastedimage1774228679574v2.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Is it possible?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;or Any ohter suspicious things in my test?&lt;/p&gt;
&lt;p&gt;Thank you for reading.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>