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

文档序号:7613981阅读:139来源:国知局
专利名称:一种以dpram做媒介实现数据软交换通信的控制方法
技术领域
本技术属于工业控制、数据通信领域,尤其涉及一种利用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域,若是,则结束数据交换;若不是,则继续查询接收数据包报文。
虽然已公开了本发明的优选实施例,但本领域技术人员将会意识到,在不背离权利要求书中公开的本发明的范围的情况下,任何各种修改、添加和替换均属于本发明的保护范围。
权利要求
1.一种以DPRAM做媒介实现数据软交换通信的控制方法,其特征在于包括以下步骤1)由一总线系统A利用DPRAM(双端口随机存储器)作为不同总线系统的交换媒介发起对另一总线系统B的数据软交换通信;2)对数据报文设置六个域Owner Field(所有权控制域)、Status Field(状态域)、Length Field(报文长度域)、NeedReply Field(要求应答域)、ReturnState(返回状态域)和Data Field(数据域);3)A总线系统查询DPRAM中的Owner域是否为A总线系统控制状态,若Owner域是A总线系统控制状态,则跳转到4;若Owner域不是A总线系统控制状态,则继续查询Owner域的控制状态;4)A总线系统在DPRAM中写数据包第i个报文内容(i≤n,n为数据包的报文个数);5)A总线系统在DPRAM中写报文报头的Status域、Length域、NeedReply域,最后将Owner域写为B总线系统控制状态,A总线系统对B总线系统发出请求B总线系统接收数据的中断;6)B总线系统查询DPRAM中的Owner域是否为B总线系统控制状态。若Owner域是B总线系统控制状态,则跳转到7;若Owner域不是B总线系统控制状态,则继续查询Owner域的控制状态。7)B总线系统在DPRAM中写数据包第i个报文内容(i≤n,n为数据包的报文个数);8)B总线系统在DPRAM的Data域中写入应答报文内容,将报头写在DPRAM的Status域、Length域、ReturnState域中,最后将Owner域写为A总线系统控制状态,B总线系统对A总线系统发出数据已经接收的应答中断;9)A总线系统查询DPRAM中的Status域是否为Ready(完毕)状态。若Status域中的状态为Busy状态,则A总线系统继续发起数据软交换通信;若Status域中的状态为Ready状态,则跳转到10;10)A总线系统结束数据软交换通信。
2.如权利要求1所述的以DPRAM做媒介实现数据软交换通信的控制方法,其特征在于所述Owner Field在被发送或应答的报文的报头中,Owner Field有a、b两种控制状态,分别对应A总线系统和B总线系统对DPRAM读写的控制所有权。若Owner Field的状态为a,则A总线系统对DPRAM享有读写控制权,是由B总线系统控制写入;若Owner Field的状态为b,则B总线系统对DPRAM享有读写控制权,是由A总线系统控制写入。
3.如权利要求1所述的以DPRAM做媒介实现数据软交换通信的控制方法,其特征在于所述Status Field,通过不同总线系统对该域中的值的读写进行控制的方法,实现了不同总线系统对DPRAM的多次读写状态控制,该读写状态控制表明了多报文发送的状态,该状态控制域在被发送或应答的报文的报头中,Status Field有Idle(空闲)、Busy(繁忙)和Ready(完毕)三种控制状态。
4.如权利要求3所述的以DPRAM做媒介实现数据软交换通信的控制方法,其特征在于所述三种控制状态分别是a.Idle状态是A总线系统和B总线系统初始化后的状态,该控制域处于Idle状态时,A总线系统和B总线系统都可以发起数据软交换,但有发起方优先的原则,处于该状态下,A总线系统或B总线系统在对DPRAM进行读写前,要先将Owner域写为本方控制,在完成对DPRAM报文内容和除Owner Field以外的域进行读写后,才能在Owner Field将DPRAM的控制权交给对方;b.Busy状态表明A总线系统或B总线系统正在进行多报文传送,多报文传送的数据包未传输交换完毕,还需要继续进行软交换,不能接收对方对DPRAM的写控制,即不能接收对方发起的通信数据包或应答数据包,只能接收未发送完数据包的总线系统继续发起的数据包;c.Ready状态表明单报文的数据包和多报文的数据包已经传输交换完毕。可以接收下一个数据包或对方的通信数据包和应答数据包。
5.如权利要求1所述的以DPRAM做媒介实现数据软交换通信的控制方法,其特征在于所述Length Field可通过对该域的读写进行控制的方法,不同的总线系统可以给发送的对方传递被传递报文的数据长度。该数据长度域在被发送或应答的报文的报头中;Length Field的长度单位可以是Bytes、Words和32bits的DWords,也可以将该域定义为需要进行软交换的数据包的长度。
6.如权利要求1所述的以DPRAM做媒介实现数据软交换通信的控制方法,其特征在于所述NeedReply Field可发起数据软交换一方是否需要对方作出应答,回复本方发起的数据交换。
7.如权利要求1所述的以DPRAM做媒介实现数据软交换通信的控制方法,其特征在于所述ReplyState Field可给报文发送方显示报文接收的状况,该应答状态域在应答的报文的报头中。
全文摘要
本发明公开了一种以DPRAM做媒介实现数据软交换通信的控制方法,其特征在于使用了DPRAM作为数据软交换的媒介。有益效果为不仅实现和提高了不同总线系统间的高速实时数据交换的控制效果,而且还保证了系统数据软交换控制的实时性和准确性。
文档编号H04L12/40GK1758627SQ20051003080
公开日2006年4月12日 申请日期2005年10月27日 优先权日2005年10月27日
发明者李焕炀, 周畅 申请人:上海微电子装备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1