CN107368374B - 用于嵌入式系统基于同步机制下的环形数据缓冲实现方法 - Google Patents

用于嵌入式系统基于同步机制下的环形数据缓冲实现方法 Download PDF

Info

Publication number
CN107368374B
CN107368374B CN201710620299.4A CN201710620299A CN107368374B CN 107368374 B CN107368374 B CN 107368374B CN 201710620299 A CN201710620299 A CN 201710620299A CN 107368374 B CN107368374 B CN 107368374B
Authority
CN
China
Prior art keywords
data
buffer
working condition
buffer circle
circle
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
CN201710620299.4A
Other languages
English (en)
Other versions
CN107368374A (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.)
Guangzhou Lupai Liuma Technology Co ltd
Original Assignee
Guangzhou Roadpassion Electronic Technology 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 Guangzhou Roadpassion Electronic Technology Co Ltd filed Critical Guangzhou Roadpassion Electronic Technology Co Ltd
Priority to CN201710620299.4A priority Critical patent/CN107368374B/zh
Priority to PCT/CN2017/101335 priority patent/WO2019019295A1/zh
Publication of CN107368374A publication Critical patent/CN107368374A/zh
Application granted granted Critical
Publication of CN107368374B publication Critical patent/CN107368374B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明涉及一种用于嵌入式系统基于同步机制下的环形数据缓冲实现方法,包括:在工作状态一写入数据就切换到工作状态二;在工作状态二继续写入数据时,若缓冲区被新增加的数据写满,就进入工作状态四;在工作状态二下,读取缓冲区的数据,若读取的数据大小小于缓冲区缓冲好的数据大小,就进入工作状态三,否则进入工作状态四;在工作状态三,读取数据时,当缓冲区没有数据可读时,就进入工作状态一,向缓冲区写入数据时,若缓冲区被写满数据,则进入工作状态四。本发明使用嵌入式操作系统自带的信号量同步机制,原有的环形缓冲区更加强壮,采用可配置和可移植的环形缓冲区,适用于不同的软件系统和不同的硬件体系,能很好地满足实际应用的需要。

Description

