一种基于8051单片机的外挂RAM接口数据访问系统转让专利

申请号 : CN201510291300.4

文献号 : CN104915301B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李朋尹超赵鑫鑫

申请人 : 浪潮集团有限公司

摘要 :

本发明特别涉及一种基于8051单片机的外挂RAM接口数据访问系统。该基于8051单片机的外挂RAM接口数据访问系统,包括8051单片机,Wishbone master模块,FIFO模块,寄存器模块,RAM模块,中断控制模块和外部设备;所述8051单片机,FIFO模块,寄存器模块和RAM模块连接到Wishbone master模块,所述FIFO模块和寄存器模块通过中断控制模块与8051单片机相连。该基于8051单片机的外挂RAM接口数据访问系统,通过外挂RAM接口能够正确读写不同子模块的寄存器,FIFO,RAM等,可以兼容不同读取延时的子模块;另外,本发明还增加了暂存寄存器,采用两次读取命令和中断延迟的方法,使得8051单片机能够正确读取各个子模块的数据,本发明具有读取延时兼容性强、实施简便等特点,具有广阔的应用前景。

权利要求 :

1.一种基于8051单片机的外挂RAM接口数据访问系统,其特征在于:包括8051单片机,Wishbone master模块,FIFO模块,寄存器模块,RAM模块,中断控制模块和外部设备;将所述

8051单片机外挂RAM接口作为Wishbone总线协议的接口,所述8051单片机连接到Wishbone master模块,所述FIFO模块,寄存器模块和RAM模块通过Wishbone总线连接到Wishbone master模块,所述Wishbone master模块与Wishbone总线之间还连接有延迟控制模块,所述外部设备连接到FIFO模块和寄存器模块,所述FIFO模块和寄存器模块通过中断控制模块与

8051单片机相连。

2.根据权利要求1所述的基于8051单片机的外挂RAM接口数据访问系统,其特征在于:

所述FIFO模块、寄存器模块和RAM模块统一分配Wishbone基地址,所述寄存器模块和RAM模块分配多个偏移地址。

3.根据权利要求1所述的基于8051单片机的外挂RAM接口数据访问系统,其特征在于:

所述FIFO模块、寄存器模块和RAM模块还分别设有一个暂存寄存器,分别存储从FIFO模块、寄存器模块和RAM模块读取的数据。

4.根据权利要求3所述的基于8051单片机的外挂RAM接口数据访问系统,其特征在于:

所述FIFO模块、寄存器模块和RAM模块的暂存寄存器统一分配Wishbone基地址。

5.根据权利要求1、2、3或4所述的基于8051单片机的外挂RAM接口数据访问系统的访问方法,其特征在于:所述Wishbone master模块将8051单片机的地址,数据和读写使能信号转换为标准的Wishbone总线信号,并通过Wishbone总线访问FIFO模块,寄存器模块,RAM模块以及FIFO模块、寄存器模块和RAM模块三者分别的暂存寄存器;外部设备引起FIFO模块和寄存器模块的数据变化,产生中断时,中断控制模块将中断信号延迟到8051单片机,读命令对结束时再对8051单片机进行中断,其具体实现为:所述8051单片机发送FIFO模块,寄存器模块和RAM模块任一模块的地址读操作命令到对应模块,经过一定的延迟后,对应模块数据被读入对应的暂存寄存器;之后8051单片机发送对应的暂存寄存器地址读操作命令,将对应的暂存寄存器的数据读入8051单片机;此时,中断信号再对8051单片机进行中断。

说明书 :

一种基于8051单片机的外挂RAM接口数据访问系统

技术领域

[0001] 本发明涉及单片机应用技术领域,特别涉及一种基于8051单片机的外挂RAM接口数据访问系统。

背景技术

[0002] Wishbone 总线通过在IP核之间建立一个通用接口完成互连,可以用于在软核、固核以及硬核之间进行互联。相对于其他的IP核接口规范来说,Wishbone接口规范具有简单、开放、高效、利于实现等特点而且完全免费。基于上述优点,因此采用Wishbone总线进行接口设计。然而,Wishbone总线作为8051单片机系统总线协议时,8051单片机GPIO的数量不够。
[0003] 8051单片机对子模块数据的读取命令,要求在单片机命令的本时钟上升沿或下一个时钟上升沿将数据读回,所以在发出读操作命令的时候,要求读取的数据已经准备好。外部设备会引起FIFO模块和寄存器模块的数据变化,从而产生中断,8051单片机执行中断程序,对子模块的新数据进行读取,但是中断是任何时间都可能发生的,可能会打断8051单片机原来的读操作命令,导致中断程序执行完毕后,被打断的读操作命令无法正确执行。
[0004] 针对8051单片机GPIO的数量不够,以及中断造成单片机无法正确执行读操作命令等问题,本发明提出了一种基于8051单片机的外挂RAM接口数据访问系统。旨在兼容不同读取延时的子模块,并保证8051单片机能够正确读取各个子模块的数据。

发明内容

