热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【LDC1314】电感传感器中文手册与检测原理介绍

关键词:LDC1314,电感传感器,金属传感器,中文手册【声明:本博文参考TI官方手册翻译而成,

关键词:LDC1314,电感传感器,金属传感器,中文手册

【声明:本博文参考TI官方手册翻译而成,旨在帮助大家快速了解这款芯片,如翻译有误欢迎评论指出,转载需注明来源!】


以下是我对TI官方手册的人肉翻译,截取了其中的关键部分,有助于大家更好的撸底层驱动和排查硬件问题。

相关博客:【LDC1314】金属传感器(电感传感器)的调试技巧

首先,是引脚位的定义与说明:


引脚引脚类型描述
脚位名称
1SCL输入IIC时钟输入;开漏输出;需要电阻上拉到逻辑高电平
2SDA输入/输出IIC数据输入输出;开漏输出;需要电阻上拉到逻辑高电平
3CLKIN输入外部参考时钟输入,如果使用芯片内部振荡器则连接到GND
4ADDR输入IIC地址选择端;当输入低电平则IIC地址为0x2A;当输入高电平则IIC地址为0x2B;此输入端不可悬空
5INTB输出可配置中断输出引脚;推挽输出;无需上拉
6SD输入强休眠(Shutdown)输入脚;低电平时为一般工作状态,高电平时进入休眠状态;此输入端不可悬空
7VDD正电源正极电源(+3.3V)
8GND负电源地电位
9IN0A模拟外部LC传感器0
10IN0B模拟外部LC传感器0
11IN1A模拟外部LC传感器1
12IN1B模拟外部LC传感器1
13IN2A模拟外部LC传感器2
14IN2B模拟外部LC传感器2
15IN3A模拟外部LC传感器3
16IN3B模拟外部LC传感器3
17DAP固定连接到地电位

供电部分


  • 正常情况在+3.3V下工作;
  • 典型工作电流 2.1mA;
  • 休眠(SLEEP_MODE_EN=b1)模式最大 60uA;
  • 强休眠(SD = Vdd)最大 1uA

传感器部分


  • 传感器最大电流驱动 1.5mA(HIGH_CURRENT_DRV = 0)
  • 传感器电阻Rp = 1~100kΩ
  • 高电流驱动模式(仅限通道0)最大电流 6mA(HIGH_CURRENT_DRV = 1 )
  • 传感器谐振频率1KHz~10MHz
  • 最大振幅1.8V
  • 最高精度12bit
  • 最大采样率(单通道持续转换,IIC时钟频率@400kHz)为13.3ksps
  • 传感器引脚输入电容约为4pF

数字信号引脚部分


  • INTB引脚低电平≤0.4V
  • INTB引脚高电平≥2.4V

I2C通讯部分(节选)


  • 时钟频率10kHz~400kHz

综述

        LDC1314是一种电感-数字转换器(LDC),用于测量多个LC谐振器的谐振频率。该装置输出与频率成比例的数字值,有12位精度,测得的频率可以换算成等效电感值,或者用来测量可导电物体的运动,内部时钟可以减少系统功耗,外接时钟可以改善测量噪声,每个通道的测量转换时都可以设置,长转换时间可以提供更高的测量精度。对器件的配置通过 400 kbit/s 的 I2C总线配置,ADDR可选择I2C地址,唯一必要的外部元件是旁路电容和I2C的上拉电阻。

功能块示意图


  • 传感器的谐振频率为ƒSENSOR,芯片的参考时钟频率为ƒREF,测量得到的数字量 = K* (ƒSENSOR/ƒREF),K>0
  • SD拉高可使芯片进入强休眠模式以降低功耗
  • INTB可以被配置用来通知主机返回芯片的系统状态改变

多通道和单通道


  • LDC1314可以配置单通道持续采样或者多通道序列采样
  • 当工作在多通道模式下,芯片会持续序列采样被选中的多个通道;
  • 当工作在单通道模式下,芯片会连续采样被选中的通道。

可调节的转换时间


  • 转换时间长则测量精度高,转换时间可以设置为3.2us~26.2ms(一个16位寄存器)

数字信号增益


  • 输出只有12位精度,但是内部信号支持通过增益设置产生16位输出
  • 传感器启动与故障配置
  • 为了最小化噪声影响,传感器开始测量应该确保在传感器振幅稳定之后,芯片提供每个通道一个可调的的启动时间(1.2us~26.2ms)通过 SETTLECOUNTx 寄存器
  • 芯片提供一个内部滤波器,以减弱来自外部噪声源的干扰

