吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

IIO子系統是什么

麥辣雞腿堡 ? 來源:嵌入式Linux系統開發 ? 作者:嵌入式Linux系統開 ? 2023-07-30 11:48 ? 次閱讀

IIO子系統簡介

IIO 全稱是 Industrial I/O,翻譯過來就是工業 I/O,大家不要看到“工業”兩個字就覺得 IIO 是只用于工業領域的。大家一般在搜索 IIO 子系統的時候,會發現大多數講的都是 ADC,這是因為 IIO 就是為 ADC 類傳感器準備的,當然了 DAC 也是可以的。大家常用的陀螺儀、加速度計、電壓/電流測量芯片、光照傳感器、壓力傳感器等內部都是有個 ADC,內部 ADC 將原始的模擬數據轉換為數字量,然后通過其他的通信接口,比如 IIC、SPI 等傳輸給 SOC。

因此,當你使用的傳感器本質是 ADC 或 DAC 器件的時候,可以優先考慮使用 IIO 驅動框架。

1、iio_dev 結構體

IIO 子系統使用結構體 iio_dev 來描述一個具體 IIO 設備,此設備結構體定義在include/linux/iio/iio.h 文件中

2、iio_dev 申請與釋放

在使用之前要先申請 iio_dev,申請函數為 iio_device_alloc,函數原型如下:

struct iio_dev *iio_device_alloc(int sizeof_priv)

sizeof_priv:私有數據內存空間大小,一般我們會將自己定義的設備結構體變量作為 iio_dev 的私有數據,這樣可以直接通過 iio_device_alloc 函數同時完成 iio_dev 和設備結構體變量的內存申請。申請成功以后使用 iio_priv 函數來得到自定義的設備結構體變量首地址。

返回值:如果申請成功就返回 iio_dev 首地址,如果失敗就返回 NULL。

3、iio_dev 注冊與注銷

前面分配好 iio_dev 以后就要初始化各種成員變量,初始化完成以后就需要將 iio_dev 注冊 到內核中,需要用到 iio_device_register 函數

4、iio_info

iio_dev 有個成員變量:info,為 iio_info 結構體指針變量,這個是我們在編寫 IIO 驅動的時候需要著重去實現的,因為用戶空間對設備的具體操作最終都會反映到 iio_info 里面。iio_info結構體定義在 include/linux/iio/iio.h 中

5、iio_chan_spec

IIO 的核心就是通道,一個傳感器可能有多路數據,比如一個 ADC 芯片支持 8 路采集,那么這個 ADC 就有 8 個通道。Linux 內核使用 iio_chan_spec 結構體來描述通道,定義在 include/linux/iio/iio.h 文件中。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2553

    文章

    51392

    瀏覽量

    756593
  • 子系統
    +關注

    關注

    0

    文章

    110

    瀏覽量

    12454
收藏 人收藏

    評論

    相關推薦

    請問IIO軟件是做什么的?

    IIO軟件是做什么的?剛接觸AD9361,SD卡中的系統帶的軟件,可我看了半天,不知道具體該怎么設置波形,還有設置好的波形是輸出波形,還是輸入波形啊?
    發表于 08-03 06:58

    HC-SR04超聲波測距模塊調試方法

    ;okay";};2. 驅動編寫,筆者在iio子系統下進行驅動編寫,在路徑 kernel/drivers/iio/下創建ultrasonic/,參考這款傳感器的規格書,下面是部分驅動代碼
    發表于 02-14 16:16

    請問IIO Oscilloscope master代碼在linux系統下怎么打開

    `目前在學IIO Oscilloscope,在ubuntu系統下,不知道github下載的IIO Oscilloscope master代碼怎么打開,百度教程沒有找到,希望誰知道幫忙解答一下,萬分感激!!謝謝!!`
    發表于 02-27 12:09

    嵌入式Linux系統ADC按鍵驅動的相關資料分享

    設備樹節點RK3308支持SAR-ADC,我們工程默認已經支持了該驅動,在rk3308.dtsi中可以找到節點:這個設備節點是在rk3308-evb-v10.dtsi中被開啟的:3 應用3.1 了解IIO子系統IIO
    發表于 12-24 08:24

    rk3288平臺上的adc驅動使用步驟與方法

    adc現在使用了iio子系統,文件位置位于driver/iio/adc/rockchip_adc.c設備樹文件、adc: adc@ff100000 {compatible = "
    發表于 05-11 10:16

    分享一下如何在用戶空間操作IIO設備

    1、手把手教如何用Linux下IIO設備  IIO是 Industrial I/O 的縮寫,是Linux下為工業輸入輸出所設計的子系統。其主要目的是為模數轉換 (ADC) 或數模轉換 (DAC)或
    發表于 09-21 15:37

    請問IIO觸發緩沖區如何使用?

    我使用 ASM330LHH 作為 Linux IIO。添加了源和 DTS。我們發現/sys/bus/iio也增加了一個設備。我還檢查了從 sysfs 以直接模式讀取數據。因此,我認為H/W連接
    發表于 01-04 09:11

    OpenHarmony:全流程講解如何編寫ADC平臺驅動以及應用程序

    adc_iio_adapter.c決定,不可修改。adc_iio_adapter.c實際是對Linux IIO子系統進行操作來控制ADC。注意: channelNum:表示通道數量
    發表于 09-04 16:34

    Linux 開發IIO子系統入門

    前陣子工作上做了一些關于 ADC 的支持,由于現在 ADC 相關的支持都被移動到了 IIO (Industrial I/O) 子系統下,我查閱了一些關于 IIO 資料,包括書籍、文章、內核文檔和代碼
    的頭像 發表于 10-27 10:44 ?4609次閱讀
    Linux 開發<b class='flag-5'>IIO</b><b class='flag-5'>子系統</b>入門

    AD7606 mbed IIO應用程序

    AD7606 mbed IIO應用程序
    發表于 03-22 13:57 ?13次下載
    AD7606 mbed <b class='flag-5'>IIO</b>應用程序

    AD7280A IIO鋰離子電池監控系統Linux驅動程序

    AD7280A IIO鋰離子電池監控系統Linux驅動程序
    發表于 04-14 20:31 ?2次下載
    AD7280A <b class='flag-5'>IIO</b>鋰離子電池監控<b class='flag-5'>系統</b>Linux驅動程序

    IIO示波器的應用

    IIO示波器的應用
    發表于 05-15 13:09 ?8次下載
    <b class='flag-5'>IIO</b>示波器的應用

    手把手教如何用Linux下IIO設備(附代碼)

    IIO是 Industrial I/O 的縮寫,是Linux下為工業輸入輸出所設計的子系統。其主要目的是為模數轉換 (ADC) 或數模轉換 (DAC) 或兩者兼而有...
    發表于 01-25 16:01 ?1次下載
    手把手教如何用Linux下<b class='flag-5'>IIO</b>設備(附代碼)

    IIO驅動框架創建和相關配置

    IIO驅動框架創建 分析 IIO 子系統的時候大家應該看出了,IIO框架主要用于 ADC 類的傳感器,比如陀螺儀、加速度計、磁力計、光強度計等,這些傳感器基本都是IIC 或者 SPI
    的頭像 發表于 07-30 11:53 ?1490次閱讀

    Linux,IIO驅動完結有感

    1. 我錄制45天,你學完只需要1天 歷時1個半月,驅動大全IIO驅動完結了!20個視頻,時長5小時45分鐘。大綱如下: 01.1_IIO子系統簡化框架01.2_DHT11操作原理與編程思路
    的頭像 發表于 12-06 09:45 ?309次閱讀
    Linux,<b class='flag-5'>IIO</b>驅動完結有感
    大发888游戏平台官方| 百家乐官网打法分析| 最好的百家乐好评平台都有哪些 | 百家乐游戏大厅下| 百家乐官网特殊计| 赌场百家乐官网试玩| BET365官方网| 大发888娱乐城ipad| 百家乐对付抽水| 属虎和属鼠合伙做生意| 澳门百家乐官网赢钱秘诀| 优博娱乐网址| 大发888游戏攻略| 云鼎百家乐的玩法技巧和规则| 百家乐能赢到钱吗| 免水百家乐官网的玩法技巧和规则 | 有关百家乐官网玩家论坛| 百家乐的视频百家乐| 励骏会百家乐官网的玩法技巧和规则| 国美百家乐的玩法技巧和规则| 百家乐娱乐城博彩正网| 银河百家乐官网的玩法技巧和规则| 百家乐官网百家乐官网论坛| 十大博彩网| 亚洲顶级赌场手机版| 威尼斯人娱乐城怎么赢| 喜来登百家乐的玩法技巧和规则 | 罗盘24层| 百家乐是哪个国家| 罗盘24层| 百家乐官网打劫法| 在线百家乐官网合作| 新朝代百家乐官网开户网站| 百家乐官网游戏下载| 百家乐官网开户平台| 凤凰百家乐官网娱乐城| 利记百家乐官网现金网| 大集汇百家乐的玩法技巧和规则| 至尊百家乐赌场娱乐网规则| 新加坡百家乐规则| 大发888在线娱乐游戏|