LDC1314和LDC1312的使用

LDC1314和LDC1312的使用一、检测原理LDC1314的每个测量通道会连接一个LC谐振器,然后LDC1314驱动谐振器产生震荡,在LC谐振器的电感中会通过交流电,进而会产生电磁场。往这个电磁场中放入导体,导体表面会感应出涡流,涡流的大小与导体的大小、构成、与电磁场的距离有关。导体中的涡流也是交流,进而会产生它自己的磁场,并且与LC谐振器的电感产生的磁场相反,进而影响LC谐振器的震荡频率。LDC1314会不…

大家好,又见面了,我是你们的朋友全栈君。

一、检测原理

        LDC1314的每个测量通道会连接一个LC谐振器,然后LDC1314驱动谐振器产生震荡,在LC谐振器的电感中会通过交流电,进而会产生电磁场。往这个电磁场中放入导体,导体表面会感应出涡流,涡流的大小与导体的大小、构成、与电磁场的距离有关。导体中的涡流也是交流,进而会产生它自己的磁场,并且与LC谐振器的电感产生的磁场相反,进而影响LC谐振器的震荡频率。LDC1314会不停的测量LC振荡器的震荡频率,用户通过读取震荡频率就可以判断,是否有导体放入检测器中。

LDC1314和LDC1312的使用

二、LDC1314的时钟

LDC1314和LDC1312的使用

        如上图,LDC1312的主频fCLK可以使用外部的时钟也可以使用内部的时钟,通过REF_CLK_SRC寄存器来选择,对测量精度要求高的就可以使用外部时钟。fCLK经过分频输出fREF0、fREF1、fREF2、fREF3分别给4个测量通道使用,分频系数由CHx_FREF_DIVIDER决定。
        fSENSOR 是LC振荡器的振荡频率,在输入LDC1314后分频变为fIN0、fIN1、fIN2、fIN3。
        经过分频后得到的fREF和fIN,必须满足下表的关系:
LDC1314和LDC1312的使用

注:  

        1、LDC1314的内部时钟频率典型值为43.4MHz,但是最大可以到55MHz,最小可以到35MHz,波动范围比较大,很影响测量的精度。对测量要求高的应用,推荐使用稳定的外部时钟。

        2、fSENSOR的频率范围为:1KHz<fSENSOR<10MHz。

三、LDC1314的测量值

        LDC1314的测量值会保存在寄存器DATA_MSB_CHx中,有12位,通过IIC读取即可。

LDC1314和LDC1312的使用

        测量值的意义是LC振荡器与该通道参考频率的比值,再放大2的12次方倍。即:

LDC1314和LDC1312的使用

        因此LC的震荡频率可通过下面公式计算:

LDC1314和LDC1312的使用

        为了补偿频率偏移或最大化采样数据的动态范围,测量值DATAx应该减去一个偏移值,偏移值一般会小于fSENSORx_MIN / fREFx。偏移值使用OFFSET_CHx寄存器来设置。

LDC1314和LDC1312的使用

LDC1314和LDC1312的使用

         如上图,假如测量值有16位,如果Output_gain = 0x0,则DATA_CHx [11:0]会取这16位数据的高12位。如果Output_gain = 0x3,则DATA_CHx [11:0]会取这16位数据的低12位。

        比如测量值为0x07A3,如果Output_gain = 0x0,则DATA_CHx [11:0]取高12位得到0x07A。如果Output_gain = 0x3,则DATA_CHx [11:0]取低12位得到0x7A3。

        Output_gain的值需要根据自己的测量结果来调节。

LDC1314和LDC1312的使用

        考虑偏移和Output_gain 后,LC震荡频率计算公式变为:

LDC1314和LDC1312的使用

四、多通道和单通道

        多通道和单通道的测量过程对比:

LDC1314和LDC1312的使用

        因为LDC1314中只有一个测量器,当开启多个通道时也只能一个通道一个通道测量,因此多通道的测量过程包含3部分:sensor activation time + conversion time + channel switch delay。

