资料介绍

Table of Contents
ADIS16130 IIO High Precision Angular Rate Gyroscope Linux Driver
Supported Devices
Description
This is a Linux industrial I/O (IIO) subsystem driver, targeting serial interface Gyroscopes. The industrial I/O subsystem provides a unified framework for drivers for many different types of converters and sensors using a number of different physical interfaces (i2c, spi, etc). See IIO for more information.
Source Code
Status
Files
| Function | File |
|---|---|
| driver | drivers/staging/iio/accel/adis16130_core.c |
Declaring SPI slave devices
Unlike PCI or USB devices, SPI devices are not enumerated at the hardware level. Instead, the software must know which devices are connected on each SPI bus segment, and what slave selects these devices are using. For this reason, the kernel code must instantiate SPI devices explicitly. The most common method is to declare the SPI devices by bus number.
This method is appropriate when the SPI bus is a system bus, as in many embedded systems, wherein each SPI bus has a number which is known in advance. It is thus possible to pre-declare the SPI devices that inhabit this bus. This is done with an array of struct spi_board_info, which is registered by calling spi_register_board_info().
For more information see: Documentation/spi/spi-summary
Depending on the converter IC used, you may need to set the modalias accordingly, matching your part name. It may also required to adjust max_speed_hz. Please consult the datasheet, for maximum spi clock supported by the device in question.
static struct spi_board_info board_spi_board_info[] __initdata = { #if defined(CONFIG_ADIS16130) / || defined(CONFIG_ADIS16130_MODULE) { .modalias = "adis16130", .max_speed_hz = 1000000, /* max spi clock (SCK) speed in HZ */ .bus_num = 0, .chip_select = 1, /* CS for read, change it for your board */ .platform_data = NULL, /* No spi_driver specific config */ .mode = SPI_MODE_3, }, #endif };
static int __init board_init(void) { [--snip--] spi_register_board_info(board_spi_board_info, ARRAY_SIZE(board_spi_board_info)); [--snip--] return 0; } arch_initcall(board_init);
Adding Linux driver support
Configure kernel with “make menuconfig” (alternatively use “make xconfig” or “make qconfig”)
The ADIS16130 Driver depends on CONFIG_SPI
Linux Kernel Configuration Device Drivers ---> [*] Staging drivers ---> <*> Industrial I/O support ---> --- Industrial I/O support -*- Enable ring buffer support within IIO -*- Industrial I/O lock free software ring -*- Enable triggered sampling support *** Digital gyroscope sensors *** [--snip--] <*> Analog Devices ADIS16130 High Precision Angular Rate Sensor driver [--snip--]
Hardware configuration
Driver testing
Each and every IIO device, typically a hardware chip, has a device folder under /sys/bus/iio/devices/iio:deviceX. Where X is the IIO index of the device. Under every of these directory folders reside a set of files, depending on the characteristics and features of the hardware device in question. These files are consistently generalized and documented in the IIO ABI documentation. In order to determine which IIO deviceX corresponds to which hardware device, the user can read the name file /sys/bus/iio/devices/iio:deviceX/name. In case the sequence in which the iio device drivers are loaded/registered is constant, the numbering is constant and may be known in advance.
This specifies any shell prompt running on the target
root:/> cd /sys/bus/iio/devices/ root:/sys/bus/iio/devices> ls iio:device0 trigger0 root:/sys/bus/iio/devices> cd iio:device0 root:/sys/devices/platform/bfin-spi.0/spi0.1/iio:device0> ls -l -r--r--r-- 1 root root 4096 Jan 3 20:40 dev -r--r--r-- 1 root root 4096 Jan 3 20:40 in_gyro_z_raw -r--r--r-- 1 root root 4096 Jan 3 20:40 in_temp0_raw -r--r--r-- 1 root root 4096 Jan 3 20:40 name drwxr-xr-x 2 root root 0 Jan 3 20:40 power lrwxrwxrwx 1 root root 0 Jan 3 20:40 subsystem -> ../../../../../bus/iio -rw-r--r-- 1 root root 4096 Jan 3 20:40 uevent root:/sys/devices/platform/bfin-spi.0/spi0.1/iio:device0>
Show device name
This specifies any shell prompt running on the target
root:/sys/devices/platform/bfin-spi.0/spi0.1/iio:device0> cat name adis16130
ADIS16130 device attributes
For a detailed description please see: drivers/staging/iio/Documentation/sysfs-bus-iio
| Device files |
|---|
| in_gyro_z_raw |
| in_temp0_raw |
| name |
More Information
- IIO mailing list: linux [dash] iio [at] vger [dot] kernel [dot] org
- AD5360 IIO多通道Linux驱动程序DAC
- AD7303 IIO DAC Linux驱动程序
- ADIS16080 IIO偏航率陀螺仪Linux驱动程序
- IIO单通道串行ADC Linux驱动程序
- ADIS16080:±80°/秒偏航速率陀螺仪,带SPI数据表
- ADIS16204 IIO可编程高g数字冲击传感器和记录仪Linux驱动程序
- AD9834 IIO直接数字合成Linux驱动程序
- ADIS16240 IIO可编程冲击传感器和记录仪Linux驱动程序
- ADIS16480 IIO惯性测量组合Linux驱动程序
- ADIS16136 IIO惯性测量组合Linux驱动程序
- AD9832 IIO直接数字合成Linux驱动程序
- AD7998 IIO ADC Linux驱动程序
- ADIS16400 IIO惯性测量组合Linux驱动程序
- AD7887 IIO ADC Linux驱动程序
- AD5933 IIO阻抗转换器和网络分析仪Linux驱动程序
- 手机陀螺仪失灵解决方法 2.9w次阅读
- 陀螺仪传感器的分类_陀螺仪传感器有什么用 7896次阅读
- 工业和汽车级MEMS陀螺仪的应用 4419次阅读
- 光纤陀螺仪与旋转式陀螺仪的工作原理解析 8426次阅读
- 多图解析MEMS陀螺仪的工作原理 4.2w次阅读
- 带你看看高精度陀螺仪有哪些 2.1w次阅读
- 分析三轴陀螺仪的工作原理及应用 1.8w次阅读
- 浅谈MEMS陀螺仪技术 MEMS是否取代光纤陀螺仪技术 1.3w次阅读
- 三轴陀螺仪MPU3050驱动程序分析 7323次阅读
- MEMS陀螺仪技术原理_三轴陀螺仪技术原理 1.5w次阅读
- 陀螺仪有什么用_陀螺仪的特性图解_陀螺仪的应用 1w次阅读
- 三轴陀螺仪有什么用_三轴陀螺仪的作用 1.3w次阅读
- 详解三轴陀螺仪的技术原理 4795次阅读
- 三轴陀螺仪基本技术原理解析 3581次阅读
- 手机中的三轴陀螺仪 7547次阅读
下载排行
本周
- 1AN-1267: 使用ADSP-CM408F ADC控制器的电机控制反馈采样时序
- 1.41MB | 3次下载 | 免费
- 2AN158 GD32VW553 Wi-Fi开发指南
- 1.51MB | 2次下载 | 免费
- 3AN148 GD32VW553射频硬件开发指南
- 2.07MB | 1次下载 | 免费
- 4AN-1154: 采用恒定负渗漏电流优化ADF4157和ADF4158 PLL的相位噪声和杂散性能
- 199.28KB | 次下载 | 免费
- 5AN-960: RS-485/RS-422电路实施指南
- 380.8KB | 次下载 | 免费
- 6EE-249:使用VisualDSP在ADSP-218x DSP上实现软件叠加
- 60.02KB | 次下载 | 免费
- 7AN-1111: 使用ADuCM360/ADuCM361时的降低功耗选项
- 306.09KB | 次下载 | 免费
- 8AN-904: ADuC7028评估板参考指南
- 815.82KB | 次下载 | 免费
本月
- 1ADI高性能电源管理解决方案
- 2.43 MB | 450次下载 | 免费
- 2免费开源CC3D飞控资料(电路图&PCB源文件、BOM、
- 5.67 MB | 138次下载 | 1 积分
- 3基于STM32单片机智能手环心率计步器体温显示设计
- 0.10 MB | 130次下载 | 免费
- 4使用单片机实现七人表决器的程序和仿真资料免费下载
- 2.96 MB | 44次下载 | 免费
- 5美的电磁炉维修手册大全
- 1.56 MB | 24次下载 | 5 积分
- 6如何正确测试电源的纹波
- 0.36 MB | 18次下载 | 免费
- 7感应笔电路图
- 0.06 MB | 10次下载 | 免费
- 8万用表UT58A原理图
- 0.09 MB | 9次下载 | 5 积分
总榜
- 1matlab软件下载入口
- 未知 | 935121次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420062次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233088次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73810次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65988次下载 | 10 积分
电子发烧友App






创作
发文章
发帖
提问
发资料
发视频
上传资料赚积分
评论