2466|3

81

帖子

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加入应对的模块,设置好模式,摄像头如下所示:

 

e846311e5cc5ce7e5fac538d33f11230

 

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

 


 

最新回复

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

回复
举报

5220

帖子

236

TA的资源

管理员

沙发
 

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

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

回复

5220

帖子

236

TA的资源

管理员

板凳
 

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

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

回复

9717

帖子

24

TA的资源

版主

4
 

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

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
半导体供应商竞争焦点---下一代IP业务

宽带网络的广泛部署和VoIP应用的普及相辅相成。除了将企业应用作为主流市场外,VoIP还在政策缺失、运营商封杀的不利情况下逐渐向 ...

电子商务:未来的路该怎么走

电子商务:未来的路该怎么走看后你会发现

嵌入式TCP/IP的优化设计与硬件实现

摘要 提出一种嵌入式系统中实现TCP/IP的解决方案。通过优化设计清晰的TCP/IP和应用层接口、防止多余的内存拷贝和实现数据包 ...

晃晃悠悠这几年(职场轻松谈之射频工程师)

考研时,无意中选择了电磁场微波这个专业,从此就走上了射频工程师这条路,毕业后,顺其自然的进入了一个研究所做着和学校里做的 ...

小梅哥和你一起深入学习FPGA之初学者指南

感谢论坛给我的诸多照顾,通过和广大电子爱好者深入交流,我真正了解到了很多初学者的困惑。特权同学的深入浅出玩转FPGA系列 ...

CC2640R2F支持阿里云Link物联网平台

本帖最后由 Jacktang 于 2020-2-2 18:01 编辑 CC2640R2F已经支持阿里云Link物联网平台,可以帮助客户快速的开发产品, 已经有 ...

SiC在半导体中的用处

SiC在半导体中的用处 随着电子设备和逻辑板的市场进一步增长,传统硅的缺点日益凸显,为此设计师和制造商一直在寻找更好,更 ...

CCS 7.4.0导入PDK_c667x_2_0_9的例程

C6678最新发布的Processor SDK,其例程提供了源代码、RTSC配置文件(.cfg)和一个CCS工程的创建脚本,但没有直接提供CCS工程。如ND ...

【平头哥RVB2601创意应用开发】实践4-按键控制网络音乐播放

RVB2601板载wifi芯片W800,可以实现wifi连网,板载的喇叭,可以进行音乐播放。 通过官方的webplayer例程,可以学习连网和音乐 ...

电流的流向有问题吗

没问题的话,开关管导通时,同名端是正还是负?

关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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