利用FPGA实现非复用总线与复用总线互联装置及方法与流程

文档序号:17475813发布日期:2019-04-20 06:07阅读:408来源:国知局
利用FPGA实现非复用总线与复用总线互联装置及方法与流程

本发明属于总线之间的互联技术领域,涉及非复用总线与复用总线互联装置,尤其是一种利用fpga实现非复用总线与复用总线的互联装置及方法。



背景技术:

随着科学技术的不断发展,嵌入式技术得到了迅猛发展。与此同时,芯片之间传输数据的接口方式也越来越多,传统的x86、mips、mcu架构的cpu均为非复用总线(即地址和数据独立),计算机外设接口芯片部分如网络、usb、串口、can等为复用总线(地址和数据复用)。如何方便快速灵活的实现两种总线之间的交互成为需要解决的问题。



技术实现要素:

本发明的目的在于克服现有技术的不足,提出一种设计合理、方便实用、快速灵活的利用fpga实现非复用总线与复用总线互联装置及方法。

本发明解决其现实问题是采取以下技术方案实现的:

一种利用fpga实现非复用总线与复用总线互联装置,包括mcu处理器、fpga系统和设备;所述fpga系统分别与mcu处理器和设备相连接,mcu处理器用于读取设备端发送到fpga系统中的数据,并把发送到设备端的数据写入fpga系统中,fpga系统则根据设备端读写时序产生控制信号控制设备端的总线写地址与读写数据,进而实现mcu处理器对设备的读写操作。

而且,所述mcu处理器与fpga系统之间采用mcu处理器的gpmc总线进行数据的传输,mcu处理器与fpga相连的数据总线、地址总线和控制总线有mcu的低12位地址总线、低8位数据总线、静态存储器片选信号且低电平有效、写使能信号且低电平有效、读使能信号且低电平有效、地址有效信号且低电平有效、外部中断信号且低电平有效和复位信号且低电平有效。

而且,所述fpga系统与设备相连的信号线有数据地址复用的8位总线地址数据、片选信号、读信号、写信号、地址锁存信号、fpga_中断信号和复位信号。

一种利用fpga实现非复用总线与复用总线的互联方法,包括读周期方法和写周期方法两部分;所述读周期方法,包括以下步骤:

步骤1、首先由mcu通过非复用总线给出地址、给出片选信号、读使能信号和地址有效信号;

步骤2、fpga系统端程序通过状态机,使得非复用总线时序满足设备的读时序要求,实现在每个读使能信号下降沿来的时候,把设备端数据地址复用总线上的8bit数据送到mcu处理器端的数据端口;

步骤3、当设备接收到数据且接收缓冲器满时,其中断引脚会产生低电平的中断信号,fpga只要接收到低电平中断信号,将中断发送给mcu处理器,从而触发mcu处理器的外部中断,在mcu处理器的中断服务程序中通过读函数将数据读取到mcu的接收缓冲器中,从而数据被读取;

所述写周期方法,包括以下步骤:

步骤1、首先由mcu通过非复用总线给出地址、给出片选信号、写使能信号和地址有效信号;

步骤2、fpga系统端程序通过状态机,使得非复用总线时序满足设备的写时序要求,实现在每个写使能信号下降沿来的时候,mcu处理器端的数据端口上的8bit数据写入fpga内部寄存器中,当写条件满足则将数据从fpga内部寄存器送到设备端数据地址复用总线上,从而写入设备的发送缓冲器。

本发明的优点和有益效果:

本发明使用fpga作为mcu处理器和设备之间的接口,mcu处理器端异步读写时序采用的是非地址/数据复用模式,而设备端地址/数据是分时复用的。处理器的控制信号经过fpga内部逻辑产生设备需要的控制信号,同时满足设备的读写时序要求。本发明利用fpga实现非复用总线与复用总线的互联,即用fpga来实现mcu处理器与外部设备接口之间无缝对接,实现类似于intel早期芯片组中南桥芯片的功能,fpga可灵活配置。

附图说明

图1为本发明的硬件接口原理框图;

图2为本发明的fpga内部逻辑框图;

图3为本发明的fpga内部读写时序状态跳转图。

