采用复杂可编程逻辑器件实现GPIB接口的功能设计

网友投稿 340 2022-11-03

采用复杂可编程逻辑器件实现GPIB接口的功能设计

1. 引言:

1.2 GPIB控制芯片简介:

在 GPIB系统中,把器件与 GPIB总线的一种交互作用定义成一种接口功能。GPIB标准接口共定义了 10种接口功能。

1.3设计软件及设计芯片的选择

2. GPIB控制器各个模块的设计

2.2 内部寄存器

2.3 接口功能

GPIB标准接口共定义了 10种接口功能。每一个接口功能由一组或多组相互联系而又相互排斥的状态来定义。在一个时刻,一组互联又互斥的状态中必须有一个而且也仅又一个状态在起作用。在 IEEE488协议中对接口功能的每一个状态还做了两方面的规定:

1 当某个状态在起作用时,在接口上可以或必须发送的消息;

2 在什么条件下接口功能必须脱离某一状态而进入同一组状态的另一个状态;

这些因素决定了状态的处理能力。接口功能状态图给出了全部状态以及从一个状态变迁到另一个状态一切可能的途径。由于篇幅的限制,下面以受方挂钩接口功能 AH功能为例,来介绍功能模块的实现过程及原理。受方挂钩功能赋予器件保证正确地接收远地多线消息地能力。一个源方挂钩功能与一个或多个受方挂钩功能(分别含于各个器件中)的链锁挂钩序列保证每个消息拜特的异步传递。受方挂钩功能可以延迟多线消息传递的开始或结束,直到器件准备好继续参与传递过程为止。状态图如图 1:

VHDL语言描述如下:

process(c_state,n_state)

begin

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位的译码来生成辅助命令。

2.6 GPIB总线中的三线挂钩技术的实现三线挂钩技术是本设计的关键,因为在总线传输中,所有的命令和数据的传送都要通过三线挂钩来实现。

GPIB总线中的三线挂钩技术( DAV、NRFD、NDAC)可以自动适应测试系统中各种不同器件的传输速率。源方作为讲者或者控者的器件,发 DAV消息。受方作为听者的器件,发 NRFD、NDAC消息。三条握手线, DAV线、NRFD线和 NDAC线,用于控制设备之间消息字节的传送。发送消息方(源方)和接收消息方(受方)利用这 3条握手线进行三线挂钩,以保证数据线上的消息(命令或数据)能准确无误地传送。

通过对系统的仿真,对比 NI公司的 GPIB控制器 NAT9914数据手册上的三线挂钩的时序图可以看出,本设计成功地实现了三线挂钩的要求。

2.7 系统调试

3. 结论本文的创新点:采用低成本的 CPLD器件替代了价格昂贵,且难以购买的 GPIB控制芯片,成功的实现了具有自主知识产权的 IP CORE,并且所有核心模块完全采用 VHDL语言实现,能够在不同的开发环境上移植,可以根据不同的应用环境,对其进行进行剪裁和优化,不仅大大节省了成本,而且具有很大的灵活性。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:LNMP平台对接redis服务
下一篇:云服务器适合部署运行哪些业务?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~