现在位置: 首页

YUV格式数据接收,显示灰度图像到VGA

2018年04月15日 FPGA开发  ⁄ 共 406字 YUV格式数据接收,显示灰度图像到VGA已关闭评论
改了下ov7670的配置,改为YUV422输出,改了之后对于capture模块来说改动不是很大,像素时钟和RGB565的频率是一样的,现在亮度和速度信号分离开了,可以只把亮度信息显示出来,并在屏幕上叠加上了帧频: yuv 可以看出图像是黑白的,左下角绿色的是帧频,同时写了个uart串口模块,通过串口把帧频也打印了出来,1S打印一次: com 仔细一看串口打印的和屏幕叠加的数对不起来,串口打印的(0X1F 十进制是31),屏幕得加的是32,应该...
阅读全文

简单字符叠加测试,画框及十字线、中英文显示

2018年04月09日 FPGA开发  ⁄ 共 272字 简单字符叠加测试,画框及十字线、中英文显示已关闭评论
抽空在原来程序基础上,简单写了一个OSD模块,使用代码简单画了一个框及十字线,更复杂OSD功能还需要再深入学习: osd osd osd
阅读全文

终于出图像了,记录一下

2018年04月03日 FPGA开发  ⁄ 共 718字 终于出图像了,记录一下已关闭评论
调试了快半个月,终于出图像了,其中碰到了一些问题也查了好久,下面把碰到的一些现象贴出来大题说一下: 刚开始出的图像是花的,红红绿绿,但是基本物体的形状还是可以看清,推测不可能是sdram数据存取问题,可能色彩空间编码有问题: pic1 查看了7670数据捕获输出模块,推测可能是采集的时候,多采了一个像元,或少采了一个像元,造成色彩编码错位(主要是每一行的第一个和最后一个像元),这样两个8位拼成的16位RGB数据就有...
阅读全文

sdram 控制器代码(使用VHDL编写)

2018年03月30日 FPGA开发  ⁄ 共 14082字 sdram 控制器代码(使用VHDL编写)已关闭评论
最近一直想着学学视频处理方面的知识,选定的平台是altera的一款FPGA,摄像头用的OV7670,输出显示为VGA,打算目前不先跑软核,完全使用FPGA处理,首先面临的问题就是ov7670的初始化,0v7670的通讯是IIC的,先写了一个IIC Master控制器,见前面一篇文章《IIC总线—-iic master使用VHDL的FPGA实现》 ,这篇文章只是实现了标准的IIC通信接口,ov7670的寄存器配置还需要另写文件控制,这部分就是一直循环的写7670的寄存器,没有什么...
阅读全文

IIC总线—-iic master使用VHDL的FPGA实现

2018年03月10日 FPGA开发  ⁄ 共 7004字 IIC总线—-iic master使用VHDL的FPGA实现已关闭评论
代码参考网上大神程序,加了一些修改 贴出代码: 写了个testbench测试了一下这个模块,仿真时许如下: iic-tb iic_tb library ieee; use ieee.std_logic_1164.all; entity iic_master is generic ( clock_frequency : positive := 100000000; baud : positive := 100000 ); port ( i_clk : in std_logic; i_rst_n : in std_logic; i_addr : in std_logic_vector(6 downto 0); --目标地址 i_rw : in std_lo...
阅读全文

IIC总线—-介绍

2018年03月08日 基础知识  ⁄ 共 3392字 IIC总线—-介绍已关闭评论
近期要使用IIC总线控制OV7670摄像头,使用FPGA做一些图像处理,所以打算自己使用VHDL写一个IIC控制器,下面先看一下详细时序介绍:   概述 I²C 是Inter-Integrated Circuit的缩写,发音为"eye-squared cee" or "eye-two-cee" , 它是一种两线接口。 I²C 只是用两条双向的线,一条 Serial Data Line (SDA) ,另一条Serial Clock (SCL)。 SCL:上升沿将数据输入到每个EEPROM器件中;下降沿驱动EEPROM器件输出数据。(边沿触发...
阅读全文

Linux中list_head结构体相关

2018年02月02日 基础知识  ⁄ 共 3385字 Linux中list_head结构体相关已关闭评论
在Linux内核中,提供了一个用来创建双向循环链表的结构 list_head。虽然linux内核是用C语言写的,但是list_head的引入,使得内核数据结构也可以拥有面向对象的特性,通过使用操作list_head 的通用接口很容易实现代码的重用,有点类似于C++的继承机制。 下面就是kernel中的list_head结构定义: struct list_head { struct list_head *next, *prev; }; list_head是linux kernel中非常重要的一个结构体,是双向链表...
阅读全文
×