0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于CY7C68013与GPIF模式的USB2.0数据传输系统的设计

电子设计 来源:郭婷 作者:电子设计 2018-12-06 09:08 次阅读

1 引 言

USB支持主计算机与许多可同时访问的外设之间进行数据交换,使外设的连接具有单一化、即插即用、热插拔等特点,已成为个人笔记本电脑和台式机的标准配置接口Cypress公司的EZ-USB FX2是一款集成 USB2.0的微处理器,它集成了USB2.0收发器、SIE(串行接口引擎)、增强的8051微控 制器和可编程的外围接口。每条指令占四个时钟周期,在48M晶振下工作时,单指令周 期为83.3ns,执行速度远快于标准的8051单片机。本文的数据传输模块采用CY7C68013 高速芯片设计的USB接口可以实现外部的存储测试电路数据的快速下载,并且上传至计 算机保存,显示,处理。这里介绍CY7C68013的GPIF接口功能及其在设计中的实现机理。

2 硬件连接设计

2.1系统连接框图及硬件各部分功能

系统的连接框图如下图1所示:主要有计算机主机USB接口,程序存储EEPROM,内置MCU的USB接口芯片,电平转换部分组成。

硬件各部分功能:

设备接口:实现模块与测试电路的连接;

电平转换:单片机的输出和工作电压为3.3V的电压值,而设备的电压是3.3~5V之间,电平转换器件实现电压值的匹配;

USB总线控制器:采用CY7C68013接口芯片的GPI接口模式完成控制信号的发送和16bit宽度数据的读取;

串行EEPROM:存储单片机固件,并被下载到单片机。

基于CY7C68013与GPIF模式的USB2.0数据传输系统的设计

2.2硬件部分工作过程

硬件工作过程:

数据传输中核心器件是CY7C68013控制器芯片,主要完成USB的事务处理和单片机的控制功能。系统采用总线供电模式,数据传输模块连接到计算机后,上电复位后,USB功能设备以全速的模式进行设备的识别并枚举。设计中将程序存储到串行EEPROM中,主芯片首先检测I2C总线上的EEPROM,判断其首字节是0xC2,下载固件和USB的描述符标装入到自身的RAM中执行,并且根据信息设置定义设备,完成了重枚举。 CY7C68013包含8.5KB的片上RAM,可以用于“软配置”,4KB的FIFO存储器可以给4个端点共享。实现数据的高速读取和传输,根据实际的需要,设计中配置了端点2采用三缓冲,使用3KB,端点4采用双缓冲使用1KB。

采用GPIF主机模式,EZ-USB FX2由软件编程输出读写控制波形,FD[15:0]双向数据总线12位与外部测试电路的静态存储器(SRAM)的相连,CTL[5:0]输出可编程控制信号,如SRAM的读写选通信号等。数据在GPIF控制下读入到CY7C68013后,在软件的配置下,完成1024字节的最大封包,输入计算机,由主机端的主控制器的串行接口引擎完成数据流串行化和解码。

3 系统软件设计

3.1GPIF接口模式

FX支持3种接口方式:端口、Slave FIFOs和可编程接口GPIF。

在“端口”模式下,所有I/O引脚都可作为8051的通用I/O口。在“从FIFO”模式下,外部逻辑或外部处理器直接与FX2端点FIFO相连。在这种模式下,GPIF 不被激活,这种模式下,外部主控端既可以是异步方式,也可以是同步方式,并可以为FX2 接口提供自己的独立时钟。“GPIF主控”接口模式使用PORTB 和PORTD构成通向四个FX2端点FIFO(EP2、EP4、EP6和EP8)的16位数据接口。GPIF 作为内部的主控制器与FIFO直接相连, 并产生用户可编程的控制信号与外部接口进行通信。GPIF使用内部时钟。用户将波形文件程序存在内部RAM的程序存储区中。

根据系统需要,设计中采用GPIF接口模式将CY7C68013设为FIFO READ和SINGLE READ两种模式, 让GPIF中的端点FIFO与USB通信中端点缓冲直接建立连接, 数据的传送不再需要CPU 的参与。 根据外部测试电路的要求,适用于不同测试环境预设电路的CPLD编程信号,根据实际的测试信号的频率采用不同的采样频率,设定不同的触发电平,使用单次写模式可以完成编程数据的输出。针对的测试数据采用FIFO多次读模式,实现数据的批量传输。设计中采用48M晶振,由于静态存储器的在使能信号(OE)的上升沿后推地址(Adr),而数据在总线上的保持时间至少需要85ns,因此在波形设计中数据有效时间应该为4个时钟周期,才能够满足地址有效的要求。静态存储器读操作时序图如图2所示。

