欢迎来到天天文库
浏览记录
ID:24198308
大小:50.00 KB
页数:4页
时间:2018-11-12
《gpib接口的fpga实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、GPIB接口的FPGA实现
2、第1内容显示中摘要:GPIB接口是测试仪器中常用的接口方式。通过将接口设计分解为同步状态机设计和寄存器读写电路设计,采用Verilog语言实现了满足IEEE488.1协议的IPCore设计。将此IPCore固化到FPGA芯片中即可实现GPIB各种接口功能。关键词:GPIB接口;状态机;FPGA引言在自动测试领域中,GPIB通用接口是测试仪器常用的接口方式,具有一定的优势。通过GPIB组建自动测试系统方便且费用低廉。而GPIB控制芯片是自动测试系统中的关键芯片,此类芯片只有国外少数公司能生产,不仅价格昂
3、贵,而且购买不便。因此,GPIB接口的FPGA实现具有很大的实用价值。本文论述的是采用Verilog语言来设计基于IEEE488.1协议的IPCore,然后将用户逻辑与此Core集成在一片FPGA中实现GPIB接口功能。500)this.style.ouseg(this)">图1GPIB接口内部结构500)this.style.ouseg(this)">图2 AH功能状态图500)this.style.ouseg(this)">图3AH功能仿真图GPIB接口体系结构设计首先把整个待设计系统划分为若干基本功能模块,其中包括复杂的同
4、步状态机以及寄存器读写电路。内部结构如图1所示。接口功能设计接口功能的设计是设计的核心。按照IEEE488.1协议与实际设计的要求,设计选取了八种接口功能:源方挂钩、受方挂钩、讲者、听者、服务请求、远控/本控、器件清除和器件触发。其中源方挂钩接口功能保证多项消息的正确传输;受方挂钩接口功能保证正确地接受远地消息;讲者接口功能让器件在接口上把数据发送到其他一些器件去;听者接口功能让器件在接口上接受来自于其他器件的数据;本控就是本地控制(面板或后背板)。在实际设计中,再把各接口功能划分为若干相关状态,这样在用VerilogHDL实现
5、这些相互作用影响的状态跃迁的时候就可以引入状态机设计。为了保持状态机之间相互的状态挂钩的协调一致性,设计采用同步状态机,在时钟信号的触发下,完成各个状态之间的转移。接口功能的VerilogHDL实现由于八种接口功能实现方式较为相似,这里以最具有代表性的受方挂钩功能(AH)来具体说明其用VerilogHDL的实现方式。对受者接口功能应具有的能力、作用及变迁条件,用一组互相排斥而又互相联系的状态图来给定,如图2所示。状态图中,各状态之间的变迁分别用状态之间的箭头来表示。每一个状态变迁都用一个逻辑表达式来表示变迁的条件。表达式由本地消
6、息、远地消息、状态交连、运算符等组成。其中本地消息用三个小写的英文字母表示。远地消息用三个大写的英文字母来表示。状态交连是指一个接口功能的状态变迁受其他接口功能的状态的制约。在用VerilogHDL语言对状态机进行的设计中,采用了一位热码状态编码。虽然一位热码采用的触发器较多,但可以简化组合电路。对于寄存器数量多,而组合逻辑门相对缺乏的FPGA器件,一位热码可以提高电路的速度和可靠性,也有利于提高器件资源的利用率。AH功能状态机代码如下:moduleinputclk,reset,seterS1=5'h01,S2=5'h02,S3
7、=5'h04,S4=5'h08,S5=5'h10;assignNRFD=(ANRS
8、ACRS
9、ACDS
10、AR1)、地址寄存器(ADR)和辅助命令寄存器(AUXCR)。其中可读寄存器用来存储状态机的当前状态、中断情况、仪器地址、输入数据和控制信息。计算机把中断屏蔽位,辅助命令写入可写寄存器,从而实现对GPIB总线的控制。在上位机与芯片之间引入D0~D7作为本地双向数据总线,通过译码模块实现对内
此文档下载收益归作者所有