您的位置 首页 电子

一种根据CY7C68013的纳米粒度

USB 2.0特点USB全称是Universal Serial Bus,中文简称通用串行总线,是应用在计算机上的一种新型的接口技术。USB 最早于 1994 年底由Intel、IBM、Compad、D

USB 2.0特色

USB全称是Universal Serial Bus,中文简称通用串行总线,是应用在核算机上的一种新式的接口技能。USB 最早于 1994 年末由Intel、IBM、Compad、DEC、NEC、Microsoft、Northern Telecom等7家公司联合提出。其意图便是为了经过替代现有核算机接口,处理当时外部设备通讯中存在的各种问题,一同经过简化核算机与外围设备的衔接,然后更大程度上完成对核算机的扩展。

在USB发生之前,核算机接口技能现已有必定程度的开展,现已呈现了一系列的通讯接口,如RS 232、RS 485、ISA、PCI和并行接口等接口,这些旧式的接口存在品种繁复、体积大、规范不共同、不支持热插拔等缺点,运用不方便,不合适如今接口通讯技能的开展需求。因而,越来越多的设备都开始运用USB接口来完成,如鼠标、USB键盘、MP3、数码相机、打印机、印刷机等。在实践规划作业傍边,也越来越多地选用了USB技能,如数据收集、图画收集等。

USB接口芯片CY7C68013A

在实践电路中,咱们运用的USB接口芯片是CY7C68013A,完成FPGA和PC机的通讯。CY7C68013A是赛普拉斯公司的EZ-USB FX2LP系列芯片。这个系列的芯片是世界上第一个集成USB 2.0协议的微处理器,一同向下兼容USB 1.1。此兼容USB通讯协议的处理器既能够作为一般处理器相同对设备进行操控,又能够完成与上位机的通讯,这样规划的优点能够简化硬件电路,降低成本。该芯片包含1个增强型8051、串行引擎(SIE)、16KB的RAM、4KB的FIFO、多组规范I/O口、数据总线、地址总线、1个USB 2.0 收发器及1个通用可编程接口。

EZ-USB FX2LP枚举和重枚举

每个USB设备都有自己独有的VID与PID,不同的ID可用来区别不同的USB设备,这样能够防止不同USB产品形成紊乱。USB芯片都有默许的VID、PID,但实践运用中咱们需求界说自己的VID与PID,它们一般存储在外接的EEPROM中,这个进程是USB产品开发一切必要阅历的阶段。

CY7C68013A芯片作业时程序与数据都是放在片内的RAM中的,当芯片上电后,固件程序与数据会主动下载到RAM中,当芯片掉电后,RAM 中的一切程序和数据都会消失。当芯片刚刚上电时,USB设备被依照缺省的设备进行装备,默许的固件代码被加载到芯片的RAM中,这个主动装备USB设备的进程被称为“枚举”。

对EZ-USB来说,枚举进程便是USB上电复位到加载固件前这段进程,此刻USB设备地址号为默许的0号,枚举完成后,驱动为cypress…eeprom…missing。然后加载固件,进行重枚举,重枚举完成后,显现驱动为cypress…ez-usb…example或其他自界说设备。

固件体系框图

整个体系的硬件框图如图1所示。能够看出USB操控体系在整个体系中起到桥梁效果,用于衔接上位机和外部设备。

图1 体系硬件框图

上位机发送操控指令给USB设备,信息处于下行状况,解码后用来操控外围设备履行相应功用。上位机需求从外设取得信息(如数据收集),信息处于上行状况,由USB设备担任操控外设并将数据传送到上位机,由上位机剖析、显现。

本规划选用FPGA同步操控和SlaveFIFO接口形式。图2为USB与FPGA模块的硬件规划框图。

图2 USB芯片与FPGA接口衔接框图

USB芯片作业在Slave FIFO时,FPGA模块和USB模块直接接口,经过并行数据线和操控线完成数据交互。本规划选用27根信号线,分别是16根数据线 DATA[15:0],3根标志状况线FLAGA、FLAGB和FLAGC,还有7根操控线IFCLK、USB_FIFOADR[1:0]、USB_SLCS、USB_SLOE、USB_SLWR和USB_SLRD。FPGA 模块操控整个数据流。FPGA模块在向USB模块操控发送数据的时分,经过操控线FIFOADR[1:0]挑选输出到USB模块内 FIFO的地址线。图3为FPGA模块同步向USB写数据时序图。

图3 FPGA模块同步向USB写数据时序图

驱动程序

关于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有必要和描绘符中的共同,才能够主动加载对应固件。

上位机界面规划

界面程序在VC++6.0环境下开发,该环境具有编程简略、方便等的特色,便于开发可视化程序。Cypress公司为EZ_USB系列芯片供给了开发库CyAPI.lib,运用其间的操控函数类,能够在VC++6.0环境下开发界面程序。树立MFC工程后,在工程中参加CyAPI.lib,并且在主文件头部增加EZ-USB开发环境中供给的CyAPI.h头文件。运用库中的操控函数,如VendorID、ProductID等,能够获取USB设备的描绘信息,一同也能够编写相关的操控功用程序。

USB主机程序能够运用Cypress供给的CyAPI.lib库来进行编程,CyAPI.lib对应Cypress供给的驱动程序CyUsb.sys,为其供给了简略并且功用强大的C++编程接口,经过CyAPI.lib库供给的函数,能够对USB设备进行读写操作,这些函数主要是Open、Close和XferData。

界面中的CheckoutEquipment分类框中为USB描绘相关信息,由主机经过规范恳求取得。上位机向FPGA发送指令后,经过接纳按键,上位机能够接纳到FPGA内部的数据,并在编辑框中显现出来。

图4 数据接纳界面

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/dianzi/286491.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部