基于CY7C68013与GPIF模式的USB2.0数据传输系统的设计

3.2固件程序设计

固件是指存储在USB接口芯片或微控器中的代码,用于控制硬件系统运行,各种USB标准请求的处理,以及USB闲置模式的电源管理服务,实现主机与外设之间的通信和数据传输。主要是根据系统需求设计相应的程序框架图。Cypress 公司为FX2 固件开发提供了一个固件库和固件框架,都是在KeilC51集成开发环境下开发的,固件库提供了一些常量、数据结构、函数来简化用户对芯片的使用。C 语言环境, 同时保留了汇编代码高效、快速的特点,将代码在KeilC51环境中进行编译。编译通过后,将固件代码下载到USB单片机中,就可以实现GPIF多字节读等操作。在程序起始时,固件架构会执行下列步骤:

(1)首先,设置所有的内部状态变量。

(2)然后,调用用户的初始设置函数TD_Init()。待返回后固件架构就会设置USB接口成为未配置的状态,并且使能中断。

(3)接下来,在1秒的间隔内开始重新设备列举(ReNumerate)设备,并直到设置(SETUP)封包收到端点0为止。

(4)一旦SETUP封包被检测到,固件架构就会启动与PC主机合作的工作分配器。而这个工作分配器就会顺序重复执行下列的工作:

①调用用户函数TD_Poll()。

②判断标准设备请求是否决定。如果已决定,它将解析所收到的命令请求并加以响应。

③判断USB核心是否己经报告了USB中止(suspend)事件。

用户需要编写TD_Poll()中的代码完成特定的功能,判断USB设备枚举的状态决定每次出发FIFO波形文件的次数,数据短包的处理方式等,实现数据的读取。

3.3 应用程序的设计

应用程序编写的关键是如何实现从USB设备读取指定数量的数据以及向其发送指定的数据。另外,还有向USB设备发送USB标准设备请求和特定的命令,包括厂商定义的命令和用户自定义的命令。

大型的应用程序大部分是很多模块组成, 这些模块完成相对独立的功能,协作来完成整个软件系统的工作。部分模块的功能较为通用, 在构造其它软件系统时仍会被使用。测试系统的应用程序采用VisualBasic6.0编写,具有界面友好,操作简单的特点。

动态链接库文件的使用,需要在应用程序的全局定义变量定义模块中调用。dll文件, 应用程序会在其所在目录和系统目录下查找。dll。在声明过程中需要注意数据类型的匹配问题。

Public Declare Function

BulkRead Lib "DLL68013.dll" (ByVal pipenum As Long, ByRef rec As Integer, ByVal length As Integer) As Integer

Public Declare Function BulkWrite Lib "DLL68013.dll" (ByVal pipenum As Long, ByRef send As Byte, ByVal length As Integer) As Long

Public Declare Function OpenDevice Lib "DLL68013.dll" () As Integer

设计中结合实际需要,主要操作由动态链接库文件完成,应用程序的主要功能包括错误操作提示,接收由动态链接库读取的数据传回主界面实现数据的格式转换,数据的显示、处理等。

利用Cypress公司的USB2.0专用接口芯片CY7C68013, 完成了采用GPIF模式的通用数据传输模块的硬件与软件设计。针对原有的人机界面需要,开发了动态链接库,可以提供给不同语言编写的主机端的应用程序使用。

在系统测试中,利用信号发生器产生输入信号为正弦波,频率10Hz,测试系统的采样频率125Ksps,通过系统电路采样,存储,数据通过传输模块传入计算机,根据采集数据恢复的信号与原始信号比较,失真较小,噪声水平低,采集数据的有效位数达到12位,实验结果表明,实际的传输速率120Mbps,满足了测试系统的数据传输要求。与实验测试系统联合调试,实际采样波形如图3所示。

芯片的可编程特性提高了系统工作的可靠性, 数据不会丢失,便于数据的传输和处理。另外,USB设备具有“热插拔”和即插即用的特性具有较高的实用价值,设计的USB数据传输模块适合于旧测试系统接口的改造。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 收发器
    +关注

    关注

    10

    文章

    3399

    浏览量

    105870
  • 计算机
    +关注

    关注

    19

    文章

    7428

    浏览量

    87727
  • 微处理器
    +关注

    关注

    11

    文章

    2247

    浏览量

    82326
