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

文档序号:27926660发布日期:2021-12-11 11:49阅读:193来源:国知局
通过CPCI总线读写板外RAM数据的方法及板外数据读写模块与流程
通过cpci总线读写板外ram数据的方法及板外数据读写模块
技术领域
1.本发明属于cpci总线数据处理技术领域,具体涉及一种通过cpci总线读写板外ram数据的方法及板外数据读写模块。


背景技术:

2.随着数字化水平的不断提高,系统的实时状态、历史数据和出厂参数等重要数据被记录并保存下来。这些数据被嵌入式设备中的一个板卡采集,保存在其上的ram内,同时需要将这些数据提供给机内的其他板卡进行系统控制和显示之用。
3.嵌入式设备机内板卡间的数据交换通过机内总线完成,cpci总线是被广泛使用的机内总线之一。cpci总线是在pci总线基础上改造而成,既通过改进连接器提高了可靠性和负载能力,并且支持热插拔,又继承了pci总线技术。
4.cpci总线的数据传输方式继承了pci总线的数据传输方式。cpci总线的数据传输操作方式是主从式,由cpci主设备发起,cpci从设备作为目标进行响应。cpci总线上可以挂接cpci设备和cpci桥,只允许有1个主设备,其他均为从设备。当一些不具有cpci接口的芯片若想作为一个cpci设备被访问时,就需要cpci桥的桥接。
5.由此可以看出,嵌入式设备中一块板卡上的ram芯片若要想被机内另一个板卡访问,而这两块板卡间又是通过cpci总线相连的话,就需要首先将ram芯片用cpci桥芯片将其与cpci总线相连,然后这片ram芯片才可以被cpci总线上的设备访问。
6.正因为如此,各大设备提供商均积极开发了基于cpci的芯片或桥芯片以供使用,如何实现通过cpci总线读写板外ram数据,正是本技术领域的热点研究课题。


技术实现要素:

7.(一)要解决的技术问题
8.本发明要解决的技术问题是:在嵌入式设备中的板卡1与板卡2通过cpci总线相连的情况下,板卡1如何读写板卡2上的ram数据。
9.(二)技术方案
10.为解决上述技术问题,本发明提供一种通过cpci总线读写板外ram数据的方法,所述方法通过板外数据读写模块来实施,所述板外数据读写模块包括:cpci从设备配置模块、cpci从设备初始化模块、ram首地址获得模块、读ram模块、写ram模块;
11.板卡1上的mpu为cpci主设备,板卡2上的cpci桥为cpci从设备;板卡1与板卡2通过cpci总线相连;所述方法用于实现板卡1读写板卡2上的ram数据;
12.所述方法包括如下步骤:
13.步骤1:所述cpci从设备配置模块将板卡2上的cpci桥配置为cpci总线上的cpci从设备;
14.步骤2:所述cpci从设备初始化模块按照vender id和设备id初始化cpci从设备;
15.步骤3:所述ram首地址获得模块按照总线编号、设备编号和功能编号获得cpci从
设备的ram空间首地址;
16.步骤4:所述读ram模块获得cpci从设备的指定ram地址单元数据;
17.步骤5:所述写ram模块将数据写入cpci从设备的指定ram地址单元。
18.其中,所述方法中,将ram连接到cpci桥上,将cpci桥配置为cpci总线上的从设备,cpci总线上的主设备通过cpci桥进行读写ram数据的操作。
19.其中,所述步骤1中,将cpci桥配置为cpci从设备的过程中,vender id、设备id、子系统id和类码号为配置cpci从设备的参数,将这些参数写入cpci桥芯片的配置芯片,并将该配置存储在断电可保存的器件中;将配置芯片与pci桥相连,通过该配置芯片完成对pci桥的配置。
20.其中,所述步骤2中,初始化cpci从设备的过程中,板卡1与板卡2是嵌入式设备中的两块板卡,通过底板的cpci总线进行通讯;板卡1上的mpu运行在嵌入式操作系统vxworks上,该设备为cpci总线上的cpci主设备;此mpu将步骤1中的vender id和设备id作为搜索cpci总线设备的参数,据此获得cpci从设备的总线编号、设备编号和功能编号,完成对cpci从设备的初始化。
21.其中,所述步骤3中,获得cpci从设备的ram空间首地址的过程中,ram与cpci从设备,即cpci桥均位于板卡2上,将二者连接,则ram成为cpci总线接口的本地存储器;用步骤2获得的cpci总线从设备的总线编号、设备编号和功能编号作为参数,获得ram的首地址。
22.其中,所述步骤4中,获得cpci从设备的指定ram地址单元数据,即读ram的过程中,每一个ram单元都有一个绝对地址,该绝对地址由步骤3获得的首地址加上偏移地址而得,每一个绝对地址对应一个ram单元,通过绝对地址读取ram单元数据。
23.其中,所述步骤5中,将数据写入cpci从设备的指定ram地址单元,即写ram的过程中,每一个ram单元都有一个绝对地址,该绝对地址由步骤3获得的首地址加上偏移地址而得,每一个绝对地址对应一个ram单元,通过绝对地址向ram单元写数据。
24.此外,本发明还提供一种板外数据读写模块,其用于实施所述通过cpci总线读写板外ram数据的方法,所述板外数据读写模块包括:cpci从设备配置模块、cpci从设备初始化模块、ram首地址获得模块、读ram模块、写ram模块;
25.所述cpci从设备配置模块用于将板卡2上的cpci桥配置为cpci总线上的cpci从设备;
26.所述cpci从设备初始化模块用于按照vender id和设备id初始化cpci从设备;
27.所述ram首地址获得模块用于按照总线编号、设备编号和功能编号获得cpci从设备的ram空间首地址;
28.所述读ram模块用于获得cpci从设备的指定ram地址单元数据;
29.所述写ram模块用于将数据写入cpci从设备的指定ram地址单元。
30.其中,所述cpci从设备配置模块将cpci桥配置为cpci从设备的过程中,vender id、设备id、子系统id和类码号为配置cpci从设备的参数,将这些参数写入cpci桥芯片的配置芯片,并将该配置存储在断电可保存的器件中;将配置芯片与pci桥相连,通过该配置芯片完成对pci桥的配置;
31.所述cpci从设备初始化模块初始化cpci从设备的过程中,板卡1与板卡2是嵌入式设备中的两块板卡,通过底板的cpci总线进行通讯;板卡1上的mpu运行在嵌入式操作系统
vxworks上,该设备为cpci总线上的cpci主设备;此mpu将步骤1中的vender id和设备id作为搜索cpci总线设备的参数,据此获得cpci从设备的总线编号、设备编号和功能编号,完成对cpci从设备的初始化。
32.所述ram首地址获得模块获得cpci从设备的ram空间首地址的过程中,ram与cpci从设备,即cpci桥均位于板卡2上,将二者连接,则ram成为cpci总线接口的本地存储器;用步骤2获得的cpci总线从设备的总线编号、设备编号和功能编号作为参数,获得ram的首地址。
33.其中,所述读ram模块获得cpci从设备的指定ram地址单元数据,即读ram的过程中,每一个ram单元都有一个绝对地址,该绝对地址由所述ram首地址获得模块获得的首地址加上偏移地址而得,每一个绝对地址对应一个ram单元,通过绝对地址读取ram单元数据;
34.所述写ram模块将数据写入cpci从设备的指定ram地址单元,即写ram的过程中,每一个ram单元都有一个绝对地址,该绝对地址由所述ram首地址获得模块获得的首地址加上偏移地址而得,每一个绝对地址对应一个ram单元,通过绝对地址向ram单元写数据。
35.(三)有益效果
36.与现有技术相比较,本发明提供一种通过cpci总线读写板外ram数据的方法及板外数据读写模块,主要针对基于cpci总线的嵌入式系统读写板外ram数据的需求开发而成,通过对ram中大量数据的读写,满足了系统对数据处理和系统控制的要求。
附图说明
37.图1为本发明的硬件结构图。
38.图2为本发明板卡1的工作流程图。
具体实施方式
39.为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
40.为解决上述技术问题,本发明提供一种通过cpci总线读写板外ram数据的方法,所述方法通过板外数据读写模块来实施,所述板外数据读写模块包括:cpci从设备配置模块、cpci从设备初始化模块、ram首地址获得模块、读ram模块、写ram模块;
41.如图1所示,板卡1上的mpu为cpci主设备,板卡2上的cpci桥为cpci从设备;板卡1与板卡2通过cpci总线相连;所述方法用于实现板卡1读写板卡2上的ram数据;
42.所述方法包括如下步骤:
43.步骤1:所述cpci从设备配置模块将板卡2上的cpci桥配置为cpci总线上的cpci从设备;
44.步骤2:所述cpci从设备初始化模块按照vender id和设备id初始化cpci从设备;
45.步骤3:所述ram首地址获得模块按照总线编号、设备编号和功能编号获得cpci从设备的ram空间首地址;
46.步骤4:所述读ram模块获得cpci从设备的指定ram地址单元数据;
47.步骤5:所述写ram模块将数据写入cpci从设备的指定ram地址单元。
48.其中,所述方法中,将ram连接到cpci桥上,将cpci桥配置为cpci总线上的从设备,
cpci总线上的主设备通过cpci桥进行读写ram数据的操作。
49.其中,所述步骤1中,将cpci桥配置为cpci从设备的过程中,vender id、设备id、子系统id和类码号为配置cpci从设备的参数,将这些参数写入cpci桥芯片的配置芯片,并将该配置存储在断电可保存的器件中;将配置芯片与pci桥相连,通过该配置芯片完成对pci桥的配置。
50.其中,所述步骤2中,初始化cpci从设备的过程中,板卡1与板卡2是嵌入式设备中的两块板卡,通过底板的cpci总线进行通讯;板卡1上的mpu运行在嵌入式操作系统vxworks上,该设备为cpci总线上的cpci主设备;此mpu将步骤1中的vender id和设备id作为搜索cpci总线设备的参数,据此获得cpci从设备的总线编号、设备编号和功能编号,完成对cpci从设备的初始化。
51.其中,所述步骤3中,获得cpci从设备的ram空间首地址的过程中,ram与cpci从设备,即cpci桥均位于板卡2上,将二者连接,则ram成为cpci总线接口的本地存储器;用步骤2获得的cpci总线从设备的总线编号、设备编号和功能编号作为参数,获得ram的首地址。
52.其中,所述步骤4中,获得cpci从设备的指定ram地址单元数据,即读ram的过程中,每一个ram单元都有一个绝对地址,该绝对地址由步骤3获得的首地址加上偏移地址而得,每一个绝对地址对应一个ram单元,通过绝对地址读取ram单元数据。
53.其中,所述步骤5中,将数据写入cpci从设备的指定ram地址单元,即写ram的过程中,每一个ram单元都有一个绝对地址,该绝对地址由步骤3获得的首地址加上偏移地址而得,每一个绝对地址对应一个ram单元,通过绝对地址向ram单元写数据。
54.此外,本发明还提供一种板外数据读写模块,其用于实施所述通过cpci总线读写板外ram数据的方法,所述板外数据读写模块包括:cpci从设备配置模块、cpci从设备初始化模块、ram首地址获得模块、读ram模块、写ram模块;
55.所述cpci从设备配置模块用于将板卡2上的cpci桥配置为cpci总线上的cpci从设备;
56.所述cpci从设备初始化模块用于按照vender id和设备id初始化cpci从设备;
57.所述ram首地址获得模块用于按照总线编号、设备编号和功能编号获得cpci从设备的ram空间首地址;
58.所述读ram模块用于获得cpci从设备的指定ram地址单元数据;
59.所述写ram模块用于将数据写入cpci从设备的指定ram地址单元。
60.其中,所述cpci从设备配置模块将cpci桥配置为cpci从设备的过程中,vender id、设备id、子系统id和类码号为配置cpci从设备的参数,将这些参数写入cpci桥芯片的配置芯片,并将该配置存储在断电可保存的器件中;将配置芯片与pci桥相连,通过该配置芯片完成对pci桥的配置;
61.所述cpci从设备初始化模块初始化cpci从设备的过程中,板卡1与板卡2是嵌入式设备中的两块板卡,通过底板的cpci总线进行通讯;板卡1上的mpu运行在嵌入式操作系统vxworks上,该设备为cpci总线上的cpci主设备;此mpu将步骤1中的vender id和设备id作为搜索cpci总线设备的参数,据此获得cpci从设备的总线编号、设备编号和功能编号,完成对cpci从设备的初始化。
62.所述ram首地址获得模块获得cpci从设备的ram空间首地址的过程中,ram与cpci
从设备,即cpci桥均位于板卡2上,将二者连接,则ram成为cpci总线接口的本地存储器;用步骤2获得的cpci总线从设备的总线编号、设备编号和功能编号作为参数,获得ram的首地址。
63.其中,所述读ram模块获得cpci从设备的指定ram地址单元数据,即读ram的过程中,每一个ram单元都有一个绝对地址,该绝对地址由所述ram首地址获得模块获得的首地址加上偏移地址而得,每一个绝对地址对应一个ram单元,通过绝对地址读取ram单元数据;
64.所述写ram模块将数据写入cpci从设备的指定ram地址单元,即写ram的过程中,每一个ram单元都有一个绝对地址,该绝对地址由所述ram首地址获得模块获得的首地址加上偏移地址而得,每一个绝对地址对应一个ram单元,通过绝对地址向ram单元写数据。
65.实施例1
66.本实施例包括如下步骤:
67.步骤1:配置cpci从设备:vender id、设备id、子系统id和类码号等为配置cpci从设备的参数,将这些参数写入cpci桥芯片的配置芯片,并将该配置存储在断电可保存的器件中。将配置芯片与pci桥相连,通过该配置芯片完成对pci桥的配置。
68.步骤2:cpci主设备初始化cpci从设备:板卡1与板卡2是嵌入式设备中的两块板卡,通过底板的cpci总线进行通讯。板卡1上的mpu运行在嵌入式操作系统vxworks上,该设备为cpci总线上的主设备。此mpu将步骤1中的vender id和设备id作为搜索cpci总线设备的参数,据此获得从设备的总线编号、设备编号和功能编号,完成对cpci从设备的初始化。
69.步骤3:获得ram首地址:ram与cpci从设备(即cpci桥)均位于板卡2上,将二者连接,则ram成为cpci总线接口的本地存储器。用步骤2获得的cpci总线从设备的总线编号、设备编号和功能编号作为参数,获得ram的首地址。
70.步骤4:读ram:每一个ram单元都有一个绝对地址,该地址由步骤3获得的首地址加上偏移地址而得。每一个绝对地址对应一个ram单元,通过绝对地址读取ram单元数据。
71.步骤5:写ram:每一个ram单元都有一个绝对地址,该地址由步骤3获得的首地址加上偏移地址而得。每一个绝对地址对应一个ram单元,通过绝对地址向ram单元写数据。
72.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1