可释放时钟线的双线总线主控元件、计算机系统及释放方法

文档序号:7689658阅读:172来源:国知局
专利名称:可释放时钟线的双线总线主控元件、计算机系统及释放方法
可释放时钟线的双线总线主控元件、计算机系统及释放方法
技术领域
本发明是有关于 一种双线总线的主控元件,特别是有关于一种具有释放 一时钟线功能的双线总线的主控元件、具有该主控元件的计算机系统及其释 》文方法。背景技术
以 一时钟线与 一数据线传输数据的双线总线现在已成为 一种主流规格。
例如内部集成电路总线(I2C)、嵌入式系统设计(CAN-Bus)以及系统管理总 线(SMBus)等支持任何集成电路工艺的数据传输规格。数据线(SDA)以及时钟 线(SCL)用以在任何耦接到该双线总线的元件之间传输数据,连接到该双线总 线的每一元件均具有唯一的地址。在双线总线开始发展时, 一双线总线控制 系统中,仅将一个元件定义为主控元件,其它的元件均定义为#:控元件。以 内部集成电路总线为例,时钟由主控元件产生,数据的传输是双向的行为, 有关内部集成电路总线更详细的信息可参见美国专利第4,689,740号以展内
、,、、
部集成电路总线规范第2.1版(I2C specification version 2.1, January 2000)。
按照内部集成电路总线规范,由于被控元件的传输速度可能过慢,以致 无法配合主控元件所发出的时钟接收或传送数据,因此,被控元件可暂持被 控元件所发出的时钟脉沖,将时钟保持在低电平(LOW),以改变主控元件产 生的时钟脉冲。虽然内部集成电路总线规范并未制定允许被控元件暂持时钟 的合法延迟时间,但可能会发生有缺陷的被控元件暂持双线总线的时钟过久 的现象,导致传输失败或数据损毁的情形,而使整个双线总线控制系统陷入 未知的状态,导致必须重置整个双线总线控制系统。
根据现有技术,利用位冲击(bitbang),通过快速转换数据脉冲以及时钟脉冲位,例如传送一连串代表停止条件(STOPcondition)的脉冲(以12C规范 为例时钟线(SCL)保持高电平,数据线(SDA)从低电平变为高电平时为停止 条件),即有可能使时钟恢复正常。另外,业界还有提出在双线总线控制系统 内增加一逻辑判断电路,分析并解决前述问题的方案。然而根据本发明的发 明人上百次的测试实验,前者利用位冲击的方法并不能有效恢复时钟,而后 者由于此类逻辑判断电路并非大量生产化的产品,因此增加逻辑判断电路的 方法,不仅会增加制造成本还会使双线总线控制系统变得复杂,失去双线总 线的单纯本质。
因此,如果能发展对时钟线具有释放功能的主控元件及释放方法,能有 效轻易地释放时钟线,供双线总线所有设计者以及制造者使用,即能解决上 述现有技术的缺点,并符合双线总线规范容易、简单的要求及其精神。
发明内容
本发明的主要目的在于提供对时钟线有释放功能的 一双线总线主控元 件、具有该主控元件的计算机系统及其释放方法。
为了实现上述目的,本发明提供一种主控元件,透过双线总线的时钟线 与数据线与被控元件连接,其包括一数据端口、 一时钟端口以及一输出端口。 数据端口透过数据线传送并接收若干数据。时钟端口透过时钟线向被控元件 传送一时钟。输出端口也与时钟线耦接。当双线总线的时钟被被控元件暂持 超过一预定延迟时间时,输出端口透过时钟线向被控元件传送主控元件所产 生的至少一时钟脉冲,用以释放时钟线。输出端口可为一通用输入输出(GPIO) 端口。当被控元件接收一完整时钟时,输出端口便停止传送时钟脉冲。当输 出端口每次传送主控元件产生的时钟脉冲后,主控元件可透过数据端口确i^ 是否接收到一响应。该响应代表确认时钟线已被释放,接着,数据端口传送 主控元件所产生的 一停止脉冲至祐:控元件。
本发明还提供一种释放被被控元件暂持超过预定延迟时间的时钟线的方法,本发明方法包括下列步骤
确认时钟是否被被控元件所暂持;以及
当时钟被被控元件暂持超过一预定延迟时间时,向被控元件传送主控元 件所产生的至少 一 时钟脉沖。
在每次传送时钟脉冲的步骤后,本发明方法可更包括一确认是否接收到 响应的步骤。如透过数据端口接收到响应,即确认时钟线已被释放。在确认 接收到响应的步骤后,本发明方法可以还包括一向被控元件传送一停止脉冲 的步骤。
依据本发明,无论被控元件暂持主控元件所产生时钟的原因为何,主控 元件对时钟线均具有释放的功能及释放的方法。值得一提的是,本发明无须 增加任何额外的硬件,即能实现主控元件的释放功能,即代表对利用此双线 总线的装置而言,无须任何制造成本的增加。再者,相较于现有技术所提出 的方案,本发明对时钟线的释放功能具有较高的可靠度。
为让本发明之上述和其它目的、特征、和优点能更明显易懂,配合所附
图式,作详细iJt明如下