1、sensor activation time通过寄存器SETTLECOUNT_CHx来设置

LDC1314和LDC1312的使用

        设置值的计算公式如下:

LDC1314和LDC1312的使用

        计算出的CHx_SETTLECOUNT值要向上取整,比如值为6.08,要取值7或更高。CH0_SETTLECOUNT值对应的实际时间用下面公式来得到:

LDC1314和LDC1312的使用

2、conversion time通过寄存器RCOUNT_CHx来设置:

LDC1314和LDC1312的使用

        根据测量结果需要多少个有效位来设置conversion time,比如需要13位,则2^13=8192=CHx_RCOUNT*16,因此CHx_RCOUNT取值0x200。CHx_RCOUNT值对应实际时间为:

LDC1314和LDC1312的使用

3、channel switch delay是固定的,一般取值:

LDC1314和LDC1312的使用

五、驱动电流控制

        驱动电流控制寄存器如下:

LDC1314和LDC1312的使用

        Auto-calibration模式是用来决定最优的驱动电流的,一般在调试的时候使用。

        auto-amplitude correction功能会让LDC1314通过调节驱动电流来保持LC震荡幅值处于1.2V到1.8V之间。当此功能打开后,由于驱动电流的调整,测量数据可能显示出非单调行为。此功能推荐使用在低精度的应用中。

        在LDC1314的4个通道中只有0通道的驱动电流可以大于1.5mA,其他3个通道的最大驱动电流为1.5mA。当LC振荡器的Rp低于1K,需要大于1.5mA的电流来驱动,此时就可以把它接到0通道,并且设置HIGH_CURRENT_DRV寄存器位来使能大电流驱动模式。

        如果LC振荡器的Rp值已知,则可以通过下图来直接选择IDRIVE的值。当IDRIVE=0,驱动电流为16 μA, 当IDRIVE = b11111,驱动电流为1563 μA。

LDC1314和LDC1312的使用

        IDRIVE值的设置是很重要的,要保证当被探测物体与LC距离最近,也就是Rp变得最小时,LC振荡器仍然能震荡起来。Rp与距离的变化关系:(测量条件:23 turns, 4-mil trace width, 4-mil spacing between traces, 1-oz copper thickness, FR4)

LDC1314和LDC1312的使用

 

 

六、状态寄存器和错误使能寄存器

        状态寄存器:

LDC1314和LDC1312的使用

LDC1314和LDC1312的使用

        如上所示, 获取LDC1314的错误和标志有两种方式,一种是读STATUS寄存器,一种是读DATA_CHx寄存器。STATUS寄存器可以获取到所有的错误和标志。DATA_CHx只能获取到量程错误、看门狗错误、幅值错误,但是可以在读取测量结果的时候就顺便获取到,因此很实用。

        STATUS寄存器和DATA_CHx寄存器中的错误状态显示以及INTB引脚的中断功能都由ERROR_CONFIG来控制:

LDC1314和LDC1312的使用

        当ERROR_CONFIG设置为0x0000,则即使发生错误,STATUS寄存器和DATA_CHx寄存器中的错误位也不会置位。

        当STATUS寄存器中的某位被置位后,该位会一直保持住,直到STATUS寄存器被读或DATA_CHx寄存器被读。被读后同时会取消INTB引脚的中断状态。

        以下操作都会取消中断状态:

1、进入Sleep模式。

2、Power-on reset (POR)

3、SD引脚拉高,进入Shutdown模式。

4、S/W reset

5、通过IIC读STATUS寄存器。

 

七、通道输入滤波器

LDC1314和LDC1312的使用

        LC振荡器输入LDC1314时可以添加一个滤波器,用于抑制EMI和高于传感器频率的振铃。一般抑制的频率稍微高于LC震荡频率即可,如震荡频率为2M,则选择MUX_CONFIG.DEGLITCH = b100 (3.3 MHz)。

