0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何通过FPGA和EPP技术对图像传感器进行数据采集

电子设计 作者:电子设计 2018-10-08 09:10 次阅读

引言

USB、串口、并口是PC机和外设进行通讯的常用接口,但对于数据量大的图像来说,若利用串行RS-232协议进行数据采集,速度不能达到图像数据采集所需的要求;而用USB进行数据采集,虽能满足所需速度,但要求外设必须支持USB协议,而USB协议与常用工程软件的接口还不普及,给使用带来困难。有些用户为了利用标准并行口(SPP)进行数据采集,但SPP协议的150kb/s传输率对于图像数据采集,同样显得太低。因此,为了采集数据量大的图像数据,本文采用了具有较高传输速率的增强型并行口协议(EPP)和FPGA,实现对OV7620CMOS图像传感器进行高速数据采集,它最高速率可以达到2Mb/s。

硬件电路方案

图1为基于FPGA和EPP技术对OV7620CMOS图像传感器的高速数据采集系统原理框图,它主要由三部分组成:OV7620的参数配置电路、图像采样电路以及PC读取数据电路。

图1 系统原理框图

OV7620的参数配置电路

系统在上电后需要对CMOS采像芯片进行初始化,以确定采集图像的开

窗位置、窗口大小和彩色或黑白工作模式等。这些参数的配置是通过OV7620芯片上提供的SCCB接口进行的。

SCCB接口是采用一种简单、双向二线制的同步串行总线I2C总线,接口引线有SCL和SDA。由于89C2051没有标准的I2C总线接口,可以用软件程序来模拟I2C总线,OV7620开窗位置和开窗大小、黑白和彩色模式以及扫描方式均可通过相应寄存器来设置。这些寄存器都是可读/写的,具体操作方法如下:可以采用页写的方式,即在写寄存器过程中要先发送写允许指令OX42,然后发送写数据的目的寄存器地址,接着为要写的数据。写完一个寄存器后,CMOS会自动把寄存器地址加一,程序可继续向下写,而不需要再次输入地址。读寄存器是同样过程,只不过指令改为OX43。

I2C总线功能的实现完全是依靠SCL、SDA线上电平的状态以及两者之间的相互配合实现的。I2C总线规约中规定的条件如下:

启动时序:SCL为高电平时, SDA出现一个下降沿;

传输时序:在启动条件满足后,SDA为稳定数据状态, SCL产生一个正脉冲,将传送一位数据;

应答时序: 在从机接收到一个完整的数据字节时,在主机释放SDA的情况下,主机给SCL输出一个正的时钟脉冲,从机将SDA拉低,以表应答;

停止条件:当SCL为高电平时,SDA出现一个上升沿,该条件可以解决多机竞争的问题,即在两个器件对话时,第三者插入会终止前者的数据通信,其主要特点在于各器件每一位都在判断总线的状态。

I2C总线的启动和停止条件如图2所示。

图2 I2C总线的启动和停止条件

图像采样电路

在隧道的平行度、无损检测、垂直度测量仪中常选用的图像分辨率为320×320,用黑白模式就能基本满足图像识别对图像特征点的要求。 因此本系统采样的参数是在图像分辨率取为320×320、黑白模式、ZV图像格式中进行的。

CMOS图像芯片ZV端口格式的输出波形如图3所示。图中VSYNC是垂直场同步信号,其下降沿表示一帧图像的开始(CMOS是按列采集图像的),HREF是水平场同步信号,其上升沿表示一列图像数据的开始。PCLK是输出数据同步信号,Y是图像灰度信息。下面介绍FPGA如何对图像传感器的数据采样。

图3 OV7620在ZV端口格式的输出时序

为了进行速度匹配,FPGA和PC之间有两根握手信号: READY和ACK。它们来协调FPGA对同一个数据存储芯片的读写过程。READY是FPGA通知PC图像数据已经读完信号;ACK是PC通知FPGA数据已读完信号,两者都是低电平有效。

在数据采样期间,将READY拉高,表示正在采集,这时FPGA根据OV7620的VSYNC、HREF、PCLK产生图像MEM_WR(写信号)和ADDRESS(地址),读取OV7620的数据到高速缓存,到下一个VSYNC信号时,表示一帧数据已经采完,接着向PC机发送申请READY信号,表示图像采集完成,如果PC不给应答信号ACK,FPGA开始采样下一帧数据放到高速缓存中,并覆盖原有的数据;若PC响应,FPGA停止采样数据。

PC读取数据电路

PC读取数据是通过并口的EPP模式进行的。在EPP模式下读时序如图4所示。 在读模式下,nWRITE(EPP写信号)保持高电平, 当nDATASTB(EPP读信号)变低时,准备读取外设数据;当外设数据准备好后,使nWAIT(外设忙标志)为高,这时PC程序向基址+4的端口(EPP数据端口)执行一个I/O读操作(nDATASTB信号);在读脉冲nDATASTB信号的上升沿,PC读取数据总线上数据。整个过程是在一个ISA周期内完成的。

图4 EPP模式下读时序

FPGA完成对EPP协议实现的时序如图5。PC不停查询READY信号是否有效,直到READY有效时,PC才可以读取图像数据,同时将ACK置高,表示PC正在读取数据缓存中的图像数据。这时FPGA停止采集图像(不产生写信号),FPGA检测PC通过EPP发出读脉冲(CPU_DS),产生高速缓存MEM_RD(读信号)和地址,从高速缓存中读取一个字节放到并口上,同时向PC上发送一个BUSY信号,PC在这个时刻之后可以读取一个字节数据,完成整个数据读写。读取数据过程中EPP端口的PC_WRITE(写信号)要一直保持为高电平。

图5 FPGA对EPP协议的实现时序

结语

FPGA对CMOS高速数据采集方法,可以把CMOS的主动器件通过FPGA变成可控制的方式,PC可间接对存储体进行寻址运算。在该系统中用PC的并口实现了CMOS信号的高速采集处理,按前述软硬件方法制作的系统,实际稳定的采样速率达到了15帧/s, 该系统已应用在管道无损检测样机中,效果良好。这种信号采集方法还可以在其它诸多需要高速图像数据采集的场合应用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2525

    文章

    48069

    浏览量

    739989
  • FPGA
    +关注

    关注

    1602

    文章

    21309

    浏览量

    593127
  • 数据采集
    +关注

    关注

    38

    文章

    4514

    浏览量

    112313
收藏 人收藏

    评论

    相关推荐

    隧道没信号怎么进行数据采集 传感器采集仪LORA网关

    传感器数据采集
    稳控自动化
    发布于 :2023年12月07日 09:36:34

    基于FPGA数据采集系统

    异步和等时数据传输的设计方法。该系统能够同时传输图像传感器数据和控制指令,具有传输速度快、通用性好、易于扩展等优点。
    发表于 08-11 15:43

    ARM9平台下的CMOS图像传感器数据采集系统

    ARM9平台下的CMOS图像传感器数据采集系统
    发表于 11-23 21:14

    蓝牙4.0无线传感网络数据采集及以太网传输设计

    蓝牙4.0无线传感网络数据采集及以太网传输设计简介:主要介绍了蓝牙4.0无线传感网络数据采集及以太网传输设计,以蓝牙低功耗技术的CC2540
    发表于 02-29 15:07

    基于CMOS图像传感器的视频采集系统设计

    如下:通过CPLD发送正确时序信号给CMOS图像传感器,驱动其正常工作,采取合适的快门方式,并将采集到的图像
    发表于 11-01 17:23

    CMOS图像传感器数据采集系统

    图像后再通过USB接口将图像数据传输到PC机进行后续的处理。这样的图像
    发表于 04-26 07:00

    基于FPGAEPP图像传感器高速数据采集

    。因此,为了采集数据量大的图像数据,本文采用了具有较高传输速率的增强型并行口协议(EPP)和FPGA,实现对OV7620CMOS
    发表于 04-30 07:47

    怎样通过EPPFPGA实现对OV7620CMOS进行高速数据采集

    如何采用具有较高传输速率的增强型并行口协议(EPP)和FPGA,实现对OV7620CMOS图像传感器进行高速
    发表于 04-12 07:08

    分享一款不错的基于FPGAEPP图像传感器高速数据采集系统

    本文采用了具有较高传输速率的增强型并行口协议(EPP)和FPGA,实现对OV7620CMOS图像传感器进行高速
    发表于 05-10 07:01

    如何采用FPGA和CMOS数字传感器实现图像数据传输的图像监测系统?

    本文提出一种采用FPGA和CMOS数字传感器实现前端数据采集、利用单片机进行图像鉴别和压缩、通过
    发表于 05-26 06:58

    传感器数据采集/总线数据采集记录知识分享

    数据采集的模块将采集的来自传感器数据以CAN报文的形式进行外部传输▪ 数据记录仪可以
    发表于 09-26 16:25

    基于FPGAEPP技术的CMOS图像传感器高速数据采集系统

    本文介绍FPGAEPP(增强型并行口)相结合技术对OV7620CMOS 图像传感器进行高速
    发表于 07-01 11:24 43次下载

    基于FPGA的微应变数据采集系统的设计

    提出了一种利用ARM 和FPGA 架构实现对多通道微应变信号进行数据采集的系统设计方案。通过FPGA 输出模拟量调节和内部数字量调节的方法,实现了对微应变
    发表于 12-31 14:49 27次下载

    如何更好地进行数据采集

    如何更好地进行数据采集 工程师经常需要进行数据采集来验证产品的性能和指标,或者对一些特定的应用进行监测和控制,以便确定其物理参数,例如温度、应力、压
    发表于 01-04 10:32 1598次阅读
    如何更好地<b class='flag-5'>进行数据采集</b>

    隧道没信号怎么进行数据采集

    隧道没信号怎么进行数据采集
    的头像 发表于 12-06 13:27 310次阅读