当前位置:首页 > EDA > 电子设计自动化
[导读]摘 要:GPIB接口是测试仪器中常用的接口方式。通过将接口设计分解为同步状态机设计和寄存器读写电路设计,采用Verilog语言实现了满足IEEE488.1协议的IP Core设计。将此IP Core固化到FPGA芯片中即可实现GPIB各种接

摘    要:GPIB接口是测试仪器中常用的接口方式。通过将接口设计分解为同步状态机设计和寄存器读写电路设计,采用Verilog语言实现了满足IEEE488.1协议的IP Core设计。将此IP Core固化到FPGA芯片中即可实现GPIB各种接口功能。

引言

在自动测试领域中,GPIB通用接口是测试仪器常用的接口方式,具有一定的优势。通过GPIB组建自动测试系统方便且费用低廉。而GPIB控制芯片是自动测试系统中的关键芯片,此类芯片只有国外少数公司能生产,不仅价格昂贵,而且购买不便。因此,GPIB 接口的FPGA实现具有很大的实用价值。

本文论述的是采用Verilog语言来设计基于IEEE488.1协议的IP Core,然后将用户逻辑与此Core集成在一片FPGA中实现GPIB接口功能。

 

GPIB 接口体系结构设计

首先把整个待设计系统划分为若干基本功能模块,其中包括复杂的同步状态机以及寄存器读写电路。内部结构如图1所示。

接口功能设计

接口功能的设计是设计的核心。按照IEEE488.1协议与实际设计的要求,设计选取了八种接口功能:源方挂钩 、受方挂钩、讲者、听者、服务请求、远控/本控、器件清除和器件触发。其中源方挂钩接口功能保证多项消息的正确传输;受方挂钩接口功能保证正确地接受远地消息;讲者接口功能让器件在接口上把数据发送到其他一些器件去;听者接口功能让器件在接口上接受来自于其他器件的数据;本控就是本地控制(面板或后背板)。在实际设计中,再把各接口功能划分为若干相关状态,这样在用VerilogHDL实现这些相互作用影响的状态跃迁的时候就可以引入状态机设计。为了保持状态机之间相互的状态挂钩的协调一致性,设计采用同步状态机,在时钟信号的触发下,完成各个状态之间的转移。

接口功能的Verilog HDL实现

由于八种接口功能实现方式较为相似,这里以最具有代表性的受方挂钩功能(AH)来具体说明其用VerilogHDL的实现方式。对受者接口功能应具有的能力、作用及变迁条件,用一组互相排斥而又互相联系的状态图来给定,如图2所示。状态图中,各状态之间的变迁分别用状态之间的箭头来表示。每一个状态变迁都用一个逻辑表达式来表示变迁的条件。表达式由本地消息、远地消息、状态交连、运算符等组成。其中本地消息用三个小写的英文字母表示。远地消息用三个大写的英文字母来表示。状态交连是指一个接口功能的状态变迁受其他接口功能的状态的制约。

在用VerilogHDL语言对状态机进行的设计中,采用了一位热码状态编码。虽然一位热码采用的触发器较多,但可以简化组合电路。对于寄存器数量多,而组合逻辑门相对缺乏的FPGA器件,一位热码可以提高电路的速度和可靠性,也有利于提高器件资源的利用率。AH功能状态机代码如下:
module
input  clk,reset,swrst,LADS, LACS,rdy,ATN,DAV;
output AIDS,ANRS,ACRS, ACDS,AWNS,NRFD,NDAC;
parameter S1=5'h01,S2=5'h02, S3=5'h04,S4=5'h08,S5=5'h10;
assign NRFD=(ANRS| ACRS|ACDS|AWNS ) ? NRFDt: 1'bz;
assign NDAC = (ANRS| ACRS|ACDS|AWNS) ? NDACt: 1'bz;
always @(negedge clk )
begin  if ((~reset)|swrst|((~ATN) &(~(LACS|LADS))))  present=S1;
       else  present=next; end
