USB-GPIB控制器的硬件电路设计

发布者:science56最新更新时间:2006-06-12 来源: 单片机及嵌入式系统应用关键字:寄存器  总线  接口 手机看文章 扫描二维码
随时随地手机看文章

引 言
  USB是PC体系中一套全新的工业标准,通用可编程接口GPIB(General Programmable Interface BUS),是Cy-press公司在其EZ-USB FX以及FX2系列单片机里设计的一个可由用户编程的接口,具有快速、灵活等特点;可使用多种协议完成与外围器件的无缝连接,如EIDE/ATAPI、IEEE1284、Utopia等。对其可以根据需要进行编程,且运行中不需要CPU的干预,仅通过一些CPU标志和中断与增强型8051内核通信。作为自动化测试仪器的互联标准历史悠久,使用广泛,组建费用低廉且操作方便,特别是连接台式机的时候尤其显得灵活高效。在很多对测试速度要求不高以及对测试仪器体积不作要求的情况下,GPIB总线也有相当的优势。因此,将USB所具有的独特优点引入到以GPIB为标准的自动测试系统中,设计基于USB总线的GPIB控制器,对提高便携式和无外接插槽的自动测试系统整体性能有很大促进作用。

1 系统总体设计方案
  硬件电路的设计分为硬件和固件两部分。硬件要实现PC机与USB芯片的通信以及USB与GPIB接口逻辑之间的通信;同样,固件也要满足USB接口和GPIB逻辑协议。设计思路就是USB接口与PC机实现通信,并且提供给GPIB的信号线,最终建立两者之间的通信,硬件总体框图如图1所示。

  USB主芯片选取了Cypress公司CY7C68013控制芯片,芯片结构如图2所示。CY7C68013集成了以下特性:USB2.0收发器、SIE(串行接口引擎)和增强型8051微处理器;8051程序从内部RAM开始运行;4个可编程BULK/INTERRUPT/ISOCH-RONOUS端点;8位 16位外部数据接口;通用可编程接口(GPIF);3.3V电源系统;矢量USB中断;独立的数据缓冲区供SETUP和DATA包控制传输;集成I2C控制器,频率可达100或400 kHz;4个FIFO,可与ASIC和DSP等无缝连接;专门的FIF0和GPIF自动矢量中断。
  美国NI公司推出的TMS9914控制芯片是一款高性能CMOS的GPIB接口专用芯片,满足IEEE488协议的要求;工作在TMS9914模式下,能够将GPIB母线上的信号按照GPIB协议进行解码和译码转换为用户可用的格式,同时将用户发过来控制GPIB的信号进行处理,按照协议要求发送到GPIB母线上;内部有16个寄存器,分成两组,一组是只写寄存器,有8个;另一组是只读寄存器,有8个。TMS9914内部各个寄存器的状态决定或标志着芯片及GPIB的工作状态。在GPIB接口设计中,只有通过编程对寄存器进行正确编排,才能实现对GPIB的各种操作。

2 硬件设计
2. 1供电方式

  设计中采用了USB总线供电方式。USB接口从PC机能获取的电压为5V,而USB控制芯片CY7C68013的工作电压为3.3V,GPIB控制芯片TMS9914的工作电压为5V,所以本设计中选用了Maxim公司的MAX882进行电压变换。从PC经USB电缆到B端口来的5V电源,经去耦合和滤波电路后直接提供给系统中要求在5V正常工作的芯片,如TMS9914、75LS160、75LSl62等;而经MAX882分压后得到3.3V则提供给USB控制芯片CY7C68013以及LVC245。这样就可保证整个控制器正常工作。电路中的SN7524,是专门为USB接口电路设计的,抑制USB数据线的瞬时电气噪声,如图3所示。

2.2 外接EEPROM电路
  系统上电后,USB内核首先检查I2C总线上是否有EEPROM。如果有,并且其第一位数据是0xC2,则EZUSB FX2将EEPROM中的内容全部拷贝到内部RAM中,然后重列举,并开始执行RAM中的固件程序。由于CY68013芯片已经将I2C总线集成,设计转化为对I2C总线上挂接的EEPROM的设计;由于采用的是24LC64的EEPROM,整个串行I2C总线电路实现的原理如图4所示。

