lib_qadc

VERSION RELEASED COMMENTS DOCUMENTATION SOFTWARE
v1.0.0 2024-11-26 VIEW HTML VIEW PDF ZIP

Overview#

The xcore.ai family offers an inexpensive way to read the value of a variable resistor (rheostat) or a potentiometer without the need for a dedicated ADC component. It uses known RC delay characteristics to determine the value of the resistor and only requires two additional passive components per channel.

The performance may be suitable for applications such as reading the position of an analog slider to control an audio gain setting. Resolutions in excess of eight bits can be achieved which can be adequate for many control applications.

Features#

  • Rheostat reader or Potentiometer reader

  • One channel per 1-bit port (wide ports supported for Potentiometer type)

  • Up to 3000 conversions per second

  • 8+ effective number of bits (ENOB)

  • Filtering and hysteresis functions for smoothing noise

  • Continuous conversion (using a thread) or single shot API via function call

Resource Usage#

The Rheostat reader requires 3 kB and either one thread (continuous operation) or ~300 microseconds of CPU time per conversion.

For a two channel, 8 bit (256 output levels) with a 16 entry moving average filter, the Potentiometer reader requires 5 kB and either one thread (continuous operation) or around ~300 microseconds of CPU time per conversion.

Known Issues#

  • Calibration mode not yet implemented for Rheostat reader.

Required Tools#

  • XMOS XTC Tools: 15.3.0

Required Libraries (dependencies)#

  • None

Support#

This package is supported by XMOS Ltd. Issues can be raised against the software at www.xmos.com/support

Scroll to Top
Cookie Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Strictly Necessary Cookies

Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.

Analytics Cookies

This website uses Google Analytics to collect anonymous information such as the number of visitors to the site, and the most popular pages.

Keeping this cookie enabled helps us to improve our website.