CN103885844B - 基于角色变换的双口ram数据高速安全交互方法及装置 - Google Patents
基于角色变换的双口ram数据高速安全交互方法及装置 Download PDFInfo
- Publication number
- CN103885844B CN103885844B CN201410112327.8A CN201410112327A CN103885844B CN 103885844 B CN103885844 B CN 103885844B CN 201410112327 A CN201410112327 A CN 201410112327A CN 103885844 B CN103885844 B CN 103885844B
- Authority
- CN
- China
- Prior art keywords
- block
- dual port
- port ram
- cpu system
- data high
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Hardware Redundancy (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种基于角色变换的双口RAM数据高速安全交互方法及装置,其中装置包括两个CPU系统、双口RAM和时钟模块,其中方法包括:1)初始化;2)将双口RAM分为数据交互区和状态交互区,其中数据交互区包括发送缓冲区和接收缓冲区,将发送缓冲区和接收缓冲区均分配三种角色区块:写入区块、读出区块和测试区块;3)若读出区块读完,将该区块变换为测试区块;4)若写入区块写完,将该区块变换为读出区块;5)若测试区块测试完,将该区块变换为写入区块;6)当时钟信号计数值达到接收发送周期,对三个区块进行角色轮换。与现有技术相比,本发明具有预防发现双口RAM硬件随机失效引起的数据失效或丢失、操作方便等优点。
Description
技术领域
本发明涉及一种双口RAM数据交互技术,尤其是涉及一种基于角色变换的双口RAM数据高速安全交互方法及装置。
背景技术
应用在轨道交通行业的轨旁安全设备,是由多块板卡组成的多CPU系统,各个板卡会交互大量的数据,包括状态信息和控制命令等。一些系统中引入了双口RAM,在多板卡间进行数据交互的方法,但这些方法有以下不足:
(1)不能预防由双口RAM硬件随机失效而引起的数据失效或丢失,导致不能满足轨道安全设备的安全性要求
(2)不能有效地避免多CPU访问共享双口RAM而引起的访问冲突问题;
(3)使用中断和信号量机制,使软硬件设计难度加大,增加了开发成本。
轨旁安全设备中传输的数据包含了大量的安全控制信息,在数据传输的过程中,需要保证这些数据的完整性、正确性,一旦出现差错,可能在控制系统中引起灾难性的后果。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于角色变换的双口RAM数据高速安全交互方法及装置,解决了因双口RAM硬件随机失效引起的数据失效或者失真、双口RAM出现共模失效,有效避免了多板卡访问双口RAM出现的访问冲突,提高了抗干扰能力,保证了传输数据的完整性、正确性和安全性。
本发明的目的可以通过以下技术方案来实现:
一种基于角色变换的双口RAM数据高速安全交互方法,其特征在于,包括以下步骤:
1)在两个CPU系统启动后,进行初始化,同时在时钟模块初始化后,为两个CPU提供统一的时钟信号;
2)将双口RAM分为数据交互区和状态交互区,其中数据交互区包括发送缓冲区和接收缓冲区,将发送缓冲区和接收缓冲区均分配三种角色区块:写入区块、读出区块和测试区块;
3)双口RAM判断读出区块内容是否读完,若读完,将该区块设置的标志变换为测试区块,下个周期对该区块进行测试;
4)双口RAM判断写入区块内容是否写完,若写完,将该区块设置的标志变换为读出区块,下个周期对该区块进行读出;
5)双口RAM判断测试区块内容是否测试完,若测试完,将该区块设置的标志变换为写入区块,下个周期可以对该区块进行写入;
6)当时钟信号计数值达到接收发送周期(28ms),对三个区块进行角色轮换。
所述的时钟模块提供1mS周期的时钟信号,在两个CPU系统上产生外部时钟信号中断,同时两个CPU系统对中断进行计数。
所述的双口RAM大小为128KB,其中数据交互区为126KB,状态交互区为2KB,所述的发送缓冲区和接收缓冲区均为63KB,所述的写入区块、读出区块和测试区块均为21KB。
所述的状态交互区用作存储两个CPU系统交互状态信息和告警信息。
所述的测试区块判断是否发现硬件随机失效,若有,在状态交互区中记录该状态和告警信息。
所述的双口RAM的三个区块,在任意一个周期,只能处于一种角色,而且这三个角色进行周期轮换,如表1所示。
表1
区块A | 区块B | 区块C | 周期 |
写入区 | 读出区 | 测试区 | 1 |
读出区 | 测试区 | 写入区 | 2 |
测试区 | 写入区 | 读出区 | 3 |
写入区 | 读出区 | 测试区 | 4 |
…… | …… | …… | …… |
一种基于角色变换的双口RAM数据高速安全交互方法的装置,其特征在于,包括第一CPU系统、第二CPU系统、双口RAM和时钟模块,所述的第一CPU系统和第二CPU系统与双口RAM的两端连接,所述的时钟模块分别通过时钟信号线与第一CPU系统、第二CPU系统连接。
所述的双口RAM内嵌于第二CPU系统中,并通过local bus总线与第二CPU系统连接。
所述的第一CPU系统通过PCI总线与双口RAM连接。
所述的第一CPU系统和第二CPU系统所用的操作系统均为vxWorks嵌入式操作系统。
与现有技术相比,本发明具有以下优点:
1)双口RAM接口电路简单,不需要设计额外的逻辑接口电路,操作简便;
2)传输数据速度高、数据量大,传输数据完整性、正确性比较高;
3)用硬件失效诊断算法进行双口RAM检测,可以预防发现双口RAM硬件随机失效引起的数据失效或丢失;
4)通过周期性的角色轮换,可以有效的防止访问冲突的发生。
5)不需要使用信号量和中断防冲突机制,降低了软件和硬件设计难度。
附图说明
图1为本发明周期n的流程图;
图2为本发明周期n+1的流程图;
图3为本发明周期n+2的流程图;
图4为本发明周期n+3的流程图;
图5为本发明的硬件结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
如图1-4所示,一种基于角色变换的双口RAM数据高速安全交互方法,该方法包括以下步骤:
1)在两个CPU系统启动后,进行初始化,同时时钟模块初始化后,为两个CPU提供统一的时钟信号,时钟模块会提供1ms周期的时钟信号,在两个CPU系统上产生外部时钟信号中断,两个CPU系统对中断进行计数。
2)将整个128KB的双口RAM,分为数据交互区和状态交互区,其中数据交互区分为上下数据缓冲区模块,大小都为63KB,其中上模块为发送缓冲区,下模块为接收缓冲区,根据时钟信号的计数值,为两个缓冲区分配三种角色区块:写入区块、读出区块、测试区块,每个区块的大小都为21KB;状态交互区的大小为2KB,用作两个CPU系统交互状态信息和告警信息;
3)读出区块内容是否读完,如果读完,将该区块设置的标志变换为测试区块,下个周期对该区块进行测试;
4)写入区块内容是否写完,如果写完,将该区块设置的标志变换为读出区块,下个周期对该区块进行读出;
5)测试区块内容是否测试完,如果测试完,将该区块设置的标志变换为写入区块,下个周期可以对该区块进行写入;
6)对测试区块进行检测,是否发现硬件随机失效,若有在状态交互区中进行记录状态和告警信息。
7)当时钟信号计数值达到28(ms),就为一个接受发送周期,对三个区块的角色进行轮换。
如图5所示一种基于角色变换的双口RAM数据高速安全交互装置,该装置包括:第一CPU系统a、第二CPU系统c、双口RAM模块b和时钟模块f,所述的第一CPU系统a包含微处理器、RAM、Nor Flash、PCI控制器;所述的第二CPU系统c,包含微处理器、RAM、PCI控制器,所述的双口RAM模块b内嵌于第二CPU系统c上,第一CPU系统a和第二CPU系统c与双口RAM模块b的两端相连,第一CPU系统a通过PCI总线d与双口RAM模块b连接,第二CPU系统c通过local bus总线e与双口RAM模块b连接;时钟模块f分别与第一CPU系统a、第二CPU系统c通过时钟信号线相连,所述的第一CPU系统a和第二CPU系统c所用的操作系统为vxWorks嵌入式操作系统。
1、第一CPU系统a:
从双口RAM模块b的接收缓冲区中获取数据,进行逻辑运算,并逻辑运算结果放到双口RAM模块b的发送缓冲区中,并对接收到时钟中断进行计数。
2、第二CPU系统c:
从双口RAM模块b的发送缓冲区中获取数据,进行相应处理。同时将一些状态信息和控制数据放入双口RAM模块b的接收缓冲区中,并对接收到时钟中断进行计数。第二CPU系统c通过local BUS与双口RAM模块b直接相连,由第二CPU系统c对双口RAM模块b的测试区进行测试,并将测试结果状态放入状态交互区。
3、双口RAM模块b:
作为第一CPU系统a和第二CPU系统c的数据交互缓冲区,整个128KB的双口RAM被分为数据交互区和状态交互区,其中数据交互区被分为上下两个模块,大小都为63KB,作为数据交互缓冲区。而剩下的2KB作为控制和状态信息区。
3、时钟模块f:
时钟模块由两片82C54时钟芯片组成,两片时钟芯片互为冗余,增加时钟模块的可用性,时钟模块的时钟频率为1M赫兹,最大计数值为1000,向两个CPU系统提供1ms周期的时钟信号。
4、PCI总线d
在第一CPU系统a中有一个PCI桥接芯片,作为主PCI芯片,第一CPU系统a通过PCI总线与双口RAM模块b进行连接。
5、local bus总线e
第二CPU系统a通过local bus总线与双口RAM模块b进行连接。
Claims (10)
1.一种基于角色变换的双口RAM数据高速安全交互方法,其特征在于,包括以下步骤:
1)在两个CPU系统启动后,进行初始化,同时在时钟模块初始化后,为两个CPU系统提供统一的时钟信号;
2)将双口RAM分为数据交互区和状态交互区,其中数据交互区包括发送缓冲区和接收缓冲区,将发送缓冲区和接收缓冲区均分配三种角色区块:写入区块、读出区块和测试区块;
3)双口RAM判断读出区块内容是否读完,若读完,将该区块设置的标志变换为测试区块,下个周期对该区块进行测试;
4)双口RAM判断写入区块内容是否写完,若写完,将该区块设置的标志变换为读出区块,下个周期对该区块进行读出;
5)双口RAM判断测试区块内容是否测试完,若测试完,将该区块设置的标志变换为写入区块,下个周期可以对该区块进行写入;
6)当时钟信号计数值达到接收发送周期,对三个区块进行角色轮换。
2.根据权利要求1所述的一种基于角色变换的双口RAM数据高速安全交互方法,其特征在于,所述的时钟模块提供1ms周期的时钟信号,在两个CPU系统上产生外部时钟信号中断,同时两个CPU系统对中断进行计数。
3.根据权利要求1所述的一种基于角色变换的双口RAM数据高速安全交互方法,其特征在于,所述的双口RAM大小为128KB,其中数据交互区为126KB,状态交互区为2KB,所述的发送缓冲区和接收缓冲区均为63KB,所述的写入区块、读出区块和测试区块均为21KB。
4.根据权利要求2所述的一种基于角色变换的双口RAM数据高速安全交互方法,其特征在于,所述的状态交互区用作存储两个CPU系统交互状态信息和告警信息。
5.根据权利要求1所述的一种基于角色变换的双口RAM数据高速安全交互方法,其特征在于,所述的测试区块判断是否发现硬件随机失效,若有,在状态交互区中记录该状态和告警信息。
6.根据权利要求1所述的一种基于角色变换的双口RAM数据高速安全交互方法,其特征在于,所述的双口RAM的三个区块,在任意一个周期,只能处于一种角色,而且这三个角色进行周期轮换。
7.一种如权利要求1-6中任一的基于角色变换的双口RAM数据高速安全交互方法的装置,其特征在于,包括第一CPU系统、第二CPU系统、双口RAM和时钟模块,所述的第一CPU系统和第二CPU系统与双口RAM的两端连接,所述的时钟模块分别通过时钟信号线与第一CPU系统、第二CPU系统连接。
8.根据权利要求7所述的一种基于角色变换的双口RAM数据高速安全交互方法的装置,其特征在于,所述的双口RAM内嵌于第二CPU系统中,并通过localbus总线与第二CPU系统连接。
9.根据权利要求7所述的一种基于角色变换的双口RAM数据高速安全交互方法的装置,其特征在于,所述的第一CPU系统通过PCI总线与双口RAM连接。
10.根据权利要求7所述的一种基于角色变换的双口RAM数据高速安全交互方法的装置,其特征在于,所述的第一CPU系统和第二CPU系统所用的操作系统均为vxWorks嵌入式操作系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410112327.8A CN103885844B (zh) | 2014-03-25 | 2014-03-25 | 基于角色变换的双口ram数据高速安全交互方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410112327.8A CN103885844B (zh) | 2014-03-25 | 2014-03-25 | 基于角色变换的双口ram数据高速安全交互方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103885844A CN103885844A (zh) | 2014-06-25 |
CN103885844B true CN103885844B (zh) | 2016-11-09 |
Family
ID=50954752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410112327.8A Active CN103885844B (zh) | 2014-03-25 | 2014-03-25 | 基于角色变换的双口ram数据高速安全交互方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103885844B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106547719A (zh) * | 2016-09-26 | 2017-03-29 | 中国电子科技集团公司第二十九研究所 | 一种系统通信和控制处理同步方法 |
CN110209612B (zh) * | 2019-06-05 | 2021-04-13 | 中核控制系统工程有限公司 | 一种基于多状态的dpram访问方法及系统 |
CN111190852A (zh) * | 2019-12-06 | 2020-05-22 | 中国航空工业集团公司洛阳电光设备研究所 | 基于双口的PowerPC与Microblaze交互系统及交互方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100222180B1 (ko) * | 1997-06-28 | 1999-10-01 | 김영환 | 비동기전송모드 단말기에서 중앙처리장치가 비동기전송모드응용 계층을 처리하는 장치 및 그 방법 |
CN1504884A (zh) * | 2002-11-29 | 2004-06-16 | 华为技术有限公司 | 一种对同步动态随机存储器自测试的方法及其装置 |
CN1282344C (zh) * | 2004-03-19 | 2006-10-25 | 中兴通讯股份有限公司 | 实现atm通用物理测试和操作接口流量整形的方法和装置 |
CN101141658A (zh) * | 2007-03-08 | 2008-03-12 | 中兴通讯股份有限公司 | 双口ram中断功能的测试方法 |
-
2014
- 2014-03-25 CN CN201410112327.8A patent/CN103885844B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103885844A (zh) | 2014-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103885844B (zh) | 基于角色变换的双口ram数据高速安全交互方法及装置 | |
CN105573951B (zh) | 一种针对数据流传输的ahb总线接口系统 | |
CN102495920B (zh) | 一种FPGA用基于PCIe的集成化逻辑分析模块 | |
CN103970634B (zh) | 一种大型互连芯片用基于添加检测逻辑的背靠背环回验证方法 | |
CN105243044B (zh) | 基于串口的管理系统及管理方法 | |
CN103558812B (zh) | 基于fpga和arm的mvb网络四类设备网卡 | |
CN203456071U (zh) | Led显示屏异步控制卡及led显示屏系统 | |
CN105208034A (zh) | 一种spi总线与can总线协议转换电路及方法 | |
CN203260029U (zh) | 基于fpga的系统芯片原型验证调试装置 | |
CN104699654A (zh) | 一种基于chi片内互联总线与qpi片间互联总线互联适配系统和方法 | |
CN103823785B (zh) | 一种基于dsp和cpld开发的多路arinc429数据收发电路结构 | |
CN204256732U (zh) | 基于PCI-Express接口的高速数据传输装置 | |
CN104050121B (zh) | 双收双发可编程arinc429通讯接口芯片 | |
CN101706747A (zh) | 一种可编程逻辑的信息处理方法、装置和系统 | |
CN203746067U (zh) | 一种基于dsp和cpld开发的多路arinc429数据收发电路结构 | |
CN105279123A (zh) | 双冗余1553b总线的串口转换结构及转换方法 | |
CN105573947B (zh) | 一种基于apb总线的sd/mmc卡控制方法 | |
CN103077144A (zh) | 一种确保数据完整的spi通讯接口及其通讯方法 | |
CN108153624B (zh) | 适用于ngff插槽的测试电路板 | |
CN104780123A (zh) | 一种网络包收发处理装置及其设计方法 | |
CN208386577U (zh) | 基于m-lvds实时多主高速总线的通信系统 | |
CN203117968U (zh) | 一种spi通讯接口 | |
CN105259840A (zh) | 两电路板并行通信系统和方法 | |
CN103106174A (zh) | 一种复杂soc的片上通信方法 | |
CN107102965A (zh) | 一种数据处理电路、系统及数据处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |