CN105676726A - 基于spi接口的多mems传感器快速数据存取系统及方法 - Google Patents
基于spi接口的多mems传感器快速数据存取系统及方法 Download PDFInfo
- Publication number
- CN105676726A CN105676726A CN201610014897.2A CN201610014897A CN105676726A CN 105676726 A CN105676726 A CN 105676726A CN 201610014897 A CN201610014897 A CN 201610014897A CN 105676726 A CN105676726 A CN 105676726A
- Authority
- CN
- China
- Prior art keywords
- mems
- mems sensor
- data
- controller
- transmission
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23027—Database with information on how to control or test different appliances
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
本发明公开了一种基于SPI接口的多MEMS传感器快速数据存取系统,其包括系统总线、MCU、MEMS加速引擎、发送缓存、接收缓存和用于与外部的多个MEMS传感器相连的SPI总线控制器。MCU将需要发送给对应的MEMS传感器的第一数据先存储到发送缓存,再由MEMS加速引擎中的MEMS控制器通过SPI总线控制器将该数据发送给对应的MEMS传感器;MEMS控制器将对应的MEMS传感器输出的第二数据先存储到接收缓存,再通知MCU读取。本发明相应地公开了一种基于SPI接口的多MEMS传感器快速数据存取方法。本发明通过使用MEMS加速引擎,减少了MCU的开销,提高了系统运行效率。
Description
技术领域
本发明涉及集成电路设计技术领域,尤其涉及一种基于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总线控制器是所述系统总线的从单元;
将所述SPI总线控制器通过SPI总线连接到外部的N个MEMS传感器,所述SPI总线的SPI接口与所述N个MEMS传感器相连,所述SPI总线控制器是所述SPI总线的主单元;所述N为自然数且不小于2;
使所述MEMS加速引擎中的M个MEMS控制器中的N个MEMS控制器与所述N个MEMS传感器一一对应,所述M为自然数且不小于所述N;所述MEMS加速引擎中的M个MEMS定时器一一对应地与所述M个MEMS控制器相连;
对于所述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发出的第二使能信号后,将所述第二数据存储到所述接收缓存中;
所述传输数据个数包括第一传输个数和第二传输个数,所述第一传输个数是需要传输的所述第一数据的个数,所述第二传输个数是需要传输的所述第二数据的个数
由此可见,本发明的基于SPI接口的多MEMS传感器快速数据存取系统和方法,使用了包括多个MEMS控制器和MEMS定时器的MEMS加速引擎,其行使DMA功能,对多个MEMS传感器的访问机制以及访问流程,发送和接收缓存进行读取控制。本发明通过MCU将需要写入多个MEMS传感器的数据先存入发送缓存,再由MEMS加速引擎通过SPI总线控制器将它们顺序地写入这些MEMS传感器;以及通过MEMS加速引擎将多个MEMS传感器输出的数据先存入接收缓存,待数据发送或接收完成以后,使用中断信号通知MCU可以对这些从多个MEMS传感器读取的数据进行处理,大大减少MCU的开销,使得MCU可以解放出来做更多的事情,从而提高了系统运行效率。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是在一个较佳的实施例中,本发明的基于SPI接口的多MEMS传感器快速数据存取系统的结构框图。
图2是图1所示的系统中的MEMS加速引擎的结构框图。
图3是在一个较佳的实施例中,本发明的基于SPI接口的多MEMS传感器快速数据存取方法的流程图。
具体实施方式
如图1所示,在一个较佳的实施例中,本发明提供了一种基于SPI接口的多MEMS传感器快速数据存取系统,其包括MCU、MEMS加速引擎、SPI总线控制器、发送缓存、接收缓存和系统总线(图中表示为与MCU、MEMS加速引擎、SPI总线控制器、发送缓存和接收缓存皆相连的横向的黑线)。其中,MCU、MEMS加速引擎、SPI总线控制器、发送缓存和接收缓存皆与该系统总线通信,MCU和MEMS加速引擎是系统总线的主单元,SPI总线控制器是系统总线的从单元。
发送缓存和接收缓存同属于一个内存,即它们是同一个内存的两个部分,其中发送缓存用于存储MCU需要向MEMS传感器的寄存器写入的数据(第一数据,如MEMS传感器的初始化数据),接收缓存用于存储MEMS传感器输出数据(第二数据,即其检测结果)。SPI总线控制器与SPI总线相连,用于连接外部的N个MEMS传感器MEMS1、MEMS2、…、MEMSN,以接收来自这些MEMS传感器的第二数据以及向它们发送第一数据,N为自然数且不小于2。这N个MEMS传感器MEMS1、MEMS2、…、MEMSN分别地连接在SPI总线的SPI接口上。
图2示出了MEMS加速引擎的结构,其包括一一对应地相连的M个MEMS控制器和M个MEMS定时器,M为自然数且不小于N。这些MEMS控制器用于与N个MEMS传感器对应,以控制对这N个MEMS传感器的数据的读写。本实施例中M=N,这N个MEMS控制器与N个MEMS传感器一一对应,由此这些MEMS控制器和MEMS定时器在图中表示为MEMS1控制器和MEMS1定时器、MEMS2控制器和MEMS2定时器、…、MEMSN控制器和MEMSN定时器,以表示它们是对应MEMS传感器MEMS1的控制器和定时器、对应MEMS传感器MEMS2的控制器和定时器、…、对应MEMS传感器MEMSN的控制器和定时器。
MEMS定时器用于设定对应的MEMS传感器输出第二数据的时间,一到设定的时间,就向相连的MEMS控制器发出第二定时信号,让其把第二数据读到接收缓存中去;MEMS定时器还可以用于设定向对应的MEMS传感器输入第一数据的时间,一到设定的时间,就向相连的MEMS控制器发出第一定时信号,让其把第一数据发送给对应的MEMS传感器。MEMS控制器用于配置其对应的MEMS传感器的配置信息,该配置信息包括该MEMS传感器的发送缓存地址、接收缓存地址和传输数据个数,其中发送缓存地址是需要写入该MEMS传感器的第一数据被存储在发送缓存中的地址,接收缓存地址是需要该MEMS传感器输出的第二数据被存储在接收缓存中的地址,传输数据个数包括第一传输个数和第二传输个数,第一传输个数是需要传输到该MEMS传感器的第一数据的个数,第二传输个数是该MEMS传感器需要传输的第二数据的个数。这样,MEMS控制器能够根据其对应的MEMS传感器的配置信息,从发送缓存中获取MCU需要写入该MEMS传感器的第一数据,并将其发送给该MEMS传感器;并且MEMS控制器能够根据其对应的MEMS传感器的配置信息,将其对应的MEMS传感器输出的第二数据先存储到接收缓存中的相应的地址,以待MCU读取该数据。
除了在接收到与其相连的MEMS定时器发出第二定时信号后,MEMS控制器还可以在接收到MCU发给它的第二使能信号后,将其对应的MEMS传感器输出的第二数据读到接收缓存中去。另外,除了在接收到与其相连的MEMS定时器发出第一定时信号后,MEMS控制器还可以在接收到MCU发给它的第一使能信号后,从发送缓存将第一数据发送给对应的MEMS传感器。
如图2所示,MEMS加速引擎还包括优先级控制模块,其用于设置这N个MEMS传感器的顺序,这个顺序是与MCU将其要发送给这N个MEMS传感器的第一数据存储到发送缓存中的顺序一致的。通常,在系统启用的时候,首先需要对各个传感器进行初始化设置,即需要由MCU向它们发送第一数据。在本发明中,这些第一数据并非由MCU直接写入这N个MEMS传感器的,而是先由MCU将这些数据通过系统总线顺序地写入发送缓存,这个顺序就是这N个MEMS传感器的顺序。本实施例中所用的MEMS加速引擎所包括的优先级控制模块即按这个顺序进行设置,例如按MEMS1、MEMS2、…、MEMSN这样排列的顺序。之后,在N个MEMS控制器将这N个MEMS传感器的第二数据存储到接收缓存中时,即按照该顺序操作。
MEMS加速引擎还包括中断输出模块,当一个MEMS传感器输出的第二数据的个数达到上述第二传输个数时,中断输出模块判断是哪一个MEMS传感器完成数据输出,并发出相应的中断信号给MCU,表示该MEMS传感器完成数据输出了,由此MCU可以从接收缓存读取该MEMS传感器输出的这些第二数据。
MEMS加速引擎还包括缓存地址自动累加控制模块,其可以简化MEMS控制器配置MEMS传感器的配置信息,具体地为,简化对其中的发送缓存地址和所述接收缓存地址的配置操作。使用缓存地址自动累加控制模块后,可以仅配置按上述优先级控制模块设置的这N个MEMS传感器的顺序的第一个MEMS传感器的发送缓存地址和接收缓存地址,其他MEMS传感器的发送缓存地址和接收缓存地址可以根据其前一个MEMS传感器的发送缓存地址和接收缓存地址、第一数据和第二数据的大小以及第一传输个数和第二传输个数计算得到。例如,对于按照上述顺序的第i个MEMS传感器,i为自然数且1∈[2,N]:
其发送缓存地址Ai=Ai-1+S1i-1×N1i-1,其中,第i-1个MEMS传感器的发送缓存地址为Ai-1,第i-1个MEMS传感器的第一数据的大小为S1i-1,第i-1个MEMS传感器的配置信息中的第一传输个数为N1i-1;
其发送缓存地址Di=Di-1+S2i-1×N2i-1,其中,第i-1个MEMS传感器的接收缓存地址为Di-1,第i-1个MEMS传感器的第二数据的大小为S2i-1,第i-1个MEMS传感器的配置信息中的第二传输个数为N2i-1。
各个MEMS传感器的第一数据的大小彼此可以相同,也可以不同。各个所述MEMS传感器的所述第二数据的大小彼此可以相同,也可以不同,
如图2所示,MEMS加速引擎还包括冲突检测模块,当有两个以上的MEMS控制器同时接收到上述第二定时信号或第二使能信号时,冲突检测模块判断发生输出冲突,并使这两个以上的MEMS控制器按照上述的顺序将对应的两个以上的MEMS传感器输出的第二数据存储到接收缓存中。
在本实施例中,上述N个MEMS控制器从发送缓存中发出的第一数据是并行数据,需要由SPI总线控制器将其转换成串行数据(串行SPI数据)后再写入这N个MEMS传感器的寄存器;另外,这N个MEMS传感器输出的多个第二数据是串行数据,需要SPI总线控制器将其转换成并行数据后再由这N个MEMS控制器将其存储到接收缓存中。
图3示出了在一个较佳的实施例中,采用本发明的基于SPI接口的多MEMS传感器快速数据存取系统,应用本发明的基于SPI接口的多MEMS传感器快速数据存取方法的流程,具体地,其中示出了对3个MEMS传感器MEMS1、MEMS2和MEMS3的数据存取操作:
首先将这3个MEMS传感器连接到SPI总线的SPI接口,由此连接到SPI总线控制器;
MCU将其要写入这3个MEMS传感器的第一数据通过系统总线写入发送缓存;
MEMS加速引擎启用三个MEMS控制器和三个MEMS定时器;MEMS加速引擎的优先级控制模块根据MCU将上述这些第一数据写入发送缓存的顺序设定这3个MEMS传感器的顺序,如为MEMS1、MEMS2和MEMS3;MEMS加速引擎使这三个MEMS控制器与MEMS传感器MEMS1、MEMS2和MEMS3一一对应;
然后,三个MEMS控制器分别配置与其对应的一个MEMS传感器的配置信息,具体地包括,配置MEMS传感器MEMS1的发送缓存地址A1、接收缓存地址D1、第一传输个数N11、第二传输个数N12和输出第二数据的时间(即定时触发时间)T1,配置MEMS传感器MEMS2的第一传输个数N12、第二传输个数N12和输出第二数据的时间(即定时触发时间)T2,配置MEMS传感器MEMS3的第一传输个数N13、第二传输个数N13和输出第二数据的时间(即定时触发时间)T3;MEMS加速引擎的缓存地址自动累加控制模块计算获得MEMS传感器MEMS2和MEMS2的发送缓存地址和接收缓存地址;
然后,三个MEMS控制器根据其对应的MEMS传感器的配置信息,从发送缓存中的相应的发送缓存地址将其第一数据通过SPI总线控制器发送给该MEMS传感器;MEMS控制器发出的数据是并行数据,SPI总线控制器需要将其转换为串行SPI数据后,将其经由SPI总线写入该MEMS传感器的寄存器;MEMS控制器可以在接收到上述的第一定时信号或第一使能信号后,开始发送数据。
然后,三个MEMS控制器根据其对应的MEMS传感器的配置信息,在接收到上述的第二定时信号或第二使能信号后,经由SPI总线、SPI总线控制器和系统总线接收对应的MEMS传感器输出的第二数据,并先将其按上述设定的顺序存储到接收缓存中的相应的地址中;其中,MEMS传感器输出的第二数据是串行数据,SPI总线控制器需要将其转换为并行数据后,再由MEMS控制器将其存储到接收缓存中。当一个MEMS传感器输出的第二数据的个数达到上述第二传输个数时,中断输出模块判断是哪一个MEMS传感器完成数据输出,并发出相应的中断信号给MCU,表示该MEMS传感器完成数据输出了,由此MCU可以从接收缓存读取该MEMS传感器输出的这些第二数据。这一步是一个循环的过程,即MEMS传感器可以持续地输出其第二数据,MEMS定时器定时地(例如周期性地)发出第二定时信号,使得MEMS控制器定时地将该MEMS传感器输出的第二数据存储到接收缓存中,并在第二数据的个数达到预设的第二输出个数后通知MCU读取,可见MCU读取第二数据也是定时的(例如周期性地的)。
需要说明的是,本发明中各个MEMS传感器作为SPI总线的从单元,并没有自主地输出数据的能力,而是由SPI总线的主单元(即本发明中的SPI总线控制器)对其发起读操作,从其中读取数据。本发明为了描述简洁,将上述过程简单表述为MEMS传感器输出第二数据,但本领域一般技术人员应该理解,这实质上是SPI总线控制器对MEMS传感器发起读操作,从其中读取数据的过程。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域的技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (9)
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发出的第二使能信号后,将所述第二数据存储到所述接收缓存中;
所述传输数据个数包括第一传输个数和第二传输个数,所述第一传输个数是需要传输的所述第一数据的个数,所述第二传输个数是需要传输的所述第二数据的个数。
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传感器,配置其所述发送缓存地址和所述接收缓存地址;
对于按照所述顺序的第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]。
6.如权利要求3所述的基于SPI接口的多MEMS传感器快速数据存取系统,其中所述MEMS加速引擎还包括冲突检测模块;当所述N个MEMS控制器中的两个以上的所述MEMS控制器同时接收到所述第二定时信号或所述第二使能信号时,所述冲突检测模块判断发生输出冲突,并使所述两个以上的所述MEMS控制器将其对应的所述MEMS传感器的第二数据按照所述顺序存储到所述接收缓存中。
7.如权利要求1或2所述的基于SPI接口的多MEMS传感器快速数据存取系统,其中所述发送缓存和所述接收缓存是同一个内存的两个部分。
8.如权利要求1或2所述的基于SPI接口的多MEMS传感器快速数据存取系统,其中各个所述MEMS传感器的所述第一数据的大小彼此相同或不同,各个所述MEMS传感器的所述第二数据的大小彼此相同或不同。
9.一种基于SPI接口的多MEMS传感器快速数据存取方法,其特征在于,包括步骤:
将MCU、MEMS加速引擎、SPI总线控制器、发送缓存和接收缓存与系统总线相连,其中,所述MCU和所述MEMS加速引擎是所述系统总线的主单元,所述SPI总线控制器是所述系统总线的从单元;
将所述SPI总线控制器通过SPI总线连接到外部的N个MEMS传感器,所述SPI总线的SPI接口与所述N个MEMS传感器相连,所述SPI总线控制器是所述SPI总线的主单元;所述N为自然数且不小于2;
使所述MEMS加速引擎中的M个MEMS控制器中的N个MEMS控制器与所述N个MEMS传感器一一对应,所述M为自然数且不小于所述N;所述MEMS加速引擎中的M个MEMS定时器一一对应地与所述M个MEMS控制器相连;
对于所述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发出的第二使能信号后,将所述第二数据存储到所述接收缓存中;
所述传输数据个数包括第一传输个数和第二传输个数,所述第一传输个数是需要传输的所述第一数据的个数,所述第二传输个数是需要传输的所述第二数据的个数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610014897.2A CN105676726B (zh) | 2016-01-11 | 2016-01-11 | 基于spi接口的多mems传感器快速数据存取系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610014897.2A CN105676726B (zh) | 2016-01-11 | 2016-01-11 | 基于spi接口的多mems传感器快速数据存取系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105676726A true CN105676726A (zh) | 2016-06-15 |
CN105676726B CN105676726B (zh) | 2017-12-26 |
Family
ID=56299902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610014897.2A Active CN105676726B (zh) | 2016-01-11 | 2016-01-11 | 基于spi接口的多mems传感器快速数据存取系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105676726B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408444A (zh) * | 2018-10-09 | 2019-03-01 | 中国兵器工业集团第二四研究所苏州研发中心 | 一种适用于mems传感器信号处理的专用串行接口 |
CN111382092A (zh) * | 2020-03-05 | 2020-07-07 | 上海龙旗科技股份有限公司 | 传感器网络、方法及存储介质 |
CN112902990A (zh) * | 2021-01-15 | 2021-06-04 | 长春禹衡光学有限公司 | 一种位置传感器的位置数据获取方法、装置及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1639773A2 (en) * | 2003-06-27 | 2006-03-29 | Nokia Corporation | System and method for implementing sensor functionality in mobile devices |
CN1971300A (zh) * | 2005-10-20 | 2007-05-30 | 国际商业机器公司 | 测量开关特性的装置和增大开关样品尺寸的装置 |
CN102004930A (zh) * | 2010-11-04 | 2011-04-06 | 南通大学 | 基于微电容测量的sma复合结构无线健康监测系统 |
CN103226346A (zh) * | 2013-03-21 | 2013-07-31 | 清华大学 | 一种可配置的多路模拟和数字信号采集系统 |
CN104169133A (zh) * | 2012-03-14 | 2014-11-26 | 罗伯特·博世有限公司 | 多通道传感器单元和相应的运行方法 |
-
2016
- 2016-01-11 CN CN201610014897.2A patent/CN105676726B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1639773A2 (en) * | 2003-06-27 | 2006-03-29 | Nokia Corporation | System and method for implementing sensor functionality in mobile devices |
CN101411168A (zh) * | 2003-06-27 | 2009-04-15 | 诺基亚有限公司 | 在移动装置中实现传感器功能的系统和方法 |
CN1971300A (zh) * | 2005-10-20 | 2007-05-30 | 国际商业机器公司 | 测量开关特性的装置和增大开关样品尺寸的装置 |
CN102004930A (zh) * | 2010-11-04 | 2011-04-06 | 南通大学 | 基于微电容测量的sma复合结构无线健康监测系统 |
CN104169133A (zh) * | 2012-03-14 | 2014-11-26 | 罗伯特·博世有限公司 | 多通道传感器单元和相应的运行方法 |
CN103226346A (zh) * | 2013-03-21 | 2013-07-31 | 清华大学 | 一种可配置的多路模拟和数字信号采集系统 |
Non-Patent Citations (1)
Title |
---|
龚勇: ""基于多传感器节点的人体动作捕获系统的设计与实现"", 《中国优秀硕士学位论文全文数据库-信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408444A (zh) * | 2018-10-09 | 2019-03-01 | 中国兵器工业集团第二四研究所苏州研发中心 | 一种适用于mems传感器信号处理的专用串行接口 |
CN111382092A (zh) * | 2020-03-05 | 2020-07-07 | 上海龙旗科技股份有限公司 | 传感器网络、方法及存储介质 |
CN112902990A (zh) * | 2021-01-15 | 2021-06-04 | 长春禹衡光学有限公司 | 一种位置传感器的位置数据获取方法、装置及设备 |
CN112902990B (zh) * | 2021-01-15 | 2023-10-27 | 长春禹衡光学有限公司 | 一种位置传感器的位置数据获取方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105676726B (zh) | 2017-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7603501B2 (en) | Communication circuit of serial peripheral interface devices | |
US10216678B2 (en) | Serial peripheral interface daisy chain communication with an in-frame response | |
KR20180050728A (ko) | 멀티-노드 네트워크에서의 입력/출력 신호 브릿징 및 가상화 | |
CN201374060Y (zh) | 一种iic总线扩展系统结构 | |
CN103077123A (zh) | 一种数据写入和读取方法及装置 | |
CN105677598B (zh) | 基于i2c接口快速读取多个mems传感器数据的模块和方法 | |
US11126382B2 (en) | SD card-based high-speed data storage method | |
CN104731746A (zh) | 设备控制器装置 | |
CN106598886B (zh) | I/o总线共享存储器系统 | |
CN113867836B (zh) | 用于fpga的装置、程序动态加载方法及数据传输方法 | |
CN105676726A (zh) | 基于spi接口的多mems传感器快速数据存取系统及方法 | |
CN103488600A (zh) | 通用从机同步串行接口电路 | |
CN102081586A (zh) | 多i2c插槽电路系统及传送i2c信号的方法 | |
CN106919343A (zh) | 周边接口电路与周边存储器系统 | |
CN104123246A (zh) | 接口扩展装置及串行连接接口扩展器 | |
CN105182915A (zh) | 数控io总线控制系统 | |
CN108038061B (zh) | 一种地址分配方法及plc系统 | |
CN105573933A (zh) | 处理器及存取存储器的方法 | |
CN204833258U (zh) | 一种利用mcu核的外设扩展系统 | |
CN115481078A (zh) | 主从式通讯系统及方法 | |
CN112740193B (zh) | 大数据运算加速系统执行运算的方法 | |
CN106547716A (zh) | 一种面向低管脚数的扩展总线配置系统及方法 | |
US20130019055A1 (en) | Memory control device and method | |
CN109976778B (zh) | 车辆电子产品的软件更新方法与系统、上位机及存储介质 | |
CN107577438B (zh) | 现场可编程门阵列中闪存的存储空间的划分方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230712 Address after: 310053 room 1001, innovation building, 3850 Jiangnan Road, high tech (Binjiang), Hangzhou, Zhejiang Patentee after: Hangzhou Zhongke Microelectronics Co.,Ltd. Address before: 314006 Building 2, No. 778, Asia Pacific Road, Jiaxing, Zhejiang Province (Jiaxing Technopole) Patentee before: JIAXING MICROELECTRONICS AND SYSTEM ENGINEERING CENTER, CHINESE ACADEMY OF SCIENCES |
|
TR01 | Transfer of patent right |