图像处理芯片的数据处理模块之间数据传递方法与流程

未命名 08-29 阅读:265 评论:0

1.本发明属于芯片技术领域,涉及一种图像处理芯片的数据处理模块之间数据传递方法。


背景技术:

2.图像处理芯片中往往有很多不同的数据处理模块,每个模块能对图像实现不同的处理。实际应用过程中,不同的应用场景需要用到的模块往往不同,而且需要处理的顺序也不同,这就要求模块能任意组合,能多通道输出。
3.传统linux操作系统内存一般将空间分为用户空间和kernel空间,用户不能直接访问kernel空间。传统linux软件驱动结构下,数据处理模块之间的数据传送一般需要首先将数据传到用户空间,由用户空间的主控程序再将数据发送到下一个数据处理模块的kernel空间。这样就需要数据两次用户态、内核态的copy,以及kernel态到用户态、用户态到kernel态的两次系统调用,影响整个系统运行的效率。
4.还有一种传递方式,是通过系统管理模块进行数据的分发,首先系统管理模块将发送数据处理模块和接收数据处理模块进行绑定,用于管理的数据结构和所有的接收数据函数都存储在系统管理模块里,各发送数据处理模块将所有的数据首先发送到系统管理模块,由系统管理模块利用数据结构和接收数据函数将数据发送给不同的数据处理模块。采用这种数据传递方式,在多级模块级联场合下,数据发送会产生拥堵,影响传递效率。


技术实现要素:

5.本发明的目的就是提供一种图像处理芯片的数据处理模块之间数据传递方法,能灵活的将不用的模块动态拼装在一起,数据传递的时候不需要应用程序的参与,显著降低模块间数据传递的开销。
6.本发明方法实现不同级数据处理模块之间的数据传递,每个数据处理模块具有多个数据发送单元和多个数据接收单元。
7.每个数据发送单元设置一个设备链表,设备链表由串联的多个数据储存单元构成,每个数据储存单元对应一个下一级接收数据处理模块的数据接收单元,记录一个用于管理的数据结构,达到一个输入,多个输出的功能;每个数据结构记录该数据发送单元需要绑定的下一级接收数据接收单元的信息;
8.每个数据接收单元提供统一格式的接收数据函数,通过函数指针赋值方法将接收数据函数存储到上一级发送数据处理模块定的数据储存单元,并将本数据处理模块的模块信息绑定到上一级发送数据处理模块指定的数据储存单元,模块信息包括名称、id信息等。
9.对于完成一次功能的数据处理模块之间数据传递,具体流程如下:
10.(1)管理程序调用系统管理模块提供的绑定函数,由系统管理模块将待接收数据的数据处理模块的模块信息和接收数据函数存储到待发送数据的数据处理模块的一个数据存储单元中,完成发送模块和接收模块间的绑定操作;
11.(2)待发送数据的数据处理模块遍历自身的设备链表,获取每一个待接收数据的数据处理模块提供的接收数据函数,待发送数据的数据处理模块依次调用接收数据函数,利用接收数据函数将数据传递至对应的下一级数据处理模块;
12.(3)全部数据传递结束后,管理程序调用系统管理模块提供的解绑定函数,将发送数据数据处理模块数据存储单元的数据结构清空,解除绑定,完成实现本次功能的数据传递。
13.本发明方法将数据处理模块的绑定信息记录在模块的内部,在工作中,数据处理模块只需要访问自己内部的记录的信息就可以知道将数据传递到哪些下级数据处理模块,不需要向其他模块询问应该把数据发到哪里,节省函数调用的时间。本发明方法不需要通过系统管理模块进行数据的分发,即可实现数据处理模块之间的数据传递。相关的数据处理模块在绑定之后,前级模块的数据生成之后,能够自动的传递到下一级模块,不需要应用态的程序进行干预,也不需要专门的模块来进行数据的分发。
具体实施方式
14.图像处理芯片的数据处理模块之间数据传递方法,该方法将不用的模块的时分复用成不同设备串接在一起。使得每个设备的输出绑定到下一级设备的输入,从而实现不同的模块之间数据的传递。
15.图像处理芯片中,每个参与数据发送和接收的数据处理模块均具有多个数据发送单元和多个数据接收单元。
16.每个数据发送单元设置一个设备链表,设备链表由串联的多个数据储存单元构成,每个数据储存单元对应一个下一级接收数据处理模块的数据接收单元,记录一个用于管理的数据结构;每个数据结构记录该数据发送单元需要绑定的下一级接收数据接收单元的信息,每个数据结构中记录了该数据处理模块需要绑定的下一级数据处理模块的信息(可绑定多个数据处理模块,达到一个输入,多个输出的功能),同时这个结构也记录了上一级数据处理模块的信息,以便在一些场景下的反向查询。
17.每个数据接收单元提供统一格式的接收数据函数,接收数据函数需要统一数,以保证数据正常传递。通过函数指针赋值方法将接收数据函数存储到上一级发送数据处理模块定的数据储存单元,并将本数据处理模块的模块信息绑定到上一级发送数据处理模块指定的数据储存单元,模块信息包括名称、id信息等。
18.对于完成一次功能的数据处理模块之间数据传递,具体流程如下:
19.(1)管理程序调用系统管理模块提供的绑定函数,由系统管理模块将待接收数据的数据处理模块的模块信息和接收数据函数存储到待发送数据的数据处理模块的一个数据存储单元中,完成发送模块和接收模块间的绑定操作;
20.(2)待发送数据的数据处理模块遍历自身的设备链表,获取每一个待接收数据的数据处理模块提供的接收数据函数,待发送数据的数据处理模块依次调用接收数据函数,利用接收数据函数将数据传递至对应的下一级数据处理模块;
21.(3)全部数据传递结束后,管理程序调用系统管理模块提供的解绑定函数,将发送数据数据处理模块数据存储单元的数据结构清空,解除绑定,完成实现本次功能的数据传递。
22.该方法确保了在模块代码编写的过程中不需要考虑前后级模块的类型、数量,以及数据接口类型。在模块运行的过程中,不需要实时查询前后级信息,不需要引入额外的分发模块,也不需要应用程序参与。


