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

发布者:雅致小筑最新更新时间:2013-09-11 来源: dzsc关键字:CY7C68013A  USB  控制系统 手机看文章 扫描二维码
随时随地手机看文章

     引言

  通用串行总线(Universal Serial Bus,USB)作为计算机上的新型接口技术,越来越受到人们的青睐。与以前的RS 232,RS 485,ISA,PCI和并行接口等接口相比,USB避免了接口体积大、接口规范不统一、不支持热插拔等缺陷,具有使计算机与外部设备连接十分方便的优点。目前,很多设备都开始使用USB接口来实现,如鼠标、键盘、打印机等。在实际设计工作当中,也越来越多地采用了USB技术,如数据采集等。USB的设计和应用已经成为现代电子设计中一个非常重要的部分。

  1 USB 2.0特点

  USB是一种高效、快速、价格低廉、体积小的新型串行通信接口,其最大的特点是支持热插拔,可以在不重新启动计算机的情况下直接将USB外部设备连接到计算机并开始通信。

  USB具有以下主要特点:

  (1)节省系统资源。在计算机中,系统为USB主控制器分配一根中断控制线和一些输入/输出地址,USB再为外部设备分配惟一的地址。

  (2)可以提供电源。计算机上的USB接口可以向外部设备提供一定的电力支持,其输出电流最小值为100 mA,最大值为500 mA,输出电压为5 V。

  (3)良好的兼容性。USB规范已经有USB 1.0,USB 1.1,USB 2.0,无线USB等多个版本的协议,这些协议都有很好的向下兼容性。

  (4)共享式接口。USB采用“菊花链”式的连接方式,同时支持多个设备的连接,一个USB主控制器最多可以连接126个外部设备。

  2 CY7C68013A的主要特点

  CY7C68013A是Cypress公司的EZ-USB FX2LP系列低功耗版本单片机,具有和8051兼容的CPU和指令系统,同时包括USB接口和完整的USB 2.0协议引擎,并且提供了完善的固件及主机程序开发包。该单片机的CPU采用的是增强型805l内核,比标准的8051的速度快,硬件资源更为丰富,功能更强大。主要具有以下特点:

  (1)具有第二个数据指针;

  (2)具有第二个USATRT;

  (3)I2C总线接口;

  (4)8个额外的中断(INT2~INT6,WAKEUP,T2,USARTl);

  (5)CPU时钟可以运行在12 MHz,24 MHz,48 MHz。

  3 控制系统设计

  基于USB的控制系统设计主要包含两个方面的内容,分别为固件程序的开发和上位机(主机)控制界面的设计。CY7C68013A芯片采用的是一种软配置模式,即程序和数据都存放在内部RAM中,并从RAM中开始执行。

  3.1 启动模式的选择

  EZ-USB在没有固件的情况下列举为一个缺省的USB设备,并且将其固件和描述符等下载到EZ-USB后,开始执行固件程序,此时模拟一个物理上的断开重新连接过程。在列举为一个USB设备时,根据芯片有没有连接E2PROM,以及E2PROM中第一个字节值的不同,其处理方式有很多。主要有:不连接E2PROM的缺省设备列举、CO加载、C2加载等启动方式。在此系统的设计过程中,采用第一种方式,即芯片没有连接任何片外存储器,USB的描述符以及VID,PID和DID等均由芯片内置的逻辑提供,然后根据驱动程序中提供的VID,PID和DID把主机上对应的固件程序下载到片内的RAM中,并执行固件代码。该方式具有硬件连接简单,节省器件等特点。

  3.2 硬件系统框图

  整个系统的硬件框图如图1所示。可以看出USB控制系统在整个系统中起到桥梁作用,用于连接上位机和外部设备。


  上位机发送控制指令给USB设备,信息处于下行状态,解码后用来控制外围设备执行相应功能。上位机需要从外设获得信息(如数据采集),信息处于上行状态,由USB设备负责控制外设并将数据传送到上位机,由上位机分析、显示。

  3.3 固件程序设计

  在固件中,主要实现芯片外围设备的控制,以及对USB设备的功能描述等任务,同时负责与上位机通信,响应上位机的标准请求和自定义请求。

  描述符主要是让上位机了解USB功能设备的基本配置信息和能力,如端点、接口等。在此主要使用标准描述符来说明USB设备,如设备描述符、配置描述符、接口描述符、端点描述符、设备限定描述符等。在该设备中,这些描述符的层次结构如图2所示。[page]


  系统中使用了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口接高/低电平,用于主机读取该口数据,可以验证主机接收数据的正确性。[page]

  初始化子程序:


  主机控制界面运行如图4所示。


  界面中的USB Information分类框中为USB描述相关信息,由主机通过标准请求获得。Operation分类框中为主机向USB设备PA口发送数据,以及从USB设备的PB读取数据的情况。

  6 结语

  采用CY7C68013A实现USB控制系统,无论在固件程序编写、主机控制界面开发,以及设备驱动程序的使用等方面,都具有简单、方便的优点。系统采用设备固件存放在主机上的方法,不但简化了硬件设计,节约元器件成本,而且也提高了设备的可靠性。同时,此法对以后固件升级或更改设备功能,也十分简便,只需把固件修改好并放到主机相应位置,在USB设备再次插入主机时,就可以实现固件自动更新。文中给出一些设计过程中需要注意的关键问题,对于USB控制设备的设计具有一定的指导作用。上述系统和程序经过实际运行,工作稳定、可靠。

