c语言sscanf函数的用法是什么
256
2022-11-23
采用CY7C68013A实现USB控制系统
引言
1 USB 2.0特点
USB是一种高效、快速、价格低廉、体积小的新型串行通信接口,其最大的特点是支持热插拔,可以在不重新启动计算机的情况下直接将USB外部设备连接到计算机并开始通信。
USB具有以下主要特点:
(1)节省系统资源。在计算机中,系统为USB主控制器分配一根中断控制线和一些输入/输出地址,USB再为外部设备分配惟一的地址。
(3)良好的兼容性。USB规范已经有USB 1.O,USB 1.1,USB 2.O,无线USB等多个版本的协议,这些协议都有很好的向下兼容性。
(4)共享式接口。USB采用“菊花链”式的连接方式,同时支持多个设备的连接,一个USB主控制器最多可以连接126个外部设备。
2 CY7C68013A的主要特点
(1)具有第二个数据指针;
(2)具有第二个USATRT;
(4)8个额外的中断(INT2~INT6,WAKEUP,T2,USARTl);
3 控制系统设计
3.1 启动模式的选择
3.2 硬件系统框图
整个系统的硬件框图如图1所示。可以看出USB控制系统在整个系统中起到桥梁作用,用于连接上位机和外部设备。
上位机发送控制指令给USB设备,信息处于下行状态,解码后用来控制外围设备执行相应功能。上位机需要从外设获得信息(如数据采集),信息处于上行状态,由USB设备负责控制外设并将数据传送到上位机,由上位机分析、显示。
3.3 固件程序设计
在固件中,主要实现芯片外围设备的控制,以及对USB设备的功能描述等任务,同时负责与上位机通信,响应上位机的标准请求和自定义请求。
描述符主要是让上位机了解USB功能设备的基本配置信息和能力,如端点、接口等。在此主要使用标准描述符来说明USB设备,如设备描述符、配置描述符、接口描述符、端点描述符、设备限定描述符等。在该设备中,这些描述符的层次结构如图2所示。
固件设计流程图如图3所示。
3.4 上位机界面设计
3.5 系统设计中关键问题
(1)一个设备只能有一个设备描述符,可以有多个配置描述符,多个接口描述符,以及多个端点描述符。
(2)设备描述符中VID,PID要与驱动中的相一致,否则不能自动加载相应的固件程序。
(3)固件程序必须转换为.spt格式,用于固件加载的驱动程序和固件程序应放在一个文件夹。
(4)端点0为缺省控制端点,其可设置最大数据包长度为64 B,在设备描述符中wMaxPacketSize字段描述。
4 驱动程序
对于USB设备,Windows操作系统要想对其实现操作,必须借助于驱动程序来实现。主机和驱动程序直接通信,交换数据,而驱动程序则和硬件资源进行通信,从而很好地控制USB设备。Cypress提供的开发环境中自带了相关的驱动程序CyLoad.sys和CyUSB.sys,可以直接使用,缩短了系统的开发周期。其中CyLoad.sys用于主机向USB设备下载固件程序,CyUSB.sys实现主机和固件程序通信。为了在CyLoad.sys的帮助下实现固件的自动下载,固件程序CyLoad.HEX必须转换为适合自动下载的CyLoad.spt文件,并且与CyLoad.sys一起放在CyLoad文件夹下,拷贝到系统system32目录下。在安装文件CyUSB.inf中设置的PID,VID必须和描述符中的一致,使得能够自动加载对应固件。
5 实验
初始化子程序:
主机控制界面运行如图4所示。
6 结语
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~