关于ldc1000的spi通信的问题。
尊敬的TI员工:
您好!
我有一些关于ldc1000的spi通信的问题。
应用情况是spi16f887与ldc1000的spi通信
1.是否对于读、写,都是只需要把CSB变成低电平即可。
2.对于写操作,写地址时(例如写入0x05时)是否是在sclk上升沿传送数据,而在写入紧跟的数据时是否要换成在sclk下降沿传送数据。
3.对于读操作,是否是在sclk的下降沿传送数据。
4.对于读操作,是否是先通过spi16f887写入一个地址,(例如要读取0x05的值的话,则写入0x05|0x80),然后在读取一个空指令,从而在sdo口中可以读出寄存器的值。
很抱歉,对于ldc1000的使用我可能还没有理解,但很期盼能早日理解它的spi通信,望您百忙之中回复我。
Hi ,
LDC1000属于数据转换器,不是DSP。
给你转到那边论坛。
1. 是的。
2. 是的,上升沿锁存数据。是的,下降沿LDC1000输出数据
3. MCU端还是应该在上升沿读数据
4. 看一下第19页的图
没事,多看看协议图就知道了,后续有问题继续提问。
您好,很抱歉打扰您,我还想问您几个问题,很感谢!
1.对于ldc1000,是否是需要对寄存器先进行初始化才能读取数据,如果是的话,初始化是否有它的特定顺序。
2.我是用ccs作为编译器的,但是ccs有一些关于spi通信的函数我不太理解它的使用,如:
SETUP_SPI(),例:setup_spi(SPI_MASTER | SPI_H_TO_L | SPI_CLK_div_16)等等,请问:SPI_H_TO_L和SPI_XMIT_L_TO_H,分别是什么意思呢?
另外spi_write(add)+spi_read()是否就等于spi_read(add),其中add是地址。
十分感谢!
3.读程序:
如果要读地址0x05的值,程序这样写可以吗?PIN_C2是CSB,rtemp是读取的值
output_low(PIN_C2);
delay_us(4);
spi_write(0x05|0x80);
delay_us(200);
rtemp=spi_read();
delay_us(200);
output_high(PIN_C2);
很抱歉问题有点多,希望您在百忙之中能回复我,十分感谢!
1. 初始化顺序参考附件中的代码。
6355.snac059.zip
7065.interfacing LDC1000 with the MSP430 Launchpad.pdf
同时可以看着这个reference design,里面有代码参考
2. 这个函数和CCS没关系的,是取决于用的什么MCU和库函数。这两个定义要看库函数的说明书了,我也不晓得。
3. 真的要看库函数怎么搞的了额
麻烦您了,您回复我,我十分感动~我再继续琢磨,谢谢!
1.关于读写顺序和延时
我想问下,是否在写入一个数据时应该先写入地址,再写入数值,并且之间是否应该添加延时呢?
2.关于三个模式
LDC1000有三个模式,分别是:comparator mode,wake-up mode,DRDY mode;如果我只需要读出Proximity Data和Frequency Counter;是否不需要设置这三种模式呢?
3.关于时钟0x00
对于INTB Pin Configuration寄存器的初始化,是否设为0x03指的是在XIN和XOUT之间使用外部晶振呢?
4.关于read timing diagram这个图,是否第二行的时序图是CSB的?
5关于读指令
在程序中,我先写入(0x0b|0x80)意思是读指令(读取地址为0x0b寄存器的数值),并且在这之后传输一个空指令想要得到ldc1000的sdo口的值也就是地址为0x0b寄存器的数值,把这两步循环执行,用示波器观察,结果ldc1000的sdi口的波形图与写入的一致,但ldc1000的sdo口的波形图是类似于sdi口的波形,但比较乱,与期待的读到的数值0x01完全不同,不知道这是什么原因呢?
很感谢您能回答我的问题,祝您工作顺利,阖家欢乐!
1. 不用加延时的
2. 只是想度数据的话,这三个模式用任意一个就好了。这模式只是表示INT脚的触发模式,与LDC1000工作没关系
3. 你的意思我没理解,INTB Pin Configuration这个只是设置INTB脚的模式的
4. 是的
5. 波形比较乱是什么情况,是数据错误还是波形差呢?
关于波形比较乱,我怀疑是芯片我没有上电成功或者ldc1000是否有一些特殊的初始化,所以想问下您一下两个问题,抱歉打扰您了
1.ldc1000芯片管脚4是vio12是vdd,它们之间有什么区别吗?
2.芯片数据手册中有提到过在sdo上连上并联的10pf电容和10kΩ电阻,这是否是必须的呢?(芯片数据手册timing diagrams下的一段话)
很谢谢您!
想请教下一些问题
1.ldc1000的Vio是否可以接5v的电压,如果接了,会影响芯片的使用或者损坏芯片吗?
2.是否可以用msp430f5529的开发板直接进行程序调试?
3.附件中的文档讲得是LDC1000 SENT Bridge MSP-EXP430F5529LP based Getting Started,是否是用msp430f5529控制ldc1000的使用。
我能否使用msp430f5529的开发板连接上ldc1000,套用附件中提供的官方例程,实现ldc1000的Rp,和电感的测量。
4.msp430f5529能否控制数码管显示呢?
十分感谢您百忙之中回答我的问题!
你好,1、我想问的是对于写操作,上升沿锁存数据,下降沿输出数据,这个还是有点不明白啊,
2、这个ldc1000的ldclk可不可以接时钟源或晶振。
3、读取数据的时候,为啥时序图是下降沿读取,但是楼上说是上升沿读取数据,
你好,我自己焊接了LDC1000模块,与程序进行串口通讯时RP返回值是0,但是频率有返回值,不知道问题出在了哪里?如何才能确认硬件问题还是软件问题呢?
在连接线圈的端口接示波器显示的波形是半正弦波,能说明硬件没问题吗