基于SPI接口的多MEMS传感器快速数据存取系统及方法技术方案

技术编号:14914964 阅读:126 留言:0更新日期:2017-03-30 04:07
本发明专利技术公开了一种基于SPI接口的多MEMS传感器快速数据存取系统,其包括系统总线、MCU、MEMS加速引擎、发送缓存、接收缓存和用于与外部的多个MEMS传感器相连的SPI总线控制器。MCU将需要发送给对应的MEMS传感器的第一数据先存储到发送缓存,再由MEMS加速引擎中的MEMS控制器通过SPI总线控制器将该数据发送给对应的MEMS传感器;MEMS控制器将对应的MEMS传感器输出的第二数据先存储到接收缓存,再通知MCU读取。本发明专利技术相应地公开了一种基于SPI接口的多MEMS传感器快速数据存取方法。本发明专利技术通过使用MEMS加速引擎,减少了MCU的开销,提高了系统运行效率。

【技术实现步骤摘要】

本专利技术涉及集成电路设计
,尤其涉及一种基于SPI接口的多MEMS传感器快速数据存取系统及方法
技术介绍
当前MEMS传感器已广泛应用于设备终端,为人们的生活提供了多种体验和便利,如气压计、温度计、陀螺仪、加速度计等。这些MEMS传感器大多采用SPI总线用于其数据的输入/输出,取其接口少、传输速度快、便于级联等优点。在实际的应用系统中,多个MEMS传感器的内容需要不定时地频繁读取,传统的做法是通过MCU控制SPI总线接口,在需要时对多个传感器内容进行读取。这给CPU带来了极大地开销,占用了相当多的CPU资源,尤其在一个复杂的应用系统下,多个MEMS传感器的数据传输已经成为制约系统性能的一个因素。因此,本领域的技术人员致力于开发一种基于SPI接口的多MEMS传感器快速数据存取系统及方法,提高系统效率。
技术实现思路
为实现上述目的,本专利技术提供了一种基于SPI接口的多MEMS传感器快速数据存取系统,其特征在于,包括MCU、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传感器中的第n个所述MEMS传感器,所述n为自然数且n∈[1,N],所述MCU发送给所述第n个MEMS传感器的第一数据,先存储到所述发送缓存中;与所述第n个MEMS传感器对应的所述第n个MEMS控制器配置所述第n个MEMS传感器的配置信息,所述配置信息包括所述第n个MEMS传感器的发送缓存地址、接收缓存地址和传输数据个数;所述发送缓存地址是所述第一数据在所述发送缓存中的存储地址;所述第n个MEMS控制器通过所述系统总线和所述SPI总线控制器将所述第一数据从所述发送缓存发送给所述第n个MEMS传感器;其中,所述第n个MEMS控制器在接收到与其相连的第n个所述MEMS定时器发出的第一定时信号后,或者在接收到所述MCU发出的第一使能信号后,将所述第一数据发送给所述第n个MEMS传感器;所述第n个MEMS传感器输出的第二数据,先由所述第n个MEMS控制器通过所述系统总线和所述SPI总线控制器存储到所述接收缓存中,所述第二数据在所述接收缓存的存储地址是所述第n个MEMS传感器的所述接收缓存地址;再由所述MCU从所述接收缓存读取;其中,所述第n个MEMS控制器在接收到与其相连的第n个所述MEMS定时器发出的第二定时信号后,或者在接收到所述MCU发出的第二使能信号后,将所述第二数据存储到所述接收缓存中;所述传输数据个数包括第一传输个数和第二传输个数,所述第一传输个数是需要传输的所述第一数据的个数,所述第二传输个数是需要传输的所述第二数据的个数。进一步地,由所述N个MEMS控制器发送的多个所述第一数据是并行数据,所述SPI总线控制器将其转换成串行数据后再写入所述N个MEMS传感器的寄存器;所述N个MEMS传感器输出的多个所述第二数据是串行数据,所述SPI总线控制器将其转换成并行数据后再由所述N个MEMS控制器将其存储到所述接收缓存中。进一步地,所述MCU顺序地将其发送给所述N个MEMS传感器的所述第一数据存储到所述发送缓存中;所述MEMS加速引擎还包括优先级控制模块;所述优先级控制模块设置的所述N个MEMS传感器的顺序与所述MCU存储其发送给所述N个MEMS传感器的所述第一数据的顺序一致,所述N个MEMS控制器将所述N个MEMS传感器输出的所述第二数据按照所述顺序存储到所述接收缓存中。进一步地,所述MEMS加速引擎还包括中断输出模块,当所述第n个所述MEMS传感器输出的所述第二数据的个数达到所述第n个MEMS传感器的所述配置信息中的所述第二传输个数时,所述中断输出模块发出中断信号给所述MCU,所述MCU从所述接收缓存读取所述第二数据。进一步地,所述MEMS加速引擎还包括缓存地址自动累加控制模块;在所述第n个MEMS传感器配置所述第n个MEMS传感器的所述配置信息中的所述发送缓存地址和所述接收缓存地址时,对于按照所述顺序的第一个所述MEMS传感器,配置其所述发送缓存地址和所述接收缓存地址;对于按照所述顺序的第i个所述MEMS传感器,所述缓存地址自动累加控制模块根据照所述顺序的第i-1个所述MEMS传感器的所述发送缓存地址Ai-1、所述第i-1个所述MEMS传感器的所述第一数据的大小S1i-1和所述第i-1个所述MEMS传感器的所述配置信息中的所述第一传输个数N1i-1计算其所述发送缓存地址Ai=Ai-1+S1i-1×N1i-1;所述缓存地址自动累加控制模块根据照所述顺序的所述第i-1个所述MEMS传感器的所述接收缓存地址Di-1、所述第i-1个所述MEMS传感器的所述第二数据的大小S2i-1和所述第i-1个所述MEMS传感器的所述配置信息中的所述第二传输个数N2i-1计算其所述发送缓存地址Di=Di-1+S2i-1×N2i-1,所述i为自然数且1∈[2,N]。进一步地,所述MEMS加速引擎还包括冲突检测模块;当所述N个MEMS控制器中的两个以上的所述MEMS控制器同时接收到所述第二定时信号或所述第二使能信号时,所述冲突检测模块判断发生输出冲突,并使所述两个以上的所述MEMS控制器将其对应的所述MEMS传感器的第二数据按照所述顺序存储到所述接收缓存中。进一步地,所述发送缓存和所述接收缓存是同一个内存的两个部分。进一步地,各个所述MEMS传感器的所述第一数据的大小彼此相同或不同,各个所述MEMS传感器的所述第二数据的大小彼此相同或不同。本专利技术还提供了一种基于SPI接口的多MEMS传感器快速数据存取方法,其特征在于,包括步骤:将MCU、MEMS加速引擎、SPI总线控制器、发送缓存和接收缓存与系统总线相连,其中,所述MCU和所述MEMS本文档来自技高网...
基于SPI接口的多MEMS传感器快速数据存取系统及方法

