首页> 中国专利> 一种以DPRAM做媒介实现数据软交换通信的控制方法

一种以DPRAM做媒介实现数据软交换通信的控制方法

摘要

本发明公开了一种以DPRAM做媒介实现数据软交换通信的控制方法,其特征在于:使用了DPRAM作为数据软交换的媒介。有益效果为不仅实现和提高了不同总线系统间的高速实时数据交换的控制效果,而且还保证了系统数据软交换控制的实时性和准确性。

著录项

  • 公开/公告号CN1758627A

    专利类型发明专利

  • 公开/公告日2006-04-12

    原文格式PDF

  • 申请/专利权人 上海微电子装备有限公司;

    申请/专利号CN200510030806.6

  • 发明设计人 李焕炀;周畅;

    申请日2005-10-27

  • 分类号H04L12/56(20060101);H04L12/40(20060101);

  • 代理机构31002 上海智信专利代理有限公司;

  • 代理人王洁

  • 地址 201203 上海市张江高科技园区张东路1525号

  • 入库时间 2023-12-17 17:08:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-27

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L12/56 变更前: 变更后: 申请日:20051027

    专利权人的姓名或者名称、地址的变更

  • 2010-07-28

    授权

    授权

  • 2006-06-07

    实质审查的生效

    实质审查的生效

  • 2006-04-12

    公开

    公开

说明书

技术领域

本技术属于工业控制、数据通信领域,尤其涉及一种利用DPRAM(双端口随机存储器)缓存空间进行软交换,实现在不同数据总线上进行数据通信的控制方法。

背景技术

在通讯领域,对于不同的总线控制技术,其总线控制的方法各有不同,因而不能直接实现数据交换,所以需要一个交换数据的方法,通过某种媒介或时序转换方法,实现不同总线系统的数据交换和实时通信,但现有技术使用时序转换的方法使得数据交换应用起来很困难,它需要有硬件支持,将不同总线的时序转化成双方都能识别的时序,在读写时序上不能很好地兼容不同总线系统,况且,由于不同总线系统的读写控制周期不同,实现起来非常复杂,即使实现了这两种总线系统的数据,对于第三种总线控制技术又无法兼容已经设计好的时序转换。因此需要设计一种利用硬件做媒介,通过设计控制模块实现不同总线系统的数据软交换。

发明内容

本发明需要解决的技术问题在于提供一种利用DPRAM(双端口随机存储器)缓存空间进行软交换,实现在不同数据总线上进行数据通信的控制方法。

本发明的技术方案包括以下步骤:

11)由一总线系统A利用DPRAM(双端口随机存储器)作为不同总线系统的交换媒介发起对另一总线系统B的数据软交换通信。

12)对数据报文设置六个域:Owner Field(所有权控制域)、Status Field(状态域)、Length Field(报文长度域)、NeedReply Field(要求应答域)、ReturnState(反应状态域)和Data Field(数据域);

13)A总线系统查询DPRAM中的Owner域是否为A总线系统控制状态。若Owner域是A总线系统控制状态,则跳转到4;若Owner域不是A总线系统控制状态,则继续查询Owner域的控制状态。

14)A总线系统在DPRAM中写数据包第i个报文内容(i≤n,n为数据包的报文个数)。

15)A总线系统在DPRAM中写报文报头的Status域、Length域、NeedReply域,最后将Owner域写为B总线系统控制状态,A总线系统对B总线系统发出请求B总线系统接收数据的中断。

16)B总线系统查询DPRAM中的Owner域是否为B总线系统控制状态。若Owner域是B总线系统控制状态,则跳转到7;若Owner域不是B总线系统控制状态,则继续查询Owner域的控制状态。

17)B总线系统在DPRAM中写数据包第i个报文内容(i≤n,n为数据包的报文个数)。

18)B总线系统在DPRAM的Data域中写入应答报文内容,将报头写在DPRAM的Status域、Length域、ReturnState域中,最后将Owner域写为A总线系统控制状态,B总线系统对A总线系统发出数据已经接收的应答中断。

19)A总线系统查询DPRAM中的Status域是否为Ready(完毕)状态。若Status域中的状态为Busy状态,则A总线系统继续发起数据软交换通信;若Status域中的状态为Ready(完毕)状态,则跳转到10。

20)A总线系统结束数据软交换通信。

上述A和B字母并无特殊,只是表示不同总线系统的代码,即也可以用其他字母表示不同的总线系统。

为了实现不同总线系统对该公共交换空间DPRAM的所有权控制,在DPRAM中定义了所有权控制域Owner Field,通过不同总线系统对该域中的值的读写进行控制的方法,实现了不同总线系统对DPRAM的读写控制,该控制域在被发送或应答的报文的报头中。Owner Field有a、b两种控制状态,分别对应A总线系统和B总线系统对DPRAM读写的控制所有权。若Owner Field的状态为a,则A总线系统对DPRAM享有读写控制权,是由B总线系统控制写入;若Owner Field的状态为b,则B总线系统对DPRAM享有读写控制权,是由A总线系统控制写入。

为了实现不同总线系统通过对DPRAM的多次读写,用多报文连续发送一个完整的数据包,需要在DPRAM中定义状态控制域StatusField,通过不同总线系统对该域中的值的读写进行控制的方法,实现了不同总线系统对DPRAM的多次读写状态控制,该读写状态控制表明了多报文发送的状态,该状态控制域在被发送或应答的报文的报头中。StatusField有Idle(空闲)、Busy(繁忙)和Ready(完毕)等三种控制状态,这三种状态的意义是:

