一种基于FPGA的AT96总线控制器IP核,它是由AT96总线接口模块、AT96总线控制器状态机模块、FIFO缓存模块、局部总线控制模块、局部总线接口模块和功能配置模块组成,AT96总线接口模块一端连接到AT96总线接口卡上,另一端与AT96总线控制器状态机模块连接;AT96总线控制器状态机模块连接到FIFO缓存模块上,FIFO缓存模块又与局部总线控制模块连接,而局部总线控制模块连接到局部总线接口模块,功能配置模块与后四个模块都有连接。一种基于FPGA的AT96总线控制器IP核的构建方法有六大步骤:一、设计输入;二、功能仿真;三、逻辑综合;四、前仿真;五、输出网表文件;六、输出IP核调用模块。
【技术实现步骤摘要】
本专利技术涉及通信类单板通过AT96总线接口互联的应用,尤其涉及一种基于FPGA 的AT96总线控制器IP核及其构建方法,属于通讯设备设计及应用
技术介绍
为了将AT96总线PC机应用在恶劣的工业环境中,1994年由德国SIEMENS公司发起制定了 AT96总线欧洲卡标准(IEEE996),并在欧洲得到了推广应用。AT96总线=AT96总线电气规范+96芯针孔连接器+欧洲卡规范(IEC297/IEEE 1011. 1)。AT96总线工控机消除了模板之间的边缘金手指连接,具有抗强震动和冲击能力;其16位数据总线、M位寻址能力、高可靠性和良好的可维护性,更适合在恶劣工业环境中应用。在国外,AT96总线工控机较齐全,有80386、80486产品,也有PENTIUM系列产品,支持高速ETHERNET网络接口。由于AT96总线具有上述优越性,AT96总线开始广泛的用于自动控制、数据传输设备、医疗器械等行业。这些设备为了支持AT96总线访问的功能,必须在设备上设计AT96总线控制器。 传统的AT96总线控制器都是以ASIC芯片为主,其优点是硬件设计方便,不必考虑AT96总线协议的内部实现。但缺点是成本较高,可移植性差,配置操作繁琐,应用效率不高。因此, 设计一款可移植性强、配置操作简单、应用效率高且成本较小的AT96总线控制器是很有必要的,本文公开了一种基于FPGA的AT96总线控制器IP核的设计和实现方法。
技术实现思路
1)专利技术目的现有的AT96总线控制器大部分基于ASIC芯片设计的,其设计复杂、可移植性差, 配置操作繁琐,应用效率不够,且成本较高。本专利技术的目的是为了克服现有基于ASIC芯片的AT96总线控制器的缺点,提供一种基于现场可编程门阵列(即FPGA)的AT96总线控制器IP核及其构建方法,它配置简单、可移植性强,AT96总线协议完全由FPGA硬件完成,降低了 CPU的负荷,同时大大降低应用成本。2)技术方案1、本专利技术一种基于FPGA的AT96总线控制器IP核,它是由AT96总线接口模块 (001)、AT96总线控制器状态机模块(00 、FIF0缓存模块(00 、局部总线控制模块(004)、 局部总线接口模块(00 和功能配置模块(006)组成,如图2所示,它们之间的位置连接关系和信号流向如下所述AT96总线接口模块(001) —端连接到AT96总线接口卡上,另一端与AT96总线控制器状态机模块(002)连接,AT96总线控制器状态机模块(002)连接到FIFO缓存模块(003)上,FIFO缓存模块(003)直接连接到局部总线控制模块(004),而局部总线控制模块(004)连接到局部总线接口模块(005),功能配置模块(006)与AT96总线控制器状态机模块(002)、FIF0缓存模块(003)、局部总线控制模块(004)及局部总线接口模块(005)都有连接。a)AT96总线接口模块(001) —端连接到AT96总线接口卡上,另一端连接到AT96 总线控制器状态机模块(002),其接收来自AT96总线上的数据及控制信号或发送数据及控制信号到AT96总线上;b)AT96总线控制器状态机模块(00 是整个IP核的控制核心,其采用有限状态机 FSM实现AT96总线协议规定的AT96总线时序以及数据的接收或发送缓存控制。AT96总线控制器状态机模块(00 连接到FIFO缓存模块(00 上,由AT96总线控制器状态机模块(002)控制向FIFO缓存模块(003)中缓存接收到的数据和控制信号数据或从FIFO缓存模块(003)中读取要发送的数据和控制信号数据;c)FIFO缓存模块(003)用于AT96总线时钟域和局部总线时钟域的切换功能,它直接连接到局部总线控制模块(004),由局部总线控制模块(004)控制从FIFO缓存模块(003)读出接收的数据和控制信号或存入要发送到AT96总线上的数据和控制信号;d)局部总线控制模块(004)连接到局部总线接口模块(005),局部总线接口模块 (005)是实现FPGA内部总线接口与CPU接口的转换功能;e)功能配置模块(006)与AT96总线控制器状态机模块(002)、FIFO缓存模块 (003)、局部总线控制模块(004)及局部总线接口模块(005)都有连接,主要功能是配置 AT96总线控制器IP核的参数,设置AT96总线控制器IP核的工作模式、中断检测方式、主从切换及指示运行状态信息。所述AT96总线接口模块是由FPGA内部的输入输出缓冲器IOB组成,包括输入缓冲器(InPut Buffer),输出缓冲器(Output Buffer)、输入输出双向缓冲器QnOut Buffer) 及3态缓冲器(Tri-State Buffer),它们彼此之间相互连接。AT96总线接口模块主要完成 FPGA内部的信号电平与AT96总线协议规定的信号电平的相互转换功能以及实现AT96总线信号中的双向传输端口的功能。所述AT96总线控制器状态机模块是由FPGA内部逻辑实现的一个有限状态机 (FSM)组成的,该有限状态机在时钟的节拍下,根据输入到状态机的控制信号及外部的状态信号,实现各状态功能之间的跳转,在不同状态下,状态机输出相应功能的控制信号和指示信号。FIFO缓冲模块根据状态机输出的控制信号和指示信号,完成数据接收、发送及缓存功能。所述FIFO缓存模块是由FPGA内部的查找表(LookUp Table, LUT)和寄存器REG 组成的,他们之间相互关联;具有两组总线端口,分别为输入总线端口和输出总线端口。每组总线端口包括时钟、地址、数据、控制信号及状态信号,他们之间的时序关系有严格定义; FIFO缓存模块主要实现时钟域的切换功能,即输入输出总线的时钟域不一致时,通过输入总线时钟将数据缓存到FIFO缓存模块中,再通过输出总线时钟将数据从FIFO缓存模块中读出,完成数据的先进先出(First In First Out,FIFO),从而实现时钟域的切换功能。所述局部总线控制模块是由FPGA内部逻辑资源实现的一个与CPU进行交互数据的控制器模块。其根据与它相连接的FIFO缓存模块发出的控制和状态信号,发送控制信号操作FIFO缓存模块的输入输出总线端口,实现数据的写入读出功能,再根据CPU总线的访问信号,将数据发送到局部总线上或从局部总线上采样出来。所述局部总线接口模块的组成与AT96总线接口模块的组成相同,也是由FPGA内部的输入输出缓冲器IOB组成。局部总线接口模块主要完成FPGA内部的信号电平与CPU总线信号电平的相互转换功能。所述功能配置模块是由FPGA内部的一组寄存器组成的。功能配置模块主要功能是配置AT96总线控制器IP核的参数,设置AT96总线控制器IP核的工作模式、中断检测方式、主从切换及指示运行状态信息。2、本专利技术一种基于FPGA的AT96总线控制器IP核的构建方法,该方法具体步骤如下,其流程图如图3所示。步骤一设计输入。根据AT96总线协议需求,将设计目标划分为各个功能模块。 功能模块包括AT96总线接口模块(001)、AT96总线控制器状态机模块(002)、FIFO缓存模块(003)、局部总线控制模块(004)、局部总线接口模块(005)和功能配置模块(00本文档来自技高网...
【技术保护点】
1.本专利技术一种基于FPGA的AT96总线控制器IP核,其特征在于:它是由AT96总线接口模块、AT96总线控制器状态机模块、FIFO缓存模块、局部总线控制模块、局部总线接口模块和功能配置模块组成,AT96总线接口模块一端连接到AT96总线接口卡上,另一端与AT96总线控制器状态机模块连接;AT96总线控制器状态机模块与FIFO缓存模块连接,而FIFO缓存模块又与局部总线控制模块连接;而局部总线控制模块连接到局部总线接口模块,功能配置模块与AT96总线控制器状态机模块、FIFO缓存模块、局部总线控制模块及局部总线接口模块都有连接;所述AT96总线接口模块是由FPGA内部的输入输出缓冲器IOB组成,包括输入缓冲器即Input Buffer,输出缓冲器即Output Buffer、输入输出双向缓冲器即InOut Buffer及3态缓冲器即Tri-State Buffer,它们彼此之间相互连接;AT96总线接口模块完成FPGA内部的信号电平与AT96总线协议规定的信号电平的相互转换功能以及实现AT96总线信号中的双向传输端口的功能;所述AT96总线控制器状态机模块是由FPGA内部逻辑实现的一个有限状态机即FSM组成的,该有限状态机在时钟的节拍下,根据输入到状态机的控制信号及外部的状态信号,实现各状态功能之间的跳转,在不同状态下,状态机输出相应功能的控制信号和指示信号;FIFO缓冲模块根据状态机输出的控制信号和指示信号,完成数据接收、发送及缓存功能;所述FIFO缓存模块是由FPGA内部的查找表即Look Up Table,LUT和寄存器REG组成的,他们之间相互关联;它具有两组总线端口,分别为输入总线端口和输出总线端口;每组总线端口包括时钟、地址、数据、控制信号及状态信号,他们之间的时序关系有严格定义;FIFO缓存模块实现时钟域的切换功能,即输入输出总线的时钟域不一致时,通过输入总线时钟将数据缓存到FIFO中,再通过输出总线时钟将数据从FIFO中读出,完成数据的先进先出即First In First Out,FIFO,从而实现时钟域的切换功能;所述局部总线控制模块是由FPGA内部逻辑资源实现的一个与CPU进行交互数据的控制器模块,其根据与它相连接的FIFO缓存模块发出的控制和状态信号,发送控制信号操作FIFO缓存模块的输入输出总线端口,实现数据的写入读出功能,再根据CPU总线的访问信号,将数据发送到局部总线上或从局部总线上采样出来;所述局部总线接口模块的组成与AT96总线接口模块的组成相同,也是由FPGA内部的输入输出缓冲器IOB组成,局部总线接口模块完成FPGA内部的信号电平与CPU总线信号电平的相互转换功能;所述功能配置模块是由FPGA内部的一组寄存器组成的;功能配置模块功能是配置AT96总线控制器IP核的参数,设置AT96总线控制器IP核的工作模式、中断检测方式、主从切换及指示运行状态信息。...
【技术特征摘要】
1.本发明一种基于FPGA的AT96总线控制器IP核,其特征在于它是由AT96总线接口模块、AT96总线控制器状态机模块、FIFO缓存模块、局部总线控制模块、局部总线接口模块和功能配置模块组成,AT96总线接口模块一端连接到AT96总线接口卡上,另一端与AT96 总线控制器状态机模块连接;AT96总线控制器状态机模块与FIFO缓存模块连接,而FIFO 缓存模块又与局部总线控制模块连接;而局部总线控制模块连接到局部总线接口模块,功能配置模块与AT96总线控制器状态机模块、FIFO缓存模块、局部总线控制模块及局部总线接口模块都有连接;所述AT96总线接口模块是由FPGA内部的输入输出缓冲器IOB组成,包括输入缓冲器即hput Buffer,输出缓冲器即Output Buffer、输入输出双向缓冲器即InOut Buffer及 3态缓冲器即Tri-Mate Buffer,它们彼此之间相互连接;AT96总线接口模块完成FPGA内部的信号电平与AT96总线协议规定的信号电平的相互转换功能以及实现AT96总线信号中的双向传输端口的功能;所述AT96总线控制器状态机模块是由FPGA内部逻辑实现的一个有限状态机即FSM 组成的,该有限状态机在时钟的节拍下,根据输入到状态机的控制信号及外部的状态信号, 实现各状态功能之间的跳转,在不同状态下,状态机输出相应功能的控制信号和指示信号; FIFO缓冲模块根据状态机输出的控制信号和指示信号,完成数据接收、发送及缓存功能;所述FIFO缓存模块是由FPGA内部的查找表即Look Up Table, LUT和寄存器REG组成的,他们之间相互关联;它具有两组总线端口,分别为输入总线端口和输出总线端口 ;每组总线端口包括时钟、地址、数据、控制信号及状态信号,他们之间的时序关系有严格定义; FIFO缓存模块实现时钟域的切换功能,即输入输出总线的时钟域不一致时,通过输入总线时钟将数据缓存到FIFO中,再通过输出总线时钟将数据从FIFO中读出,完成数据的先进先出即First In First Out,FIFO,从而实现时钟域的切换功能;所述局部总线控制模块是由FPGA内部逻辑资源实现的一个与CPU进行交互数据的控制器模块,其根据与它相连接的FIFO缓存模块发出的控制和状态信号,发送控制信号操作 FIFO缓存模块的输入输出总线端口,实现数据的写入读出功能,再根据CPU总线的访问信号,将数据发送到局部总线上或从局部总线上采样出来;所述局部总线接口模块的组成与AT96总线接口模块的组成相同,也是由FPGA内部的输入输出缓冲器IOB组成,局部总线接口模块完成FPGA内部的信号电平与CPU总线信号电平的相互转换功能;所述功能配置模块是由FPGA内部的一组寄存器组成的;功能配置模块功能是配置 AT96总线控制器IP核的参数,设置AT96总线控制器IP核的工作模式、中断检测方式、主从切换及指示运行状态信息。2.根据权利要求1所述的一种基于FPGA的AT96总线控制器IP核的构建方法...
【专利技术属性】
技术研发人员:陈娟,祁晓野,马俊功,王德义,付永领,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。