参考时钟


  • 芯片内部时钟为43MHz,如需高精度测量,请使用外部晶振
  • 芯片提供数字分频器给参考时钟和传感器输入,确保频率可以被LDC核接受,每个通道都有一个分频器
  • 更高的参考频率提供更高的采样精度和采样率

传感器电流驱动控制


  • 传感器线圈工作有损耗,需要芯片的能量注入来维持传感器振幅恒定,芯片通过一个匹配LC振荡器频率的交变电流提供能量
  • 必须设置驱动电流大小以确保振幅在1.2V~1.8V
  • 每个通道通过 IDRIVEx 寄存器可以独立设置电流大小为16uA~1.6mA
  • 芯片也可以自主决定合适的电流等级,甚至动态的调节电流通过 RP_OVERRIDE_EN  功能

传感器状态监视器


  • 芯片支持将传感器状态通过I2C接口传出,传出条件:

  1. 传感器振幅超范围
  2. 传感器未起振
  3. 新转换数据就绪
  4. 转换出错

设备功能模式


  • 启动模式
    • 芯片上电,会进入休眠模式等待配置,一旦设备配置完成(设置CONFIG.SLEEP_MODE_EN = b0)将退出休眠开始转换
    • 推荐在休眠模式配置参数,配置完毕退出休眠模式
  • 休眠模式
    • 通过设置CONFIG.SLEEP_MODE_EN = b1 进入此模式
    • 在此模式设备配置会保存,但不会开始转换
    • 设置完成后,设置CONFIG.SLEEP_MODE_EN = b0 进入工作模式,注意,第一次转换在16384÷ƒINT(其实就是16384个转换周期) 后开始
    • 在休眠模式中读写寄存器均能生效,但在进入休眠模式时会清除所有转换结果,错误情况,以及重新配置INTB引脚
  • 一般模式
    • 在此模式,芯片会按照设置重复采样
  • 强休眠模式
    • SD = H 时,芯片进入强休眠模式,这是最低功耗状态
    • SD = H->L时,芯片退出强休眠模式,进入休眠模式,并将所有寄存器恢复默认值
    • 允许在此模式修改ADDR引脚
  • 复位 
    • RESET_DEV.RESET_DEV = b1 时设备复位,转换立即停止,所有寄存器恢复默认,这个寄存器比特位永远只会读到0
  • 编程
    • 芯片通过I2C接口访问和控制寄存器,推荐的配置过程是进入休眠模式,设置合适的寄存器值,再进入工作模式
    • 转换结果寄存器必须在工作模式读取

寄存器地址


ADDRESS

NAME

DEFAULT VALUE

DESCRIPTION 

0x00

DATA0

0x0000

Channel 0 Conversion Result and Error Status

0x02

DATA1 

0x0000

Channel 1 Conversion Result and Error Status

0x04

DATA2

0x0000

Channel 2 Conversion Result and Error Status (LDC1314 only)

0x06

DATA3 

0x0000

Channel 3 Conversion Result and Error Status (LDC1314 only)

0x08

RCOUNT0

0x0080

Reference Count setting for Channel 0

0x09

RCOUNT1

0x0080

Reference Count setting for Channel 1

0x0A

RCOUNT2

0x0080

Reference Count setting for Channel 2. (LDC1314 only)

0x0B

RCOUNT3

0x0080

Reference Count setting for Channel 3.(LDC1314 only)

0x0C

OFFSET0 

0x0000

Offset value for Channel 0

0x0D

OFFSET1 

0x0000

Offset value for Channel 1

0x0E

OFFSET2 

0x0000

Offset value for Channel 2 (LDC1314 only)

0x0F

OFFSET3 

0x0000

Offset value for Channel 3 (LDC1314 only)

0x10

SETTLECOUNT0 

0x0000

Channel 0 Settling Reference Count

0x11

SETTLECOUNT1

0x0000r_

Channel 1 Settling Reference Count

0x12

SETTLECOUNT2

0x0000

Channel 2 Settling Reference Count (LDC1314 only)

0x13

SETTLECOUNT3 

0x0000

Channel 3 Settling Reference Count (LDC1314 only)

0x14

CLOCK_DIVIDERS0

0x0000

Reference and Sensor Divider settings for Channel 0

0x15

CLOCK_DIVIDERS1

0x0000

Reference and Sensor Divider settings for Channel 1

0x16

CLOCK_DIVIDERS2

0x0000

Reference and Sensor Divider settings for Channel 2 (LDC1314 only)

0x17

CLOCK_DIVIDERS3

0x0000

Reference and Sensor Divider settings for Channel 3 (LDC1314 only)

0x18

STATUS 

0x0000

Device Status Report

0x19

ERROR_CONFIG

0x0000

Error Reporting Configuration

0x1A

CONFIG

0x2801

Conversion Configuration

0x1B

MUX_CONFIG 

0x020F

Channel Multiplexing Configuration

0x1C

RESET_DEV

0x0000

Reset Device

0x1E

DRIVE_CURRENT0 

0x0000

Channel 0 sensor current drive configuration

0x1F

DRIVE_CURRENT1 

0x0000

Channel 1 sensor current drive configuration

0x20

DRIVE_CURRENT2 

0x0000

Channel 2 sensor current drive configuration (LDC1314 only)

0x21

DRIVE_CURRENT3 

0x0000

Channel 3 sensor current drive configuration (LDC1314 only)

0x7E

MANUFACTURER_ID 

0x5449

Manufacturer ID

0x7F

DEVICE_ID

0x3054

Device ID

应用与实施

时变电磁场中的导体

        交变电流流过感应器(及线圈,之后都称之为线圈)将产生一个交变磁场,如果一个导体材料,例如一块金属物体,被放入线圈附近,磁场会在金属物体表面引发涡流(环形电流)。

        涡流的大小是导体距离、尺寸和材料成分的函数。涡流会产生自己的磁场,与传感器线圈形成的原磁场相反,这种效果相当于一组变压器(耦合电感器),其中传感器线圈是初级绕组,物体上的涡流形成次级绕组。电感器之间的耦合是线圈感值,以及金属物体的电阻率、距离、大小和形状的函数。

二次绕组的阻抗可建模为与距离相关的模型并等效到一次侧(线圈)上

振荡器可以看做一个频率选择电路和一个闭环增益模块的组合,只要满足:(1)增益>1;(2)闭环相移为2π

谐振频率

 

其中

Rp是工作频率下LC谐振器的交流并联电阻。

传感器激活过程


  • 芯片提供两种选择,减少等幅震荡建立时间或减少电流以降低功耗
  • SENSOR_ACTIVATE_SEL =b0 使用最大电流激发振荡,在已经配置最大电流时(IDRIVEx = b11111)没有变化

 

 

 


推荐阅读
  • 本文详细探讨了在ASP.NET环境中通过加密数据库连接字符串来提升数据安全性的方法。加密技术不仅能够有效防止敏感信息泄露,还能增强应用程序的整体安全性。文中介绍了多种加密手段及其实施步骤,帮助开发者在日常开发过程中更好地保护数据库连接信息,确保数据传输的安全可靠。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 本文探讨了如何通过编程手段在Linux系统中禁用硬件预取功能。基于Intel® Core™微架构的应用性能优化需求,文章详细介绍了相关配置方法和代码实现,旨在帮助开发人员有效控制硬件预取行为,提升应用程序的运行效率。 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 在Cisco IOS XR系统中,存在提供服务的服务器和使用这些服务的客户端。本文深入探讨了进程与线程状态转换机制,分析了其在系统性能优化中的关键作用,并提出了改进措施,以提高系统的响应速度和资源利用率。通过详细研究状态转换的各个环节,本文为开发人员和系统管理员提供了实用的指导,旨在提升整体系统效率和稳定性。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • PHP预处理常量详解:如何定义与使用常量 ... [详细]
  • Squaretest:自动生成功能测试代码的高效插件
    本文将介绍一款名为Squaretest的高效插件,该工具能够自动生成功能测试代码。使用这款插件的主要原因是公司近期加强了代码质量的管控,对各项目进行了严格的单元测试评估。Squaretest不仅提高了测试代码的生成效率,还显著提升了代码的质量和可靠性。 ... [详细]
  • 手指触控|Android电容屏幕驱动调试指南
    手指触控|Android电容屏幕驱动调试指南 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • Android Studio 安装指南:详细步骤与常见问题解答
    Android Studio 安装指南:详细步骤与常见问题解答 ... [详细]
  • 深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案
    深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案 ... [详细]
  • 今天我开始学习Flutter,并在Android Studio 3.5.3中创建了一个新的Flutter项目。然而,在首次尝试运行时遇到了问题,Gradle任务 `assembleDebug` 执行失败,退出状态码为1。经过初步排查,发现可能是由于依赖项配置不当或Gradle版本不兼容导致的。为了解决这个问题,我计划检查项目的 `build.gradle` 文件,确保所有依赖项和插件版本都符合要求,并尝试更新Gradle版本。此外,还将验证环境变量配置是否正确,以确保开发环境的稳定性。 ... [详细]
author-avatar
ruishao520
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有