用于嵌入式系统基于同步机制下的环形数据缓冲实现方法
技术领域
本发明涉及一种用于嵌入式系统基于同步机制下的环形数据缓冲实现方法。
背景技术
嵌入式通信程序中,经常有这样一个情景:需要程序一边从通讯接口接收数据,一边解析接收的数据。具体情景为:嵌入式系统在采集并解析汽车数据的系统应用中,系统必须采集数据的同时根据这些实时数据以一定的形式向用户表达出来,或者根据数据做出一些逻辑运算等一系列可能比较耗时的工作。这样的情景一般存在以下约束:
1)由于实时性要求,必须边读取数据,边对数据进行解析,不能等数据全部接收完整后才能开始解析,同时也不能等解析完一帧数据后才开始接收下一帧数据;
2)数据的解析需要兼容性能和内存空间的利用效率,特别是应用在内存等资源比较有限的嵌入式系统环境中,所以要做到减少内存之间的直接拷贝,分配适当大小的缓存空间。
以上背景应用场景通常会使用环形缓冲方法来实现。
一般环形缓冲区的实现方法为:环形缓冲区通常有一个读指针和一个写指针,读指针指向环形缓冲区中可读的数据,写指针指向环形缓冲区中可写的缓冲区,通过移动读指针和写指针就可以实现缓冲区的数据读取和写入。
图1、图2和图3是一个环形缓冲区的运行示意图。图1是环形缓冲区的初始状态,可以看到读指针和写指针都指向第一个缓冲区处;图2是向环形缓冲区中添加了一个数据后的情况,可以看到写指针已经移动到数据块2的位置,而读指针没有移动;图3是环形缓冲区进行了读取和添加后的状态,可以看到环形缓冲区中已经添加了两个数据,已经读取了一个数据。
以上是现有技术的环形缓冲的基本实现原理和模型,在实际应用中存在诸多的问题:1)读指针和写指针会出现重叠的情况,这可能导致读取的数据不准确;2)当外部模块从缓存中读取数据的速度跟不上向该缓存写数据速度时,会出现读取的数据帧的前后不连续问题,例如引用上面图3中的环形缓冲区,假设读指针保持在2号位置,把这一刻时间定义为T0,而写指针不断向前递增,当写指针已经从6号位置跳到1号时,把这一刻时间定义为T1,然后继续递增到4号位置,这时T1时刻3号位置的数据已经不是T0时刻的数据;这种情况在对于要求保持采集数据帧连续性要求较高的场合下的应用是不允许出现的;例如,在两个相对独立的模块或系统之间的通讯的应用中,为了确保数据的准确性和安全性,通常会把通讯数据定义为“帧头+数据+校验和”的格式,而且这里的“帧头”通常会分拆到两个或多个联系的数据上发送到另外一个系统,而“校验和”则要根据一帧数据来计算,数据发送端和接收端都要根据“帧头”和“校验和”来判断数据的有效性,并且排除干扰数据;假如把这类通讯方式使用了上述带有缺陷的环形缓冲区,则很多数据帧及数据之间原有的前后连续性都有可能被破坏而导致数据接收端的系统不能正确有效地分析通讯数据。
目前有文献提出使用软件计数器的方法来实现对环形缓冲的读写数据,其基本实现原理是这样的:在读数据和写数据时同时判断读指针和写指针的位置,为保证读写数据不发生上述的冲突,由这两个位置差可以得出还剩余多少空间可以写入数据的;但这样的结构会比较耗CPU资源,因为其要不断进行逻辑判断的操作。
发明内容
针对上述现有技术中存在的问题,本发明的目的在于提供一种可避免出现上述技术缺陷的用于嵌入式系统基于同步机制下的环形数据缓冲实现方法。
为了实现上述发明目的,本发明提供的技术方案如下:
一种用于嵌入式系统基于同步机制下的环形数据缓冲实现方法,包括四个工作状态的切换;所述四个工作状态,分别是:
工作状态一:环形缓冲区里面没有可读的数据;
工作状态二:环形缓冲区里面有充足的内存可以储存更多的数据;
工作状态三:环形缓冲区里缓存了充足的数据;
工作状态四:环形缓冲区里面没有可写的缓存空间;
所述四个工作状态的切换过程为:
在工作状态一写入数据时,就切换到工作状态二;
在工作状态二继续写入数据时,如果缓冲区被新增加的数据写满,就进入工作状态四,如果新增的数据没能使缓冲区填满,则还是保持在工作状态二;
在工作状态二下,读取缓冲区的数据,如果读取的数据大小小于缓冲区缓冲好的数据大小,就进入工作状态三,如果读取的数据大小超出或者等于缓冲区所缓存的数据,就进入工作状态四;
在工作状态三,读取数据时,当缓冲区没有数据可读时,就进入工作状态一,向缓冲区写入数据时,如果缓冲区被写满了数据,则进入工作状态四。
进一步地,在工作状态一下的环形缓存区中读取数据时,环形缓冲区会根据实际使用需求分两种情况来处理:
1)直接返回一个带有错误标志位的数据给调用该环形缓冲区的程序;
2)程序在这里挂起一段时间,在这时间段内有数据被写入到该环形缓冲区时,该环形缓冲区会立即返回一个单位大小的缓存数据给调用该环形缓冲区的程序;如果等待了这段时间仍然没有数据被写入到该环形缓冲区,则该环形缓冲区返回一个带有错误标志位的数据给调用该环形缓冲区的程序。
进一步地,在工作状态四下,继续向环形缓存区中写入数据时,该结构会根据实际使用需求分两种情况来处理:
1)直接返回一个带有错误标志位的数据给调用该环形缓冲区的程序;
2)程序在这里挂起一段时间;在这时间段内有其他缓存的数据从该环形缓存空间取出时,该形缓冲结构会立刻保存这个数据并返回不带有错误标志位的数据给调用该环形缓冲区的程序;如果等待了这段时间仍然没有其他缓存的数据从环形缓冲区中被取出,该环形缓冲区返回一个带有错误标志位的数据给调用该环形缓冲区的程序。
进一步地,所述环形数据缓冲实现方法嵌入有嵌入式系统的同步机制,所述同步机制在环形缓冲区上实现,分为三个步骤:初始化、写缓冲和读缓冲。
进一步地,初始化的输入有Max_Index和Unit_Size两参数;Max_Index定义了写信号量和读信号量的最大信号标量值;Unit_Size定义的是每次读缓存区或写缓存区的字节数大小。
进一步地,写缓冲的输入参数有Block、TimeOut和Value;Block决定是否使用挂起的模式,TimeOut决定挂起的时间,Value为要写入环形缓冲区内的数据。
本发明提供的用于嵌入式系统基于同步机制下的环形数据缓冲实现方法,使用了嵌入式操作系统自带的信号量同步机制,原有的环形缓冲区更加强壮,采用可配置和可移植的环形缓冲区,适用于不同的软件系统和不同的硬件体系,在不管是单个硬件系统的应用或是不同硬件系统之间的通讯上的应用,都能取得很好的效果,可以很好地满足实际应用的需要。
附图说明
图1为现有技术的环形缓冲区的初始状态示意图;
图2为现有技术的向环形缓冲区中添加了一个数据后的状态示意图;
图3为现有技术的环形缓冲区进行了读取和添加后的状态示意图;
图4为本发明的四个工作状态的切换过程示意图;
图5为同步机制的初始化流程图;
图6为同步机制的写缓冲流程图;
图7为同步机制的读缓冲流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本发明做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图4所示,用于嵌入式系统基于同步机制下的环形数据缓冲实现方法,包括四个工作状态的切换;
所述四个工作状态,分别是:
1.工作状态1:环形缓冲区里面没有可读的数据;在工作状态1下的环形缓存区中读取数据时,该环形缓冲区会根据实际使用需求分两种情况来处理:
1)直接返回一个带有错误标志位的数据给调用该环形缓冲区的程序;
2)程序在这里挂起(阻塞)一段时间,在这时间段内有数据被写入到该环形缓冲区时,该环形缓冲区会立即返回一个单位大小的缓存数据给调用该环形缓冲区的程序;如果等待了这段时间仍然没有数据被写入到该环形缓冲区,则该环形缓冲区返回一个带有错误标志位的数据给调用该环形缓冲区的程序。
2.工作状态2:环形缓冲区里面有充足的内存可以储存更多的数据;在工作状态2下向该环形缓冲区写入数据不会出现任何错误,并且有效数据写入缓存中。
3.工作状态3:环形缓冲区里缓存了充足的数据;在工作状态3下在该环形缓冲区读取数据不会出现任何错误,并且返回有效的缓存的数据。
4.工作状态4:环形缓冲区里面没有可写的缓存空间;在工作状态4下,继续向环形缓存区中写入数据时,该结构会根据实际使用需求分两种情况来处理:
1)直接返回一个带有错误标志位的数据给调用该环形缓冲区的程序;
2)程序在这里挂起(阻塞)一段时间;在这时间段内有其他缓存的数据从该环形缓存空间取出时,该形缓冲结构会立刻保存这个数据并返回不带有错误标志位的数据给调用该环形缓冲区的程序;如果等待了这段时间仍然没有其他缓存的数据从环形缓冲区中被取出,该环形缓冲区返回一个带有错误标志位的数据给调用该环形缓冲区的程序。
四个工作状态的切换过程为:
在工作状态1写入数据(例如5个单位数据)时,就切换到工作状态2;
在工作状态2继续写入数据时,如果缓冲区被新增加的数据写满,就进入工作状态4,如果新增的数据没能使缓冲区填满,则还是保持在工作状态2;
在工作状态2下,读取缓冲区的数据,如果读取的数据大小(例如4个单位数据)小于缓冲区缓冲好的数据大小,就进入工作状态3,如果读取的数据大小(例如7个单位数据)超出或者等于缓冲区所缓存的数据,就进入工作状态4;
在工作状态3,读取数据时,当缓冲区没有数据可读时,就进入工作状态1,向缓冲区写入数据时,如果缓冲区被写满了数据,则进入工作状态4。
从上述四个工作状态的切换效果来看,该环形缓冲区的缓存的可写空间和可读数据是互斥的,也就是当每向该环形缓冲区写入一个单位数据,该环形缓冲可再写入的环形缓冲空间就减少一个单位,同时可读的缓存数据的就会多一个单位大小;相反,每当从该环形缓冲区取出一个单位的数据,该能从该环形缓冲读取的缓存数据就减少一个单位大小,同时该环形缓冲就会多一个单位大小空间来储存新写入的数据。
上述环形缓冲区中有个关键的技术是可写入数据的空间大小和可读出缓存数据大小之间的同步关系。一般嵌入式操作系统都会带有同步机制的组件(API),而且不同嵌入式操作系统中的同步机制实现原理及使用方法基本类似。可以充分利用这些系统自带的同步机制嵌入到上述的环形缓冲区中。
本发明的用于嵌入式系统基于同步机制下的环形数据缓冲实现方法,嵌入有嵌入式系统的同步机制,所述同步机制在环形缓冲区上实现,分为三个步骤:初始化、写缓冲和读缓冲;
如图5所示,初始化的输入主要有Max_Index和Unit_Size两参数。Max_Index定义了写信号量(Write_Sem)和读信号量(Read_Sem)的最大信号标量值。Unit_Size定义的是每次读缓存区或写缓存区的字节数大小(一单元数据大小)。Write_Sem初始值定义为Max_Index,因为刚开始缓存区的数据为空,即可以写入Max_Index次数据(假如一直不读取数据或清空缓冲区),同样原理Read_Sem初始值定义为0(刚开始没数据可读)。初始化数据缓冲区大小为Unit_Size x Max_Index(Max_Index个单元数据)。Write_Pointer和Read_Pointer都被初始化为0,代表向该环形缓冲中读取数据和写数据刚开始都指向于缓冲数据的首地址。
如图6所示,写缓冲的输入参数有Block,TimeOut和Value这三个。Block决定是否使用挂起(阻塞)的模式,TimeOut决定挂起(阻塞)的时间。Value为要写入环形缓冲区内的数据。图6上Pend(x,x)和Accept(x)分别为阻塞型信号量获取或非阻塞型信号量获取的函数。阻塞型信号量获取函数:获取不到特定信号量(图6上为Write_Sem信号量为0时)则会阻塞,在阻塞时算起TimeOut时间段内依然获取不到特定的信号量,则退出阻塞状态并且返回带有错误标志位的数据(err=1),若获取到则返回,特定的信号量自减1,并且返回的数据(err=0)中不含有错误标志;非阻塞型信号量获取函数:如果获取到特定信号量(上图为Write_Sem)返回一不带有错误标志位的数据(err=0),否则返回带有错误标志位的数据(err=1)。非阻塞型信号量获取函数调用过程都不会有阻塞的情况发生。接着根据这个数据err来判断是否进一步向数据缓冲Buffer特定位置写入用户数据(Value),当写入数据后,将Read_Sem进行递增在这里用函数Add(x)所表示,当递增到大于信号量最大标量值Max_Index时,Read_Sem不会再被递增。相应的写指针进行循环递增,递增到大于或等于Max_Index时,写指针又再指向缓冲数据的首地址处。最后返回获取特定信号量时所得到的返回值err。
如图7所示,读缓冲与写缓冲区的区别主要是这里要获取的特定的信号量是读信号量(Read_Sem),而成功读取数据后,要递增的是写信号量(Write_Sem),循环递增的是读指针,返回的是带有或不带有错误标志位的数据err和从缓冲区特定位置所读取的数据。
在上述的读缓冲和写缓冲中提及到的阻塞型信号量获取函数Pend(x,x),非阻塞型信号量获取函数Accept(x),x信号量递增函数Add(x),在各个带有信号量的嵌入式操作系统都有自己相应的原型,如UCOS操作系统中的函数:OSSemPend(),OSSemAccept(),OSSemPost();Linux操作系统中的函数:sem_wait(),sem_trywait(),sem_post()。这些函数的好处在于减轻软件编写的压力和有效地利用资源。
本发明提供的用于嵌入式系统基于同步机制下的环形数据缓冲实现方法,使用了嵌入式操作系统自带的信号量同步机制,原有的环形缓冲区更加强壮,采用可配置和可移植的环形缓冲区,适用于不同的软件系统和不同的硬件体系,在不管是单个硬件系统的应用或是不同硬件系统之间的通讯上的应用,都能取得很好的效果,可以很好地满足实际应用的需要。
以上所述实施例仅表达了本发明的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (6)