八、CONFIG寄存器和MUX_CONFIG寄存器

LDC1314和LDC1312的使用

LDC1314和LDC1312的使用

LDC1314和LDC1312的使用

LDC1314和LDC1312的使用

        寄存器总表:

LDC1314和LDC1312的使用

九、LDC1314的工作模式

1、Startup模式

        LDC1314上电后会进入Sleep模式等待被配置。当配置完后,设置CONFIG.SLEEP_MODE_EN为0退出Sleep模式。无论工作在何种模式,要修改LDC的配置,都推荐进入Sleep模式。

2、Normal (Conversion)模式

        正常工作模式,周期性测量输入通道的震荡频率。

3、Sleep模式

       设置CONFIG.SLEEP_MODE_EN为1进入。设置CONFIG.SLEEP_MODE_EN为0退出。当退出,经过16384fINT个时钟后开始第一次测量。

4、Shutdown模式

        拉高SD引脚进入。

十、IIC通讯

        ADDR引脚拉低,IIC地址为0x2A。拉高,IIC地址为0x2B。时序如下,为标准的IIC时序。

LDC1314和LDC1312的使用

十一、设计LC振荡器

        使用TI提供的工具:https://webench.ti.com/wb5/LDC/#/spirals 

LDC1314和LDC1312的使用

        选择芯片型号和线圈的形状。

LDC1314和LDC1312的使用

        填入其他的线圈参数,该工具会自动计算线圈的电感、震荡频率等。利用Q值、L、C可以计算出Rp:

LDC1314和LDC1312的使用

        设计完后,输出给AD或Cadence即可。

LDC1314和LDC1312的使用LDC1314和LDC1312的使用

        效果如下:

LDC1314和LDC1312的使用LDC1314和LDC1312的使用

十二、寄存器参数初始配置

        假设LC振荡器的参数为:L = 43.9 μH, C = 100 pF,RP = 6.6 kΩ。fSENSOR = 1/( 2π√(LC) ) = 1/( 2π√(43.9*10^-6 * 100*10^-12) )= 2.4 MHz。LDC1314使用外部40M时钟,LC振荡器连接到0通道,则配置过程如下:

1、因为fSENSOR比较小(低于8.75 MHz),故可以不分频。设置CH0_FIN_DIVIDER为0x1,即fIN0 = fSENSOR = 2.4MHz。要求fREF0> 4 × fSENSOR。因此取fREF0为20M,设置CH0_FREF_DIVIDER为0x02。最终divider寄存器(地址0x14)赋值为0x1002。

2、设置通道0的settling time。使用公式:

LDC1314和LDC1312的使用

计算出Q=10。由CH0_SETTLECOUNT ≥ Q × fREF0 / (16 × fSENSOR0) 得到CH0_SETTLECOUNT =5.2,向上取整为6,考虑系统公差的裕度最终取值10。寄存器SETTLECOUNT_CH0(地址0x10)赋值为0x000A。

settle time=(10 x 16)/20,000,000 = 8 μs

3、通道0的switching delay为 ~1μs(当fREF = 20 MHz)。

4、设置conversion time。conversion time 为 : TSAMPLE – settling time – channel switching delay = 1000 – 8 – 1 = 991 μs。

根据公式Conversion Time (tC0)= (CH0_RCOUNTˣ16)/fREF0,计算CH0_RCOUNT=1238,因此CH0_RCOUNT寄存器(地址0x08) 赋值为0x04D6.

5、给ERROR_CONFIG 寄存器(地址0x19)赋值为默认值,即不使能任何中断。

6、设置驱动电流。使用Rp=6.6 kΩ,从下图读值。IDRIVE取值18。INIT_DRIVE取值0,因此DRIVE_CURRENT_CH0寄存器 (地址0x1E)赋值为0x9000

LDC1314和LDC1312的使用

LDC1314和LDC1312的使用

7、设置MUX_CONFIG寄存器。

设置AUTOSCAN_EN为1,使能多通道模式。

设置RR_SEQUENCE为0,使能2通道数据转换(通道0和1)。

设置DEGLITCH为b100,输入滤波频率为3.3MHz。

最终MUX_CONFIG寄存器(地址0x1B) 赋值为0x820C。

8、设置CONFIG寄存器。

设置ACTIVE_CHAN为 b00,选择通道0。

设置 SLEEP_MODE_EN 为b0 ,不进入SLEEP模式。
设置Set RP_OVERRIDE_EN 为b1,禁止auto-calibration功能。

设置SENSOR_ACTIVATE_SEL为b0, 当进入sensor activation time时,以全电流来驱动。

设置 AUTO_AMP_DIS为b1 ,禁止auto-amplitude correction功能。

设置REF_CLK_SRC field为 b1 ,使用外部时钟。

最后CONFIG 寄存器(地址0x1A)赋值为 0x1601。

十三、推荐初始配置

        LDC1314针对单通道和多通道也给出了推荐的配置:

1、单通道

LDC1314和LDC1312的使用

2、多通道

LDC1314和LDC1312的使用

LDC1314和LDC1312的使用

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/133716.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)


相关推荐

  • hdu 5077 NAND(暴力打表)

    hdu 5077 NAND(暴力打表)

  • 串行通信(USART/UART)「建议收藏」

    串行通信(USART/UART)「建议收藏」USART支持同步模式,因此USART需要同步始终信号USART_CK(如STM32单片机),通常情况同步信号很少使用,因此一般的单片机UART和USART使用方式是一样的,都使用异步模式。UART作为串口的一种,其工作原理也是将数据一位一位的进行传输,发送和接收各用一条线,因此通过UART接口与外界相连最少只需要三条线:TXD(发送)、RXD(接收)和GND(地线)**空闲位:**数据线在空闲状态的时候为逻辑“1”状态,也就是高电平,表示没有数据线空闲,没有数据传输。**起始位:**.

  • 网络攻防蓝军_网络攻防怎么学

    网络攻防蓝军_网络攻防怎么学永恒之蓝1.引言2.永恒之蓝定义3.SMB协议3.windows7版本说明4.攻击实例4.1攻击者和被攻击者展示4.2详细攻击过程4.3接下来尝试攻击一下windows105.参考文献1.引言让一个不爱学习的人整天蒙英语题,听张宇的视频实在是枯燥了点,于是决定看看网安,积累积累一些有趣的玩意儿。然后,自己不是专业的,也不是为了工作,可能会查阅大佬的博文,然后把概念借鉴过来,会留下参考链接的,如果博主不同意引用直接评论我会删除的。好,引用张宇一句话:直接来吧。

  • MySql Host is blocked because of many connection errors;

    MySql Host is blocked because of many connection errors;

  • mybatiscodehelperpro激活成功教程2.8.4_Mybatis框架

    mybatiscodehelperpro激活成功教程2.8.4_Mybatis框架#MyBatisCodeHelperPro2.9插件[2022最新有效]一、下载二、使用步骤1.引入库代码如下(示例):importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportseabornassnsimportwarningswarnings.filterwarnings(‘ignore’)importsslssl._create_default_https_contex

  • svm实现手写数字识别_数字识别

    svm实现手写数字识别_数字识别老师常说,在人工智能未发展起来之前,SVM技术是一统江湖的,SVM常常听到,但究竟是什么呢?最近研究了一下基于SVM技术的手写数字识别。你没有看错,又是手写数字识别,就是喜欢这个手写数字识别,没办法(¬∀¬)σ一、背景1.手写数字识别技术的含义2.手写数字识别技术的理论价值3.数字识别技术的难点二、SVM技术1.SVM方法简介2.线性可划分问题3.近似线性可分问题…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号