具体实施方式

以下结合附图对本发明实施例作进一步详述:

一种利用fpga实现非复用总线与复用总线互联装置,如图1所示,包括mcu处理器、fpga系统和设备;所述fpga系统分别与mcu处理器和设备相连接,mcu处理器用于读取设备端发送到fpga系统中的数据,并把发送到设备端的数据写入fpga系统中;fpga系统则根据设备端读写时序产生控制信号(读/写信号、地址锁存信号)控制设备端的总线写地址与读写数据,进而实现mcu处理器对设备的读写操作,最终达到mcu处理器通过设备与外界通信的目的。

在本实施例中,所述mcu处理器与fpga系统之间采用mcu处理器的gpmc总线进行数据的传输,mcu处理器与fpga相连的数据总线、地址总线和控制总线有mcu的低12位地址总线gpmc_地址[11:0]、低8位数据总线gpmc_数据[7:0]、静态存储器片选信号(gpmc_片选)且低电平有效、写使能信号(gpmc_写使能)且低电平有效、读使能信号(gpmc_读使能)且低电平有效、地址有效信号(gpmc_地址有效)且低电平有效、外部中断信号且低电平有效和复位信号且低电平有效。

在本实施例中,所述fpga系统与设备相连的信号线有数据地址复用的8位总线地址数据[7:0]、片选信号[3:0]、读信号、写信号、地址锁存信号、fpga_中断信号和复位信号。

fpga内部实现的逻辑框图如图2所示。信号gpmc_地址[11:0]是单向的,由接口控制逻辑模块输入地址,与设备读写相关的控制信号,无论读写,都必须先输出地址。信号gpmc_数据[7:0]是双向流通的,而地址数据[7:0]信号是地址/数据分时复用的。读写模块由双端口接口组成,输入、输出设计分开。读写模块在与接口控制逻辑接口模块相连接时,输出的数据与输入的数据也设计分开。通用读写模块的开启信号与读/写选择信号也由接口控制逻辑给出。fpga内部主要逻辑控制程序采用三段式状态机的形式,其状态跳转图如图3所示,fpga通过状态机控制设备端读写操作,实现gpmc接口与设备端通讯过程中非地址数据复用总线与地址数据复用总线之间的匹配与转换。整个周期包括总线空闲s0、地址锁存(s1和s2)、读数据(s3_r和s4_r)和写数据(s3_w和s4_w)6个状态,fpga是本系统的核心,它根据gpmc总线读写时序和设备端读写时序,通过状态机控制着不同读写状态的各个信号,从而实现mcu处理器对设备端总线的读写控制。

一种利用fpga实现非复用总线与复用总线的互联方法,包括读周期方法和写周期方法两部分;

以读周期为例,包括以下步骤:

步骤1、首先由mcu通过非复用总线给出地址、给出片选信号、读使能信号和地址有效信号;

步骤2、fpga系统端程序通过状态机,使得非复用总线时序满足设备的读时序要求,实现在每个读使能信号(gpmc_读使能)下降沿来的时候,把设备端数据地址复用总线(数据地址[7:0])上的8bit数据送到mcu处理器端的数据(gpmc_数据[7:0])端口;

步骤3、当设备接收到数据且接收缓冲器满时,其中断引脚会产生低电平的中断信号,fpga只要接收到低电平中断信号,将中断发送给mcu处理器,从而触发mcu处理器的外部中断,在mcu处理器的中断服务程序中通过读函数将数据读取到mcu的接收缓冲器中,从而数据被读取;

同样以写周期为例,包括以下步骤:

步骤1、首先由mcu通过非复用总线给出地址、给出片选信号、写使能信号和地址有效信号;

步骤2、fpga系统端程序通过状态机,使得非复用总线时序满足设备的写时序要求,实现在每个写使能信号(gpmc_写使能)下降沿来的时候,mcu处理器端的数据(gpmc_数据[7:0])端口上的8bit数据写入fpga内部寄存器中,当写条件满足则将数据从fpga内部寄存器送到设备端数据地址复用总线(数据地址[7:0])上,从而写入设备的发送缓冲器。

需要强调的是,本发明所述实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1