Recherche dans les collections de brevets nationales et internationales
Certains contenus de cette application ne sont pas disponibles pour le moment.
Si cette situation persiste, veuillez nous contacter àObservations et contact
1. (WO2008061451) PROCÉDÉ ET SYSTÈME POUR TRANSMETTRE DES DONNÉES DANS UN MODE DE MULTIPLEXAGE TEMPOREL
Note: Texte fondé sur des processus automatiques de reconnaissance optique de caractères. Seule la version PDF a une valeur juridique
一种时分复用模式下传输数据的方法和系统

技术领域

本发明涉及网络传输技术领域,特别涉及一种时分复用模式下传输数据 的方法和系统。

背景技术

时分复用(TDM )通常在一条共享链路上进行多个设备或多用户之间的 不同数据的传输,采用将数据传输分成若干时隙,每个用户或设备分别占用 不同的时隙,从而实现带宽的最大利用效率。

TDM比较常用的场合就是针对不同用户的流数据传输上,具体在应用上, 比如多个 12.2k的语音用户,在传输时采用不同用户占用不同的时隙,发送与 接收不同时隙对应不同的数据緩冲,从而实现数据的复用与解复用。

但另一方面,在有些场合,需要利用 TDM端口设备实现两个设备之间的 点对点通信,方便内部数据的快速直接交互。

目前 TDM广泛应用在流数据的传输,经常采用的方案是将不同的用户分 配到不同的时隙上,每个时隙对应一定緩冲,当用户接入并有数据发送时, 用户将数据写入緩冲,并通知链路传输该用户的数据,控制器将在对应的时 隙上不断传输该数据,当数据传输完成并不再有新的数据时,控制器将插入 空闲(idle )数据进行传输,对端不断接收,并将数据插入对应的用户緩冲中, 如果接收到 idle数据则将该数据丢弃,并停止接收。

图 1为 TDM模式下传输数据的系统示意图。如图 1所示,

Cl、 C2、 C3和 C4分别表示 4个发送数据的用户。 Dl、 D2、 D3和 D4 分别表示 4个接收数据的用户。 Cl、 C2、 C3和 C4共享一条链路,分别发送 数据 1、 2、 3和 4, 如果发送设备检测到某个数据发送完成,就在该数据最后 ―加上 idle数据,接收设备收到 idle后,停止接收对应的发送数据。

现有技术中,实现 TDM点对点的方案最常用的是发送端用乒乓緩冲的方

式,接收端釆用搜索的方式。具体过程是:乒緩沖发送完成,产生中断,继 续发送乓缓沖,同时响应中断,将待发送数据放到乒緩冲中,乒乓緩沖交替 发送数据。如果没有发送的数据则乓緩冲在发送的数据最后插入 idle数椐, 接收端收到 idle数据后认为接收完成,停止接收数据。接收端同样采用乒乓 缓冲接收,乒緩沖搜索数据,找到特定帧头,乒緩冲容量满后产生中断,乓 緩沖继续搜索数据,找到特定的帧头并接收数据,乒乓緩冲接收数据交替进 行。

图 2为现有技术中 TDM模式下采用乒乓緩沖发送数据的示意图。如图 2 所示,

在发送组合小数据的时候,发送设备将小数据 a、 b和 c顺序放入乒緩沖 中,发送过程中又有数据 d和 e需要发送,这时只能将乒緩冲剩余空间用无 效数据填满,再把数据 d和 e放到乓冲中发送,乓緩沖剩下的空间也要用 无效数据填满,并在数据最后插入 idle数据一起发送;接收设备的乒緩冲搜 索数据的帧头,并开始接收数据 a、 b、 c和无效数据,乒緩冲满后给乓缓冲一 个中断,乓緩冲搜索数据的帧头,并开始接收数据,直到接收到 idle数据后, 停止接收。

在发送大数据的时候,发送设备将数据 a和 b放到乒緩冲中,剩下的空 间用无效数据填满后发送,这时没有要发送的数据,但发送设备必须将乓緩 冲用无效数据填满,并在数据最后插入 idle数据一起发送;接收设备的乒緩冲 搜索数据的帧头,并开始接收数据 a 、 b和无效数据,乒緩冲满后给乓緩冲 一个中断,乓緩冲接收无效数据,直到接收到 idle数据后,停止接收。

从线上传输状态可以看出,无论是組合小数据或大数据,发送中都要添 加大量的无效数据。

综上所述,现有技术中在 TDM模式下点对点发送数据时,要求乒乓緩冲 的空间比较大,在发送数据的同时必须添加大量的无效数据,增加了数据发 送的时延,浪费了链路资源;并且在数据发送中,内部总线始终需要搬移数 据,加大了总线带宽的承载能力。

发明内容

本发明实施例提供一种时分复用模式下传输数据的方法和系统,用以解 决现有技术中存在的收发两端对数据不能实时处理,数据发送时延长的问题。

本发明实施例提供的一种时分复用模式下传输数据的方法,包括:

A、发送侧将时分复用 TDM帧头信息和待发送数据封装为 TDM帧,将 该 TDM帧发送给接收侧;

B、接收侧接收该 TDM帧。

本发明实施例提供的一种时分复用模式下传输数据的系统,该系统包括: TDM发送模块, 用于将 TDM帧头信息和待发送数据封装为 TDM帧, 将该 TDM帧发送给接收模块;

接收模块,用于接收 TDM发送模块的 TDM帧。

本发明实施例提供的一种 TDM发送装置,该装置包括:

发送接口模块,用于将 TDM帧头信息和待发送数据封装为 TDM帧,保 存到发送存储模块中, TDM帧头信息中有待发送数据的端口编号,将待发送 数据信息中的发送地址发送给发送 BD环模块;

发送控制模块,用于根据发送 BD环模块保存的当前发送 BD中的信息, 将发送存储模块中的 TDM帧发送给接收模块;

发送 BD环模块,由一个以上发送 BD组成的环形结构,用于将收到的信 息保存到当前发送 BD中,并将该发送 BD中的当前状态设置为准备完成,初 始状态下随机选择一个发送 BD作为当前发送 BD, 在当前发送 BD的当前状 态为准备完成时,将下一个发送 BD设置为当前发送 BD;

发送存储模块,用于保存待发送的数据。

本发明实施例通过 TDM发送模块将数据发送给 TDM主接收模块, TDM 主接收模块将数据发送给接收应用模块,实现了收发两端对数据的实时处理, 缩短了数据发送的时延,并且节省了链路的资源,减少了系统开销,降低了 总线带宽的承载能力。

附图说明

图 1为 TDM模式下传输数据的系统示意图;

图 2为现有技术中 TDM模式下采用乒乓緩沖发送数据的示意图; 图 3为本发明实施例中时分复用模式下传输数据的系统框图;

图 4为本发明实施例中 TDM发送模块组成的结构框图;

图 5为本发明实施例中 TDM主接收模块和 TDM接收模块组成的结构框 图;

图 6为实现本发明实施例中时分复用模式下传输数据方法的流程示意图; 图 7为本发明实施例中发送装置发送数据总体流程示意图;

图 8为本发明实施例中接收装置接收数据总体流程示意图。

具体实施方式

针对目前现有技术中存在的收发两端对数据不能实时处理,数据发送时 延长的问题,本发明通过 TDM发送模块将数据发送给 TDM主接收模块 , TDM 主接收模块将数据发送给接收应用模块,从而实现了收发两端对数据的实时 处理,缩短了数据发送的时延。

图 3为本发明时分复用模式下传输数据的系统框图。如图 3所示,本发 明系统包括: TDM发送模块 10、接收模块 20、发送应用模块 30和接收应用 模块 40。

TDM发送模块 10, 与接收模块 20和发送应用模块 30连接,用于在收到 发送应用模块 30发送的数据后,将 TDM帧头信息和待发送数据封装为 TDM 帧,将该 TDM帧发送给接收模块。

