CN107122313A - 基于fpga驱动线阵ccd的高速图像数据采集方法 - Google Patents

基于fpga驱动线阵ccd的高速图像数据采集方法 Download PDF

Info

Publication number
CN107122313A
CN107122313A CN201710261767.3A CN201710261767A CN107122313A CN 107122313 A CN107122313 A CN 107122313A CN 201710261767 A CN201710261767 A CN 201710261767A CN 107122313 A CN107122313 A CN 107122313A
Authority
CN
China
Prior art keywords
fifo
read
signal
write
states
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
Application number
CN201710261767.3A
Other languages
English (en)
Other versions
CN107122313B (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.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
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 Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN201710261767.3A priority Critical patent/CN107122313B/zh
Publication of CN107122313A publication Critical patent/CN107122313A/zh
Application granted granted Critical
Publication of CN107122313B publication Critical patent/CN107122313B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/71Charge-coupled device [CCD] sensors; Charge-transfer registers specially adapted for CCD sensors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Transforming Light Signals Into Electric Signals (AREA)

Abstract

本发明公开了一种基于FPGA驱动线阵CCD的高速图像数据采集方法,采用FPGA驱动高速线阵CCD,通过使用全局周期计数器,分频计数器来产生CDD及AD的驱动时序。利用FIFO缓存图像数据并进行速度匹配,采用状态机模式对三路FIFO进行读写控制将三路FIFO缓存中的数据按顺序输出。通过设计高速通讯接口EMIF来与DSP交互数据。大大提高了工业机器视觉系统中前端图像数据采集速度。

Description

基于FPGA驱动线阵CCD的高速图像数据采集方法
技术领域
本发明属于工业机器视觉领域,具体涉及到一种基于FPGA驱动线阵CCD的高速图像数据采集方法。
背景技术
工业机器视觉系统主要应用于工业控制,产品检测等领域,其主要结构可分为三个部分:图像数据采集,图像识别和系统控制。图像数据采集作为工业机器视觉的基础在整个系统中扮演着至关重要的角色,而提高图像数据的采集速率,以更快的速度获得高质量的图像数据是提高整个视觉系统速率与精度的重要步骤。在传统的技术中,图像数据的采集一般使用以单片或者ARM为核心,使用软件的方式驱动光学成像传感器来实现。由于受到控制器的工作模式及速度的限制,所以图像采集速率存在一定的上限。另外,光学成像原件主要分为CCD和CMOS两种类型,其中CCD传感器成像质量清晰,细腻,更适合工业现场复杂的光学环境。
发明内容
本发明针对现有技术的不足,提出了一种基于FPGA驱动线阵CCD的高速图像采集方法,先通过驱动线阵CCD传感器与AD芯片实现图像数据采集,接着创建FIFO结构实现数据缓存及速度匹配,再通过设计EMIF接口实现图像数据传输。
高速图像数据采集的实现步骤包括:
步骤一:驱动线阵CCD传感器与AD芯片
1-1、根据AD芯片的时序要求将芯片初始化及启动命令置入芯片内部寄存器中使芯片正常工作,要确保此步骤在线阵CCD传感器有效输出之前完成;
1-2、调用PLL宏模块产生200MHz时钟,以此时钟作为整个系统的运行时钟;
1-3、定义周期计数器cnt实现线阵CCD传感器驱动时序的周期循环计数,计数时间为一个完整的CDD驱动时序周期所需要的时间;
1-4、根据线阵CCD传感器的时序要求,以周期计数器cnt的计数时间为准在相应的计数位置产生相应时间的时序信号,并在有效输出位置产生缓存结构FIFO的写入开始信号;
1-5、定义分频计数器D_cnt,在周期计数器记到线阵CCD传感器有效输出时实现时钟分频,得到线阵CCD传感器驱动时钟,AD芯片采样时钟DATACLK以及缓存结构FIFO的写入时钟,分频值=系统时钟/线阵CCD传感器驱动时钟;
1-6、根据周期计数器cnt的计数时间,在相应的计数位置产生AD芯片所需的PBLK、CLOPB信号,以屏蔽线阵CCD传感器的无效输出,并在周期计数器cnt计数到线阵CCD传感器有效输出时,配合分频计数器D_cnt在一个AD芯片采样时钟DATACLK周期间产生AD双关采样信号SHP,SHD;
步骤二:缓存设计及控制实现步骤
2-1、调用FIFO宏模块用于创建缓存结构;
2-2、FIFO控制模块由状态机结构实现,首先定义状态机五个状态IDLE,Write_FIFO,READ_R_FIFO,READ_G_FIFO,READ_B_FIFO,在IDLE状态判断FIFO的写入开始信号,接收到写入开始信号转入Write_FIFO态,否则停留在IDLE状态;IDLE状态输出FIFO的读与写信号为无效,清零信号有效;在Write_FIFO状态判断3个通道FIFO同时写满信号,该信号为有效,转入READ_R_FIFO态,否则停留在Write_FIFO态;Write_FIFO态输出FIFO读信号清零信号无效,写信号有效;在READ_R_FIFO状态判断R通道FIFO读空信号,该信号有效,转入READ_G_FIFO态,否则停留在READ_R_FIFO态,READ_R_FIFO态输出FIFO写信号与清零信号无效,R通道FIFO读信号有效,其余通道无效;在READ_G_FIFO状态判断G通道FIFO读空信号,该信号有效,转入READ_B_FIFO态,否则停留在READ_G_FIFO态;READ_G_FIFO态输出FIFO写信号与清零信号无效,G通道FIFO读信号有效,其余通道无效;在READ_B_FIFO状态判断B通道FIFO读空信号,该信号有效,转入IDLE态,否则停留在READ_B_FIFO态;READ_B_FIFO态输出FIFO写信号与清零信号无效,B通道FIFO读信号有效,其余通道无效;IDLE,Write_FIFO,READ_R_FIFO,READ_G_FIFO,READ_B_FIFO依次表示空闲态、FIFO写入、读R通道FIFO、读G通道FIFO、读B通道FIFO;
步骤三:EMIF通讯接口的实现
3-1、定义双向端口EMA_D,由三态门实现,当dsp读信号RD_EN有效时双向端口EMA_D值为内部数据寄存器data_buf值,否则为高阻态;读信号RD_EN由dsp端信号EMA_CS2、EMA_OE分别取非后再相与得到;
3-2、将读信号RD_EN与上数据传输地址信号EMA_A得到FIFO的读取时钟信号RD_FIFO_CLK;
3-3、当RD_EN信号有效时,根据地址信号EMA_A的数据,将相应的地址上的数据赋给data_buf即赋给输出端口EMA_D;在RD_FIFO_CLK信号作用,一个像素值就由FIFO传输至dsp。
与现有的技术相比,本发明的有益效果是:采用FPGA驱动高速线阵CCD,并用FIFO缓存进行速度匹配,以及高速通讯接口EMIF来与dsp交互数据,大大提高了工业机器视觉系统中前端图像数据采集速度。实验证明,CCD采样频率可达25MHz,采样行频可达5KHz。
附图说明
图1硬件结构示意图;
图2是FIFO控制结构状态转移图。
具体实施方式
一种基于FPGA驱动线阵CCD的高速图像采集方法,通过驱动线阵CCD传感器与AD芯片实现图像数据采集,通过创建FIFO结构实现数据缓存及速度匹配,通过设计EMIF接口实现图像数据传输。
如图1所示:在FPGA内部,线阵CCD传感器与ad芯片驱动时序发生器产生线阵CCD传感器与三路ad芯片驱动时序驱动线阵CCD传感器与三路ad芯片正常工作;R、G、B三路ad芯片将R、G、B三个通道的图像数据传入FPGA内部R、G、B三通道FIFO;FIFO读写控制状态机控制R、G、B三通道FIFO的读写得到图像数据并将图像数据传给EMIF接口;EMIF接收图像数据并将图像数据传给FPGA外部dsp。
一种基于FPGA驱动线阵CCD的高速图像采集方法主要包括驱动线阵CCD传感器以及AD转换芯片的实现步骤,数据缓存实现步骤以及通信接口实现步骤三部分。
高速图像数据采集的实现步骤包括:
步骤一:驱动线阵CCD传感器与AD芯片
①根据AD芯片的时序要求将芯片初始化及启动命令置入芯片内部寄存器中使芯片正常工作,要确保此步骤在线阵CCD传感器有效输出之前完成。
②调用PLL宏模块产生200MHz时钟,以此时钟作为整个系统的运行时钟。
③定义周期计数器cnt实现线阵CCD传感器驱动时序的周期循环计数,计数时间为一个完整的CDD驱动时序周期所需要的时间。
④根据线阵CCD传感器的时序要求,以周期计数器cnt的计数时间为准在相应的计数位置产生相应时间的时序信号,并在有效输出位置产生缓存结构FIFO的写入开始信号。
⑤定义分频计数器D_cnt,在周期计数器记到线阵CCD传感器有效输出时实现时钟分频,得到线阵CCD传感器驱动时钟,AD芯片采样时钟DATACLK以及缓存结构FIFO的写入时钟,分频值=系统时钟/线阵CCD传感器驱动时钟。
⑥根据周期计数器cnt的计数时间,在相应的计数位置产生AD芯片所需的PBLK、CLOPB信号,以屏蔽线阵CCD传感器的无效输出,并在周期计数器cnt计数到线阵CCD传感器有效输出时,配合分频计数器D_cnt在一个AD芯片采样时钟DATACLK周期间产生AD双关采样信号SHP,SHD。
步骤二:缓存设计及控制实现步骤
如图2所示FIFO读写控制状态机实现方法具体如下:
①调用FIFO宏模块用于创建缓存结构。
②FIFO控制模块由状态机结构实现,首先定义状态机五个状态IDLE(空闲态),Write_FIFO(FIFO写入),READ_R_FIFO(读R通道FIFO),
READ_G_FIFO(读G通道FIFO),READ_B_FIFO(读B通道FIFO),在IDLE状态判断FIFO的写入开始信号,接收到写入开始信号转入Write_FIFO态,否则停留在IDLE状态;IDLE状态输出FIFO的读与写信号为无效,清零信号有效;在Write_FIFO状态判断3个通道FIFO同时写满信号,该信号为有效,转入READ_R_FIFO态,否则停留在Write_FIFO态;Write_FIFO态输出FIFO读信号清零信号无效,写信号有效;在READ_R_FIFO状态判断R通道FIFO读空信号,该信号有效,转入READ_G_FIFO态,否则停留在READ_R_FIFO态,READ_R_FIFO态输出FIFO写信号与清零信号无效,R通道FIFO读信号有效,其余通道无效;在READ_G_FIFO状态判断G通道FIFO读空信号,该信号有效,转入
READ_B_FIFO态,否则停留在READ_G_FIFO态;READ_G_FIFO态输出FIFO写信号与清零信号无效,G通道FIFO读信号有效,其余通道无效;在READ_B_FIFO状态判断B通道FIFO读空信号,该信号有效,转入IDLE态,否则停留在READ_B_FIFO态;READ_B_FIFO态输出FIFO写信号与清零信号无效,B通道FIFO读信号有效,其余通道无效。
步骤三:EMIF通讯接口的实现
①定义双向端口EMA_D,由三态门实现,当dsp读信号RD_EN有效时双向端口EMA_D值为内部数据寄存器data_buf值,否则为高阻态。读信号RD_EN由dsp端信号EMA_CS2、EMA_OE分别取非后再相与得到。
②将读信号RD_EN与上数据传输地址信号EMA_A得到FIFO的读取时钟信号RD_FIFO_CLK。
③当RD_EN信号有效时,根据地址信号EMA_A的数据(存放图像数据地址应与址信号EMA_A的数据相一致),将相应的地址上的数据赋给data_buf即赋给输出端口EMA_D;在RD_FIFO_CLK信号作用,一个像素值就由FIFO传输至dsp。

Claims (1)

1.基于FPGA驱动线阵CCD的高速图像数据采集方法,其特征于,该方法具体包括以下步骤:
步骤一:驱动线阵CCD传感器与AD芯片
1-1、根据AD芯片的时序要求将芯片初始化及启动命令置入芯片内部寄存器中使芯片正常工作,要确保此步骤在线阵CCD传感器有效输出之前完成;
1-2、调用PLL宏模块产生200MHz时钟,以此时钟作为整个系统的运行时钟;
1-3、定义周期计数器cnt实现线阵CCD传感器驱动时序的周期循环计数,计数时间为一个完整的CDD驱动时序周期所需要的时间;
1-4、根据线阵CCD传感器的时序要求,以周期计数器cnt的计数时间为准在相应的计数位置产生相应时间的时序信号,并在有效输出位置产生缓存结构FIFO的写入开始信号;
1-5、定义分频计数器D_cnt,在周期计数器记到线阵CCD传感器有效输出时实现时钟分频,得到线阵CCD传感器驱动时钟,AD芯片采样时钟DATACLK以及缓存结构FIFO的写入时钟,分频值=系统时钟/线阵CCD传感器驱动时钟;
1-6、根据周期计数器cnt的计数时间,在相应的计数位置产生AD芯片所需的PBLK、CLOPB信号,以屏蔽线阵CCD传感器的无效输出,并在周期计数器cnt计数到线阵CCD传感器有效输出时,配合分频计数器D_cnt在一个AD芯片采样时钟DATACLK周期间产生AD双关采样信号SHP,SHD;
步骤二:缓存设计及控制实现步骤
2-1、调用FIFO宏模块用于创建缓存结构;
2-2、FIFO控制模块由状态机结构实现,首先定义状态机五个状态IDLE,Write_FIFO,READ_R_FIFO,READ_G_FIFO,READ_B_FIFO,在IDLE状态判断FIFO的写入开始信号,接收到写入开始信号转入Write_FIFO态,否则停留在IDLE状态;IDLE状态输出FIFO的读与写信号为无效,清零信号有效;在Write_FIFO状态判断3个通道FIFO同时写满信号,该信号为有效,转入READ_R_FIFO态,否则停留在Write_FIFO态;Write_FIFO态输出FIFO读信号清零信号无效,写信号有效;在READ_R_FIFO状态判断R通道FIFO读空信号,该信号有效,转入READ_G_FIFO态,否则停留在READ_R_FIFO态,READ_R_FIFO态输出FIFO写信号与清零信号无效,R通道FIFO读信号有效,其余通道无效;在READ_G_FIFO状态判断G通道FIFO读空信号,该信号有效,转入READ_B_FIFO态,否则停留在READ_G_FIFO态;READ_G_FIFO态输出FIFO写信号与清零信号无效,G通道FIFO读信号有效,其余通道无效;在READ_B_FIFO状态判断B通道FIFO读空信号,该信号有效,转入IDLE态,否则停留在READ_B_FIFO态;READ_B_FIFO态输出FIFO写信号与清零信号无效,B通道FIFO读信号有效,其余通道无效;IDLE,Write_FIFO,READ_R_FIFO,READ_G_FIFO,READ_B_FIFO依次表示空闲态、FIFO写入、读R通道FIFO、读G通道FIFO、读B通道FIFO;
步骤三:EMIF通讯接口的实现
3-1、定义双向端口EMA_D,由三态门实现,当dsp读信号RD_EN有效时双向端口EMA_D值为内部数据寄存器data_buf值,否则为高阻态;读信号RD_EN由dsp端信号EMA_CS2、EMA_OE分别取非后再相与得到;
3-2、将读信号RD_EN与上数据传输地址信号EMA_A得到FIFO的读取时钟信号RD_FIFO_CLK;
3-3、当RD_EN信号有效时,根据地址信号EMA_A的数据,将相应的地址上的数据赋给data_buf即赋给输出端口EMA_D;在RD_FIFO_CLK信号作用,一个像素值就由FIFO传输至dsp。
CN201710261767.3A 2017-04-20 2017-04-20 基于fpga驱动线阵ccd的高速图像数据采集方法 Active CN107122313B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710261767.3A CN107122313B (zh) 2017-04-20 2017-04-20 基于fpga驱动线阵ccd的高速图像数据采集方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710261767.3A CN107122313B (zh) 2017-04-20 2017-04-20 基于fpga驱动线阵ccd的高速图像数据采集方法

Publications (2)

Publication Number Publication Date
CN107122313A true CN107122313A (zh) 2017-09-01
CN107122313B CN107122313B (zh) 2019-11-05

Family

ID=59725753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710261767.3A Active CN107122313B (zh) 2017-04-20 2017-04-20 基于fpga驱动线阵ccd的高速图像数据采集方法

Country Status (1)

Country Link
CN (1) CN107122313B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110033780A (zh) * 2019-04-07 2019-07-19 西安电子科技大学 基于FFmpeg和EMIF驱动的音视频数据传输方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6326651B1 (en) * 1999-03-08 2001-12-04 Matsushita Electric Industrial Co., Ltd. Field-programmable gate array with ferroelectric thin film
CN101694609A (zh) * 2009-10-15 2010-04-14 上海大学 一种提高高清图像实时采集系统dsp外部存储器接口速度的结构和方法
CN201813480U (zh) * 2010-08-06 2011-04-27 公安部第三研究所 一种基于dsp+fpga的智能视频处理装置
CN102638661A (zh) * 2012-03-23 2012-08-15 南京理工大学 高速多通道ccd数据处理和传输系统
US20150124080A1 (en) * 2013-11-04 2015-05-07 Digital Film Technology GmbH Method and device for scanning a film
CN104902167A (zh) * 2015-03-10 2015-09-09 华中科技大学 一种高速图像采集处理系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6326651B1 (en) * 1999-03-08 2001-12-04 Matsushita Electric Industrial Co., Ltd. Field-programmable gate array with ferroelectric thin film
CN101694609A (zh) * 2009-10-15 2010-04-14 上海大学 一种提高高清图像实时采集系统dsp外部存储器接口速度的结构和方法
CN201813480U (zh) * 2010-08-06 2011-04-27 公安部第三研究所 一种基于dsp+fpga的智能视频处理装置
CN102638661A (zh) * 2012-03-23 2012-08-15 南京理工大学 高速多通道ccd数据处理和传输系统
US20150124080A1 (en) * 2013-11-04 2015-05-07 Digital Film Technology GmbH Method and device for scanning a film
CN104902167A (zh) * 2015-03-10 2015-09-09 华中科技大学 一种高速图像采集处理系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
傅思勇,符茂胜,裴明敬: "基于FPGA 的线阵CCD 数据采集系统", 《宜春学院学报》 *
黄 崇, 高明煜, 黄继业, 陆冬维: "基于CPLD 的CIS 传感器图像采集系统", 《计算机系统应用》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110033780A (zh) * 2019-04-07 2019-07-19 西安电子科技大学 基于FFmpeg和EMIF驱动的音视频数据传输方法

Also Published As

Publication number Publication date
CN107122313B (zh) 2019-11-05

Similar Documents

Publication Publication Date Title
CN209842608U (zh) 一种基于fpga fifo模块的ddr3存储器控制
CN101482856A (zh) 基于现场可编程门阵列的串并行协议转换装置
CN102131053A (zh) 一种适用于高速成像系统的数据采集、编码和存储方法
CN101662671A (zh) 基于fpga的多台数字相机图像传输方法
CN105208275A (zh) 一种支持流数据片内实时处理的系统及设计方法
CN104717485A (zh) 一种基于fpga的vga接口裸眼3d显示系统
CN106034199A (zh) 一种模拟数据源的图像采集装置和方法
CN107122313B (zh) 基于fpga驱动线阵ccd的高速图像数据采集方法
CN102638649B (zh) 一种usb3.0高速高清工业摄像机
CN104065937B (zh) 用于cmos图像传感器的实时高速图像预处理方法
CN201378851Y (zh) 一种ccd图像数据采集装置
CN202841351U (zh) 一种图像像元合并的电路
CN109873998A (zh) 基于多层次引导滤波的红外视频增强系统
CN206136104U (zh) 基于cmos图像传感器的图像采集系统
CN105631057A (zh) 基于arm的高速数据采集系统
CN102769711A (zh) 一种基于fpga的硬件可自定义cis传感信号采集方法
CN104238412B (zh) 基于dsp驱动的光电隔离型类spi通道
CN203950307U (zh) 基于高性能bw100芯片的sar并行处理装置
CN101393604B (zh) 一种cmos光学传感器图像采样控制系统及方法
CN102868865A (zh) 一种图像像元合并的电路及方法
CN100481913C (zh) 实时图像异步采集接口装置
CN105183664B (zh) 一种可变长度雷达脉冲数据缓存方法
CN103685961B (zh) 一种利用单片sram实现视频数据同步实时处理的系统
CN107608654B (zh) 多路异步信息的传输控制装置及方法
CN201569435U (zh) 一种高速ccd相机数据合成系统

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