网站首页 | 技术文章 | 解决方案 | 电子书籍 | 下载中心 | 电子商城 | 技术论坛 | 电子博客 | 商务信息  
联系站长
加入收藏
会员登陆
交易首页 最新信息 - 推荐信息 - 热门信息 - 免费发布 - 行业新闻 - 行业资讯 - 行业知识 - 积分说明 - 信息分类 - 企业展示 - 帮助
 您的位置: 中国电子设计 >> 技术文章 >> 接口电路 >> 正文 商务信息栏目开通公告  [2008-05-19 11:47:00]
   □  简易USB接口卡的设计和实现   
简易USB接口卡的设计和实现
[作者:杜鹏 秦丽 马游舂 鲍爱达    转贴自:微计算机信息    点击数:    更新时间:2008-5-12
【字体:
摘要:本文主要介绍对CY7C68013 USB接口芯片的应用,以及用CPLD实现 CY7C68013 USB接口芯片控制的扩展和基本应用程序的实现。
关键字:USB接口、CPLD 、扩展控制、WDM驱动

目前比较常用的方法是在PC机或工控机内安装ISA或PCI数据采集卡(如A/D卡及422,485卡).但这些数据采集卡存在安装麻烦,受计算机插槽数量、地址、中断资源的限制,可扩展性差等缺点特别是在一些电磁干扰较强的工业现场。随着USB总线的发展和应用以及USB接口芯片出现,现在USB接口卡应该是一个即实用又方便的选择了。这项设计实现的是一个动态采集和存储系统的计算机通信接口卡,基本上可分为CY7C68013 USB接口芯片、CPLD芯片扩展控制部分、软件的实现部分。

一、              整体结构图

                                                                                                       

                                图1-1

USB设备包含一些向主机软件提供一系列USB 设备的特征和能力的信息的设备描述符,用来配置设备和定位USB 设备驱动程序。这些信息确保了主机以正确的方式访问设备。通常,一个设备有一个或多个配置( Conf iguration) 来控制其行为。配置是接口( Interface) 的集合,接口指出软件应该如何访问硬件。接口又是端点( endpoint) 的集合,每一个与USB交换数据的硬件就为端点,它是作为通信管道的一个终点. 图1-1就是整个动态采集和存储系统中的USB接口连接部分的基本框。在计算机上的应用程序通过调用USB驱动从接口中读取数据,读到输入缓冲区中。计算机通过接口采数存数并发出控制信号然后由驱动程序通过接口将其转换为电压信号,而接口卡则是将其有限的控制信号进行扩展而且转换为USB设备可以正常接收的电压信号,使被控制部分执行相应的操作由于CY7C68013 USB接口芯片厂商提供了基本的固件程序所以用户只需编相应的应用程序和简单的驱动程序就可以实现一般用户要实现的基本功能,如果有特殊的需要只需稍加修改。所以CY7C68013 USB接口芯片是一款使用起来快速方便又简单的USB接口芯片。

二、芯片

    EZ2USB FX2是一款集成USB2. 0的微处理器,它集成了USB 2. 0收发器、SIE (串行接口引擎) 、增强的8051微控制器和可编程的外围接口(GP IF) 。FX2这种独创性结构可使数据传输率达到56Mbp s,即USB 2. 0允许的最大带宽。在FX2中,智能SIE可以硬件处理许多USB 1. 1和USB 2. 0协议,从而减少了开发时间和确保了USB 的兼容性。GP IF ( General Pro2grammable Interface)和主/从端点F IFO ( 8 位或16 位数据总线)为ATA,UTOP IA, EPP, PCMCIA,DSP等提供了简单和无缝连接接口。EZ2USB FX2 CY7C68013内部的微处理器是一个增强的8051内核,内部的RAM可用于存储程序和数据,使EZ2USB具有软配置特性。USB主机(如PC机)通过USB总线将8051程序代码和设备描述符装载到RAM中后, EZ2USB使用已下载的固件程序中定义的外设特性进行重枚举。内置的8051 处理器,相对标准的8051处理器有以下改进:

(1)独立的地址总线和数据总线,总线周期为四个时钟;

(2)双数据指针和自动指针可用于存储器之间的快速数据传输,提高数据传输效率;

(3)通用可编程接口(GP IF) ,可以直接连接到并口( 8位和16位) ,可编程波形描述符和配置寄存器;支持多个Ready输入和Control输出;

(4)矢量USB中断,独立的数据缓冲区供Setup 包和Data包控制传输;

(5)四个F IFO,可与ASIC和DSP等无缝连接;

(6)扩展的中断系统支持13 个中断源,并支持F IFO 和GP IF自动矢量中断;

(7)一个I2C接口;两个UART接口, 40个可配置I/O端口;

(8)三个16 位内置定时/计数器、512 字节内部寄存器RAM;

(9)外部时钟可达48MHz;

(10)芯片内部集成有8KB、外部RAM, 8051 内核使用MOVX指令访问此RAM区。

三、基本电路图的设计结构

                            图3-1基本的原理图结构

其中的主要芯片是CY7C68013,起基本的USB接口通信功能,EPM7128SQ是一款CPLD主要用来通过编程扩展控制引脚的,剩下的芯片都是起电压转换给CY7C68013和CPLD芯片供电用的或一些起稳压和调理作用的。一般USB接口的通信可以通过驱动程序将其设为高速或低速形式,只要在接口卡上给出一个电压判断信号进行确认是高速还是低速的就可以在驱动里加以判断自动进行速度的调整。

四、程序

程序的大体结构如图4-1所示:

                                                                                    

         

                                  图4-1

固件程序是芯片厂家提供的在此就不做详细介绍了。

本项设计的驱动程序是WDM模型的驱动程序及应用程序是用VC++编的,采用动态库与驱动程序进行通信的。应用程序是通过API函数和驱动程序进行通讯的。本驱动程序的主要功能是控制USB设备上的读写、擦除和一些检查等功能。

如下所示的基本驱动程序读写控制函数和相应的驱动体系结构:

1) 初始化例程DriverEntry ()