图1是依据本发明第一实施例的双线总线的简化方块图,双线总线的主 控元件具有对时钟线的释放功能,以及其数据线与时钟线的脉冲图2是依据本发明第二实施例的双线总线的简化方块图,其中主控元件 的数据端口以及时钟端口均以通用输入输出端口实现,使该主控元件具有对 时钟线的释放功能,以及其数据线与时钟线的脉冲图3是透过双线总线进行内部交互通联的计算机系统的方块图,依据本 发明该计算机系统的控制器能释》文双线总线的时钟线;
图4是依据本发明的第一实施例释放一时钟线的方法流程图;以及
图5是依据本发明的第二实施例释放一时钟线的方法流程图。请参考图1,是依据本发明第一实施例的双线总线的简化方块图,以及
其数据线300与时钟线200的脉冲图,其中双线总线的主控元件102具有对 时钟线200的释放功能。在第一实施例中,被控元件106透过双线总线耦接 到主控元件102。主控元件102包括一数据端口、 一时钟端口以及一输出端 口。 一般而言,输出端口可以一通用输入输出(GPIO)端口来实现。数据端口 透过数据线300将数据传送到被控元件106并接收来自被控元件106的数据。 时钟端口透过时钟线200将主控元件102产生的时钟传送到净皮控元件106。 图1所示的输出端口利用 一连接线104与时钟线200耦接。
以内部集成电路总线为例 一完整数据传输的时钟包括9个时钟脉沖 (位)。如果被控元件106因忙于执行某些功能,例如执行内部中断程序或 因外部装置正读取被控元件106内部的数据,而无法再接收或传送另一完整 的数据及其时钟(9个时钟脉冲),被控元件106便会使时钟保持低电平(LOW), 强迫主控元件102进入一等待状态。而主控元件102便无法再向被控元件106 传送任何时钟脉冲。被控元件106会在其緩存器内(第1图中未显示)保存已 传送的时钟脉冲(例如5个时钟脉冲)。
根据内部集成电路总线规范,在被控元件106未收到待传的四个时钟脉 冲(位)前,主控元件102将一直处于等待状态。 一旦被控元件106收到待传 的四个时钟脉冲(位),便会释放时钟线200,准备好接收另一时4f的数据字节, 才能继续传输数据。
一般而言,主控元件102无法知道本身已向净皮控元件106传输了多少个 时钟脉沖。请参考图1所示的数据线300与时钟线200的脉冲图,在接收5 个时钟脉冲以及对应的数据位后,由于某些原因,被控元件106便暂持时钟 线200。本发明可以利用一定时器定义允许被控元件106暂持时钟一预定延 迟时间。定时器可以一硬件电路、软件或軔体来实现。当被控元件106暂持时钟超过一预定延迟时间时,主控元件102便开始尝试释》文被控元件106所 暂持的时钟。
因此, 一输出端口,例如一通用输入输出端口,用以开始透过时钟线200 向被控元件106传送主控元件102产生的一个时钟》;K沖。在通用输入输出端 口传送该时钟脉冲后,主控元件102确认数据端口是否4妾收到一响应 (acknowledgement)。如果接收到该响应,则确认时钟线200已被释^:。如未 接收到该响应,便通用输入输出端口持续每次向被控元件106传送1个时钟 脉冲的动作,而通用输入输出端口每传送1个时钟^t沖后,主控元件102便 确认数据端口是否接收到该响应。前述主控元件102传送、确认的程序将持 续到数据端口接收到该响应,即确认时钟线200已被释放为止。在本实施例 中,当通用输入输出端口向被控元件106传送4个时钟脉沖后,被控元件106 的緩存器便获得到一完整的时钟,时钟线200便能被释放。即如前述 一完 整数据传输的时钟包括9个时钟脉冲(位)。该响应为被控元件106所产生的 一确认脉冲。确认时钟线200已被释放后,数据端口会向被控元件106传送 主控元件102所产生的一停止脉冲。在内部集成电路总线^L范中,此停止脉 冲为主控元件102所产生的停止条件的脉冲。至此,便完成一完整的数据传 输程序,开始下一个数据传输程序。
请参考图2,是本发明第二实施例的双线总线的简化方块图以及其数据 线与时钟线的脉冲图,其中主控元件102的数据端口以及时钟端口均以通用 输入输出端口实现,使该主控元件102具有对时钟线200的释放功能。与图 1所示的第一实施例不同的是,主控元件102的第一输出端口(数据端口)以及 第二输出端口(时钟端口)均为通用输入输出端口。因此主控元件102能知道
本身已传送了多少个时钟脉沖。
同样地,以内部集成电路总线规范为例,请参考图2所示,数据线300 与时钟线200所传输的一完整数据传输时钟,包括9个时钟脉冲(位)的脉冲图。在接收5个时钟脉沖以及对应的数据位后,也由于某些原因,被控元件
106暂持时钟线200。本实施例仍会定义允许被控元件106暂持时钟的一预 定延迟时间。当被控元件106暂持时钟超过一预定延迟时间时,主控元件102 便开始尝试释放被控元件106所暂持的时钟。因此,利用第二输出端口(时钟 端口),根据内部集成电路总线规范,向被控元件106传送主控元件102所产 生的4个待传的时钟脉冲。接着,在第二输出端口传送待传的时钟脉冲后, 主控元件102确认第 一输出端口 (数据端口 )是否接收到一响应。
接收到该响应后,则确i人时钟线200已^皮释》文。如未4妾收到该响应,可 再次传送待传的时钟脉沖,尝试释放时钟线200。在本实施例中,确认时钟 线200已被释放后,第 一输出端口 (数据端口 )会向被控元件106传送主控元 件102所产生的一停止脉冲。在内部集成电路总线规范中,此停止脉沖为主 控元件102所产生的停止条件的脉沖。至此,便完成一完整的数据传输程序, 开始下一个数据传输程序。
请参考图3,是透过双线总线进行内部交互通联的计算机系统的方块图, 本发明计算机系统的控制器302能释放双线总线的时钟线。该计算机系统, 例如是一智能平台管理接口服务器(IPMI server),可主要包括一控制器(例如 一基板管理控制器BMC)302、 一非挥发性内存304、 一电压监控装置306以 及一传感器控制装置310。控制器302为主控元件,非挥发性内存304、电 压监控装置306以及传感器控制装置310为被控元件。电压监控装置306用 以监控计算机系统装置306-1、 306-2、 306-3的电压,例如中央处理器电 压、不断电系统电压等。传感器控制装置310用以监控计算机系统元件310-1、 310-2、 310-3,例如风扇速度、中央处理器温度、硬盘温度等。控制器302 包括一数据端口 、 一时钟端口以及一通用输入输出(GPIO)端口 。数据端口透 过数据线300向被控元件304、 306、 310传送凄t据并/人:故控元件304、 306、 310接收凄t据。时钟端口透过时钟线200向#1控元件304、 306、 310传送控制器302产生的时钟,为其提供时钟。如图3所示的输出端口(例如 一通用 输入输出端口)利用一连接线104与时钟线200耦接。如同图1所示的第一实 施例中所述,控制器302能释放被被控元件304、 306、 310任一个所暂持的 时钟。
请参考图4,是依据本发明第一实施例释放一时钟线的方法流程图。为 完成本发明的目的,本发明的释放方法包括下列步骤
步骤410,确认一时钟是否被一被控元件所暂持超过一预定延迟时间时; 如果是,进行步骤420;如果否,持续进行步骤410;
步骤420,向^皮控元件传送一时钟脉沖;
步骤430,确认时钟是否仍被被控元件所暂持(未接收到响应);如果是, 回到步骤420;如果否,进行步骤440;以及 步骤440,向纟皮控元件传送一停止脉沖。
请参考图5,是依据本发明第二实施例释放一时钟线的方法流程图。为 完成本发明的目的,本发明的释放方法包括下列步骤 步骤510,计算已传送的时钟脉冲数目;
步骤520,确认一时钟是否被一被控元件所暂持超过一预定延迟时间时; 如果是,进行步骤530;如果否,持续进行步骤520; 步骤530,向被控元件传送待传的时钟脉冲;
步骤540,确认时钟是否仍被被控元件所暂持(未接收到响应);如果是, 回到步骤530;如果否,进行步骤550;以及 步骤550,向被控元件传送一停止脉冲。
虽然在本发明的实施例中以内部集成电路总线(12C)规范为例,但并非 以内部集成电路总线规范为本发明的实施限定范围。本发明也适用于其它双 线总线,如嵌入式系统设计(CAN-Bus)以及系统管理总线(SMBus)等。本发明 具有释放一对时钟线功能的主控元件、计算机系统及释放方法,能有效轻易地释放时钟线,并且符合双线总线规范容易、简单的要求及其精神。
权利要求
1、一种主控元件,透过一具有一时钟线以及一数据线的双线总线与一被控元件连接,其特征在于该主控元件包括一数据端口、一时钟端口以及一输出端口,其中该数据端口透过该数据线传送并接收若干数据,该时钟端口透过该时钟线向该被控元件传送一时钟,该输出端口与该时钟线耦接,向该被控元件传送该主控元件所产生的至少一时钟脉冲,以使该被控元件释放该时钟线。
2、 如权利要求1所述的主控元件,其特征在于当该被控元件接收一完 整时钟时,该输出端口停止传送该时钟脉沖。
3、 如权利要求1所述的主控元件,其特征在于该输出端口每次传送该 时钟脉冲后,确认是否接收到一响应,以确-i人该时钟线已被释》文。
4、 如权利要求1所述的主控元件,其特征在于确认该时钟线已被释放 后,该数据端口传送该主控元件所产生的一停止脉冲。
5、 一种主控元件,透过一具有一时钟线以及一数据线的双线总线与一被 控元件连接,其特征在于该主控元件包括 一第一输出端口以及一第二输 出端口,其中该第一输出端口透过该数据线传送并接收若干数据,当该时钟 被该被控元件暂持超过一预定延迟时间时,根据该双线总线的规格,该第二 输出端口将向该被控元件传送待传的至少一时钟脉沖。
6、 如权利要求5所述的主控元件,其特征在于当该被控元件接收一完 整时钟时,该第二输出端口停止传送该时钟脉冲。
7、 如权利要求5所述的主控元件,其特征在于在该第二输出端口传送 该时钟脉冲后,确认是否接收到一响应,以确认该时钟线已^皮释放。
8、 如权利要求5所述的主控元件,其特征在于确认该时钟线已被释放 后,该第 一输出端口传送该主控元件所产生的 一停止脉冲。
9、 一种计算机系统,能透过一具有一时钟线以及一数据线的双线总线进行内部的交互连接,该计算机系统包括至少一被控元件以及一控制器,其中该至少一被控元件与该双线总线耦接,该控制器透过该双线总线与该净皮控元件耦接,其特征在于该控制器包括 一数据端口、 一时钟端口以及一输 出端口,其中该数据端口透过该数据线传送并接收若干数据,该时钟端口透 过该时钟线向该^皮控元件传送一时钟,该输出端口与该时4中线耦4妻,当该时 钟被该被控元件暂持超过一预定延迟时间时,该输出端口向该被控元件传送 该控制器所产生的至少 一时钟脉冲。
10、 如权利要求9所述的计算机系统,其特征在于当该被控元件接收 一完整时钟时,该输出端口停止传送该时钟脉冲。
11、 如权利要求9所述的计算机系统,其特征在于在该输出端口每次 传送该时钟脉沖后,该控制器确认是否接收到一响应,以确认该时钟线已被 释放。
12、 如权利要求9所述的计算机系统,其特征在于确认该时钟线已被 释放后,该数据端口传送该主控元件所产生的 一停止脉沖。
13、 一种释放一双线总线的一时钟线的方法,其特征在于该方法包括 下列步骤确认一时钟是否被一被控元件所暂持;以及当该时钟净皮该被控元件暂持超过一预定延迟时间时,向该-波控元件传送 一主控元件所产生的至少 一 时钟力永沖。
14、 如权利要求13所述的方法,其特征在于在每次传送该时钟脉冲的 步骤后,还包括一确认是否接收到一响应,以确认该时钟线已被释放的步骤。
15、 如权利要求14所述的方法,其特征在于在确认是否接收到该响应 的步骤后,还包括一向该被控元件传送一停止脉冲的步骤。
16、 如权利要求13所述的方法,其特征在于在确认步骤前,还包括一 计算已传送的时钟脉冲的步骤。
17、 如权利要求16所述的方法,其特征在于传送该时钟脉冲的步骤遵 照该双线总线的规格,根据计算已传送的时钟脉沖的一结果,传送待传的时 钟脉冲。
18、 如权利要求17所述的方法,其特征在于在传送待传的时钟脉冲的 步骤后,还包括一确认是否接收到一响应的步骤,以确认该时钟线已被释放。
19、 如权利要求18所述的方法,其特征在于在传送待传的时钟脉冲的 步骤后,还包括一向该被控元件传送一停止脉冲的步骤。
全文摘要
本发明揭示一种可释放时钟线的双线总线主控元件、具有该主控元件的计算机系统及其释放方法,其中主控元件能透过具有时钟线以及数据线的双线总线与被控元件连接。本发明主控元件具有一数据端口、一时钟端口以及一输出端口,且该输出端口也与时钟线耦接。当双线总线的时钟被被控元件暂持超过一预定延迟时间时,输出端口透过时钟线向被控元件传送至少一时钟脉冲,以释放时钟线,从而避免传输失败或者数据损毁。当输出端口每次传送主控元件产生的时钟脉冲后,主控元件透过数据端口确认是否接收到一响应。该响应代表确认时钟线已被释放,在时钟线被释放后,数据端口向被控元件传送主控元件所产生的停止脉冲。
文档编号H04L7/00GK101276321SQ200810083279
公开日2008年10月1日 申请日期2008年3月3日 优先权日2007年3月29日
发明者蔡廷鸿 申请人:宏正自动科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1