微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > LDC1000的spi通信问题

LDC1000的spi通信问题

时间:10-02 整理:3721RD 点击:

尊敬的TI员工:

       您好!

          对于ldc1000的spi通信我有以下几个问题:

         应用情况是spi16f887与ldc1000的spi通信
        1.是否对于读、写,都是只需要把CSB变成低电平即可。
         2.对于写操作,写地址时(例如写入0x05时)是否是在sclk上升沿传送数据,而在写入紧跟的数据时是否要换成在sclk下降沿传送数据。
         3.对于读操作,是否是在sclk的下降沿传送数据。
         4.对于读操作,是否是先通过spi16f887写入一个地址,(例如要读取0x05的值的话,则写入0x05|0x80),然后在读取一个空指令,从而在sdo口中可以读出寄存器的值。
         很抱歉,对于ldc1000的使用我可能有些误解,但很期盼能早日理解它的spi通信,望您百忙之中回复我。

        

       

All output data is driven on the falling edge of the serial clock (SCLK), and all input data is sampled on the rising edge of the serial clock (SCLK).

这是手册上的一句话, 和图一起看着令人迷惑. 其实它下降沿输出是为了你上升沿能够接收到稳定数据, 所以, 还应该在上升沿读取数据.

        很感谢您,您的回答对我帮助很大!

       

您好,很抱歉打扰您,我还想问您几个问题,很感谢!
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的值,程序这样写可以吗?

               output_low(PIN_C2);
               delay_us(4);
               spi_write(0x05|0x80);                    
               delay_us(200);
               rtemp=spi_read();
               delay_us(200);
               output_high(PIN_C2);
很抱歉问题有点多,希望您在百忙之中能回复我,十分感谢!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top