关键字:CY7C68013A  USB  控制系统 引用地址:基于CY7C68013A的USB控制系统设计研究

上一篇:USB 总线接口芯片CH375的特点、封装及引脚
下一篇:基于ISP1581的USB数据采集系统的实现

推荐阅读最新更新时间:2024-05-02 22:46

电机驱动 控制系统
一.引言 国际能源机构IEA曾经声称全球45%的电能是电机所消耗的。在中国,这个比例是54%。这一方面反映了电机的使用是如此广泛,另一方面也敦促业界开发和使用更高效的电机。为了满足机电工程师对电机驱动和控制系统的测试需求,力科公司新推出基于8通道、12bit示波器的电机驱动和控制系统测试平台HDO8000。 图1 电机驱动和控制系统测试平台HDO8000 二. 电机测试需求分析 下图是一个典型的电机驱动和控制系统框图,大致分为功率驱动部分、电机控制部分、电机和传感器部分。 图2 一个典型的电机驱动和控制系统 功率驱动部分 图2 中的功率驱动部分是一个典型的级联H-bridge驱动电路。将其
[电源管理]
电机驱动 <font color='red'>控制系统</font>
USB-CAN-RS232总线转换电路设计及实现
1 引言 随着电子设备的大量出现及针对各种控制系统的实际需求,各种通信网络相继产生。由于它们的总线结构,通信协议及传输特点各不相同,给不同设备之间的连接带来很多麻烦,因而急需各种总线之间的转换装置。目前较流行的现场通信网络有RS-232,RS422/485、HART、Profield、Dupline、CAN和LonWorks等,本文阐述了一种USB-CAN-RS232三总线转换装置,电路设计简单新颖,并并且携带方便,实用性很强。 2 各种总线的特点 2.1 CAN(Controller Area Netwrok) CAN是控制器局域网络,属于工业现场总线的范畴。与一般的通信总线相比,CAN总线的数据
[单片机]
usb 标志的起源
USB 你可能每天都会在各种设备上看到 USB 的图标,从 U 盘、数据线到笔记本电脑,它的设计起源由是哪里呢? 1994 年,康柏、IBM、英特尔、微软和 DEC 等几家公司计划开发一种通用的数据交换接口,以取代当时各种电脑上互不兼容的各种数据接口。1995 年,英特尔工程师  Ajay Bhatt  开发出第一个通用串行总线(USB)接口。1996 年,作为行业标准的《 USB 1.0 细则 》正式发布。 根据《USB 1.0 细则》,USB 图标设计灵感是来自罗马神话中的海神尼普顿(Neptune)(也是海王星的名字)的武器「三叉戟」,一支强有力的三齿鱼叉。 (上图:手握三叉戟的海神尼普顿雕像)
[嵌入式]
工业控制系统通信技术概述
  计算机系统中,计算机之间或计算机与外部设备交换信息称之为通信。通信的方式有两种,分别是:数据各位同时传送的并行通信方式和数据各位依次传送的串行通信方式。     工控系统通信类型主要是根据系统构成的层次结构而分成3种基本通信方法,即标准通信总线(外总线)、现场总线(丘eldbus)和局域网通信。工控系统通过这3种类型的通信方法将主机与各种设备连接起来,将现场信号传输到控制级,再将控制级信息传输到监控级,管理级,形成了系统信息传输的神经网络,完成了从低层到上层信息共享的目的。     如果系统需要进一步扩大,可以从局域网(LAN)发展到广域网(WAN),执行x 25通信协议。     工业控制计算机的总线包括系统总线和通信总线;系