【技术保护点】
一种基于SPI接口的多MEMS传感器快速数据存取系统,其特征在于,包括MCU、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传感器中的第n个所述MEMS传感器,所述n为自然数且n∈[1,N],所述MCU发送给所述第n个MEMS传感器的第一数据,先存储到所述发送缓存中;与所述第n个MEMS传感器对应的所述第n个MEMS控制器配置所述第n个MEMS传感器的配置信息,所述配置信息包括所述第n个MEMS传感器的发送缓存地址、接收缓存地址和传输数据个数;所述发送缓存地址是所述第一数据在所述发送缓存中的存储地址;所述第n个MEMS控制器通过所述系统总线和所述SPI总线控制器将所述第一数据从所述发送缓存发送给所述第n个MEMS传感器;其中,所述第n个MEMS控制器在接收到与其相连的第n个所述MEMS定时器发出的第一定时信号后,或者在接收到所述MCU发出的第一使能信号后,将所述第一数据发送给所述第n个MEMS传感器;所述第n个MEMS传感器输出的第二数据,先由所述第n个MEMS控制器通过所述系统总线和所述SPI总线控制器存储到所述接收缓存中,所述第二数据在所述接收缓存的存储地址是所述第n个MEMS传感器的所述接收缓存地址;再由所述MCU从所述接收缓存读取;其中,所述第n个MEMS控制器在接收到与其相连的第n个所述MEMS定时器发出的第二定时信号后,或者在接收到所述MCU发出的第二使能信号后,将所述第二数据存储到所述接收缓存中;所述传输数据个数包括第一传输个数和第二传输个数,所述第一传输个数是需要传输的所述第一数据的个数,所述第二传输个数是需要传输的所述第二数据的个数。...

【技术特征摘要】
1.一种基于SPI接口的多MEMS传感器快速数据存取系统,其特征在于,
包括MCU、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传感器中的第n个所述MEMS传感器,所述n为自然
数且n∈[1,N],
所述MCU发送给所述第n个MEMS传感器的第一数据,先存储到所述
发送缓存中;
与所述第n个MEMS传感器对应的所述第n个MEMS控制器配置所述
第n个MEMS传感器的配置信息,所述配置信息包括所述第n个MEMS传
感器的发送缓存地址、接收缓存地址和传输数据个数;所述发送缓存地址是
所述第一数据在所述发送缓存中的存储地址;
所述第n个MEMS控制器通过所述系统总线和所述SPI总线控制器将所
述第一数据从所述发送缓存发送给所述第n个MEMS传感器;其中,所述第
n个MEMS控制器在接收到与其相连的第n个所述MEMS定时器发出的第一
定时信号后,或者在接收到所述MCU发出的第一使能信号后,将所述第一
数据发送给所述第n个MEMS传感器;
所述第n个MEMS传感器输出的第二数据,先由所述第n个MEMS控
制器通过所述系统总线和所述SPI总线控制器存储到所述接收缓存中,所述
第二数据在所述接收缓存的存储地址是所述第n个MEMS传感器的所述接收
缓存地址;再由所述MCU从所述接收缓存读取;其中,所述第n个MEMS
控制器在接收到与其相连的第n个所述MEMS定时器发出的第二定时信号
后,或者在接收到所述MCU发出的第二使能信号后,将所述第二数据存储
到所述接收缓存中;
所述传输数据个数包括第一传输个数和第二传输个数,所述第一传输个
数是需要传输的所述第一数据的个数,所述第二传输个数是需要传输的所述

\t第二数据的个数。
2.如权利要求1所述的基于SPI接口的多MEMS传感器快速数据存取系统,
其中由所述N个MEMS控制器发送的多个所述第一数据是并行数据,所述SPI总
线控制器将其转换成串行数据后再写入所述N个MEMS传感器的寄存器;所述N
个MEMS传感器输出的多个所述第二数据是串行数据,所述SPI总线控制器将其
转换成并行数据后再由所述N个MEMS控制器将其存储到所述接收缓存中。
3.如权利要求1或2所述的基于SPI接口的多MEMS传感器快速数据存取
系统,其中所述MCU顺序地将其发送给所述N个MEMS传感器的所述第一数据
存储到所述发送缓存中;所述MEMS加速引擎还包括优先级控制模块;所述优先
级控制模块设置的所述N个MEMS传感器的顺序与所述MCU存储其发送给所述
N个MEMS传感器的所述第一数据的顺序一致,所述N个MEMS控制器将所述N
个MEMS传感器输出的所述第二数据按照所述顺序存储到所述接收缓存中。
4.如权利要求3所述的基于SPI接口的多MEMS传感器快速数据存取系统,
其中所述MEMS加速引擎还包括中断输出模块,当所述第n个所述MEMS传感器
输出的所述第二数据的个数达到所述第n个MEMS传感器的所述配置信息中的所
述第二传输个数时,所述中断输出模块发出中断信号给所述MCU,所述MCU从
所述接收缓存读取所述第二数据。
5.如权利要求3所述的基于SPI接口的多MEMS传感器快速数据存取系统,
其中所述MEMS加速引擎还包括缓存地址自动累加控制模块;在所述第n个MEMS
传感器配置所述第n个MEMS传感器的所述配置信息中的所述发送缓存地址和所
述接收缓存地址时,
对于按照所述顺序的第一个所述MEMS传感器,配置其所...

【专利技术属性】
技术研发人员:冯华星何文涛黄璐周美娣殷明
申请(专利权)人:中国科学院嘉兴微电子与系统工程中心
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1