用于基于串行数据总线的流媒体传输系统终端设备中的仲裁器的制作方法

文档序号:6607665阅读:208来源:国知局
专利名称:用于基于串行数据总线的流媒体传输系统终端设备中的仲裁器的制作方法
技术领域
本技术属于数据转发和交换技术领域,涉及对同一总线上有多种流媒体数据进行 收发的总线仲裁方法。
背景技术
在信息时代化的今天,人们实时沟通越来越频繁,对快速的信息化沟通的要求也 越来越高。从大型的国际型政治会议到小型的企业商务谈判,我们的沟通无时无刻不依赖 于会议。会议系统随着我们的需求在快速发展着,从单一的点到点的模式逐渐发展到点到 多点,甚至多点对多点的模式,IT技术的飞速发展,让我们慢慢习惯并非常依赖于这项技术 为我们带来的便捷、快速而低廉的工作模式,于是,IT与音视频和网络的融合,把我们从简 单的音频会议到如今丰富多样的视频会议、网络会议。系统中多个设备或模块可能同时申请对总线的使用权,为避免产生总线冲突,需 要由总线仲裁机构合理地控制和管理系统中需要占用总线的申请者,在多个申请者同时提 出总线请求时,以一定的优先算法仲裁哪个应获得对总线的使用权。但是不论按照何种算 法,都应该满足下面的要求1、每一时刻只能有一个设备作为总线主控器;2、先请求者先响应,且在一个总线操作周期之内不被打断;3、同一时刻有几个设备发出请求时,按优先级排序响应。仲裁算法性能的优劣对系统性能有较大影响。常用的仲裁算法有(1)静态优先级算法,它为每个连到总线上的设备或模块分配一个唯一的固定优 先级。当多个设备或模块同时请求使用系统总线时,仲裁机构使优先级最高的申请者使用 总线。通常用菊花链方式来确定优先级,越靠近仲裁器的处理机的优先级越高。这种算法 的优点是简单、易实现。缺点是优先级低的处理机很少有机会使用总线。(2)均等算法通常以轮转方式将总线按固定长短的时间片依次供各处理机使用, 常用于同步总线。优点是算法较简单且能保证各处理机有均等机会使用总线。缺点是平均 等待时间较长。此外,若轮到的处理机不用总线时,将造成总线带宽的浪费。(3)动态优先算法根据总线使用情况和相应规则,动态地改变连接到总线上的处 理机的优先级。如近期最少使用算法,将最高的优先级分给在最长时间间隔内未使用总线 的处理机。又如循环菊花链算法,根据离最后一次使用总线的处理机所处位置远近来分配 优先级。距离越近的处理机,它的优先级越高。动态优先算法的优点是兼顾了前两种算法 的优缺点,即有较小的平均等待时间而又可使系统中各处理机有更均等的机会使用总线, 缺点是控制逻辑较复杂。(4)先来先服务算法这是理想的仲裁算法,它不按优先级选择申请者,因而有最好 的均等性,但实现较困难。主要作为一种衡量其它算法优劣的标准。上述各种仲裁算法,可用集中式或分布式结构实现。集中式结构由一个仲裁机构统一实现仲裁算法,常用轮流查询或独立请求和准用等硬件机构实现。分布式结构则将仲 裁硬件分布到各个处理机中,分配给每个处理机一个唯一的优先号,欲请求使用总线的处 理机将自己的优先号由各自的分布仲裁机构送到共享的请求有效线上进行逻辑“或”操作, 形成一个合成优先号。然后再由分布仲裁器将各处理机优先号与此合成优先号相比较,优 先号小于此合成优先号的处理机将自动撤销请求,获得总线使用权的将是具有最高优先号 的处理机。本发明采用集中式结构的仲裁方法,采用轮流查询或独立请求和准用等硬件机 构实现。如图2所示,当设备的音频存储器303-1,控制缓冲器303-3,视频缓冲器203-2等 同时有数据时,总线仲裁模块305采用本发明所述方法计算优先级,从而选定一个优先级 最高的数据,进行数据的发送。直到发完这个存储器内的数据再次仲裁选择另一个存储器 内的数据,一直循环直到所有的存储器里的数据发送完毕。在发送数据的同时会在包与包 之间插入一定的时间间隔。采用这种仲裁方式,克服了采用静态优先级仲裁算法和均等算法二者的缺点,兼 顾了动态优先算法平均等待时间短的优点,实现各个模块具有均等使用总线的机会,增加 了总线的利用率,而且实现简单。

