通过cpci总线读写板外ram数据的方法及板外数据读写模块

文档序号:1952535 发布日期:2021-12-10 浏览:17次 >En<

阅读说明:本技术 通过cpci总线读写板外ram数据的方法及板外数据读写模块 (Method for reading and writing off-board RAM data through CPCI bus and off-board data reading and writing module ) 是由 崔晓颖 田兴科 赵立臻 王英胜 王莹 刘淑云 杨硕 林桔秋 郭黎霞 于 2021-09-28 设计创作,主要内容包括:本发明属于CPCI总线数据处理技术领域,具体涉及一种通过CPCI总线读写板外RAM数据的方法及板外数据读写模块。所述方法通过板外数据读写模块来实施,所述板外数据读写模块包括:CPCI从设备配置模块、CPCI从设备初始化模块、RAM首地址获得模块、读RAM模块、写RAM模块;其中,嵌入式设备中的板卡1与板卡2通过CPCI总线相连。板卡1上的MPU为CPCI主设备,板卡2上的CPCI桥为CPCI从设备;所述方法用于实现板卡1读写板卡2上的RAM数据;本发明主要针对基于CPCI总线的嵌入式系统读写板外RAM数据的需求开发而成,通过对RAM中大量数据的读写,满足了系统对数据处理和系统控制的要求。(The invention belongs to the technical field of CPCI bus data processing, and particularly relates to a method for reading and writing off-board RAM data through a CPCI bus and an off-board data reading and writing module. The method is implemented by an off-board data read-write module, and the off-board data read-write module comprises the following steps: the CPCI slave device configuration module, the CPCI slave device initialization module, the RAM first address acquisition module, the RAM reading module and the RAM writing module; the board card 1 and the board card 2 in the embedded device are connected through a CPCI bus. The MPU on the board card 1 is a CPCI master device, and the CPCI bridge on the board card 2 is a CPCI slave device; the method is used for realizing the reading and writing of the RAM data on the board card 2 by the board card 1; the invention is developed mainly aiming at the requirement of reading and writing the RAM data outside the board of the embedded system based on the CPCI bus, and meets the requirements of the system on data processing and system control by reading and writing a large amount of data in the RAM.)

通过CPCI总线读写板外RAM数据的方法及板外数据读写模块

技术领域

本发明属于CPCI总线数据处理技术领域,具体涉及一种通过CPCI总线读写板外RAM数据的方法及板外数据读写模块。

背景技术

随着数字化水平的不断提高,系统的实时状态、历史数据和出厂参数等重要数据被记录并保存下来。这些数据被嵌入式设备中的一个板卡采集,保存在其上的RAM内,同时需要将这些数据提供给机内的其他板卡进行系统控制和显示之用。

嵌入式设备机内板卡间的数据交换通过机内总线完成,CPCI总线是被广泛使用的机内总线之一。CPCI总线是在PCI总线基础上改造而成,既通过改进连接器提高了可靠性和负载能力,并且支持热插拔,又继承了PCI总线技术。

CPCI总线的数据传输方式继承了PCI总线的数据传输方式。CPCI总线的数据传输操作方式是主从式,由CPCI主设备发起,CPCI从设备作为目标进行响应。CPCI总线上可以挂接CPCI设备和CPCI桥,只允许有1个主设备,其他均为从设备。当一些不具有CPCI接口的芯片若想作为一个CPCI设备被访问时,就需要CPCI桥的桥接。

由此可以看出,嵌入式设备中一块板卡上的RAM芯片若要想被机内另一个板卡访问,而这两块板卡间又是通过CPCI总线相连的话,就需要首先将RAM芯片用CPCI桥芯片将其与CPCI总线相连,然后这片RAM芯片才可以被CPCI总线上的设备访问。

正因为如此,各大设备提供商均积极开发了基于CPCI的芯片或桥芯片以供使用,如何实现通过CPCI总线读写板外RAM数据,正是本

技术领域

的热点研究课题。

发明内容

(一)要解决的技术问题

本发明要解决的技术问题是:在嵌入式设备中的板卡1与板卡2通过CPCI总线相连的情况下,板卡1如何读写板卡2上的RAM数据。

(二)技术方案

为解决上述技术问题,本发明提供一种通过CPCI总线读写板外RAM数据的方法,所述方法通过板外数据读写模块来实施,所述板外数据读写模块包括:CPCI从设备配置模块、CPCI从设备初始化模块、RAM首地址获得模块、读RAM模块、写RAM模块;