接收模块 20, 与 TDM发送模块 10和接收应用模块 40连接,用于接收 来自 TDM发送模块 10发送的 TDM帧,并将 TDM帧解封装得到数据,将数 据发送给接收应用模块 40, 将接收完成消息发送给 TDM发送模块 10。

接收模块 20还包括: TDM主接收模块 200、 TDM接收模块 210和接收 BD环模块 220。

TDM主接收模块 200, 与 TDM发送模块 10、接收应用模块 40、 TDM接 收模块 210和接收 BD环模块 220连接,用于收到 TDM发送模块 10发送的 TDM帧后, 接收预先设定长度的 TDM帧,在该长度内搜索特征字,如果有 特征芋,则继续接收剩余的 TDM帧,并对 TDM帧解封装,将该 TDM帧的 帧头信息发送给接收 BD环模块 220,根据接收 BD环模块 220保存的当前接 收 BD中的端口编号将该数据发送给对应的 TDM接收模块 210,如果是自身 模块的数据,则将数据发送给接收应用模块 40, 向接收 BD环模块 220发送 删除 TDM帧头信息。

TDM接收模块 210, 与 TDM发送模块 10、接收应用模块 40、 TDM主 接收模块 200和接收 BD环模块 220连接,用于收到 TDM主接收模块 200发 送的数据后,将数据发送给接收用模块 40,向接收 BD环模块 220发送删 除 TDM帧头信息。

接收 BD环模块 220,由一个以上接收 BD组成的环形结构,用于将收到 的 TDM帧头信息保存到当前接收 BD中,并将当前接收 BD中的当前状态设 置为准备完成,在收到删除 TDM帧头信息后,删除接收 BD中的信息,将该 接收 BD中的当前状态改为空闲,初始状态下随机选择一个接收 BD作为当前 接收 BD, 在当前接收 BD的当前状态为准备完成时,将下一个接收 BD设置 为当前接收 BD,如果最后一个接收 BD是当前接收 BD,则将最前端的接收 BD设置为下一个接收 BD, 形成环状结构。

如果接收模块 20中有一个以上 TDM接收模块 210,则每个 TDM接收模 块互相连接,并根据预先的设定选择其中一个 TDM接收模块作为 TDM主接 收模块。

图 4为本发明 TDM发送模块组成的结构框图。如图 4所示, TDM发送 模块 10包括:发送接口模块 100、发送控制模块 110、发送中断模块 120、发 送回应模块 130、发送 BD环模块 140和发送存储模块 150。

发送接口模块 100, 与发送应用模块 30、发送控制模块 110、发送 BD环 140和发送存储模块 150连接,用于收到发送应用模块 30发送的数据后,根 据公式计算待发送数据的容量,并根据待发送数据的信息配置 TDM 帧头信 息,将 TDM帧头信息和待发送数据封装为 TDM帧,按照计算后的容量保存 到发送存储模块 150中,将待发送数据信息中的发送地址发送给发送 BD环模 块 140保存的当前发送 BD中,向发送控制模块 110发送准备完成消息。

发送控制模块 110, 与接收模块 20、发送接口模块 100、发送中断模块 120、发送回应模块 130、发送 BD环模块 140和发送存储模块 150连接,用 于在收到发送接口模块 100发送的准备完成消息后,将发送存储模块 150中 保存的 TDN帧的最前端增加特征字,根据发送 BD环模块保存的当前发送 BD 中的信息,将发送存储模块 150中的数据发送给接收模块 20, 在收到接收回 应模块 130发送的含有发送端口编号的接收完成消息后,向发送 BD环模块 140发送删除消息,在收到发送控制模块 110发送的中断信号后,查看发送 BD环模块 140中保存的当前发送 BD的当前状态是否为准备完成,如果是, 则继续发送数据,否则查看发送 BD环模块 140中保存的当前发送 BD。

发送中断模块 120,与发送控制模块 110连接,用于在 TDM帧发送完后, 关闭对应的发送端口,并向发送控制模块 110发送中断信号。