发明内容
本发明的目的是提供一种在申请使用总线的信号比较多而且要求的同步性很强 的情况下,能较好的完成多种信号的同步传输的仲裁器、使用该仲裁器的终端设备。根据本发明的一个方面,提供了一种终端设备中的总线仲裁器,其中,多个所述终 端设备串行连接,并且最前端的一个终端设备与中央控制设备连接,所述总线仲裁器包括 数据读取单元,用于读取至少一个数据信号和与该数据信号对应的串行总线使用请求信 号;至少一个存储器,按照信号种类分类存储所述数据读取单元所读取的数据信号;至少 一个优先级计算器,各个优先级计算器分别与所述存储器中的一个相连,用于计算存储在 各个所述存储器中的数据信号的总线使用优先级;比较器,用于对来自所述优先级计算器 的总线使用优先级进行比较,并将选择信号输出至各个所述存储器,其中所述选择信号选 择所述总线使用优先级中的最大值所对应的数据信号作为首先使用串行总线的数据信号; 以及上行端口,用于利用所述串行总线输出所选择的存储在一个所述存储器中的数据信 号。根据本发明的另一个方面,提供了一种会议系统,包括通过串行总线串行连接的 多个终端设备,并且最前端的一个终端设备与中央控制设备连接,其特征在于各个所述终 端设备包括如上所述的总线仲裁器。本发明主要是针对串行级联的会议系统,在终端设备的内部对使用总线进行数据 传输的多个信号进行仲裁,选择优先使用串行总线进行数据传输的数据。本发明总线仲裁的方法克服了采用静态优先级仲裁算法和均等算法二者的缺点, 兼顾了动态优先算法平均等待时间短的优点,实现各个模块具有均等使用总线的机会,增 加了总线的利用率,而且实现简单。