板卡1上的MPU为CPCI主设备,板卡2上的CPCI桥为CPCI从设备;板卡1与板卡2通过CPCI总线相连;所述方法用于实现板卡1读写板卡2上的RAM数据;

所述方法包括如下步骤:

步骤1:所述CPCI从设备配置模块将板卡2上的CPCI桥配置为CPCI总线上的CPCI从设备;

步骤2:所述CPCI从设备初始化模块按照Vender ID和设备ID初始化CPCI从设备;

步骤3:所述RAM首地址获得模块按照总线编号、设备编号和功能编号获得CPCI从设备的RAM空间首地址;

步骤4:所述读RAM模块获得CPCI从设备的指定RAM地址单元数据;

步骤5:所述写RAM模块将数据写入CPCI从设备的指定RAM地址单元。

其中,所述方法中,将RAM连接到CPCI桥上,将CPCI桥配置为CPCI总线上的从设备,CPCI总线上的主设备通过CPCI桥进行读写RAM数据的操作。

其中,所述步骤1中,将CPCI桥配置为CPCI从设备的过程中,Vender ID、设备ID、子系统ID和类码号为配置CPCI从设备的参数,将这些参数写入CPCI桥芯片的配置芯片,并将该配置存储在断电可保存的器件中;将配置芯片与PCI桥相连,通过该配置芯片完成对PCI桥的配置。

其中,所述步骤2中,初始化CPCI从设备的过程中,板卡1与板卡2是嵌入式设备中的两块板卡,通过底板的CPCI总线进行通讯;板卡1上的MPU运行在嵌入式操作系统VxWorks上,该设备为CPCI总线上的CPCI主设备;此MPU将步骤1中的Vender ID和设备ID作为搜索CPCI总线设备的参数,据此获得CPCI从设备的总线编号、设备编号和功能编号,完成对CPCI从设备的初始化。

其中,所述步骤3中,获得CPCI从设备的RAM空间首地址的过程中,RAM与CPCI从设备,即CPCI桥均位于板卡2上,将二者连接,则RAM成为CPCI总线接口的本地存储器;用步骤2获得的CPCI总线从设备的总线编号、设备编号和功能编号作为参数,获得RAM的首地址。

其中,所述步骤4中,获得CPCI从设备的指定RAM地址单元数据,即读RAM的过程中,每一个RAM单元都有一个绝对地址,该绝对地址由步骤3获得的首地址加上偏移地址而得,每一个绝对地址对应一个RAM单元,通过绝对地址读取RAM单元数据。

其中,所述步骤5中,将数据写入CPCI从设备的指定RAM地址单元,即写RAM的过程中,每一个RAM单元都有一个绝对地址,该绝对地址由步骤3获得的首地址加上偏移地址而得,每一个绝对地址对应一个RAM单元,通过绝对地址向RAM单元写数据。

此外,本发明还提供一种板外数据读写模块,其用于实施所述通过CPCI总线读写板外RAM数据的方法,所述板外数据读写模块包括:CPCI从设备配置模块、CPCI从设备初始化模块、RAM首地址获得模块、读RAM模块、写RAM模块;

所述CPCI从设备配置模块用于将板卡2上的CPCI桥配置为CPCI总线上的CPCI从设备;

所述CPCI从设备初始化模块用于按照Vender ID和设备ID初始化CPCI从设备;

所述RAM首地址获得模块用于按照总线编号、设备编号和功能编号获得CPCI从设备的RAM空间首地址;

所述读RAM模块用于获得CPCI从设备的指定RAM地址单元数据;

所述写RAM模块用于将数据写入CPCI从设备的指定RAM地址单元。

其中,所述CPCI从设备配置模块将CPCI桥配置为CPCI从设备的过程中,VenderID、设备ID、子系统ID和类码号为配置CPCI从设备的参数,将这些参数写入CPCI桥芯片的配置芯片,并将该配置存储在断电可保存的器件中;将配置芯片与PCI桥相连,通过该配置芯片完成对PCI桥的配置;

所述CPCI从设备初始化模块初始化CPCI从设备的过程中,板卡1与板卡2是嵌入式设备中的两块板卡,通过底板的CPCI总线进行通讯;板卡1上的MPU运行在嵌入式操作系统VxWorks上,该设备为CPCI总线上的CPCI主设备;此MPU将步骤1中的Vender ID和设备ID作为搜索CPCI总线设备的参数,据此获得CPCI从设备的总线编号、设备编号和功能编号,完成对CPCI从设备的初始化。

所述RAM首地址获得模块获得CPCI从设备的RAM空间首地址的过程中,RAM与CPCI从设备,即CPCI桥均位于板卡2上,将二者连接,则RAM成为CPCI总线接口的本地存储器;用步骤2获得的CPCI总线从设备的总线编号、设备编号和功能编号作为参数,获得RAM的首地址。

其中,所述读RAM模块获得CPCI从设备的指定RAM地址单元数据,即读RAM的过程中,每一个RAM单元都有一个绝对地址,该绝对地址由所述RAM首地址获得模块获得的首地址加上偏移地址而得,每一个绝对地址对应一个RAM单元,通过绝对地址读取RAM单元数据;

所述写RAM模块将数据写入CPCI从设备的指定RAM地址单元,即写RAM的过程中,每一个RAM单元都有一个绝对地址,该绝对地址由所述RAM首地址获得模块获得的首地址加上偏移地址而得,每一个绝对地址对应一个RAM单元,通过绝对地址向RAM单元写数据。

(三)有益效果

与现有技术相比较,本发明提供一种通过CPCI总线读写板外RAM数据的方法及板外数据读写模块,主要针对基于CPCI总线的嵌入式系统读写板外RAM数据的需求开发而成,通过对RAM中大量数据的读写,满足了系统对数据处理和系统控制的要求。

附图说明

图1为本发明的硬件结构图。

图2为本发明板卡1的工作流程图。

具体实施方式

为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

为解决上述技术问题,本发明提供一种通过CPCI总线读写板外RAM数据的方法,所述方法通过板外数据读写模块来实施,所述板外数据读写模块包括:CPCI从设备配置模块、CPCI从设备初始化模块、RAM首地址获得模块、读RAM模块、写RAM模块;

如图1所示,板卡1上的MPU为CPCI主设备,板卡2上的CPCI桥为CPCI从设备;板卡1与板卡2通过CPCI总线相连;所述方法用于实现板卡1读写板卡2上的RAM数据;

所述方法包括如下步骤:

步骤1:所述CPCI从设备配置模块将板卡2上的CPCI桥配置为CPCI总线上的CPCI从设备;

步骤2:所述CPCI从设备初始化模块按照Vender ID和设备ID初始化CPCI从设备;

步骤3:所述RAM首地址获得模块按照总线编号、设备编号和功能编号获得CPCI从设备的RAM空间首地址;

步骤4:所述读RAM模块获得CPCI从设备的指定RAM地址单元数据;

步骤5:所述写RAM模块将数据写入CPCI从设备的指定RAM地址单元。

其中,所述方法中,将RAM连接到CPCI桥上,将CPCI桥配置为CPCI总线上的从设备,CPCI总线上的主设备通过CPCI桥进行读写RAM数据的操作。

其中,所述步骤1中,将CPCI桥配置为CPCI从设备的过程中,Vender ID、设备ID、子系统ID和类码号为配置CPCI从设备的参数,将这些参数写入CPCI桥芯片的配置芯片,并将该配置存储在断电可保存的器件中;将配置芯片与PCI桥相连,通过该配置芯片完成对PCI桥的配置。

其中,所述步骤2中,初始化CPCI从设备的过程中,板卡1与板卡2是嵌入式设备中的两块板卡,通过底板的CPCI总线进行通讯;板卡1上的MPU运行在嵌入式操作系统VxWorks上,该设备为CPCI总线上的CPCI主设备;此MPU将步骤1中的Vender ID和设备ID作为搜索CPCI总线设备的参数,据此获得CPCI从设备的总线编号、设备编号和功能编号,完成对CPCI从设备的初始化。

其中,所述步骤3中,获得CPCI从设备的RAM空间首地址的过程中,RAM与CPCI从设备,即CPCI桥均位于板卡2上,将二者连接,则RAM成为CPCI总线接口的本地存储器;用步骤2获得的CPCI总线从设备的总线编号、设备编号和功能编号作为参数,获得RAM的首地址。

其中,所述步骤4中,获得CPCI从设备的指定RAM地址单元数据,即读RAM的过程中,每一个RAM单元都有一个绝对地址,该绝对地址由步骤3获得的首地址加上偏移地址而得,每一个绝对地址对应一个RAM单元,通过绝对地址读取RAM单元数据。