1.一种用于嵌入式系统基于同步机制下的环形数据缓冲实现方法,其特征在于,包括四个工作状态的切换;所述四个工作状态,分别是:
工作状态一:环形缓冲区里面没有可读的数据;
工作状态二:环形缓冲区里面有充足的内存可以储存更多的数据;
工作状态三:环形缓冲区里缓存了充足的数据;
工作状态四:环形缓冲区里面没有可写的缓存空间;
所述四个工作状态的切换过程为:
在工作状态一写入数据时,就切换到工作状态二;
在工作状态二继续写入数据时,如果缓冲区被新增加的数据写满,就进入工作状态四,如果新增的数据没能使缓冲区填满,则还是保持在工作状态二;
在工作状态二下,读取缓冲区的数据,如果读取的数据大小小于缓冲区缓冲好的数据大小,就进入工作状态三,如果读取的数据大小超出或者等于缓冲区所缓存的数据,就进入工作状态四;
在工作状态三,读取数据时,当缓冲区没有数据可读时,就进入工作状态一,向缓冲区写入数据时,如果缓冲区被写满了数据,则进入工作状态四。
2.根据权利要求1所述的用于嵌入式系统的缓冲方法,其特征在于,在工作状态一下的环形缓冲区中读取数据时,环形缓冲区会根据实际使用需求分两种情况来处理:
1)直接返回一个带有错误标志位的数据给调用该环形缓冲区的程序;
2)程序在这里挂起一段时间,在这时间段内有数据被写入到该环形缓冲区时,该环形缓冲区会立即返回一个单位大小的缓存数据给调用该环形缓冲区的程序;如果等待了这段时间仍然没有数据被写入到该环形缓冲区,则该环形缓冲区返回一个带有错误标志位的数据给调用该环形缓冲区的程序。
3.根据权利要求1或2所述的用于嵌入式系统基于同步机制下的环形数据缓冲实现方法,其特征在于,在工作状态四下,继续向环形缓冲区中写入数据时,环形缓冲区会根据实际使用需求分两种情况来处理:
1)直接返回一个带有错误标志位的数据给调用该环形缓冲区的程序;
2)程序在这里挂起一段时间;在这时间段内有其他缓存的数据从该环形缓冲区取出时,该环形缓冲区会立刻保存这个数据并返回不带有错误标志位的数据给调用该环形缓冲区的程序;如果等待了这段时间仍然没有其他缓存的数据从环形缓冲区中被取出,该环形缓冲区返回一个带有错误标志位的数据给调用该环形缓冲区的程序。
4.根据权利要求1或2所述的用于嵌入式系统基于同步机制下的环形数据缓冲实现方法,其特征在于,所述环形数据缓冲实现方法嵌入有嵌入式系统的同步机制,所述同步机制在环形缓冲区上实现,分为三个步骤:初始化、写缓冲和读缓冲。
5.根据权利要求1所述的用于嵌入式系统基于同步机制下的环形数据缓冲实现方法,其特征在于,初始化的输入有Max_Index和Unit_Size两参数;
Max_Index定义了写信号量和读信号量的最大信号标量值;Unit_Size定义的是每次读缓存区或写缓存区的字节数大小。
6.根据权利要求1所述的用于嵌入式系统基于同步机制下的环形数据缓冲实现方法,其特征在于,写缓冲的输入参数有Block、TimeOut和Value;Block决定是否使用挂起的模式,TimeOut决定挂起的时间,Value为要写入环形缓冲区内的数据。
CN201710620299.4A 2017-07-26 2017-07-26 用于嵌入式系统基于同步机制下的环形数据缓冲实现方法 Active CN107368374B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710620299.4A CN107368374B (zh) 2017-07-26 2017-07-26 用于嵌入式系统基于同步机制下的环形数据缓冲实现方法
PCT/CN2017/101335 WO2019019295A1 (zh) 2017-07-26 2017-09-12 用于嵌入式系统基于同步机制下的环形数据缓冲实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710620299.4A CN107368374B (zh) 2017-07-26 2017-07-26 用于嵌入式系统基于同步机制下的环形数据缓冲实现方法