3 固件程序设计
  本设计针对的主芯片CY7C68013是以软件为框架的IC。CY7C68013芯片的固件开发所使用的集成开发环境为KEIL μVision2,编程语言为德国Keil公司的C51。把编辑、编译、汇编、连接、调试等各阶段都集成在一个程序内,先用编辑器编写程序,接着调用编译器进行编译、连接后直接运行,因此可以缩短开发周期。
  固件程序负责处理PC机发来的各种请求,主要负责设备与外围电路进行数据传输。完成一个完整的事务传输,除了开发环境Keil包括的文件,还需要Fw.c(固件架构原是程序代码)、Dscr.a51(USB描述符表)、Ezusb.lib(EZUSB函数库对象程序代码)、Periph.c(用户函数,也就是设计中实现GPIB功能要编写的函数)以及相关的中断跳转函数USBjmpTB.OBJ。功能函数里的TD_Poll()负责完成用户指定的功能,应该包括一个执行用户外围功能的状态机。从这个函数返回的话,高优先级的任务应该首先执行。
  void TD_Poll(void)
  if(!(EP2468STAT&bmEP2EMPTY)){
  if(!(EP2468STAT&bmEP6FULL))//判断端点2的FIFO缓冲区是否满
  {APTRlH=MSB(&EP2FIFOBUF);//自动指针1
  APTRlL=LSB(&EP2FIFOBUF):
  AUTOPTRH2=MSB(&EP6FIFOBUF);//自动指针2
  AUTOPTRL2=LSB(&EP6FIFOBUF);
  count=(EP2BCH<<8)+EP2BCL;
  for(i=0x0000;l??? EXTAUTODAT2=EXTAUTODAT1;//将端点2中断的数据复制到端点6
  }
  EP6BCH=EP2BCH;//设置端点6的字节数
  SYNCDELAY;
  EP6BCL=EP2BCL,
  SYNCDELAY:
  EP2BCL=0x80;} //设置端点6的字节数
  }

关键字:寄存器  总线  接口 引用地址:USB-GPIB控制器的硬件电路设计

上一篇:基于STPM01的防窃电电能表设计
下一篇:双界面智能测量控制芯片GC7645的应用

推荐阅读最新更新时间:2024-05-13 18:12

支持CAN总线的电动车辅助逆变电源的设计
摘要:现代电动车辆中电控技术应用广泛,各类设备运行参数共享成为整车系统的特点。(CAN)总线的数据交换速度高、抗噪性强,成为车辆内部通信网络的首选。介绍了集成CAN控制器的高性能微处理器P8xC592的功能和特点及其在电动车辅助三相逆变电源中的应用。 关键词:CAN总线 P8xC592微处理器 三相逆变电源 电动车由于储能设备容量有限,在运行过程中对电能流向管理十分严格。精确的电能管理可以延长车辆运行里程,减少电池充电频率,从而节约运行成本。车载能量管理系统需要随时监控电池电压、电机输出功率以及其它设备的用电情况。同时,电动车电子控制系统的动态信息必须具有实时性,各子系统需要将车辆的公共数据实时共享,如电机转速、车轮转换、油门踏板位
[电源管理]
现场总线技术在海洋石油工业应用新进展
        一、引言          随着3C技术即计算机(Computer)、控制(Control)、通信(Communication)迅速发展,现场总线技术在制造业和流程工业中的应用正在持续的快速增长,由全数字化的现场总线控制系统代替半数字化及模拟量控制系统已成为工业自动化控制系统结构发展的必然趋势。          自20世纪90年代中期以来,中国海洋石油总公司(以下简称中海油)相关技术人员持续跟踪关注现场总线这一标志自控领域一场革命的技术,并于2002年首次提出将现场总线技术应用于旅大油田开发项目,获得了上级批准并进行实施。其中旅大10-1平台于2005年1月28日正式投产,旅大5-2平台正在建设中,这项新技术的实施
