论文部分内容阅读
随着时代的进步和技术的发展,传统的摄像头虽然随着总线技术的发展在传输数据速率上有了很多提高,但是其还存在很多缺陷,对于某种摄像头,用户必须安装对应的驱动,当用户更换摄像头时,其需要跟换驱动或者升级操作系统才能正常的使用,这给用户带来了很大的不便。此时,免驱摄像头越来越多的出现在人们的视野中。与传统摄像头相比,免驱摄像头能够实现操作系统的兼容,实现真正的即插即用。本文就是主要是针对这种免驱动网络摄像头提出的一种免驱固件设计方式,其中对程序的流程重点介绍其采用的设计方式和某些问题的处理。本文首先介绍免驱摄像头发展历史,同时还介绍了固件设计所需具备的基础常识,包括USB2.0协议、USB总线传输特点、USB数据传输方式等。在剖析UVC(Usb Video Class)协议的基础上,对免驱摄像头芯片的结构以及相关寄存器都进行了相应的阐述,同时还对固件设计时数据采用的数据结构进行了说明。在固件设计章节,针对固件,采用中断消息处理机制,设计灵活的程序结构和精简的处理函数,及时的处理各种命令状态,节省程序运行的RAM空间,降低设计成本,保证设备的正常高速运行。在设计工作方面中,利用KeilC51编译工具,基于USB2.0和UVC协议,编写免驱摄像头底层固件程序;结合UVC协议,设计了多带宽选择,节约总线资源;利用VC++6.0 (Microsoft Visual C++6.0)可视化编程工具编写了摄像头上层应用软件,实现视屏图像在主机端的显示和视频图像的捕获;设计了固件下载的方式,对EEPROM数据的保存设计了一种全新的方式,方便了固件中变量和常数的更新;结合控制器操作手册,完成了设备段固件消息收发机制的软件设计。最后,论文给出了部分仿真方式过程及结果。特别提出的是,本文侧重点在摄像头的免驱固件设计,本文给出了市场上免驱摄像头固件设计的方式,包括对USB通信的设计、视频接口的设计以及视频和标准控制类请求支持接口的设计。