d.Idle状态是A总线系统和B总线系统初始化后的状态,该控制域处于Idle状态时,A总线系统和B总线系统都可以发起数据软交换,但有发起方优先的原则,处于该状态下,A总线系统或B总线系统在对DPRAM进行读写前,要先将Owner域写为本方控制,在完成对DPRAM报文内容和除Owner Field以外的域进行读写后,才能在Owner Field将DPRAM的控制权交给对方。

e.Busy状态表明A总线系统或B总线系统正在进行多报文传送,多报文传送的数据包未传输交换完毕,还需要继续进行软交换。不能接收对方对DPRAM的写控制,即不能接收对方发起的通信数据包或应答数据包,只能接收未发送完数据包的总线系统继续发起的数据包。

f.Ready状态表明单报文的数据包和多报文的数据包已经传输交换完毕。可以接收下一个数据包或对方的通信数据包和应答数据包。

为了表明每个报文中传送数据的长度,定义了一个数据长度域Length Field,通过对该域的读写进行控制的方法,不同的总线系统可以给发送的对方传递被传递报文的数据长度。该数据长度域在被发送或应答的报文的报头中。Length Field是实现数据软交换的报文内容的长度,该长度的单位可以是Bytes,也可以是Words和DWords(32bits)。在实际设计实现时,也可以将该域定义为需要进行软交换的数据包的长度。

为了方便实现双工通信和单工通信的可控,在进行数据软交换的报文报头中定义了是否需要应答的控制域NeedReply Field,用于控制当前报文是否需要应答报文回复。NeedReply Field是表明发起数据软交换一方是否需要对方作出应答,回复本方发起的数据交换。

为了表明报文数据接收的状态,在报文发送的对方应答的报文中定义了应答状态域ReplyState Field,它给报文发送方显示了报文接收的状况,该应答状态域在应答的报文的报头中。ReturnState Field是反映软交换应答数据包报文的报文接收状态的信息。

给报文定义了数据域Data Field,它是要实现不同总线系统软交换的数据,是报文发送和应答的主要内容。Data Field是软交换发送数据形成的报文内容和报文应答的返回信息内容。

该方法将双中断机制运用在对DPRAM的读写触发,从而实现全双工通信设计,实现了两个不同总线系统的数据软交换功能。一个中断是由A总线系统给B总线系统发出的,是在A总线系统对B总线系统进行数据软交换时给出的触发信号,或者是在B总线系统给A总线系统进行数据软交换后,A总线系统给B总线系统发出的应答触发信号;另一个中断是由B总线系统给A总线系统发出的,是在B总线系统对A总线系统进行数据软交换时给出的触发信号,或者是在A总线系统给B总线系统进行数据软交换后,B总线系统给A总线系统发出的应答触发信号。

本发明的有益效果是,与现有技术相比,由于使用了DPRAM作为数据软交换的媒介,不仅实现和提高了不同总线系统间的高速实时数据交换的控制效果,而且还保证了系统数据软交换控制的实时性和准确性。

附图说明

图1是本发明的系统流程图;

图2-图4是本发明实施例的数据软交换流程图。

具体实施

以下结合附图和具体实施例对本发明作详细说明。

结合图1到图4,本发明的具体实施例如下:

以一控制系统为例,Driver(驱动器)的Power PC(一种微处理机)系统的VME(Versas Module Eurocard,IEEE标准)总线与Firmware的DSP(数字信号处理器)系统的TI-DSP内部总线间的高速实时数据软交换通信的技术难题,运用本发明所述的软交换技术方法可以成功实现这一数据交换功能。本案例中的A总线系统是Driver运行在VME总线上PowerPC,B总线系统是Firmware运行在TI-DSP内部总线上的DSP,它们之间的数据软交换具体流程如下所述。

(1)A对B发送数据进行数据软交换的流程,A发起数据交换时写入数据包报文的过程如图2。

假设由A总线系统先发起数据软交换,则在DPRAM中的Owner域控制权被初始化时,应初始化为a(DPRAM交换区的读写控制权为A总线系统)。A总线系统首先检查Owner域的状态是否是由A总线系统来控制的,若不是,则继续等待;若是,则写数据包第i个报文内容(i≤n,n为数据包的报文个数),然后分别写数据包报头中Status域、Length域、NeedReply域,再将Owner域写为B总线系统控制状态,接着写入A总线系统对B总线系统的中断,并等待B总线系统对A总线系统的应答报文中断,收到应答报文中断后,查询Status域是否为Ready状态,是则结束数据交换,否则,继续发送数据包报文。

(2)B总线系统接收数据报文的过程,B总线系统接收数据报文的过程如图三。

B总线系统相应A总线系统发出的发送数据包报文中断,查询Owner域是否为B总线系统控制状态,若不是,则B总线系统发送应答数据包报文,告知接收不正确,请求重新发送;若是,则读取A总线系统发送的数据包报文。然后,给A总线系统写入应答数据报文及其中断。接着,查询Status域的状态是否为Ready状态,若是,,并结束数据交换;若不是,继续接收数据包报文。

(3)B总线系统应答A总线系统的过程,B总线系统应答A总线系统的过程如图4所示。

B总线系统在接收完A总线系统数据包报文后,在DPRAM中的Data域中写入应答报文的内容,再在DPRAM中的Length域中写入应答报文长度,又在ReturnState域中写入应答状态,然后,给A总线系统写入应答中断。最后,查询Status域中的状态是否为Ready域,若是,则结束数据交换;若不是,则继续查询接收数据包报文。

虽然已公开了本发明的优选实施例,但本领域技术人员将会意识到,在不背离权利要求书中公开的本发明的范围的情况下,任何各种修改、添加和替换均属于本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号