2856|3

80

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

安路SparkRoad摄像头监控 [复制链接]

  本帖最后由 冒险武者 于 2022-5-22 23:16 编辑

购买了一颗OV7725摄像头,一款 1/4 英寸单芯片图像传感器,其感光阵列达到 640*480,能实现最快 60fps VGA 分辨率的图像采集。传感器内部集成了图像处理的功能,包括自动曝光控制(AEC)、自动增益控制(AGC)和自动白平衡(AWB)等。同时传感器具有较高的感光灵敏度,适合低照度的应用。OV7725使用的是两线式接口总线,兼容SCCB协议与IIC协议。

OV7725 的输入时钟频率的范围是 10Mhz~48Mhz,本次实验摄像头的输入时钟为 12Mhz。

OV7725摄像头如下图所示,比较小巧。

 

上一篇实现VGA功能的时候,预留了接口,如下图把模式设置位3‘b100,就可以同步摄像头的数据

可以查看https://bbs.eeworld.com.cn/thread-1203400-1-1.html

摄像头支持多种格式,其中VGA时序要求如下:

 

采用SDRAM接口,例化如下:

  • EG_LOGIC_BRAM #( .DATA_WIDTH_A(16),
  • .DATA_WIDTH_B(16),
  • .ADDR_WIDTH_A(16),
  • .ADDR_WIDTH_B(16),
  • .DATA_DEPTH_A(32800),
  • .DATA_DEPTH_B(32800),
  • .MODE("PDPW"),
  • .REGMODE_A("NOREG"),
  • .REGMODE_B("NOREG"),
  • .WRITEMODE_A("NORMAL"),
  • .WRITEMODE_B("NORMAL"),
  • .RESETMODE("SYNC"),
  • .IMPLEMENT("9K"),
  • .INIT_FILE("NONE"),
  • .FILL_ALL("NONE"))
  • inst(
  • .dia(dia),
  • .dib({16{1'b0}}),
  • .addra(addra),
  • .addrb(addrb),
  • .cea(cea),
  • .ceb(ceb),
  • .ocea(1'b0),
  • .oceb(1'b0),
  • .clka(clka),
  • .clkb(clkb),
  • .wea(1'b1),
  • .web(1'b0),
  • .bea(1'b0),
  • .beb(1'b0),
  • .rsta(1'b0),
  • .rstb(1'b0),
  • .doa(),
  • .dob(dob));

再就是实现I2C接口,完成摄像头的初始化工作即可

最后就是实现摄像头图像输出接口,和VGA控制类似,都涉及水平同步、垂直同步信号处理,借用代码

  • module camera_vga
  • (
  • input wire clk,
  • input wire reset_n,
  • output wire csi_xclk,
  • input wire csi_pclk,
  • input wire [7:0] csi_data,
  • input wire csi_vsync,
  • input wire csi_hsync,
  • output reg [15:0] data_out,
  • output wire wrreq,
  • output wire wrclk,
  • output reg [15:0] wraddr
  • );
  • reg [19:0] pixel_counter = 0;
  • assign csi_xclk = (reset_n == 1) ? clk : 0;
  • reg vsync_passed = 0;
  • reg write_pixel = 0;
  • reg [7:0] subpixel;
  • reg [15:0] current_pixel;
  • reg wrclk1 = 0;
  • always@(posedge csi_pclk)
  • begin
  • wrclk1 <= ~wrclk1;
  • end
  • always@(negedge wrclk1)
  • begin
  • if(csi_hsync == 1)
  • write_pixel <= 1;
  • else
  • write_pixel <= 0;
  • end
  • always@(posedge wrreq )
  • begin
  • data_out <= current_pixel;
  • end
  • always@(posedge csi_pclk or negedge reset_n)
  • begin
  • if(reset_n == 0)
  • begin
  • pixel_counter <= 0;
  • vsync_passed <= 0;
  • end
  • else
  • begin
  • if(csi_vsync == 1)
  • begin
  • pixel_counter <= 0;
  • vsync_passed <= 1;
  • wraddr <= 0;
  • end
  • else
  • if(csi_hsync == 1 && vsync_passed == 1)
  • begin
  • if(pixel_counter[0] == 0)
  • begin
  • pixel_counter <= pixel_counter + 1;
  • subpixel <= csi_data;
  • end
  • else
  • begin
  • current_pixel <= { subpixel, csi_data };
  • pixel_counter <= pixel_counter + 1;
  • wraddr <= wraddr + 1;
  • end
  • end
  • else
  • begin
  • if(write_pixel == 1)
  • pixel_counter <= pixel_counter + 1;
  • else
  • pixel_counter <= 0;
  • end
  • end
  • end
  • assign wrreq = (write_pixel == 1) && pixel_counter > 2 ? wrclk1 : 0;
  • assign wrclk = csi_pclk;
  • endmodule

 在TOP加入应对的模块,设置好模式,摄像头如下所示:

 

播放器加载失败: 未检测到Flash Player,请到安装
e846311e5cc5ce7e5fac538d33f11230

 

后续尝试结合SD卡,把摄像头的数据存入SD卡中,这还需要研究下SD卡是如何保存成视频格式的,加油~~~

 


 

最新回复

期待你继续弄SD卡 我的SD卡IP一直没调通 想进一步测试发现有一些信号没法添加到逻辑分析仪里  详情 回复 发表于 2022-5-23 10:46
点赞 关注
 
 

回复
举报

5292

帖子

239

TA的资源

管理员

沙发
 

加油加油,sd卡的,小虾搞过@littleshrimp

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

5292

帖子

239

TA的资源

管理员

板凳
 

加油加油,sd卡的,小虾搞过 @littleshrimp

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

9879

帖子

24

TA的资源

版主

4
 

期待你继续弄SD卡 我的SD卡IP一直没调通 想进一步测试发现有一些信号没法添加到逻辑分析仪里

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
老外做的7个LED的旋转电子钟

下面是网址,使用PIC做的,有源码。 http://www.bobblick.com/techref/projects/propclock/propclock.html 大家好!我将资料放上 ...

数模混合电路设计的难点

数模混合电路的设计,一直是困扰硬件电路设计师提高性能的瓶颈。众所周知,现实的世界都是模拟的,只有将模拟的信号转变成数字信 ...

[笔记].在Quartus II中使用JTAG模式固化程序到EPCS中的方法.[Quartus II]

范例 流水灯 图1 流水灯范例 实现步骤 步骤1: 在Quartus II中,单击File->Convert Programming Files.. ...

DIY一个MSP430的BSL下载方式编程器

533765337553374

Beaglebone开发环境的搭建

1 装好Linux后,开启相应的服务及软件,包括:tftp,NFS,Samba,使用apt-get install安装即可。 安装ti-sdk-am335x-evm-05.0 ...

低功耗设计技术综述.doc

低功耗设计技术综述.doc

IPC-7711/7721B CN IPC-A-630 中文版

524763 524762

负载是3000W的发热盘,用两个16A的继电器进行控制

负载是3000W的发热盘,用两个16A的继电器控制负载工作,,这样的方式可靠性如何,等于分摊了功率,,继电器是串或者是并联

小学生机器人学习如何入门

小学生机器人学习如何入门

PCB主控板上电初始化输出端子电平翻转问题?

现在有一块变频器主控板24V供电,上电初始时刻1所有的主控板上的开关量端子电平会翻转一个很窄的脉冲,具体表现为,变频器数字量 ...

关闭
站长推荐上一条 1/10 下一条
直播报名最后1周:艾迈斯欧司朗 OSP 开放协议,从氛围灯动态照明到传感器交互融合
直播时间:4月22日(周二)10:00
直播奖励:京东卡、蓝牙温湿度计、定制水杯

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 4

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表