CN105227839B - 一种高效图像采集硬件控制器 - Google Patents
一种高效图像采集硬件控制器 Download PDFInfo
- Publication number
- CN105227839B CN105227839B CN201510645708.7A CN201510645708A CN105227839B CN 105227839 B CN105227839 B CN 105227839B CN 201510645708 A CN201510645708 A CN 201510645708A CN 105227839 B CN105227839 B CN 105227839B
- Authority
- CN
- China
- Prior art keywords
- image
- register
- configuration
- collection
- controller
- 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
Links
Landscapes
- Image Processing (AREA)
Abstract
一种高效图像采集硬件控制器,其连接在CMOS传感器与微控制单元的内核CPU之间,包括控制器模块,所述控制器模块内设置有直接存储器存储、设置控制方式和采集图像帧数的控制寄存器、配置采集方式的采集方式配置寄存器、查询图像完整性的图像完整性结果寄存器、设置直接存储器存储的图像存放首地址的传输图像存放首地址、使能中断用的中断使能寄存器。本发明解决了中断频繁的问题,解决了采集、处理效率问题,进一步提高系统效率。
Description
技术领域
本发明涉及一种高效图像采集硬件控制器。
背景技术
随着图像识别技术越来越广泛的应用,对图像采集、处理的综合效率的要求越来越高。很多应用场合需要一边采集图像,同时还需要对已经采集完成的图像做处理,目前MCU最通用的对图像进行采集处理的方法如下。
1、顺序处理:此方法就是采集完一副图像,然后再此图像进行处理,流程图如图1。此种方式的优势在于占用MCU资源少,只需要一副图像大小的缓冲内存,软件编程和硬件控制器设计都很简单。但是缺点在于效率低下,在处理图像的时候,无法同时采集CMOS图像,系统反应迟钝,例如以指纹识别场景为例:MCU采集CMOS一副图像一般需要花费40毫秒,图像处理需要150毫秒,而通常一个完整的指纹识别流程,至少需要3~4副图像,如果遇到指纹图像较差的情况,可能需要更多副的图像,因此往往采用此种方式,识别时间会超过1秒,给用户感觉非常不灵敏。而要提高识别速度,要么减少采集图像的副数,要么缩短图像处理时间,这两种方式都会带来识别性能的损失。最后像人脸识别、行为识别等领域完成一个流程所需要的图像副数就更多。
2、并行处理:随着芯片工艺越来越先进,特别是32位的MCU占据着市场绝对主流的情况下,MCU的资源也越来越丰富,特别是能外挂SDRAM或者DDR的MCU,极大的扩展了其RAM大小。因此可以一次性采集好几副图像存储到RAM内。通常并行处理采用两种方式:
A:一次性采集所需要副数的图像存储到RAM内,然后再对所有图像顺序处理,此种方法其实和顺序处理没有什么区别,只是减少了软件配置开销,意义不大。
B:MCU每次采集图像数据时,将CMOS数据通过内部DMA搬移到制定RAM区域,由于DMA搬移时不需要CPU干预,所以每次软件配置完DMA参数后,MCU可以同时做其余任务(例如图像处理),当一帧图像采集完成后,中断产生通知CPU,此时CPU可以从当前任务退出处理采集完成的图像,或者继续配置DMA继续采集。此方法虽然提高了整个系统的效率,但每次采集完成图像都会产生一个DMA中断来打断当前进程,例如采集6副图像就要产生6个中断,影响程序进程的连贯性。另外CMOS由于受外界干扰,有可能会产生漏采像素点的情况,漏采的情况可分为3个情况:
a)例如一行应该采集从0~480个像素点,但由于干扰,中间第50、51漏了2个像素点,把480以后的无效像素点也采集进去,最终此行变成采集了0~49,52~482像素点,此种情况一般对画面影响不大,一般不会影响识别效果;
b)例如一行要采集638个像素点(一般CMOS一行最大的像素点也就是640),中间漏了10个像素点,此时必然就把下行的数据采集到RAM内,而下行的数据也必然减少,所以最终采集到RAM内的图像显示出来就是歪的,这种情况图像就完全不能用,不能进行图像识别;
c)例如要采集一副大小为640*480=307200像素点,也就是一般CMOS能输送的最大尺寸的图像,可能此副图像只采集了307100字节(某几行采集漏了几个像素)。这种情况是最糟糕的,此时除了这幅图像是无效的,通俗的讲整幅图像就歪掉了。DMA采集时间还会被延长(DMA中断的产生必须满足采集像素点个数符合配置时设定的数值条件,会采集下一帧图像的像素值来填补,相当于采集时间变成了两帧的时间),整个系统的时间变慢。
一旦出现上述b、c两种情况并且这幅不正确的图像存在内存里,在后续的图像处理中也当成正常的图像做预处理,浪费宝贵的系统时间。
发明内容
本发明提供了一种提高系统效率、解放MCU资源、减少系统时间开销、硬件确保接收图像的完整性的高效图像采集硬件控制器。
本发明采用的技术方案是:
一种高效图像采集硬件控制器,其连接在CMOS传感器与微控制单元的内核CPU之间,其特征在于:包括控制器模块,所述控制器模块内设置有直接存储器存储、设置控制方式和采集图像帧数的控制寄存器、配置采集方式的采集方式配置寄存器、查询图像完整性的图像完整性结果寄存器、设置直接存储器存储的图像存放首地址的传输图像存放首地址、使能中断用的中断使能寄存器;所述控制器模块图像采集步骤如下:
(1)通过内核CPU对控制器模块的控制寄存器、采集方式配置寄存器、传输图像存放首地址、中断使能寄存器进行相应配置;
(2)配置好后控制寄存器使能采集图像;
(3)当采集完所需的图像帧数后,将采集到的所有图像的完整性结果写入到图像完整性结果寄存器,并产生一个中断,内核CPU响应中断;
(4)查询图像完整性结果寄存器,对微控制单元内存内的有效图像做处理。本发明通过配置采集图像幅数,只有当采集完所需要所有图像副数才会产生中断(例如需要采集6副图像,那么采集完成6副图像后才产生一次中断),解决了中断频繁的问题。而在采集过程中,不需要CPU参与,CPU完全可以边采集,边处理图像,解决了采集、处理效率问题。另外硬件能自动判断图像像素个数的完整性,然后将图像是否完整的结果写入到一个寄存器,CPU可以通过查询图像完整性结果寄存器,判断采集到的图像哪些是有效图像,哪些是无效图像,不需要通过后续软件先处理所有图像,再判断图像完整性的过程,从而进一步提高系统效率。
进一步,步骤(3)中的图像完整性的条件包括:
A、计算每一行采集的像素点个数,任意一行采集的像素点不能少于或者多于配置的像素点个数;
B、计算采集的行数,在一帧图像里不能多采集或者少采集配置的行数;
C、检测帧信号结束标志,当在帧信号结束标志到来的时候,此时一帧图像需要采集到所需数量的像素点个数。本发明的图像必须满足上述3个条件才是完整的。
进一步,步骤(3)中图像完整性的条件中有任意一个条件不满足的话,此帧图像采不完整,并立刻通知直接存储器存储停止采集此帧图像,从下一帧开始采集新的图像。图像完整性结果状态控制直接存储器存储的工作状态,例如需要采集n副图像的时候,图像完整性状态通知直接存储器存储在采集图像时候,什么时候停止传输,什么时候开始采集下一帧图像,直接存储器存储将第n副图像存入到的RAM地址=首地址+n*图像大小,上述过程全部硬件自动执行,不需要软件干预,极大的提高整个系统的效率。
进一步,步骤(3)中的中断是否通知内核CPU由中断使能寄存器控制。
进一步,所述采集方式配置寄存器包括配置每行采集数的列配置寄存器和配置每帧的行采集数的行配置寄存器。
进一步,还包括用来读取中断状态的中断状态寄存器和中断标志寄存器。
进一步,所述控制器模块与微控制单元的内核CPU是通过总桥线连接。控制器模块挂接在总线桥上,从而和内核CPU进行信号传递。内核CPU通过总线桥,传递一个时钟模块给控制器模块,提供控制器模块工作的基准时钟。
进一步,所述控制器模块与CMOS传感器通过外接的GPIO口连接。控制器模块通过11根外接的GPIO口连接到CMOS的信号接口(VSYNC、HSYNC、PCLK、DATA[7:0]),并且通过这11根GPIO口接收CMOS的图像信号。
本发明的有益效果:通过配置采集图像幅数,只有当采集完所需要所有图像副数才会产生中断,解决了中断频繁的问题。而在采集过程中,不需要CPU参与,CPU完全可以边采集,边处理图像,解决了采集、处理效率问题。另外硬件能自动判断图像像素个数的完整性,然后将图像是否完整的结果写入到一个寄存器,CPU可以通过查询图像完整性结果寄存器,判断采集到的图像哪些是有效图像,哪些是无效图像,不需要通过后续软件先处理所有图像,再判断图像完整性的过程,从而进一步提高系统效率。
附图说明
图1是现有图像顺序处理原理图。
图2是本发明的功能框图。
图3是本发明与内核CPU的连接示意图。
图4是本发明的图像完整性检测原理示意图。
图5是本发明的寄存器配置示意图。
具体实施方式
下面结合具体实施例来对本发明进行进一步说明,但并不将本发明局限于这些具体实施方式。本领域技术人员应该认识到,本发明涵盖了权利要求书范围内所可能包括的所有备选方案、改进方案和等效方案。
参照图2-5,一种高效图像采集硬件控制器,其连接在CMOS传感器与微控制单元的内核CPU2之间,包括控制器模块1,所述控制器模块1内设置有直接存储器存储DMA、设置控制方式和采集图像帧数的控制寄存器LOCSC_CTRL、配置采集方式的采集方式配置寄存器LOCSC_GATHER、查询图像完整性的图像完整性结果寄存器LOCSC_INTEGRITY、设置直接存储器存储DMA的图像存放首地址的传输图像存放首地址LOCSC_ADDR、使能中断用的中断使能寄存器LOCSC_INT_EN;所述控制器模块1图像采集步骤如下:
(1)通过内核CPU2对控制器模块1的控制寄存器LOCSC_CTRL、采集方式配置寄存器、传输图像存放首地址LOCSC_ADDR、中断使能寄存器LOCSC_INT_EN进行相应配置;
(2)配置好后控制寄存器LOCSC_CTRL使能采集图像;
(3)当采集完所需的图像帧数后,将采集到的所有图像的完整性结果写入到图像完整性结果寄存器LOCSC_INTEGRITY,并产生一个中断,内核CPU2响应中断;
(4)查询图像完整性结果寄存器LOCSC_INTEGRITY,对微控制单元内存内的有效图像做处理。本发明通过配置采集图像幅数,只有当采集完所需要所有图像副数才会产生中断(例如需要采集6副图像,那么采集完成6副图像后才产生一次中断),解决了中断频繁的问题。而在采集过程中,不需要CPU参与,CPU完全可以边采集,边处理图像,解决了采集、处理效率问题。另外硬件能自动判断图像像素个数的完整性,然后将图像是否完整的结果写入到一个寄存器,CPU可以通过查询图像完整性结果寄存器LOCSC_INTEGRITY,判断采集到的图像哪些是有效图像,哪些是无效图像,不需要通过后续软件先处理所有图像,再判断图像完整性的过程,从而进一步提高系统效率。
本实施例步骤(3)中的图像完整性的条件包括:
A、计算每一行采集的像素点个数,任意一行采集的像素点不能少于或者多于配置的像素点个数;例如需要采集一副640*480大小的图像,一行就应该采集640个像素点,在一行有效时间内,如果采集到的数据大于或者小于640,就认为此行采集失败;
B、计算采集的行数,在一帧图像里不能多采集或者少采集配置的行数;例如需要采集一副640*480大小的图像,就应该采集一共480行,在一帧有效时间内,采集的行数大于或者小于480,就认为此帧失败;
C、检测帧信号结束标志,当在帧信号结束标志到来的时候,此时一帧图像需要采集到所需数量的像素点个数,如果在帧信号结束标志到来的时候,此时一帧图像还没有采集到所需数量的像素点个数,说明此帧不完整。本发明的图像必须满足上述3个条件才是完整的。
本实施例步骤(3)中图像完整性的条件中有任意一个条件不满足的话,此帧图像采不完整,并立刻通知直接存储器存储DMA停止采集此帧图像,从下一帧开始采集新的图像。图像完整性结果状态控制直接存储器存储DMA的工作状态,例如需要采集n副图像的时候,图像完整性状态通知直接存储器存储DMA在采集图像时候,什么时候停止传输,什么时候开始采集下一帧图像,直接存储器存储DMA将第n副图像存入到的RAM地址=首地址+n*图像大小,上述过程全部硬件自动执行,不需要软件干预,极大的提高整个系统的效率。
本实施例步骤(3)中的中断是否通知内核CPU由中断使能寄存器LOCSC_INT_EN控制。
本实施例所述采集方式配置寄存器LOCSC_GATHER包括配置每行采集数的列配置寄存器LOCSC_PCOUNTER和配置每帧的行采集数的行配置寄存器LOCSC_HCOUNTER。
本实施例还包括用来读取中断状态的中断状态寄存器LOCSC_INT_STATUS和中断标志寄存器LOCSC_INT_FLAG。
本实施例所述控制器模块1与微控制单元的内核CPU2是通过总桥线连接。控制器模块1挂接在总线桥上,从而和内核CPU2进行信号传递。内核CPU2通过总线桥,传递一个时钟模块给控制器模块1,提供控制器模块1工作的基准时钟。
本实施例所述控制器模块1与CMOS传感器通过外接的GPIO口连接。控制器模块1通过11根外接的GPIO口连接到CMOS的信号接口(VSYNC、HSYNC、PCLK、DATA[7:0]),并且通过这11根GPIO口接收CMOS的图像信号。
本发明的各寄存器描述如表1:
表1控制器模块寄存器列表
寄存器名 | 描述 |
LOCSC_CTRL | 控制寄存器 |
LOCSC_PCOUNTER | 列配置寄存器 |
LOCSC_HCOUNTER | 行配置寄存器 |
LOCSC_INT_STATUS | 中断状态寄存器 |
LOCSC_INT_FLAG | 中断标志寄存器 |
LOCSC_INT_EN | 中断使能寄存器 |
LOCSC_INTEGRITY | 图像完整性结果寄存器 |
LOCSC_ADDR | 传输图像存放首地址 |
本发明的各寄存器的功能描述如下:
1、控制寄存器(LOCSC_CTRL),LOCSC_CTRL用来配置控制器模块的控制信号。
2、列配置寄存器(LOCSC_PCOUNTER),LOCSC_PCOUNTER用来配置控制器模块的每行采集数。
3、行配置寄存器(LOCSC_HCOUNTER),LOCSC_HCOUNTER用来配置每帧的行采集数。
4、中断状态寄存器(LOCSC_INT_STATUS),LOCSC_INT_STATUS用来读取中断状态。
5、中断标志寄存器(LOCSC_INT_FLAG),LOCSC_INT_FLAG为中断标志寄存器,写1清零。
6、中断使能寄存器(LOCSC_INT_EN),LOCSC_INT_EN为中断使能寄存器。
7、图像完整性结果寄存器(LOCSC_INTEGRITY),LOCSC_INTEGRITY为图像完整性查询寄存器。
8、传输图像存放首地址(LOCSC_ADDR),LOCSC_ADDR为DMA传输图像存放首地址。
Claims (8)
1.一种高效图像采集硬件控制器,其连接在CMOS传感器与微控制单元的内核CPU之间,其特征在于:包括控制器模块,所述控制器模块内设置有直接存储器存储、设置控制方式和采集图像帧数的控制寄存器、配置采集方式的采集方式配置寄存器、查询图像完整性的图像完整性结果寄存器、设置直接存储器存储的图像存放首地址的传输图像存放首地址、使能中断用的中断使能寄存器;所述控制器模块图像采集步骤如下:
(1)通过内核CPU对控制器模块的控制寄存器、采集方式配置寄存器、传输图像存放首地址、中断使能寄存器进行相应配置;
(2)配置好后控制寄存器使能采集图像;
(3)当采集完所需的图像帧数后,将采集到的所有图像的完整性结果写入到图像完整性结果寄存器,并产生一个中断,内核CPU响应中断;
(4)查询图像完整性结果寄存器,对微控制单元内存内的有效图像做处理。
2.如权利要求1所述的一种高效图像采集硬件控制器,其特征在于:步骤(3)中的图像完整性的条件包括:
A、计算每一行采集的像素点个数,任意一行采集的像素点不能少于或者多于配置的像素点个数;
B、计算采集的行数,在一帧图像里不能多采集或者少采集配置的行数;
C、检测帧信号结束标志,当在帧信号结束标志到来的时候,此时一帧图像需要采集到所需数量的像素点个数。
3.如权利要求2所述的一种高效图像采集硬件控制器,其特征在于:步骤(3)中图像完整性的条件中有任意一个条件不满足的话,此帧图像采不完整,并立刻通知直接存储器存储停止采集此帧图像,从下一帧开始采集新的图像。
4.如权利要求1所述的一种高效图像采集硬件控制器,其特征在于:步骤(3)中的中断是否通知内核CPU由中断使能寄存器控制。
5.如权利要求1所述的一种高效图像采集硬件控制器,其特征在于:所述采集方式配置寄存器包括配置每行采集数的列配置寄存器和配置每帧的行采集数的行配置寄存器。
6.如权利要求1所述的一种高效图像采集硬件控制器,其特征在于:还包括用来读取中断状态的中断状态寄存器和中断标志寄存器。
7.如权利要求1~6之一所述的一种高效图像采集硬件控制器,其特征在于:所述控制器模块与微控制单元的内核CPU 是通过总桥线连接。
8.如权利要求7所述的一种高效图像采集硬件控制器,其特征在于:所述控制器模块与CMOS传感器通过外接的GPIO口连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510645708.7A CN105227839B (zh) | 2015-10-08 | 2015-10-08 | 一种高效图像采集硬件控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510645708.7A CN105227839B (zh) | 2015-10-08 | 2015-10-08 | 一种高效图像采集硬件控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105227839A CN105227839A (zh) | 2016-01-06 |
CN105227839B true CN105227839B (zh) | 2018-05-08 |
Family
ID=54996490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510645708.7A Active CN105227839B (zh) | 2015-10-08 | 2015-10-08 | 一种高效图像采集硬件控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105227839B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111193873B (zh) * | 2019-12-25 | 2021-07-20 | 新大陆数字技术股份有限公司 | 一种图像快速调光系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101554332A (zh) * | 2008-04-10 | 2009-10-14 | 深圳迈瑞生物医疗电子股份有限公司 | 一种超声图像系统及超声图像传输方法 |
CN203225823U (zh) * | 2013-02-06 | 2013-10-02 | 北方工业大学 | 基于arm11和wince6.0的图像采集处理系统 |
CN104811621A (zh) * | 2015-05-03 | 2015-07-29 | 李峰 | 一种高效图像采集与压缩方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010093391A1 (en) * | 2009-02-10 | 2010-08-19 | Consolidated Edison Company Of New York, Inc. | Optical reading system and method of operation |
-
2015
- 2015-10-08 CN CN201510645708.7A patent/CN105227839B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101554332A (zh) * | 2008-04-10 | 2009-10-14 | 深圳迈瑞生物医疗电子股份有限公司 | 一种超声图像系统及超声图像传输方法 |
CN203225823U (zh) * | 2013-02-06 | 2013-10-02 | 北方工业大学 | 基于arm11和wince6.0的图像采集处理系统 |
CN104811621A (zh) * | 2015-05-03 | 2015-07-29 | 李峰 | 一种高效图像采集与压缩方法 |
Non-Patent Citations (1)
Title |
---|
基于DSP+FPGA视频图像采集处理系统的设计;李易难;《电子测量技术》;20140115;第37卷(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105227839A (zh) | 2016-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103905654B (zh) | Mipi接口的显示屏中esd干扰处理方法及处理系统 | |
CN103777613B (zh) | 主从信息实时交互方法以及系统 | |
CN107111572B (zh) | 用于避免死锁的方法和电路 | |
CN104469905B (zh) | 降低nfc芯片闲置时功耗的方法及系统 | |
CN103617138A (zh) | 多主机仲裁方法及多主机通信系统 | |
CN105677598B (zh) | 基于i2c接口快速读取多个mems传感器数据的模块和方法 | |
CN110955625A (zh) | 一种基于spi的全双工实时通信的方法及装置 | |
CN107562672A (zh) | 一种提高矢量网络分析仪数据传输速率的系统及方法 | |
CN109656856A (zh) | 利用fpga实现非复用总线与复用总线互联装置及方法 | |
CN105227839B (zh) | 一种高效图像采集硬件控制器 | |
CN117896399B (zh) | 用于高场和超高场磁共振成像的通信系统和方法 | |
CN106533621A (zh) | 基于简化的modbus协议的永磁同步电机实时监控的通讯方法 | |
CN103593316B (zh) | 一种减少mcu中断占用i2c总线时间的方法 | |
CN103838694B (zh) | 一种fpga高速读取usb接口数据的方法 | |
CN105676726B (zh) | 基于spi接口的多mems传感器快速数据存取系统及方法 | |
CN104836710B (zh) | 一种基于分布式系统一主多从通信的方法与装置 | |
CN101645057B (zh) | 一种防止cpu局域总线挂死的方法及装置 | |
CN105426849A (zh) | 多模态生物识别装置及其进行图像采集的方法 | |
CN107894930A (zh) | 死机状态数据被动恢复处理的方法和装置 | |
CN105700915A (zh) | 一种兼顾看门狗功能和监测软件烧写功能的方法和装置 | |
CN104765710B (zh) | 一种包含双处理器的读卡器的工作方法 | |
CN103647728B (zh) | 一种STM32单片机与Linux系统高速串口抗干扰通讯方法 | |
CN105426885A (zh) | 多模态生物识别装置及其进行图像传输的方法 | |
CN102103885B (zh) | Sd卡清除忙状态的方法及清除忙状态电路 | |
CN104464610A (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 | ||
GR01 | Patent grant |