已回答假定已回答

关于ADIS16488A的中断问题

wmyan2010 在 2014-8-20 詢問的問題
最後回覆由adi_rock於2014-9-2提供

最近使用FPGA编写SPI协议对ADIS16488A进行数据采集,遇到了一些问题。

关于ADIS16488A的中断,ADI官方中英文手册都提及出厂默认使用DIO引脚提供数据就绪信号,当输出数据寄存器中有新数据可用时,该引脚变为高电平。

我的做法是当DIO2上升沿到来时刻,顺序读取三轴陀螺仪数据、加表数据、三轴磁力计、气压计和内部温度,总共11组数据。但是我发现在我通过SPI按序读取这11个寄存器(只读取各数据的高16位寄存器)时,中间DIO2的电平会发生跳变,导致我数据还没有全部读取完成,变进行了下一轮中断操作。

一开始我认为是我的SPI时钟跑得太慢了,来不及ADIS16488A的中断更新,但是当我把SPI时钟提高以后,发现DIO2的中断信号变得不正常,出现短周期集中的中断电平跳变,如下图所示:

21.PNGspi时钟为:50khz,irq为中断请求信号,发生高脉冲的跳变

1.PNGspi时钟为:10khz,irq发生3次跳变

问题:

     1.产生该现象的原因是什么呢?

     2.ADIS16488A的中断产生机制是怎样的?

          是:(1)只要有一个数据寄存器有新数据便产生中断请求,例如当X_GYRO_OUT寄存器更新,Y_GYRO_OUT寄存器没有更新,此时产生中断;

                 (2)还是所有的数据寄存器更新完毕统一一个中断请求?

       如果是(1)请问如何通过中断请求来判别是哪个数据寄存器的数据更新了?

       如果是(2)请问ADIS16488A的数据更新率是不是有固定周期的?即中断请求是否具有周期性,也可以说该器件数据更新率是不是固定的,如果固定的话,该如何获知这个固定频率值?

 

谢谢

結果