[嵌入式]
STM32 GPIO寄存器ODR BSRR BRR
使用BRR和BSRR寄存器可以方便地快速地实现对端口某些特定位的操作,而不影响其它位的状态。 比如希望快速地对GPIOE的位7进行翻转,则可以: GPIOE- BSRR = 0x80; // 置'1' GPIOE- BRR = 0x80; // 置'0' 如果使用常规'读-改-写'的方法: GPIOE- ODR = GPIOE- ODR | 0x80; // 置'1' GPIOE- ODR = GPIOE- ODR & 0xFF7F; // 置'0' 有人问是否BSRR的高16位是多余的,请看下面这个例子: 假如你想在一个操作中对GPIOE的位
[单片机]
基于C语言的I2C总线软件模块设计
1 I2C总线概述   I2C(Intel-Integrated Circuit)总线是荷兰的Philips公司于八十年代初推出的一种芯片间串行总线扩展技术。它用两根线(数据线SDA、时钟线SCL)可完成总线上主机与器件的全双工同步数据传送,可极方便地构成多主机系统和外围器件扩展系统。I2C总线支持所有NMOS、CMOS、TTL等工艺制造的器件,其上所有的节点都连到同名的SDA、SCL上。I2C总方法,数据传送都有相同的操作模式,接口电器特性相同且独立,可在系统供电情况下从系统中移去或增加IC芯片,有I2C接口的外围器件都有应答能力,读写片内单元时有地址自动加1功能,易实现多个字节的自动操作。近年来,国际上有关公司制造了多达
[单片机]
基于C语言的I2C<font color='red'>总线</font>软件模块设计
MCS-51与中断有关的寄存器、中断入口地址及编号详解
  MCS-51单片机引脚图及功能      1、电源   Vcc:芯片电源,一般为+5V;   Vss:接地端。   2、时钟   XTAL1和XTAL2:晶体振荡电路反相输入端和输出端。当使用内部振荡电路时,需要外接晶振,常见有的4M、6M、11.0592M、12M等。当使用外部振荡输入时XTAL1接地,XTAL2接外部振荡脉冲输入。   3、控制线   MCS-51单片机的控制线共有4根,其中3根是复用线,具有两种功能。   (1)ALE/PROG:地址锁存允许/编程脉冲。   ALE:正常使用时为ALE功能,主要用来锁存P0口送出的8位地址。P0口一般分时传送低8位地址和数据信号,且均为二进制数。区分是否是低8位
[单片机]
MCS-51与中断有关的<font color='red'>寄存器</font>、中断入口地址及编号详解
带有USB接口的16位立体声数模转换器PCM2702
摘要: PCM2702是Burr-Brown公司新近推出的一种带有USB接口的16位立体声数模转换器芯片。文中简要分析了该芯片的性能特点和工作原理,最后给出了PCM2702的典型应用电路。 1 引言 PCM2702是一块单片数模转换芯片。它有两个数模转换输出通道和一个一体化的USB接口控制器。该接口符合USB1.0标准。PCM2702采用最新开发研制的SPAct TM(采样期内自适应控制跟踪)系统。该系统能够从USB接口的音频数据中分离出一个稳定的、偏差较小的时钟信号以协调PLL和DAC工作。 PCM2702主要由三部分组成:一个是Burr-Brown公司研制的增强型多层次δ-σ调制器,一个是8×重复采样数字插值滤波器
[模拟电子]
实时SOA从消息总线开始
比如,正在开发中的新一代空中交通管理(Air Traffic Management)系统,是为了调整日益繁忙的航线,并连接各客户端(比如美国联邦航空管理局、国防部及国土安全部)的工作。这些系统需要更高的信息带宽用于追踪更多的飞行器和更复杂的“自由飞行”轨迹,同时需要更快的信息响应速度以更快地检测飞行异常。其它方面也有类似的需求,比如医疗保健系统、数据采集与监控(SCADA)系统、网络监控系统、能源分布系统、运输系统,以及其它关键基础设施系统。 SOA组件的最佳组合        实时应用程序需要面向服务的基础组件的最佳组合。SOA系统有三种基础组件:消息总线、信息转换/处理引擎和数据存储库(见图1)。一般来说,这些组件会集成到企
[嵌入式]
SPI总线协议及SPI时序图详解
SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。 SPI是一个环形总线结构,由ss(cs)、sck、sdi、sdo构成,其时序其实很简单,主要是在sck的控制下,两个双向移位寄存器进行数据交换。 上升沿发送、下降沿接收、高位先发送。 上升沿到来的时候,sdo上的电平将被发送到从设备的寄存器中。 下降沿到来的时候,sdi上的电平将被接收到主设备的寄存器中。 假设主机和从
[嵌入式]
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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