技术特征:
1.一种图像处理芯片数据处理模块之间数据传递方法,每个数据处理模块具有多个数据发送单元和多个数据接收单元,其特征在于:每个数据发送单元设置一个设备链表,设备链表由串联的多个数据储存单元构成,每个数据储存单元对应一个下一级接收数据处理模块的数据接收单元,记录一个用于管理的数据结构;每个数据结构记录该数据发送单元需要绑定的下一级接收数据接收单元的信息;每个数据接收单元提供统一格式的接收数据函数,通过函数指针赋值方法将接收数据函数存储到上一级发送数据处理模块定的数据储存单元,并将本数据处理模块的模块信息绑定到上一级发送数据处理模块指定的数据储存单元;管理程序将发送模块和接收模块进行绑定,数据处理模块根据接收数据函数将数据传递至对应的下一级数据处理模块,完成一次功能的数据传递后解除绑定。2.如权利要求1所述的一种图像处理芯片数据处理模块之间数据传递方法,其特征在于,对于完成一次功能的数据处理模块之间数据传递,具体流程如下:(1)管理程序调用系统管理模块提供的绑定函数,由系统管理模块将待接收数据的数据处理模块的模块信息和接收数据函数存储到待发送数据的数据处理模块的一个数据存储单元中,完成发送模块和接收模块间的绑定操作;(2)待发送数据的数据处理模块遍历自身的设备链表,获取每一个待接收数据的数据处理模块提供的接收数据函数,待发送数据的数据处理模块依次调用接收数据函数,利用接收数据函数将数据传递至对应的下一级数据处理模块;(3)全部数据传递结束后,管理程序调用系统管理模块提供的解绑定函数,将发送数据数据处理模块数据存储单元的数据结构清空,解除绑定,完成实现本次功能的数据传递。

技术总结
本发明公开了图像处理芯片的数据处理模块之间数据传递方法。本发明中,每个数据处理模块具有多个数据发送单元和数据接收单元。每个数据发送单元设置数据储存单元构成的设备链表,数据储存单元对应一个下一级数据接收单元;每个数据储存单元记录需要绑定的下一级接收数据接收单元的信息;每个数据接收单元提供接收数据函数,存储到上一级数据储存单元,将本数据处理模块信息绑定到上一级数据储存单元。管理程序将发送模块和接收模块进行绑定,数据处理模块根据接收数据函数将数据传递至对应的下一级数据处理模块,完成一次功能的数据传递后解除绑定。本发明方法不需要通过系统管理模块进行数据的分发,即可实现数据处理模块之间的数据传递。块之间的数据传递。


技术研发人员:刘峰 欧阳次山 窦中康
受保护的技术使用者:杭州国芯科技股份有限公司
技术研发日:2023.06.05
技术公布日:2023/8/28
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