CN112416823A - 一种突发模式下的传感器数据读写控制方法、***及芯片 - Google Patents
一种突发模式下的传感器数据读写控制方法、***及芯片 Download PDFInfo
- Publication number
- CN112416823A CN112416823A CN202011274233.2A CN202011274233A CN112416823A CN 112416823 A CN112416823 A CN 112416823A CN 202011274233 A CN202011274233 A CN 202011274233A CN 112416823 A CN112416823 A CN 112416823A
- Authority
- CN
- China
- Prior art keywords
- burst
- read
- write
- fifo module
- sensor data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000005540 biological transmission Effects 0.000 claims abstract description 128
- 238000005070 sampling Methods 0.000 claims abstract description 13
- 230000006870 function Effects 0.000 claims description 10
- 238000001514 detection method Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 8
- 230000001960 triggered effect Effects 0.000 description 7
- 230000000903 blocking effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1636—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明公开一种突发模式下的传感器数据读写控制方法、***及芯片,与现有技术相比,本发明在FIFO模块内已存储的传感器数据的存储地址右移的过程中,根据FIFO模块的读指针指向的FIFO模块存储地址,控制与FIFO模块的外部进行同一类突发访问模式下的FIFO模块传输的传感器数据的传输,不受限于FIFO模块的空与满,实时根据FIFO模块的外部的数据传输需求来从读指针实时移位指向的地址上完成突发传输长度的传感器数据传输,不需FIFO模块写满或读空就提前触发停止数据传输标志位,提高传感器采样的数据传输的实时性和***处理数据的效率。
Description
技术领域
本发明涉及AHB总线读写FIFO的技术领域,具体涉及一种突发模式下的传感器数据读写控制方法、***及芯片。
背景技术
相关技术中,在现存的FIFO工作模式下,以突发机制对FIFO进行读写操作的过程中,当FIFO内剩余数据长度不足8个且大于1个时,外部的功能模块不能完成一次突发读操作,而FIFO只能等到其内部最后一个数据被功能模块读走才能产生数据读空信号;当FIFO内剩余数据空间不足8个时,功能模块不能完成一次突发写操作,而FIFO只能等到写入的一个数据使得FIFO变满时才能产生数据写满信号。因此,AHB总线读写FIFO的过程中不能完全根据突发传输长度对FIFO的数据进行读写操作,导致FIFO模块产生的读空和写满信号不能有效地满足数据分块传输状态下的功能模块控制需求。
发明内容
针对AHB总线读写FIFO的数据实时性问题,本发明公开一种突发模式下的传感器数据读写控制方法、***及芯片,通过移位控制读写地址区域的重叠情况,进而控制AHB总线突发读写FIFO的数据,实现在满足当前数据分块传输状态下,不需FIFO模块写满或读空就提前触发停止数据传输标志位,提高传感器采样的数据传输的实时性和***处理数据的效率。具体技术方案如下:
一种突发模式下的传感器数据读写控制方法,包括:在同一类突发访问模式下,控制FIFO模块内已存储的传感器数据的存储地址右移n位,同时控制FIFO模块在所述同一类突发访问模式下向FIFO模块传输传感器数据,直到存在一个传感器数据移动至FIFO模块的读指针的最高有效位的指向地址或FIFO模块的写指针的最高有效位的指向地址,然后触发FIFO模块向外发出空/满标志信号,以停止外部与FIFO模块进行数据收发传输;其中,n是同一类突发访问模式下配置的传感器数据的突发传输长度的以2为底数的对数值,n是大于或等于1的整数。
与现有技术相比,在FIFO模块内已存储的传感器数据的存储地址右移的过程中,根据FIFO模块的读指针指向的FIFO模块存储地址,控制与FIFO模块的外部进行同一类突发访问模式下的FIFO模块传输的传感器数据的传输,不受限于FIFO模块的空与满,实时根据FIFO模块的外部的数据传输需求来从读指针实时移位指向的地址上完成突发传输长度的传感器数据传输,不需FIFO模块写满或读空就提前触发停止数据传输标志位,提高传感器采样的数据传输的实时性和***处理数据的效率。
进一步地,所述控制FIFO模块在所述同一类突发访问模式下向FIFO模块传输传感器数据之前,将同一类突发访问模式下的预配置传输次数的突发写命令依次写入写缓冲区,或者将同一类突发访问模式下的预配置传输次数的突发读命令依次写入读缓冲区;其中,FIFO模块包括写缓冲区和读缓冲区,或者,FIFO模块包括一个支持复用为写缓冲区和读缓冲区的存储单元;其中,这个预配置传输次数是为了完成采样处理当前所需的传感器数据,配置的AHB总线与FIFO模块之间所需进行的突发传输次数,同一类突发访问模式所配置的指令为突发读命令和突发写命令;每一次的突发传输长度都是相等的;其中,传感器数据存储于FIFO模块内的数据寄存器组中。本技术方案在FIFO模块内增加一定的缓存区来缓存AHB总线接口接收到的突发读命令,用于判断后续接收的突发读命令指向地址是否与传感器数据的存储地址存在重叠,从而实现将多笔小数据量访问合并发送一个总线突发读命令即可,显著提高FIFO模块的数据读取效率。
进一步地,当检测到其中一所述突发读命令已经写入所述FIFO模块且所述突发读命令的读操作标志位有效时,控制FIFO模块的读指针开始左移1位,控制FIFO模块内存储的传感器数据的存储地址同步开始右移n位,当检测到左移后的突发读命令的读指针的指向地址与右移后的数据寄存器组内的传感器数据的存储地址存在重叠的地址段时,按照当前参与检测的读指针的指向地址向外部直接传输所述数据寄存器组存储的一个突发传输长度的地址段上的传感器数据,再控制所述FIFO模块的读指针继续左移并保持传感器数据的存储地址同步右移,直到存在一个传感器数据移动至FIFO模块的读指针的最高有效位指向的地址。在本技术方案中,所述FIFO模块以一个突发传输长度向外传输传感器数据、或者外部以一个突发传输长度读取所述FIFO模块的传感器数据时,通过突发读命令的读指针左移和数据寄存器组内的传感器数据的存储地址同步右移,来加快截取连续地址的突发读命令或非连续地址上的突发读命令所需获取的突发传输长度的传感器数据,减少占用高级微控制器总线结构(AMBA) 总线的时间,避免影响其他模块工作。除此之外,也会解决AHB总线因不断发出读写中断请求而造成的***功耗增大的问题。
进一步地,当检测到其中一所述突发写命令已经写入所述FIFO模块且所述突发写命令的写操作标志位有效时,控制FIFO模块的写指针左移1位,控制FIFO模块内已存储的传感器数据的存储地址同步进行右移n位,当检测到左移后的突发写命令的写指针的指向地址与所述数据寄存器组内的空闲的存储地址存在重叠的地址段时,按照当前参与检测的写指针的指向地址将AHB总线传输的传感器数据直接写入所述数据寄存器组存储的一个突发传输长度的地址段上,再控制所述FIFO模块的写指针继续左移并保持传感器数据的存储地址同步右移,直到存在一个传感器数据移动至FIFO模块的写指针的最高有效位指向的地址。
与现有技术相比,每当执行一次突发写操作,控制所述FIFO模块的写指针继续左移并保持传感器数据的存储地址同步右移,加快争取所述数据寄存器组的可写入空间,加快写入所需的多个突发传输长度的传感器数据,实现FIFO模块在突发机制下有效地满足数据分块传输状态下的功能模块控制需求,减少占用高级微控制器总线结构(AMBA) 总线的时间,提高FIFO模块的传输效率。
进一步地,当检测到一个突发读命令的读操作标志位无效时,将这个突发读命令写入容错缓冲区,再停止外部读取这个突发读命令所包括的读指针指向地址上的传感器数据,等到检测到读操作标志位有效的新的突发读命令的读指针指向的起始地址与这个读操作标志位无效的突发读命令的读指针指向的起始地址重叠时,按照这个读操作标志位无效的突发读命令的读指针,向所述功能模块直接传输所述数据寄存器组存储的相应地址上的传感器数据;其中,FIFO模块还包括容错缓冲区。本技术方案在检测到突发读命令无效时,依然使用这个无效的突发读命令的读指针指向的起始地址开始向所述功能模块直接传输传感器数据,而无需重新发起新的突发读操作,实现将多笔小数据量访问合并发送一个总线读/突发写命令的效果。
进一步地,当检测到一个突发写命令的写操作标志位无效时,则等待这个突发写命令的写操作标志位变为有效后,按照这个突发写命令所包括的写指针向将AHB总线传输的传感器数据写入所述数据寄存器组。避免重复发起新的突发写操作的次数,对于非连续地址的突发写命令,能够有效地减小***资源的浪费。
一种突发模式下的传感器数据读写控制***,该传感器数据读写控制***包括FIFO模块、AHB接口模块、读写控制模块和功能模块;FIFO模块是一种支持读写复用的双端口的存储器,AHB接口模块和功能模块都与FIFO模块电性连接, FIFO模块用于根据其内部的读指针和写指针进行数据传输操作,AHB接口模块用于接收同一类突发访问模式下的预配置传输次数的突发写命令或突发读命令; AHB接口模块和功能模块都与读写控制模块电性连接,读写控制模块,用于在同一类突发访问模式下,控制FIFO模块内已存储的传感器数据的存储地址右移n位,同时控制FIFO模块在所述同一类突发访问模式下向FIFO模块传输传感器数据,直到存在一个传感器数据移动至FIFO模块的读指针的最高有效位或FIFO模块的写指针的最高有效位,然后触发FIFO模块向外发出空/满标志信号,以停止AHB接口模块与FIFO模块进行数据收发传输、停止功能模块与FIFO模块进行数据收发传输。
与现有技术相比,该传感器数据读写控制***在FIFO模块内已存储的传感器数据的存储地址右移的过程中,根据FIFO模块的读指针每次指向的FIFO模块存储地址,控制FIFO模块分别与AHB接口模块和功能模块进行同一类突发访问模式下的传感器数据的一次突发读传输或突发写传输,不受限于FIFO模块的空与满,而是实时根据FIFO模块的外部的数据传输需求来从读指针实时移位指向的地址上完成突发传输长度的传感器数据传输,不需FIFO模块写满或读空就提前触发停止数据传输标志位,提高传感器采样的数据传输的实时性和***处理数据的效率。
进一步地,所述FIFO模块包括读缓冲区和数据寄存器组,数据寄存器组用于存储传感器数据;读写控制模块,用于检测到其中一所述突发读命令已经写入读缓冲区且所述突发读命令的读操作标志位有效时,控制FIFO模块的读指针左移,控制数据寄存器组内已经存储的传感器数据的存储地址同步进行右移,直到存在一个传感器数据移动至FIFO模块的读指针的最高有效位,其中,所述突发读命令的读指针指向的地址是处于数据寄存器组的地址线的访问地址范围内;读写控制模块,还用于在所述读缓冲区内所述突发读命令的读操作标志位有效的前提下,当检测到左移后的突发读命令的读指针的指向地址与右移后的数据寄存器组内的传感器数据的存储地址存在重叠的地址段时,按照这个读指针的指向地址向所述功能模块直接传输所述数据寄存器组存储的一个突发传输长度的地址段上的传感器数据。本技术方案在FIFO模块内增加读缓存区来缓存AHB总线接口接收到的读突发命令,使得所述读写控制模块通过判断后续接收的读突发命令指向地址是否与传感器数据的存储地址存在重叠,来将多笔小数据量访问合并发送一个总线突发读命令的技术效果,显著提高FIFO模块的读数据效率。
进一步地,所述FIFO模块包括写缓冲区和数据寄存器组,数据寄存器组用于存储传感器数据;读写控制模块,用于检测到其中一所述突发写命令已经写入所述FIFO模块且所述突发写命令的写操作标志位有效时,控制FIFO模块的写指针左移,控制数据寄存器组内已经存储的传感器数据的存储地址同步进行右移,直到存在一个传感器数据移动至FIFO模块的写指针的最高有效位,其中,所述突发写命令的写指针指向的地址是处于数据寄存器组的地址线的访问地址范围内;读写控制模块,还用于在所述读缓冲区内所述突发读命令的写操作标志位有效的前提下,当检测到左移后的突发写命令的写指针的指向地址与所述数据寄存器组内的空闲的存储地址存在重叠的地址段时,按照这个写指针的指向地址将AHB总线传输的传感器数据直接写入所述数据寄存器组存储的一个突发传输长度的地址段上。
与现有技术相比,每当所述AHB接口模块执行一次突发写操作,所述读写控制模块控制所述FIFO模块的写指针继续左移并保持传感器数据的存储地址同步右移,每经过一次突发写操作则争取一次所述数据寄存器组的可写入空间,加快写入所需的多个突发传输长度的传感器数据,直到存在一个传感器数据移动至FIFO模块的写指针的最高有效位,实现FIFO模块在突发机制下有效地满足数据分块传输状态下的功能模块控制需求,减少占用高级微控制器总线结构(AMBA) 总线的时间,提高FIFO模块的传输效率。
一种芯片,该芯片是SOC芯片,内嵌所述传感器数据读写控制***。该芯片不需FIFO模块写满或读空就提前触发停止数据传输标志位,提高数据在芯片内传输处理的实时性和芯片处理数据的效率。
附图说明
图1为本发明一突发读实施例公开的一种突发模式下的传感器数据读写控制方法示意图。
图2为本发明一突发写实施例公开的一种突发模式下的传感器数据读写控制方法示意图。
图3为本发明公开的一种突发模式下的传感器数据读写控制***框架示意图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明。以下实施方式中所涉及到的各模块均为逻辑电路单元,一个逻辑电路单元可以是一个物理单元、也可以是由多个逻辑器件按照一定的读写时序和信号逻辑变化组合而成的状态机,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本发明实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本发明实施方式中不存在其它的单元。
本发明实施例公开一种突发模式下的传感器数据读写控制方法,基本发明构思包括:在同一类突发访问模式下,控制FIFO模块内已存储的传感器数据的存储地址右移n位,同时控制FIFO模块在所述同一类突发访问模式下向FIFO模块传输传感器数据,直到存在一个传感器数据移动至FIFO模块的读指针的最高有效位的指向地址或FIFO模块的写指针的最高有效位的指向地址,即:存在一个传感器数据的存储地址移位至与FIFO模块的读指针的最高有效位的指向地址重合,这个传感器数据的存储地址如果继续发生右移则溢出FIFO模块的内存空间(读指针或写指针所能指向的地址范围);存在一个传感器数据的存储地址移位至与FIFO模块的写指针的最高有效位的指向地址重合,这个传感器数据的存储地址如果继续发生右移则FIFO模块的空闲内存空间不足以容纳即将写入的突发传输长度的传感器数据。然后触发FIFO模块向外发出空/满标志信号,以停止外部与FIFO模块进行数据收发传输,等同于FIFO不用等到其内部最后一个数据被功能模块读走才产生数据读空信号,或等同于FIFO不用等到写入的一个数据使得FIFO变满时才产生数据写满信号;其中,n是同一类突发访问模式下配置的传感器数据的突发传输长度的以2为底数的对数值,n是大于或等于1的整数,当FIFO模块的深度为2的m次幂时,2的m次幂大于2的n次幂。需要说明的是,同一类突发访问模式下的突发传输长度可以是为4、8、16中的任意一种,这一突发传输长度设置后保持不变,且在同一类突发访问模式下,每一次发起突发访问的突发传输长度都是可配置的。与现有技术相比,在FIFO模块内已存储的传感器数据的存储地址右移的过程中,根据FIFO模块的读指针指向的FIFO模块存储地址,控制与FIFO模块的外部进行同一类突发访问模式下的FIFO模块传输的传感器数据的传输,不受限于FIFO模块的空与满,实时根据FIFO模块的外部的数据传输需求来从读指针实时移位指向的地址上完成突发传输长度的传感器数据传输,不需FIFO模块写满或读空就提前触发停止数据传输标志位,提高传感器采样的数据传输的实时性和***处理数据的效率。
优选地,所述控制FIFO模块在所述同一类突发访问模式下向FIFO模块传输传感器数据之前,将同一类突发访问模式下的预配置传输次数的突发写命令依次写入写缓冲区,或者将同一类突发访问模式下的预配置传输次数的突发读命令依次写入读缓冲区;这里只是将预配置传输次数的突发写命令或突发读命令写入对应的缓冲区内,不代表也将这些突发读命令或突发写命令所传输FIFO模块的数据写入同一缓冲区内。其中,FIFO模块包括写缓冲区和读缓冲区,或者,FIFO模块包括一个支持复用为写缓冲区和读缓冲区的存储单元;其中,这个预配置传输次数是为了完成采样处理当前所需的传感器数据,配置的AHB总线与FIFO模块之间所需进行的突发传输次数,同一类突发访问模式所配置的指令为突发读命令和突发写命令,突发读命令下设置用于读取FIFO模块内部存储数据的读指针,突发写命令下设置用于写入FIFO模块内部的写指针;同一类突发访问模式下发起的每一次的突发传输长度都是相等的,这些信息可由FIFO模块内专门的寄存器预先配置的;其中,传感器数据存储于FIFO模块内的数据寄存器组中。本实施例在FIFO模块内增加一定的缓存区来缓存AHB总线接口接收到的突发读命令,用于判断后续接收的突发读命令指向地址是否与传感器数据的存储地址存在重叠,从而实现将多笔小数据量访问合并发送一个总线突发读命令即可,显著提高FIFO模块的数据读取效率。
在前述实施例的基础上,所述传感器数据读写控制方法还包括:当前触发FIFO模块向外发出一次空/满标志信号时,已停止外部当前与FIFO模块进行数据收发传输,若检测到同一类突发访问模式下的突发写命令的执行次数和突发读命令的执行次数都没有预配置传输次数时,则重复执行前述步骤,以实现完成采样处理当前所需的传感器数据。
需要说明的是,FIFO是英文First In First Out 的缩写,是一个先入先出的双口缓冲器,即第一个进入其内的数据第一个被移出,其中一个存储器的输入口,另一个口是存储器的输出口。FIFO存储器与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,只能顺序写入数据,顺序的读出数据,其数据地址由前述的读指针和前述写指针遍历完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。在本实施例中,为了增加传感器数据传输率、处理大量实时采集的传感器数据流、匹配具有不同传输率的传感器设备而广泛使用FIFO存储器,从而提高了***性能。对于单片FIFO来说,主要有两种结构:触发导向结构和零导向传输结构。触发导向传输结构的FIFO是由寄存器组构成的,零导向传输结构的FIFO是由具有读和写地址指针的双口RAM构成。
作为一种实施例,如图1所示,本发明实施例公开一种突发模式下的传感器数据读写控制方法,具体步骤包括:
步骤S101、将同一类突发访问模式下的预配置传输次数的突发读命令依次写入FIFO模块的读缓冲区,然后进入步骤S102。这些突发读命令的总线地址可以是非连续的,也可以是连续的,但是这些突发读命令的总线地址的起始地址不一定是相同的,比如其中一个突发读命令可以是向所述FIFO模块内部存储传感器数据的OxO至Ox07存储地址段发起突发读取访问,也即突发读命令的总线地址的起始存储地址配置为OxO。有利于将多个配置的总线突发读命令合并为仅发起1 个突发读命令。
需要说明的是,突发读命令包括起始地址、数据有效标志位、突发读命令的读操作标志位和突发传输长度,存储于专门的寄存器内;所述FIFO模块内的数据寄存器组存储的传感器数据与前述的数据有效标志位相关联,所述FIFO模块开辟的读缓冲区的数量不受限制;优选的,当读缓存区内写入的数据有效标志位是有效时,数据寄存器组对应地址上存储的传感器数据是被有效地突发读取出来的。
步骤S102、检测到其中一所述突发读命令已经写入所述FIFO模块开辟的读缓冲区后,判断这个突发读命令的读操作标志位是否有效,是则进入步骤S104,否则进入步骤S103。这个突发读命令的读操作标志位是软件根据AHB总线环境实时刷新的,决定什么时候开始对所述FIFO模块内部存储传感器数据进行突发读取操作。
步骤S104、控制FIFO模块的读指针开始左移1位,控制FIFO模块内存储的传感器数据的存储地址同步开始右移n位,然后进入步骤S105。在步骤S104中,同一类突发访问模式下的突发传输长度是8,在开启一次突发读取传感器数据之前,对FIFO模块的读指针加一,即读指针所指向的地址值左移一位,如读指针由r_addr[00100]移位变换为r_addr[01000];同时控制FIFO模块内存储的传感器数据的存储地址同步右移3位,而不是现有的AHB总线读写规定的8位(对应于突发传输长度),并对右移后的存储地址上的高3位补零,维持右移后的存储地址值不变,从而加快读指针所指向的地址上存储的传感器数据被突发传输出去,而不受限于连续地址及非连续地址。
步骤S105、判断是否存在一个传感器数据移动至FIFO模块的读指针的最高有效位指向的地址,是则进入步骤S108,否则进入步骤S107。该步骤S105确定传感器数据的存储地址右移结束的条件,即传感器数据移动至FIFO模块的读指针的最高有效位指向的地址,可以是左移后的读指针的最高有效位指向的地址,也可以是未发生过左移的读指针的最高有效位指向的地址,其中,这里的最高有效位是:读指针的最右侧的比特位“1”所处的位置,即r_addr[00010]的第二位为最高有效位,避免读指针所需突发读取的一个突发传输长度的数据已经溢出FIFO模块的内存空间。
步骤S107、判断步骤S104左移后的突发读命令的读指针的指向地址与步骤S104右移后的数据寄存器组内的传感器数据的存储地址是否存在重叠的地址段,是则进入步骤S109,否则返回步骤S104。通过判断是否存在重叠的地址段,才让多次突发读取的传感器数据是有效的,实现合并多次突发读命令为一次突发读取操作,同时也是为了避免读指针所需突发读取的一个突发传输长度的数据已经溢出FIFO模块的内存空间。
步骤S108、触发FIFO模块向外发出空标志信号,以停止外部与FIFO模块进行数据发送传输,等同于:只要步骤S104反复执行不多于所述预配置传输次数的左移操作后,所述数据寄存器组内的传感器数据的存储地址右移至所述突发读命令的读指针的最高有效位指向的地址上,即所述数据寄存器组内存储的一传感器数据相应地右移至所述突发读命令的读指针的最高有效位指向的地址上时,FIFO不用等到其内部最后一个数据被功能模块读走才产生数据读空信号,不需FIFO模块读空就提前触发停止数据传输标志位,提高传感器采样数据传输的实时性和***处理数据的效率。
步骤S109、按照当前参与判断的读指针指向的起始地址,从这个起始地址开始向所述FIFO模块的外部直接(不需重新发起新的突发读操作)传输所述数据寄存器组存储的一个突发传输长度的地址段上的传感器数据,视为被外部突发读取所述FIFO模块所存储的一个突发传输长度的传感器数据,然后返回步骤S104,通过维持读指针移位遍历判断,并将按照前述步骤S104至步骤S109完成从所述FIFO模块突发读取出下一个突发传输长度的传感器数据。比如一个突发传输长度是8,步骤S108所述的重叠地址段是Ox01至Ox08的地址段,从前述的起始地址Ox01开始,读指针向Ox01至Ox08的地址段发起对所述FIFO模块的数据读取访问,依次读取3个字节的传感器数据。
步骤S103、将步骤S102判断出的读操作标志位无效的突发读命令写入容错缓冲区,再停止外部读取这个突发读命令所包括的读指针指向地址上的传感器数据,然后进入步骤S106。FIFO不用等到其内部最后一个数据被功能模块读走才产生数据读空信号,不需FIFO模块读空就提前触发停止数据传输标志位,提高传感器采样数据传输的实时性和***处理数据的效率。
步骤S106、判断读操作标志位有效的新的突发读命令的读指针指向的起始地址与步骤S103所述的读操作标志位无效的突发读命令的读指针指向的起始地址是否重叠,是则进入步骤S109,否则返回步骤S101。读操作标志位有效的新的突发读命令是经过步骤S102检测并已写入所述FIFO模块的读缓冲区的,相应的读指针也是设置为指向匹配所述FIFO模块内的数据寄存器组的地址的,其中,传感器数据存储于FIFO模块内的数据寄存器组中。步骤S103所述的读操作标志位无效的突发读命令的读指针指向的起始地址,是最新写入或最新判断(步骤S103执行不多于所述预配置传输次数的判断操作)出的突发读命令的读指针指向的起始地址。因此,在检测到突发读命令无效时,依然从这个无效的突发读命令的读指针指向的起始地址开始,向所述功能模块直接传输传感器数据,而无需重新发起新的突发读操作,实现将多笔小数据量访问合并发送一个总线读/突发写命令的效果。
在图1所示的实施例中,所述FIFO模块以一个突发传输长度向外传输传感器数据、或者外部以一个突发传输长度读取所述FIFO模块的传感器数据时,通过突发读命令的读指针左移和数据寄存器组内的传感器数据的存储地址同步右移,来加快截取连续地址的突发读命令或非连续地址上的突发读命令所需获取的突发传输长度的传感器数据,减少占用高级微控制器总线结构(AMBA) 总线的时间,避免影响其他模块工作。除此之外,也会解决AHB总线因不断发出读写中断请求而造成的***功耗增大的问题。
作为另一种实施例,如图2所示,本发明实施例公开一种突发模式下的传感器数据读写控制方法,具体步骤包括:
步骤S201、将同一类突发访问模式下的预配置传输次数的突发写命令依次写入FIFO模块的写缓冲区,然后进入步骤S202。这些突发写命令的总线地址可以是非连续的,也可以是连续的,但是这些突发写命令的总线地址的起始地址不一定是相同的,比如其中一个突发写命令可以是向所述FIFO模块内部存储传感器数据的OxO至Ox07存储地址段发起突发写访问,也即突发写命令的总线地址的起始存储地址配置为OxO。有利于将多个配置的总线突发写命令合并为仅发起1 个突发写命令。
需要说明的是,突发写命令包括起始地址、数据有效标志位、突发写命令的写操作标志位和突发传输长度,存储于专门的寄存器内;所述FIFO模块内的数据寄存器组存储的传感器数据与前述的数据有效标志位相关联,所述FIFO模块开辟的写缓冲区的数量不受限制;优选的,当写缓存区内写入的数据有效标志位是有效时,AHB总线传输的传感器数据有效地突发写入数据寄存器组对应地址上。
步骤S202、检测到其中一所述突发写命令已经写入所述FIFO模块开辟的写缓冲区后,判断这个突发写命令的写操作标志位是否有效,是则进入步骤S203,否则进入步骤S208。这个突发写命令的写操作标志位是软件根据AHB总线环境实时刷新的,决定什么时候开始对所述FIFO模块内部数据寄存器组进行突发写操作。
步骤S203、控制FIFO模块的写指针开始左移1位,控制FIFO模块内已存储的传感器数据的存储地址同步开始右移n位,然后进入步骤S204。在步骤S203中,同一类突发访问模式下的突发传输长度是8,在开启一次突发写传感器数据之前,对FIFO模块的写指针加一,即写指针所指向的地址值左移一位,如写指针由r_addr[00100]移位变换为r_addr[01000];同时控制FIFO模块内已存储的传感器数据的存储地址同步右移3位,而不是现有的AHB总线写规定的8位(对应于突发传输长度),并对右移后的存储地址上的高3位补零,维持右移后的地址数值不变,从而加快写指针所指向的地址上存储的传感器数据被突发传输出去,而不受限于连续地址及非连续地址。
步骤S204、判断是否存在一个传感器数据移动至FIFO模块的写指针的最高有效位指向的地址,是则进入步骤S206,否则进入步骤S205。该步骤S204确定传感器数据的存储地址右移结束的条件,即传感器数据移动至FIFO模块的写指针的最高有效位指向的地址,可以是左移后的写指针的最高有效位指向的地址,也可以是未发生过左移的写指针的最高有效位指向的地址,其中,这里的最高有效位是:写指针的最右侧的比特位“1”所处的位置,即w_addr[00010]的第二位为最高有效位,避免写指针所需突发写的一个突发传输长度的数据没有足够内存空间容纳。
步骤S205、判断步骤S204左移后的突发写命令的写指针的指向地址与所述数据寄存器组内的空闲的存储地址是否存在重叠的地址段,是则进入步骤S207,否则返回步骤S203。在本实施例中,右移后的数据寄存器组内的传感器数据原来占据的存储地址可能变为空闲的。本实施例通过判断是否存在重叠的地址段,才让多次突发写入的传感器数据是有效的,实现合并多次突发写命令为一次突发写操作,同时也是为了避免写指针所需突发写的一个突发传输长度的数据没有足够FIFO模块内存空间容纳。
步骤S206、触发FIFO模块向外发出满标志信号,以停止外部与FIFO模块进行数据接收传输,等同于:只要步骤S203反复执行不多于所述预配置传输次数的左移操作后,所述数据寄存器组内的传感器数据的存储地址右移至所述突发写命令的写指针的最高有效位指向的地址上,即所述数据寄存器组内存储的一传感器数据相应地右移至所述突发写命令的写指针的最高有效位指向的地址上时,FIFO不用等到其内部被功能模块写满后才产生数据写满信号,则不需FIFO模块写满就提前触发停止数据传输标志位,提高传感器采样数据的传输实时性和***处理数据的效率。
步骤S207、按照当前参与判断的写指针指向的起始地址,从这个起始地址开始,AHB总线向所述FIFO模块内部的数据寄存器组(不需重新发起新的突发写操作)传输一个突发传输长度的地址段上的传感器数据,视为AHB总线向所述FIFO模块突发写入一个突发传输长度的传感器数据,然后返回步骤S203,通过维持写指针移位遍历判断,并将按照前述步骤S203至步骤S207完成将下一个突发传输长度的传感器数据写入所述FIFO模块。比如一个突发传输长度是8,步骤S205所述的重叠地址段是Ox01至Ox08的空闲地址段,从前述的起始地址Ox01开始,读指针向Ox01至Ox08的地址段发起对所述FIFO模块的数据写入访问,依次写入3个字节的传感器数据。
步骤S208、判断步骤S202所述的写操作标志位无效的突发写命令的写操作标志位是否变为有效,是则进入步骤S207,否则延时等待直到这个写操作标志位无效的突发写命令的写操作标志位变为有效。本实施例中,突发写命令是经过步骤S202检测并已写入所述FIFO模块的写缓冲区的,相应的写指针也是设置为指向匹配所述FIFO模块内的数据寄存器组的空闲地址的。步骤S202所述的写操作标志位无效的突发写命令的写指针指向的起始地址,是最新写入或最新判断(步骤S202执行不多于所述预配置传输次数的判断操作)出的突发写命令的写指针指向的起始地址。在检测到突发写命令重新变为有效时,从这个突发写命令的写指针指向的起始地址开始,将AHB总线获取的传感器数据直接写入所述FIFO模块内,而无需重新发起新的突发写操作,避免重复发起新的突发写操作的次数,对于非连续地址的突发写命令,能够有效地减小***资源的浪费。
在图2所示的实施例中,每当执行一次突发写操作,控制所述FIFO模块的写指针继续左移并保持传感器数据的存储地址同步右移,在规定突发传输时序内争取所述数据寄存器组的可写入空间,加快写入所需的多个突发传输长度的传感器数据,实现FIFO模块在突发机制下有效地满足数据分块传输状态下的功能模块控制需求,减少占用高级微控制器总线结构(AMBA) 总线的时间,提高FIFO模块的传输效率。
需要理解的是,设置各读写操作标志位时可以为: 读写操作标志位的电平低时,判定为有效,读写操作标志位的电平高时,判定为无效;也可以为:读写操作标志位的电平低时,判定为无效,读写操作标志位的电平高时,判定为有效。其余有效标识位也相似,在此处不做限制。
针对AHB总线读写FIFO的数据实时性问题,本发明又一实施例公开一种突发模式下的传感器数据读写控制***,通过移位控制读写地址区域的重叠情况,进而控制AHB总线突发读写FIFO的数据,实现在满足当前数据分块传输状态下,不需FIFO模块写满或读空就提前触发停止数据传输标志位,提高传感器采样的数据传输的实时性和***处理数据的效率。
如图3所示,该传感器数据读写控制***包括FIFO模块、AHB接口模块、读写控制模块和功能模块; FIFO模块是一种支持读写复用的双端口的存储器,AHB接口模块和功能模块都与FIFO模块电性连接, FIFO模块用于根据其内部的读指针和写指针进行数据传输操作,AHB接口模块用于接收同一类突发访问模式下的预配置传输次数的突发写命令或突发读命令; AHB接口模块和功能模块都与读写控制模块电性连接,读写控制模块,用于在同一类突发访问模式下,控制FIFO模块内已存储的传感器数据的存储地址右移n位,同时控制FIFO模块在所述同一类突发访问模式下向FIFO模块传输传感器数据,直到存在一个传感器数据移动至FIFO模块的读指针的最高有效位或FIFO模块的写指针的最高有效位,然后触发FIFO模块向外发出空/满标志信号,以停止AHB接口模块与FIFO模块进行数据收发传输、停止功能模块与FIFO模块进行数据收发传输。与现有技术相比,该传感器数据读写控制***在FIFO模块内已存储的传感器数据的存储地址右移的过程中,根据FIFO模块的读指针每次指向的FIFO模块存储地址,控制FIFO模块分别与AHB接口模块和功能模块进行同一类突发访问模式下的传感器数据的一次突发读传输或突发写传输,不受限于FIFO模块的空与满,而是实时根据FIFO模块的外部的数据传输需求来从读指针实时移位指向的地址上完成突发传输长度的传感器数据传输,不需FIFO模块写满或读空就提前触发停止数据传输标志位,提高传感器采样的数据传输的实时性和***处理数据的效率。
如图3所示,所述FIFO模块包括读缓冲区和数据寄存器组,数据寄存器组用于存储传感器数据;读写控制模块,用于检测到其中一所述突发读命令已经写入读缓冲区且所述突发读命令的读操作标志位有效时,控制FIFO模块的读指针左移,控制数据寄存器组内已经存储的传感器数据的存储地址同步进行右移,直到存在一个传感器数据移动至FIFO模块的读指针的最高有效位,其中,所述突发读命令的读指针指向的地址是处于数据寄存器组的地址线的访问地址范围内;读写控制模块,还用于在所述读缓冲区内所述突发读命令的读操作标志位有效的前提下,当检测到左移后的突发读命令的读指针的指向地址与右移后的数据寄存器组内的传感器数据的存储地址存在重叠的地址段时,按照这个读指针的指向地址向所述功能模块直接传输所述数据寄存器组存储的一个突发传输长度的地址段上的传感器数据。其中,所述读写控制模块控制所述FIFO模块实施的具体的突发读方式参考前述图1的实施例,在此不再赘述。本实施例在FIFO模块内增加读缓存区来缓存AHB总线接口接收到的读突发命令,使得所述读写控制模块通过判断后续接收的读突发命令指向地址是否与传感器数据的存储地址存在重叠,来将多笔小数据量访问合并发送一个总线突发读命令的技术效果,显著提高FIFO模块的读数据效率。
如图3所示,所述FIFO模块包括写缓冲区和数据寄存器组,数据寄存器组用于存储传感器数据;读写控制模块,用于检测到其中一所述突发写命令已经写入所述FIFO模块且所述突发写命令的写操作标志位有效时,控制FIFO模块的写指针左移,控制数据寄存器组内已经存储的传感器数据的存储地址同步进行右移,直到存在一个传感器数据移动至FIFO模块的写指针的最高有效位,其中,所述突发写命令的写指针指向的地址是处于数据寄存器组的地址线的访问地址范围内;读写控制模块,还用于在所述读缓冲区内所述突发读命令的写操作标志位有效的前提下,当检测到左移后的突发写命令的写指针的指向地址与所述数据寄存器组内的空闲的存储地址存在重叠的地址段时,按照这个写指针的指向地址将AHB总线传输的传感器数据直接写入所述数据寄存器组存储的一个突发传输长度的地址段上。其中,所述读写控制模块控制所述FIFO模块实施的具体的突发写方式参考前述图2的实施例,在此不再赘述。与现有技术相比,每当所述AHB接口模块执行一次突发写操作,所述读写控制模块控制所述FIFO模块的写指针继续左移并保持传感器数据的存储地址同步右移,每经过一次突发写操作则争取一次所述数据寄存器组的可写入空间,加快写入所需的多个突发传输长度的传感器数据,直到存在一个传感器数据移动至FIFO模块的写指针的最高有效位,实现FIFO模块在突发机制下有效地满足数据分块传输状态下的功能模块控制需求,减少占用高级微控制器总线结构(AMBA) 总线的时间,提高FIFO模块的传输效率。
基于前述实施例,还公开一种芯片,该芯片是SOC芯片,内嵌所述传感器数据读写控制***。该芯片不需FIFO模块写满或读空就提前触发停止数据传输标志位,提高数据在芯片内传输处理的实时性和芯片处理数据的效率。值得注意的是,前述读写控制模块作为主状态机,其它模块内部设置的逻辑控制电路作为子状态机,主状态机是由状态寄存器和组合逻辑电路构成,用于根据专门的寄存器配置起始地址、数据有效标志位、突发读命令的读操作标志位和突发传输长度、FIFO内部的读写指针,分批次调度子状态机的自动运转,以实现所述传感器数据的存储地址移位后在AHB接口模块和功能模块之间突发传输,其中,本发明实施例中涉及的所有功能单元模块均由数字运算电路组成。
在本申请所提供的实施例中,应该理解到,所揭露的***、芯片,可以通过其它的方式实现。例如,以上所描述的***实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
Claims (10)
1.一种突发模式下的传感器数据读写控制方法,其特征在于,包括:
在同一类突发访问模式下,控制FIFO模块内已存储的传感器数据的存储地址右移n位,同时控制FIFO模块在所述同一类突发访问模式下向FIFO模块传输传感器数据,直到存在一个传感器数据移动至FIFO模块的读指针的最高有效位的指向地址或FIFO模块的写指针的最高有效位的指向地址,然后触发FIFO模块向外发出空/满标志信号,以停止外部与FIFO模块进行数据收发传输;
其中,n是同一类突发访问模式下配置的传感器数据的突发传输长度的以2为底数的对数值,n是大于或等于1的整数。
2.根据权利要求1所述传感器数据读写控制方法,其特征在于,所述控制FIFO模块在所述同一类突发访问模式下向FIFO模块传输传感器数据之前,将同一类突发访问模式下的预配置传输次数的突发写命令依次写入写缓冲区,或者将同一类突发访问模式下的预配置传输次数的突发读命令依次写入读缓冲区;
其中,FIFO模块包括写缓冲区和读缓冲区,或者,FIFO模块包括一个支持复用为写缓冲区和读缓冲区的存储单元;
其中,这个预配置传输次数是为了完成采样处理当前所需的传感器数据,配置的AHB总线与FIFO模块之间所需进行的突发传输次数,同一类突发访问模式所配置的指令为突发读命令和突发写命令;每一次的突发传输长度都是相等的;
其中,传感器数据存储于FIFO模块内的数据寄存器组中。
3.根据权利要求2所述传感器数据读写控制方法,其特征在于,当检测到其中一所述突发读命令已经写入所述FIFO模块且所述突发读命令的读操作标志位有效时,控制FIFO模块的读指针开始左移1位,控制FIFO模块内存储的传感器数据的存储地址同步开始右移n位,当检测到左移后的突发读命令的读指针的指向地址与右移后的数据寄存器组内的传感器数据的存储地址存在重叠的地址段时,按照当前参与检测的读指针的指向地址向外部直接传输所述数据寄存器组存储的一个突发传输长度的地址段上的传感器数据,再控制所述FIFO模块的读指针继续左移并保持传感器数据的存储地址同步右移,直到存在一个传感器数据移动至FIFO模块的读指针的最高有效位指向的地址。
4.根据权利要求2所述传感器数据读写控制方法,其特征在于,当检测到其中一所述突发写命令已经写入所述FIFO模块且所述突发写命令的写操作标志位有效时,控制FIFO模块的写指针左移1位,控制FIFO模块内已存储的传感器数据的存储地址同步进行右移n位,当检测到左移后的突发写命令的写指针的指向地址与所述数据寄存器组内的空闲的存储地址存在重叠的地址段时,按照当前参与检测的写指针的指向地址将AHB总线传输的传感器数据直接写入所述数据寄存器组存储的一个突发传输长度的地址段上,再控制所述FIFO模块的写指针继续左移并保持传感器数据的存储地址同步右移,直到存在一个传感器数据移动至FIFO模块的写指针的最高有效位指向的地址。
5.根据权利要求3或4所述传感器数据读写控制方法,其特征在于,当检测到一个突发读命令的读操作标志位无效时,将这个突发读命令写入容错缓冲区,再停止外部读取这个突发读命令所包括的读指针指向地址上的传感器数据,等到检测到读操作标志位有效的新的突发读命令的读指针指向的起始地址与这个读操作标志位无效的突发读命令的读指针指向的起始地址重叠时,按照这个读操作标志位无效的突发读命令的读指针,向所述功能模块直接传输所述数据寄存器组存储的相应地址上的传感器数据;
其中,FIFO模块还包括容错缓冲区。
6.根据权利要求3或4所述传感器数据读写控制方法,其特征在于,当检测到一个突发写命令的写操作标志位无效时,则等待这个突发写命令的写操作标志位变为有效后,按照这个突发写命令所包括的写指针向将AHB总线传输的传感器数据写入所述数据寄存器组。
7.一种突发模式下的传感器数据读写控制***,其特征在于,该传感器数据读写控制***包括FIFO模块、AHB接口模块、读写控制模块和功能模块;
FIFO模块是一种支持读写复用的双端口的存储器,AHB接口模块和功能模块都与FIFO模块电性连接, FIFO模块用于根据其内部的读指针和写指针进行数据传输操作,AHB接口模块用于接收同一类突发访问模式下的预配置传输次数的突发写命令或突发读命令;
AHB接口模块和功能模块都与读写控制模块电性连接,读写控制模块,用于在同一类突发访问模式下,控制FIFO模块内已存储的传感器数据的存储地址右移n位,同时控制FIFO模块在所述同一类突发访问模式下向FIFO模块传输传感器数据,直到存在一个传感器数据移动至FIFO模块的读指针的最高有效位或FIFO模块的写指针的最高有效位,然后触发FIFO模块向外发出空/满标志信号,以停止AHB接口模块与FIFO模块进行数据收发传输、停止功能模块与FIFO模块进行数据收发传输。
8.根据权利要求7所述传感器数据读写控制***,其特征在于,所述FIFO模块包括读缓冲区和数据寄存器组,数据寄存器组用于存储传感器数据;
读写控制模块,用于检测到其中一所述突发读命令已经写入读缓冲区且所述突发读命令的读操作标志位有效时,控制FIFO模块的读指针左移,控制数据寄存器组内已经存储的传感器数据的存储地址同步进行右移,直到存在一个传感器数据移动至FIFO模块的读指针的最高有效位,其中,所述突发读命令的读指针指向的地址是处于数据寄存器组的地址线的访问地址范围内;
读写控制模块,还用于在所述读缓冲区内所述突发读命令的读操作标志位有效的前提下,当检测到左移后的突发读命令的读指针的指向地址与右移后的数据寄存器组内的传感器数据的存储地址存在重叠的地址段时,按照这个读指针的指向地址向所述功能模块直接传输所述数据寄存器组存储的一个突发传输长度的地址段上的传感器数据。
9.根据权利要求7所述传感器数据读写控制***,其特征在于,所述FIFO模块包括写缓冲区和数据寄存器组,数据寄存器组用于存储传感器数据;读写控制模块,用于检测到其中一所述突发写命令已经写入所述FIFO模块且所述突发写命令的写操作标志位有效时,控制FIFO模块的写指针左移,控制数据寄存器组内已经存储的传感器数据的存储地址同步进行右移,直到存在一个传感器数据移动至FIFO模块的写指针的最高有效位,其中,所述突发写命令的写指针指向的地址是处于数据寄存器组的地址线的访问地址范围内;
读写控制模块,还用于在所述读缓冲区内所述突发读命令的写操作标志位有效的前提下,当检测到左移后的突发写命令的写指针的指向地址与所述数据寄存器组内的空闲的存储地址存在重叠的地址段时,按照这个写指针的指向地址将AHB总线传输的传感器数据直接写入所述数据寄存器组存储的一个突发传输长度的地址段上。
10.一种芯片,其特征在于,该芯片是SOC芯片,内嵌权利要求1至9任一项所述传感器数据读写控制***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011274233.2A CN112416823B (zh) | 2020-11-15 | 2020-11-15 | 一种突发模式下的传感器数据读写控制方法、***及芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011274233.2A CN112416823B (zh) | 2020-11-15 | 2020-11-15 | 一种突发模式下的传感器数据读写控制方法、***及芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112416823A true CN112416823A (zh) | 2021-02-26 |
CN112416823B CN112416823B (zh) | 2024-05-03 |
Family
ID=74832663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011274233.2A Active CN112416823B (zh) | 2020-11-15 | 2020-11-15 | 一种突发模式下的传感器数据读写控制方法、***及芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112416823B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377290A (zh) * | 2021-06-03 | 2021-09-10 | 电子科技大学 | 基于axi协议的具有深存储和双捕获功能的数据采集装置 |
CN114036096A (zh) * | 2021-11-04 | 2022-02-11 | 珠海一微半导体股份有限公司 | 一种基于总线接口的读控制器 |
CN115033520A (zh) * | 2022-07-11 | 2022-09-09 | 深圳市金科泰通信设备有限公司 | Iic数据传输方法、装置、单片机设备及存储介质 |
CN115481079A (zh) * | 2021-06-15 | 2022-12-16 | 珠海一微半导体股份有限公司 | 一种数据调度***、可重构处理器及数据调度方法 |
Citations (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0628840A (ja) * | 1992-07-07 | 1994-02-04 | Fujitsu Ltd | Fifo回路 |
IL116984A0 (en) * | 1996-01-31 | 1996-05-14 | Galileo Technology Ltd | Multiple fifo array |
US5668767A (en) * | 1995-12-29 | 1997-09-16 | Cypress Semiconductor Corp. | Polled FIFO flags |
US5956748A (en) * | 1997-01-30 | 1999-09-21 | Xilinx, Inc. | Asynchronous, dual-port, RAM-based FIFO with bi-directional address synchronization |
WO2000068774A1 (en) * | 1999-05-07 | 2000-11-16 | Koninklijke Philips Electronics N.V. | Fifo system with variable-width interface to host processor |
DE10001168A1 (de) * | 1999-07-06 | 2001-01-18 | Mitsubishi Electric Corp | Ausgabe-Fifo-Datenübertragungssteuereinrichtung |
JP2002244990A (ja) * | 2001-02-15 | 2002-08-30 | Hitachi Ltd | バスインタフェースとデータ転送方法 |
WO2002099621A1 (en) * | 2001-06-06 | 2002-12-12 | Koninklijke Philips Electronics N.V. | Fifo buffer that can read and/or write a selectable number of data words per bus cycle |
US20040022099A1 (en) * | 2002-07-30 | 2004-02-05 | Fujitsu Limited | FIFO memory and semiconductor device |
CN1504884A (zh) * | 2002-11-29 | 2004-06-16 | 华为技术有限公司 | 一种对同步动态随机存储器自测试的方法及其装置 |
CN1545031A (zh) * | 2003-11-17 | 2004-11-10 | 中兴通讯股份有限公司 | 一种fifo存储器的数据处理方法 |
CN1558332A (zh) * | 2004-01-18 | 2004-12-29 | 中兴通讯股份有限公司 | 一种实现自动读写内部集成电路设备的装置和方法 |
US20050188125A1 (en) * | 2004-02-20 | 2005-08-25 | Lim Ricardo T. | Method and apparatus for burst mode data transfers between a CPU and a FIFO |
US6956776B1 (en) * | 2004-05-04 | 2005-10-18 | Xilinx, Inc. | Almost full, almost empty memory system |
CN1815626A (zh) * | 2005-01-31 | 2006-08-09 | 上海奇码数字信息有限公司 | 存储器存取控制器与存储器存取方法 |
CN1971543A (zh) * | 2006-12-11 | 2007-05-30 | 北京中星微电子有限公司 | 一种突发机制下实现数据读写控制的方法和装置 |
CN101034384A (zh) * | 2007-04-26 | 2007-09-12 | 北京中星微电子有限公司 | 一种能同时进行读写操作的dma控制器及传输方法 |
CN101123113A (zh) * | 2007-09-20 | 2008-02-13 | 上海交通大学 | 同步动态随机访问存储器的访问方法及控制装置 |
CN101281489A (zh) * | 2007-04-03 | 2008-10-08 | 中兴通讯股份有限公司 | 一种先进先出存储器实现方法及装置 |
CN101308450A (zh) * | 2008-06-27 | 2008-11-19 | 北京中星微电子有限公司 | Fifo控制电路及控制方法 |
CN101308697A (zh) * | 2008-07-10 | 2008-11-19 | 哈尔滨工业大学 | 基于sdram的大容量fifo突发缓存器及数据存储方法 |
WO2008142610A1 (en) * | 2007-05-16 | 2008-11-27 | Nxp B.V. | Fifo buffer |
CN101344870A (zh) * | 2008-08-19 | 2009-01-14 | 北京中星微电子有限公司 | 一种复用性强的fifo控制模块及其管理内存的方法 |
CN101510185A (zh) * | 2009-04-01 | 2009-08-19 | 北京中星微电子有限公司 | 一种高速总线向低速总线写入、读取数据的方法和装置 |
US20110093629A1 (en) * | 2009-10-21 | 2011-04-21 | Texas Instruments Incorporated | Control Function for Memory Based Buffers |
CN102385568A (zh) * | 2011-09-05 | 2012-03-21 | 浪潮电子信息产业股份有限公司 | 一种提高soc芯片读写速度的方法 |
CN102521175A (zh) * | 2011-12-20 | 2012-06-27 | 山东大学 | 一种sdram控制器及其工作方法 |
JP2012123620A (ja) * | 2010-12-08 | 2012-06-28 | Fujitsu Semiconductor Ltd | データ転送装置、データ転送方法、及び半導体装置 |
CN102654827A (zh) * | 2011-03-02 | 2012-09-05 | 安凯(广州)微电子技术有限公司 | 一种先进先出缓冲器及缓存数据的方法 |
CN103336920A (zh) * | 2013-05-29 | 2013-10-02 | 东南大学 | 用于无线传感网络soc芯片的安全*** |
CN104484011A (zh) * | 2014-11-25 | 2015-04-01 | 上海高性能集成电路设计中心 | 一种分布控制双时钟异步发送、接收模块及fifo装置 |
CN104679681A (zh) * | 2015-03-18 | 2015-06-03 | 山东华芯半导体有限公司 | Ahb总线访问片上sram的高速桥装置及其工作方法 |
CN105183665A (zh) * | 2015-09-08 | 2015-12-23 | 福州瑞芯微电子股份有限公司 | 一种数据缓存访问方法和数据缓存控制器 |
CN105320490A (zh) * | 2014-07-31 | 2016-02-10 | 德克萨斯仪器股份有限公司 | 用于异步fifo电路的方法和设备 |
CN105573951A (zh) * | 2015-12-24 | 2016-05-11 | 哈尔滨理工大学 | 一种针对数据流传输的ahb总线接口*** |
CN106951379A (zh) * | 2017-03-13 | 2017-07-14 | 郑州云海信息技术有限公司 | 一种基于axi协议的高性能ddr控制器及数据传输方法 |
CN107220023A (zh) * | 2017-06-29 | 2017-09-29 | 中国电子科技集团公司第五十八研究所 | 一种嵌入式可配置fifo存储器 |
CN107577636A (zh) * | 2017-09-12 | 2018-01-12 | 天津津航技术物理研究所 | 一种基于soc的axi总线接口数据传输***及传输方法 |
CN107943726A (zh) * | 2017-11-16 | 2018-04-20 | 郑州云海信息技术有限公司 | 一种基于PCIe接口的数据传输***及方法 |
CN108417235A (zh) * | 2018-06-06 | 2018-08-17 | 珠海市微半导体有限公司 | 一种基于3d封装的dram存储器及访问方法 |
CN108415859A (zh) * | 2018-04-28 | 2018-08-17 | 珠海市微半导体有限公司 | 一种激光陀螺仪数据的硬件加速电路 |
CN108897696A (zh) * | 2018-06-15 | 2018-11-27 | 西安微电子技术研究所 | 一种基于DDRx存储器的大容量FIFO控制器 |
CN108984442A (zh) * | 2018-08-14 | 2018-12-11 | 珠海市微半导体有限公司 | 一种基于二值化算法的加速控制***、芯片及机器人 |
CN109783933A (zh) * | 2019-01-14 | 2019-05-21 | 浙江大学 | 一种ahb总线访问片上sram的桥接方法 |
CN109857702A (zh) * | 2019-04-18 | 2019-06-07 | 珠海市一微半导体有限公司 | 一种基于机器人的激光雷达数据读写控制***及芯片 |
CN109933560A (zh) * | 2019-03-21 | 2019-06-25 | 南京威翔科技有限公司 | 一种基于fifo与随机存储器结合的模块间流控制通信方法 |
CN110910921A (zh) * | 2019-11-29 | 2020-03-24 | 深圳市国微电子有限公司 | 一种命令读写方法、装置及计算机存储介质 |
CN111274171A (zh) * | 2018-12-04 | 2020-06-12 | 珠海格力电器股份有限公司 | 一种数据传输装置及方法 |
CN111367495A (zh) * | 2020-03-06 | 2020-07-03 | 电子科技大学 | 一种异步先入先出的数据缓存控制器 |
CN111400205A (zh) * | 2020-02-29 | 2020-07-10 | 华南理工大学 | 一种先进先出地址轮询缓存读写方法、***及装置 |
CN211376201U (zh) * | 2019-11-29 | 2020-08-28 | 深圳市国微电子有限公司 | 一种命令读写装置、存储器 |
CN111782578A (zh) * | 2020-05-29 | 2020-10-16 | 西安电子科技大学 | 一种缓存控制方法、***、存储介质、计算机设备及应用 |
CN111832240A (zh) * | 2020-07-02 | 2020-10-27 | 北京思朗科技有限责任公司 | Fifo数据传输方法及fifo存储装置 |
-
2020
- 2020-11-15 CN CN202011274233.2A patent/CN112416823B/zh active Active
Patent Citations (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0628840A (ja) * | 1992-07-07 | 1994-02-04 | Fujitsu Ltd | Fifo回路 |
US5668767A (en) * | 1995-12-29 | 1997-09-16 | Cypress Semiconductor Corp. | Polled FIFO flags |
IL116984A0 (en) * | 1996-01-31 | 1996-05-14 | Galileo Technology Ltd | Multiple fifo array |
US5956748A (en) * | 1997-01-30 | 1999-09-21 | Xilinx, Inc. | Asynchronous, dual-port, RAM-based FIFO with bi-directional address synchronization |
WO2000068774A1 (en) * | 1999-05-07 | 2000-11-16 | Koninklijke Philips Electronics N.V. | Fifo system with variable-width interface to host processor |
DE10001168A1 (de) * | 1999-07-06 | 2001-01-18 | Mitsubishi Electric Corp | Ausgabe-Fifo-Datenübertragungssteuereinrichtung |
JP2002244990A (ja) * | 2001-02-15 | 2002-08-30 | Hitachi Ltd | バスインタフェースとデータ転送方法 |
WO2002099621A1 (en) * | 2001-06-06 | 2002-12-12 | Koninklijke Philips Electronics N.V. | Fifo buffer that can read and/or write a selectable number of data words per bus cycle |
US20040022099A1 (en) * | 2002-07-30 | 2004-02-05 | Fujitsu Limited | FIFO memory and semiconductor device |
CN1504884A (zh) * | 2002-11-29 | 2004-06-16 | 华为技术有限公司 | 一种对同步动态随机存储器自测试的方法及其装置 |
CN1545031A (zh) * | 2003-11-17 | 2004-11-10 | 中兴通讯股份有限公司 | 一种fifo存储器的数据处理方法 |
CN1558332A (zh) * | 2004-01-18 | 2004-12-29 | 中兴通讯股份有限公司 | 一种实现自动读写内部集成电路设备的装置和方法 |
US20050188125A1 (en) * | 2004-02-20 | 2005-08-25 | Lim Ricardo T. | Method and apparatus for burst mode data transfers between a CPU and a FIFO |
US6956776B1 (en) * | 2004-05-04 | 2005-10-18 | Xilinx, Inc. | Almost full, almost empty memory system |
CN1815626A (zh) * | 2005-01-31 | 2006-08-09 | 上海奇码数字信息有限公司 | 存储器存取控制器与存储器存取方法 |
CN1971543A (zh) * | 2006-12-11 | 2007-05-30 | 北京中星微电子有限公司 | 一种突发机制下实现数据读写控制的方法和装置 |
CN101281489A (zh) * | 2007-04-03 | 2008-10-08 | 中兴通讯股份有限公司 | 一种先进先出存储器实现方法及装置 |
CN101034384A (zh) * | 2007-04-26 | 2007-09-12 | 北京中星微电子有限公司 | 一种能同时进行读写操作的dma控制器及传输方法 |
WO2008142610A1 (en) * | 2007-05-16 | 2008-11-27 | Nxp B.V. | Fifo buffer |
CN101123113A (zh) * | 2007-09-20 | 2008-02-13 | 上海交通大学 | 同步动态随机访问存储器的访问方法及控制装置 |
CN101308450A (zh) * | 2008-06-27 | 2008-11-19 | 北京中星微电子有限公司 | Fifo控制电路及控制方法 |
CN101308697A (zh) * | 2008-07-10 | 2008-11-19 | 哈尔滨工业大学 | 基于sdram的大容量fifo突发缓存器及数据存储方法 |
CN101344870A (zh) * | 2008-08-19 | 2009-01-14 | 北京中星微电子有限公司 | 一种复用性强的fifo控制模块及其管理内存的方法 |
CN101510185A (zh) * | 2009-04-01 | 2009-08-19 | 北京中星微电子有限公司 | 一种高速总线向低速总线写入、读取数据的方法和装置 |
US20110093629A1 (en) * | 2009-10-21 | 2011-04-21 | Texas Instruments Incorporated | Control Function for Memory Based Buffers |
JP2012123620A (ja) * | 2010-12-08 | 2012-06-28 | Fujitsu Semiconductor Ltd | データ転送装置、データ転送方法、及び半導体装置 |
CN102654827A (zh) * | 2011-03-02 | 2012-09-05 | 安凯(广州)微电子技术有限公司 | 一种先进先出缓冲器及缓存数据的方法 |
CN102385568A (zh) * | 2011-09-05 | 2012-03-21 | 浪潮电子信息产业股份有限公司 | 一种提高soc芯片读写速度的方法 |
CN102521175A (zh) * | 2011-12-20 | 2012-06-27 | 山东大学 | 一种sdram控制器及其工作方法 |
CN103336920A (zh) * | 2013-05-29 | 2013-10-02 | 东南大学 | 用于无线传感网络soc芯片的安全*** |
CN105320490A (zh) * | 2014-07-31 | 2016-02-10 | 德克萨斯仪器股份有限公司 | 用于异步fifo电路的方法和设备 |
CN104484011A (zh) * | 2014-11-25 | 2015-04-01 | 上海高性能集成电路设计中心 | 一种分布控制双时钟异步发送、接收模块及fifo装置 |
CN104679681A (zh) * | 2015-03-18 | 2015-06-03 | 山东华芯半导体有限公司 | Ahb总线访问片上sram的高速桥装置及其工作方法 |
CN105183665A (zh) * | 2015-09-08 | 2015-12-23 | 福州瑞芯微电子股份有限公司 | 一种数据缓存访问方法和数据缓存控制器 |
CN105573951A (zh) * | 2015-12-24 | 2016-05-11 | 哈尔滨理工大学 | 一种针对数据流传输的ahb总线接口*** |
CN106951379A (zh) * | 2017-03-13 | 2017-07-14 | 郑州云海信息技术有限公司 | 一种基于axi协议的高性能ddr控制器及数据传输方法 |
CN107220023A (zh) * | 2017-06-29 | 2017-09-29 | 中国电子科技集团公司第五十八研究所 | 一种嵌入式可配置fifo存储器 |
CN107577636A (zh) * | 2017-09-12 | 2018-01-12 | 天津津航技术物理研究所 | 一种基于soc的axi总线接口数据传输***及传输方法 |
CN107943726A (zh) * | 2017-11-16 | 2018-04-20 | 郑州云海信息技术有限公司 | 一种基于PCIe接口的数据传输***及方法 |
CN108415859A (zh) * | 2018-04-28 | 2018-08-17 | 珠海市微半导体有限公司 | 一种激光陀螺仪数据的硬件加速电路 |
CN108417235A (zh) * | 2018-06-06 | 2018-08-17 | 珠海市微半导体有限公司 | 一种基于3d封装的dram存储器及访问方法 |
CN108897696A (zh) * | 2018-06-15 | 2018-11-27 | 西安微电子技术研究所 | 一种基于DDRx存储器的大容量FIFO控制器 |
WO2020034500A1 (zh) * | 2018-08-14 | 2020-02-20 | 珠海市一微半导体有限公司 | 一种基于二值化算法的加速控制***、芯片及机器人 |
CN108984442A (zh) * | 2018-08-14 | 2018-12-11 | 珠海市微半导体有限公司 | 一种基于二值化算法的加速控制***、芯片及机器人 |
CN111274171A (zh) * | 2018-12-04 | 2020-06-12 | 珠海格力电器股份有限公司 | 一种数据传输装置及方法 |
CN109783933A (zh) * | 2019-01-14 | 2019-05-21 | 浙江大学 | 一种ahb总线访问片上sram的桥接方法 |
CN109933560A (zh) * | 2019-03-21 | 2019-06-25 | 南京威翔科技有限公司 | 一种基于fifo与随机存储器结合的模块间流控制通信方法 |
CN109857702A (zh) * | 2019-04-18 | 2019-06-07 | 珠海市一微半导体有限公司 | 一种基于机器人的激光雷达数据读写控制***及芯片 |
CN110910921A (zh) * | 2019-11-29 | 2020-03-24 | 深圳市国微电子有限公司 | 一种命令读写方法、装置及计算机存储介质 |
CN211376201U (zh) * | 2019-11-29 | 2020-08-28 | 深圳市国微电子有限公司 | 一种命令读写装置、存储器 |
CN111400205A (zh) * | 2020-02-29 | 2020-07-10 | 华南理工大学 | 一种先进先出地址轮询缓存读写方法、***及装置 |
CN111367495A (zh) * | 2020-03-06 | 2020-07-03 | 电子科技大学 | 一种异步先入先出的数据缓存控制器 |
CN111782578A (zh) * | 2020-05-29 | 2020-10-16 | 西安电子科技大学 | 一种缓存控制方法、***、存储介质、计算机设备及应用 |
CN111832240A (zh) * | 2020-07-02 | 2020-10-27 | 北京思朗科技有限责任公司 | Fifo数据传输方法及fifo存储装置 |
Non-Patent Citations (6)
Title |
---|
占红武;胥芳;: "基于DDR2存储器的FIFO设计", 机电工程, no. 10 * |
吴连慧;周建江;夏伟杰;: "基于FPGA的DDR3多端口读写存储管理设计", 单片机与嵌入式***应用, no. 01 * |
夏琴香;周思聪;王石子;秦学锋;: "高速大容量FIFO缓冲存储器设计", 微计算机信息, no. 35 * |
张志安;陈荷娟;: "基于PCI接口芯片外扩FIFO的FPGA实现", 微计算机信息, no. 17 * |
彭莉, 秦建业, 付宇卓: "异步FIFO的设计与验证", 计算机工程与应用, no. 03 * |
王传政, 董建民: "256×9位FIFO存储器的设计与研制", 微处理机, no. 01 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377290A (zh) * | 2021-06-03 | 2021-09-10 | 电子科技大学 | 基于axi协议的具有深存储和双捕获功能的数据采集装置 |
CN113377290B (zh) * | 2021-06-03 | 2022-07-26 | 电子科技大学 | 基于axi协议的具有深存储和双捕获功能的数据采集装置 |
CN115481079A (zh) * | 2021-06-15 | 2022-12-16 | 珠海一微半导体股份有限公司 | 一种数据调度***、可重构处理器及数据调度方法 |
CN114036096A (zh) * | 2021-11-04 | 2022-02-11 | 珠海一微半导体股份有限公司 | 一种基于总线接口的读控制器 |
CN114036096B (zh) * | 2021-11-04 | 2024-05-03 | 珠海一微半导体股份有限公司 | 一种基于总线接口的读控制器 |
CN115033520A (zh) * | 2022-07-11 | 2022-09-09 | 深圳市金科泰通信设备有限公司 | Iic数据传输方法、装置、单片机设备及存储介质 |
CN115033520B (zh) * | 2022-07-11 | 2023-08-08 | 深圳市金科泰通信设备有限公司 | Iic数据传输方法、装置、单片机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112416823B (zh) | 2024-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112416823A (zh) | 一种突发模式下的传感器数据读写控制方法、***及芯片 | |
US7096296B2 (en) | Supercharge message exchanger | |
US20020154548A1 (en) | Fully synchronous pipelined RAM | |
EP2767908A1 (en) | Method and system for improving serial port memory communication latency and reliability | |
CN111832240B (zh) | Fifo数据传输方法及fifo存储装置 | |
CN114490460B (zh) | 一种用于asic的flash控制器及其控制方法 | |
JP2007525766A (ja) | マルチポートメモリシステムにおける衝突検出 | |
US7099231B2 (en) | Interleaving memory blocks to relieve timing bottleneck in a multi-queue first-in first-out memory system | |
US7710789B2 (en) | Synchronous address and data multiplexed mode for SRAM | |
EP1402340B1 (en) | First-in, first-out memory system and method thereof | |
US7870310B2 (en) | Multiple counters to relieve flag restriction in a multi-queue first-in first-out memory system | |
US7523232B2 (en) | Mark/re-read and mark/re-write operations in a multi-queue first-in first-out memory system | |
CN115794722B (zh) | 一种AXI outstanding接口转换实现方法 | |
CN1936778A (zh) | 切换内存时钟频率的方法和装置以及切换时钟频率的*** | |
KR101459200B1 (ko) | 전송 제어장치, 메모리 제어장치, 및 상기 전송 제어장치를 구비한 plc | |
KR19990029978A (ko) | 메모리 액세스 제어 회로 | |
US5444852A (en) | I/O device interface having buffer mapped in processor memory addressing space and control registers mapped in processor I/O addressing space | |
US20020110038A1 (en) | Fast random access DRAM management method | |
CN110008162B (zh) | 一种缓冲接口电路及基于该电路传输数据的方法和应用 | |
US20130326107A1 (en) | Hardware Apparatus for a System, System and Memory Access Method | |
CN109726149B (zh) | 一种axi总线访问nand flash的方法及装置 | |
US7028237B2 (en) | Internal bus testing device and method | |
JP2000030452A (ja) | コマンド・スタッキングを有する高帯域幅で狭い入出力のメモリ装置 | |
KR100266963B1 (ko) | 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치 | |
US8145809B1 (en) | Busy detection logic for asynchronous communication port |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 519000 2706, No. 3000, Huandao East Road, Hengqin new area, Zhuhai, Guangdong Applicant after: Zhuhai Yiwei Semiconductor Co.,Ltd. Address before: Room 105-514, No.6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Applicant before: AMICRO SEMICONDUCTOR Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |