专利名称:用于实现单线串行协议的系统和方法
技术领域:
本发明涉及通信系统领域,更具体地涉及用在电子串行通信系统。
背景技术:
现代电子器件的电路逐渐需要更高级别的功能,并且常常使用具有通信 端口的电路来设置临界参数。尽管需要高级别的功能,但是很多传统应用却
往往只用一个或两个管脚(pin)来进行控制。比如说,通常在空间非常珍贵 的紧密式电话的铰链区中将一个管脚接口用作一条单线。这些传统应用的新 一代部件也必须仍旧使用一个或两个管脚作为接口。
在单线串行协议中,其模式为必须传送数据极性和数据时钟。为了实现 这一点, 一些已知的单线串行通信协议使用脉冲计数。在这些协议中,接收 由暂停分隔的脉冲图案,并且接收器对于在暂停之后的脉冲进行计数。计数 值即为脉冲包的值。重复的图案发送多个值到接收器,以用于处理命令。然 而计数脉冲本身是一种低效率的技术。 一些其他的协议包括脉宽调制,以通 过高低占空比来区分高低位。在一个要求占空比解析(resolution)的电路中, 有必要进行周期和脉冲宽度的测量来确定高和低之间的区别。这些方法需要 占空比估测的整个周期,并且这些方法本身效率较低。
典型的现有技术的单线接口协议需要相对大量的复杂电路来实现。以下 描述一种能够有效实现的优选的单线串行协议。
发明内容
本发明通过多个系统、设备和方法来描述和说明。除了在发明内容部分 中所述的本发明的这些方面之外,通过参照附图和阅读随后的详细说明可使
得本发明的其它方面变得清楚。 一种用于单线串行通信的方法和设备包括 定义作为数据的预定短脉冲和作为数据分隔符的预定长脉冲。
在该方法中,还包括当传输相同极性的连续数据脉冲时,在所述连续
数据脉冲之间仅提供一个所述数据分隔符;以及当传输极性交替的连续数据
脉冲时,在所述极性交替的连续数据脉冲之间不提供数据分隔符。
在该方法中,所述预定短脉冲包括用以定义脉冲可接受宽度的最小宽
度和最大宽度;以及所述预定长脉冲包括最小宽度,以及如果使用休止间隔
则可选地包括最大宽度。
在该方法中,所述串行通信包括在强弱控制器驱动的结合与仅仅强控制 器驱动之间进行选择。
在该方法中,所述串行通信还包括接收器,所述接收器在所述控制器使 用强驱动和弱驱动时直接驱动通信线路,或者在使用所述强驱动和电流或电
压传感器的控制器的协助下间接驱动通信线路;其中由所述接收器进行的对 通信线路的所述驱动包括确认和响应。
在该方法中,还包括发射双长脉冲终止符,所述双长脉冲终止符进一
步包括两个连续长脉冲作为可选的协议终止符。
在该方法中,所述串行通信还包括在控制器发射所述双长脉冲终止符 的第一个长脉冲之后,通过直接或间接翻转第二个长脉冲的极性来确认数据
包通信的终止;以及当所述接收器在等待间隔内未成功确认之后,强制所述
控制器改变所述第二个长脉冲的极性。
在该方法中,还包括使用主控制器将数据发送到多个接收器和控制器 中的所选接收器;使用所述主控制器发送在双长脉冲终止符中的第一脉冲, 使得该所选接收器能够将极性改变至第二长脉冲;以及使用所述主控制器发 送初始极性变化,使得该所选接收器可以以相同协议开始发送回读数据,直 至该所选接收器发送双长脉冲终止符为止。
在该方法中,还包括通过来自该所选接收器的直接驱动或由所述主控
制器协助的来自该所选接收器的间接驱动来发送回读数据。
在该方法中,还包括持续将数据回读,直至在得到足够但不必是全部 的数据之后由所述主控制器使得双长脉冲终止符中断或者终止该协议为止; 或者由该所选接收器释放完所述回读数据并通过使所述双长脉冲终止符出 现而向所述回读数据末尾发信号,而使得所述双长脉冲终止符中断或者终止 该协议为止。
在该方法中,与所述强弱驱动相结合地使用接收器定时器,以避免所述
短脉冲和所述长脉冲中的过早变化。
在该方法中,所述主控制器使用其自身时序去响应该所选接收器的处
理,从而在所述回读期间内形成短脉冲。
在该方法中,所述主控制器运行在长脉冲的末尾以使得协议继续。 本发明还提供一种在串行通信中在多个控制器之间仲裁的方法,包括
互换控制器和接收器的角色;如果其通信线路在预定休止间隔内没有跃迁,
则定义所述控制器为空闲;以及使用主控制器对听控制器进行寻址,以轮询
和选择下一个控制器通过寻址到的指令包来进行控制。
在该方法中,响应来自放弃控制器的接管指令,在双长脉冲终止过程中 在对第二脉冲确认极性改变时在任意一对控制器之间发生切换。
在该方法中,所述控制器包括分配地址,其与比长脉冲长而比预定休止
间隔时间短的仲裁时间延迟成比例;在线路释放后线路极性的改变引起控制 线路的竞争,并且各竞争控制器用强驱动保持新的极性;竞争控制器在各自 设置的时间间隔之后通过使用弱驱动尝试线路极性的改变来竞争线路控制, 并且具有最长时间间隔的所述竞争控制器赢得对线路控制的竞争,其中对于 较高优先级将施加间隔设置得较长;以及在未能通过所述弱驱动改变线路极 性时,所述竞争控制器通过关闭其输出驱动以等待下一休止间隔来放弃线 路。
在该方法中,主控制器通过维持线路极性、忽略仲裁尝试以及等待来自 所述竞争控制器的读出电流消失,或者通过发射长脉冲的持续序列以阻止仲 裁尝试,来拒绝释放控制。
本发明还提供一种单线串行通信系统,包括控制器,当所述控制器仅包 含强驱动时,所述控制器用作发射器。
在该系统中,当所述控制器包含所述强驱动和电流或电压传感器时,所 述控制器用作所述发射器和一接收器。
在该系统中,当所述控制器包含所述强驱动和一弱驱动时,所述控制器 用作所述发射器和所述接收器,其中所述接收器包括弱于所述强驱动且强于 所述弱驱动的中间驱动。
在该系统中,所述接收器为可寻址或不可寻址的接收器,当所述接收器 是所述不可寻址的接收器时,所述接收器为休眠接收器;而当所述接收器是
所述可寻址的接收器时,所述接收器为休眠接收器或确认接收器;其中所述 确认接收器进一步包括非回读接收器或回读接收器。
本发明还提供一种单线串行通信系统,包括定时器,用以产生作为预 定短脉冲的用于数据的时钟信号,以及用以产生作为预定长脉冲的用于数据
分隔符的非时钟信号;和移位寄存器,连接至所述定时器,用以基于所述产 生的时钟信号存储数据。
在该系统中,所述定时器进一步包括高脉宽识别器;低脉宽识别器; 和组合逻辑电路,连接于该高脉宽识别器和该低脉宽识别器,用以确定接收 到的脉冲是所述数据还是所述数据分隔符。
在该系统中,所述定时器进一步包括第一双稳态多谐振荡器,用以储 存出现的高长脉冲;第二双稳态多谐振荡器,用以储存出现的低长脉冲;和 组合逻辑电路,用以确定出现的双长脉冲终止符是来自于所述第一双稳态多 谐振荡器还是所述第二双稳态多谐振荡器。
通过附图示出本发明的实例。这些附图应理解为示例性,而非限制性。 图l示出示例性协议序列。
图2A和图2B示出没有终止符的示例性协议序列。
图3A和图3B示出具有数据确认的示例性协议序列。
图4示出数据分类的方法。
图5示出用于回读的示例性协议序列。
图6示出示例性控制器的结构。
图7示出用混合的强弱控制器驱动的示例性回读协议序列。
图8示出用强控制器驱动的示例性回读协议序列。
图9示出单线串行端口的示例性电路。
图IO示出区分脉冲宽度的示例性串行定时器。
图11示出示例性输入输出序列。
图12示出示例性串行端口电路。
图13示出示例性串行端口电路。
图14示出示例性串行端口电路。
图15示出区分脉冲宽度的示例性串行定时器。
具体实施例方式
本发明提供一种用于单线串行协议的方法和设备。本说明书中的具体实 施例描述了本发明的示例性实例,并且实际地而非限制性地示出了本发明而 非。在下述的描述中,为了更好的说明,阐述了很多的具体细节,以提供对 本发明的全面理解。然而,对于本领域的技术人员来说清楚的是,在没有这 些具体细节的情况下本发明仍旧可以实施。
说明书中引用的"一个实施例"或"实施例"表示与包含在至少一个发 明实施例中的实施例关联的具体的特征、结构、特性。在说明书种各处出现 的短语"在一个实施例中"或"在一些实施例中"并非全表示同一个实施例, 也并非在其它实施例中独立存在或唯一存在。
清楚的是,本协议可用于控制器和接收器之间的通信。控制器可为传输 数据的任意设备,接收器可为接收数据的任意设备。本协议也可用于能接收 数据的控制器和能传输数据的接收器。这里讲的数据用以表示任意信息,其 包含但不局限于指令、命令、代码、地址或可用二进制代码表示的其它任意 信息。
基本原理
本协议规定短于预定宽度的脉冲被认为是数据脉冲,长于该预定宽度 的脉冲被忽略。因此,其脉冲宽度在预定宽度内的数据脉冲表示为有效位值, 其脉冲宽度大于预定宽度表示为忽略位值。被接受为数据的短脉冲的高低极 性分别确定高值或低值。如果长脉冲是长度足够被认为不是数据的脉冲,则 不考虑其高低。
某些实施例还支持在末尾使用两个长脉冲作为终止符。由于在数据通信 协议中不需要具有两个长脉冲,因此可将两个连续的忽略位值序列用作通信 终止符。
图1示出该协议的基本数据模型。图1示出使用最大脉冲宽度通信方式
的具有<11010011>的发送模型。在开始处100的跃迁可用于设置第一个数据
脉冲的逻辑极性。如上所述,接收器可被设置为忽略具有其在前宽度大于可
接受宽度的跃迁。在图1的示例中,第一个短脉冲101为高脉冲。该短高脉 冲在接收器的移位寄存器中按时钟记录高。为了避免在高后按时钟记录低
值,随后的低脉冲102为长脉冲。示例性序列按时钟依次为高103,低104, 高105和低106。脉冲103-106都足够短,以在预定可接受宽度之内。对于 数据接收的最大脉冲宽度130可被指定。连续高或连续低可在两个短脉冲之 间按时钟记录一个长脉冲。图1的示例中,在高脉冲101和103之间使用长 低值脉冲102。同样,在低脉冲106和108之间使用长高值脉冲107。因此, 其宽度在预定接受宽度之内的脉冲被认定为是表示数据值,例如位的逻辑高 或逻辑低。
由于硅电路的物理局限或噪声消除要求,实现该协议的控制器和接收器 的电实施例需要最小脉冲宽度。在一些实施例中,单引线接口协议可采用例 如0.1微秒的最小脉冲宽度来实现。也就是说,其高或低脉冲值保持小于O.l 微秒的高低脉冲将不认为是数据脉冲。根据物理或逻辑因素也可以定义其它 的最小脉冲宽度。
本协议可定义一个短脉冲,其脉冲宽度大于最小脉冲宽度并小于任意选 择的可接受值。在一些实施例中,短于5微秒并大于0.1微秒的脉冲被定义 为短脉冲。大于5微秒的脉冲定义为长脉冲。在一些实施例中,也可以使用 短脉冲和长脉冲间的保护频带、其它的最小或最大时间段。
图4示出使用上述协议分类数据的方法。步骤401定义有效数位的标准 脉冲宽度(PWs)。在步骤402中,将接收数据位脉冲宽度(PWi)和标准 脉冲宽度(PWs)进行比较。如果接收数据位脉冲宽度(PWi)大于标准脉 冲宽度(PWs),则在步骤403中,数据被分类成一个长脉冲或称数据分隔 符(separator),并且不被认定为有效数据位。
在步骤404中,如果接收数据位脉冲宽度(PWi)不大于标准脉冲宽度 (PWs),则该数据被分类成短脉冲或称有效数据位。如果在步骤405中检 测到数据分隔符(例如两个连续的长脉冲),则按时钟记录有效数据。如果 在步骤405中未检测到数据分隔符,则执行步骤402,即将接收数据位脉冲 宽度(PWi)和标准脉冲宽度(PWs)进行比较。
终止
如上所述,本协议可在连续高或低的之间仅使用一个介入长脉冲。最后,
本协议通过逻辑极性相反的两个连续长脉冲来结束本协议,并表示数据被锁
定。图1示出长低脉冲120随后跟着长高脉冲121。因为前面的有效位111 为高,所以终止以向长低脉冲的跃迁开始。本实例的跃迁顺序可用以表示终 止。虽然未在图中表示,如果前面的有效位为低,则终止序列也可以是长高 脉冲和随后的长低脉冲启动。
终止是可选的,在一些实施例中不使用。例如,当不需要从移位寄存器 中锁定数据时,如在一对控制器和接收器的情况下,没必要终止。在这些实 施例中,由于不使用终止符的接收器只包含长脉冲,所以可以忽略它。
图2A和2B示出不采用例如由图1中的脉冲120和121形成的终止的实 例。图2A表示了和图1中相同的数据序列<1101001>,但没有数据值lll。 图2B表示了和图1相同的数据序列<11010011>。在两个实施例中都示出数 据接受宽度201。
在一些实施例中,控制器使用的长脉冲可以接近或长于接收器提供的所 有脉冲。如果接收器休眠(silent),长脉冲可以为任意长。 不同类型的控制器和接收器的协议应用
这里描述的协议可以应用于一个控制器的情况,也可以应用于在同一根 引线的多控制器的情况。本协议也可以应用于和一个或多个休眠的接收器、 数据确认接收器或数据回读(readback)接收器结合的场合。此外,可使用 多种方法来实现在先前列出的设备间的协议。
可实现串行接口的控制器-接收器组合的多种实施例。例如,设备可以为 可交互的或使用以下任一组合的专用接收器或控制器,所述组合包括输出 驱动力、数据锁定、双长脉冲终止符识别或确认。休眠接收器不需要驱动功 能。没有地址的接收器不需要锁数据或双长脉冲终止符的识别,并接收所有 到来的数据。有地址的休眠接收器可以使用协议中编码的的地址,以选择哪 个通信包接收数据。在双长脉冲终止序列可发生锁定。响应接收器可具有这 样的功能,即使用中间驱动来执行数据确认或使用短脉冲计时来实现回读期 间的中间驱动改变。如果中间驱动改变成功,则能够检测电流或电压。
不支持数据确认或数据回读的单独控制器可通过只使用强输出驱动来 实现。它将数据寻址到多个接收器,并且在不与其它控制器共享其线路的情 况下忽略返回信息。支持数据确认和数据回读的控制器可以与多个控制器和
接收器进行通信。以下的示例示例性示出本协议的一些实施例,但不局限于 此。例如,可通过使用控制器和接收器中不同程度的输出驱动功能实现双向 通信。按照递减力顺序的驱动输出可以是控制器强驱动,接收器中间驱动, 控制器弱驱动和无驱动或任意一对控制器-接收器的高阻抗。在这个应用中, 当控制器回复到弱驱动时,接收器可在适当的点插入它的线路极性改变。标准的非定制(off-the-shelf)控制器可通过在多种结构引脚使用不同值的电阻 而并非使用可变驱动输出以形成多个驱动串来实现这个方法。另一个实施例为仅在控制器上使用强驱动,在接收器上使用弱驱动。这 个应用要求控制器具有电流传感器或与接收器和控制器一起运行的限流器。 在这种情况下,控制器在信号线中进行所有的跃迁,但将检测下接收器的内 部短脉冲定时器确定的适合点上是否存在与弱驱动状态的线电极冲突的接 收器。可选择地,脉冲定时可通过使用控制器的驱动控制来专门地保持。控 制器的电流传感器检测从接收器来的电流,根据协议的阶段来确定是否改变 极性。结果是,响应于接收器弱驱动处理的检测电流,控制器进行必要的信 号改变,以使得在信号线路中可见。控制器在它的闲置阶段也检测另一个控 制器的电流。在一些实施例中,从相反或交替的长脉冲图案得到的电流可作 为来自等待控制器的线路控制请求。在一些实施例中,通过使用与请求控制器中的分配地址成比例的时间延 迟来执行控制器的仲裁和切换。长延迟可用以表示高优先级,假设该延迟短 于预定的休止(inactivity)时间段、长于脉冲接受宽度,以阻止新的控制器 关联或数据传输。主控制器可通过发送连续序列的长脉冲来保持闲置控制。 然而,在这个例子中,主控制器己结束通信。请求控制器等待预定的休止时 间段,例如三个或更多的长脉冲。然后它们使用弱驱动以长脉冲的顺序将线 路信号的极性反向保持一预定时间。主控制器检测电流并选择是否释放线路 控制。该控制器可以忽略该电流直到它消失。若没有电流被检测到,数据传 输回复。请求控制器可等待另外一段休止时间段来重新尝试。如果已被释放, 则线路极性通过弱驱动器改变。请求控制器回复到强驱动并开始竞争赢得仲 裁。通过使用基于每个控制器优先级的延迟,它们回复到弱驱动,并尝试使 线路极性翻转。如果控制器不成功,则控制器放弃尝试并等待下一休止时间
段以重新尝试。 一段时间后,控制器通过使它们的驱动输出失效来停止工作 直到只剩一个控制器。最后一个控制器能在弱驱动器内翻转线路的极性。假 设强控制占优并进行通信。在本方法的一些实施例中,控制器可通过电流检 测来支持仲裁。在另一个实施例中, 一种仲裁方法使用来自主控制器的数据指令包来得 到来自等待控制器的确认。周期性地,闲置主控制器可使用二元搜索或另外 一种搜索方法来轮询具有适当优先级的等待控制器。 一旦候选控制器被找 到,主控制器将向等待控制器传送数据指令,以控制线路。在等待控制器发 送的双长脉冲终止符的确认翻转时发生切换。不需要优先级延迟定时器和电 流传感器,并且可使用标准非定制控制器。可对这些方法进行多种改变,以通过使用单引线串行协议实现双向通 信。作为非限制性的示例,协议机制可包括控制器数据传输、接收器确认、 接收器数据回读、控制器仲裁和控制器切换。确认协议本协议的一些实施例可包含一个可选的确认功能。在一些实施例中,可通过以预定方式使用双长脉冲终止符来实现确认。图3A和图3B描述了相关 的示例。在这些示例中,发送数据模型<0110>。在将一位或多位301-304数 据按时钟记录于接收设备中之后,控制器开始双长脉冲终止符。在控制器发 出第一个长脉冲305后,跟随长于预定可接受宽度的任意长度脉冲307后, 控制器将其输出设置为高阻抗或弱驱动。在点307,如果接收设备正在确认 控制器,则其可将控制器信号的逻辑极性翻转。因此,如果执行确认,则高 信号305在点307将被转换到低确认信号306。控制器可以使用在高阻抗状 态的驱动器检査翻转状态。如果没有执行确认,则信号如虚线308所示保持 不变,控制器可随第二个长脉冲308结束协议,接受没有通信确认。无确认 表现为终止序列中的长起始脉冲。在一些实施例中,接收器尝试在适当数据 条目之后以预定时间间隔进行确认。只使用强驱动的控制器可翻转使用弱驱 动的接收器的确认信号。该接收器可被设置用于检测是否在任意一种情况下 能翻转信号。这可用于在数据锁定时进行信号传输。当本协议不需要休眠接收器驱动数据线路时,响应接收器被配置用于在 不同确认条件下驱动中间高、中间低或高阻抗。接收器的中间驱动力比控制
器强驱动弱但比控制器弱驱动强。 回读协议一些实施例可支持确认和数据回读功能。图5和图6示出数据回读的示 例性协议。确认功能启动数据回读序列。回读之前,控制器在线路上施加强 驱动来为接收设备传输指令。图5示出了两个例子。在第一个例子中,驱动状态501的最后数据位为<0>。在第二个例子中,驱动状态550的最后数据 位为<1>。在双长脉冲终止信号510的前半周期下,控制器终止序列。在后半周期, 控制器不翻转前一脉冲的极性,但使用弱驱动511维持脉冲。响应接收器随 后用其自身的中间驱动强制进行极性翻转512。该翻转确认控制器。控制器随后通过计时出一全长脉冲来响应,然后使用强驱动514强制翻 转极性513。这向接收器传输信号以发送第一数据位,若该位极性和当前线 路状态相同,则首先发送最高有效位。短脉冲的极性表示了传输的数据位的 极性。如果接收器的数据位极性和信号线路一致,则接收器将在控制器回复 到弱驱动或控制器弱驱动改变极性时强制转换极性。极性改变将被计时来产 生一短脉冲,用以传输发送有效数据位的信号。接收器在如下的跃迁中比较随后的数据位。如果位极性和信号线路极性 不匹配,则接收器将尽可能长时间的保持线路极性,同时忽略控制器的弱驱 动极性改变。当数据极性与线路极性匹配时,接收器可在控制器的弱驱动改 变或小于脉冲可接受宽度的预定时间后产生短脉冲。由于长脉冲为忽略脉 冲,所以接收器保持电流位直到短脉冲的正确极性出现。因此,该协议可在 两个短脉冲间的不多于一个的长脉冲来实现数据传输。控制器还可继续使用弱驱动翻转,直到出现长脉冲。在长脉冲的结束端, 控制器使用强驱动来强制极性翻转和数据回读序列的持续。接收器检测到线 路改变并根据电流位极性匹配与否来决定使用短脉冲还是长脉冲。如果接收 器检测到控制器仅使用强驱动,则接收器将使用定时器插入更弱驱动以强制 跃迁。接收器定时器可被设置成大于控制器的定时来允许控制器对在混合控 制器驱动情况下的协议进行计时。这种情况允许控制器检查接收器的短脉冲 定时。在一些实施例中,控制器仅在接收器和控制器的标准定时模型的假设 下来控制定时。序列继续传输,直到控制器检测到某一数目的短脉冲、检测 到双长脉冲终止序列、或通过强驱动强制结束。该序列可用于任意位数的数 据回读。在一些实施例中,回读序列的数据或数据长度可不同,用于将回读 数据和其它接收器的控制器命令区别开来。可以采用多种不同的检査和回读模式。如图5所示,如果数据位为<0>,可以使用强高检查模式560、弱高检査模式570、短高回读模式580和长高 回读模式590。若数据位为<1>,则可使用强低检査模式561、弱低检査模式 571、短低回读模式581和长低回读模式591。图5示出了在强和弱驱动状态 599下的部分回读模式的实例。为实现本协议,控制器可驱动弱和强电平,并检测来自接收器的相应驱 动电平。如图6所示,控制器可通过使用两个输入-输出引脚601和602或 其它类似的方式来实现。引脚601和线路604直接相连,另一引脚602通过 一弱驱动电阻603和线路604相连。作为非限制性的示例,直接驱动引脚601 电阻可为1千欧姆,弱驱动电阻603电阻可为约25千欧姆。接收器可有5 千欧姆的中间驱动电阻,,以当控制器回复到弱驱动时驱动线路。这里描述的实现本协议的控制器可包含电流传感器以及与输入-输出引 脚组合的驱动控制。在一些实施例中,控制器只可在强驱动下工作,除了控 制器放弃线路控制给另一控制器之外。接收器可试着用弱驱动改变线路,但 不能在强控制器驱动下完成。接收器可用一内部定时器在脉冲短时选择一合 适的时间进行翻转。在一些实施例中,接收器定时可长于控制器使用的短脉 冲定时。这使得标准控制器定时使用强和弱驱动,以使得接收器驱动线路。若脉冲为长,则在一些实施例中,接收器将尝试极性翻转,因此使得控 制器在一个长脉冲之后实现极性翻转。如果接收器正在确认进入的数据,则 接收器将尝试将第一个长脉冲的极性改变为第二个长脉冲。控制器通过检测 来自接收器驱动处理引起的电流来实现转变。若使用示波器进行观察,则控 制器可延长确认相位中的第一个长脉冲来更清楚的显示没有弱驱动,因此在 线路上没有检测到确认信号。现在参照图8,其示出了根据本发明实施例的回读方案800的示例。在 这个示例中,数据模型<10101010>被发送,数据模型<011001>被读回。回读 方案800示出仅使用了具有控制器的电流传感器的强驱动,以及仅使用了接 收器的弱驱动。首先,控制器以无源线路811开始,并发送数据812。在数
据传输810的末尾,控制器实现双脉冲终止符820的第一个跃迁821。此时, 接收器被适当寻址,并准备确认所发送的数据。通过在长脉冲的开始启动其 弱驱动822或在第二个长脉冲所在的开始启动弱驱动823来使得接收器确 认。检测弱驱动的结果,控制器使得极性改变824变为第二个长脉冲。如果 来自确认接收器的弱脉冲不存在,则电平825保持直到出现这里没有表述的 时间。 一旦确认成功,控制器通过翻转极性831完成第二个长脉冲。因此对 确认的接收器进行信号传输,以在回读830期间首先相应最高有效数据位。 接收器使用其弱驱动832来保持线路或根本不使用驱动。控制器检测到没有 相反的电流,经过长脉冲并将极性改变833变为低。接收器检测到与其必须 发送的位极性匹配的低条件。接收器设置其弱驱动834以使得长脉冲相反。 通过进行极性改变835来使得控制器响应,以生成短数据脉冲。对于高脉冲 836、 837和忽略的低脉冲838、 839重复相同的操作。在完成数据回读之后, 接收器或控制器将使得双长脉冲终止符显示。在一些实施例中,接收部分可有一接口,其将输入-lr出功能和电流传感器相结合。使用电流传感器,该部分可同时响应弱和强驱动情况,以在正确 点翻转极性。可使用至少两个不同的驱动模式。在第一种情况下,弱确认驱 动采用驱动实现第二个长脉冲的翻转。在数据模式中,若数据回读位和线路 极性不匹配,则弱驱动将尝试保持长脉冲,或者,若数据回读位和线路极性 匹配,则弱驱动将在短脉冲时间间隔后尝试翻转脉冲。接收部分的短脉冲延 迟可长于控制器中使用的短脉冲定时。在一些实施例中,控制器在控制线路 时经常使用强驱动。电流传感器可用于确定是否存在响应。在第二种情况下,强-弱驱动让控制器对向弱驱动转变的边缘转变定时。 在只有强驱动的情况下,控制器等待更长的时间来检测来自该部分极性翻转 尝试的电流。在一些实施例中,单引线端口的逻辑电平被匹配,这样供电不匹配将不 会使一个部分驱动该供电范围外的另一个部分。在一些实施例中,逻辑摆动 范围可降低到2V,这样在使用达5V的供电情况下0.8Vil和1.2Vih-1.4Vih 为大致的极限。该极限可通过设定合适的极限保护频带来配置用于解决强驱 动电压电平上产生的弱驱动感应变化。在一些实施例中, 一个反跳电路(debounce circuit)(未示出)可用于 防止对数据产生干扰。100纳秒或更长的时间过滤用于抑制不需要的电压和 电流干扰。电路实施例在一些实施例中,可使用相对简单电路来测量脉冲宽度并确定脉冲的接 收。图9中示出这种串行端口电路的一个实施例。如图9所示,串行定时器910监测短脉冲,如果发现短脉冲,则在线915 上产生窄时钟脉冲,送至移位寄存器950的移位输入端。反相器905对数据 线901上的数据极性进行反相,并将导线903上反相后的数据输出至移位寄 存器和锁存器950。在一些实施例中,将反相后数据信号作为移位寄存器950 的输入,因为在电脉冲结束的跃迁之前需要存储的逻辑电平已经被接收。例 如,窄高脉冲在跃迁到低时结束。因此,在CLK信号915脉冲为高时低信 号有效。所以,反相器905能用来储存数据极性。在其他实施例中,如果不 需要数据极性或其已存储、已知或可被确定,则可省略反相器905。当RDY信号916触发,移位寄存器950中的标准数据在RDY信号916 的上升沿按时钟记录在锁存器中。在一些实施例中,串行定时器910中高低 脉冲是对称的。在那些实施例中,反相器906可选。可知去掉反相器906会 翻转输出信号Ll 920和L2 925的极性方向,但不会影响电路的工作。当移位寄存器和锁存器950被描述为一个集成功能单元时,可将这些功 能分布到很多功能单元中。移位寄存器和锁存器950能驱动输出总线960。 在所述示例中,总线960传送8位数据。在其他实施例中,移位寄存器和总 线能被设置为传送更多或更少位的数据。在所述示例中,单个RESET信号 902可用来重启串行定时器910和移位寄存器和锁存器960。图10中示出串行定时器910 —个实施例。该示例电路中使用了两个脉 冲识别器,高脉冲识别器1005和低脉冲识别器1010。脉冲宽度识别器包括 能实现延迟的一个或多个装置。脉冲宽度识别器1005包括不对称定时器1003 和不对称定时器1002。作为一个非限制性示例,不对称定时器1003被设置 为上升时间接近Ons,下降时间100ns,不对称定时器1002被设置为上升时 间5us,下降时间250ns。不对称定时器1002的输出还可连接至反相器1001。 脉冲宽度识别器1010包括不对称定时器1008、 1007和反相器1006。不对称 定时器1008和1007的延时时间可选为与不对称定时器1003、 1002相同或 相异。若数据线1017上的输入脉冲,无论为高或低,长于预定宽度,则脉冲宽度识别器1005和1010将分别在线1015和1016上输出一个高信号。任何 来自与非门1004或与非门1005的高脉冲均会防止或非门1020对寄存器进 行时钟所必需的高脉冲。一些实施例还包括D双稳态多谐振荡器1025和1030 以存储长脉冲。如果在一行中有两个长脉冲,如前面所讨论的,信号L1 1040 和L2 1045将为高,而且反相器1049的RDY输出1050也会为高,作为协 议的终止信号。在一些实施例中,如果在移位寄存器950中不需要锁存数据,触发器1025 和1030,与非门1048和反相器1049中所有或一部分可被省略。这些元件的 省略在独立接收器应用中可节省空间。图11中示出高脉冲宽度鉴别的时序图。低脉冲宽度鉴别的时序图与此 类似。如前所述,拥有各自不同上升和下降边沿时间的不对称定时器产生时 钟和准备脉冲。图11示出两个高脉冲,第一个1150窄,第二个1160宽。 在跃迁1101,窄高脉冲开始。这个脉冲使得不对称定时器1003的输出在跃 迁1111处变高1102,与非门1004的输出在跃迁1112处变低1103。由于脉 冲1150的窄宽度,不对称定时器1002没有时间变高,因此反相器1001的 输出保持为高。当窄脉冲1150在跃迁1104处结束时,不对称定时器1003 在迟于跃迁1105后将其输出下降100ns。这使得与非门1004的输出在跃迁 1106处变高前维持为低电平1103 100ns。因为相应的低脉冲宽度识别器在与非门1009的输出在低脉冲开始时会 变低,这和与非门1004的输出在高脉冲开始时一样,这两个低电平会在时 钟输出产生一个100ns的高脉冲1113。低与非门1004在窄脉冲1150于跃迁1104处终止时按时钟记录在触发 器1025,使得输出Ll 1040为低-窄脉冲1114。低脉冲1114的宽度不会影响 下一次的上升跃迁输出1130、 1131和1132,因为脉冲的最小宽度比定时器 1003或1002的下降沿时间长。在以跃迁1130和1140为边界的宽脉冲1160的情况下,不对称定时器 1003的处理与窄脉冲的情况相同。但是,不对称定时器1002有充足的时间 达到它的5us定时。定时器1002在跃迁1107处变为高,导致反相器1001 的输出在跃迁1108处变为低,而与非们1004的输出在跃迁1109处变为高。 因为定时器1002的关断时间为250ns,定时器1003的关断时间为100ns,脉 冲1160在跃迁1140处的下降沿不会被传送至时钟输出。定时器1002有效 地阻止了跃迁1140和1141引起的脉冲。与非门1004输出的高电平导致宽 脉冲1160在跃迁1140处的下降沿,以将高电平时钟记录在双稳态多谐振荡 器1025。然后输出L1 1040跃迁至高1110,以表示长脉冲。对称地,如果将 同样的序列送至双稳态多谐振荡器1030和输出L2 1045,在RDY输出1050 处将会产生一个双倍的长脉冲终止信号以终止协议。图12中示出另一实施例。在这个实施例中未用到图9中的反相器卯5。 而且,串行定时器1201不包括输出Ll或L2,相应地在图9中表示为920 和925。如图13中所示,在一些实施例中,移位寄存器和锁存器1305可在 没有重置输入的情况下实现。因此,重置信号线1302能直接输入至串行定 时器1310.在一些实施例中,数据并不被锁存。图14中示出该种实施例的一个实 例。如图14中所示,移位寄存器1405可配置为不需要重置或准备信号。在 该实施例中,串行定时器1410可配置为不需要READY输出。如前所述, 根据脉冲宽度来决定是否对寄存器进行时钟记录。在图14所示的实施例中, 接至移位寄存器1405的数据线1420有反相器1425,但没有决定电路。图15示出图14中所示实施例所用的串行定时器1500。在一些实施例中, 定时器1501-1504是不对称延时定时器。每个定时器1501-1504 (和其他任 何提到的定时器)的延时时间能被各自编程或设置,以获得任何值的延时, 以使能根据协议要求进行脉冲宽度鉴别。在一些实施例中,定时器1500可 仅通过在数据线1505上的反相器1510实现。定时器1510也可不使用双稳 态多谐振荡器和其他门和逻辑结构。结论本发明揭示了一个用于串行通信系统的新协议。其中,短脉冲代表数据, 长脉冲代表数据分隔符。短脉冲的极性代表他们的值。在一些实施例中, 一个控制器和多个控制器可以与连接至它们的一条根 通信线(路)上的接收器互换使用。接收器可包括一个或多个休眠接收器、 数据确认接收器、和/或数据回读接收器。控制器和接收器根据他们线路控制
状态可以输出强输出驱动、弱输出驱动、中间输出驱动或无输出驱动(高输 出阻抗)。在使用单一控制器的实施例中,如果接收器休眠,则可仅使用强输出驱 动。如果使用多个控制器或接收器,则不管是在数据确认,数据回读,还是 控制仲裁,控制器可以支持任意的输出驱动类型的组合。通常,不可互换的 接收器不使用驱动。尽管如此,在确认和回读时,他们可以使用中间输出驱 动。一些实施例中,在强驱动过程中,控制器使用电流或电压传感器从而允 许间接从接收器确认和回读,而不需借助不同输出驱动力。在使用线路的周 围环境下,信号输出驱动力可以被选择用于克服装载和周边环境的噪声问 题。进一步地,用于长/短脉冲的时序规格可以被选择用以克服装载、噪声以 及线路传输特性等问题。在一些实施例中, 一个休眠接收器不锁定数据,也不使用终止符。此外, 休眠接收器不驱动线路。多个可寻址的接收器可以在适当寻址时响应双长脉 冲终止符锁定数据。另一方面,响应接收器在回读和确认情况下可以使用更 弱的高驱动和更弱的低驱动,甚至无驱动。这里描述的协议可以仅使用有限电路结构就可以有效执行。能够使用该 协议通信的控制器和接收器可使用上述电路来实现。许多实施例的特征可以 被结合到其它实施例中,这里阐述的各实施例可以在没有这里描述的所有特 征或方面的情况下而同样得到实现。本领域技术人员应该认识到,尽管为了 说明这里阐述了系统和方法的许多具体的实例和实施例,但是可以在不偏离 本发明的精神和范围内进行各种修改。本发明的实施例可以用于许多不同类 型的传输系统。此外, 一个实施例的几个特征可以结合到其他实施例,甚至 有些特征可能没有在这里通过一个单一实施例一起被阐述。在说明书中和图1-15中阐述了本发明的某些实施例的多个具体细节,以 提供对这些实施例的全面理解。然而,所属领域普通技术人员可以理解的是, 在没有这些细节或向本发明增加其它细节的情况下也可以实现本发明。没有 详细示出或描述公知的结构和功能,以避免没必要地掩盖对本发明实施例的 描述。如上所述,彼此"连接"的一个或多个组件可以直接(即,在连接的 组件之间没有其它组件)或间接(即,在连接的组件之间存在一个或多个其 它组件)连接。除非上下文明显地需要,在整个说明书和权利要求书中,词语"包括"、 "包含"等可解释为包含的含义,并非唯一或详尽的含义;也就是说,是"包括,但不限于"的含义。此外,在本申请中使用的词语"其中"、"上述"、 "以下"和类似意义的词语应指的是本申请的整体,而并非本申请的任一特 定部分。在上下文允许的情况下,在上述具体实施方式
部分中使用单数或复 数的词语也分别包括复数或单数。在两个或更多个项目的列表中引用的词语 "或"包含对该词语的以下所有解释列表中的任一项目、列表中的所有项 目和列表中任一项目的组合。本发明实施例的上述详细说明并非详尽的或使本发明限制在上述公开 的准确形式。虽然本发明的具体实施例、实例示例性如上所述,但是所属领 域普通技术人员可以认识到的是在本发明的范围内可以进行各种等同修改。 例如,尽管以给定顺序呈现了多个处理和方框,但是可替代实施例可以以不 同的顺序执行具有这些步骤的程序、或采用具有这些方框的系统,并且某些 处理或方框可以删除、移动、添加、拆分、组合和/或修改,以提供可替代的 或重新组合的处理和方框。其中每一处理和方框可以以多种不同方式实现。 此外,尽管这些处理或方框有时示出为串联执行,但是这些处理或方框也可 以代替地并联执行,或者在不同的时刻执行。这里提供的本发明的教导可应用于其它系统,没必要一定是上述的系 统。上述各实施例的元件和操作可以组合或改变以提供其它实施例。根据上述具体实施方式
部分的描述,可以对本发明进行这些和其它改 变。尽管以上的说明书描述了本发明的某些实施例,但是描述了预期的最佳 模式,不管以上描述多么详细,本发明都可以以多种方式实现。该系统的细 节在其实现细节方面可以进行多种改变,但是仍旧包含在本发明所公开的范 围内。在具体实施方式
部分中所使用的术语旨在以最大的合理方式进行解释, 尽管是以结合本发明的某些具体实施例的详细描述来使用的。甚至可强调某 些术语,然而,以限制方式解释的任一术语具体实施方式
部分中均被公开和 具体地定义。通常,在随后权利要求中使用的术语应理解为将本发明限制在 说明书中所公开的特定实施例,除非上述具体实施方式
部分清楚定义了这些
术语。因此,本发明的实际范围不仅包含上述公开的实施例,还包含在权利 要求范围内可实现或实施本发明的所有等同方式。
权利要求
1.一种用于提供数据流串行通信的方法,包括定义作为数据的预定短脉冲和作为数据分隔符的预定长脉冲。
2. 如权利要求1所述的方法,还包括当传输相同极性的连续数据脉冲时,在所述连续数据脉冲之间仅提供一 个所述数据分隔符;以及当传输极性交替的连续数据脉冲时,在所述极性交替的连续数据脉冲之 间不提供数据分隔符。
3. 如权利要求1所述的方法,其中所述预定短脉冲包括用以定义脉冲可接受宽度的最小宽度和最大宽度;以及所述预定长脉冲包括最小宽度,以及如果使用休止间隔则可选地包括最 大宽度。
4. 如权利要求1所述的方法,其中所述串行通信包括在强弱控制器驱动的结合与仅仅强控制器驱动之间进行选择。
5. 如权利要求1所述的方法,其中所述串行通信还包括接收器,所述接收器在所述控制器使用强驱动和弱驱动时直接驱动通信线路,或者在使用所述强驱动和电流或电压传感器的控制器的协助下间接驱动通信线路;其中由 所述接收器进行的对通信线路的所述驱动包括确认和响应。
6. 如权利要求1所述的方法,还包括发射双长脉冲终止符,所述双长脉冲终止符进一步包括两个连续长脉冲作为可选的协议终止符。
7. 如权利要求6所述的方法,其中所述串行通信还包括在控制器发射所述双长脉冲终止符的第一个长脉冲之后,通过直接或间接翻转第二个长脉冲的极性来确认数据包通信的终止;以及当所述接收器在等待间隔内未成功确认之后,强制所述控制器改变所述 第二个长脉冲的极性。
8. 如权利要求7所述的方法,还包括使用主控制器将数据发送到多个接收器和控制器中的所选接收器; 使用所述主控制器发送在双长脉冲终止符中的第一脉冲,使得该所选接 收器能够将极性改变至第二长脉冲;以及使用所述主控制器发送初始极性变化,使得该所选接收器可以以相同协 议开始发送回读数据,直至该所选接收器发送双长脉冲终止符为止。
9. 如权利要求8所述的方法,还包括通过来自该所选接收器的直接驱动或由所述主控制器协助的来自该所 选接收器的间接驱动来发送回读数据。
10. 如权利要求9所述的方法,还包括持续将数据回读,直至在得到足够但不必是全部的数据之后由所述主控 制器使得双长脉冲终止符中断或者终止该协议为止;或者由该所选接收器释放完所述回读数据并通过使所述双长脉冲终止符出现而向所述回读数据末 尾发信号,而使得所述双长脉冲终止符中断或者终止该协议为止。
11. 如权利要求IO所述的方法,其中与所述强弱驱动相结合地使用接收 器定时器,以避免所述短脉冲和所述长脉冲中的过早变化。
12. 如权利要求11所述的方法,其中所述主控制器使用其自身时序去响 应该所选接收器的处理,从而在所述回读期间内形成短脉冲。
13. 如权利要求11所述的方法,其中所述主控制器运行在长脉冲的末尾以使得协议继续。
14. 一种在串行通信中在多个控制器之间仲裁的方法,包括互换控制器和接收器的角色;如果其通信线路在预定休止间隔内没有跃迁,则定义所述控制器为空 闲;以及使用主控制器对听控制器进行寻址,以轮询和选择下一个控制器通过寻 址到的指令包来进行控制。
15. 如权利要求14所述的方法,其中响应来自放弃控制器的接管指令, 在双长脉冲终止过程中在对第二脉冲确认极性改变时在任意一对控制器之 间发生切换。
16. 如权利要求14所述的方法,其中所述控制器包括分配地址,其与比长脉冲长而比预定休止间隔时间短的 仲裁时间延迟成比例;在线路释放后线路极性的改变引起控制线路的竞争,并且各竞争控制器 用强驱动保持新的极性; 竞争控制器在各自设置的时间间隔之后通过使用弱驱动尝试线路极性 的改变来竞争线路控制,并且具有最长时间间隔的所述竞争控制器赢得对线路控制的竞争,其中对于较高优先级将施加间隔设置得较长;以及在未能通过所述弱驱动改变线路极性时,所述竞争控制器通过关闭其输 出驱动以等待下一休止间隔来放弃线路。
17. 如权利要求14所述的控制方法,其中主控制器通过维持线路极性、 忽略仲裁尝试以及等待来自所述竞争控制器的读出电流消失,或者通过发射 长脉冲的持续序列以阻止仲裁尝试,来拒绝释放控制。
18. —种单线串行通信系统,包括控制器,当所述控制器仅包含强驱动 时,所述控制器用作发射器。
19. 如权利要求18所述的单线串行通信系统,其中当所述控制器包含所 述强驱动和电流或电压传感器时,所述控制器用作所述发射器和一接收器。
20. 如权利要求18所述的单线串行通信系统,其中当所述控制器包含所 述强驱动和一弱驱动时,所述控制器用作所述发射器和所述接收器,其中所 述接收器包括弱于所述强驱动且强于所述弱驱动的中间驱动。
21. 如权利要求18所述的单线串行通信系统,其中所述接收器为可寻址 或不可寻址的接收器,当所述接收器是所述不可寻址的接收器时,所述接收器为休眠接收器;而当所述接收器是所述可寻址的接收器时,所述接收器为休眠接收器或确 认接收器;其中所述确认接收器进一步包括非回读接收器或回读接收器。
22. —种单线串行通信系统,包括定时器,用以产生作为预定短脉冲的用于数据的时钟信号,以及用以产 生作为预定长脉冲的用于数据分隔符的非时钟信号;和移位寄存器,连接至所述定时器,用以基于所述产生的时钟信号存储数据。
23. 如权利要求22所述的单线串行通信系统,其中所述定时器进一步包括高脉宽识别器; 低脉宽识别器;和 组合逻辑电路,连接于该高脉宽识别器和该低脉宽识别器,用以确定接 收到的脉冲是所述数据还是所述数据分隔符。
24.如权利要求22所述的单线串行通信系统,其中所述定时器进一步包括第一双稳态多谐振荡器,用以储存出现的高长脉冲; 第二双稳态多谐振荡器,用以储存出现的低长脉冲;和 组合逻辑电路,用以确定出现的双长脉冲终止符是来自于所述第一双稳 态多谐振荡器还是所述第二双稳态多谐振荡器。
全文摘要
本发明提供用于实现单线串行协议的系统和方法,其中用于提供数据流串行通信的方法包括定义作为数据的预定短脉冲和作为数据分隔符的预定长脉冲。其中在串行通信中在多个控制器之间仲裁的方法包括互换控制器和接收器的角色;如果其通信线路在预定休止间隔内没有跃迁,则定义所述控制器为空闲;以及使用主控制器对听控制器进行寻址,以轮询和选择下一个控制器通过寻址到的指令包来进行控制。其中单线串行通信系统包括控制器,当所述控制器仅包含强驱动时,所述控制器用作发射器。
文档编号G06F13/42GK101165675SQ20071018199
公开日2008年4月23日 申请日期2007年10月17日 优先权日2006年10月17日
发明者柯蒂斯·鲁宾逊 申请人:成都芯源系统有限公司