fpga在红外fpga 图像旋转上的应用多吗

ISPl362在基于FPGA的红外成像系统中的应用-模拟电子-电子工程世界网
ISPl362在基于FPGA的红外成像系统中的应用 (1)
09:01:29&&&来源:互联网 &&
ISPl362在基于的系统中的应用
摘要:ISPl362是飞利浦推出的一款USB可编程控制芯片,其内部集成了一个高级主控制器,一个外设控制器,主机和设备控制器兼容USB 2.O协议,支持12 Mb/s的全速传输和1.5 Mb/s的低速传输;芯片有三种工作模式,即主机控制器模式、设备控制器模式和OTG模式。主要针对USB控制芯片在基于FPGA的红外成像系统的数据采集中的应用,利用Verilog HDL语言完成其在设备控制器模式下的功能,具有很好的可移植性。关键词:FPGA;ISP1362;USB接口;固件;Verilog HDL
O 引言&&& 近年来,红外热成像系统已越来越多地应用于军事和工业上,因此对红外图像的研究也成为热点话题。为适应很多实时图像处理方法的需求,图像处理系统对图像数据采集的速度及准确性的要求也越来越高。而传统的接口,如ISA接口、PCI接口、PS/2接口等都是非共享式接口,不但体积庞大,而且规格不一。USB接口克服了传统接口的上述缺陷,具有高速、双向、低成本以及兼容性好、通用性强等优点,已经在IT各个领域得到了广泛的应用。与此同时,各种型号的USB接口控制芯片也应运而生。ISPl362芯片以其成本低、可靠性高、功耗低以及易于扩展等优点,也受到了用户的广泛关注。ISPl362由主机控制器、设备控制器、OTG控制器、USB收发器、OTG收发器和寄存器等组成。其中,OTG控制器主要提供包括监控和转换功能在内的所有OTG控制,在OTG模式下,既可用作主机,又可用作外设,并支持主机通信协议(Host Neg-otiayion Protocol,HNP)和对话请求协议(Ses-sion Request Protocol,SRP)。考虑到以后进一步完善系统的需要,设计中选用此款芯片来完成USB接口的设计。该芯片内部没有集成MCU,设计中采用Altera的现场可编程门阵(Field-Programmabte Gate Arrav,FPGA)中的EP2C70-F672C6来控制芯片的正常运行,操作简单可靠。EP2C70F672C6具有低功耗、高密度以及低成本等优点,可提供4 608~68 416个逻辑单元,包括了多达150个嵌入式18×18位乘法器、专用外部存储器接口电路,最高操作频率可达到260 MHz。基于以上原因的考虑,选用此款FPGA芯片来实现红外成像系统中的各项功能。
l 红外成像系统&&& 红外成像系统的功能框图如图1所示。整个系统功能在FPGA上实现。系统上电后,FPGA进行配置,红外焦平面探测器在驱动信号的作用下响应红外目标辐射,将辐射信号转变为模拟电压信号输出;A/D转换模块将模拟电压信号转变为数字信号,经非均匀性校正、盲元处理等过程,将数据存入FPGA外部存储器中。本工作的主要任务就是把存储器中的数据通过USB接口传输到PC机,以便于根据需要对数据做进一步的处理工作。
2 USB固件结构设计&&& USB固件结构设计包括枚举过程和数据传输过程。数据传输过程与枚举过程中的in中断的处理方法类似。因此这里主要介绍枚举过程的固件编写。&&& 枚举过程的流程图如图2所示。
&&& 枚举过程就是主机通过向设备发送一系列请求来识别设备的过程。USB一共定义了11种标准USB请求,其中有些请求是必须的。例如,主机必须通过Get Descriptor请求来获取设备的设备描述符、接口描述符和端点描述符等信息,才能识别设备;必须通过Set Address请求为设备分配惟一的非零地址,以便于主机识别设备并与设备进行数据传输;必须通过SetConfiguration请求为设备分配非零的配置值等。USB请求只能使用控制管道来进行传输。主机在没有识别连上的是何种设备之前,会为未知设备分配一个默认地址O,主机通过0地址与设备通信,直到主机确定真正有设备连接了之后,就会为该设备分配一个惟一的非零地址。在此之后,主机可通过这个非零地址跟设备通信,包括获取该设备的所有配置信息、接口信息以及完成最后的数据传输等。2.1 芯片初始化&&& 芯片的初始化主要包括工作模式、速度的选择以及寄存器的配置等操作。工作模式的选择可通过设置ISPl362的第62引脚A1为高电平来实现。这里实现的是全速的数据传输。下面主要介绍寄存器的配置。
&&& ISPl362设备控制器内部40多个寄存器。编写代码时的重点工作就是根据寄存器每一位代表的意义确定配置值,特别是有些关键位,只有正确配置方能保证芯片的正常工作。在使用ISPl362之前,要先配置的寄存器有模式寄存器、硬件配置寄存器、中断使能寄存器等,端点配置寄存器可以在任何时刻完成,但仅在枚举后的初始化后才有效。为了便于程序设计,在一开始对模式寄存器、硬件配置寄存器、中断使能寄存器等配置的同时,也对16个端点配置寄存器进行配置。端点0为控制端点,包括in和out端点,这两个端点大小固定,均为64 B。枚举过程就是通过这个端点进行的。其余14个为可编程端点,也可以被配置成双缓冲端点进一步提高吞吐量。设计中端点1配置为64 B双缓冲批量in端点;端点2配置为16 B中断out端点;端点3配置为16 B中断in端点等;可以禁能不用的端点。配置模式寄存器时,尤其要注意可以通过第三
编辑:神话
本文引用地址:
本周热门资源推荐
EEWORLD独家解析DSP+FPGA的红外图像小目标检测系统
解析DSP+FPGA的红外图像小目标检测系统
近年来,红外探测系统因其具有隐蔽性,抗干扰性,全天候工作等特点,在现代战争中具有重要的作用,而红外图像中小目标的检测将直接影响制导系统的有效作用距离及设备的复杂程度,在红外成像制导和预警系统中发挥着举足轻重的作用。研究红外辐射的产生、传播、转化、测量及其应用的技术科学。通常人们将其划分为近、点击此处添加图片说明中、远红外三部分。近红外指波长为0.75~3.0微米;中红外指波长为3.0~20微米;远
近年来,红外探测系统因其具有隐蔽性,抗干扰性,全天候工作等特点,在现代战争中具有重要的作用,而红外图像中小目标的检测将直接影响制导系统的有效作用距离及设备的复杂程度,在红外成像制导和预警系统中发挥着举足轻重的作用。研究红外辐射的产生、传播、转化、测量及其应用的技术科学。通常人们将其划分为近、点击此处添加图片说明中、远红外三部分。近红外指波长为0.75~3.0微米;中红外指波长为3.0~20微米;远红外则指波长为20~1000微米。在光谱学中,波段的划分方法尚不统一,也有人将0.75~3.0微米、3.0~40微米和40~1000微米作为近红外、中红外和远红外波段。另外,由于大气对红外辐射的吸收,只留下三个重要的"窗口"区,即1~3微米、3~5微米和8~13微米可让红外辐射通过,因而在军事应用上,又分别将这三个波段称为近红外、中红外和远红外。一般说来,由于小目标距离较远,因而在成像系统中表现为微弱特性,并且没有形状和结构特征或特征不明显。同时,由于高于绝对零度的物体均有红外辐射能力,所以自然界中的干扰源很多,很难准确地检测出真正的目标。本文在数学形态学Top-hat算子对于目标检测的基础上,设计了一种基于DSP+FPGA的图像实时处理系统,使其能够满足高速采样数据流快速存取,快速运算的要求。1 算法基础1.1 形态学算法数学形态学(Mathematical Morphology)诞生于1964年,是由法国巴黎矿业学院博士生赛拉(J. Serra)和导师马瑟荣,在从事铁矿核的定量岩石学分析及预测其开采价值的研究中提出"击中/击不中变换", 并在理论层面上第一次引入了形态学的表达式,建立了颗粒分析方法。他们的工作奠定了这门学科的理论基础, 如击中/击不中变换、开闭运算、布尔模型及纹理分析器的原型等。数学形态学的基本思想是用具有一定形态的结构元素去量度和提取图像中的对应形状以达到对图像分析和识别的目的。数学形态学方法是一种非线性滤波方法,它最先被用来处理二值图像,后来被引用到灰度图像处理。基本思想是:用一定的结构元素去度量和提取图像中的对应形状,去除不相干的结构,以达到图像分析和目标识别的目的。灰度形态学的基本运算有膨胀、腐蚀、开运算和闭运算。基于这些运算,可以推导和组合各种数学形态学使用算法。设f(x,y)为输入图像,b(x,y)为结构元素,其中(x,y)为图像平面空间的坐标点,f为(x,y)点的灰度值,b为(x,y)点的结构函数值,Df和Db分别是f和b的定义域,上述4种基本运算的表达式为:其中,开运算有些像非线性低通滤波器,但是又与低通滤波器不同,开运算可以允许高频部分中大于结构元素的部分通过。Top-hat算子就是利用了开运算的上述性质来进行目标检测的。Top-hat算子的定义为:经过Top-hat处理后的图像,目标和背景在能量上差别较大,大部分像素都集中在低灰度区,只有目标和小部分噪声分布在高亮度区,如图1所示,图1(a)为原始图像,图1(b)为经过Top-hat处理的图像及其直方图统计结果。1.2 最大类间方差法求阈值阈值就是临界值,在PS中的阈值,实际上是基于图片亮度的一个黑白分界值,默认值是50%中性灰,既128,亮度高于128(&50%的灰)白既会变白,低于128(&50%的灰)的既会变黑。[可以跟滤镜中的其它――高反差保留,再用阈值效果会更好。]设经过处理后的图像f2(x,y)的各灰度的集合为S={0,1,2,…,N},Pi为此集合中i出现的概率,由于图像是由小目标和背景两部分组成的,设这两部分对应的灰度子集分别为:红外背景,C0={0,1,2,…,k};目标对象,C1={k+1,k+2,…,N};则两个类别的间方差为:为节约程序运行时间,选取k的取值范围为[μ+5σ…N],其中μ为整幅图像的均值,σ为整幅图像的平均差,直到找到使类间方差取最大值时的k值,即为最佳分割阈值th.对经过Top-hat处理后的图像,利用上述的最大类间方差法获取阈值,利用这个阈值对图像进行分割,最后通过判断目标的形状大小,以达到提取目标的效果,如图2所示,图2(a)为阈值分割的结果,图2(b)为最终判断结果。2 硬件系统结构在实时视频处理系统中,底层算法的数据量大,运算结构相对比较简单,对速度有很高的要求,而高层处理算法控制结构复杂,数据量较底层算法少,故本文采用FPGA+DSP的结构。利用DSP实现目标检测的算法,数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用,可以提高运行速度及便于调试和修改,FPGA实现整个系统的控制和图像的基本预处理功能。整个系统的硬件结构如图3所示。在系统设计中,DSP采用ADI公司通用浮点型TigerSHARC201,它拥有非常高的存储宽度,支持32位和扩展的40位浮点运算,支持8、16、32、64位定点运算。它拥有高达600 MHz的内核时钟速率,一个周期可以执行4条指令,相当于24次16 bit定点操作或者6次浮点操作。处理器的运算流水是双周期的,分支流水为2~6周期,鉴于此流水深度,它使用分支目标缓冲(BTB)来减少分支延迟,其两个相同的计算单元均支持浮点和定点运算。FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA采用Altera公司的EP3C40F484C对视频信号进行预处理和整个系统的时序控制,它具有多达24 624个逻辑单元,具有129个兼容的LV-DS通道,每个通道数据率高达640 Mb/s,还有4个可编程锁相环和8个全局时钟线。另外此芯片的功耗较低,全局运行时总功耗为300 mW左右。2.1 视频输入和输出模块采用解码器SAA7111将摄像头输出的模拟视频信号转换为数字信号。编码器(encoder),是一种输入模拟视频信号并将它转换为数字信号格式,以进一步压缩和传输的硬件/软件设备。像视频的mpeg4,音频的mp3,ac3,dts等,这些编码器可以将原始数据压缩存放,刚才都是常用的编码格式,还有些专业的编码格式,一般家庭基本不会用到。为了在家用设备或者电脑上重放这些视频和音频则需要用到解码软件,一般称为插件。解码器是一个重要前端控制设备。在主机的控制下,可使前端设备产生相应的动作。解码器,国外称其为接收器/驱动器(Receiver/Driver)或遥控设备(Telemetry),是为带有云台、变焦镜头等可控设备提供驱动电源并与控制设备如矩阵进 解码器(Decoder)行通讯的前端设备。通过配置SAA7111将PAL制式的模拟基带信号转化为CCIR-656格式的UYVY信号,并将其送入FPGA中,进行预处理。具体连接如图4所示,VPO[0…7]没有数据输入,VPO[8…15]是数据输出管脚与FPGA相连,时钟同步信号TS201采用MDMA的方式将原始图像信号存入SDRAM中,供目标检测算法使用。视频输出模块采用视频编码器SAA7121,标准的UYVY数据从FPGA的引脚输出,送到SAA7121的数据引脚,场、行同步信号分别接到FPGA的控制引脚上,通过行、场信号的控制,就能够输出显示正确的视频图像。在SAA7111和SAA7121工作之前,都需要对这两个芯片进行配置,它们的配置的参数都是通过FPGA产生I2C总线来实现的。2.2 存储模块TS201的片上存储器分为两个部分:每个内核各使用100 KB的专用、高速L1存储器;128 KB的大容量共享L2存储器。通过EBIU接口外扩SDRAM和Flash两种存储器。选取2片MT48L32M16A2来构成SDRAM存储器,图像处理数据和图像处理中间结果可存储在SDRAM中。系统扩展64 MB的Flash,选用S29GL064M90T,主要存放DSP内核程序。FPGA的存储系统:选取2片IS61LV10248来构成SRAM存储器,主要用于存储从SAA7111传输到FPGA的数据,根据视频数据的奇偶场的关系,在数据的存取过程中采用乒乓存取方式,当SRAM1存储数据的时候,FPGA从SRAM2读取数据,传给SAA7121做为显示使用,当SRAM2存储数据的时候,FPGA从SRAM1读取数据,传给SAA7121做为显示使用,同时通过对读时钟和读范围的控制,可以控制图像的现实范围和现实方式。具体硬件连接结构如图5所示。2.3 DSP双核以及FPGA之间的通信在本系统中,涉及到TS201两个核之间的通信以及TS201与FPGA之间的通信。FPGA给DSP提供预处理之后的图像数据,DSP根据提供的图像数据进行目标检测算法,并将检测之后的坐标数据传输到FPGA,FPGA将坐标信息叠加到原始图像后送给SAA7121显示。常见的双核通信主要采用中断、轮询两种通信方式。中断是利用两个核的中断机制来实现FPGA与DSP之间的通信;轮询是通过在双核的共享寄存器里设置一些信号量,供双核通信与访问。考虑到本系统的应用条件,采用轮询的通信方式,DSP的异步存储器的地址空间映射到FPGA,通过FPGA操作数据线和地址线,即可完成FPGA与DSP之间的数据交互。2.4 系统工作流程整个系统的工作流程为:由CCD采集视频模拟信号,经过可编程视频解码处理器SAA7111解码后输出场同步、行同步、像素时钟和位宽为16 bit的数字图像信号,并将信号送入FPGA中,在FPGA中对送来的数据做缓存,预处理,再通过与TS201连接的双向LINKPORT,把图像数据实时地导入DSP中,在DSP中运行检测算法,得到被检测目标的正确坐标,DSP把目标的坐标信息返回到FPGA中,FPGA根据坐标信息在原始图像上标示出目标的位置,最后将处理后的图像信号传给可编程视频编码器SAA7121进行编码实现D/A转换,输出模拟视频,并把检测结果显示在视频显示设备上。3 结论首先研究了形态学Top-hat算子,并利用Top-hat算子进行背景抑制,同时,采用最大类间方差法获得图像的阈值,分割背景和目标,实现小目标检测,通过仿真实验发现,这种方法能够在一定程度上减少实际检测中的虚警率,增加目标检测的准确性。利用DSP+FPGA的系统架构设计了实现算法的硬件平台,这种结构在一定程度上可以满足实时性和灵活性的要求,具有很强的通用性和可扩展性。并在设计中采用了模块化设计,这样的设计便于集中控制,能够节省程序运行时间。QICK
下一篇:已经是最后一篇
型号/产品名
深圳市寒武纪智能科技有限公司
worldchinatrade
深圳市福田区华强电子世界广进源电子商行
深圳市福田区华强电子世界广进源电子商行
深圳市福田区华强电子世界广进源电子商行基于单片SRAM和FPGA的红外图像显示的设计及实现-可编程逻辑-与非网
&随着红外探测技术的发展及其在军事、工业等领域的广泛使用,红外图像处理算法获得了广泛研究。在实际嵌入式红外图像处理系统中,为了方便硬件调试和观察图像处理的效果,需要在系统中加入图像显示模块。通常视频数据流需要处理的数据量大,实时性要求高,所以需要高速大容量的存储器作为图像数据的缓存。用于图像数据缓存的存储器有3种:①同步动态随机存取存储器SDRAM(Synchronous Dynamic RAM),其容量大、速度快、体积小、价格低,但SDRAM的控制逻辑比较复杂,对时序要求也十分严格,需要设计专门的SDRAM控制器以完成与SDRAM芯片的接口;②双口RAM,它可以同时对数据进行读写,时序简单,操作非常方便,但是容量相对较小,而且价格高;③静态随机存取存储器(Static RAM),它不仅容量大、速度快、体积小、价格低,而且时序控制简单,但是数据不能同时读写,工程中多采用2片SRAM做乒乓操作来简化读写控制。针对实际工程中的体积小、成本低、开发周期短等要求,本文提出一种基于单片SRAM和的图像处理及显示方案,并在实际工程中得到了应用。
本文的初始设计是面向帧频为50帧/s、16 bit灰度、图像为320&256像素的红外图像输出显示,但其设计方案可以应用于不同帧频、灰度级及图像大小的图像显示。
1 系统硬件结构和工作原理
系统硬件结构图如图1所示。本系统中,高速串行LVDS视频信号经Camera Link接收芯片DS90CR285接收转化为并行TTL电平后送给FPGA,同时,其他系统的高速串行LVDS格式数据也可以直接送至FPGA。这些视频数据经FPGA进行直方图统计,并存储在SRAM中。然后,FPGA在存储间隙读出SRAM内的有效像素数据,并采用直方图统计的参数对图像灰度拉伸,然后送至视频转换芯片ADV7123进行D/A转换显示。
2 各功能模块设计
2.1 Camera Link接口
本方案选用DS90CR285将Camera Link格式的4对串行LVDS图像信号转换成28 bit并行TTL/CMOS的数据。根据Camera Link基本协议,28 bit数据信号中包括3个数据端口:A口(8 bit)、B口(8 bit)、C口(8 bit),和4个视频控制信号FVAL(帧有效)、DVAL(数据有效)、LVAL(行有效)、SPARE(空,暂时未用)。经过Camera Link芯片转换后的时钟信号是整个相机的同步驱动信号,所有的数据和视频控制信号都和该时钟信号同步。数据转换后送入FPGA的时序如图2。
2.2 FPGA核心功能模块实现
本设计中视频数据的处理都在FPGA内实现,其内部功能框图见图3。
本文主要讨论在FPGA内,利用视频数据的行场扫描间隙对单片SRAM进行读写操作从而完成模拟图像的显示功能。直方图统计功能在另文中描述。
本系统中,视频信号时钟为20 MHz,PAL制式信号数据时钟采用13.5 MHz。为了让SRAM读写时间更加充裕,使用了两个FIFO模块作为数据缓冲:FIFO_IN、FIFO_OUT。FIFO_IN用来做SRAM的输入缓冲器,FIFO_OUT用来做SRAM的输出缓冲器。FIFO可以通过IP核来实现,存储宽度为16 bit,存储深度设置为1.5倍行像素,本系统为1.5&320=480[1-2]。
2.2.1 FIFO_IN模块
为保证数据读写效率,此模块的读写方式需进行合理规划,具体为每次往FIFO中写一行数据,写完后立刻从FIFO读一行数据并写入SRAM。像素时钟为FIFO的写时钟,行有效信号作为FIFO的写使能,FIFO读时钟为100 MHz,也是SRAM的读写时钟,通过判断行下降沿来生成一个320的计数器,并在计数器有效期间将FIFO读使能置为高。FVAL的上升沿作为FIFO的复位信号。此FIFO的读写时序图见图4。
2.2.2 FIFO_OUT模块
此模块主要是缓冲灰度拉伸后的视频数据用于输出显示。本系统要求输出标准的PAL制式的模拟视频,PAL制式视频场频为50 Hz,帧频为25 Hz。本方案选用专用的图像DA芯片ADV7123, 该芯片是一款高速的RGB D/A转换芯片,内部集成有3路10位精度的D/A转换器,分别用于RGB数字信号的D/A转换,数据吞吐率可达到330 MS/s,适合高分辨彩色视频生成。ADV7123提供有3路数字输入接口(RE9:0]、G[9:0]、B[9:0])以及CRT消隐和同步控制信号(BLANK、SYNC)。标准PAL制式的行场消隐信号和行场同步信号都是标准信号,在FPGA内很容易实现,本文不再论述。实际应用中只需要在需要显示图像的正确行场位置,将图像灰度数据送入G[9:0]通道,即可在lOG端口得到复合视频信号。同时这些正确行场位置标志信号作为FIFO的输出使能,输出时钟为13.5 MHz,输入时钟为100 MHz,输入使能为灰度拉伸模块的输出数据有效信号,输入数据为灰度拉伸模块的输出数据。FVAL的上升沿作为FIFO的复位信号。
2.2.3 SRAM读写控制模块
SRAM作为视频数据的缓冲区,根据上述时序其容量最好能大于2帧数据,同时为了便于以后扩展,本方案中选用SRAM为CY7C1472BV33,容量为4 M&18 bit。由于SRAM属于单向存储器,利用单片SRAM作存储的难点在于如何将读写控制分开。此控制包含2部分:读写使能和读写地址变换。下面分别从读和写来说明这2部分控制的实现。
FIFO_IN的读使能作为SRAM的写使能,写地址在写使能有效期间从SRAM的零地址依次递增,即地址范围为0~81 919(320&256-1)。但由于本系统中视频信号20 ms一帧,PAL制式视频显示一帧需要奇场20 ms、偶场20 ms,共40 ms,所以在偶场显示时还是在读SRAM中0~81 919部分的数据,此时视频信号必须写入SRAM的另外一部分空间,这就要求在奇场和偶场时写地址要进行切换;或者采用在奇场时数据写入SRAM,偶场时不写入,这样刚好做到显示完一帧图像,下一帧图像数据就可以覆盖上一帧图像的数据,这样写地址就一直是从0~81 919,不需要切换。本方案采用后者,其写使能及写地址的FPGA主要代码如下:
//SRAM写使能
always @(posedge SRAM_CLK)
if (!rst_n | (sram_write_counter==319))
ui_sram_write &= 0;
else if(LVAL_fallage)
ui_sram_write &= 1;//SRAM写地址切换
always @(posedge SRAM_CLK)
if (!rst_n | Hsync_odd_riseage)
ui_sram_write_add &= 0;//起始地址
else if (ui_sram_write)
ui_sram_write_add &= ui_sram_write_add + 1;
SRAM的写使能设计要避免与SRAM的读使能冲突。本方案在FIFO_OUT模块上设计了一个可编程空标志位program_empty,当fifo数据不足160个时,program_empty置高,PAL制式视频的行扫描周期为64&s,也就是FIFO_OUT每64 &s被读一次(一次读出320个数),这样只要在64 &s时间内能够写入320个数就可以保证下次行扫描能够从FIFO_OUT取出数据。由于本系统中SRAM的写使能周期为16.5 &s,因此本方案是将SRAM读状态分2种情况,在FVAL信号有效期间,采用program_empty置高和SRAM的写使能下降沿的&与&操作作为SRAM读触发信号;在FVAL信号无效期间,SRAM无写控制,program_empty信号的上升沿将作为SRAM的读触发信号。然后根据读触发信号生成一个320的计数器,并在计数器有效期间将SRAM的读使能置为高。这样就能保证SRAM的读写不冲突,且数据也不会漏写,控制时序见图5。
PAL制式视频显示分为奇场和偶场,因此在奇场时,SRAM的读地址应该满足:第n行地址范围为320&(n-1)~319+320&(n-1)(n=1,2&&128);偶场时,RAM的读地址应该满足:第n行地址范围320&n~319+320&n(n=1,2&&128),其读使能及读地址的FPGA主要代码如下:
//////// sram的读标志位有2种状态:(1)奇场数据有效时////用写sram的下降沿&与&fifo半行标志位。(2)奇场数据无效时用 fifo半行标志位产生上升沿
always @(posedge SRAM_CLK)
if (!rst_n)
ui_sram_read_flag &= 0;
else begin
if ((FVAL_d | ui_sram_write_5d)& Hsync_odd )
ui_sram_read_flag &= ui_sram_write_fallage &
fifo_sram_adv7123_prom_empty_d;
ui_sram_read_flag&=fifo_sram_adv7123_prom_empty_riseage;
SRAM读地址切换
always @(posedge SRAM_CLK)
if (!rst_n | Hsync_odd_riseage)
ui_sram_read_add &= 0;//奇场起始地址
else if (Hsync_odd_fallage)
ui_sram_read_add &= 320;//偶场起始地址
else if (ui_sram_read_fallage)
ui_sram_read_add &= ui_sram_read_add+320;
else if (ui_sram_read)
ui_sram_read_add &= ui_sram_read_add+1;
最后通过下面的赋值给出了SRAM芯片的读写、片选及地址信号:
assign SRAM_read_write_en=~(ui_sram_write & Hsync_odd);
//SRAM读写使能
assign SRAM_CE=~(ui_sram_read | ui_sram_write);
//SSRAM片选
assign SRAM_ADD=(ui_sram_write)?ui_sram_write_add:
ui_sram_read_add;//SSRAM地址
2.2.4 灰度拉伸
将SRAM的读使能和读数据送入灰度拉伸模块作为数据使能和输入数据。本方案中,图像灰度线性拉伸算法表达式为:
式(1)中:Y是拉伸后输出图像灰度值;X是SRAM中读出的数据,为原始图像16 bit二进制数灰度值;Xmin是输入图像数据直方图统计最小灰度值;Xmax是输入图像数据直方图统计最大灰度值。为保证精度,实际应用中将上述公式进行简单变换,可以记为:
Q值在上帧结束前直方图统计模块已经得到,这样拉伸运算只需1次减法和乘法运算,得到积左移14 bit后,截取低10 bit就得到拉伸后的灰度值。需要注意的是,截取前要判定乘法是否溢出,如果溢出,结果置为最大灰度值210。本方案中主要通过调用乘法器IP核来完成乘法运算,不同硬件的乘法器延迟时间不同,所以必须要将输入数据使能信号作相应延迟后,成为输出使能与乘法器输出数据同步[3]。经过灰度拉伸后的图像数据送入FIFO_OUT模块用于图像显示,其中,灰度拉伸模块的输出使能及输出数据作为FIFO_OUT模块的输入使能和输入数据。
该图像处理方案以FPGA 作为核心控制芯片,采用单片SRAM实现了图像预处理、数据缓存、图像存储及显示的功能。随着FPGA 性能的不断提高及其灵活的可编程性,设计者可以进一步在FPGA内部实现各种其他的图像处理算法。这样,直接采用FPGA和单片SRAM的方案不但减小了PCB 尺寸,降低了元件数量及PCB布线的难度,也降低了元件相互连线带来的信号失真,从而增加了可靠性和稳定性。本方案已成功应用在本单位的图像采集和处理产品中。
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
广东高云半导体科技股份有限公司(以下简称“高云半导体”)于10月26日在上海东锦江希尔顿逸林酒店隆重召开2017年度新产品发布会,发布了小而专的GW1NS-2 SoC、高精尖的GW3AT高性能FPGA和RISC-V平台化产品。
发表于: 08:48:00
广东高云半导体科技股份有限公司(以下简称“高云半导体”)于10月26日在上海东锦江希尔顿逸林酒店隆重召开2017年度新产品发布会,发布了小而专的GW1NS-2 SoC、高精尖的GW3AT高性能FPGA和RISC-V平台化产品。
发表于: 16:00:48
高度集成电源管理、AC/DC电源转换、充电和蓝牙低功耗技术供应商Dialog半导体公司(德国证券交易所交易代码:DLG)日前宣布,成为领先FPGA、SoC和3D IC供应商赛灵思的关键电源管理合作伙伴。
发表于: 20:17:00
日,在“IC-CHINA 2017”芯品发布会上, 上海安路信息科技有限公司(以下简称“安路科技”) 针对工业控制、视频桥接、接口扩展、IOT应用和通信等市场,推出了第二代“小精灵”ELF2系列高性能、微安级低功耗FPGA和集成MCU内核的 SOC FPGA,以及相应的配套开发软件。
发表于: 20:45:39
广东佛山,日,作为国内领先的可编程逻辑器件供应商,广东高云半导体科技股份有限公司(以下简称“高云半导体”)正式授权彦阳科技股份有限公司(Promaster Technology Corp.)为台湾地区代理商。此举标志着继今年9月份签约韩国代理商后,高云半导体进一步拓宽了亚太地区的销售网络。
发表于: 09:04:45
很高兴和您分享刚刚发布的赛灵思2018财年第二季财报结果,收入继续保持增长态势, 连续八个季度持续增长, 比去年同期增长7%!
发表于: 20:23:00
FPGA以计算速度快、资源丰富、可编程著称,之前一直应用于高速数字信号领域和ASIC验证。随着逻辑资源的丰富和编程工具的改进,FPGA在机器学习和硬件加速上得到越来越多的重视,目前数据中心已经大量采用,大数据、云计算领域逐步采用FPGA器件。但是除了这些对计算能力和逻辑资源要求很高的应用,市面上还有很多功能简单的小型应用,如果采用现有的“
发表于: 17:23:37
作为国内领先的可编程逻辑器件供应商,广东高云半导体科技股份有限公司(以下简称“高云半导体”)今天宣布加入RISC-V基金会,成为该组织成员中第一家中国FPGA供应商。
发表于: 10:47:47
All Programmable技术和器件的全球领先企业赛灵思公司(Xilinx, Inc.,(NASDAQ:XLNX))今天在2017杭州·云栖大会上宣布,阿里巴巴旗下云计算公司阿里云在其最新款的FPGA加速服务中选择了赛灵思。
发表于: 20:09:00
5G通信以高宽带、高速度传输等优势让大众寄托了无限期待,运营商、设备商、方案商都在围绕5G展开方案设计、产品研发、通信基站搭建等前期工作,虽然5G标准还未发布,但是产业链上下游的合力推动将加快5G通信的商用步伐,用户也会更早
发表于: 18:31:30
又到一年招聘季,考研or工作让你实现了怎样的逆袭?……
与非门科技(北京)有限公司 All Rights Reserved.
京ICP证:070212号
北京市公安局备案编号: 京ICP备:号

我要回帖

更多关于 fpga图像处理开源项目 的文章

 

随机推荐