• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 基于CY7C68013A的USB控制系统设计研究

基于CY7C68013A的USB控制系统设计研究

录入:edatop.com     点击:

系统中使用了2个配置描述符,分别为高速配置和全速配置,每个配置使用1个接口,并对应1个接口描述符,每个接口应用了4个端点,对应4个端点描述符。同时端点配置为块传输模式,2、4端点为OUT,6、8端点为IN,最大数据包长度为512 B,上位机通过O端点来操作、控制USB设备。设备描述符中VID=Ox04B4,PID=0x1304,用于指示设备供应商和产品信息,并用于上电时帮助主机加载合适的驱动程序,进而下载相应的固件程序。固件中对标准请求的响应部分,主要是让上位机能够对描述符进行读取和写操作。自定义请求响应主要实现上位机发送控制命令,来使能USB功能设备、以及执行相应的功能的目的,如DR_SendData,DR_ReadData。

固件设计流程图如图3所示。

\

用户初始化设备部分放在TD_Init()子程序中,负责整个USB设备的初始化过程。在定向描述符之后,需要把所用中断打开,并开启8051全局中断EA=1。由于EZ-USB设备启动需要重列举,因而需要通过设置和判断USBCS寄存器的RENUM和DISCON位来模拟设备物理上的断开和连接过程。用户外围设备控制功能的实现放在TD_Poll()子程序中,同时主循环中的SetupCommand()子程序用于接收、分析上位机的控制信号,响应上位机请求(标准请求和用户自定义请求)。

3.4 上位机界面设计

为了能够很好地控制USB设备,需要编写上位机控制界面。界面程序在VC++6.O环境下开发,该环境具有编程简单、快捷等的特点,便于开发可视化程序。Cypress公司为EZ_USB系列芯片提供了开发库CyAPI.lib,使用其中的控制函数类,可以在VC++6.0环境下开发界面程序。建立MFC(exe)工程后,在工程中加入CyAPI.lib,并且在主文件头部添加EZ-USB开发环境中提供的CyAPI.h,cyioctl.h头文件。利用库中的控制函数,如VendorID,ProductID等,可以获取USB设备的描述信息,同时也可以编写相关的控制功能程序。

3.5 系统设计中关键问题

(1)一个设备只能有一个设备描述符,可以有多个配置描述符,多个接口描述符,以及多个端点描述符。
     (2)设备描述符中VID,PID要与驱动中的相一致,否则不能自动加载相应的固件程序。
     (3)固件程序必须转换为.spt格式,用于固件加载的驱动程序和固件程序应放在一个文件夹。
     (4)端点0为缺省控制端点,其可设置最大数据包长度为64 B,在设备描述符中wMaxPacketSize字段描述。
     (5)传输模式有中断传输、块传输、同步传输、控制传输四类,需根据自己设计需求选择,同时注意最大数据包长度的设置。

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 实验

实验系统,采用CY7C68013A-56pin作为USB设备芯片,实现控制LED和读取I/O数据功能。由于芯片采用3.3 V电压供电,因此可以从主机USB口取电,经LM317电压调整芯片转换为3.3 V,也可外接3.3 V电压供电。在PD口接LED,显示TD_Poll(void)实现的功能(灯亮/灭间隔300 ms),而PA口LED用于显示判断主机发送数据。PB口接高/低电平,用于主机读取该口数据,可以验证主机接收数据的正确性。

初始化子程序:

\

 

作者:赵铁军   来源:现代电子技术

上一篇:宽带ADSL质量环境差的障碍原因及改善方法
下一篇:浅析影响ADSL开通质量的原因和解决方法

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图