Publications (2)

Publication Number Publication Date
CN107368374A CN107368374A (zh) 2017-11-21
CN107368374B true CN107368374B (zh) 2019-08-06

Family

ID=60308223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710620299.4A Active CN107368374B (zh) 2017-07-26 2017-07-26 用于嵌入式系统基于同步机制下的环形数据缓冲实现方法

Country Status (2)

Country Link
CN (1) CN107368374B (zh)
WO (1) WO2019019295A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108037931B (zh) * 2017-12-06 2021-02-02 广州路派电子科技有限公司 一种对微处理器存储单元进行文件烧写的方法
CN111538607B (zh) * 2020-06-22 2020-10-20 北京翼辉信息技术有限公司 一种基于边界保护的消息通信方法及装置
CN112379844A (zh) * 2020-11-25 2021-02-19 深圳市华宝电子科技有限公司 一种数据保护方法、装置、电子终端及存储介质
CN113342836A (zh) * 2021-06-23 2021-09-03 平安普惠企业管理有限公司 同步数据处理方法、装置、计算机设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101526748A (zh) * 2009-01-13 2009-09-09 上海微电子装备有限公司 用于光刻对准数据检验的存储装置、方法和对准控制系统
CN102591815A (zh) * 2011-12-27 2012-07-18 Tcl集团股份有限公司 一种用环形数据缓冲区读写批量数据的方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7451281B2 (en) * 2003-06-05 2008-11-11 Hewlett-Packard Development Company, L.P. System and method for using swappable storage for storing program data
WO2009124911A1 (en) * 2008-04-07 2009-10-15 Nxp B.V. Mobile phone with low-power media rendering sub-system
CN101834978B (zh) * 2009-12-23 2011-09-28 福建新大陆通信科技股份有限公司 一种数字机顶盒epg系统的优化方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101526748A (zh) * 2009-01-13 2009-09-09 上海微电子装备有限公司 用于光刻对准数据检验的存储装置、方法和对准控制系统
CN102591815A (zh) * 2011-12-27 2012-07-18 Tcl集团股份有限公司 一种用环形数据缓冲区读写批量数据的方法及装置

