CN108055460A - 高速图像处理和采集系统 - Google Patents
高速图像处理和采集系统 Download PDFInfo
- Publication number
- CN108055460A CN108055460A CN201711383954.5A CN201711383954A CN108055460A CN 108055460 A CN108055460 A CN 108055460A CN 201711383954 A CN201711383954 A CN 201711383954A CN 108055460 A CN108055460 A CN 108055460A
- Authority
- CN
- China
- Prior art keywords
- modules
- data
- pci
- fifo
- disk
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Transfer Systems (AREA)
- Studio Devices (AREA)
Abstract
本发明公开了一种高速图像处理和采集系统,采集端通过USB Host连接USB相机阵列,记录端通过硬盘接口连接硬盘阵列,系统包括:USB Host模块、PCI‑E Core模块、PCI‑E Switch模块、User Logic模块、Image Processing模块、FIFO模块、Disk Controller模块、Disk Interface模块、Synchronization Logic模块。本系统基于PCIE总线,点到点传输图像数据,无需将采集的数据映射到CPU内存,数据传输效率高,延迟低,能充分利用设备带宽,传输速率高、带宽高、容量大、同步精度高、扩展容易、携带方便、经济可行。
Description
技术领域
本发明属于集成电路和微电子技术领域,具体涉及一种高速图像数据采集与记录的系统。
背景技术
数字图像测量技术的应用日益广泛,为了提高分辨率,需要不断提高图像像素数量。在建筑、桥梁、机械等大件测量时,必须使用多个相机组成的相机阵列,由于图像数据极其庞大,对传输和存储提出了更高的要求。同时为了实现图像拼接,还需要进行图像预处理,如校正、去噪、均值滤波、中值滤波等,相机和相机之间还必须能实现亚毫秒级的同步。而基于PC的传统的图像采集和处理系统有着诸多的缺陷和不足,比如传输速率低、计算慢、体积大、成本高、同步困难等等问题,无法满足现有需求。
发明内容
为解决上述问题,本发明公开了一种适用于单路与多路相机数据处理的高速图像处理和采集系统,具有高速、高带宽等诸多有点,且携带方便、经济可行。
为了达到上述目的,本发明提供如下技术方案:
高速图像处理和采集系统,采集端通过USB Host连接USB相机阵列,记录端通过硬盘接口连接硬盘阵列,系统包括:USB Host模块、PCI-E Core模块、PCI-E Switch模块、UserLogic模块、Image Processing模块、FIFO模块、Disk Controller模块、Disk Interface模块、Synchronization Logic模块;
所述USB Host模块具有多个LVDS串行数据传输通道,用于将多路USB相机数据并发传输给PCI-E Switch模块;
所述PCI-E Core模块用于实现PCI-E的协议;
所述PCI-E Switch模块用于将下游端口上的USB Host传输过来的相机数据经上游端口路由至User Logic模块;
所述User Logic模块用于实现USB Host、PCI-E Switch模块、PCI-E Core模块、Image Processing模块、Disk Controller模块、Synchronization模块的初始化,并且在数据传输过程中控制USB Host、PCI-E Switch模块、Image Processing模块、FIFO模块、DiskController模块、Synchronization Logic模块的正常运行;
所述Image Processing模块用于对User Logic模块中传输过来的相机数据进行图像处理,并将处理完成后的数据传输给FIFO模块;
所述FIFO模块具有多个FIFO存储器用来暂存经Image Processing模块处理过的图像数据;
所述Disk Controller模块,包括File System、Disk Controller和GigabitTransceiver,用于完成图像数据到硬盘的存储任务;
所述Disk Interface模块,实现硬盘物理接口,完成硬盘阵列与FPGA的互联;
所述Synchronous Logic模块,实现对USB相机数据采集的同步触发,并且保证图像数据在处理和存储到硬盘时的同步,同时能够实现多个系统间的级联。
进一步的,所述PCI-E Core模块包括:Register Space模块、RX_Engine模块、AXI4_Protocol_Engine模块、TX_Engine模块、FIFO模块、DWORD Master模块、CompletionMonitor模块、TX Arbiter模块和RX Arbiter模块;
所述Register Space模块包含多种功能控制和状态寄存器,用于对周围其它模块的工作状态进行控制,后端的用户逻辑能够通过AXI Lite总线接口对寄存器空间进行访问;
所述RX_Engine模块用于接收和解析来自其它PCIE设备的读写请求;
所述AXI4_Protocol_Engine模块用于根据RD_Info_FIFO中的信息将所需的数据读入到RD_DATA_FIFO中;
所述TX_Engine模块用于组建其它PCIE设备的读请求所需的完成数据包;
所述FIFO模块用于隔离不同的时钟域;
所述DWORD Master模块用于根据Register Space内相关寄存器的值,主动向其它PCIE设备发起1个DW的读写请求;
所述Completion Monitor模块用于对接收到的完成数据包进行检查并将结果写入到相应寄存器内。
进一步的,所述硬盘接口包括SATA或M.2。
进一步的,所述RX_Engine模块对于写请求,将拆解后的写信息和写数据分别写入到后端的WR_Info_FIFO和WR_DATA_FIFO中;对于读请求,拆解后的读信息被写入RD_Info_FIFO。
与现有技术相比,本发明具有如下优点和有益效果:
1.传输速率高,系统基于PCIE总线,点到点传输图像数据,无需将采集的数据映射到CPU内存,数据传输效率高,延迟低,能充分利用设备带宽。
2.带宽高,PCI-E协议是英特尔提出的第三代高性能I/O总线技术,具有高速串行点对点全双工高宽带传输的特点。本系统中的PCI-E Switch模块上游端口采用PCI-E X8链路宽度,单方向带宽可达40Gbps。
3.容量大,采用固态硬盘阵列,可一次存储数百T的图像数据。
4.同步精度高,采用硬件同步,同步精度可达亚毫秒。
5.扩展容易,提供级联模块可最多连接16块板卡,挂载256个usb相机。
6.携带方便,整个图像采集与记录系统集成在一块FPGA板卡上,外出实验方便携带。
7.经济可行,与传统PC端的高速图像采集与处理系统比起来,省去了高额图像采集卡和图形工作站的花费。
附图说明
图1为本发明提供的高速图像处理和采集系统结构示意图。
图2为图1中PCI-E Core模块结构示意图。
图3为事务层数据包TLP结构图。
图4为RX_Engine模块状态转移图。
图5为SATA传输过程中一帧数据的组成示意图。
图6为Disk Controller的核心组成示意图。
图7为RX Slave FSM的状态转移图。
具体实施方式
以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
请参阅图1,本发明提供的高速图像处理和采集系统,其采集端通过USB Host连接USB相机阵列,记录端通过SATA或M.2等硬盘接口连接硬盘阵列,系统中包括USB Host模块、PCI-E Core模块、PCI-E Switch模块、User Logic模块、Image Processing模块、FIFO模块、Disk Controller模块、Disk Interface模块、Synchronization Logic同步级联模块。
其中,USB Host具有多个LVDS串行数据传输通道,用于并发地将每个USB Host下挂载的单路或多路USB相机数据并发传输给PCI-E Switch模块。
PCI-E Switch模块用于将下游端口上的USB Host传输过来的相机数据经上游端口路由至User Logic模块,其有多个down port端口用来接收USB Host传输过来的数据,然后通过PCI-E Switch上游端口将数据路由至后端模块。
User Logic模块用于实现USB Host、PCI-E Switch模块、PCI-E Core模块、ImageProcessing模块、Disk Controller模块、Synchronization模块的初始化,并且在数据传输过程中控制USBHost、PCI-E Switch模块、Image Processing模块、FIFO模块、DiskController模块、Synchronization同步级联模块的正常运行。具体的说,User Logic模块实现整个图像采集与记录的逻辑控制,使得FPGA按照用户逻辑的顺序执行如下操作,包括PCI-E设备枚举,为连接设备分配地址、ID,取得需要的描述符,识别配置USB摄像头、配置USB Host、PCI-E Switch模块、Synchronous Logic模块、Image Processing模块、和DiskController模块,Disk Interface模块、Synchronous Logic模块同步触发USB摄像头采集图像,图像数据经过USB Host、PCI-E Switch,Image Processing模块后传输至FIFO中、最后通过DiskController模块将图像数据从File System通过Gigabit Transceiver存储到固态硬盘中。
Image Processing模块用于对User Logic模块中传输过来的相机数据进行图像处理,并将处理完成后的数据传输给FIFO模块。图像处理包括校正、去噪、均值滤波、中值滤波等拼接前预处理。
FIFO模块中的多个FIFO存储器用来暂存经Image Processing模块处理过的图像数据。
Disk Controller模块,包括File System、Disk Controller和GigabitTransceiver,用于完成图像数据到硬盘的存储任务。其中File System是硬件描述语言实现的FAT32文件系统,用于实现图像数据到硬盘的文件管理,File System接收从FIFO传输过来的数据,并在DiskController的控制下,通过Gigabit Transceiver将图像数据存储到固态硬盘中。
Disk Interface模块用于实现SATA3.0或M.2等硬盘物理接口功能,完成硬盘阵列与FPGA的互联。
Synchronization Logic模块用于实现对USB相机数据采集的同步触发,并且保证图像数据在处理和存储到硬盘时的同步,同时可以实现多个系统间的级联。该模块实现多系统物理级联、时钟同步、触发,挂载更多的相机。
本实施例中USB相机采用通用的USB摄像头,整个系统在User Logic模块控制下运行。系统上电后,通过User Logic模块完成对USB Host、PCI-E Switch和USB相机等模块的初始化和驱动任务。FPGA进行PCI-E设备枚举,为连接设备分配地址、ID,取得需要的描述符,配置USB摄像头、USB Host、PCI-E Switch模块、Synchronous Logic模块、ImageProcessing模块和Disk Controller模块,Synchronous Logic模块同步启动USB摄像头采集图像,图像数据经过USB Host、PCI-E Switch,Image Processing模块后传输至FIFO中、最后通过Disk Controller模块将图像数据从File System通过Gigabit Transceiver存储到固态硬盘中。具体的说,在User Logic模块的控制下,USB Host将采集端上的USB相机数据通过PCI-E Switch模块传入Image Processing模块进行图像处理,处理完毕后将数据传入FIFO中,最后在Disk Controller模块控制下将FIFO中数据存入到硬盘中。
PCI-E Core用于实现PCI-E的协议。其具体结构请参阅图2,本实例中PCI-E Core模块主要由以下几部分组成:Register Space模块、RX_Engine模块、AXI4_Protocol_Engine模块、TX_Engine模块、FIFO模块、DWORD Master模块、Completion Monitor模块、TXArbiter模块和RX Arbiter模块。
Register Space模块含有多种功能控制和状态寄存器,能够对周围其它模块的工作状态进行控制,后端的用户逻辑可以通过AXI Lite总线接口对寄存器空间进行访问。
RX_Engine负责接收和解析来自其它PCIE设备的读写请求。对于写请求,将拆解后的写信息和写数据分别写入到后端的WR_Info_FIFO和WR_DATA_FIFO中。对于读请求,拆解后的读信息被写入RD_Info_FIFO。
AXI4_Protocol_Engine根据RD_Info_FIFO中的信息将所需的数据读入到RD_DATA_FIFO中。
TX_Engine负责组建其它PCIE设备的读请求所需的完成数据包(CPLD)。
FIFO用来隔离不同的时钟域,进而提升整体的传输性能。
DWORD Master模块根据Register Space内相关寄存器的值,主动向其它PCIE设备发起1个DW的读写请求。
Completion Monitor模块负责对接收到的完成数据包进行检查并将结果写入到相应寄存器内。
TX Arbiter模块和RX Arbiter模块作为接收和发送数据类型的分选器。
请参阅图3和图4,实现RX_Engine模块状态机的具体设计。接收引擎RX_Engine从PCIE硬核模块接收到事务层数据包(TLP),如图3所示,根据TLP的格式,第23bit-30bit为数据包类型标志位。按照类型标志位中的信息,对TLP内容进行解析然后进行相应操作。RX_Engine状态转移过程请参阅图4,系统复位后,接受引擎处于空闲状态,接收到数据包后跳转到相应的状态进行存储器读写操作。在写操作过程中,写相关的信息以及写数据写入到后端的FIFO中,写过程主要判断TLP数据包中的数据是否接收完,以及后端FIFO是否写满,根据这两个条件来判断何时可以向FIFO中写入数据,何时应该关闭FIFO并等待。
请参阅图5,SATA传输过程中以SOF Primitive代表一帧数据的传输开始,以EOFPrimitive代表一帧数据的传输结束,中间的FIS是有效数据负载,最后在FIS的结尾处包含有CRC校验字段。
请参阅图6,为了完成对硬盘的读写操作,Disk Controller主要完成多种数据帧的组建,Disk Controller的核心组成包括三部分:主状态机Master FSM,接收从状态机RXSlave FSM,发送从状态机TX Slave FSM。主状态机完成最高层次的逻辑控制,如果需要向硬盘写入数据,那么主状态机将启动TX Slave从状态机来实现具体的写入操作。主状态机通过启动RX Slave从状态机来完成从硬盘中读出数据。完整模块中还包括数据的加扰,解扰以及CRC校验能功能模块。
请参阅图7,以RX Slave FSM的状态转移图为例来进行说明,初始状态为idle,主状态机启动接收从状态机RX Slave FSM后,接收从状态机进入Wai_X_RDY状态等待硬盘的数据请求,接收到请求后从状态机进入Send_R_RDY状态并向硬盘发送R_RDY原语,表示DiskController已准备后接受来自硬盘的数据。一旦Disk Controller检测到一帧数据(SOF_det=1)后从状态机进入Send_R_IP状态并发送R_IP原语,向硬盘表明数据正在接收当中,在该过程中从状态机有可能检测到Hold原语,表示硬盘出于某些原因暂停传输数据,此时从状态机要想硬盘发送HoldACK原语作为回应。当一帧数据传输完成后(EOF=1)从状态机进入Send_R_OK状态并向硬盘发送R_OK原语表明该帧数据成功传输。如果要接收受的数据无法在一帧内传输完成那么从状态机跳转到Send_R_RDY状态继续进行下一帧的接收,如果该帧为最后一帧表明数据接收完成,从状态机跳转到idle状态等待下一次启动,否则从状态机连续发送多个SYNC原语后进入idle状态。
本发明单个系统最多支持16路低速相机、8路中速相机或者4路高速相机数据的同步采集和记录。通过系统的同步扩展接口可实现多个系统级联扩展,从而支持更多的相机,所有接入的相机均可实现亚毫秒同步。相比传统的图像采集存储系统,本系统具有速度快、体积小、功耗低、扩展易,支持相机种类多、能实现图像预处理等特点。
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (4)
1.高速图像处理和采集系统,其特征在于:采集端通过USB Host连接USB相机阵列,记录端通过硬盘接口连接硬盘阵列,系统包括:USB Host模块、PCI-E Core模块、PCI-ESwitch模块、User Logic模块、Image Processing模块、FIFO模块、Disk Controller模块、Disk Interface模块、Synchronization Logic模块;
所述USB Host模块具有多个LVDS串行数据传输通道,用于将多路USB相机数据并发传输给PCI-E Switch模块;
所述PCI-E Core模块用于实现PCI-E的协议;
所述PCI-E Switch模块用于将下游端口上的USB Host传输过来的相机数据经上游端口路由至User Logic模块;
所述User Logic模块用于实现USB Host、PCI-E Switch模块、PCI-E Core模块、ImageProcessing模块、Disk Controller模块、Synchronization模块的初始化,并且在数据传输过程中控制USB Host、PCI-E Switch模块、Image Processing模块、FIFO模块、DiskController模块、Synchronization Logic模块的正常运行;
所述Image Processing模块用于对User Logic模块中传输过来的相机数据进行图像处理,并将处理完成后的数据传输给FIFO模块;
所述FIFO模块具有多个FIFO存储器用来暂存经Image Processing模块处理过的图像数据;
所述Disk Controller模块,包括File System、Disk Controller和GigabitTransceiver,用于完成图像数据到硬盘的存储任务;
所述Disk Interface模块,实现硬盘物理接口,完成硬盘阵列与FPGA的互联;
所述Synchronous Logic模块,实现对USB相机数据采集的同步触发,并且保证图像数据在处理和存储到硬盘时的同步,同时能够实现多个系统间的级联。
2.根据权利要求1所述的高速图像处理和采集系统,其特征在于:所述PCI-E Core模块包括:Register Space模块、RX_Engine模块、AXI4_Protocol_Engine模块、TX_Engine模块、FIFO模块、DWORD Master模块、Completion Monitor模块、TX Arbiter模块和RX Arbiter模块;
所述Register Space模块包含多种功能控制和状态寄存器,用于对周围其它模块的工作状态进行控制,后端的用户逻辑能够通过AXI Lite总线接口对寄存器空间进行访问;
所述RX_Engine模块用于接收和解析来自其它PCIE设备的读写请求;
所述AXI4_Protocol_Engine模块用于根据RD_Info_FIFO中的信息将所需的数据读入到RD_DATA_FIFO中;
所述TX_Engine模块用于组建其它PCIE设备的读请求所需的完成数据包;
所述FIFO模块用于隔离不同的时钟域;
所述DWORD Master模块用于根据Register Space内相关寄存器的值,主动向其它PCIE设备发起1个DW的读写请求;
所述Completion Monitor模块用于对接收到的完成数据包进行检查并将结果写入到相应寄存器内。
3.根据权利要求2所述的高速图像处理和采集系统,其特征在于:所述RX_Engine模块对于写请求,将拆解后的写信息和写数据分别写入到后端的WR_Info_FIFO和WR_DATA_FIFO中;对于读请求,拆解后的读信息被写入RD_Info_FIFO。
4.根据权利要求1所述的高速图像处理和采集系统,其特征在于:所述硬盘接口包括SATA或M.2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711383954.5A CN108055460B (zh) | 2017-12-20 | 2017-12-20 | 高速图像处理和采集系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711383954.5A CN108055460B (zh) | 2017-12-20 | 2017-12-20 | 高速图像处理和采集系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108055460A true CN108055460A (zh) | 2018-05-18 |
CN108055460B CN108055460B (zh) | 2021-11-02 |
Family
ID=62130609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711383954.5A Active CN108055460B (zh) | 2017-12-20 | 2017-12-20 | 高速图像处理和采集系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108055460B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413328A (zh) * | 2018-10-16 | 2019-03-01 | 长春理工大学 | 一种阵列式相机快门有线控制装置 |
CN111314641A (zh) * | 2020-02-18 | 2020-06-19 | 东南大学 | 一种高帧频图像的采集存储显示系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833424A (zh) * | 2010-03-26 | 2010-09-15 | 中国科学院光电技术研究所 | 基于fpga的高速存储与传输装置 |
CN102945291A (zh) * | 2012-08-03 | 2013-02-27 | 南京理工大学 | 基于pci-e的高速图像采集存储卡 |
CN104065905A (zh) * | 2014-07-02 | 2014-09-24 | 中国科学院长春光学精密机械与物理研究所 | 一种可重构的拓扑式实时图像处理系统 |
-
2017
- 2017-12-20 CN CN201711383954.5A patent/CN108055460B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833424A (zh) * | 2010-03-26 | 2010-09-15 | 中国科学院光电技术研究所 | 基于fpga的高速存储与传输装置 |
CN102945291A (zh) * | 2012-08-03 | 2013-02-27 | 南京理工大学 | 基于pci-e的高速图像采集存储卡 |
CN104065905A (zh) * | 2014-07-02 | 2014-09-24 | 中国科学院长春光学精密机械与物理研究所 | 一种可重构的拓扑式实时图像处理系统 |
Non-Patent Citations (1)
Title |
---|
樊博: "基于 PCIe 的高速图像采集处理关键技术研究"", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413328A (zh) * | 2018-10-16 | 2019-03-01 | 长春理工大学 | 一种阵列式相机快门有线控制装置 |
CN111314641A (zh) * | 2020-02-18 | 2020-06-19 | 东南大学 | 一种高帧频图像的采集存储显示系统及方法 |
CN111314641B (zh) * | 2020-02-18 | 2022-05-10 | 东南大学 | 一种高帧频图像的采集存储显示系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108055460B (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105468547B (zh) | 一种基于axi总线的便捷可配置帧数据存取控制系统 | |
US7970953B2 (en) | Serial ATA port addressing | |
CN100595720C (zh) | 用于基于集线器的存储系统中直接存储器访问的设备和方法 | |
CN114168520B (zh) | 光纤通信总线装置、设备和系统 | |
KR101841173B1 (ko) | 리오더 버퍼를 이용한 메모리 인터리빙 장치 및 그 메모리 인터리빙 방법 | |
CN202535384U (zh) | 基于PCIe总线的网络设备扩展连接和虚拟机互连优化系统 | |
US8667195B2 (en) | Bus-system including an interconnector, a master device, a slave device, and an operating method thereof | |
US6889266B1 (en) | Method for delivering packet boundary or other metadata to and from a device using direct memory controller | |
US7779194B2 (en) | Data modification module | |
CN111338996A (zh) | 一种支持多协议的复合总线控制器 | |
CN108055460A (zh) | 高速图像处理和采集系统 | |
CN112511537A (zh) | 一种sce-mi协议桥及仿真系统 | |
US20100228901A1 (en) | Input output control apparatus with a plurality of ports and single protocol processing circuit | |
US9104819B2 (en) | Multi-master bus architecture for system-on-chip | |
CN116719755A (zh) | 一种多应用内存访问的方法、装置、设备 | |
US7133958B1 (en) | Multiple personality I/O bus | |
CN112947156B (zh) | 一种基于fpga的分布式数据传输系统及方法 | |
US7409486B2 (en) | Storage system, and storage control method | |
CN115328832B (zh) | 一种基于pcie dma的数据调度系统与方法 | |
CN115296743A (zh) | 光纤通信转接系统 | |
CN115296741A (zh) | 跨平台光纤传输系统 | |
US20060149878A1 (en) | Efficient interrupt processing in systems with multiple serial protocol engines | |
CN102214155A (zh) | 串口服务器 | |
TW202306365A (zh) | 用於互連協定的訊框接收的資料處理的方法以及儲存裝置 | |
CN108228517A (zh) | I3c电路设备、系统及通信方法 |
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 |