发送回应模块 130,与接收模块 20和发送控制模块 110.连接,用于在收 到接收模块 20发送的接收完成消息后,查看接收到该消息的端口编号,并向 发送控制模块 110发送含有发送端口编号的接收回应消息。

发送 BD环模块 140,由一个以上发送 BD組成的环形结构,用于将收到 的信息保存的当前发送 BD中,并将该发送 BD中的当前状态设置为准备完成, 收到删除消息后,删除发送 BD中的信息,将该发送 BD中的当前状态设置为 空闲,初始状态下随机选择一个发送 BD作为当前发送 BD, 在当前发送 BD 的当前状态为准备完成时,将下一个发送 BD设置为当前发送 BD,如果最后 一个发送 BD是当前发送 BD, 则将最前端的发送 BD设置为下一个发送 BD, 形成环状结构。

发送存储模块 150,与发送接口模块 100和发送控制模块 110连接,用于 保存发送的数据。

发送 BD的数据结构:

typedef struct tag— STRU— DSPTDM TXBD

{

u8 u8— txstat; /*发送状态 */

u8 u8_rsvd; /*保留 */

ul6 ul6_txsize; /*发送数据的容量 */

u32 *u32_psrc; /*发送数据的緩沖地址 */

} STRU—DSPTDM TXBD;


发送数据信息是以二进制方式发送给接收端的,下表则是发送状态二进 制说明:


src— cid为接收控制模块的编号;

dst_cid为接收端的地址。

TDM帧头数据结构:

typedef struct tag—STRU—DSPTDM— TDMHE AD

