采用复杂可编程逻辑器件实现GPIB接口的功能设计_第1页
采用复杂可编程逻辑器件实现GPIB接口的功能设计_第2页
采用复杂可编程逻辑器件实现GPIB接口的功能设计_第3页
采用复杂可编程逻辑器件实现GPIB接口的功能设计_第4页
采用复杂可编程逻辑器件实现GPIB接口的功能设计_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

采用复杂可编程逻辑器件实现GPIB接口的功能设计1.引言:1.1用CPLD实现GPIB控制芯片的意义综观现今市场上的测试仪器,不难发现GPIB总线有重要的作用,在研制台式测试仪器的时候,客户几乎均要求具备GPIB接口。可是在实际研发过程中,却发现GPIB控制芯片很难购买,而且价格昂贵。而且作为测试仪器具备GPIB的接口,一般只需要具有听、讲、串查功能,而不需要控、并查功能,这样又会造成资源与功能的浪费。所以我们尝试用CPLD来实现GPIB接口的听、讲、串查功能,不仅可拥有自主知识产权,节省了产品的成本,而且具有很大的灵活性。1.2GPIB控制芯片简介:GPIB也叫HPIB,是一个数字化的24脚并行总线,由16条信号线和8条地线组成。这16条信号线分为8条数据线、5条控制线和3条握手线。8条数据线:从DIO1到DIO8,用来传送命令、地址和数据;5条控制线:分别为ATN线、IFC线、REN线、SRQ线和EOI线,用来管理通过接口的有序信息流;3条握手线:DAV线、NRFD线和NDAC线,用于控制设备之间消息字节的传送。发送消息方(源方)和接收消息方(受方)利用这3条握手线进行三线挂钩,以保证数据线上的消息(命令或数据)能准确无误地传送。在GPIB系统中,把器件与GPIB总线的一种交互作用定义成一种接口功能。GPIB标准接口共定义了10种接口功能。1.3设计软件及设计芯片的选择开发工具采用ALTERA公司的MAXplusⅡ10.0。MAXplusⅡ开发工具是美国Altera公司自行设计的一种EDA软件工具,它具有原理图输入和文本输入(采用硬件描述语言)两种输入手段,配备有编辑、编译、仿真、综合、芯片编程等功能。Altera公司是世界上从事可编程逻辑芯片生产的几家主要厂商之一,其MAX3000A系列可编程逻辑芯片速度快,容量大,性价比高。我们选用的EPM3256ATC144-10,拥有256个宏单元,144个管脚,可自定义使用的管脚达116个,4.5ns的传输延时完全能满足要求。2.GPIB控制器各个模块的设计我们可以把整个系统划分为几个子系统。其中包括和微处理器接口的读写电路,与GPIB母线通信的接口功能,以及内部寄存器。对每个子系统的设计也可以采用向下分解为模块级设计,这样在调试和组件系统时,不仅具有很强的灵活性,而且方便代码的调试以及利于代码的重利用。与微处理器接口的读写电路设计可以利用组合逻辑电路设计方法实现,其基本模块,如:译码电路,读写电路,相对比较成熟,在设计的时候只要对其基本功能深刻理解的基础上容易实现。与GPIB母线通信的子系统设计是本课题设计的重点也是难点,它不仅需要对IEEE488协议有深刻的认识,而且在接口功能子集的选择上也有一定的要求。2.1微处理器(MCU)接口电路微处理器(MCU)接口包括提供正确的寄存器访问地址的译码电路,以及连同WE和DBIN一起构成的访问GPIB控制器的读写电路,NCS用来选通地址译码。地址译码电路以及数据读写电路在数字电路设计中是昀为成熟的电路,在此不作更多深入的阐述。值得注意的是GPIB控制器的读写信号并不是通常意义上的RD和WR信号,而是由DBIN和WE信号完成。而且,对13个寄存器的译码也用的仅仅是RS[0:2],这就需要和DBIN信号的配合来完成译码功能。2.2内部寄存器GPIB控制器(参考NAT9914)的内部体系结构有13个寄存器,其中7个可写寄存器,6个只读寄存器。它们都是八位的,其中可读寄存器有中断状态寄存器0(ISR0)、中断状态寄存器1(ISR1)、地址状态寄存器(ASR)、总线状态寄存器(BSR)、命令通过寄存器(CPR)、数据输入寄存器(DIR);可写寄存器有中断屏蔽寄存器0(IMR0)、中断屏蔽寄存器1(IMR1)、地址寄存器(ADR)、辅助命令寄存器(AUXCR)、串行查询寄存器(SPR)、并行查找寄存器(PPR)、数据输出寄存器(CDOR)。在GPIB控制芯片的设计中对这十三个寄存器进行详细的描述。本模块的设计采用图形方式,利用参数化模块库实现各个寄存器。2.3接口功能GPIB标准接口共定义了10种接口功能。每一个接口功能由一组或多组相互联系而又相互排斥的状态来定义。在一个时刻,一组互联又互斥的状态中必须有一个而且也仅又一个状态在起作用。在IEEE488协议中对接口功能的每一个状态还做了两方面的规定:1当某个状态在起作用时,在接口上可以或必须发送的消息;2在什么条件下接口功能必须脱离某一状态而进入同一组状态的另一个状态;这些因素决定了状态的处理能力。接口功能状态图给出了全部状态以及从一个状态变迁到另一个状态一切可能的途径。由于篇幅的限制,下面以受方挂钩接口功能AH功能为例,来介绍功能模块的实现过程及原理。受方挂钩功能赋予器件保证正确地接收远地多线消息地能力。一个源方挂钩功能与一个或多个受方挂钩功能(分别含于各个器件中)的链锁挂钩序列保证每个消息拜特的异步传递。受方挂钩功能可以延迟多线消息传递的开始或结束,直到器件准备好继续参与传递过程为止。状态图如图1:VHDL语言描述如下:process(c_state,n_state)beginAIDS《=‘0’;ANRS《=‘0’;AWNS《=‘0’;ACDS《=‘0’;ACRS《=‘0’;casec_stateiswhens1=》AIDS《=‘1’;NRFD《=‘1’;NDAC《=‘1’;IF(ATNORLACSORLADS)=‘1’thenn_state《=s2;elsen_state《=s1;endif;whens2=》ANRS《=‘1’;NRFD《=‘0’;NDAC《=‘0’;IF((ATNORrdy)andnottcs)=‘1’thenn_state《=s3;elsifDAV=‘1’thenn_state《=s5;elsen_state《=s2;endif;whens3=》ACRS《=‘1’;NRFD《=‘1’;NDAC《=‘0’;IFDAV=‘1’thenn_state《=s4;ELSIF(NOTATNANDNOTrdy)=‘1’THENn_state《=s2;elsen_state《=s3;endif;whens4=》ACDS《=‘1’;NRFD《=‘0’;NDAC《=‘0’;IF((ATNANDT3)OR(NOTATNANDNOTrdy))=‘1’THENn_state《=s5;elsen_state《=s4;endif;whens5=》AWNS《=‘1’;NRFD《=‘0’;NDAC《=‘1’;IFDAV=‘0’thenn_state《=s2;elsen_state《=s5;endif;endcase;endprocess;根据仪器的具体要求,由于大多数测试系统只要求被远控,并不要求控功能,而并查功能在系统组建中属于可选项,很少用到,为了简化系统,设计中彻底去掉此两项功能。其他功能模块包括:讲者功能(T)、听者功能(L)、源方挂钩功能(SH)、受方挂钩功能(AH)、服务请求功能(SR)、、远控本控功能(RL)、设备触发功能(DT)和设备清除功能(DC)。其设计原理与AH相同,在这里就不做详细论述。2.4辅助命令译码器与多线消息译码器1.辅助命令译码器通过对辅助命令寄存器F0到F4位的译码来生成辅助命令。辅助命令共有stactic和pulse两种,即静态和脉冲两种信号,静态命令用电平的高低来表示。而动态命令则通过一个周期的方波脉冲信号来产生,要求脉冲命令至少在写完辅助命令寄存器后保持一个周期。我们通过VHDL语言来完成本模块的设计。2.多线消息是处于相互排斥的编码集中但又公用一组信号线来传递的消息。在母线上,每一时刻只能传递一条多线消息(一个消息拜特)。多线消息在远地消息译码单元内进行译码。在这个译码单元,通过消息传递单元(DIO线)来接收母线上的消息。消息译码单元仅在命令工作方式下(ATN=真)期间起作用。这样的接口消息可能是地址、通令、专令或副令之一。在数据工作方式(ATN=假)中,数据线上携带器件消息,这时译码单元不起作用。在本GPIB控制器设计中,此模块还包含了地址比较器,这样可以得到内部状态机所需的与地址相关的信号。用VHDL语言完成其设计,并例化成模块。2.5三态I/O通道需要注意的是芯片数据通道中八条数据线与控制数据流向的八条控制线都是双向的,所以必须对I/O通道进行设置。实现双向总线,就需要使用可编程逻辑器件的双向口构造双向三态总线。三态总线的实现,需要使用三态缓冲器,实现高、低电平和高阻三个状态。基于ALTERA公司的CPLD系列器件的特点,我们在设计的时候,内部避免使用双向的三态总线,将双向的信号分别直接引到外部。在外部设计双向三态总线。设计中采用图形方式输入,利用参数化模块库(LPM)实现。这种方法尤为清晰简便。如图所示:在这里用TE信号来作为三态总线的方向控制信号。不考虑控功能,当本设备处于并行点名状态,或者作为非命令数据的源接受方时,TE信号为真,即TE=PPAS+~SIDS。2.6GPIB总线中的三线挂钩技术的实现三线挂钩技术是本设计的关键,因为在总线传输中,所有的命令和数据的传送都要通过三线挂钩来实现。GPIB总线中的三线挂钩技术(DAV、NRFD、NDAC)可以自动适应测试系统中各种不同器件的传输速率。源方作为讲者或者控者的器件,发DAV消息。受方作为听者的器件,发NRFD、NDAC消息。三条握手线,DAV线、NRFD线和NDAC线,用于控制设备之间消息字节的传送。发送消息方(源方)和接收消息方(受方)利用这3条握手线进行三线挂钩,以保证数据线上的消息(命令或数据)能准确无误地传送。通过对系统的仿真,对比NI公司的GPIB控制器NAT9914数据手册上的三线挂钩的时序图可以看出,本设计成功地实现了三线挂钩的要求。2.7系统调试调试是软硬件设计过程中必不可少的一环。昀终程序通过ByteBlaster专用下载电缆下载EPM3256ATC144-10芯片

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论