图1是解释本发明用于数字流媒体传输的系统拓扑结构图2是解释本发明用于数字流媒体传输系统中终端设备的内部结构图;图3是解释本发明终端设备内包含的总线仲裁模块内部结构图;图4是解释本发明总线仲裁模块中优先级计算器的结构图;图5是解释应用本发明的优先级计算器内的优先级确定单元的结构图;图6是解释本发明中传输数据的帧结构协议示意图。
具体实施例方式以下结合附图来对本发明的具体实施方式
进行解释。在说明实施例的所有的图 中,具有相同功能的部分采用相同的符号,省略反复的说明。本发明可以以较低的成本和简单的结构,灵活实现总线仲裁,考虑了会议应用场 景,可结合串行流媒体实时总线广泛用于现场会议系统。本发明中的数据仲裁主要是针对串行级联的会议系统,在终端设备的内部对使用 总线进行数据传输的多个信号进行仲裁。该串行级联的会议系统的基本构架如附图1所 示。与传统的星型局域网拓扑结构不同,该用于数字流媒体传输的系统采用了串行级联的 连接方式,在该串行级联的系统中,各个终端设备(202-n)的上行端口与其前一级终端设 备的下行端口连接,并且各个终端设备的下行端口与其后一级终端设备的上行端口连接, 依此类推,最前端的一个终端设备(202-1)的上行端口与中央控制设备(201)的硬件接口 (301)连接。来自各个所述终端设备的音视频及控制数据被串联地上行传输至所述中央控 制设备(201),并且来自所述中央控制设备(201)的音视频及控制数据被串联地下行传输 至上述多个终端设备中的至少一个,从而实现了基于局域网的、串行级联结构的数字流媒 体传输系统。在本申请人提交的申请号为=200910135666. 7,发明名称为“一种基于局域网 的数字语音传输系统”的专利申请中对该系统的工作原理进行了具体地说明,全文引入于 此,因此省略关于该系统的工作原理以及工作方式的具体说明。在该系统中,数据下行时,从中央控制器下发的数据包和前一级终端设备转发的 数据包到达,仲裁机制非常简单。分两种情况考虑,当数据包是控制信号,通过对包内地址 和本机ID地址的比较,确定控制命令是否发给本台终端设备,如果是,只需要本地留用,不 再转发;如果不是发给本台终端设备,只需要向下转发即可。当数据包是音频视频或其他信 号,本地留用的同时向下转发。以下具体地解释多路数据同时需要利用串行总线上行传输时,在终端设备内部进 行的数据仲裁方法。附图2解释了上述用于数字流媒体传输的系统中的终端设备的内部结构框图。其 中,在各个终端设备中,包括下行端口 301、上行端口 305、本地音频信号存储器303-1、视 频信号存储器303-2、控制信号存储器303-3、信号分离器302、下行端口音频信号存储器 303-4、下行端口视频信号存储器303-5、下行端口控制信号存储器303-6、总线仲裁器304。其中终端设备的下行端口 305用于将来自前一台终端设备的音视频及控制数据 向下转发给后一台终端设备,并接收来自后一台终端设备的音视频及控制数据;与之对应 地,上行端口 301用于接收前一台终端设备的音视频及控制数据,并将来自本机和后一台 终端设备的音视频及控制数据向上发送给前一台终端设备。从终端设备的下行入端口 301 传来的流媒体数据经过信号分离器302解析出音频视频和控制信号,并分别存入下行端口音频信号存储器303-4、下行端口视频信号存储器303-5、下行端口控制信号存储器303-6。 各个终端设备本地产生的音频视频和控制信号分别存入本地音频信号存储器303-1、视频 信号存储器303-2、控制信号存储器303-3。在来自上述六个存储器的多路音频,控制,视频 或是其他信号同时申请使用串行总线时,总线仲裁器304进行信号数据优先级的计算,判 定,从而实现高优先级先传送的目的(以下将具体描述)。图3中示出了包含在各个终端设备内部的总线仲裁器304的内部结构的框图。 该总线仲裁器304包括数据读取模块401,用于当有来自上述六个存储器303-1、303-2、 303-3、303-4、303-5、303-6中的任意一个的总线使用请求时,就开始依次从上述六个存 储器中读取数据,并将所读取的各种信号分别按照信号的类别存入本地音频信号存储器 402-1、本地视频信号存储器402-2、本地控制信号存储器402-3、下行端口音频信号存储器
402-4、下行端口视频信号存储器402-5和下行端口控制信号存储器402-6中;上述六个 存储器 402-1、402-2、402-3、402-4、402-5、402-6 分别连接有优先级计算器 403_1、403_2、
403-3,403-4,403-5和 403-6,所述各个优先级计算器 403-1、403-2、403-3、403-4、403_5 和 403-6分别为各个存储器中存储的数据计算优先级,具体的优先级计算方式在以下进行描 述。由所述各个优先级计算器分别计算出的优先级、相应的数据的标识符被传送至比较器 404进行比较,比较器将最大的优先级值所对应的数据的标识符和类型提供给选择器406, 选择器406根据所述数据的标识符和类型选择相应的存储器中所存储的数据,并将所选择 的数据通过上行端口 407利用串行总线优先进行上行传输。通过上述比较器比较各个信号的优先级,选取优先级最高的那个信号使用总线进 行发送,直到发完该存储器内的所有数据。总裁仲裁器304再次进行优先级判定,每次都是 选取优先级最高的信号优先进行发送,一直重复上述过程直到发完所有发出总线使用请求 的数据。附图4示出了总线仲裁器304中的优先级计算器403的内部结构框图。所述优先 级计算器包括信号特征提取模块501、优先级确定单元502、优先级存储器503、信号输入 端504、信号输出端505和时间比较器506。来自图3中示出的各个存储器中的音频、视频 或者控制信号包通过信号输入端504进入优先级计算器403,所述信号特征提取模块501根 据图6中示出的信号包的帧结构,解包提取出各个信号的属性特征值,其中各个信号的属 性特征值包括信号的类型,数据包的长度、数据等待传输的时间Tl以及距离上次传输该 种数据包(即图2的6个存储器中分别缓存的六种数据)的时间T2,其中利用时间比较器 506和从信号包的帧结构中获得的属性值计算得到上述时间Tl和T2 (之后具体说明)。优 先级确定单元502根据下述的方式计算信号的最终优先级系数,并将最终优先级的值存入 优先级存储器503,并通过信号输出端505将计算出的最终优先级系数提供给比较器404进 行比较。以下对该优先级计算器中的优先级确定单元502的具体工作原理进行具体地解释。通过实际研究发现,在串行流媒体传输总线上传输的数据的优先级主要由以下几 个参数决定,即信号的数据类型,单个数据包的长度、数据等待传输的时间以及距离上次 传输该种数据包(即图2的6个存储器中分别缓存的六种数据)的时间,并且发现每一种 参数对信号优先级所产生的影响也有不同。
基于此,在进行串行流媒体传输总线传输的优先级判断时,分别考虑各种参数对 于在串行总线上的数据传输质量的影响大小,来计算最终优先级。具体地,优先级确定单元 502利用上述各个参数所对应的优先级分量来计算最终优先级K,Kl系数确定单元602根 据传输的数据类型的确定优先级加权系数Kl,K2系数确定单元603根据每个数据包的长度 确定优先级加权系数K2,K3系数确定单元604根据数据等待传输的时间确定优先级加权系 数Κ3,Κ4系数确定单元605根据距离上次传输该种数据包的时间确定优先级加权系数Κ4, 然后,通过最终优先级确定单元606通过以下方式来确定最终优先级加权系数K。各个加权系数通过以下方式确定优先级系数Kl的确定传输的数据类型包括控制数据、音频数据以及视频数据。 由于控制数据所携带的信息对所有的终端设备都会带来影响,因此控制数据的优先级加权 系数最高,为1,音频数据的优先级次之,为1/2 ;视频数据的优先级最低为1/4。数据信号中单个数据包的长度N就决定了参数Κ2的值,Κ2可由以下公式(1)计 算得到。通过公式(1)中的计算方式,使得能够保证能够先传数据量小的数据包,后传数据 量大的数据包,从而使得每个信号都可以迅速地开始被传输。Κ2 = 1/Ν 式(1)Tl表示待传输数据已等待的时间,Κ3可由以下公式(2)计算得到。通过公式(2) 中的计算方式,使得能够保证每个信号等待的时间不至于非常长,防止某个信号长时间得 不到总线传输许可。Κ3 = Log10T1 式(2)Τ2表示总线仲裁器的上行端口距离上次传输同一种数据包(即图2的6个存储器 中分别缓存的六种数据)的时间,Κ4可由以下公式(3)计算得到。通过公式(3)中的计算 方式,使得距离上次数据包的时间Τ2越长,被优先传输的可能性就越大,从而保证了能够 保证长时间没有发出过总线使用请求的信号能够被优先传输。Κ4 = Log10T2 式(3)各个确定单元根据上述公式分别确定四个优先级分量ΚΙ、Κ2、Κ3和Κ4,然后最终 优先级确定单元606通过公式(4)计算出最终优先级K K = Κ1*Κ2*Κ3*Κ4 式(4)附图5示出了本发明中优先级计算器内部的核心部分优先级确定单元的结构框 图。优先级确定单元的内部包括信号输入端口 601,Κ1确定单元602,Κ2确定单元603,Κ3 确定单元604,Κ4确定单元605,最终优先级确定单元606和信号出端口 607。ΚΙ, Κ2,Κ3, Κ4确定单元需要的参数来自于优先级计算器中的信号特征提取单元501。来自信号特征提 取模块501的各个信号属性值通过信号输入端口 601被提供给各个确定单元602、603、604 和605,Kl确定单元602根据公式(1)和信号“数据类型”参数计算出优先级加权系数Kl ; Κ2确定单元603根据公式(2)和数据“长度”参数计算出优先级加权系数Κ2 ;Κ3确定单元 604根据公式(3)和待传输数据已等待的时间Tl参数计算出优先级加权系数Κ3 ;Κ4确定 单元605根据公式(4)和距离上次传输同一类型数据包的时间Τ2参数计算出优先级加权 系数Κ4。根据公式(4)最终优先级确定单元606算出该种信号优先系数K,经过信号出端 口 607存储进优先级存储器503。信号特征提取单元501提取出计算优先级加权系数Κ1、Κ2、Κ3和Κ4所需要的信号参数。提取各参数具体过程如下信号“数据类型”的提取音频、视频和控制信号数据包经过信号入端口 504进入 优先级计算器,经过信号特征提取单元501时,根据通信协议(帧结构如图6所示)正确之 后,进行数据解包,成功将音频,视频和控制信号解包出来。在通信协议(帧结构如图6所 示)中的第5字段就是数据类型,根据规定好的类型码(例如采用两位数据,00代表音频信 号,01代表视频信号,10代表控制信号)确定出信号的数据类型,送入优先级确定单元,根 据前述所述的方法确定该信号优先级。信号单个数据包“长度”的提取音频、视频和控制信号数据包经过信号特征提取 单元501成功解包后,根据通信协议的帧结构(如图6所示),第6字段就是数据包的“长 度”信息N。根据前述公式(2)计算出优先级系数K2。信号“时间戳”的提取音频、视频和控制信号数据包经过信号特征提取单元501 成功解包后,根据通信协议的帧结构(如图6所示),第7字段就是数据包的“时间戳”。通 过“时间戳”获取数据包当前的时间to。时间Tl的确定数据包的“时间戳”包含的当前时间、与数据分别读入数据存储
器402-1,402-2....... 402-6内的时间、,经过时间比较器506的比较相减,从而确定出数
据等待传输的时间Tl。K3确定单元604根据数据等待传输的时间Tl,其根据前述公式(3) 计算出优先级系数K3。时间T2的确定T2为总线仲裁器的上行端口本次选通,并且距离上次传输同一类 型数据包的时间。Τ2主要由选择器406和优先级计算器403确定。每次选择器406选择出 优先级最高的信号后,都会向优先级计算器403发送一个反馈信号。优先级计算器403将 反馈信号中包含的上次选出该种数据作为优先级最高信号的时间与该数据包所携带的“时 间戳”进行比较,得出时间Τ2,并提供Κ4确定单元605,其通过前述公式(3)计算出优先级 系数Κ4。采用本方法,可以使距离上次传输该种数据包的时间Τ2越长,该中数据包被优先 传输的可能性就越大,从而保证了能够保证长时间没有发出过总线使用请求的那种信号能 够被优先传输。附图6解释了本发明传输的数据信号帧结构协议。本发明定义了一种通信协议。 特征提取模块501收到数据包时,根据通信协议(帧结构如图6所示)进行数据解包,并以 状态位形式记录解包成功,成功将音频,视频和控制信号解包出来。协议帧结构是这样定义 的首先开始是前导信息,接下来是SFD部分,第3字段是目的地址(例如采用6字节的地 址),第4字段是源地址,第5字段是信号类型(例如采用两位数据,00代表音频信号,01代 表视频信号,10代表控制信号)。第6字段是信号数据包的长度,第7字段是信号附加的时 间戳信息,第8字段是传输的数据,再后面是LLC数据和LLC填充位,帧最后以FCS结尾。帧结构中的“数据类型”经过特征提取模块501提取出信号的类型数据信息,用于 计算优先级系数Kl ;帧结构中的“长度”经过特征提取模块501提取出信号单个数据包的 “长度”信息,用于计算优先级系数K2 ;帧结构中的“时间戳”经过特征提取模块501提取出 信号附带的时间戳信息,用于计算优先级系数K3 ;优先级系数K4由选择器406和优先级计 算器403确定(如上所述)的时间T2归一化得出。本发明公开的具有上述总线仲裁器的终端设备可以用于混音系统中,当同时有多 个终端设备需要向中央控制设备发送音频信号时,通过采用上述各个终端设备中的总线仲
9裁器进行仲裁,可以有效地保证能以较快地速度将各个终端设备处的音频数据传输至中央 控制设备处进行混音,同时保证各个终端设备处的数据不会发生拥塞和丢包现象,保证了 传输信号的质量。此外,发明中公开的上述总线仲裁的方法还可以广泛被用在公共广播系统、楼宇 对讲系统等通信系统。虽然为了说明的目的,本发明是参照所选择的特定实施例描述的,但显而易见的, 本领域的技术人员可以对其进行各种修改而不脱离本发明的基本原理和范围。
权利要求
一种终端设备中的总线仲裁器,其中,多个所述终端设备通过串行总线串行连接,并且最前端的一个终端设备与中央控制设备串连,所述总线仲裁器包括数据读取单元,用于读取至少一个数据信号、与所述数据信号对应的数据标识和与该数据信号对应的串行总线使用请求信号;至少一个存储器,按照信号种类分类存储所述数据读取单元所读取的数据信号;至少一个优先级计算器,各个优先级计算器分别与所述存储器中的一个相连,用于计算存储在各个所述存储器中的数据信号的总线使用优先级;比较器,用于对来自所述优先级计算器的总线使用优先级进行比较,并将选择信号输出至各个所述存储器,其中所述选择信号选择所述总线使用优先级中的最大值所对应的数据信号作为首先使用串行总线的数据信号,所述选择信号包含所述最大值对应的数据信号的数据标识;以及上行端口,用于利用所述串行总线输出所选择的存储在一个所述存储器中的数据信号。
2.根据权利要求1所述的总线仲裁器,其中,各个所述优先级计算器包括 信号输入端口,用于输入与所述优先级计算器连接的存储器中存储的数据信号; 信号特征提取单元,用于提取所输入的数据信号中的特征值;优先级确定单元,用于根据所提取的特征值计算所输入的数据信号的总线使用优先级。
3.根据权利要求2所述的总线仲裁器,其中,所述特征值包括所述数据信号的类型, 数据信号中单个数据包的长度,等待传输的时间以及距离上次传输该种数据包的时间。
4.根据权利要求3所述的总线仲裁器,其中,所述优先级确定单元根据以下公式确定 所述数据信号的最终优先级值K,K = K1*K2*K3*K4,其中,根据所提取的数据信号的类型确定优先级系数Κ1,根据在预定时间段内所提取 的数据信号中单个数据包的长度N确定优先级系数Κ2,根据所提取的数据信号已等待的时 间T1确定优先级系数Κ3,根据距离上次传输该种数据包的时间T2确定优先级系数Κ4。
5.根据权利要求4所述的总线仲裁器,其中所述数据类型包括控制数据、音频数据以及视频数据,当所提取的数据信号为控制数 据时,Kl最大,当所提取的数据信号为视频数据时,Kl最小。
6.根据权利要求4所述的总线仲裁器,其中Κ2= 1/Ν。
7.根据权利要求4所述的总线仲裁器,其中K3= LogiciTp
8.根据权利要求4所述的总线仲裁器,其中K4= Log1(lT2。
9.根据权利要求1-8中的任意一项所述的总线仲裁器,其中,所述至少一个存储器包括下行端口音频信号存储器,用于存储来自所述终端设备的下行端口的音频信号; 下行端口视频信号存储器,用于存储来自所述终端设备的下行端口的视频信号; 下行端口控制信号存储器,用于存储来自所述终端设备的下行端口的控制信号; 本地音频信号存储器,用于存储所述终端设备本地产生的音频信号; 视频信号存储器,用于存储所述终端设备本地产生的视频信号;控制信号存储器,用于存储所述终端设备本地产生的控制信号。
10. 一种混音系统,包括通过串行总线串行连接的多个终端设备,并且最前端的一个终 端设备与中央控制设备串连,其特征在于各个所述终端设备包括如权利要求1-9中的任 意一项所述的总线仲裁器。
全文摘要
用于基于串行总线的流媒体传输系统中终端的仲裁器。本发明提供了一种终端设备中的总线仲裁器,其中,多个终端设备通过串行总线串行连接,并且最前端的一个终端设备与中央控制设备串连,该总线仲裁器包括数据读取单元,至少一个存储器,至少一个优先级计算器,比较器和上行端口。采用本发明的总线仲裁器对使用串行总线的数据进行仲裁,克服了采用静态优先级仲裁算法和均等算法二者的缺点,兼顾了动态优先算法平均等待时间短的优点,实现各个模块具有均等使用总线的机会,增加了总线的利用率,而且实现简单。
文档编号G06F13/362GK101930417SQ201010252729
公开日2010年12月29日 申请日期2010年8月13日 优先权日2010年8月13日
发明者施亮, 曹忻军, 杨振华 申请人:北京飞利信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1