[嵌入式]
基于PROFIBUS-DP的PLC控制系统在斗轮堆取料机中的应用
        1. 前言         斗轮堆取料机,是大型散装物料装卸机械,广泛用于港口、矿山、钢厂、电厂等大宗散料如矿石、煤、砂石等在存储料场的堆放、提取作业,其工作连续性强,操作频繁。斗轮堆取料机传统的开关量顺序控制, 是采用继电器和接触器构成的逻辑控制装置, 这种传统的控制装置能在一定的范围内满足自动控制的需要,但因需要大量的触点装置和电缆使其控制线路过于繁复、可靠性差和维修难度大。PLC 以其稳定的性能、低廉的成本、强大的功能及方便的编程等特点广泛应用于工业控制领域。         本文采用西门子触摸屏TP270 ,西门子 S7-300 可编程控制器, Profibus-DP ( 分布式I/O) 控制机上的各执行机构
[嵌入式]
基于MSP430单片机和CH376USB接口的信号采集存储系统
在现代控制系统中,经常需要在操作现场进行数据采集,以及对数据进行处理来实现现场控制,但是由于单片机数据存贮容量和数据处理能力都较低,因此本文主要介绍了使用USB总线通用接口芯片CH376和16位单片机MSP430对天线发射的信号进行数据采集处理,并且能够将这些大容量的数据以.txt文本格式实时的存储到U盘中,然后能在上位机上方便的打开查看和应用。这样就可以很容易的实现把单片机所采集的数据传送到PC机上,再在PC机上进行数据处理,充分发挥两者各自优势。 本文首先要设计出天线方向图的自动测试系统。通过这个天线参数自动化测量系统准确地发送和接收信号,从而进行数据的采集处理和存储等。早期的天线测试主要依靠手工,误差大、效率低。随着计算机
[单片机]
基于MSP430单片机和CH376<font color='red'>USB</font>接口的信号采集存储系统
基于uC/OS-II的变频器结构控制系统设计
本文介绍了抽油电机变频器变结构控制系统功能原理,如何利用uC/OS-II的多任务功能实现控制系统的算法结构变换,操作系统的移植、多任务的建立和SDK下的软件设计;最后总结了在应用中需注意的问题。   在油田生产中为了节省电能并减小故障率,变频器得到越来越多的应用。但由于油井负载的非周期大脉动性质,从能量的流向来看,变频器有两种运行状态——电动运行和回馈制动。不同运行状态的控制变量和控制方法是不同的,这就要采用所谓的变结构控制。本应用是实现抽油电机变频驱动中的变结构控制,不同的控制结构通过任务间的切换实现。   系统控制核心采用DSP56F803,它是Motorola公司推出的16位DSP型微控制器,运算速度可达40MIPS,片内资
[工业控制]
基于uC/OS-II的变频器结构<font color='red'>控制系统</font>设计
通用汽车申请新专利 可检测乘员衣物的气候控制系统
据外媒报道,通用汽车(GM)向美国专利商标局(USPTO)提交了新的专利申请。该专利是一种气候控制系统,可以检测到乘员的着装,并据此调节车内温度。 该专利描述的气候控制系统包含一个存储系统、一个补偿模块和气候控制模块,其中存储系统存储了一系列由车载传感器捕获的图像。随后,补偿模块将评估捕获的图像,以估计第一个乘员的“服装状况”。此外,该模块还可以从边缘计算设备或基于云的网络接收服装状况。然后,该系统可以根据这些数据确定最佳车舱温度设定点,并适当调整车载气候控制参数和区域。
[汽车电子]
通用汽车申请新专利 可检测乘员衣物的气候<font color='red'>控制系统</font>
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved