2971|2

34

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

基于FPGA至简设计法的OV7670图像采集 [复制链接]

本帖最后由 goodbey155 于 2018-9-25 11:57 编辑

题目
实现摄像头OV7670的配置及完成图像的采集。请读者考虑实现该功能需要哪些模块?进行模块划分并给出端口定义,不需要写出代码。
模块划分
根据需配置外设交互架构,模块划分如图6-16所示:
图6-16 初步模块划分

进一步分析配置模块及接口模块。
1. 配置模块
从OV7670的datasheet可知,完成某些必要寄存器的配置,OV7670才能正常工作,而配置不同的寄存器,又能够实现不同的功能。配置模块根据配置要求产生读写命令、数据与地址给接口模块。配置表里包含操作码,所有寄存器的地址以及寄存器的配置值。
下面详细介绍配置表,以下是OV7670的部分配置表:
(1)REG_NUM表示此外设寄存器总数。
(2)配置表存放的格式为:“操作码”+“地址”+“配置值”,比如:add_wdata = {2'b11,16'h1204},其操作码是2’b11,地址是8’h12,配置值是8’h04。
(3)操作码为2比特,00表示空操作;01表示只读;10表示只写;11表示先写后读。
(4)配置模块读取配置表,根据操作码来发送命令给接口模块。如果操作码为00,则跳过此命令;如果操作码为01,则产生一个读命令给接口模块,读地址是配置表给出的地址;如果操作码为10,则产生一个写命令给接口模块,写地址和写数据由配置表给出;如果操作码为11,则先给写命令,写地址和写数据由配置表给出,执行完后,再给读命令,读地址与本次操作的写地址相同。

采用需配置外设交互架构,在配置具有多功能的外设的寄存器时,能够很方便地进行调试,仅需通过修改配置表就可以实现,所以明德扬强烈推荐此类外设使用该构架。调试过程一般是确认读操作,看能否读1个寄存器数据,从而确保读操作没问题;然后写1个寄存器再读出来,确认读出来的数据是不是写进去的数据,从而确保读写操作没问题;之后连续依次读写一组寄存器,确保每次读写都正确;最后把读功能取消,只保留写功能,作为最后的代码。

2. 接口模块
接口模块需要完成两个功能:一是完成OV7670的配置,即根据配置模块的读写命令及数据产生SCCB操作时序(查阅OV7670的datasheet,OV7670的配置接口是SCCB);二是完成OV7670的图像采集。所以模块划分原则一,一个功能一个模块,接口模块可以划分为SCCB接口模块与采集模块。
综上,模块划分结果如图6-18。
图6-18 模块划分框图

模块的端口及模块之间数据流向
模块划分好后,需要进一步确认模块的端口及模块之间的数据流向。可参考5.1.2 模块划分端口规范。模块划分最终结果如图6-19所示:
图6-19 模块划分最终框图
此帖出自FPGA/CPLD论坛

最新回复

还挺棒的  详情 回复 发表于 2018-9-25 15:46
点赞 关注
个人签名FPGA学习爱好者,并为之而努力着https://home.eeworld.com.cn/static/image/smiley/default/pleased.gif
 

回复
举报

22

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
还挺棒的
此帖出自FPGA/CPLD论坛
 
 

回复

34

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
嗯嗯,大家学习交流
此帖出自FPGA/CPLD论坛
个人签名FPGA学习爱好者,并为之而努力着https://home.eeworld.com.cn/static/image/smiley/default/pleased.gif
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

北京市海淀区中关村大街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
快速回复 返回顶部 返回列表