zoukankan      html  css  js  c++  java
  • [Quote] New subsystem iio in Linux Kernel.

    So, here comes the iio subsystem new to Linux Kernel, at least for me, present for for supporting some of the composite sensors in Android.

    Some introductions and some basic infos about it.

    Introduce IIO interface for Android advanced features

    iio-a-new-subsystem.pdf

    Introduction in kernel/drivers/staging/iio/Documentation/overview.txt

    Overview of IIO

    The Industrial I/O subsystem is intended to provide support for devices
    that in some sense are analog to digital converters (ADCs). As many
    actual devices combine some ADCs with digital to analog converters
    (DACs) that functionality is also supported.

    The aim is to fill the gap between the somewhat similar hwmon and
    input subsystems. Hwmon is very much directed at low sample rate
    sensors used in applications such as fan speed control and temperature
    measurement. Input is, as it's name suggests focused on input
    devices. In some cases there is considerable overlap between these and
    IIO.

    A typical device falling into this category would be connected via SPI
    or I2C.

    Functionality of IIO

    * Basic device registration and handling. This is very similar to
    hwmon with simple polled access to device channels via sysfs.

    * Event chrdevs. These are similar to input in that they provide a
    route to user space for hardware triggered events. Such events include
    threshold detectors, free-fall detectors and more complex action
    detection. The events themselves are currently very simple with
    merely an event code and a timestamp. Any data associated with the
    event must be accessed via polling.

    Note: A given device may have one or more event channel. These events are
    turned on or off (if possible) via sysfs interfaces.

    * Hardware buffer support. Some recent sensors have included
    fifo / ring buffers on the sensor chip. These greatly reduce the load
    on the host CPU by buffering relatively large numbers of data samples
    based on an internal sampling clock. Examples include VTI SCA3000
    series and Analog Device ADXL345 accelerometers. Each buffer supports
    polling to establish when data is available.

    * Trigger and software buffer support. In many data analysis
    applications it it useful to be able to capture data based on some
    external signal (trigger). These triggers might be a data ready
    signal, a gpio line connected to some external system or an on
    processor periodic interrupt. A single trigger may initialize data
    capture or reading from a number of sensors. These triggers are
    used in IIO to fill software buffers acting in a very similar
    fashion to the hardware buffers described above.

    Other documentation:

    device.txt - elements of a typical device driver.

    trigger.txt - elements of a typical trigger driver.

    ring.txt - additional elements required for buffer support.

    sysfs-bus-iio - abi documentation file.

  • 相关阅读:
    JS Leetcode 530. 二叉搜索树的最小绝对差 题解分析,再次了解中序遍历
    JS Leetcode 179. 最大数 题解分析,sort a-b与b-a的区别,sort排序原理解析
    Echarts 数据可视化 (二)
    Echarts 数据可视化 (一)
    Less 入门
    【Mybatis-Plus框架学习】专栏总集篇
    【Mybatis-Plus框架学习】雪花算法 剖析
    【多文件自平衡云传输】使用展示 —— 文件传输系统
    详解 资源发现技术 的基本实现
    【多文件自平衡云传输】专栏总集篇
  • 原文地址:https://www.cnblogs.com/lake-of-embedded-system/p/4180441.html
Copyright © 2011-2022 走看看