代码参考小梅哥
在此做个小结以便以后翻看

//DVP自测代码
//CMOS摄像头DVP接口控制逻辑module DVP_Capture(input Rst_n,input PCLK,input Vsync,input Href,input [7:0] Data,output ImageState,output DataValid,output [15:0] DataPixel,output [11:0] Xaddr,output [10:0] Yaddr
);reg r_Vsync,r_Href,r_DataValid;
reg [7:0] r_Data;reg [12:0] H_count;
reg [12:0] V_count;reg [15:0] r_DataPixel;reg [3:0] frame_cnt;
reg drop_frame;//等到初始化摄像完成且头场同步信号出现,释放清零信号,开始写入数据
always@(posedge PCLK or negedge Rst_n)
beginif(!Rst_n)ImageState <= 1;else if(r_Vsync)ImageState <= 0;elseImageState <= ImageState;
end//对DVP接口的数据使用寄存器打一拍,以用信号边沿检测功能
always@(posedge PCLK)
beginr_Vsync <= Vsync;r_Href <= Href;r_Data <= Data;
end//在HREF为高电平时,计数输出8位数据的个数
always@(posedge PCLK or negedge Rst_n)
beginif(!Rst_n)H_count <= 0;else if(r_Href)H_count <= H_count + 1'b1;elseH_count <= 0;
end/*根据计数器的计数值奇数和偶数的区别,在计数器为偶数时,
将DVP接口数据端口上的数据存到输出像素数据的高字节,在计
数器为奇数时,将DVP接口数据端口上的数据存到输出像素数据
的低字节*/
always@(posedge PCLK or negedge Rst_n)
beginif(!Rst_n)r_DataPixel <= 0;else if(!H_count[0])r_DataPixel[15:8] <= r_Data;elser_DataPixel[7:0] <= r_Data;
end/*在行计数器计数值为奇数,且HREF高电平期间,产生输出
数据有效信号*/
always@(posedge PCLK or negedge Rst_n)
beginif(!Rst_n)r_DataValid <= 0;else if({r_Href,H_count[0]} == 2'b11)r_DataValid <= 1;elser_DataValid <= 0;
end/*使用Vcount计数器对HREF信号的高电平进行计数,统计
一帧图像中的每一行图像的行号*/
always@(posedge PCLK or negedge Rst_n)
beginif(!Rst_n)V_count <= 0;else if(!r_Href && Href)        //对上升沿进行判断※V_count <= V_count + 1'b1;elseV_count <= V_count;
end/*由于一行N个像素的图像输出2N个数据,所以Hcount计数
值为N的2倍,将该计数值除以2后即可作为Xaddr输出*/
assign Xaddr <= H_count >> 1;     //Xaddr <= H_count[12:1]/*输出Y地址*/
assign Yaddr <= V_count;/*帧计数器,对每次系统开始运行后的前10帧图像进行计数*/
always@(posedge PCLK or negedge Rst_n)
beginif(!Rst_n)frame_cnt <= 0;else if(!r_Href && Href)beginif(frame_cnt >= 10)frame_cnt <= 4'd10;elseframe_cnt <= frame_cnt + 1'b1;endelseframe_cnt <= frame_cnt;
end/*舍弃每次系统开始运行后的前10帧图像的数据,以确保输出图像稳定*/
always@(posedge PCLK or negedge Rst_n)
beginif(!Rst_n)drop_frame <= 0;else if(frame_cnt >= 10)drop_frame <= 1;elsedrop_frame <= 0;
endassign DataValid = r_DataValid & drop_frame;
assign DataPixel = r_DataPixel;endmodule

关于OV5640的DVP接口的小结相关推荐

  1. camera接口---MIPI CSI-2接口、DVP接口和FPD-Link III LVDS、GMSL等接口对比(转)

    camera接口---MIPI CSI-2接口.DVP接口和FPD-Link III LVDS.GMSL等接口对比 转载于:https://www.cnblogs.com/LittleTiger/p/ ...

  2. 摄像头的MIPI接口、DVP接口和CSI接口听语音 zhuanzai

    摄像头的MIPI接口.DVP接口和CSI接口听语音 在现实生活中,摄像头随处可见,但是对于一个电子工程师来讲,理解摄像头的使用方法还是非常有必要的,一般来讲,摄像头的接口主要有MIPI接口.DVP接口 ...

  3. camera接口---MIPI CSI-2接口、DVP接口和FPD-Link III LVDS、GMSL等接口对比

    接口类型 信号线 极限速率 最大速率 抗干扰能力 适用摄像头像素   PCB laypuit MIPI CSI-2 串口 CLKP/N.DATAP/N 最大支持4-lane 一般2-lane可以搞定 ...

  4. [RK3288][Android6.0] DVP接口摄像头OV5640添加

    Platform: RK3288 OS: Android 6.0 Kernel: 3.10.92 DVP或者MIPI接口直接在camera board文件中改动就可以. cam_board_rk328 ...

  5. 微信公众账号高级接口使用小结

    2013年6月份开始,就陆陆续续的研究了一下微信公众账号的使用,整理了一篇<关于微信公众平台的调研说明>的文档.文档从微信公众账号的注册.设置,到微信公众账号平台管理的各个部分,都进行了介 ...

  6. C++ 继承与接口 知识点 小结(一)

    [摘要] 要求理解覆盖.重载.隐藏的概念与相互之间的差别.熟记类继承中对象.函数的訪问控制:掌握虚函数.虚函数表.虚函数指针的联系:理解区分虚函数和虚继承在虚方法.虚指针在空间分配上的重点与难点:熟练 ...

  7. 产品经理须知 | API接口知识小结

    作者:椒图 (转载已取得作者授权) 应用程序接口API(Application Programming Interface),是提供特定业务输出能力.连接不同系统的一种约定.这里包括外部系统与提供服务 ...

  8. 软件测试知识点 | Jmeter实现接口关联小结

    Jmeter用于接口测试时,后一个接口经常需要用到前一次接口返回的结果,应该如何获取前一次请求的结果值,应用于后一个接口呢,拿一个登录的例子来说明如何获取. 1.打开jmeter,新建一个测试计划,在 ...

  9. C#接口(Interface)小结(超详细,你值得拥有!!!)

    前言:通过阅读本篇文章能够深入的理解C#中的接口以及接口的实现,推荐刚入门的小伙伴收藏嗷!!! 目录: 一.接口的概念 二.接口的作用 三.接口的特性 四.接口的声明 五.接口的两种实现方式 1.隐式 ...

最新文章

  1. 皮一皮:这年头,没看过火影还没法做医生了...
  2. sor迭代法matlab实例,Jacobi G-S SOR迭代法在matlab中例子.pdf
  3. java怎么测试dao_java-Mockito使用模拟对象测试DAO
  4. 大学期间承接软件项目的一些个人观点
  5. 20应用统计考研复试要点(part9)--应用多元分析
  6. 用Java实现HTTP Multipart的服务端和客户端
  7. mysql-8.0.14图文安装_mysql8.0.14安装配置方法图文教程(通用)
  8. C语言程序设计第三版微课版,C语言程序设计(第3版 微课版)
  9. 男孩子不上学了学计算机要学历吗,十三岁男孩不上学,能学什么手艺?
  10. c语言uefi读写文件,UEFI简单的应用程序模块MyHelloWorld:C源文件/INF工程文件源码/简析[6]...
  11. [渝粤教育] 西南科技大学 英语(B)1 在线考试复习资料
  12. 前端用pdfjs实现预览PDF
  13. fastboot烧机
  14. html页面通过flv.js实现视频监控直播和点播功能。
  15. matlab 2014a 安装教程(内附破解文件)
  16. winscp如何连接安卓手机_通过winscp连接路由器
  17. 表白公式计算机,表白公式数学公式简单的方式
  18. Java模拟消息队列
  19. 微分积分电路及其波形转换
  20. 硬盘Master和Slave是什么意思?

热门文章

  1. 2022-12-19 个人便签1:RS CMW官方相关手册网址便签
  2. 计算机侧边栏不显示桌面,侧边栏不见了?Win7小工具桌面随意放
  3. Win11蓝牙开关没了如何修复?
  4. 如何使用SPSS Amos进行验证性因子分析(CFA)和Bootstrap检验中介效应
  5. [附源码]java毕业设计超市收银系统
  6. 微信小程序上传文件及图片(可以预览)
  7. HTML URL 编码参考手册-------转载
  8. 酷狗音乐Top500榜单爬取
  9. springCloud Euraka知识讲解、问题解决方案、优化方案
  10. 简单实现直播手绘礼物