基于spi接口的多mems传感器快速数据存取系统及方法_3

文档序号:9910177阅读:来源:国知局
该MEMS传感器输出的这些第二数据。
[0045]MEMS加速引擎还包括缓存地址自动累加控制模块,其可以简化MEMS控制器配置MEMS传感器的配置信息,具体地为,简化对其中的发送缓存地址和所述接收缓存地址的配置操作。使用缓存地址自动累加控制模块后,可以仅配置按上述优先级控制模块设置的这N个MEMS传感器的顺序的第一个MEMS传感器的发送缓存地址和接收缓存地址,其他MEMS传感器的发送缓存地址和接收缓存地址可以根据其前一个MEMS传感器的发送缓存地址和接收缓存地址、第一数据和第二数据的大小以及第一传输个数和第二传输个数计算得到。例如,对于按照上述顺序的第i个MEMS传感器,i为自然数且I e [2,N]:
[0046]其发送缓存地址AizA1-1+Sl1-1XNl1-l.,其中,第1-1个MEMS传感器的发送缓存地址为Ah,第1-Ι个MEMS传感器的第一数据的大小为SIh,第1-Ι个MEMS传感器的配置信息中的第一传输个数为Nl1-1;
[0047]其发送缓存地址01 = 0^1+32^1\吧^1,其中,第1-1个1^1^传感器的接收缓存地址为Dh,第1-Ι个MEMS传感器的第二数据的大小为S21-1,第1-Ι个MEMS传感器的配置信息中的第二传输个数为N21-u
[0048]各个MEMS传感器的第一数据的大小彼此可以相同,也可以不同。各个所述MEMS传感器的所述第二数据的大小彼此可以相同,也可以不同,
[0049]如图2所示,MEMS加速引擎还包括冲突检测模块,当有两个以上的MEMS控制器同时接收到上述第二定时信号或第二使能信号时,冲突检测模块判断发生输出冲突,并使这两个以上的MEMS控制器按照上述的顺序将对应的两个以上的MEMS传感器输出的第二数据存储到接收缓存中。
[0050]在本实施例中,上述N个MEMS控制器从发送缓存中发出的第一数据是并行数据,需要由SPI总线控制器将其转换成串行数据(串行SPI数据)后再写入这N个MEMS传感器的寄存器;另外,这N个MEMS传感器输出的多个第二数据是串行数据,需要SPI总线控制器将其转换成并行数据后再由这N个MEMS控制器将其存储到接收缓存中。
[0051 ]图3示出了在一个较佳的实施例中,采用本发明的基于SPI接口的多MEMS传感器快速数据存取系统,应用本发明的基于SPI接口的多MEMS传感器快速数据存取方法的流程,具体地,其中示出了对3个MEMS传感器MEMS1、MEMS2和MEMS3的数据存取操作:
[0052]首先将这3个MEMS传感器连接到SPI总线的SPI接口,由此连接到SPI总线控制器;
[0053]M⑶将其要写入这3个MEMS传感器的第一数据通过系统总线写入发送缓存;
[0054]MEMS加速引擎启用三个MEMS控制器和三个MEMS定时器;MEMS加速引擎的优先级控制模块根据MCU将上述这些第一数据写入发送缓存的顺序设定这3个MEMS传感器的顺序,如为MEMSl、MEMS2和MEMS3 ;MEMS加速引擎使这三个MEMS控制器与MEMS传感器MEMS1、MEMS2和MEMS3——对应;
[0055]然后,三个MEMS控制器分别配置与其对应的一个MEMS传感器的配置信息,具体地包括,配置MEMS传感器MEMSI的发送缓存地址4工、接收缓存地址D1、第一传输个数NI ι、第二传输个数Nl2和输出第二数据的时间(即定时触发时间汸,配置MEMS传感器MEMS2的第一传输个数NI2、第二传输个数NI2和输出第二数据的时间(即定时触发时间)T2,配置MEMS传感器MEMS3的第一传输个数Nl3、第二传输个数Nl3和输出第二数据的时间(即定时触发时间)T3 ;MEMS加速引擎的缓存地址自动累加控制模块计算获得MEMS传感器MEMS2和MEMS2的发送缓存地址和接收缓存地址;
[0056]然后,三个MEMS控制器根据其对应的MEMS传感器的配置信息,从发送缓存中的相应的发送缓存地址将其第一数据通过SPI总线控制器发送给该MEMS传感器;MEMS控制器发出的数据是并行数据,SPI总线控制器需要将其转换为串行SPI数据后,将其经由SPI总线写入该MEMS传感器的寄存器;MEMS控制器可以在接收到上述的第一定时信号或第一使能信号后,开始发送数据。
[0057]然后,三个MEMS控制器根据其对应的MEMS传感器的配置信息,在接收到上述的第二定时信号或第二使能信号后,经由SPI总线、SPI总线控制器和系统总线接收对应的MEMS传感器输出的第二数据,并先将其按上述设定的顺序存储到接收缓存中的相应的地址中;其中,MEMS传感器输出的第二数据是串行数据,SPI总线控制器需要将其转换为并行数据后,再由MEMS控制器将其存储到接收缓存中。当一个MEMS传感器输出的第二数据的个数达到上述第二传输个数时,中断输出模块判断是哪一个MEMS传感器完成数据输出,并发出相应的中断信号给MCU,表示该MEMS传感器完成数据输出了,由此MCU可以从接收缓存读取该MEMS传感器输出的这些第二数据。这一步是一个循环的过程,即MEMS传感器可以持续地输出其第二数据,MEMS定时器定时地(例如周期性地)发出第二定时信号,使得MEMS控制器定时地将该MEMS传感器输出的第二数据存储到接收缓存中,并在第二数据的个数达到预设的第二输出个数后通知MCU读取,可见MCU读取第二数据也是定时的(例如周期性地的)。
[0058]需要说明的是,本发明中各个MEMS传感器作为SPI总线的从单元,并没有自主地输出数据的能力,而是由SPI总线的主单元(即本发明中的SPI总线控制器)对其发起读操作,从其中读取数据。本发明为了描述简洁,将上述过程简单表述为MEMS传感器输出第二数据,但本领域一般技术人员应该理解,这实质上是SPI总线控制器对MEMS传感器发起读操作,从其中读取数据的过程。
[0059]以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域的技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
【主权项】
1.一种基于SPI接口的多MEMS传感器快速数据存取系统,其特征在于,包括M⑶、MEMS加速引擎、SPI总线控制器、发送缓存、接收缓存和系统总线,所述MCU、所述MEMS加速引擎、所述SPI总线控制器、所述发送缓存和所述接收缓存皆与所述系统总线通信,所述MCU和所述MEMS加速引擎是所述系统总线的主单元,所述SPI总线控制器是所述系统总线的从单元; 所述SPI总线控制器与SPI总线相连,所述SPI总线的SPI接口用于外部的N个MEMS传感器相连,所述SPI总线控制器是所述SPI总线的主单元;所述N为自然数且不小于2; 所述MEMS加速引擎包括——对应地相连的M个MEMS控制器和M个MEMS定时器,所述M个MEMS控制器中的N个MEMS控制器与所述N个MEMS传感器——对应,所述M为自然数且不小于所述N; 对于所述N个MEMS传感器中的第η个所述MEMS传感器,所述η为自然数且ne [I,N], 所述MCU发送给所述第η个MEMS传感器的第一数据,先存储到所述发送缓存中; 与所述第η个MEMS传感器对应的所述第η个MEMS控制器配置所述第η个MEMS传感器的配置信息,所述配置信息包括所述第η个MEMS传感器的发送缓存地址、接收缓存地址和传输数据个数;所述发送缓存地址是所述第一数据在所述发送缓存中的存储地址; 所述第η个MEMS控制器通过所述系统总线和所述SPI总线控制器将所述第一数
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1