其中,所述步骤5中,将数据写入CPCI从设备的指定RAM地址单元,即写RAM的过程中,每一个RAM单元都有一个绝对地址,该绝对地址由步骤3获得的首地址加上偏移地址而得,每一个绝对地址对应一个RAM单元,通过绝对地址向RAM单元写数据。

此外,本发明还提供一种板外数据读写模块,其用于实施所述通过CPCI总线读写板外RAM数据的方法,所述板外数据读写模块包括:CPCI从设备配置模块、CPCI从设备初始化模块、RAM首地址获得模块、读RAM模块、写RAM模块;

所述CPCI从设备配置模块用于将板卡2上的CPCI桥配置为CPCI总线上的CPCI从设备;

所述CPCI从设备初始化模块用于按照Vender ID和设备ID初始化CPCI从设备;

所述RAM首地址获得模块用于按照总线编号、设备编号和功能编号获得CPCI从设备的RAM空间首地址;

所述读RAM模块用于获得CPCI从设备的指定RAM地址单元数据;

所述写RAM模块用于将数据写入CPCI从设备的指定RAM地址单元。

其中,所述CPCI从设备配置模块将CPCI桥配置为CPCI从设备的过程中,VenderID、设备ID、子系统ID和类码号为配置CPCI从设备的参数,将这些参数写入CPCI桥芯片的配置芯片,并将该配置存储在断电可保存的器件中;将配置芯片与PCI桥相连,通过该配置芯片完成对PCI桥的配置;

所述CPCI从设备初始化模块初始化CPCI从设备的过程中,板卡1与板卡2是嵌入式设备中的两块板卡,通过底板的CPCI总线进行通讯;板卡1上的MPU运行在嵌入式操作系统VxWorks上,该设备为CPCI总线上的CPCI主设备;此MPU将步骤1中的Vender ID和设备ID作为搜索CPCI总线设备的参数,据此获得CPCI从设备的总线编号、设备编号和功能编号,完成对CPCI从设备的初始化。

所述RAM首地址获得模块获得CPCI从设备的RAM空间首地址的过程中,RAM与CPCI从设备,即CPCI桥均位于板卡2上,将二者连接,则RAM成为CPCI总线接口的本地存储器;用步骤2获得的CPCI总线从设备的总线编号、设备编号和功能编号作为参数,获得RAM的首地址。

其中,所述读RAM模块获得CPCI从设备的指定RAM地址单元数据,即读RAM的过程中,每一个RAM单元都有一个绝对地址,该绝对地址由所述RAM首地址获得模块获得的首地址加上偏移地址而得,每一个绝对地址对应一个RAM单元,通过绝对地址读取RAM单元数据;

所述写RAM模块将数据写入CPCI从设备的指定RAM地址单元,即写RAM的过程中,每一个RAM单元都有一个绝对地址,该绝对地址由所述RAM首地址获得模块获得的首地址加上偏移地址而得,每一个绝对地址对应一个RAM单元,通过绝对地址向RAM单元写数据。

实施例1

本实施例包括如下步骤:

步骤1:配置CPCI从设备:Vender ID、设备ID、子系统ID和类码号等为配置CPCI从设备的参数,将这些参数写入CPCI桥芯片的配置芯片,并将该配置存储在断电可保存的器件中。将配置芯片与PCI桥相连,通过该配置芯片完成对PCI桥的配置。

步骤2:CPCI主设备初始化CPCI从设备:板卡1与板卡2是嵌入式设备中的两块板卡,通过底板的CPCI总线进行通讯。板卡1上的MPU运行在嵌入式操作系统VxWorks上,该设备为CPCI总线上的主设备。此MPU将步骤1中的Vender ID和设备ID作为搜索CPCI总线设备的参数,据此获得从设备的总线编号、设备编号和功能编号,完成对CPCI从设备的初始化。

步骤3:获得RAM首地址:RAM与CPCI从设备(即CPCI桥)均位于板卡2上,将二者连接,则RAM成为CPCI总线接口的本地存储器。用步骤2获得的CPCI总线从设备的总线编号、设备编号和功能编号作为参数,获得RAM的首地址。

步骤4:读RAM:每一个RAM单元都有一个绝对地址,该地址由步骤3获得的首地址加上偏移地址而得。每一个绝对地址对应一个RAM单元,通过绝对地址读取RAM单元数据。

步骤5:写RAM:每一个RAM单元都有一个绝对地址,该地址由步骤3获得的首地址加上偏移地址而得。每一个绝对地址对应一个RAM单元,通过绝对地址向RAM单元写数据。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:电子设备以及其控制方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!