收藏 人收藏

    评论

    相关推荐

    两路数据传输CY7C68013都作为从机接收数据是否可行?

    我想使用CY7C68013A的GPIF和FIFO功能: 1. 两路数据传输CY7C68013都作为从机接收数据 2. 每一路都
    发表于 02-28 07:34

    USB2.0控制器CY7C68013芯片与FPGA芯片接口的Verilog HDL实现

    使用。最新的USB2.0支持3种速率:低速1.5 Mbit/s,全速12 Mbit/s,高速480 Mbit/s。这3种速率可以满足目前大部分外设接口的需要。 本文介绍了目前使用较多的USB2.0控制器CY7C68013
    发表于 05-10 07:00

    怎么实现USB2.0微控制器CY7C68013GPIF接口设计?

    本文介绍的基于USB2.0控制器CY7C68013GPIF接口设计,就是充分利用了该芯片这一独特的数据传输接口方式,有效地解决了在传统接口方式下U
    发表于 05-26 06:47

    基于CY7C68013的高速数据传输系统该如何去设计?

    本文介绍一种基于CY7C68013的高速数据传输系统的设计方案。
    发表于 06-02 06:08

    USB2.0控制器CY7C68013特点与应用

    介绍USB2.0 协议以及Cypress 公司推出的USB2.0 控制器CY7C68013USB2.0 协议提供480Mb/s 的传输速度
    发表于 04-16 14:08 45次下载

    基于CY7C68013USB数据采集系统

    本文介绍了高速USB2.0芯片CY7C68013的特点。设计出一种主要由CY7C68013与Altera公司EP1C6芯片构成的USB2.
    发表于 09-14 14:33 133次下载

    USB2.0控制器CY7C68013特点与应用

    介绍USB2.0协议以及Cypress公司推出的USB2.0控制器CY7C68013USB2.0协议提供480Mb/s的传输速度,向下完全
    发表于 11-28 13:41 55次下载

    USB2.0接口芯片CY7C68013的固件程序开发

    USB2.0接口芯片CY7C68013的固件程序开发  摘要:USB2.0接口技术为外设与主机之间提供了一种灵活高效的双向数据通道。可广泛地应用于
    发表于 04-11 16:59 4766次阅读

    USB2.0控制器CY7C68013的接口设计实现

    USB2.0控制器CY7C68013的接口设计实现   1 引言   USB (Universal Serial Bus)接口以其速度快、功耗低、支持即插即用(Plug & Play)、使用安装方便等优点而得到
    发表于 01-21 10:00 1417次阅读
    <b class='flag-5'>USB2.0</b>控制器<b class='flag-5'>CY7C68013</b>的接口设计实现

    基于CY7C68013的CCD图像传输系统

    针对面阵CCD 图像的特点,提出了一种基于CY7C68013 的图像实时传输系统系统从面阵CCD 模块中直接获取数字图像信号,利用CPLD 控制图像
    发表于 05-17 17:36 100次下载
    基于<b class='flag-5'>CY7C68013</b>的CCD图像<b class='flag-5'>传输</b><b class='flag-5'>系统</b>

    基于CY7C68013A的并口转USB数据采集系统设计

    设计了一个以 CY7C68013A 为接口芯片的并口转USB口的数据采集系统,讨论了CY7C68013A的性能及
    发表于 08-29 14:26 0次下载
    基于<b class='flag-5'>CY7C68013</b>A的并口转<b class='flag-5'>USB</b>口<b class='flag-5'>数据</b>采集<b class='flag-5'>系统</b>设计

    基于USB2.0芯片CY7C68013的高速数据通信接口设计

    利用USB2.0接口芯片CY7C68013实现了语音信号处理系统中DSP与PC机的高速通信,简要介绍了CY7C68013的功能结构以及与TMS320
    发表于 09-21 11:41 177次下载

    USB2.0微控制器CY7C68013数据采集系统的设计

    USB2.0微控制器CY7C68013数据采集系统的设计
    发表于 01-22 14:10 30次下载

    基于CY7C68013USB2.0数据传输模块设计

    基于CY7C68013USB2.0数据传输模块设计.
    发表于 01-22 14:27 37次下载

    USB2.0微控制器CY7C68013GPIF接口设计资料下载

    电子发烧友网为你提供USB2.0微控制器CY7C68013GPIF接口设计资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们
    发表于 04-10 08:43 20次下载
    <b class='flag-5'>USB2.0</b>微控制器<b class='flag-5'>CY7C68013</b>的<b class='flag-5'>GPIF</b>接口设计资料下载