- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
龙源期刊网
—种基于UVC协议的图像采集系统设计
作者:白会东赵成成田青青魏巍
来源:《无线互联科技》2018年第15期
摘要:在USB协议中定义了多种类,它们不仅可以实现不同的功能,还能促进USB设备
的普及。网络摄像头和USB采集卡中就用到了USB视频类,它的好处是能够实现即插即用,
省去驱动的开发工作。一般情况下采用UVC协议的系统是单独采用USB控制芯片来完成整个
龙源期刊网
设计。为了增加设计的多元性,文章采用了FPGA和USB3.0架构的方式,实现了一种基于
UVC协议的图像采集系统。
关键词:UVC协议;USB3.0;图像采集;固件
系统组成与工作流程1
系统构成如图1所示,分别为:含有OV5642传感器的摄像头模块、CycloneIV系列的
FPGA芯片、Cypress公司的USB3.0芯片和主机[1]。系统的工作流程为:第一步,上电后在线
配置USB3.0的固件程序和下载逻辑程序到FPGA中;第二步,程序加载到FPGA完成后会自
动地通过SCCB接口配置摄像头的寄存器,完成摄像头的初始化工作;第三步,等待摄像头模
块稳定输出后开始接收图像数据,并转换成符合UVC(USB视频类)格式;第四步,数据经
过USB的DMA通道传输给上位机进行显示。
程序设计2
摄像头配置程序设计2.1
摄像头的配置不是用USB芯片内的IIC接口进行加载,而是用FPGA内嵌的功能模块完
成的[2]。在FPGA中创建片上系统(SOC),用VerilogHDL语言设计硬件模块,用C++语言
设计配置逻辑程序。先调用QuartusII软件中的Qsys工具完成硬件工程的创建,按照需求添加
功能模块,这里主要添加了Nios2处理器、On-chipMemory、oc_iic和PIO功能模块。然后连
接时钟信号到每一个模块上,把数据总线连接到相应的接口上,并设置中断等级,完成硬件模
块的创建。在配置文件逻辑程序设计时,先调用Eclips完成软件工程的创建,通过手动添加配
置文件把工程映射到硬件上。同时把输出文件配置成on-chipmm模式,然后编写SCCB读写
控制逻辑和配置文件。通过这种方式可以把软件和硬件逻辑编辑到同一个文件中,减少了配置
过程中多次配置的繁琐步骤。最后由QuartusⅡ编译产生包含软件和硬件的sof文件。
2.2USB固件程序设计
固件的开发使用了Cypress提供的框架和API。通过GPIFⅡDesigner工具设计通用可编
程接口(GeneralProgrammableInterface,GPIFⅡ),生成包含接口配置信息的C头文件[3]。
其中GPIFⅡ接口是一个具有256种状态的可编程状态机,应用起来非常灵活,既可以作为主
控接口也可以作为从设备接口。通过GPIFⅡ接口模块把EZ-USBFX3数据传输通道转变成
FIFO,简化了处理器的操作,让数据经过DMA通道传送给USB端点。GPIFⅡ接口数据传输
的实际通道是GPIF线程,传输时把发送套接字映射到GPIF物理线程上,让接口数据能够存
储到缓冲区中。首先将第一个DMA描述符加载到套接字,获取第一个DMA缓冲区的信息,
然后把数据写入第一个缓冲区,当第一个缓冲区写满时,套接字会根据描述符指针读取第二个
DMA描述符信息,把数据继续写入所对应的缓冲区,以此顺应描述符链循环操作。当全部缓
龙源期刊网
冲区写满或者收到傳输结束信号时,自动把数据传输到USB端点,避免了CPU操作带来的开
销,提高了数据传输速率。设计中GPIFII状态机要满足在VSYNC和HSYNC都有效时,才
能连续传输一行数据,而且都要保证在每帧开始传输前标头位已经更新。通过乒乓操作对两个
Buffer的交替读写,实现了数据的连续传输。
头文件添加到固件框架中,调用C
文档评论(0)