{

u8 u8_txnum; /*发送编号 */

u8 u8— dst— cid; /*发送接收模块编号 */

ul6 ul6_size; /*发送数据大小 */

u32 u32— checksum; /*发送数据的緩冲地址 */

STRUJDSPTDM一 TDMHEAD;


为了确保 TDM 主接收模块能收到 TDM 帧头信息,定义最小发送长度 minLen 为 96byte; 为了避免接收时超过最小长度,定义了保留緩沖大小 resvLen为 96byte。发送时发送接口模块按照下面的公式计算发送数据的容量: bufLen = ( dataLen minLen ) * minLen+ resvLen; (dataLen / minLen为 0) bufLen = ( dataLen/minLen+ 1 ) * minLen+ resvLen; (dataLen / minLen不 为 0)

接收端也根据此公式计算出接收数据实际的容量。

图 5为本发明 TDM主接收模块和 TDM接收模块组成的结构框图。如图 5所示, TDM主接收模块 200包括:接收回应模块 2000、接收控制模块 2010、 接收接口模块 2020和接收存储模块 2030。

接收回应模块 2000, 与 TDM发送模块 10、 TDM接收模块 210、接收 BD 环模块 220、接收控制模块 2010和接收存储模块 2030连接,用于在收到 TDM 发送模块 10发送的 TDM帧后,接收预先设定长度的 TDM帧,在该长度内 搜索特征字,如果有,则继续判断收到的数据是否大于预先设定的长度,如 果大于,则继续接收剩余的 TDM帧,并对 TDM帧解封装,将该 TDM帧的 帧头信息发送给接收 BD环模块 220, 根据接收 BD环模块 220保存的当前接 收 BD中的端口编号将该数据发送给对应的 TDM接收模块 210,如果是自身 模块的数据,则将数据保存到接收存储模块 2030 中,向接收控制模块 2010

发送接收消息,如果在该长度内没有特征字,则停止接收 TDM帧,向 TDM 发送模块 10发送告警消息。

接收控制模块 2010,与 TDM接收模块 210、接收 BD环模块 220、接收 回应模块 2000、接收接口模块 2020和接收存储模块 2030连接,用于收到接 收回应模块 2000发送的接收消息后,根据当前接收 BD中的 TDM帧头信息 查看是否是本模块的数据,如果不是,则向对应的 TDM接收模块 210发送接 收消息;否则,根据接收 BD环模块保存的对应接收 BD中的信息,计算接收 存储模块 2030 中保存的数据的实际大小,并将该数据发送给接收接口模块 2020, 向接收 BD环模块发送删除 TDM帧头信息,查看接收 BD环模 220块 保存的当前接收 BD 的当前状态是否为准备完成,如果是,则继续根据接收 BD环模块 220保存的当前接收 BD中的接收模块编号发送数据,否则,继续 查看接收 BD环模块 220保存的当前接收 BD的当前状态。

接收接口模块 2020,与接收控制模块 2010和接收应用模块 40连接,用 于收到接收控制模块 2010发送的数据后,将数据发送给接收应用模块 40。

接收存储模块 2030,与接收回应模块 2000和接收控制模块 2010连接, 用于保存接收的数据。

TDM接收模块 210包括:接收回应模块 2100、接收控制模块 2110、接 收接口模块 2120和接收存储模块 2130。

接收回应模块 2100, 与 TDM发送模块 10和接收控制模块 2110连接, 用于收到接收控制模块 2110发送的完成消息后,向 TDM发送模块 10发送接 收完成消息。

接收控制模块 2110,与 TDM主接收模块 200、接收 BD环模块 220、接 收回应模块 2100、接收接口模块 2120和接收存储模块 2130连接,用于在收 到 TDM主接收模块 200发送的接收消息后,根据接收 BD环模块 220保存的 对应接收 BD中的 TDM帧头信息,计算接收存储模块 2130中保存的数据的 实际大小,将该数据发送给接收接口模块 2120,并向接收 BD环模块 220发 送删除 TDM帧头信息,向接收回应模块 2100发送完成消息。

接收接口模块 2120, 与接收控制模块 2110和接收应用模块 40连接,用 于收到接收控制模块 2110发送的数据后,将数据发送给接收应用模块 40。

接收存储模块 2130,与 TDM主接收模块 200和接收控制模块 2110连接, 用于保存 TDM主接收模块 200发送的数据。

接收 BD的数据结构:

typedef struct tag—STRU— DSPTDM RXBD

{

u8 u8_rxstat; /*接收状态 */

u8 u8_rxnum; /*该 tdm链路上接收帧编号 */

ul6 ul6— rxsize; /*接收数据的大小 */

u32 *pu32_psrc; /*接收数据的緩冲地址 */

} STRU— DSPTDM— RXBD;


接收数据信息是以二进制方式保存的,下表是接收状态二进制说明:


tdmid为发送端的地址。

图 6 为实现本发明时分复用模式下传输数据方法的流程示意图。如图 6 所示,本发明的方法包括下列步骤:

步骤 600、 TDM发送模块将 TDM帧头信息和待发送数据封装为 TDM帧, 发送给 TDM主接收模块。

步骤 601、 TDM主接收模块收到 TDM帧后,进行解封装,并判断是否 是自身模块的数据,如果是则执行步骤 602; 否则,执行步骤 603。

步骤 602、 TDM 主接收模块将收到的数据发送给接收应用模块,并向 TDM发送模块发送接收完成消息。

步骤 603、 TDM主接收模块将收到的数据发送给对应的 TDM接收模块。 步骤 604、 TDM接收模块将收到的数据发送给接收应用模块,并向 TDM 发送模块发送接收完成消息。

步骤 605、 TDM发送模块收到接收完成消息后,判断是否还有准备发送 的数据,如果有,则执行步骤 600; 否则,返回 605。

图 7为本发明发送装置发送数据总体流程示意图。如图 7所示,发送装 置发送数据包括下列步骤:

步骤 700、发送接口模块收到应用模块发送的数据后,根据公式计算待发 送数据的容量,并根据数据信息配置 TDM帧头信息,将 TDM帧头信息和待 发送数据封装为 TDM帧,并按照计算后的容量保存到发送存储模块中。

步骤 701、发送接口模块将待发送数据的信息发送给发送 BD环模块,发 送 BD环模块保存在当前发送 BD中,并将该发送 BD的状态设置为准备完成, 向发送控制模块发送准备完成消息。

步骤 702、发送控制模块收到准备完成消息后,查看发送 BD环模块当前 发送 BD是否准备完成,如果是,则执行步骤 703; 否则,返回步骤 702。

步骤 703、发送控制模块将存储模块中 TDM帧的最前端增加特征字,根 据发送 BD环模块保存的当前发送 BD中的信息,发送存储模块中的数据,发 送 BD环模块将下一个发送 BD设置为当前发送 BD。

步骤 704、发送中断模块在数据发送完后,关闭对应的发送端口,并向发 送控制模块发送中断信号。

步骤 705、发送控制模块收到中断信号后,进入等待状态。

步骤 706、发送回应模块收到 TDM接收模块发送的接收完成消息后,查 看对应发送端口的链路编号。

步骤 707、发送回应模块向发送控制模块发送含有链路编号的接收完成消 步骤 708、发送控制模块收到接收完成消息后,根据链路编号查找对应发 送端口的已发送数据。

步骤 709、发送控制模块根据已发送数据的容量调整发送存储模块的读指 针。

步骤 710、发送控制模块向发送 BD环模块发送删除消息,发送 BD环模 块删除保存的已发送数据的发送 BD中的信息,并将该发送 BD的状态设置为 空闲。

图 8为本发明接收装置接收数据总体流程示意图。如图 8所示,接收装 置接收数据包括下列步驟:

步骤 800、接收中断模块接收到预先设置长度的 TDM帧后,在该长度内 搜索特征字,如果有特征字,则执行步骤 802, 否则执行步骤 801。

步骤 801、接收中断模块停止接收数据,并向发送端发送告警信息。 步骤 802、接收中断模块根据 TDM帧头信息判断接收的数据是否大于预 先设定的长度,如果是,则执行步骤 803; 否则,执行步骤 804。

步骤 803、接收中断模块继续接收 TDM帧。

步骤 804、接收中断模块接收数据完成后,停止接收数据,将接收的 TDM 帧解封装,将 TDM帧的帧头信息发送给接收 BD环模块,接收 BD环模块将 该信息保存到接收 BD环模块保存的当前接收 BD中,将该接收 BD当前状态 设置为准备完成,并根据 TDM帧头信息调整对应接收 TDM模块中的接收存 储模块的位置。

步骤 805、接收中断模块根据接收 BD环模块保存的当前接收 BD中的信 息,将接收到的数据放到对应的接收存储模块中,并向本模块中的接收控制 模块发送接收消息。

如果是 TDM主接收模块的数据,则 TDM主接收模块中接收中断模块向 本模块中的接收控制模块发送接收消息后,向发送端发送接收完成消息。

步骤 806、接收控制模块收到接收消息后,根据接收 BD环模块保存的当 前接收 BD中的信息中保存的 TDM帧头信息判断是否是自身模块的数据,如 果是,则执行步骤 808; 否则,执行步骤 807。

步骤 807、接收控制模块根据接向对应 TDM接收模块中的接收控制模块 发送接收消息。

步骤 808、接收控制模块根据接收 BD环模块保存的当前接收 BD中的信 息计算数据的实际大小。

步骤 809、接收控制模块将接收存储模块中的数据按照实际的大小发送给 接收接口模块。

步骤 810、接收接口单元收到数据后,将数据发送给接收应用模块,接收 BD环模块将保存的下一个接收 BD设置为当前接收 BD。

步骤 811、接收控制模块将该数据发送给接收接口模块后,向接收 BD环 模块发送删除消息,接收 BD环模块删除保存的已发送数据的接收 BD中的信 息,并将接收 BD当前状态设置为空闲。

如果是 TDM主接收模块的数据,则 TDM主接收模块中的接收控制模块 执行步骤 812;

如果是 TDM接收模块的数据,则 TDM接收模块中的接收控制模块,在 接收 BD模块将接收 BD当前状态设置为空闲后,向接收中断模块发送完成消 息,接收中断模块收到消息后,向发送端发送接收完成消息。

步骤 812、接收控制模块判断接收 BD环模块保存的当前接收 BD的当前 状态是否是准备完成,如果是,则执行步骤 806; 否则,返回步骤 812。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本 发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要 求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。