always @(present or LADS or LACS or rdy or ATN or DAV)         
 begin  AIDS=0 ;ANRS=0; ACRS=0; ACDS=0; AWNS=0; NRFDt=0; NDACt=0;
 case (present)        
    S1: begin  if (ATN) next=S3;
               else if((~ATN)& (LADS|LACS)) next=S2;
               else next=S1; AIDS=1; NRFDt=0;NDACt=0; end
    S2: begin if (ATN|rdy) next=S3;          &
    nbsp;
               else next=S2; ANRS=1; NRFDt=1;NDACt=1; end
    S3:  begin if (~(ATN|rdy)) next=S2;
               else if (DAV)  next=S4;
               else next=S3; ACRS=1; NRFDt=0;NDACt=1; end
    S4: begin if( (ATN)|(~ATN)&(~rdy)) next=S5;
              else next=S4; ACDS=1; NRFDt=1;NDACt=1; end
    S5:  begin if (~DAV) next=S2;
               else next=S5; AWNS=1; NRFDt=1;NDACt=0; end
    default: next=S1;
endmodule

AH功能逻辑设计的功能仿真

对前述AH功能编码进行编译和功能仿真,仿真结果如图3所示。由图可见,当同步触发信号reset为0,swrst为1时,系统回到空闲态。LADS(听者被寻址态)与LACS(听者作用态)同时为0时,系统进入AIDS(受者空闲态),此时受者NRFD、NDAC为高阻态。LADS与LACS任一为1时,受者进入ANRS(受者未准备好态)。rdy为1与ATN为0时,受者进入ACRS(受者准备好态),NRFD、NDAC为0。可以看出,随着输入条件的变化,输出相应变化,满足时序逻辑。接下来,生成受者功能模块符号图,以便于下一步系统级的设计。

其他接口功能的状态机实现与AH功能类似。最后将每个接口功能的状态机实现,生成便于互连的符号模块,各个模块连接起来就组成系统的接口主状态机模块。其中状态机子集模块所需的信号一些来自状态交连(图2阴影部分即各接口功能之间的互相影响信号),另外一些则来自其他模块所产生的信号。

寄存器读写电路设计

在设计图1中的寄存器读写电路时,选择设计了9个8位内部寄存器。其中可读寄存器有5个:中断状态寄存器0(ISR0)、中断状态寄存器1(ISR1)、总线状态寄存器(BSR)、数据输入寄存器(DIR)和地址状态寄存器(ADSR);可写寄存器有4个:中断屏蔽寄存器0(IMR0)、中断屏蔽寄存器1(IMR1)、地址寄存器(ADR)和辅助命令寄存器(AUXCR)。其中可读寄存器用来存储状态机的当前状态、中断情况、仪器地址、输入数据和控制信息。计算机把中断屏蔽位,辅助命令写入可写寄存器,从而实现对GPIB总线的控制。在上位机与芯片之间引入D0~D7 作为本地双向数据总线,通过译码模块实现对内部寄存器的读写,产生状态机子集模块所需的信号以及GPIB接口信号。寄存器读写电路的设计用译码器,寄存器等实现,由于篇幅所限,这里不再赘述 。

接口的FPGA实现

在完成基本模块以后,可以用类似画电路图的方法直接对这些模块符号进行调用。然后通过MAXplusⅡ进行综合、仿真,做在线调试。再完成整个内部电路的软件设计以后就可以把该“软件核”(Core)固化到具体选定的FPGA芯片上,本文选用ALTERA公司的ACEX1K30QC208芯片。

结语

在测试仪器的研制过程中发现,GPIB接口往往不需要IEEE488.1的全部接口功能,很多仪器只需要听、讲功能即可。如果采用Nat9914之类的芯片,控者、并行查询功能都用不到,这样既会造成资源与功能的浪费,又延长了开发周期。设计基于FPGA芯片的专用IP Core不仅拥有自主知识产权,而且可以通过与计算机接口(如ISA口)与计算机直接相连,装入驱动程序即可工作。这对测试仪器开发有一定的借鉴作用,无论是采用PCI、USB,还是单片机控制,只需将用户逻辑与符合IEEE488.1协议的IP Core集成在一片FPGA中即可实现测试仪器的GPIB接口功能。这将大大缩短开发周期,降低开发成本。
 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