[0005] 本发明为了弥补现有技术的缺陷,提供了一种兼容性强的基于8051单片机的外挂RAM接口数据访问系统。
[0006] 本发明是通过如下技术方案实现的:
[0007] 一种基于8051单片机的外挂RAM接口数据访问系统,其特征在于:包括8051单片机,Wishbone master模块,FIFO模块,寄存器模块,RAM模块,中断控制模块和外部设备;将所述8051单片机外挂RAM接口作为Wishbone总线协议的接口,所述8051单片机连接到Wishbone master模块,所述FIFO模块,寄存器模块和RAM模块通过Wishbone总线连接到Wishbone master模块,所述Wishbone master模块与Wishbone总线之间还连接有延迟控制模块,所述外部设备连接到FIFO模块和寄存器模块,所述FIFO模块和寄存器模块通过中断控制模块与8051单片机相连。
[0008] 所述FIFO模块、寄存器模块和RAM模块统一分配Wishbone基地址,所述寄存器模块和RAM模块分配多个偏移地址。
[0009] 所述FIFO模块、寄存器模块和RAM模块还分别设有一个暂存寄存器,分别存储从FIFO模块、寄存器模块和RAM模块读取的数据。
[0010] 所述FIFO模块、寄存器模块和RAM模块的暂存寄存器统一分配Wishbone基地址。
[0011] 本发明基于8051单片机的外挂RAM接口数据访问系统的访问方法,其特征在于:所述Wishbone master模块将8051单片机的地址、数据和读写使能信号转换为标准的Wishbone总线信号,并通过Wishbone总线访问FIFO模块,寄存器模块,RAM模块以及FIFO模块、寄存器模块和RAM模块三者分别的暂存寄存器;外部设备引起FIFO模块和寄存器模块的数据变化,产生中断时,中断控制模块将中断信号延迟到8051单片机,读命令对结束时再对8051单片机进行中断,其具体实现为:
[0012] 所述8051单片机发送FIFO模块,寄存器模块和RAM模块任一模块的地址读操作命令到对应模块,经过一定的延迟后,对应模块数据被读入对应的暂存寄存器;之后8051单片机发送对应的暂存寄存器地址读操作命令,将对应的暂存寄存器的数据读入8051单片机;此时,中断信号再对8051单片机进行中断。
[0013] 本发明的有益效果是:该基于8051单片机的外挂RAM接口数据访问系统,通过外挂RAM接口能够正确读写不同子模块的寄存器,FIFO,RAM等,可以兼容不同读取延时的子模块;另外,本发明还增加了暂存寄存器,采用两次读取命令和中断延迟的方法,使得8051单片机能够正确读取各个子模块的数据,本发明具有读取延时兼容性强、实施简便等特点,具有广阔的应用前景。

附图说明

[0014] 附图1为本发明基于8051单片机的外挂RAM接口数据访问系统逻辑模块结构示意图。

具体实施方式

[0015] 下面结合附图对本发明进行详细说明。
[0016] 该基于8051单片机的外挂RAM接口数据访问系统,包括8051单片机,Wishbone master模块,FIFO模块,寄存器模块,RAM模块,中断控制模块和外部设备;将所述8051单片机外挂RAM接口作为Wishbone总线协议的接口,所述8051单片机连接到Wishbone master模块,所述FIFO模块,寄存器模块和RAM模块通过Wishbone总线连接到Wishbone master模块,所述Wishbone master模块与Wishbone总线之间还连接有延迟控制模块,所述外部设备连接到FIFO模块和寄存器模块,所述FIFO模块和寄存器模块通过中断控制模块与8051单片机相连。
[0017] 所述FIFO模块、寄存器模块和RAM模块统一分配Wishbone基地址为16’h1000,16’h2000,16’h3000,所述寄存器模块和RAM模块分配多个偏移地址。
[0018] 由于FIFO模块的同一数据只能读取一次,所述FIFO模块、寄存器模块和RAM模块还分别设有一个暂存寄存器,分别存储从FIFO模块、寄存器模块和RAM模块读取的数据。
[0019] 所述FIFO模块、寄存器模块和RAM模块的暂存寄存器统一分配Wishbone基地址为16’h4000,16’h4001,16’h4002。
[0020] 该基于8051单片机的外挂RAM接口数据访问系统的访问方法,所述Wishbone master模块将8051单片机的地址、数据和读写使能信号转换为标准的Wishbone总线信号,并通过Wishbone总线访问FIFO模块,寄存器模块,RAM模块以及FIFO模块、寄存器模块和RAM模块三者分别的暂存寄存器;外部设备引起FIFO模块和寄存器模块的数据变化,产生中断时,中断控制模块将中断信号延迟到8051单片机读命令对结束时再对8051单片机进行中断。
[0021] 所述8051单片机发送FIFO模块,寄存器模块和RAM模块任一模块的地址读操作命令到对应模块,经过一定的延迟后,对应模块数据被读入对应的暂存寄存器;之后8051单片机发送对应的暂存寄存器地址读操作命令,将对应的暂存寄存器的数据读入8051单片机。
[0022] 读取FIFO模块数据时,8051单片机先发16’h1000地址读操作命令,经过一定的延迟后,FIFO模块数据被读入FIFO模块数据暂存寄存器。之后再发送16’h4000地址读操作命令,将FIFO模块数据暂存寄存器的数据读入8051单片机。
[0023] 读取寄存器模块数据时,8051单片机先发16’h2000地址读操作命令,经过一定的延迟后,寄存器模块数据被读入寄存器模块数据暂存寄存器。之后再发送16’h4001地址读操作命令,将寄存器模块数据暂存寄存器的数据读入8051单片机。
[0024] 读取RAM模块数据时,8051单片机先发16’h3000地址读操作命令,经过一定的延迟后,RAM模块数据被读入RAM模块数据暂存寄存器。之后再发送16’h4002地址读操作命令,将RAM模块数据暂存寄存器的数据读入8051单片机。
[0025] 考虑到8051单片机随时都有可能被中断打断,进而执行读新数据的读操作命令,可能导致被中断的读操作命令在中断程序执行完毕后,无法正确读取数据。本发明中断控制模块可以在8051单片机还没有执行完一个完整的读操作命令对时,将中断信号延迟到读命令对结束时再对8051单片机进行中断。