Upload
terena
View
184
Download
13
Embed Size (px)
DESCRIPTION
北京理工大学学士学位论文答辩. 基于 Cypress 公司 USB 控制器的 图像传输技术研究. 答 辨 人 : 刘 登 宇 指导老师 : 徐 超. 北京理工大学信息科学技术学院 2008 年 6 月 16 日. 课题背景. CMOS 图像传感器 电路集成 成本低廉 功耗低 USB2.0 总线接口技术 高速传输 吞吐量大 应用灵活 支持热插拔. 国内外发展现状. 美国 MuTech Phoenix 系列. 华旗数码技术实验室. USB 视频传输系统构成. USB 视频传输系统器件选择. - PowerPoint PPT Presentation
Citation preview
基于 Cypress公司 USB控制器的图像传输技术研究 答 辨 人 : 刘 登 宇
指导老师 : 徐 超
北京理工大学学士学位论文答辩北京理工大学学士学位论文答辩
北京理工大学信息科学技术学院2008 年 6 月 16 日
课题背景
CMOS 图像传感器- 电路集成- 成本低廉- 功耗低
USB2.0 总线接口技术- 高速传输- 吞吐量大- 应用灵活- 支持热插拔
国内外发展现状
美国 MuTech Phoenix 系列 华旗数码技术实验室
USB 视频传输系统构成
USB 视频传输系统器件选择
CMOS 图像传感器: Micron MT9M001 CMOS 图像传感器- 图像分辨率 :1280X1024 SXGA
- 30 帧 / 秒逐行扫描- 电子卷帘快门- 可编程控制增益、帧 速率、帧窗口大小
USB 控制器: Cypress EZ-USB FX2 CY7C68013 USB 控制器- 集成 USB2.0 收发器、 SIE( 串行接口引擎 ) 、增强型 8051 微控制器- 通用可编程接口 (GPIF) , 8 位 /16 位数据总线- 四个可编程端点 ( 批量、同步、中断 )
EZ-USB FX2 68013 USB 控制器
• USB 接收器接收外部差分信号后,由智能串行接口引擎处理 USB 协议中的数据传输格式,而微控制器 8051 则专注于应用功能。
• 通用可编程接口 GPIF 和主 / 从端点 FIFO(8 位或 16 位数据总线 ) 为ATA 、 UTOPIA 、 EPP 、 PCMCIA 和 DSP 等通用接口提供了简单的无缝连接。
独特数据传输架构
数据传输通常需要 CPU 通过固件访问芯片中的端点 FIFO ,也需要 CPU 通过固件访问外围设备的接口电路。然而,这种工作方式会因 CPU 固件程序执行效率低而限制数据传输速率,在高速传输时显得格外突出。
FX2 采用了一种特殊的数据传输模式。在此模式下,无需 CPU 执行内部8051 固件程序便可直接实现端点 FIFO 与外部的数据交换。从而很好地解决了因微处理器转发方式造成的带宽瓶颈,实现了数据的高速传输。
端点 FIFO
FX2 使用数量较少的大端点缓冲区代替数量较多的小端点缓冲区 FX2 为其大端点 (EP2 、 4 、 6 、 8) 提供了双倍、三倍和四倍缓冲方式
USB
域
接口域
量子 FIFO
什么是量子 FIFO ?- 数据以包的形式传输- 接口域与 USB 域共享数据存储空间- 多级缓冲机制保证数据平稳传输
系统硬件设计
系统软件设计
固件程序源文件列表
名称 描述
Fw.c 框架源程序
camera.c 摄像头固件主程序
GPIF.c GPIF 接口程序
fx2.h
fx2reg.h
fx2sdly.h
intrins.h
FX2 头文件、通用寄存器、延时等宏定义文件
ezusb.lib 目标库链接文件
dscr.a51 描述符源文件
固件程序设计
固件程序负责完成两项任务:- 响应主机的枚举请求,配置
设备信息- 控制外部设备数据传输
TD_Init()- 初始化用户的全局状态变量- 配置端点及 I/O
TD_Poll()- 循环调用,执行 GPIF波形- 读取外部 CMOS 图像数据
DR_VendorCmnd()- 主机发送自定义命令控制字
通用可编程接口 GPIF
什么是 GPIF ?- 通用可编程接口 GPIF 实质上是一个对端点 FIFO 的内部主控制器,同时也对外部
设备的工作时序(包括读、写操作)进行控制。如果没有 GPIF ,在 FX2 与外部设备之前还必须有其它的产生工作时序的接口电路,如 CPLD 。
GPIF 的强大性能- GPIF 可用于在 FX2 与外部 ASIC 或微处理器之间建立握手连接,它具有足够强的能力来直接实现诸如 ATAPI(PIO 和 UDMA) 、 EPP并行接口和 Utopia 等接口协议。例如, FX2 能够单片实现 USB 与 IDE硬盘驱动器或 CF卡之间的接口。
如何进行 GPIF波形设计?- GPIF波形可由 Cypress公司提供的 GPIF Designer 工具进行直观的设计,设计好后
的波形可导出为 c 文件供固件程序调用
GPIF 结构框图
内部或外部提供的时钟 IFCLK
6 个可编程控制输出 CTL[5:0]
9条地址输出线 GPIFADR[8:0]
6 个外设输入状态信号 RDY[5:0]
双向 8 位或 16 位数据总线FD[15:0]
GPIF 波形设计
GPIF 波形设计
Flow State
为了高效地处理来自外部设备的突发数据, GPIF 在 FIFO 模式传输中采用了一种叫做 Flow State 的特性。 Flow State 是这样一种机制,它通过使用一套区别于决定态 RDY逻辑的独立的 RDY逻辑 ( 称之为流逻辑 )来实现 GPIF对数据传输开关的有效控制
由于它可实现在每个 IFCLK 的上升沿和下降沿触发数据传输,因此,一个运行于 48MHz系统的 16 总线接口可通过 GPIF 引擎实现高达 96MB/s 的突发数据传输
IFCLK
数据总线
Flow State
GPIF 采用 SLAVE 模式 采用 CMOS 的行有效信号 L_Valid
作为 Flow State触发信号 数据传输在上升沿时触发
驱动程序及应用程序设计
FX2驱动程序 ezusb.sys 是 CYPRESS公司提供的通用驱动程序。用户只需稍加修改或不需任何修改即可使用该驱动程序,本文根据实际系统需要,对其稍作修改后编译生成 usbcam.sys 。
主机应用程序是图像采集传输系统的控制中心,它由 VC++6.0 MFC 编程实现其主要功能有:- 检测 USB 设备- 查看设备描述符及配置描述符- 开启及中止图像数据采集- 图像的实时呈现
应用程序在与一个设备通信之前,首先通过调用 Win32函数 CreateFile()来取得访问设备驱动程序的句柄。然后用户程序使用 Win32函数 DeviceIoControl()来提交 I/O 控制码 (IOCTL) ,以此实现对外部设备的控制。
应用程序界面
MFC
多线程技术 GDI绘图
图像呈现区域
用户控制区域
系统整体图
系统板
主机应用程序
系统测试——速度测试
图 4-2 接收固定大小数据传输速度测试
图 4-3 连续数据采集传输速度测试
系统测试——图像测试
总结
深入了解了 USB2.0 技术,并将其与本专业实际需要要结合设计了一个基于USB 控制器的图像传输系统。
完成了 USB2.0 控制芯片 CY7C68013 及 CMOS 图像传感器的应用电路设计。熟练掌握电路原理图设计、 PCB板的制作、焊接以及电路调试的整个过程。
编写了 CY7C68013 的固件程序。采用图形化设计工具 GPIF Designer ,直观地设计出了系统所需的 GPIF FIFO读写波形,实现了对 CMOS 图像传感器工作时序的控制以及图像数据的高速传输。
利用 Microsoft Visual C++6.0 编写了简单的客户端应用程序,实现了 CMOS图像数据的呈现。
谢谢各位评审老师!Thanks For Your Attention !