TI中文支持网
TI专业的中文技术问题搜集分享网站

基于TMS320C6748平台,ADS131E04驱动问题

          小弟搞这个ADS131E04驱动已经有一段时间了,实在搞不定了才来此发帖,求各位大神帮帮忙。

 遇到问题如下:

                1、能通过SPI正常的写入数据、却不能正常的读出数据

                如下是一段从ADS131E04寄存器读出数据的程序,目的是从AD芯片地址为0x01到0x08寄存器里的内容读出来                         

                                  /****************************************************************************/
                                   /*                                                                                                                           */
                                  /*              从AD寄存器读出数据                                                                        */
                                  /*                                                                                                                           */
                                  /****************************************************************************/
                                  void Read_ADS131E04Reg()
                                  {
                                        unsigned int index=0;
                                         tx_data[0] = 0x21 ;//设置从CONFIG1寄存器所在地址为待配置寄存器的起始地址
                                          tx_data[1] = 0x07;//总共需要配置8个寄存器

                                       // 情况变量
                                      for (index = 2; index < 10; index++)
                                      {
                                        tx_data[index] =  0;
                                      }

                                     tx_len = rx_len = index;
                                     SPIDat1Config(SOC_SPI_0_REGS, (SPI_CSHOLD | SPI_DATA_FORMAT0), 0x4);
                                    SpiTransfer();
                                   }

              2、此外、Dout引脚为什么只有在片选引脚为高电平的状态时才输出高电平?

              3、判忙引脚为什么一直都处在高电平状态?

              4、哪位大神有写好的ADS131E04/06/08的驱动程序,分享一下呗,万分感谢

user151383853:

不能读, 应该是 SPI 的控制问题, 要注意 SPI 口的读写是同时进行的.

要读数据, 就得同时写数据.

Yunhui Wang:

回复 user151383853:

             您好!首先很感谢您的回复!

          您的意思,读和写是同时存在的,单说读是不太合理的,说SPI的控制更准确些?

          此外,我在输出数据时也有输入,只不过输入的是零,不知可否?

          

Martin:

有个问题: 你怎么判断你的SPI是正常写入了?

这个事标准的SPI接口,理论上说你能写入就能读出了!

参考数据手册Figure 1. Serial Interface Timing, Dout 不会在   片选引脚为高电平的状态时才输出高电平, 请检查你的硬件电路是否连接正常?

判忙引脚是指DRDY吗? 请检查 供电是否正常,CLK输入是否正常!

Martin:

回复 user151383853:

现成的程序可能比较难找,还是用示波器测试一下你的接口时序是否跟手册上建议的一致吧!

Yunhui Wang:

回复 Martin:

          您好!首先很感谢您的热情回复!

       1、        我判断我的SPI写入是否正常是通过用示波器观察输入引脚状态,图如下:

          

        这就是我1通道是时钟信号

                        2通道是输入引脚的状态(我写入的数据是0x11)

         难道上图不能判断我的SPI写入是正常的吗?

     2、我的输入输出引脚Dout一直是片选(/CS)引脚为高时输出高电平

    3、您让我检查电路连接是否正常的意思,我的引脚可能有虚焊等情况嘛?

   4、判忙引脚时/DRDY,按理说AD转换结束就应该从AD芯片输出低电平,但一直是高电平状态

  5、供电正常的,我测了。时钟应该正常啊,我上面那个附图难道不能证明您这个友情猜测吗?

赞(0)
未经允许不得转载:TI中文支持网 » 基于TMS320C6748平台,ADS131E04驱动问题
分享到: 更多 (0)