CN107544927B - 一种双口ram跟随访问方法 - Google Patents
一种双口ram跟随访问方法 Download PDFInfo
- Publication number
- CN107544927B CN107544927B CN201710843828.7A CN201710843828A CN107544927B CN 107544927 B CN107544927 B CN 107544927B CN 201710843828 A CN201710843828 A CN 201710843828A CN 107544927 B CN107544927 B CN 107544927B
- Authority
- CN
- China
- Prior art keywords
- time
- data
- cpu
- port ram
- dual
- 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
Images
Landscapes
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种双口RAM跟随访问方法,包括以下步骤,A、MCU在等待跟随的时间段中,不断的检测上次写入的数据的状态,当检测到CPU读走上次写入的数据时,记录当前时刻;B、计算CPU下次读取数据的时刻;C、计算当前时刻与CPU下次读取数据的时刻的中间时刻,并计算MCU退出等待时刻;扩展板卡在中间时刻准备好数据等待CPU的读取操作。采用该方法可避免双口RAM的访问冲突,且可提高CPU与扩展板卡数据交互的速度。
Description
技术领域
本发明涉及堆芯冷却监测系统中的通信领域,更具体的说是涉及一种双口RAM跟随访问方法。
背景技术
双口RAM是在SRAM存储器上具有两套完全独立的数据线、地址线和读写控制线,并允许两个独立的系统同时对该存储器进行随机性的访问的存储器。目前,在堆芯冷却监测系统中,如见图1所示,CPU板卡通过AT96总线访问各扩展板卡的双口RAM,以实现和扩展板卡的数据交互。
现有CPU板卡与扩展板卡之间的交互通过抢旗帜位进行。当CPU侧抢占旗帜位时,扩展板卡是无法进行写操作的,必须等待CPU释放旗帜位,然后抢占旗帜位成功后才能执行写操作。这样就可能照成扩展板卡或者CPU板卡写操作的延迟。即现有的CPU板卡与扩展板卡之间数据交互的速度慢,尤其是在堆芯冷却监测系统中,其扩展板卡数量多,怎样提高CPU与扩展板卡数据交互的速度,是值得研究的。
发明内容
本发明为了解决上述技术问题提供一种双口RAM跟随访问方法,可避免双口RAM的访问冲突,且可提高CPU与扩展板卡数据交互的速度。
本发明通过下述技术方案实现:
一种双口RAM跟随访问方法,包括以下步骤,
A、MCU在等待跟随的时间段中,不断的检测上次写入的数据的状态,当检测到CPU读走上次写入的数据时,记录当前时刻;
B、计算CPU下次读取数据的时刻;
C、计算当前时刻之前且最靠近当前时刻的CPU开始读取数据时刻与CPU下次读取数据的时刻的中间时刻,并计算MCU退出等待时刻;所述当前时刻之前且最靠近当前时刻的CPU开始读取数据时刻=当前时刻-CPU读取上次数据所用时间长度;
D、扩展板卡在中间时刻准备好数据等待CPU的读取操作。
本方法通过双口RAM的访问方法,确保了CPU每次访问双口RAM均能访问到,并及时读取到MCU侧的最新数据,提升了数字化仪控平台的能力。扩展板卡根据CPU上次访问双口RAM的时间,从而计算CPU侧的运行周期,推算出下一时刻CPU访问双口RAM的时间,从而计算出CPU两次访问双口RAM的中间时刻,扩版板卡在此时刻就准备好数据,等待CPU来读取新数据,避免了双口RAM的读写冲突。本方法保证CPU板卡在访问各个扩展板卡时,被访问的扩展板卡数据以提前写好存入双口RAM中,这样就避免了双方的抢旗操作,有效的提高数据交互的速度。
作为优选,步骤A中,通过检测双口RAM输入区的标志实现对上次写入的数据的状态的判断。
作为优选,步骤B的具体方法为:根据双口RAM输入区标志中记录的CPU卡读取数据所消耗的时间,计算出CPU开始读取数据的时刻,并根据MCU的刷新周期得到CPU下次读取数据的时刻。
进一步的,所述CPU下次读取数据的时刻为CPU开始读取数据的时刻加上MCU的刷新周期,CPU的周期为MCU周期的整数倍。
作为优选,步骤C中,MCU退出等待时刻为中间时刻减去采集数据并写入双口RAM的时间,采集数据并写入双口RAM的时间即硬件操作时间。
作为优选,若在步骤A的等待跟随时间段,经过最大等待时间长度后仍未检测到CPU读走上次写入的数据,则跳出跟随等待状态,进行下一次数据准备。
本发明与现有技术相比,具有如下的优点和有益效果:
本发明方法的MCU跟随CPU访问双口RAM,确保了CPU每次访问双口RAM均能访问到,并及时读取到MCU侧的最新数据,避免了双口RAM的访问冲突,保证CPU板卡在访问各个扩展板卡时,被访问的扩展板卡数据以提前写好存入双口RAM中,这样就避免了双方的抢旗操作,有效的提高数据交互的速度。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为现有CPU和扩展板卡的双口RAM的连接示意图。
图2是扩展板卡的操作时序图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例1
一种双口RAM跟随访问方法,包括以下步骤,
A、MCU在等待跟随的时间段中,不断的检测上次写入的数据的状态,当检测到CPU读走上次写入的数据时,记录当前时刻;
B、计算CPU下次读取数据的时刻;
C、计算当前时刻之前且最靠近当前时刻的CPU开始读取数据时刻与CPU下次读取数据的时刻的中间时刻,并计算MCU退出等待时刻;所述当前时刻之前且最靠近当前时刻的CPU开始读取数据时刻=当前时刻-CPU读取上次数据所用时间长度;
D、扩展板卡在中间时刻准备好数据等待CPU的读取操作。
本发明是堆芯冷却监测系统的组成部分。堆芯冷却监测系统由CPU与不同的I/O扩展板卡组成。扩展板卡通过采集外部数据送于CPU,CPU经过处理后再将命令发送给扩展板卡,作为控制的输出。
如图2,扩展板卡的MCU代码在时间轴上,可以看成两部分:采集数据并写入双口RAM、跟随等待。图2中,A表示检测到CPU读取上次数据结束,记录当前时刻;B表示CPU卡读取上次数据所用时间长度;C表示CPU卡开始读取数据的时刻;D表示MCU的刷新周期时长,其中,CPU周期为MCU周期的整数倍;E表示CPU下次读取数据的时刻;F表示CPU读取两次读取数据的中间时刻;G表示采集数据并写入双口RAM所用时长;H表示MCU跳出等待开始准备下一次数据的时刻。由于采集数据并写入双口RAM主要是硬件操作时间,其时间长度相对跟随等待而言,时间较短且时间固定,那么MCU的主循环时间主要消耗在等待跟随上。采用上述方法,使得CPU在访问双口RAM时总是能及时地获取新数据,避免数据访问冲突。采用本方法其保证CPU板卡在访问各个扩展板卡时,被访问的扩展板卡数据以提前写好存入双口RAM中,这样就避免了双方的抢旗操作,有效的提高数据交互的速度。
基于上述方法,现公开一组详细实施方式。
实施例2
在等待跟随的时间段中,不断的检测双口RAM输入区的标志,以判断CPU是否读走上次写入的数据,当检测到标志清零,即CPU读取完数据时,MCU记录当前的时刻,并根据输入区标志中记录的CPU读取数据所消耗的时间,计算出CPU开始读取数据的时刻,用该时刻加上MCU的刷新周期,即可得到CPU下次读取数据的时刻,根据CPU两次读取数据的时刻计算中间时刻,并减去硬件操作时间,即可得到退出等待开始下一次采集数据的时刻。
若在等待跟随中未检测到CPU读取输入区数据,那么MCU在经过最大等待时间长度后,跳出跟随等待,进行下一次数据准备。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种双口RAM跟随访问方法,其特征在于,包括以下步骤,
A、MCU在等待跟随的时间段中,不断的检测上次写入的数据的状态,当检测到CPU读走上次写入的数据时,记录当前时刻;
B、计算CPU下次读取数据的时刻;
C、计算当前时刻之前且最靠近当前时刻的CPU开始读取数据时刻与CPU下次读取数据的时刻的中间时刻,并计算MCU退出等待时刻;所述当前时刻之前且最靠近当前时刻的CPU开始读取数据时刻=当前时刻-CPU读取上次数据所用时间长度;
D、扩展板卡在中间时刻准备好数据等待CPU的读取操作。
2.根据权利要求1所述的一种双口RAM跟随访问方法,其特征在于,步骤A中,通过检测双口RAM输入区的标志实现对上次写入的数据的状态的判断。
3.根据权利要求1所述的一种双口RAM跟随访问方法,其特征在于,步骤B的具体方法为:根据双口RAM输入区标志中记录的CPU卡读取数据所消耗的时间,计算出CPU开始读取数据的时刻,并根据MCU的刷新周期得到CPU下次读取数据的时刻。
4.根据权利要求3所述的一种双口RAM跟随访问方法,其特征在于,所述CPU下次读取数据的时刻为CPU开始读取数据的时刻加上MCU的刷新周期。
5.根据权利要求1所述的一种双口RAM跟随访问方法,其特征在于,步骤C中,MCU退出等待时刻为中间时刻减去采集数据并写入双口RAM的时间。
6.根据权利要求1所述的一种双口RAM跟随访问方法,其特征在于,若在步骤A的等待跟随时间段,经过最大等待时间长度后仍未检测到CPU读走上次写入的数据,则跳出跟随等待状态,进行下一次数据准备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710843828.7A CN107544927B (zh) | 2017-09-19 | 2017-09-19 | 一种双口ram跟随访问方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710843828.7A CN107544927B (zh) | 2017-09-19 | 2017-09-19 | 一种双口ram跟随访问方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107544927A CN107544927A (zh) | 2018-01-05 |
CN107544927B true CN107544927B (zh) | 2020-06-23 |
Family
ID=60963987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710843828.7A Active CN107544927B (zh) | 2017-09-19 | 2017-09-19 | 一种双口ram跟随访问方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107544927B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110120922B (zh) * | 2019-05-14 | 2022-09-20 | 中核控制系统工程有限公司 | 一种基于fpga的数据交互网络管理系统及方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5671393A (en) * | 1993-10-01 | 1997-09-23 | Toyota Jidosha Kabushiki Kaisha | Shared memory system and arbitration method and system |
US5761728A (en) * | 1992-10-20 | 1998-06-02 | Fujitsu Limited | Asynchronous access system controlling processing modules making requests to a shared system memory |
US6247084B1 (en) * | 1997-10-08 | 2001-06-12 | Lsi Logic Corporation | Integrated circuit with unified memory system and dual bus architecture |
CN2664948Y (zh) * | 2003-09-26 | 2004-12-22 | 清华大学 | Mpc500处理器式电动汽车多能源动力总成控制装置 |
EP1550953A1 (en) * | 2003-12-29 | 2005-07-06 | CNX S.p.A. | Method and device implementing a time multiplexed access to a single dual port RAM from several data source with independent clocks |
CN200959610Y (zh) * | 2006-07-17 | 2007-10-10 | 朱宁宁 | 自动化系统中的一种通信网关 |
CN101236225A (zh) * | 2008-02-26 | 2008-08-06 | 南京因泰莱配电自动化设备有限公司 | 电网变压器监测装置及监测方法 |
CN101241484A (zh) * | 2008-02-22 | 2008-08-13 | 国电南京自动化股份有限公司 | 基于双口ram的双cpu保护信息共享系统及信息处理方法 |
CN101655824A (zh) * | 2009-08-25 | 2010-02-24 | 北京广利核系统工程有限公司 | 一种双口ram互斥访问的实现方法 |
CN203537414U (zh) * | 2013-10-16 | 2014-04-09 | 上海电力学院 | 基于嵌入式多微控制单元的通信协议转换装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7254191B2 (en) * | 2002-04-22 | 2007-08-07 | Cognio, Inc. | System and method for real-time spectrum analysis in a radio device |
-
2017
- 2017-09-19 CN CN201710843828.7A patent/CN107544927B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761728A (en) * | 1992-10-20 | 1998-06-02 | Fujitsu Limited | Asynchronous access system controlling processing modules making requests to a shared system memory |
US5671393A (en) * | 1993-10-01 | 1997-09-23 | Toyota Jidosha Kabushiki Kaisha | Shared memory system and arbitration method and system |
US6247084B1 (en) * | 1997-10-08 | 2001-06-12 | Lsi Logic Corporation | Integrated circuit with unified memory system and dual bus architecture |
CN2664948Y (zh) * | 2003-09-26 | 2004-12-22 | 清华大学 | Mpc500处理器式电动汽车多能源动力总成控制装置 |
EP1550953A1 (en) * | 2003-12-29 | 2005-07-06 | CNX S.p.A. | Method and device implementing a time multiplexed access to a single dual port RAM from several data source with independent clocks |
CN200959610Y (zh) * | 2006-07-17 | 2007-10-10 | 朱宁宁 | 自动化系统中的一种通信网关 |
CN101241484A (zh) * | 2008-02-22 | 2008-08-13 | 国电南京自动化股份有限公司 | 基于双口ram的双cpu保护信息共享系统及信息处理方法 |
CN101236225A (zh) * | 2008-02-26 | 2008-08-06 | 南京因泰莱配电自动化设备有限公司 | 电网变压器监测装置及监测方法 |
CN101655824A (zh) * | 2009-08-25 | 2010-02-24 | 北京广利核系统工程有限公司 | 一种双口ram互斥访问的实现方法 |
CN203537414U (zh) * | 2013-10-16 | 2014-04-09 | 上海电力学院 | 基于嵌入式多微控制单元的通信协议转换装置 |
Non-Patent Citations (1)
Title |
---|
基于令牌仲裁的双口RAM高速数据传输技术;鲁盈悦;《航空兵器》;20140228(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107544927A (zh) | 2018-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102325244B (zh) | 按时间快速定位录像的方法、录像存储控制装置及定位装置 | |
CN103019974B (zh) | 存储器访问处理方法及控制器 | |
CN106856098B (zh) | 一种用于DRAM或eDRAM刷新的装置及其方法 | |
CN102750257B (zh) | 基于访问信息调度的片上多核共享存储控制器 | |
CN100501701C (zh) | 存储器控制装置 | |
US20070050527A1 (en) | Synchronization method for a multi-processor system and the apparatus thereof | |
CN107544927B (zh) | 一种双口ram跟随访问方法 | |
CN113383317A (zh) | 一种处理装置、方法及相关设备 | |
EP2660820A1 (en) | Ddr controller, and method and chip for implementing same | |
CN100484047C (zh) | 一种信息缓存系统及方法 | |
CN108139879B (zh) | 一种数据访问的方法及内存控制器 | |
CN105302489A (zh) | 一种异构多核远程嵌入式存储器系统与方法 | |
CN102236622A (zh) | 提高动态存储器带宽利用率的动态存储器控制器及方法 | |
CN110990363A (zh) | 一种分布式数据库多线程协同事务日志回放方法、系统 | |
CN112084264B (zh) | 一种日志数据同步方法、装置及服务器 | |
CN108460047B (zh) | 数据同步方法及设备 | |
CN101236741A (zh) | 一种数据读写方法和装置 | |
CN111176559B (zh) | 数据写入方法及装置、双活系统 | |
CN105264608A (zh) | 存储数据的方法、内存控制器和中央处理器 | |
CN111399781B (zh) | 一种提高实时图像记录系统可靠性的存储方法 | |
JP5423483B2 (ja) | データ転送制御装置 | |
CN114661624A (zh) | 一种数据高效采集存储方法、系统、设备和存储介质 | |
CN102073604B (zh) | 一种同步动态存储器读写控制方法、装置和系统 | |
CN111880735B (zh) | 一种存储系统中数据迁移方法、装置、设备及存储介质 | |
CN112068948B (zh) | 数据散列方法、可读存储介质和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |