[发明专利]一种保持数据传送一致性的方法及系统有效
申请号: | 201810552715.6 | 申请日: | 2018-05-31 |
公开(公告)号: | CN108984441B | 公开(公告)日: | 2020-06-02 |
发明(设计)人: | 贺昀彦 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | G06F13/20 | 分类号: | G06F13/20 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 张凯 |
地址: | 430000 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 保持 数据 传送 一致性 方法 系统 | ||
本发明公开了一种保持数据传送一致性的方法及系统,涉及计算机通信技术领域,采用本发明,需要写入信息时,将数据进行暂存合并,当信息的所有位都完整的获取了后才一次写入缓存;需要读取信息时,仅在CPU第一次读取某条信息时,就从缓存中取出整条信息所有位并暂存,根据总线数据线位宽和特定信息访问地址低位计算出待发送的数据位并送出,期间不会再从缓存中读取,避免信息读写一半造成CPU或FPGA中的信息一半新值,一半老值,实现了保障数据传送一致性;同时,避免了FPGA与CPU之间应答交互造成额外的RAM资源和时间消耗,且对误操作可以自行恢复。
技术领域
本发明涉及计算机通信技术领域,具体涉及一种保持数据传送一致性的方法及系统。
背景技术
CPU掌握了设备所有关键信息且长于复杂计算,而FPGA在性能和时间精度上占据优势。故两者常联合处理复杂又高效的事务,如保护倒换。
CPU收集计算信息字段写入FPGA的缓存,FPGA定时取出信息;或者FPGA即时解析收到的信息并存入缓存,供CPU按需轮询。在这个过程中,有大量信息在快速交互;且信息在CPU和FPGA的处理是完全独立、互不相干的。
其中有些信息位宽较大,比两者之间的传输总线的更宽。此时以总线接口的数据线位宽为单位,按照一定的顺序,从高到低位或者从低到高位,信息被分成一组组字段依序传递,直到一条信息被完整传完。
一条信息作为一个完整的单元,每一条的传输都是从头到位传完,才会传送下一条信息。中途总线可能会被抢占、打断去进行更高优先级的信息传送,但回到同一种信息的传送队列时,依然会接上被抢占、打断前还未传完的同一条继续传输完,而不会跳到另一条去。
上述传输方式存在以下缺陷:
若CPU通过总线往FPGA写入一条信息写了一半,FPGA取样了这条信息,此时FPGA获取到的会是一半老值一半新值;
若CPU通过总线从FPGA读取一条信息读到一半,FPGA收到新信息并即时更新了缓存中该条信息,此时CPU获取的也会是一半老值一半新值;
以上两种情况信息传递时均会失去一致性,发生错误。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种保持数据传送一致性的方法及系统,在传递大于总线数据线位宽的信息时,保障数据传送一致性。
为达到以上目的,本发明采取的技术方案是:一种保持数据传送一致性的方法,包括以下步骤:
CPU通过总线接口向FPGA写信息时,判断写信息时的片选信号是否有效,若片选信号有效,将从总线接口获取的信息暂存,当完整地获取了信息的所有数据位,才将信息写入FPGA的缓存;若片选信号无效,则不写入;
CPU通过总线接口向FPGA读信息时,判断读信息时的片选信号是否有效,若片选信号有效,仅在第一次读取该条信息时,从FPGA的缓存中获取信息的所有数据位并暂存,再根据总线接口的数据线位宽,计算出待发送的数据位,并将待发送的数据位通过总线接口发送至CPU;若片选信号无效,则不读取该信息。
在上述技术方案的基础上,所述判断写信息时的片选信号是否有效,具体包括以下步骤:
将写信息时的片选信号设为cs_winfo;
判断cs_winfo是否满足:
cs_local(adr_local=base_winfo)(adr_local(base_winfo+sum_wadr));若是,片选信号有效;若否,片选信号无效;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810552715.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置