ADI 技术
直播中

俞舟群

8年用户 1091经验值
擅长:可编程逻辑 电源/新能源
私信 关注
[问答]

请问AD2S1210用SPI读写,SPI该如何配置?

为了用SPI向AD2S1210寄存器写入数据,我将官网例程改成如下:

void WriteToAD2S1210(unsigned char address, unsigned char data)
{
  unsigned char buf;

  //write control register address
  buf = address;

  SET_WR();
  delay(1);
  CLR_WR();
  delay(1);

  SpiaRegs.SPITXBUF = buf<<8;

  SET_WR();                //利用WR输入的上升沿予以锁存
  delay(1);
  //write control register address

  //write control register data
  buf = data;

  SET_WR();
  delay(1);
  CLR_WR();
  delay(1);

  SpiaRegs.SPITXBUF = buf<<8;

  SET_WR();                //利用WR输入的上升沿予以锁存
  delay(1);
  //write control register data
}

其中SPI配置为

void spi_init()
{
  SpiaRegs.SPICCR.all =0x0007;             // Reset on, SPI上升沿移出数据, 8-bit char bits
  SpiaRegs.SPICTL.all =0x0006;         // Enable master mode, normal phase,
                                                       // enable talk, and SPI int disabled.
  SpiaRegs.SPIBRR =0x0004;
  SpiaRegs.SPICCR.all =0x0087;         // Relinquish SPI from Reset
  SpiaRegs.SPIPRI.bit.FREE = 1;                // Set so breakpoints don't disturb xmission
}

想要改变激励频率 但是一直无法正确写入。

回帖(5)

黄鸿江

2018-7-31 07:47:43
参考数据手册fig32-34图,需要在配置模式下进行寄存器的读写
举报

jinlaiz

2018-8-16 16:50:42
您好,和ad2s1210的spi读写正常了吗?
举报

jinlaiz

2018-8-27 11:06:06
您好,最后读写正常了吗?
我用2812配置SPI读写也是不正常,但是用模拟IO读写正常。
1 举报
  • 飞鸟鸣: 你好,模拟IO口的话,时钟信号怎么来呢?

pascal116

2020-6-15 21:34:31
我也遇到了相同的问题,从示波器上观察SPI形态,是正常的,但是频率无法更新,不确定是不是配置还有哪个地方没弄清楚
1 举报
  • 飞鸟鸣: 你好,可以看一下您的程序嘛?你说的SPI形态是什么?示波器观测到的频率有变化吗?

更多回帖

发帖
×
20
完善资料,
赚取积分