Also Published As

Publication number Publication date
CN107368374A (zh) 2017-11-21
WO2019019295A1 (zh) 2019-01-31

Similar Documents

Publication Publication Date Title
CN107368374B (zh) 用于嵌入式系统基于同步机制下的环形数据缓冲实现方法
US10476697B2 (en) Network-on-chip, data transmission method, and first switching node
CN211376201U (zh) 一种命令读写装置、存储器
CN111221759B (zh) 一种基于dma的数据处理系统及方法
CN108600053B (zh) 一种基于零拷贝技术的无线网络数据包捕获方法
US20240037059A1 (en) Computer Device, Virtual Acceleration Device, Data Transmission Method, and Storage Medium
CN113032162B (zh) 一种基于共享内存备份机制的多进程通讯方法
CN114968893B (zh) 基于时间戳的PCIe报文队列调度方法、系统及设备
EP2869503A1 (en) Multicast message replication method and device
CN108280041A (zh) 一种内部集成电路主机的通信方法和装置
CN102567081B (zh) 基于多进程的全局设置方法及系统
CN106776374B (zh) 一种基于fpga的高效数据缓冲方法
CN114185830A (zh) 基于mailbox的多处理器通信方法、设备、系统和存储介质
CN107908428B (zh) 一种帧、页同步的gpu图形指令缓冲同步方法
CN110990169A (zh) 一种利用共享内存进行进程间字节流通信的结构及方法
CN110705195A (zh) 一种基于fpga的跨时钟域深度自行配置fifo系统
CN115955441A (zh) 一种基于tsn队列的管理调度方法、装置
CN117499351A (zh) 报文转发装置及方法、通信芯片及网络设备
CN213069802U (zh) 非同源时钟数据传输系统
CN100383770C (zh) 一种基于主从通信方式的主节点链路层优化方法
CN102831077B (zh) 一种节约缓存资源的流量管理装置和方法
CN113419985A (zh) Spi系统自动读取数据的控制方法及spi系统
CN111679923A (zh) 实时通信方法和系统
JP2003258922A (ja) 3段通信バッファを利用した通信装置
CN113986798B (zh) 一种基于usb总线透明传输的同步串口卡及频率自适应方法

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
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Implementation of ring data buffer based on synchronization mechanism for embedded system

Effective date of registration: 20210308

Granted publication date: 20190806

Pledgee: Bank of China Limited Guangzhou Development Zone Branch

Pledgor: GUANGZHOU ROADPASSION ELECTRONIC TECHNOLOGY Co.,Ltd.

Registration number: Y2021980001501

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230515

Granted publication date: 20190806

Pledgee: Bank of China Limited Guangzhou Development Zone Branch

Pledgor: GUANGZHOU ROADPASSION ELECTRONIC TECHNOLOGY Co.,Ltd.

Registration number: Y2021980001501

PC01 Cancellation of the registration of the contract for pledge of patent right
TR01 Transfer of patent right

Effective date of registration: 20230628

Address after: Room 301, 3rd Floor, Building 6, No. 2 Tiantai 1st Road, Science City, Huangpu District, Guangzhou City, Guangdong Province, 510000

Patentee after: Guangzhou Lupai Liuma Technology Co.,Ltd.

Address before: 510663 room 602, building A1, 6th floor, No.19, Kehui 2nd Street, Kehui Jingu Park, No.99, middle Kexue Avenue, Luogang District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU ROADPASSION ELECTRONIC TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right