文档库

最新最全的文档下载
当前位置:文档库 > 【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

杭州艾研信息技术有限公司 目录

1

LDC1000 简介 .......................................................................................................................... 2 2 单片机连接 LDC1000 .. (3)

2.1

硬件连接 .......................................................................................................................... 3 2.2 使用 F5529LP 控制 LDC1000 . (3)

2.2.1 程序下载 (4)

2.2.2

SPI 通讯 .................................................................................................................... 7 SPI 初始化 . (7)

SPI 读写 (7)

2.2.3

SPI 扩展通信模式 .................................................................................................... 9 2.2.4

数据处理 .................................................................................................................. 9 2.3 使用 TivaM4 控制 LDC-1000 .. (10)

2.3.1 程序下载 (11)

2.3.2

函数说明 ................................................................................................................ 14 3

寄存器设置及数据处理 ....................................................................................................... 17 3.1

RpMIN 和 RpMAX 值设定 ............................................................................................. 17 3.2

Rp 值计算公式 .............................................................................................................. 18 3.3

电感计算公式 ................................................................................................................ 18 3.4

输出数据速率 ................................................................................................................ 19 4 电路设计注意点 . (20)

4.1

滤波电容选择(CFA 和 CFB 管脚管脚间) ................................................................. 20 4.2 EVM 板掰开的方式 . (20)

5 附录 (21)

5.1

LDC1000 电感检测原理 ................................................................................................ 21 5.2

使用 LDC1000 测量并联谐振阻抗和电感.................................................................... 23 5.3 参数计算 (25)

5.3.1 Rp 的 Min 和 Max 值计算 (25)

5.3.2

Rp 的 Min 和 Max 值电路意义分析 ..................................................................... 26 6 原理图 .. (27)

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

1LDC1000 简介

LDC1000 是世界首款电感到数字转换器。提供低功耗,小封装,低成本的解决方案。它

的SPI 接口可以很方便连接MCU。LDC1000 只需要外接一个PCB 线圈或者自制线圈就可以实现非接触式电感检测。LDC1000 的电感检测并不是指像Q 表那样测试线圈的电感量,而是可

以测试外部金属物体和LDC1000 相连的测试线圈的空间位置关系。

利用LDC1000 这个特性配以外部设计的金属物体即可很方便实现:水平或垂直距离检测;角度检测;位移监测;运动检测;振动检测;金属成分检测(合金检测)。可以广泛应用在汽车、消费电子、计算机、工业、通信和医疗领域。

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

http://www.wendangku.net/doc/7e27a35802020740be1e9b5a.html 3

杭州艾研信息技术有限公司

http://www.wendangku.net/doc/7e27a35802020740be1e9b5a.html

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

2.1 硬件连接

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

图 1 LDC1000 与 MCU 的连接原理图

LDC-1000 与 MCU 的连接原理图如图 1 所示。采用了四线制 SPI 连接方式,信号线的具体 定义如表 1 所示。 M CU 通过 SPI 连接( S DI 、 S DO 、 S CLK

、 C SB )实现对 LDC-1000 的控制, 以及数据读取。在 SPI 通信过程中, L DC-1000 扮演 从机( S lave

)的角色。 2.2 使用 F5529LP 控制 LDC1000

杭州艾研信息技术有限公司

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

http://www.wendangku.net/doc/7e27a35802020740be1e9b5a.html 5

按上述描述进行硬件连接,连接时可先焊接2*5的双排排母(EVM 包装袋中自带)到EVM 板

上,再用杜邦线将排母连接到F5529LP 的相应管脚上,连接完成后,用万用表测试连通性。

确保连通性后再通过 USB 线将 F5529LP 与电脑连接。如果是第一次连接F5529LP 到电脑,将

会出现驱动安装的提示,安装驱动(若后续 CCS 下载程序时提示找不到设备,检查驱动是否

安装完成)。如正确安装驱动,在Windows 系统的设备管理器中会看到如图 3 设备管理器标识:

http://www.wendangku.net/doc/7e27a35802020740be1e9b5a.html

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

图3 设备管理器

2、打开CCS (V5 版本),单击“Project->Import existing CCS eclipse project ”,如图4 所示。选择实验例程所在的文件夹,将示例工程导入(图5 )。注意:实验例程所在的文件夹的目录不能有中文字符,因为CCS只接受8位ASCII的文件名及文件路径。

杭州艾研信息技术有限公司

图4 导入工程的菜单选项

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

http://www.wendangku.net/doc/7e27a35802020740be1e9b5a.html 7

图 6 Build Project

4、单击“Debug ”将程序下载至板卡,单击“Run ”运行代码(图 7)。

图 5 导入 LDC1000 例程

3 、在工程项目上,右击,点击“ B uild Project

”编译 ( 图 6 )

杭州艾研信息技术有限公司

http://www.wendangku.net/doc/7e27a35802020740be1e9b5a.html

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

在参考程序中定义了如下所示的几个函数,可直接进行SPI 的读写。

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

9

图 8 LDC1000 SPI 读写时序

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

对上述函数进行调用时,函数参数值的选定应根据

LDC1000 的S PI 通信协议(即

SPI 通信

的时序,时序图如图

8 所示)。在主机430)

( M SP 与从机1000)

LDC

( 通讯的时候,遵循以下步

骤:

1. 片选信号置零;

2. MSP430 通过SDI 线向LDC1000 写入访问寄存器地址,其中最高位

0 表示写入,

1

表示读出,剩余

7 位为寄存器的地址;

3. 步骤2 过程占据8 个时钟周期,该时间内

SDO 线处于高阻状态;

4. 如果命令为读,即步骤

1 中传输的数据最高位为

1 ,SDO 线上发送来自其地址寄存

器的8 位字节;

5. 如果命令为写,

SDI 线接收来自

MSP430 的8位字节数据写入相应的寄存器中;

6. 片选信号置高,释放对该从机的控制。

杭州艾研信息技术有限公司

http://www.wendangku.net/doc/7e27a35802020740be1e9b5a.html

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

片选信号CSB 的置位意味着新的寄存器访问。数据输出在时钟的下降沿发生,数据的写入在时钟的上升沿发生。需要注意,片选信号的复位必须保证在数据读取/写入完全完成后,即第16 个时钟的上升沿,否则该次数据的读写无效。

LDC1000_cmd.h 内对LDC1000 的寄存器地址及对应的位进行了定义。在编写程序时可以进

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

http://www.wendangku.net/doc/7e27a35802020740be1e9b5a.html

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

11

在例程中对 LDC1000 的读写如上图所示。首先依次按照设定对 LDC1000 的寄存器写入对应

的控制字(可参考 LDC1000datasheet 中关于寄存器的描述)。利用例程提供的

spi_readBytes 函数可以一次性将所有寄存器内的值全部读出。

其中用户关心两个值, R p 和 Frequency

,通过前者我们可以推算出金属的距离,而后者可 以计算得到电感值。

而 Rp 和 frequency 分别占用了 2 个和 3 个寄存器,也就是说 Rp 为 16 位, F requency 为 24

位。用户可以参考例程的方法分别读取完整的等效电阻和频率值。注意,例程中仅读取了

频率的低 16 位。

具体 Rp 与电感的计算方法及公式参考本文档 3 寄存器设置及数据处理

章节。 2.3 使用 TivaM4 控制 LDC-1000

TIVA 控制 LDC1000 的硬件连接如下图所示。

http://www.wendangku.net/doc/7e27a35802020740be1e9b5a.html

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

http://www.wendangku.net/doc/7e27a35802020740be1e9b5a.html 13

http://www.wendangku.net/doc/7e27a35802020740be1e9b5a.html

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

注意:在该例程中使用了 TivaWare 软件,所以在使用前先确保电脑上已安装 TivaWare 。

图 9 导入工程 单击“ b uild ”编译,完成后单击“ D ebug ”进行程序下载。

图 10 编译工程

杭州艾研信息技术有限公司

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

http://www.wendangku.net/doc/7e27a35802020740be1e9b5a.html 15

如果编译无法通过,请检查以下步骤:

图 11 包含路径设置同上,进行

link 路径库文件路径的检查

杭州艾研信息技术有限公司

http://www.wendangku.net/doc/7e27a35802020740be1e9b5a.html

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

http://www.wendangku.net/doc/7e27a35802020740be1e9b5a.html 17

图 13 时序示意

SPI 的读写时序同上 MSP430F5529

, L DC-SPI 协议。 通信时遵循以下步骤:

1.

片选信号置低; 2.

TIVA 通过 SDI 线向 LDC1000 写入访问寄存器地址,其中最高位 0 表示写入, 1 表 示读出,剩余 7 位为寄存器的地址; 3. 如果命令为读,即步骤 1 中传输的数据最高位为 1 , S DO 线上发送来自其地址寄

存器的 8 位字节;如果命令为写, S DI 线接收来自 TIVA 的 8 位字节数据写入相应

的寄存器中。

杭州艾研信息技术有限公司

http://www.wendangku.net/doc/7e27a35802020740be1e9b5a.html

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

杭州艾研信息技术有限公司

LDC1000 写寄存器操作

LDC1000 数据读操作

/********************************************************************

* @brief : 使用SPI 读取LDC1000中的数据

* @param: none

* @return: none

*********************************************************************/ void LDCRead ()

{

//写入将要读取的Proximity Data LSB 寄存器地址(0x21)

SPIDataSend ((LDC1000_CMD_PROXLSB |SPI_RWBIT )<<8); //读取上述寄存器中的值,并存入DataRcv[0] SSIDataGet (SSI2_BASE ,&DataRcv [0]); ProximityData |= DataRcv [0] ;

//写入将要读取的Proximity Data MSB 寄存器地址(0x22)

SPIDataSend ((LDC1000_CMD_PROXMSB |SPI_RWBIT )<<8); //读取上述寄存器中的值,并存入DataRcv[1]

SSIDataGet (SSI2_BASE ,&DataRcv [1]);

ProximityData |= (DataRcv [1]<<8) ;

//写入将要读取的Frequency Counter Data LSB 寄存器地址(0x23)

SPIDataSend ((LDC1000_CMD_FREQCTRLSB |SPI_RWBIT )<<8);

//读取上述寄存器中的值,并存入DataRcv[2]

SSIDataGet (SSI2_BASE ,&DataRcv [2]);

FrequencyData |= DataRcv [2] ;

//写入将要读取的Frequency Counter Data Mid-Byte 寄存器地址(0x24)

SPIDataSend ((LDC1000_CMD_FREQCTRMID |SPI_RWBIT )<<8);

//读取上述寄存器中的值,并存入DataRcv[3]

SSIDataGet (SSI2_BASE ,&DataRcv [3]);

FrequencyData |= (DataRcv [3]<<8) ;

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

http://www.wendangku.net/doc/7e27a35802020740be1e9b5a.html

【可编辑】Unlock-AY-LDC1000_用户手册-V1.0

19

杭州艾研信息技术有限公司

//写入将要读取的Frequency Counter Data MSB 寄存器地址(0x25)

SPIDataSend ((LDC1000_CMD_FREQCTRMSB |SPI_RWBIT )<<8);

//读取上述寄存器中的值,并存入DataRcv[4]

SSIDataGet (SSI2_BASE ,&DataRcv [4]);

LDC1000 需要外部加时钟方可工作,采用 TIVA 的定时器输出作为时钟。定时器的配置如下。

/********************************************************************

*

@brief: Timer 初始化 *

@param : none *

@return: none *

_____________ _______________ *

| | *

Tiva M4 |PB0(Timer CLK) ----> TBCLK| LDC1000 *

_____________| |______________ *********************************************************************/ void TimerInit () {

TimerDisable (TIMER2_BASE ,TIMER_A ); //禁能timer

GPIOPinTypeTimer (GPIO_PORTB_BASE ,GPIO_PIN_0); GPIOPinConfigure (GPIO_PB0_T2CCP0); //配置PB0为CCP 模式

HWREG (TIMER2_BASE + TIMER_O_CFG ) = 0x04; //选择16-bit timer

//配置TimerA 周期计数(Periodic Timer mode)

HWREG (TIMER2_BASE +TIMER_O_TAMR )|=

(TIMER_TAMR_TAAMS |TIMER_TAMR_TAMR_PERIOD ) ;

//加载Timer 计数值:40,并且设置Match 值:20(Timer 默认为减计数)

HWREG (TIMER2_BASE + TIMER_O_TAMATCHR ) = 20;

TimerLoadSet (TIMER2_BASE ,TIMER_A ,40);

TimerEnable (TIMER2_BASE ,TIMER_A ); //使能

Timer }