设备驱动程序与应用程序不同,它没有main () 或WinMain () 函数,而是有一个名为DriverEnt ry ()的入口函数,它通常完成一些初始化工作。当设备驱动程序被加载时,操作系统调用这个入口。在该例程中,需要初始化Dispatch (分派) 例程入口函数。

2) 创建设备例程AddDevice ()

大多数的PDO 都是在PnP 管理器调用该程序入口点时被创建的。插入新设备后,系统启动时,总线枚举器会发现总线上的所有设备,会自动寻找并安装设备的驱动程序,并由驱动程序中的处理PnP功能模块自动处理AddDevice () 例程及其他PnP 消息。此例程使用IoCreateDevice () 函数创建设备对象,再使用IoRegisterDevice Interface () 函数将设备组成为一个特定的设备接口,然后使用IoAttachDe2viceToDeviceStack () 函数关联设备栈。

 


                             图4-2WDM型的USB驱动体系框架

DeviceIoControl(

HANDLE  hDevice,

DWORD  dwIocontrolcode,

LPVOID   IpInBuffer,

DWORD   nInBuffersize,

LPVOID   IpOutBuffer,

DWORD  nOutBuffersize,

LPDWORD  IpBytysReturned,

LPOVERLAPPED  IpOverLapped

);

NTSTATUS JXQIF::AddDevice(PDEVICE_OBJECT Pdo)

{

JXQIFDevice * pDevice = new

static_cast(KUnitizedName(L"JXQIFDevice", m_Unit)),

FILE_DEVICE_UNKNOWN,

NULL,

0,

DO_BUFFERED_IO

)

还有CreatFile,ReadFile,WriteFile,CloseFile 等。

                            图4-3应用程序的一个基本主界面。

五、结论

本文作者的创新点为对USB驱动程序进行了很好的裁减,而且配合上位机软件进行了传输速度的判断和选择,且结合实际的高速和低速采集系统做出了两种速度的选择。此接口卡留有多余的控制接口可以进行再扩展,可以实现对PROM、FPG进行读取,可以实现大容量存储的高速读取。此采集卡留有插槽可以在采编器和一些存储器上简单的插接就可以和电脑的USB口进行通信了。文章介绍了应用CY7C68013 USB接口芯片做一个简单的USB接口卡,以及对其程序的实现结构做了个大体的介绍和本设计的硬件实现工作做了个详细介绍,经过实验室的应用得出CY7C68013 USB接口芯片做简易USB接口卡到应用程序的开发是比较简接和方便,且可以达到较高的数据传输速度,而且系统的稳定性好和易于扩展。随着USB 技术的不断发展和完善,已经使其逐渐成为先进总线接口技术的标志和方向。

 

参考文献:

1  J an Axelson. USB 大全. 北京:中国电力出版社,2001.

2  Chris Cant . Windows WDM 设备驱动程序开发指南. 北京:机械工业出版社,2003.

3  KAURA V1 , BLASKO V1Operation of a phase Locked Loop System Under Distorted Utility Conditions  1IEEE Transactions On Industry Applications ,1997 ,33(1) ,58 - 631

4  Chris Cant . 孙义马莉波国雪飞译,WindowsWDM设备驱动程序开发指南,北京:机械工业出版社 ,2000.

5  魏来,董燕.程控交换实验系统USB接口设计[J].微计算机信息,2004年,第九期

  • 上一篇文章:带全速USB接口的PICl8F4550应用设计
  • 下一篇文章:RS-232串口与RJ45网络接口转换器
  • Google
     
    Web www.cediy.com
    发表评论 □告诉好友 □打印此文 □关闭窗口
     最新热点文章
     基于单片机和串行总线技术的热量表...
     数字温度传感器详解
     用AD8302实现RF/IF幅度和相位测量系...
     一种简单的10MHz频率源兼分配放大器...
     维氏电桥振荡器
     检验液晶显示器的简易测试仪
     
     最新推荐文章
     基于TMS320C6713与PC机的PCI总线高...
     基于TMS320VC5409和Cygnal单片机构...
     基于ARM控制器S3C44B0x的给煤机控制...
     基于USB 2.0的高速数据采集卡在虚拟...
     大功率谐振过渡软开关技术变频器研...
     大功率谐振过渡软开关技术变频器研...
     
     相 关 文 章
      ◇  网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
     设为首页  加入收藏  关于本站  版权申明   联系站长   宣传赚点   友情链接
    如果我在线,不用加为好友,立刻与我交谈。 业务咨询QQ:342488946
    Copyright© 2004-2010 CEDIY.COM .All Rights Reserved
    粤ICP备05119258号