CN113254387B - 数据缓存器、芯片、机器人、数据缓存方法 - Google Patents

数据缓存器、芯片、机器人、数据缓存方法 Download PDF

Info

Publication number
CN113254387B
CN113254387B CN202110562891.XA CN202110562891A CN113254387B CN 113254387 B CN113254387 B CN 113254387B CN 202110562891 A CN202110562891 A CN 202110562891A CN 113254387 B CN113254387 B CN 113254387B
Authority
CN
China
Prior art keywords
data
fifo
read
port sram
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.)
Active
Application number
CN202110562891.XA
Other languages
English (en)
Other versions
CN113254387A (zh
Inventor
赵旺
肖刚军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Amicro Semiconductor Co Ltd
Original Assignee
Zhuhai Amicro Semiconductor Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhuhai Amicro Semiconductor Co Ltd filed Critical Zhuhai Amicro Semiconductor Co Ltd
Priority to CN202110562891.XA priority Critical patent/CN113254387B/zh
Publication of CN113254387A publication Critical patent/CN113254387A/zh
Application granted granted Critical
Publication of CN113254387B publication Critical patent/CN113254387B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Communication Control (AREA)
  • Image Input (AREA)

Abstract

本发明公开数据缓存器、芯片、机器人、数据缓存方法,该数据缓存器是连接于摄像头模组和SOC系统总线之间,所述数据缓存器包括数据转换接口、接收FIFO、单口SRAM和发送FIFO;数据转换接口用于接收摄像头模组传输过来的数据,并将传输过来的数据转换后缓存到接收FIFO;单口SRAM用于在接收FIFO的内部存储有数据时,从接收FIFO内读取当前缓存的数据,使得数据转换接口缓存的数据不将接收FIFO写满;所述发送FIFO用于将其内部缓存的数据传输给SOC系统总线;单口SRAM用于在其内部存储有数据、发送FIFO没有被数据填满且所述接收FIFO内没有存储数据时,将其内部缓存的数据写入所述发送FIFO。

Description

数据缓存器、芯片、机器人、数据缓存方法
技术领域
本发明涉及数据存储技术领域,尤其涉及一种数据缓存器、芯片、机器人、数据缓存方法。
背景技术
随着科技的飞速发展,对高分辨率、高帧率的图像数据应用领域越来越多。高速图像数据庞大的信息量对数据传输接口的信号带宽、传输速率提出的要求越来越高。伴随着半导体集成化程度的提高,一个片上系统(SOC)集成的功能模块越来越多,各个功能模块都有数据传输的需求,从而大大加重了系统总线数据传输的负担。SOC对各个功能模块的总线数据传输大都采用轮循机制,系统总线不能很长时间被某个模块单独占用。因此,当总线负荷很重的时候,系统总线瞬时带宽往往不能满足图像数据传输模块的实时带宽需求。
为解决高速图像数据传输瞬时带宽要求高的问题,SOC中图像数据传输模块内部需要增加图像数据缓存。根据摄像头传输数据的特点,图像数据是逐行传输的,但是容易产生总线瞬时带宽不够的问题。而且,随着图像分辨率的不断提高,很多应用图像都达到了8K分辨率。8K分辨率即7680x4320个像素,以传输图像格式YUV422、像素位宽8bit为例,缓存一行8K分辨率图像的数据大小为120Kb(7680x8x2/1024),由于SOC接收摄像头的数据会存在不同时钟域间的数据传输问题,现有技术的图像数据存储器内单独采用异步FIFO或单独采用双口SRAM作为数据缓存单元,虽然能够完成数据缓存和解决数据异步传输的问题,但是实际应用时数据缓存单元面积较大且成本较高。
发明内容
针对以上问题,本发明提供一种采用FIFO加单口SRAM相结合的图像数据缓存器,具体的技术方案如下:
一种数据缓存器,该数据缓存器是连接于摄像头模组和SOC系统总线之间,所述数据缓存器包括数据转换接口、接收FIFO、单口SRAM和发送FIFO;接收FIFO的数据输入端与数据转换接口的数据输出端相连接,数据转换接口和摄像头模组相连接,数据转换接口用于接收摄像头模组传输过来的数据,并将传输过来的数据转换后缓存到接收FIFO;接收FIFO的数据输出端与单口SRAM的数据输入端相连接,单口SRAM,用于在接收FIFO的内部存储有数据时,从接收FIFO内读取当前缓存的数据,使得数据转换接口缓存的数据不将接收FIFO写满;发送FIFO的数据输出端与SOC系统总线相连接,所述发送FIFO,用于将其内部缓存的数据传输给SOC系统总线;单口SRAM的数据输出端与发送FIFO的数据输入端相连接,单口SRAM,用于在其内部存储有数据、发送FIFO没有被数据填满且所述接收FIFO内没有数据时,将其内部缓存的数据写入所述发送FIFO。
与现有技术相比,本技术方案采用接收FIFO、单口SRAM和发送FIFO组合成一个低面积和低成本的数据缓存器,同一片单口SRAM对接收FIFO和发送FIFO对的读写操作不同时进行,而是在特定的数据缓存状态下先对接收FIFO读取,再对发送FIFO执行写操作,使得SOC系统总线能利用摄像头传输图像的行间隔时间,及时把所述数据缓存器缓存的数据搬走,以解决SOC系统总线瞬时带宽不够的问题,进而解决相应情况下可能出现数据丢失的问题,也不会由此而影响整体的数据传输效率;同时,本技术方案利用单口SRAM作为主要缓存单元,充分发挥其面积小的优点,让其总的面积会小于单独采用FIFO或单独采用双口SRAM的设计方案。
进一步地,所述单口SRAM,用于在所述单口SRAM设置的读写控制端获取的第一读操作信号的控制下,从存储有数据的所述接收FIFO内读取当前缓存的数据,以保存到所述单口SRAM内部的存储空间中;所述接收FIFO,用于在其内部存储有数据时,根据所述接收FIFO设置的读写控制端获取的第一写操作信号,将其内部缓存的数据写入所述单口SRAM,使得数据转换接口缓存的数据不将接收FIFO写满;其中,所述单口SRAM设置的读写控制端获取第一读操作信号的时间与所述接收FIFO设置的读写控制端获取第一写操作信号的时间是相同;或者,所述单口SRAM设置的读写控制端获取的第一读操作信号与所述接收FIFO设置的读写控制端获取的第一写操作信号是同一个控制信号。该技术方案为了保证所述接收FIFO不被写满,只要所述接收FIFO不为空,就要把数据读走写到单口SRAM,单口SRAM保证能随时写入从接收FIFO送过来的逐行图像数据。
进一步地,所述单口SRAM,用于在其内部存储有数据时,根据所述单口SRAM设置的读写控制端获取的第二写操作信号,向没有被数据填满的所述发送FIFO写入已缓存的数据,其中,所述接收FIFO内没有存储数据时,所述单口SRAM不接收所述第一读操作信号;所述发送FIFO,用于在没有被数据填满时,根据所述发送FIFO设置的读写控制端获取的第二读操作信号,从存储有数据的所述单口SRAM内读取已缓存的数据;其中,所述单口SRAM设置的读写控制端获取第二写操作信号的时间与所述发送FIFO设置的读写控制端获取第二读操作信号的时间是相同;或者,所述单口SRAM设置的读写控制端获取的第二写操作信号与所述发送FIFO设置的读写控制端获取的第二读操作信号是同一个控制信号。
结合前述实施例在单口SRAM不从外部读数据的前提下,开始把数据写到发送FIFO中,从而通过将对所述单口SRAM的写操作的优先级配置为高于对其读操作的优先级,优先保证所述单口SRAM能够缓存摄像头传输的数据,再保证摄像头传输图像数据的行间隔时间内仍能让SOC系统总线实时的把发送FIFO的数据读走,避免SOC系统总线出现瞬间堵塞而丢失数据的现象,克服所述发送FIFO数据传输的瓶颈。
进一步地,所述接收FIFO属于异步FIFO,所述接收FIFO的写时钟端与所述摄像头模组的驱动时钟端相连,所述接收FIFO的读时钟端接入所述SOC系统总线的驱动时钟,使得所述接收FIFO成为所述摄像头模组所在的时钟域和所述SOC系统总线所在的时钟域之间的数据传输的缓冲区。解决不同时钟域数据传输的问题。
进一步地,所述发送FIFO属于同步FIFO,所述发送FIFO的读时钟端和所述发送FIFO的写时钟端都接入所述SOC系统总线的驱动时钟,所述发送FIFO用于在相关总线配置信号的控制下,向所述SOC系统总线一次性传输一批数据,其中,一次性传输的一批数据的数目等于所述发送FIFO的深度;所述发送FIFO的深度大于所述接收FIFO的深度。该技术方案配合片上系统总线协议实现一次性能传输多个数据,保证了SOC系统总线的数据传输效率。
进一步地,当所述摄像头模组向所述数据缓存器传输数据的时间处于相邻两行图像数据之间存在的行间隔时间时,所述单口SRAM将其内部缓存的数据写入所述发送FIFO,以使得所述SOC系统总线通过所述发送FIFO搬运所述单口SRAM内当前缓存的数据;其中,所述摄像头模组向所述数据缓存器传输的数据是实时采集的图像数据,且是具备预设分辨率的图像数据;其中,单口SRAM的内存容量被配置为预设分辨率的图像数据的一行数据所占的内存容量;其中,单口SRAM不允许同时执行读操作和写操作。与现有技术,该技术方案采用FIFO加单口SRAM相结合的数据缓存器去缓冲摄像头逐行传输的图像数据,实现:不仅在所述摄像头传输数据期间传输并缓存图像数据,而且在行间隔区间继续传输当前缓存的有限容量的图像数据(图像数据的一行数据所占的内存容量)。
进一步地,所述摄像头模组向所述数据缓存器传输的图像数据是逐行传输的,且每传输相邻两行数据之间都存在行间隔时间,所述摄像头模组在所述行间隔时间内没有图像数据传输至所述数据缓存器。该技术方案使用所述接收FIFO持续为所述单口SRAM缓存足够多的图像数据,然后基于逐行传输的图像数据具备的行间隔的特征,为所述单口SRAM、所述发送FIFO提供足够的搬运时间,减缓片上系统总线瞬时带宽不够缓存过多图像数据的压力。
进一步地,所述数据转换接口用于接收摄像头模组传输过来的串行数据,并按照CSI传输协议将传输过来的数据实时转换为并行数据,再将转换后的并行数据缓存到所述接收FIFO。在本技术方案中,所述数据转换接口采用MIPI标准的CSI接口,形成一种高速图像接口,把摄像头传输过来的高速串行数据,按照CSI传输协议转换为并行数据送到所述接收FIFO。
进一步地,所述接收FIFO、所述单口SRAM和所述发送FIFO都设置有对应的读写控制器,用于通过发出对应的读操作信号或写操作信号来控制执行相适应的读写操作。使得所述接收FIFO、所述单口SRAM和所述发送FIFO这些相应的缓存区都成为受控的单元,可以根据相应的接口协议、系统总线协议进行读写控制信号的配置。
一种芯片,包括SOC系统总线和前述技术方案提及的数据缓存器,所述芯片的外围接口连接有摄像头模组,所述数据缓存器,用于控制将所述摄像头模组采集的图像数据按行顺序传输给所述SOC系统总线,以使得所述SOC系统总线及时将传输过来的数据读走,避免产生所述SOC系统总线的瞬时带宽不够的问题;该芯片利用单口SRAM作为主要缓存单元,充分发挥其面积小的优点,让其总的面积会小于单独采用FIFO或单独采用双口SRAM的设计方案。
一种机器人,机体表面安装有摄像头模组,机器人内部安装有所述芯片。提高整体的图像数据传输效率,保证机器人的视觉定位导航效率,进而提高相关机器人模组产品在图像处理应用领域的整体竞争优势。
一种数据缓存方法,该数据缓存方法适用于至少一个读写控制器,读写控制器用于在数据缓存方法的控制作用下,控制摄像头模组采集的数据通过数据转换接口、接收FIFO、单口SRAM和发送FIFO传输至SOC系统总线;所述数据缓存方法包括:控制数据转换接口接收摄像头模组传输过来的数据,并将传输过来的数据转换后写入所述接收FIFO;在检测到所述接收FIFO处于非空状态时,将所述接收FIFO内缓存的数据写入所述单口SRAM,使得数据转换接口缓存的数据不将所述接收FIFO写满;当检测到所述单口SRAM处于非空状态、发送FIFO处于非满状态、且所述接收FIFO内处于空状态时,将所述单口SRAM的内部缓存的数据写入所述发送FIFO。以实现总线负荷很重的时候,解决SOC系统总线产生瞬时的堵塞下会出现数据丢失的问题。具体在特定的数据缓存状态下或读写控制信号下先对接收FIFO读取,再对发送FIFO执行写操作,不仅保证所述单口SRAM能够缓存摄像头传输的数据,而且保证SOC系统总线能利用摄像头传输图像的行间隔时间及时把所述数据缓存器缓存的数据搬走,以解决SOC系统总线瞬时带宽不够的问题。。
进一步地,所述数据缓存方法具体包括:在所述接收FIFO处于非空状态下,为所述接收FIFO分配第一读控制信号,在第一读控制信号的控制作用下,将所述接收FIFO内部缓存的数据读取出来并传输给所述单口SRAM,同时,为所述单口SRAM分配第一写控制信号,在第一写控制信号的控制作用下,将从所述接收FIFO的内部读取的数据写入所述单口SRAM。从而避免所述接收FIFO不被写满,能够及时将数据读走写到单口SRAM,保证图像数据的传输效率。
进一步地,所述数据缓存方法具体包括:在所述单口SRAM处于非空状态下,为所述单口SRAM分配第二读控制信号,控制所述单口SRAM不接收所述第一写控制信号,并从所述单口SRAM内读取出数据,同时,在所述发送FIFO处于非满状态下,为所述发送FIFO分配第二写控制信号,在第二写控制信号的控制作用下,将所述单口SRAM内读取出的数据写入所述发送FIFO。
通过调配读写控制信号,将对所述单口SRAM的写操作的优先级配置为高于对其的读操作的优先级,使得单口SRAM不从外部读数据的前提下,才把数据写到发送FIFO中。总体上不会影响数据传输效率。使得单口SRAM不从外部读数据的前提下,才把数据写到发送FIFO中,从而优先控制所述单口SRAM能够缓存摄像头传输的数据,再控制摄像头传输图像数据的行间隔时间内仍能让SOC系统总线实时的把发送FIFO的数据读走,解决往所述SOC系统总线传输过多的数据而出现总线瞬时带宽不够的问题。
进一步地,当所述摄像头模组向所述数据转换接口传输数据的时间是处于相邻两行图像数据之间存在的行间隔时间内时,控制所述单口SRAM将其内部缓存的数据写入处于非满状态的所述发送FIFO,以使得所述SOC系统总线通过所述发送FIFO搬运所述单口SRAM内当前缓存的数据;其中,所述摄像头模组向所述数据缓存器传输的数据是实时采集的图像数据,且是具备预设分辨率的图像数据;所述摄像头模组向所述数据转换接口传输的图像数据是逐行传输的,且每传输相邻两行数据之间都存在行间隔时间,所述摄像头模组在所述行间隔时间内没有数据传输至所述数据缓存器;其中,单口SRAM的内存容量被配置为预设分辨率的图像数据的一行数据所占的内存容量。
与现有技术,该技术方案采用FIFO加单口SRAM,不仅在摄像头传输数据阶段缓存图像数据,而且在行间隔区间去传输当前缓存的有限容量的图像数据(图像数据的一行数据所占的内存容量),同时,为所述单口SRAM、所述发送FIFO提供足够的搬运时间,减缓片上系统总线瞬时带宽不够缓存过多图像数据的压力。
附图说明
图1为本发明实施例公开一种数据缓存器的模块框架示意图。
图2为本发明另一实施例公开一种数据缓存方法的流程示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚,以下将结合附图及具体实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。基于本申请提供的具体实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,对于本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计、制造或者生产变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
除非另作定义,本申请所涉及的技术术语或科学术语应当为本申请所属技术领域内普通技术人员所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可以表示单数或复数。本申请所涉及的术语“包含”、“包括”、“具有”以及它们任何变形,意图在于覆盖不排他的包含,例如:包含了一系列步骤或模块的过程、方法、系统、产品或设备并不限定于已列出的步骤或模块或单元,而是还可以包括没有列出的步骤或模块或单元,或者还可以包括对于这些过程、方法、产品或设备固有的其他步骤或单元。本申请所涉及的术语“第一”、“第二”、“第三”可以是区别类似的对象,也可以代表针对对象的操作优先级。
基于本领域技术人员的认知水平可知,FIFO(First In First Out,先进先出)存储器是一种先进先出缓存设备,可以将获得的数据预先写入FIFO存储器,再按原先的顺序全部取出提供给需要数据的设备。FIFO存储器的一个重要指标,是FIFO存储器最多能保存数据的个数,称之为深度,对于深度较小的FIFO存储器,其存储单元采用FIFO寄存器,下文简称为FIFO,比如:接收FIFO和发送FIFO,深度较大的FIFO存储器,其存储单元采用SRAM(Static Random Access Memory,静态随机存储器)。现有技术中,全速FIFO存储器,常用双口SRAM作为片上系统存储器的记忆单元,但是双口SRAM的面积较单口SRAM大,不利于实际应用时减小集成电路的面积,实用性不强。
一般而言,FIFO寄存器、单口SRAM、双口SRAM的读数据端口或者写数据端口每个时钟周期都能操作一个数据。对于写数据端口,如果FIFO寄存器、单口SRAM、双口SRAM内还有多余的存储空间,只要可以执行写操作,都能写入一个数据。对于读数据端口,如果FIFO寄存器、单口SRAM、双口SRAM内的存储空间还有数据,只要可以执行读操作,都能读出一个数据。
如图1所示,本发明实施例公开一种数据缓存器,该数据缓存器是连接于摄像头模组和SOC系统总线之间,所述数据缓存器包括数据转换接口、接收FIFO、单口SRAM和发送FIFO;优选地,接收FIFO和发送FIFO,都是以寄存器为存储单元,深度大于2的FIFO寄存器,用来缓存待读出数据或待写入数据。接收FIFO的数据输入端与数据转换接口的数据输出端相连接,数据转换接口的数据输入端和摄像头模组的数据输出端相连接,数据转换接口用于接收摄像头模组传输过来的数据,并将传输过来的数据转换后缓存到接收FIFO,数据转换接口对所述摄像头模组传输过来的数据的处理可以是一系列的编解码操作、或数据格式转换、或串并行转换传输,使得数据转换接口可以存在多组输出端,分别连接上一个接收FIFO的多个数据输入端或多个接收FIFO对应的一个数据输入端;在本实施例中,所述数据转换接口可以优选限定为高速数据接口,以满足一定的传输速率,其中,摄像头模组传输的数据优选为高速串行数据。
接收FIFO的数据输出端与单口SRAM的数据输入端相连接,单口SRAM,用于在所述接收FIFO的内部存储有数据(所述接收FIFO处于非空状态)时,从接收FIFO内读取当前缓存的数据,实现将接收FIFO内缓存的数据送到单口SRAM,使得所述数据转换接口缓存的数据不将所述接收FIFO写满;需要说明的是,接收FIFO可以由专门的读写控制器或与所述数据缓存器内的其他模块共享的一个读写控制器完成读写操作的控制、调度。同理地,单口SRAM和发送FIFO分别可以由专门的读写控制器或共享的一个读写控制器完成读写操作的控制、调度。
发送FIFO的数据输出端用于连接SOC系统总线,即发送FIFO挂载到SOC系统总线上,所述发送FIFO,用于将其内部缓存的数据传输给SOC系统总线;单口SRAM的数据输出端与发送FIFO的数据输入端相连接,单口SRAM,用于在其内部存储有数据、发送FIFO没有被数据填满且所述接收FIFO内没有存储数据时,将其(单口SRAM)内部缓存的数据写入所述发送FIFO。由于单口SRAM不允许同时执行读操作和写操作,所以,所述接收FIFO内没有存储数据时,所述单口SRAM不从所述接收FIFO内读取数据,即所述单口SRAM不执行读操作时,只允许通过执行写操作来将其内部缓存的数据写入所述发送FIFO,同时,所述单口SRAM处于非空状态,待写入数据的所述发送FIFO处于非满状态,驱动所述单口SRAM内部缓存的数据与所述发送FIFO之间的数据传输;当然在此之前,所述单口SRAM内部缓存的数据与所述发送FIFO之间的数据传输也是保持传输数据的状态,只不过所述单口SRAM内部按照一定的时钟周期缓存数据,可能会出现:所述SOC系统总线的带宽在某一瞬间不够充裕以应付数据传输。
与现有技术相比,所述数据缓存器采用接收FIFO、单口SRAM和发送FIFO组合成一个低面积和低成本的数据缓存器,同一片单口SRAM对接收FIFO和发送FIFO对的读写操作不同时进行,而是在特定的数据缓存状态下先对接收FIFO读取,再对发送FIFO执行写操作,该数据缓存器不仅在摄像头传输数据期间传输并缓存图像数据,而且SOC系统总线能利用摄像头传输图像的行间隔时间,及时把所述数据缓存器缓存的数据搬走,以解决SOC系统总线瞬时带宽不够的问题,保证整体的数据传输效率;同时,本实施例利用单口SRAM作为主要缓存单元,充分发挥其面积小的优点,让其总的面积会小于单独采用FIFO或单独采用双口SRAM的设计方案,降低成本。
作为一种实施例,所述单口SRAM,用于在所述单口SRAM设置的读写控制端获取的第一读操作信号的控制下,也理解为所述单口SRAM对应的读写控制器接收到读请求命令时,从内部存储有数据的所述接收FIFO内读取当前缓存的数据,以保存到所述单口SRAM内部的存储空间中;即可以在相应的读写控制器的作用下从处于非空状态的所述接收FIFO内读取数据并写入所述单口SRAM内部。在同一时间,所述接收FIFO在其内部存储有数据时,即所述接收FIFO处于非空状态时,根据所述接收FIFO设置的读写控制端获取的第一写操作信号,也理解为所述接收FIFO对应的读写控制器接收到写请求命令时,将所述接收FIFO内部缓存的数据写入所述单口SRAM,直至所述接收FIFO内部缓存的数据变空为止,也能够控制数据转换接口缓存的数据不将接收FIFO写满。其中,所述单口SRAM设置的读写控制端获取第一读操作信号的时间与所述接收FIFO设置的读写控制端获取第一写操作信号的时间是相同;或者,所述单口SRAM设置的读写控制端获取的第一读操作信号与所述接收FIFO设置的读写控制端获取的第一写操作信号来源于同一个控制信号,表示从接收FIFO的读数据的同时把数据写到单口SRAM中。因此,本实施例为了保证所述接收FIFO不被写满,只要所述接收FIFO不为空,就要把数据读走写到单口SRAM,单口SRAM保证能随时写入从接收FIFO送过来的逐行图像数据。
作为一种实施例,所述单口SRAM的内部存储有数据时,根据所述单口SRAM设置的读写控制端获取的第二写操作信号,理解为所述单口SRAM对应的读写控制器接收到写请求命令时,开始向没有被数据填满(处于非满状态)的所述发送FIFO写入已缓存的数据,直到所述单口SRAM内部的存储空间变为空为止,其中,所述接收FIFO内没有存储数据时,所述单口SRAM设置的读写控制端不接收读请求命令,而是获取到第二写操作信号,并停止从所述接收FIFO内读取数据。因此,在本实施例中,为了保证能随时写入从所述接收FIFO送过来的数据,对所述单口SRAM的写操作的优先级被配置为高于对其读操作的优先级。在同一时间段内,所述发送FIFO在没有被数据填满时(即处于非满状态下),根据所述发送FIFO设置的读写控制端获取的第二读操作信号,可以理解为根据根据所述发送FIFO匹配的读写控制器获取的读请求命令,从存储有数据的所述单口SRAM内读取已缓存的数据,以备同步传输到所述SOC系统总线,直到所述单口SRAM内部存储的数据都被读取出来,或者所述发送FIFO被填满为止。其中,所述单口SRAM设置的读写控制端获取第二写操作信号的时间与所述发送FIFO设置的读写控制端获取第二读操作信号的时间是相同;或者,所述单口SRAM设置的读写控制端获取的第二写操作信号与所述发送FIFO设置的读写控制端获取的第二读操作信号是同一个控制信号,表示从单口SRAM读数据的同时把数据写到发送FIFO中。结合前述实施例在单口SRAM不从外部读数据的前提下,开始把数据写到发送FIFO中,从而通过将对所述单口SRAM的写操作的优先级配置为高于对其读操作的优先级,优先保证所述单口SRAM能够缓存摄像头传输的数据,再保证摄像头传输图像数据的行间隔时间内仍能让SOC系统总线实时的把发送FIFO的数据读走,克服所述发送FIFO的数据传输瓶颈。避免SOC系统总线出现瞬间堵塞而丢失数据的现象,即解决SOC系统总线瞬时带宽不够的问题。
优选地,所述接收FIFO属于异步FIFO,所述接收FIFO的写时钟端与所述摄像头模组的驱动时钟端相连,所述接收FIFO的读时钟端接入所述SOC系统总线的驱动时钟,使得所述接收FIFO成为所述摄像头模组所在的时钟域和所述SOC系统总线所在的时钟域之间的数据传输的缓冲区。解决不同时钟域数据传输的问题。优选地,所述接收FIFO的深度为4,作为不同时钟域数据传输的缓冲区,面积很小。本实施例涉及图像数据从所述摄像头模组的驱动时钟域写入所述接收FIFO的缓冲区,同时数据值从所述SOC系统总线的驱动时钟域的相同FIFO缓冲区中被读取出来,其中两个时钟域彼此异步,即所述接收FIFO的读频率和写频率不相同。
优选地,所述发送FIFO属于同步FIFO,所述发送FIFO的读时钟端和所述发送FIFO的写时钟端都接入所述SOC系统总线的驱动时钟,即所述发送FIFO的写入和读取都处于同一时钟域中进行;所述发送FIFO的深度大于所述接收FIFO的深度,优选地,所述发送FIFO的深度为16,面积很小。所述发送FIFO用于在相关总线配置信号的控制下,向所述SOC系统总线一次性传输一批数据,其中,一次性传输的一批数据的数目等于所述发送FIFO的深度,当所述SOC系统总线为AHB总线时,所述发送FIFO一次突发传输16个数据至AHB总线上,且是所述SOC系统总线一次最多能读走16个数据,保证了SOC系统总线的数据传输效率。
作为一种实施例,当所述摄像头模组向所述数据缓存器传输数据的时间处于相邻两行图像数据之间存在的行间隔时间时,所述摄像头模组在所述行间隔时间内没有有效的图像数据传输至所述数据缓存器,所述单口SRAM不从所述接收FIFO内读取数据,所述单口SRAM至多已经缓存图像数据的一行数据(像素数据),所述单口SRAM在所述第二写操作信号的控制作用下,将其内部缓存的数据写入所述发送FIFO,以使得所述SOC系统总线所述行间隔时间内(空闲时间内)通过所述发送FIFO搬运所述单口SRAM内当前缓存的数据;需要说明的是,本实施例中,所述摄像头模组向所述数据缓存器传输的数据是实时采集的图像数据,且是具备预设分辨率的图像数据;所述摄像头模组向所述数据缓存器传输的图像数据是逐行传输的,包括传输像素的奇数行、以及传输像素的偶数行;每传输相邻两行数据之间都存在行间隔时间;本实施例采用FIFO加单口SRAM相结合的数据缓存器去缓冲摄像头逐行传输的图像数据,实现:不仅在所述摄像头传输数据期间传输并缓存图像数据,而且在行间隔区间继续传输当前缓存的有限容量的图像数据(图像数据的一行数据所占的内存容量)。
具体地,单口SRAM的内存容量的最大值被配置为预设分辨率的图像数据的一行数据所占的内存容量,优选地,以传输图像格式YUV422、像素位宽8bit的8K分辨率的图像为例,缓存一行8K图像数据大小为120Kb(7680x8x2/1024),所以,单口SRAM的内存容量被配置为120Kb,使其读取8K分辨率图像的一行数据,使用所述接收FIFO持续为所述单口SRAM缓存足够多的图像数据,然后基于逐行传输的图像数据具备的行间隔的特征,为所述单口SRAM、所述发送FIFO提供足够的搬运时间,减缓片上系统总线瞬时带宽不够缓存过多图像数据的压力。
优选地,所述数据转换接口用于接收摄像头模组传输过来的串行数据,并按照CSI传输协议将传输过来的数据实时转换为并行数据,再将转换后的并行数据缓存到所述接收FIFO。所述数据转换接口采用MIPI标准的CSI接口,定义了一个位于处理器和摄像模组之间的高速串行接口,用于把摄像头传输过来的高速串行数据,按照CSI传输协议转换为并行数据送到所述接收FIFO。在一些实施例中,CSI-2接口可以只使用一组差分数据信号线以及一组差分时钟线就能够完成摄像头的数据串行传输过程,这样便减少了负载,同时也能够满足一定的传输速率,而对于大阵列的CCD相机,CSI-2接口也能够扩展其差分数据线,从而满足多组数据线并行传输的高速要求。
在前述实施例中,所述接收FIFO、所述单口SRAM和所述发送FIFO都设置有对应的读写控制器,用于通过发出对应的读操作信号或写操作信号来控制执行相适应的读写操作。使得所述接收FIFO、所述单口SRAM和所述发送FIFO这些相应的缓存区都成为受控的单元,可以根据相应的接口协议、系统总线协议进行读写控制信号的配置。
基于前述实施例,还公开一种芯片,包括SOC系统总线和前述实施例提及的数据缓存器,所述芯片的外围接口连接有摄像头模组,所述数据缓存器,用于控制将所述摄像头模组采集的图像数据按行顺序传输给所述SOC系统总线,以使得所述SOC系统总线及时将传输过来的数据读走,避免产生所述SOC系统总线的瞬时带宽不够的问题;该芯片利用单口SRAM作为主要缓存单元,充分发挥其面积小的优点,让其总的面积会小于单独采用FIFO或单独采用双口SRAM的设计方案。
一种机器人,机体表面安装有摄像头模组,机器人内部安装有所述芯片。提高整体的图像数据传输效率,保证机器人的视觉定位导航效率,进而提高相关机器人模组产品在图像处理应用领域的整体竞争优势。
本发明另一种实施例公开一种数据缓存方法,该数据缓存方法适用于至少一个读写控制器,读写控制器用于在所述数据缓存方法的控制作用下,控制摄像头模组采集的数据通过数据转换接口、接收FIFO、单口SRAM和发送FIFO传输至SOC系统总线,具体地在相关的时钟信号、使能控制信号的作用下,图像数据由摄像头模组开始依次通过数据转换接口、接收FIFO、单口SRAM和发送FIFO传输至SOC系统总线。使得接收FIFO、单口SRAM和发送FIFO分别可以由专门的读写控制器或共享的一个读写控制器完成读写操作的控制、调度。在本实施例中,数据转换接口的数据输入端和摄像头模组的数据输出端相连接,接收FIFO的数据输入端与数据转换接口的数据输出端相连接,接收FIFO的数据输出端与单口SRAM的数据输入端相连接,单口SRAM的数据输出端与发送FIFO的数据输入端相连接,发送FIFO的数据输出端连接到SOC系统总线上。
如图2所示,所述数据缓存方法包括:
步骤S201、控制数据转换接口接收摄像头模组传输过来的数据,并将传输过来的数据转换后写入所述接收FIFO;然后进入步骤S202。优选地,步骤S201中的数据转换操作是按照CSI传输协议将摄像头模组传输过来的串行数据转换为多组数据并行输出至所述接收FIFO。
步骤S202、在检测到所述接收FIFO处于非空状态时(即所述接收FIFO置非空标志位时,表示所述接收FIFO的内部存储有数据),将所述接收FIFO内缓存的数据写入所述单口SRAM,通过及时送走所述接收FIFO内缓存的数据的方式,来避免所述数据转换接口缓存的数据不将所述接收FIFO写满,因为本实施例中所述数据转换接口是保持向所述接收FIFO执行写操作;然后进入步骤S203。
步骤S203、当检测到所述单口SRAM处于非空状态(即所述单口SRAM置非空标志位时,表示所述单口SRAM的内部存储有数据)、发送FIFO处于非满状态(即所述发送FIFO置非满标志位时,表示所述接收FIFO的内部没有存储满)、且所述接收FIFO处于空状态(所述发送FIFO置空标志位,表示无法将所述接收FIFO内缓存的数据写入所述单口SRAM)时,将所述单口SRAM的内部缓存的数据写入所述发送FIFO,并将所述发送FIFO内部缓存的数据传输给SOC系统总线。由于单口SRAM不允许同时执行读操作和写操作,所以,所述接收FIFO处于空状态时,所述单口SRAM在不从所述接收FIFO内读取数据,即所述单口SRAM不执行读操作时,只允许通过执行写操作来将其内部缓存的数据写入所述发送FIFO,同时,所述单口SRAM处于非空状态,待写入数据的所述发送FIFO处于非满状态,驱动所述单口SRAM内部缓存的数据与所述发送FIFO之间的数据传输;值得注意的是,无论所述单口SRAM的内部缓存的数据是否开始写入所述发送FIFO时,只要所述发送FIFO处于非空状态都会保持向所述SOC系统总线传输数据,且是依据相关的总线协议一次性传输一批数据,保证了SOC系统总线的数据传输效率。
具体地,当判断到当前所述接收FIFO内仍存在缓存的数据时,相关读写控制器仍保持对所述单口SRAM执行写操作,仍存在数据从所述接收FIFO传输到所述单口SRAM,此时相关读写控制器不能同时对所述单口SRAM执行读操作以使得所述单口SRAM的内部缓存的数据被写入所述发送FIFO,维持将所述接收FIFO内部缓存的所有数据写入所述单口SRAM,优选地直至所述接收FIFO内部缓存的数据变空为止。
具体地,当判断到当前所述接收FIFO内不存在缓存的数据时,此时,相关读写控制器只能对所述单口SRAM执行读操作,但是执行至步骤S203时却无法继续控制所述单口SRAM的内部缓存的数据写入所述发送FIFO,依据步骤S203的判断条件可知,原因在于:所述单口SRAM处于空状态(即所述单口SRAM置空标志位时,表示所述单口SRAM的内部没有存储数据)、和/或发送FIFO处于满状态(即所述发送FIFO置满标志位时,表示所述接收FIFO的内部已经填满数据);所述单口SRAM处于空状态时,受限于当前已经停止将所述接收FIFO内缓存的数据写入所述单口SRAM,导致所述单口SRAM无数据传输给所述发送FIFO;所述发送FIFO处于满状态时,所述发送FIFO无法再继续接收来自所述单口SRAM传输的数据。
通过执行前述步骤S201至步骤S203,实现总线负荷很重的时候,解决SOC系统总线产生瞬时堵塞而出现数据丢失的问题。具体在特定的数据缓存状态下或读写控制信号下先对接收FIFO读取,再对发送FIFO执行写操作,不仅保证所述单口SRAM能够缓存摄像头传输的数据,而且保证SOC系统总线能利用摄像头传输图像的行间隔时间及时把所述数据缓存器缓存的数据搬走,以解决SOC系统总线瞬时带宽不够的问题。
作为一种实施例,所述数据缓存方法具体包括:在所述接收FIFO处于非空状态下,为所述接收FIFO分配第一读控制信号,并在第一读控制信号的控制作用下,将所述接收FIFO内部缓存的数据读取出来并传输给所述单口SRAM,同时,为所述单口SRAM分配第一写控制信号,在第一写控制信号的控制作用下,将从所述接收FIFO的内部读取的数据写入所述单口SRAM,直至所述接收FIFO内部缓存的数据变空为止,也能够控制数据转换接口缓存的数据不将接收FIFO写满,能够及时将数据读走写到单口SRAM,保证图像数据的传输效率。其中,第一读控制信号和第一写控制信号是同时触发的,或者,第一读控制信号和第一写控制信号是同一个控制信号。
作为一种实施例,所述数据缓存方法具体包括:在所述单口SRAM处于非空状态下,为所述单口SRAM分配第二读控制信号,并在第二读控制信号的控制作用下,从所述单口SRAM内读取出数据,值得注意的是,为了保证能随时写入从所述接收FIFO送过来的数据,对所述单口SRAM的写控制的优先级被配置为高于对其读控制的优先级,使得所述接收FIFO处于空状态时,所述单口SRAM不接收所述第一写控制信号并停止将所述接收FIFO内缓存的数据写入所述单口SRAM;同时,在所述发送FIFO处于非满状态下,为所述发送FIFO分配第二写控制信号,并在第二写控制信号的控制作用下,将所述单口SRAM内读取出的数据写入所述发送FIFO,直到所述单口SRAM内部存储的数据都被读取出来,或者将所述发送FIFO写满为止。而此时仍保持执行从所述发送FIFO读数据的操作直至所述发送FIFO变为空状态为止。本实施例通过调配读写控制信号,将对所述单口SRAM的写操作的优先级配置为高于对其的读操作的优先级,使得单口SRAM不从外部读数据的前提下,才把数据写到发送FIFO中,从而优先控制所述单口SRAM能够缓存摄像头传输的数据,其次再保证在摄像头传输图像数据的行间隔时间内仍能让SOC系统总线实时的把发送FIFO的数据读走,解决往所述SOC系统总线传输过多的数据而出现总线瞬时带宽不够的问题。
优选地,所述接收FIFO属于异步FIFO,所述接收FIFO的写时钟端与所述摄像头模组的驱动时钟端相连,所述接收FIFO的读时钟端接入所述SOC系统总线的驱动时钟,使得所述接收FIFO成为所述摄像头模组所在的时钟域和所述SOC系统总线所在的时钟域之间的数据传输的缓冲区。解决不同时钟域数据传输的问题。优选地,所述接收FIFO的深度为4,作为不同时钟域数据传输的缓冲区,面积很小。本实施例涉及图像数据从所述摄像头模组的驱动时钟域写入所述接收FIFO的缓冲区,同时数据值从所述SOC系统总线的驱动时钟域的相同FIFO缓冲区中被读取出来,其中两个时钟域彼此异步,即所述接收FIFO的读频率和写频率不相同。
优选地,所述发送FIFO属于同步FIFO,所述发送FIFO的读时钟端和所述发送FIFO的写时钟端都接入所述SOC系统总线的驱动时钟,即所述发送FIFO的写入和读取都处于同一时钟域中进行;所述发送FIFO的深度大于所述接收FIFO的深度,优选地,所述发送FIFO的深度为16,面积很小。所述发送FIFO用于在相关总线配置信号的控制下,向所述SOC系统总线一次性传输一批数据,其中,一次性传输的一批数据的数目等于所述发送FIFO的深度,当所述SOC系统总线为AHB总线,使得所述发送FIFO一次突发传输16个数据至AHB总线上,且是所述SOC系统总线一次最多能读走16个数据,保证了SOC系统总线的数据传输效率。
作为一种实施例,当所述摄像头模组向所述数据缓存器传输数据的时间处于相邻两行图像数据之间存在的行间隔时间时,所述摄像头模组在所述行间隔时间内没有有效的图像数据传输至所述数据缓存器,所述单口SRAM不从所述接收FIFO内读取数据,所述单口SRAM至多已经缓存图像数据的一行数据(像素数据),所述单口SRAM在所述第二写操作信号的控制作用下,将其内部缓存的数据写入所述发送FIFO,以使得所述SOC系统总线所述行间隔时间内(空闲时间内)通过所述发送FIFO搬运所述单口SRAM内当前缓存的数据;需要说明的是,本实施例中,所述摄像头模组向所述数据缓存器传输的数据是实时采集的图像数据,且是具备预设分辨率的图像数据;所述摄像头模组向所述数据缓存器传输的图像数据是逐行传输的,包括传输像素的奇数行、以及传输像素的偶数行;每传输相邻两行数据之间都存在行间隔时间;本实施例采用FIFO加单口SRAM相结合的数据缓存器去缓冲摄像头逐行传输的图像数据,实现:不仅在所述摄像头传输数据期间传输并缓存图像数据,而且在行间隔区间继续传输当前缓存的有限容量的图像数据(图像数据的一行数据所占的内存容量)。
具体地,单口SRAM的内存容量的最大值被配置为预设分辨率的图像数据的一行数据所占的内存容量,优选地,以传输图像格式YUV422、像素位宽8bit的8K分辨率的图像为例,缓存一行8K图像数据大小为120Kb(7680x8x2/1024),所以,单口SRAM的内存容量被配置为120Kb,使其读取8K分辨率图像的一行数据,当然单口SRAM的内存容量也可以被配置为比120Kb小的内存容量。本实施例使用所述接收FIFO持续为所述单口SRAM缓存足够多的图像数据,然后基于逐行传输的图像数据具备的行间隔的特征,为所述单口SRAM、所述发送FIFO提供足够的搬运时间,减缓片上系统总线瞬时带宽不够缓存过多图像数据的压力。
需要说明的是流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所述出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施方式对各种可能的组合方式不再另行说明。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (15)

1.一种数据缓存器,该数据缓存器是连接于摄像头模组和SOC系统总线之间,其特征在于,所述数据缓存器包括数据转换接口、接收FIFO、单口SRAM和发送FIFO;
接收FIFO的数据输入端与数据转换接口的数据输出端相连接,数据转换接口和摄像头模组相连接,数据转换接口用于接收摄像头模组传输过来的数据,并将传输过来的数据转换后缓存到接收FIFO;
接收FIFO的数据输出端与单口SRAM的数据输入端相连接,单口SRAM,用于在接收FIFO的内部存储有数据时,从接收FIFO内读取当前缓存的数据,使得数据转换接口缓存的数据不将接收FIFO写满;
发送FIFO的数据输出端与SOC系统总线相连接,所述发送FIFO,用于将其内部缓存的数据传输给SOC系统总线;单口SRAM的数据输出端与发送FIFO的数据输入端相连接,单口SRAM用于在其内部存储有数据、发送FIFO没有被数据填满且所述接收FIFO内没有存储数据时,将其内部存储的数据写入所述发送FIFO。
2.根据权利要求1所述数据缓存器,其特征在于,所述单口SRAM,用于在所述单口SRAM设置的读写控制端获取的第一读操作信号的控制下,从存储有数据的所述接收FIFO内读取当前缓存的数据,以保存到所述单口SRAM内部的存储空间中;
所述接收FIFO,用于在其内部存储有数据时,根据所述接收FIFO设置的读写控制端获取的第一写操作信号,将其内部缓存的数据写入所述单口SRAM,使得数据转换接口缓存的数据不将接收FIFO写满;
其中,所述单口SRAM设置的读写控制端获取第一读操作信号的时间与所述接收FIFO设置的读写控制端获取第一写操作信号的时间是相同;或者,所述单口SRAM设置的读写控制端获取的第一读操作信号与所述接收FIFO设置的读写控制端获取的第一写操作信号是同一个控制信号。
3.根据权利要求2所述数据缓存器,其特征在于,所述单口SRAM,用于在其内部存储有数据时,根据所述单口SRAM设置的读写控制端获取的第二写操作信号,向没有被数据填满的所述发送FIFO写入已缓存的数据;其中,所述接收FIFO内没有存储数据时,所述单口SRAM不接收所述第一读操作信号;
所述发送FIFO,用于在没有被数据填满时,根据所述发送FIFO设置的读写控制端获取的第二读操作信号,从存储有数据的所述单口SRAM内读取已缓存的数据;
其中,所述单口SRAM设置的读写控制端获取第二写操作信号的时间与所述发送FIFO设置的读写控制端获取第二读操作信号的时间是相同;或者,所述单口SRAM设置的读写控制端获取的第二写操作信号与所述发送FIFO设置的读写控制端获取的第二读操作信号是同一个控制信号。
4.根据权利要求3所述数据缓存器,其特征在于,所述接收FIFO属于异步FIFO,所述接收FIFO的写时钟端与所述摄像头模组的驱动时钟端相连,所述接收FIFO的读时钟端接入所述SOC系统总线的驱动时钟,使得所述接收FIFO成为所述摄像头模组所在的时钟域和所述SOC系统总线所在的时钟域之间的数据传输的缓冲区。
5.根据权利要求4所述数据缓存器,其特征在于,所述发送FIFO属于同步FIFO,所述发送FIFO的读时钟端和所述发送FIFO的写时钟端都接入所述SOC系统总线的驱动时钟,所述发送FIFO用于在相关总线配置信号的控制下,向所述SOC系统总线一次性传输一批数据,其中,一次性传输的一批数据的数目等于所述发送FIFO的深度;所述发送FIFO的深度大于所述接收FIFO的深度。
6.根据权利要求1或3所述数据缓存器,其特征在于,当所述摄像头模组向所述数据缓存器传输数据的时间处于相邻两行图像数据之间存在的行间隔时间时,所述单口SRAM将其内部缓存的数据写入所述发送FIFO,使得所述SOC系统总线通过所述发送FIFO搬运所述单口SRAM内当前缓存的数据;
其中,所述摄像头模组向所述数据缓存器传输的数据是实时采集的图像数据,且是具备预设分辨率的图像数据;
其中,单口SRAM的内存容量被配置为预设分辨率的图像数据的一行数据所占的内存容量;
其中,单口SRAM不允许同时执行读操作和写操作。
7.根据权利要求6所述数据缓存器,其特征在于,所述摄像头模组向所述数据缓存器传输的图像数据是逐行传输的,且每传输相邻两行数据之间都存在行间隔时间,所述摄像头模组在所述行间隔时间内没有图像数据传输至所述数据缓存器。
8.根据权利要求1或7所述数据缓存器,其特征在于,所述数据转换接口用于接收摄像头模组传输过来的串行数据,并按照CSI传输协议将传输过来的数据实时转换为并行数据,再将转换后的并行数据缓存到所述接收FIFO。
9.根据权利要求2或3所述数据缓存器,其特征在于,所述接收FIFO、所述单口SRAM和所述发送FIFO都设置有对应的读写控制器,用于通过发出对应的读操作信号或写操作信号来控制执行相适应的读写操作。
10.一种芯片,其特征在于,包括SOC系统总线和如权利要求1至8中任一项所述的数据缓存器,所述芯片的外围接口连接有摄像头模组,所述数据缓存器,用于控制将所述摄像头模组采集的图像数据按行顺序传输给所述SOC系统总线,以使得所述SOC系统总线及时将传输过来的数据读走,避免产生所述SOC系统总线的瞬时带宽不够的问题。
11.一种机器人,机体表面安装有摄像头模组,其特征在于,机器人内部安装有权利要求10所述的芯片。
12.一种数据缓存方法,其特征在于,该数据缓存方法适用于至少一个读写控制器,读写控制器用于在数据缓存方法的控制作用下,控制摄像头模组采集的数据通过数据转换接口、接收FIFO、单口SRAM和发送FIFO传输至SOC系统总线;
所述数据缓存方法包括:
控制数据转换接口接收摄像头模组传输过来的数据,并将传输过来的数据转换后写入所述接收FIFO;
在检测到所述接收FIFO处于非空状态时,将所述接收FIFO内缓存的数据写入所述单口SRAM,使得数据转换接口缓存的数据不将所述接收FIFO写满;
当检测到所述单口SRAM处于非空状态、发送FIFO处于非满状态、且所述接收FIFO处于空状态时,将所述单口SRAM的内部缓存的数据写入所述发送FIFO。
13.根据权利要求12所述数据缓存方法,其特征在于,所述数据缓存方法具体包括:
在所述接收FIFO处于非空状态下,为所述接收FIFO分配第一读控制信号,并在第一读控制信号的控制作用下,将所述接收FIFO内部缓存的数据读取出来并传输给所述单口SRAM,同时,为所述单口SRAM分配第一写控制信号,并在第一写控制信号的控制作用下,将从所述接收FIFO的内部读取的数据写入所述单口SRAM;
其中,第一读控制信号和第一写控制信号是同时触发的,或者,第一读控制信号和第一写控制信号是同一个控制信号。
14.根据权利要求13所述数据缓存方法,其特征在于,所述数据缓存方法具体包括:
在所述单口SRAM处于非空状态下,为所述单口SRAM分配第二读控制信号,并在第二读控制信号的控制作用下从所述单口SRAM内读取出数据,同时,在所述发送FIFO处于非满状态下,为所述发送FIFO分配第二写控制信号,并在第二写控制信号的控制作用下,将所述单口SRAM内读取出的数据写入所述发送FIFO;
其中,第二读控制信号和第二写控制信号是同时触发的,或者,第二读控制信号和第二写控制信号是同一个控制信号。
15.根据权利要求12或14所述数据缓存方法,其特征在于,当所述摄像头模组向所述数据转换接口传输数据的时间是处于相邻两行图像数据之间存在的行间隔时间时,控制所述单口SRAM将其内部缓存的数据写入处于非满状态的所述发送FIFO,以使得所述SOC系统总线通过所述发送FIFO搬运所述单口SRAM内当前缓存的数据;
其中,所述摄像头模组向所述数据缓存器传输的数据是实时采集的图像数据,且是具备预设分辨率的图像数据;所述摄像头模组向所述数据转换接口传输的图像数据是逐行传输的,且每传输相邻两行数据之间都存在行间隔时间,所述摄像头模组在所述行间隔时间内没有数据传输至所述数据缓存器;
其中,单口SRAM的内存容量被配置为预设分辨率的图像数据的一行数据所占的内存容量。
CN202110562891.XA 2021-05-24 2021-05-24 数据缓存器、芯片、机器人、数据缓存方法 Active CN113254387B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110562891.XA CN113254387B (zh) 2021-05-24 2021-05-24 数据缓存器、芯片、机器人、数据缓存方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110562891.XA CN113254387B (zh) 2021-05-24 2021-05-24 数据缓存器、芯片、机器人、数据缓存方法

Publications (2)

Publication Number Publication Date
CN113254387A CN113254387A (zh) 2021-08-13
CN113254387B true CN113254387B (zh) 2022-05-10

Family

ID=77183874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110562891.XA Active CN113254387B (zh) 2021-05-24 2021-05-24 数据缓存器、芯片、机器人、数据缓存方法

Country Status (1)

Country Link
CN (1) CN113254387B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114036096B (zh) * 2021-11-04 2024-05-03 珠海一微半导体股份有限公司 一种基于总线接口的读控制器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600815A (en) * 1992-04-13 1997-02-04 Seiko Epson Corporation High density buffer memory architecture
CN103870413A (zh) * 2012-12-18 2014-06-18 三星电子株式会社 存储系统及包括所述存储系统的片上系统
CN108897511A (zh) * 2018-07-05 2018-11-27 四川长九光电科技有限责任公司 一种接收不同帧频图像进行显示的方法
CN110569204A (zh) * 2019-07-23 2019-12-13 广东工业大学 基于fpga和ddr3 sdram的可配置图像数据缓存系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600815A (en) * 1992-04-13 1997-02-04 Seiko Epson Corporation High density buffer memory architecture
CN103870413A (zh) * 2012-12-18 2014-06-18 三星电子株式会社 存储系统及包括所述存储系统的片上系统
CN108897511A (zh) * 2018-07-05 2018-11-27 四川长九光电科技有限责任公司 一种接收不同帧频图像进行显示的方法
CN110569204A (zh) * 2019-07-23 2019-12-13 广东工业大学 基于fpga和ddr3 sdram的可配置图像数据缓存系统

Also Published As

Publication number Publication date
CN113254387A (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
CN108681984B (zh) 一种3*3卷积算法的加速电路
US6742063B1 (en) Method and apparatus for efficient transfer of data packets
US6925512B2 (en) Communication between two embedded processors
US7702841B2 (en) Semiconductor integrated circuit and image processing apparatus having the same
CN102841869B (zh) 一种基于fpga的多通道i2c控制器
CN112835829B (zh) 多通道dma传输测控信号的方法
EP2908251B1 (en) Method and device for processing data
WO2005071557A2 (en) A multiple address two channel bus structure
KR20210042978A (ko) 이진화 알고리즘 기반의 액셀러레이션 제어 시스템, 칩 및 로봇
CN113254387B (zh) 数据缓存器、芯片、机器人、数据缓存方法
US7035956B2 (en) Transmission control circuit, reception control circuit, communications control circuit, and communications control unit
CN114286035B (zh) 图像采集卡、图像采集方法及图像采集系统
CN103019645A (zh) Ccd信号处理电路高速数据流仲裁控制方法
CN101793557B (zh) 高分辨率成像仪数据实时采集系统及方法
KR20150039142A (ko) 시스템 성능 향상을 위한 제어 로직을 구비한 직렬 주변기기 인터페이스 및 그 구동 방법
US7610415B2 (en) System and method for processing data streams
CN102012948B (zh) 基于usb的数据实时采集和存储系统及方法
US7774513B2 (en) DMA circuit and computer system
US20160232125A1 (en) Storage apparatus and method for processing plurality of pieces of client data
US8359446B2 (en) Method for processing data using triple buffering
CN114302089A (zh) 一种基于fpga的多路视频信号缓存控制方法及系统
CN113794849A (zh) 用于图像数据同步的装置、方法及图像采集系统
CN115328832B (zh) 一种基于pcie dma的数据调度系统与方法
US6651114B1 (en) DMA controller which optimizes transfer rate of data and method therefor
JP7474061B2 (ja) インタフェース装置、データ処理装置、キャッシュ制御方法、及びプログラム

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

Address after: 519000 2706, No. 3000, Huandao East Road, Hengqin new area, Zhuhai, Guangdong

Applicant after: Zhuhai Yiwei Semiconductor Co.,Ltd.

Address before: 519000 room 105-514, No. 6, Baohua Road, Hengqin new area, Zhuhai City, Guangdong Province (centralized office area)

Applicant before: Zhuhai Yiwei Semiconductor Co., Ltd

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant