本文转载自:http://www.cnblogs.com/lueguo/p/3373643.html 略过天涯   基于FPGA的VGA可移植模块终极设计 一.VGA的诱惑 首先,VGA的驱动,这事,一般的单片机是办不到的:由于FPGA的速度,以及并行的优势,加上可现场配置的优势,VGA的配置,只有俺们FPGA可以胜任,也只有FPGA可以随心所欲地配置(当然ARM也可以,应用比较高吧). 初学者就是喜欢看炫的效果,往往会忍不住想玩.尤其玩FPGA的,没玩VGA就感到跟单片机没啥提升,因此VGA的…
一.VGA的诱惑 首先,VGA的驱动,这事,一般的单片机是办不到的:由于FPGA的速度,以及并行的优势,加上可现场配置的优势,VGA的配置,只有俺们FPGA可以胜任,也只有FPGA可以随心所欲地配置(当然ARM也可以,应用比较高吧). 初学者就是喜欢看炫的效果,往往会忍不住想玩.尤其玩FPGA的,没玩VGA就感到跟单片机没啥提升,因此VGA的驱动也不得不讲.Bingo当年也是如此.挡不住VGA的诱惑,初学者问Bingo VGA问题的人也是灰常的多,也许一般教科书理论太强,实际应用不是很身后,在此…
项目简介 本项目基于Altera公司的Cyclone IV型芯片,利用NIOS II软核,2-port RAM与时序控制模块,实现64*48分辨率的显存(再大的显存板载资源m9k不够用) 实现效果如下: VGA时序控制模块 VGA时序简介 网络上针对VGA时序的讲解已经非常多了,简单的理解,VGA主要有H_sync和V_sync这两个坐标同步信号,与RGB这三个色彩信号.当H_sync与V_sync达到特定的值的时候,对应一个特别的坐标(x,y)上的颜色为RGB.VGA上的RGB信号是模拟信号,…
上一篇:基于FPGA的VGA显示设计(一)     参照 CrazyBingo 的 基于FPGA的VGA可移植模块终极设计代码  的工程代码风格,模块化处理了上一篇的代码,并增加了一点其它图形. 顶层模块: /**************************************************** * Module Name : VGA_color_all.v * Author : yllinux 博客:http://www.cnblogs.com/yllinux/ * Targ…
基于FPGA的VGA显示实验设计 成果展示(优酷视频): 视频: 基于FPGA的VGA显示技术(手机控制) http://v.youku.com/v_show/id_XNjk4ODE3ODUy.html 视频: 基于FPGA和Labview上位机的VGA显示技术 http://v.youku.com/v_show/id_XNjk4ODE4ODg4.html 1. 实验目标 初步了解FPGA,希望能够做到以下两点: (1)使用Labview上位机控制VGA显示: (2)使用手机控制VGA显示. 2…
前言 FPGA主要运用于芯片验证.通信.图像处理.显示VGA接口的显示器是最基本的要求了. 原理 首先需要了解 : (1)VGA接口协议:VGA端子_维基百科 .VGA视频传输标准_百度 引脚1 RED 红色视频 引脚2 GREEN 绿色视频 引脚3 BLUE 蓝色视频 引脚4 ID2/RES 过去为屏幕ID比特2:自DDC2起保留 引脚5 GND 接地(水平同步) 引脚6 RED_RTN 红色接回 引脚7 GREEN_RTN 绿色接回 引脚8 BLUE_RTN 蓝色接回 引脚9 KEY/PWR…
终于熬到暑假了,记过三四周的突击带考试,终于为我的大二画上了一个完整的句号,接下来终于可以静心去做自己想做的事情了,前一阵子报了一个线上培训班,学学Sobel边缘检测,之前一直在学习图像处理,但是因为一直看人家的代码,到后来难免有点空虚.所以说自己狠下心来,报了一个线上培训班,重新学习一下,自己设计Sobel边缘检测,势要摆脱抄别人代码的魔咒.所以这次图像显示部分和在彩色条纹中显示一副图片的代码,全部是我自己设计的,虽然不是什么大工程,但是还是满满的成就感,这次用的时间比较久,因为使用的是新板子…
一.简介       DDS技术最初是作为频率合成技术提出的,由于其易于控制,相位连续,输出频率稳定度高,分辨率高, 频率转换速度快等优点,现在被广泛应用于任意波形发生器(AWG).基于DDS技术的任意波形发生器用高速存储器作为查找表,通过高速D/A转换器来合成出存储在存储器内的波形.所以它不仅能产生正弦.余弦.方波.三角波和锯齿波等常见波形,而且还可以利用各种编辑手段,产生传统函数发生器所不能产生的真正意义上的任意波形. 二.原理     根据傅立叶变换定理可知,任何周期信号都可以分解为一系列…
通信信号源设计原理 通过设计一个DDS信号源,然后将该信号作为载波信号,再对基带信号进行2ASK.2FSK.2PSK.2DPSK调制,进而产生多种通信信号. 设计框图如下: 将PN序列进行2ASK.2FSK.2PSK.2DPSK调制,其中载波发生器提供三种不同的载波信号,按键设置用来选择当前DAC输出的最终调制信号,DAC输出模块将调制好的数字化波形转换为模拟信号. PN序列采用的设计方法是m序列,采用3级寄存器生成7序列基带信号. 调制模块分别包含:2ASK.2FSK.2PSK.2DPSK这四…
本次学习如何通过vga发送数字.文字.字母, 首先利用建模软件,将想要发送的数据通过数学建模转换,这里我用的软件是PCtoLCD,具体效果如下 这里可以看出,建模将数据装换成0和1,一个字母用16x8的像素点构成,然后将前景表现 为1,背景表现为0, 这样子就可以直接用fpga通过对0和1的判断,直接赋予该像素点一种颜色,这里我将字母设置为红色,背景为绿色 主要代码: //这里我要显示我的名字myz的参数 parameter line0 = 24'h000000, line1 = 24'h000…
学习VGA显示图片的过程中,遇到了一个小问题,我在显示屏上开了一个60x60的框,放了一张图片进去显示,但是最终的结果如下图所示. 出现了一个竖黑边,看了看代码,分析了一下逻辑没问题,然而看这个显示那肯定是有问题的,然后仿真了一下看看,时序图如下. 正确的时序 错误的时序 我这是的是当行计数器记到200和场计数器记到200的时候显示ROM中的数据,在显示屏中开出一个60x60的正方形显示区域,对比上两幅图可得,第二幅图在当行计数器计数到200的时候lcd_data本应该是ROM里的数据,但是却输…
本次学习主要向配合basys2实行. 上次学习vga的rgb三个output都是1位的,但是我看了basys2的rgb分别是332位,这里让我卡顿了很久, 之后通过查资料才知道,rgb的不同大小表示的只是不同的颜色. vga256其实 vga的基本工作原理都是相同的,这里只是将332通道的rgb表示出来,所以本次代码中单写332通道的rgb reg [7:0]vga_rgb; always@(posedge clk_25) begin if(!valid) vga_rgb <= 8'd0; el…
这次学习我主要掌握了vga的基本运行原理. vga基本概念: VGA时序主要包括两条信号线(HS,VS)的输出——行扫描和场扫描.VGA采用逐行扫描,每个像素对应的点扫描.行与行之间存在消隐以及显示时期,场与场之间也类似.行扫描可分为以下几个阶段:同步.消隐后肩.显示期.消隐前肩再到下个周期同步为一个循环,对应的是屏幕上的一行.场同步类似,对应为屏幕显示的一帧.标准的VGA屏幕比例为4:3有固定的帧率以及扫描场频率的标准.常见的4:3 vga时序表: 网上找的场和行的时序表: 这里可以看出,想要…
前言 什么是VGA? VGA(视频图形阵列)是IBM公司制定的一种视频数据传输标准. 接口信号主要有5个:R(Red),G(Green),B(Blue),HS(Horizontal synchronization水平同步),VS(Vertical synchronization垂直同步).水平同步也叫行(line)同步,垂直同步也叫帧(frame)同步.信号都是模拟信号. 用途:连接CRT显示器或者带VGA接口的LCD液晶显示器. VGA的接口原理是什么?行消隐,场消隐? 逐行扫描的方式,电子束…
硬件平台 Kintex ®-7 family of FPGAs Intel X86 软件平台 Linux 4.15.0-36-generic #39~16.04.1-Ubuntu Xilinx xapp1052 运行界面…
上一篇:基于FPGA的VGA显示设计(二) 10月10日 ~ 20日期间实习,令我万万没想到的是实习题目是 “便携式高清电视显示屏测试系统原型设计” 也就是 “基于FPGA的视频显示”. 实习要求用 HDMI 接口显示,其实和VGA显示差不多的就多了两个引脚而已(de 和 hdmi_clk_o).如下图: 虽然感觉做这个没什么意思了,但多多少少还是有一点收获的. (1)锁存一个时钟的数据用作判断 源代码片段例子1: 源代码片段例子2: 我在quartus ii 9.0上随便拉的波形: 原理: h…
系统框图 前面我们设计了基于FPGA的静态图片显示,接下来我们来做做基于FPGA的动态图片显示,本实验内容为:由PC端上位机软件通过串口发送一幅图像数据至FPGA,FPGA内部将图像数据存储,最后扫描到VGA屏幕上显示. 从系统框图上我们可以看到,可以划分为三个部分进行设计,一个是串口接收部分,然后是RAM数据存储部分,最后是VGA驱动显示部分.这里串口接收部分只需要用到串口接收代码,代码很多书上都有,我这里就不贴出来了, 数据存储部分需要使用的是双口RAM IP Core,一端将数据写入RAM…
前面我们讲了基于FPGA用VGA显示一副静态图片,那么接下来我们就接着前面的工程来实现我们图像处理的基础算法里最简单的一个那就是彩色图像转灰度的实现. 将彩色图像转化为灰度的方法有两种,一个是令RGB三个分量的数值相等,输出后便可以得到灰度图像,另一种是转化为YCbCr格式,将Y分量提取出来,YCbCr格式中的Y分量表示的是图像的亮度和浓度所以只输出Y分量,得到的图像就是灰度图像了.我在这里选择第二种方法实现. YCBCr是通过有序的三元组来表示的,三元由Y(Luminance).Cb(Chro…
在这一篇开篇之前,我需要解决一个问题,上一篇我们实现了基于FPGA的均值滤波算法的实现,最后的显示效果图上发现有一些黑白色的斑点,我以为是椒盐噪声,然后在做基于FPGA的中值滤波算法的实验时,我发现黑白斑点并没有消除,中值滤波本来是可以很好的滤掉椒盐噪声,所以说这里并不是椒盐噪声,最后经过我仔细的检查,终于明白了问题的所在.我所使用的Xilinx这款开发板的晶振为125Mhz,串口模块我使用前面设计好的代码,输入时钟为50Mhz,产生的接收完成标志信号也就是一个50Mhz的时钟周期,我这里将接收…
前面我们实现了使用PC端上位机串口发送图像数据到VGA显示,通过MATLAB处理的图像数据直接是灰度图像,后面我们在此基础上修改,从而实现,基于FPGA的动态图片的Sobel边缘检测.中值滤波.Canny算子边缘检测.腐蚀和膨胀等.那么这篇文章我们将来实现基于FPGA的Sobel边缘检测. 图像边缘:简言之,边缘就是图像灰度值突变的地方,亦即图像在该部分的像素值变化速度非常之快,这就好比在坐标轴上一条曲线有刚开始的平滑突然来个大转弯,在变化出的导数非常大. Sobel算子主要用作边缘检测,在技术…
大家好,给大家介绍一下,这是基于FPGA的肤色识别算法实现. 我们今天这篇文章有两个内容一是实现基于FPGA的彩色图片转灰度实现,然后在这个基础上实现基于FPGA的肤色检测算法实现. 将彩色图像转化为灰度的方法有两种,一个是令RGB三个分量的数值相等,输出后便可以得到灰度图像,另一种是转化为YCbCr格式,将Y分量提取出来,YCbCr格式中的Y分量表示的是图像的亮度和浓度所以只输出Y分量,得到的图像就是灰度图像了.我在这里选择第二种方法实现. YCBCr是通过有序的三元组来表示的,三元由Y(Lu…
前面我们实现了使用PC端上位机串口发送图像数据到VGA显示,通过MATLAB处理的图像数据直接是灰度图像,后面我们在此基础上修改,从而实现,基于FPGA的动态图片的Sobel边缘检测.中值滤波.Canny算子边缘检测.腐蚀和膨胀等.那么这篇文章我们将来实现基于FPGA的Sobel边缘检测. 图像边缘:简言之,边缘就是图像灰度值突变的地方,亦即图像在该部分的像素值变化速度非常之快,这就好比在坐标轴上一条曲线有刚开始的平滑突然来个大转弯,在变化出的导数非常大. Sobel算子主要用作边缘检测,在技术…
本篇文章我要写的是基于的腐蚀膨胀算法实现,腐蚀膨胀是形态学图像处理的基础,,腐蚀在二值图像的基础上做"收缩"或"细化"操作,膨胀在二值图像的基础上做"加长"或"变粗"的操作.那么什么是二值图像呢?把一幅图片看做成一个二维的数组,那么二值图像是一个只有0和1的逻辑数组,我们前面Sobel边缘检测后的图像输出边缘效果,设置个阈值,大于阈值输出为1,小于阈值输出为0,最后输出就是一幅二维图像了. 上一篇我是直接用MATLAB处理后的…
原文地址: http://blog.chinaaet.com/luhui/p/5100052903 大家好,又到了学习时间了,学习使人快乐.今天我们来简单的聊一聊以太网,以太网在FPGA学习中属于比较高级的内容了,有些同学肯定会感觉以太网学习起来非常不容易.其实,我可以告诉大家,前期学习的基础打扎实了,后期的学习也没那么难.总之就是说难没那么难,说容易也不是那么容易.那么,言归正传,下面让我们一起来聊一聊以太网的学习.        说起以太网,大家可能就会想到百兆以太网.千兆以太网以及万兆以太…
本实验设计的VGA显示驱动完全基于FPGA实现,用SDRAM做缓存设备,通过ARM控制VGA显示的内容.ARM 通过FSMC总线向FPGA发送数据,由于总线的速度和VGA的显示速度与SDRAM的读写速度不匹配,所以在数据进入 SDRAM前和数据输出SDRAM后需要分别添加FIFO模块和RAM模块做缓存,数据经过SDRAM缓存后,最终输出到 VGA显示器上. 实验指导书及代码包下载: http://pan.baidu.com/s/1midJhs0…
英文论文链接:http://cadlab.cs.ucla.edu/~cong/slides/fpga2015_chen.pdf 翻译:卜居 转载请注明出处:http://blog.csdn.net/kkk584520/article/details/47450159 [0. 摘要] CNN已经广泛用于图像识别,因为它能模仿生物视觉神经的行为获得很高识别准确率.最近,基于深度学习算法的现代应用高速增长进一步改善了研究和实现.特别地,多种基于FPGA平台的深度CNN加速器被提出,具有高性能.可重配置…
今天这篇文章是要修改之前的一个错误,前面我写过一篇基于FPGA的串口发送图片数据至VGA显示的文章,最后是显示成功了,但是显示的效果图,看起来确实灰度图,当时我默认我使用的MATLAB代码将图片数据转化后是灰度图片,直到前一阵我才发现,其实并不是这样.MATLAB代码转化出来的图片数据就是8位的彩色图片数据,只不过当数据小于16'h10时,MATLAB生成的数据便是A.B.E,但是串口调试助手会怎么识别呢!如下图(前方多图高能) 这是我发送的十六进制为0的数据,而串口却显示发送的是FF,显然数据…
最近在学习基于FPGA的DDS设计,借此机会把学习过程记录下来,当作自己的学习笔记也希望能够帮助到学习DDS的小伙伴. DDS(Direct Digital Synthesizer)直接数字合成器,这是直译过来的名字.设计人员一般把它叫做信号发生器,用它来产生一些数字意义上的波形.它的意义还是挺大的,例如我们学习滤波器,就需要一个高低频率叠加的波形,现时生活中到处都是,可以在设计中,怎么能做出这样的波形呢?学习各种载波调制,需要将信息加载到载波上,而载波也一般都是一定频率的正弦波.DDS就是能够…
基于FPGA的XPT2046触摸控制器设计 小梅哥编写,未经许可,文章内容和所涉及代码不得用于其他商业销售的板卡 本实例所涉及代码均可通过向 xiaomeige_fpga@foxmail.com  发送邮件获取. XPT2046是一款设计用于移动电话.个人数字助理.便携式一起.付款中断设备.触摸屏显示器等设备的4线制电阻触摸屏控制器.该芯片实质为一个多通道ADC+电压输出芯片,通过在不同时刻对电阻触摸屏的两组不同电极上分别施加电压,然后测量另一组电极上的电压值,从而获取触摸点的X或Y位置坐标,进…
1.SPI FLASH的基本特征 本文实现用FPGA来设计SPI FLASH,FLASH型号为W25Q128BV.支持3种通信方式,SPI.Dual SPI和Quad SPI.FLASH的存储单元无法写入bit 1,只能写入bit 0,所以写入数据之前要将原来的数据擦除(FFh),遇到写入bit 1的情况不作处理.W25Q128BV的特征为如下图所示: 2.SPI FLASH的基本结构 W25Q128BV由Block0~Block255共256个Block组成,容量大小为256*64KB=256…