USB主机控制器及其数据传送方法技术

技术编号:7030961 阅读:187 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种USB主机控制器及其数据传送方法,控制器包括数据输入单元、控制器以及传输端点,传输端点内设有调度单元,其具有接收中断请求信号的产生条件信息的接收模块、接收产生条件的信息并判断是否满足产生条件的控制模块、发出中断请求信号的发送模块。该方法包括接收模块接收中断请求信号的产生条件的信息;传输端点接收每一帧数据后,控制模块判断当前条件是否满足中断请求的产生条件,若满足,向发送模块发送信号,发送模块向USB总线发送中断请求信号,传输端点将收的数据传送至USB总线;若未满足,控制模块继续执行判断步骤。本发明专利技术能减少向主设备发送中断请求的次数,提高USB主机控制器的调度效率。

【技术实现步骤摘要】

本专利技术涉及USB通讯领域,尤其涉及一种USB主机控制器以及这种USB主机控制器的数据传送方法。
技术介绍
现有的计算机以及手持设备,如手机、MP4等,大多设有USB接口,用于与外部设备,如键盘、鼠标、摄像头等进行数据交换。在计算机或手持设备等主设备内通常设有USB 主机控制器,用于控制和管理主设备与外部设备之间的通讯,现有一种USB主机控制器USB 驱动模块、主机控制器驱动装置的结构框图如图1所示。USB主机控制器14与USB驱动模块12、主机控制器驱动装置11均设置在主设备的电路板上,USB主机控制器14通过USB驱动模块12与主机控制器驱动装置11向主设备的中央处理器传送数据,同时也接收来自中央处理器的数据。USB驱动装置12通过USB总线13与USB主机控制器14进行通讯。USB主机控制器14内设有控制器15、数据输入单元16以及三个传输端点17、18、 19,控制器15通过USB总线13接收来自USB驱动装置12的控制信息,并根据控制信息控制数据输入单元16的工作。数据输入单元16接收外部设备所输入的数据,并将所接收的数据传送至传输端点17、18、19,由传输端点17、18、19将数据传送至USB总线13,外部设备输入的数据可通过USB总线13传送至中央处理器。USB是一种轮询方式的总线,USB主机控制器14初始化所有的数据传输。为了满足不同的通信要求,USB提供了四种传输方式,即控制(control)方式传输、等时 (isochronous)方式传输、中断(interrupt)方式传输和批(bulk)方式传输。USB总线13 采用分块带宽分配方案,若外部设备超过当前或潜在的带宽分配要求,则USB主机控制器 14不会与外部设备通讯。USB在全速或低速总线上建立1毫秒的时间基,称为帧,在1毫秒内所传送的数据称为一帧数据。同时,USB在高速总线上建立125微妙的时间基,称为微型帧。一个帧或者微型帧可以包含几个处理。在USB主机控制器14与USB驱动装置12进行通讯时,USB主机控制器14每接收一帧数据产生一个SOF令牌包,也就是每帧产生一次SOF中断请求,主机控制器驱动装置11则根据这些中断请求来安排USB驱动装置12的数据接收。USB主机控制器14的每一传输端点17、18、19接收到数据后,均需要将所接收的数据传送至USB总线13上。由于USB总线13的带宽有限,因此需要控制每一传输端点17、 18,19的数据上传时间,以避免所有传输端点17、18、19同时向USB总线13上传大量的数据。因此,USB主机控制器14对每一传输端点17、18、19上传数据的时间进行控制,称为调度。在USB主机控制器14对传输端点17、18、19进行调度过程中,只有与数据传输相关的帧是有意义的,其它的信息,如SOF中断请求信号是占用运算资源的,因此,过多的SOF 中断请求将给主设备带来极大的开销,占用主设备大量的运算资源,造成主设备的运算效率低下,也就造成USB主机控制器14的调度效率低下。但是,如果完全关闭SOF中断请求,主设备将无法获知USB总线13上的时间,也就无法完成各个传输端点17、18、19之间的调度。因此,需要一种新的SOF中断请求产生方法, 以解决USB主机控制器14中用于各个传输端点17、18、19之间的调度问题。
技术实现思路
本专利技术的主要目的是提供一种减少中断请求产生次数且确保各个传输端点调度的USB主机控制器。本专利技术的另一目的是提供一种调度效率较高的USB主机控制器数据传送方法。为了实现上述的主要目的,本专利技术提供的USB主机控制器包括数据输入单元,用于接收外部输入的数据;控制器,接收USB总线的控制信息并控制数据输入单元的数据传送;至少一个传输端点,其接收数据输入单元的数据并传送至USB总线上;其中,每一传输端点内设有调度单元,其具有接收模块,接收中断请求信号的产生条件的信息;控制模块, 接收产生条件的信息,并根据传输端点所接收的数据判断是否满足产生条件;发送模块,在控制模块判断满足产生条件时发出中断请求信号。由上述方案可见,由于接收模块仅在判断满足一定条件时才发出一次中断请求信号,而并非判断传输端点每接收一帧数据产生一次中断请求,减少主设备接收中断请求的数据,可减少主设备的开销,提高USB主机控制器的调度效率。并且,由于USB主机控制器并没有完全关闭中断请求,因此主设备仍然可以通过中断请求来判断USB总线上的时间, 实现对各个传输端点的调度。一个优选的方案是,中断请求的产生条件是传输端点接收到预定帧数的数据,预定帧数大于或等于二帧,并且控制模块内设有帧累加器,帧累加器存储有来自接收模块的预定帧数的初始值,且传输端点每接收一帧数据后,帧累加器执行一次累加操作。由此可见,通过设置传输端点接收多帧以后才产生一次中断请,可减少USB主机控制器产生的中断请求数量,提高调度效率。另一个优选的方案是,中断请求的产生条件是传输端点接收到当前帧号大于或等于下一特定帧号的数据,并且,控制模块内设有物理端点管理模块,用于判断传输端点是否接收到帧号大于或等于下一特定帧号的数据。可见,通过设定传输端点接收到特定帧号的数据才产生一次中断请求,可减少USB 主机控制器产生中断请求的数量,且能确保主设备接收到一定数量的中断请求信号,让主设备实现对各个传输端点的调度。为实现上述的另一目的,本专利技术提供上述USB主机控制器的数据传送方法,包括接收模块接收中断请求信号的产生条件的信息;传输端点接收每一帧数据后,控制模块判断当前条件是否满足中断请求的产生条件,若满足,向发送模块发送信号,发送模块向USB 总线发送中断请求信号,传输端点将收的数据传送至USB总线;若未满足,控制模块继续执行判断步骤。由上述方案可见,传输端点只有在判断满足产生中断请求的条件时才产生一个中断请求信号,中断请求信号产生的数量大大减少,产生的频率也大大降低,减少了主设备处理中断请求的开销,提高主设备的运算效率。一个优选的方案是,产生条件是传输端点接收到预定帧数的数据,控制模块内设有帧累加器,接收模块接收到预定帧数的初始值后,将初始值传送至控制模块,控制模块将初始值赋予帧累加器作为计数值;传输端点每接收一帧数据后,帧累加器对当前的计数值执行一次递减操作,并判断帧累加器的计数值是否递减为零,如是,则判断满足产生条件, 并将帧累加器的计数值恢复至初始值。由此可见,通过设定传输端点接收到多帧数据后才产生一次中断请求,可减少USB 主机控制器产生中断的数量,提高USB主机控制器的调度效率。另一个优选的方案是,产生条件是传输端点接收到数据的当前帧号大于或等于下一特定帧号,控制模块内设有物理端点管理模块;接收模块接收到特定帧号后,将特定帧号传送至物理端点管理模块;传输端点每接收一帧数据后,物理端点管理模块查询该数据的当前帧号,并判断当前帧号是否大于或等于下一特定帧号,如是则判断满足产生条件。可见,通过设定间隔的特定帧号,可避免传输端点每接收一帧数据产生一次中断请求,从而减少USB主机控制器产生中断请求的数量,提高调度效率。附图说明图1是现有USB主机控制器与USB驱动模块、主机控制器驱动装置连接的结构框图。图2是本专利技术USB主机控制器第一实施例与USB驱动模块、本文档来自技高网
...

【技术保护点】
1.USB主机控制器,包括数据输入单元,接收外部输入的数据;控制器,接收USB总线的控制信息并控制所述数据输入单元的数据传送;至少一个传输端点,所述传输端点接收所述数据输入单元的数据并传送至所述USB总线上;其特征在于:每一所述传输端点内设有调度单元,所述调度单元具有接收模块,接收中断请求信号的产生条件的信息;控制模块,接收所述产生条件的信息,并根据所述传输端点所接收的数据判断是否满足所述产生条件;发送模块,在所述控制模块判断满足所述产生条件时发出所述中断请求信号。

【技术特征摘要】

【专利技术属性】
技术研发人员:徐进锋黄官立
申请(专利权)人:珠海全志科技股份有限公司
类型:发明
国别省市:44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1