作者:魏金成 牟涛
1. 导言:
1.1用 CPLD 完结 GPIB 操控芯片的含义
综观如今市场上的测验仪器,不难发现 GPIB总线有重要的效果,在研制台式测验仪器的时分,客户简直均要求具有 GPIB接口。但是在实践研制进程中,却发现 GPIB操控芯片很难购买,并且价格昂贵。并且作为测验仪器具有 GPIB的接口,一般只需求具有听、讲、串查功用,而不需求控、并查功用,这样又会形成资源与功用的糟蹋。所以咱们尝试用 CPLD来完结 GPIB接口的听、讲、串查功用,不只可具有自主知识产权,节省了产品的本钱,并且具有很大的灵活性。
1.2 GPIB操控芯片简介:
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)
begin
AIDS=0;ANRS=0;AWNS=0;ACDS=0;ACRS=0;
case c_state is
when s1=>AIDS=1;NRFD=1;NDAC=1;
IF (ATN OR LACS OR LADS)=1 then n_state=s2;
else n_state=s1; end if;
when s2=>ANRS=1;NRFD=0;NDAC=0;
IF ((ATN OR rdy) and not tcs)= 1 then n_state=s3;
elsif DAV=1 then n_state=s5;
else n_state=s2; end if;
when s3=>ACRS=1;NRFD=1;NDAC=0;
IF DAV=1 then n_state=s4;
ELSIF (NOT ATN AND NOT rdy)=1 THEN n_state=s2;
else n_state=s3; end if;
when s4=>ACDS=1;NRFD=0;NDAC=0;
IF ((ATN AND T3) OR (NOT ATN AND NOT rdy))=1 THEN n_state=s5;
else n_state=s4; end if;
when s5=>AWNS=1;NRFD=0;NDAC=1;
IF DAV=0 then n_state=s2;
else n_state=s5; end if;
end case;
end process;
依据仪器的具体要求,由于大多数测验体系只要求被远控,并不要求控功用,而并查功用在体系组建中归于可选项,很少用到,为了简化体系,规划中彻底去掉此两项功用。其他功用模块包含:讲者功用( 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.6 GPIB总线中的三线挂钩技能的完结三线挂钩技能是本规划的要害,由于在总线传输中,一切的指令和数据的传送都要经过三线挂钩来完结。
GPIB 总线中的三线挂钩技能( DAV、NRFD、NDAC)能够主动习惯测验体系中各种不同器材的传输速率。源方作为讲者或许控者的器材,发 DAV音讯。受方作为听者的器材,发 NRFD、NDAC音讯。三条握手线, DAV线、NRFD线和 NDAC线,用于操控设备之间音讯字节的传送。发送音讯方(源方)和接纳音讯方(受方)运用这 3条握手线进行三线挂钩,以确保数据线上的音讯(指令或数据)能准确无误地传送。
经过对体系的仿真,比照 NI公司的 GPIB操控器 NAT9914数据手册上的三线挂钩的时序图能够看出,本规划成功地完结了三线挂钩的要求。
2.7 体系调试
调试是软硬件规划进程中必不可少的一环。昀终程序经过 ByteBlaster专用下载电缆下载 EPM3256ATC144-10芯片中,将下载好程序地 CPLD代替本来体系中的 NAT9914进行在线调试。经过重复的实验,成功地完结了 CPLD代替 GPIB操控器的大部分功用。
3. 定论本文的立异点:选用低本钱的 CPLD器材代替了价格昂贵,且难以购买的 GPIB操控芯片,成功的完结了具有自主知识产权的 IP CORE,并且一切中心模块彻底选用 VHDL言语完结,能够在不同的开发环境上移植,能够依据不同的使用环境,对其进行进行取舍和优化,不只大大节省了本钱,并且具有很大的灵活性。
参阅文献:
谭会生,张昌凡.EDA技能及使用.西安电子科技大学出版社,2001
杨安禄,陈长龄.电子仪器接口技能,第 1版.电子科技大学出版社, 1994
王术群,田书林.“高速数据发生器的 GPIB接口与驱动软件规划”,电子科技大学硕士论文
李训铭,赵雪.依据 GPIB接口的虚拟仪器在接纳机测验台的使用[ J].微计算机信息, 2006, 6-1:184-186