CN109074339A - 用于线复用uart流控制的数字信令方案 - Google Patents
用于线复用uart流控制的数字信令方案 Download PDFInfo
- Publication number
- CN109074339A CN109074339A CN201780025472.4A CN201780025472A CN109074339A CN 109074339 A CN109074339 A CN 109074339A CN 201780025472 A CN201780025472 A CN 201780025472A CN 109074339 A CN109074339 A CN 109074339A
- Authority
- CN
- China
- Prior art keywords
- flow control
- conducting wire
- time period
- voltage level
- uart
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4213—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4286—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Dc Digital Transmission (AREA)
- Information Transfer Systems (AREA)
- Bidirectional Digital Transmission (AREA)
Abstract
公开了针对线复用串行接口的系统、方法和装置。一种由传送设备执行的方法包括:通过将串行数据链路的导线驱动至第一电压电平达第一时间段来在该导线上断言停止状况,第一时间段小于该停止状况的历时;在第一时间段之后监视该导线;在该导线在第一时间段流逝之后保持在第二电压电平达第二时间段时确定流控制已被断言,第二时间段超过针对流控制脉冲所定义的最小时间段;在流控制被断言时抑制在该导线上传送数据;以及在流控制被解除断言时在该导线上传送数据。
Description
相关申请的交叉引用
本申请要求于2016年5月10日向美国专利商标局提交的临时申请No.62/334,141、于2017年5月5日向美国专利商标局提交的临时申请No.62/502,503、于2017年5月8日向美国专利商标局提交的非临时申请No.15/589,805的优先权和权益。
技术领域
本公开一般涉及外围通信接口,尤其涉及将使用减少的引脚计数传达流控制信号的接口设备与使用针对每个信号的引脚传达流控制信号的接口设备集成在一起。
背景技术
移动通信设备可包括各种各样的组件,包括电路板、集成电路(IC)设备和/或片上系统(SoC)设备。这些组件可包括处理电路、用户接口组件、存储和其他外围组件。各组件之间的通信可使用通用异步接收机/发射机(UART)设备来实现。在许多接口中,四导线UART设备在一条导线(Tx导线)上传送数据,在另一条导线(Rx导线)上接收数据,并且使用两条导线来承载流控制信号。一个流控制信号是请求发送(RTS)信号,其可用于指示UART具有要传送的数据。另一流控制信号是清除发送(CTS)信号,其在UART处被接收并可用于指示UART能传送数据。
日益增加的功能性和更密集的输入/输出(I/O)配置可导致对减少接口中用于互连SoC和/或其他IC器件的引脚计数的需求。线复用通用异步接收机/发射机(LM-UART)是使用两条导线承载Rx、Tx、RTS和CTS信号的UART,其通过在Rx和Tx导线上的数据传输之间复用RTS和CTS来减少I/O连接的数量同时维持在全双工操作模式中支持基于硬件的流控制机制的能力。
移动设备(诸如蜂窝电话)的制造商可从各种来源(包括不同制造商)获得移动设备的各组件。例如,蜂窝电话中的应用处理器可从第一制造商获得,而蜂窝电话的调制解调器可从第二制造商获得。应用处理器和调制解调器、或其他设备可使用UART来互连。一些设备可包括LM-UART并且支持使用两条导线和经复用流控制的操作模式。因此,一直存在对于在采用四导线UART的设备与具有LM-UART的设备中提供改进的线驱动器和信令的需求。
概述
本公开的某些方面涉及提供LM-UART之间的改善的信令可靠性的系统、装置、方法和技术。
在本公开的各个方面,一种在传送设备处执行的方法包括:通过将串行数据链路的导线驱动至第一电压电平达第一时间段来在该导线上断言停止状况,第一时间段小于该停止状况的历时;在第一时间段之后监视该导线;在该导线在第一时间段流逝之后保持在第二电压电平达第二时间段时确定流控制已被断言,第二时间段超过针对流控制脉冲所定义的最小时间段;在流控制被断言时抑制在该导线上传送数据;以及在流控制被解除断言时在该导线上传送数据。
在一个方面,该导线在第二时间段期满之后返回到第一电压电平。在一些实例中,该方法包括在该导线保持在第二电压电平达第三时间段且第三时间段超过针对流控制脉冲所定义的最小时间段时确定流控制被解除断言,第三时间段在该导线在第二时间段期满之际返回到第一电压电平之后开始。在一些实例中,该方法包括基于第二时间段的历时来计算第四时间段、以及在第四时间段流逝之后确定流控制被解除断言。
在一个方面,在该导线在该停止状况的历时内转变到第二电压电平时确定流控制已被断言。该方法可包括在该导线至第二电压电平的转变发生在该停止状况终止之后时确定错误状况、以及在确定该错误状况时将该导线驱动至第一电压电平。可在确定该错误状况时通过翻转保持器电路来将该导线驱动至第一电压电平。
在一个方面,该方法包括在与数据报的传输时间相对应的时段流逝之后通过主动地驱动该导线来超驰流控制。
在本公开的各个方面,一种传送装置包括:线驱动器,其耦合至串行数据链路的导线并且被配置成:在该导线上传送数据分组;以及在传送该数据分组之后通过将该导线驱动至第一电压电平达第一时间段来提供停止状况,第一时间段小于该停止状况的历时。该传送装置可包括:流控制电路,其被配置成:在第一时间段流逝之后监视该导线;在该导线在第一时间段流逝之后保持在第二电压电平达第二时间段时确定流控制已被断言,第二时间段超过针对流控制脉冲所定义的最小时间段。该线驱动器可被配置成:在流控制被断言时抑制在该导线上传送数据;以及在流控制被解除断言时在该导线上传送数据。
在一个方面,该导线在第二时间段期满之后返回到第一电压电平。在一些实例中,该流控制电路被配置成:在该导线保持在第二电压电平达第三时间段且第三时间段超过针对流控制脉冲所定义的最小时间段时确定流控制被解除断言,第三时间段在该导线在第二时间段期满之际返回到第一电压电平之后开始。在一些实例中,该流控制电路被配置成:基于第二时间段的历时来计算第四时间段;以及在第四时间段流逝之后确定流控制被解除断言。该流控制电路可被配置成:将计数器编程以对与第四时间段相对应的时钟脉冲数目进行计数;以及在该计数器已计数与第四时间段相对应的时钟脉冲数目之后确定流控制被解除断言。
在一个方面,在该导线在该停止状况的历时内转变到第二电压电平时确定流控制已被断言。该流控制电路可被配置成在该导线至第二电压电平的转变发生在该停止状况终止之后时确定已发生错误状况。该流控制电路可被配置成在确定该错误状况时将该导线驱动至第一电压电平。该流控制电路可被配置成在确定该错误状况时翻转保持器电路。
在一个方面,该装置可被配置成在该串行数据链路被同步地操作时传送数据分组。
在一个方面,该流控制电路被配置成在与数据字节的传输时间相对应的时段流逝之后通过主动地驱动该导线来超驰流控制。
在本公开的各个方面,公开了一种处理器可读存储介质。该存储介质可以是非瞬态存储介质并且可存储代码,该代码在由一个或多个处理器执行时使该一个或多个处理器:通过将串行数据链路的导线驱动至第一电压电平达第一时间段来在该导线上断言停止状况,第一时间段小于该停止状况的历时;在第一时间段之后监视该导线;在该导线在第一时间段流逝之后保持在第二电压电平达第二时间段时确定流控制已被断言,第二时间段超过针对流控制脉冲所定义的最小时间段;在流控制被断言时抑制在该导线上传送数据;以及在流控制被解除断言时在该导线上传送数据。
在本公开的各个方面,一种在接收设备处执行的方法包括确定停止状况已在串行数据链路的导线上被断言。该停止状况可持续达第一时间段,该第一时间段是在从该导线接收到数据之后该导线被驱动至第一电压电平时发起的。该方法可包括:通过将该导线驱动至第二电压电平达第二时间段来断言针对该串行数据链路的流控制,第二时间段超过针对流控制脉冲所定义的最小时间段;解除断言针对该串行数据链路的流控制,包括在第二时间段终止时将该导线驱动至第一电压电平;以及在解除断言针对该串行数据链路的流控制之后从该导线接收数据。
在一个方面,解除断言针对该串行数据链路的流控制包括在第二时间段流逝之后在该导线上传送脉冲。该脉冲可具有超过针对流控制脉冲所定义的最小时间段的历时。
在一个方面,该方法包括:选择在其间要断言针对该串行数据链路的流控制的第三时间段;以及基于第三时间段的历时来计算第二时间段。
在一个方面,该方法包括在第一时间段期满时抑制断言针对该串行数据链路的流控制。
在一个方面,该方法包括:确定将不断言针对该串行数据链路的流控制;在该导线至第二电压电平的转变发生在确定将不断言针对该串行数据链路的流控制之后的第一时间段期间时确定错误状况;以及在确定该错误状况时将该导线驱动至第一电压电平。在确定该错误状况时将该导线驱动至第一电压电平可包括翻转保持器电路。
在本公开的各个方面,一种装备包括用于确定停止状况已在串行数据链路的导线上被断言的装置。该停止状况可持续达第一时间段,该第一时间段是在从该导线接收到数据之后该导线被驱动至第一电压电平时发起的。该装备可包括:用于提供流控制信令的装置,其中该用于提供流控制信令的装置被配置成:通过将该导线驱动至第二电压电平达第二时间段来断言针对该串行数据链路的流控制,第二时间段超过针对流控制脉冲所定义的最小时间段;以及解除断言针对该串行数据链路的流控制,包括在第二时间段终止时将该导线驱动至第一电压电平。该装备可包括用于在解除断言针对该串行数据链路的流控制之后从该导线接收数据的装置。
在一个方面,该用于提供流控制信令的装置可被配置成在第二时间段流逝之后在该导线上传送脉冲。该脉冲可具有超过针对流控制脉冲所定义的最小时间段的历时。
在一个方面,该用于提供流控制信令的装置可被配置成:选择在其间要断言针对该串行数据链路的流控制的第三时间段;以及基于第三时间段的历时来计算第二时间段。
在一个方面,该用于提供流控制信令的装置可被配置成在第一时间段期满时抑制断言针对该串行数据链路的流控制。
在一个方面,该装备包括:用于校正该串行数据链路上的信令错误的装置,其被配置成:确定将不断言针对该串行数据链路的流控制;以及在该导线至第二电压电平的转变发生在确定将不断言针对该串行数据链路的流控制之后的第一时间段期间时确定已发生错误状况。该用于提供流控制信令的装置被配置成在确定发生该错误状况时将该导线驱动至第一电压电平。该用于提供流控制信令的装置可被配置成在确定发生该错误状况时翻转保持器电路。
在一个方面,该用于从该导线接收数据的装置可被配置成在该串行数据链路被同步地操作时接收数据。
在本公开的各个方面,公开了一种处理器可读存储介质。该存储介质可以是非瞬态存储介质并且可存储代码,该代码在由一个或多个处理器执行时使该一个或多个处理器确定停止状况已在串行数据链路的导线上被断言。该停止状况可持续达第一时间段,该第一时间段是在从该导线接收到数据之后该导线被驱动至第一电压电平时发起的。该代码可使该一个或多个处理器:通过将该导线驱动至第二电压电平达第二时间段来断言针对该串行数据链路的流控制,第二时间段超过针对流控制脉冲所定义的最小时间段;通过在第二时间段终止时将该导线驱动至第一电压电平来解除断言针对该串行数据链路的流控制;以及在解除断言针对该串行数据链路的流控制之后从该导线接收数据。
附图简要说明
图1解说了可根据本文所公开的某些方面适配的装置的一个示例。
图2解说了基于四导线高速通用异步接收机/发射机设备(HS-UART)的串行接口的示例、以及基于双导线LM-UART的串行接口的示例。
图3解说了可根据本文所公开的某些方面适配的LM-UART中的单导线接口。
图4解说了LM-UART之间的连接的某些电特性。
图5解说了采用保持器电路的装置的示例。
图6解说了由根据本文所公开的某些方面的接收设备进行的流控制断言的定时的示例。
图7解说了与由传送设备根据本文所公开的某些方面进行的强制流控制解除断言相关联的定时的示例。
图8解说了根据本文所公开的某些方面适配的LM-UART之间的改进的信令的第一示例。
图9解说了根据本文所公开的某些方面适配的LM-UART之间的改进的信令的第二示例。
图10和11解说了根据本文所公开的某些方面适配的LM-UART之间的改进的信令的第三示例。
图12是解说采用可根据本文所公开的某些方面来适配的处理电路的装置的示例的框图。
图13是操作根据本文所公开的某些方面的LM-UART接口的方法的第一示例的流程图。
图14是操作根据本文所公开的某些方面的LM-UART接口的方法的第二示例的流程图。
图15解说了根据本文所公开的某些方面的装置的硬件实现的第一示例。
图16是操作根据本文所公开的某些方面的LM-UART接口的方法的第三示例的流程图。
图17是操作根据本文所公开的某些方面的LM-UART接口的方法的第四示例的流程图。
图18解说了根据本文所公开的某些方面的装置的硬件实现的第二示例。
详细描述
以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文所描述的概念的仅有配置。本详细描述包括具体细节以提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出众所周知的结构和组件以避免湮没此类概念。
现在将参照各种装置和方法给出本发明的若干方面。这些装置和方法将在以下详细描述中进行描述并在附图中由各种框、模块、组件、电路、步骤、过程、算法等(统称为“元素”)来解说。这些元素可使用电子硬件、计算机软件或其任何组合来实现。此类元素是实现成硬件还是软件取决于具体应用和加诸于整体系统上的设计约束。
概览
包括多个SoC的设备和其他IC设备常常采用串行总线来将处理器与调制解调器和其他外围设备连接在一起。在一些实例中,可能期望在专用集成电路(ASIC)或SoC上实现双导线LM-UART以使指派给串行接口的引脚计数最小化。在一些实例中,可供在双导线LM-UART中使用的线驱动器可能不具有阻抗控制电路或能力。在这些实例中,流控制信令可能易受可引入电压尖峰的噪声和其他效应的影响,该电压尖峰可使得记录信号状态的电路翻转或以其他方式可被解读为流控制信令的变化。
根据本文所公开的某些方面,采用使得能够使用通用驱动器在ASIC和SoC上实现LM-UART的改进的信令。本公开的某些方面涉及改善LM-UART流控制实现的可靠性的数字信令方案。在一个方面,某些技术适用于采用数字信令且具有有限的输出阻抗控制的线驱动器。在一个方面,某些流控制技术适用于能以标称输出阻抗驱动线并且当不在驱动线时进入高阻抗模式的线驱动器。在另一方面,纠错技术可被应用于使用具有有限的输出阻抗控制的线驱动器所实现的流控制信令。
本文所公开的某些方面可应用于异步操作的LM-UART和/或同步操作的LM-UART。可使用根据本文所公开的某些方面适配的LM-UART通过替换RTS和CTS导线来实现减少引脚数目(通用输入/输出)的串行链路。相应地,常规UART所要求的四引脚和/或四导线可被减少为双引脚和/或双导线LM-UART。根据某些方面,双导线LM-UART可以用硬件流控制来实现,从而相对于不支持流控制或使用基于软件的流控制方法的设备而言改善了链路吞吐量和功耗。基于软件的流控制方法可采用XON/XOFF序列及类似序列。
具有串行数据链路的装置的示例
根据某些方面,串行数据链路可被用于互连作为装置的子组件的电子设备,该装置诸如是蜂窝电话、智能电话、会话发起协议(SIP)电话、膝上型设备、笔记本、上网本、智能本、个人数字助理(PDA)、卫星无线电、全球定位系统(GPS)设备、智能家用设备、智能照明设备、多媒体设备、视频设备、数字音频播放器(例如,MP3播放器)、相机、游戏控制台、娱乐设备、车载组件、可穿戴计算设备(例如,智能手表、健康或健身跟踪器、眼镜等)、电器、传感器、安全设备、自动售货机、智能电表、遥控飞机、多旋翼直升机、或任何其他类似的功能设备。图1描绘了此类装置100的示例。装置100可包括具有多个电路或设备122、124、126、128、134、136和/或138的处理电路120。处理电路120可以在可包括多个电路或设备122、124、126、128、134、136和/或138的ASIC或SoC中实现。在一个示例中,装置100可以是通信设备,并且处理电路120可包括使得该装置能够通过一个或多个天线140与无线电接入网、核心接入网、因特网和/或另一网络通信的RF前端电路126。
在图1所解说的示例中,处理电路120包括ASIC设备122,其具有一个或多个处理器132、一个或多个调制解调器130、和/或其他逻辑电路或功能。例如,处理电路120可由操作系统来控制,并且可提供使得一个或多个处理器132能够执行驻留在存储器设备134中的软件模块的应用编程接口(API)层。软件模块可包括存储在处理器可读存储(诸如存储器设备134)中的指令和数据。ASIC设备122可访问其内部存储器、处理电路120的存储器设备134、和/或外部存储器。存储器可包括只读存储器(ROM)或随机存取存储器(RAM)、电可擦除可编程ROM(EEPROM)、闪存卡、或可以在处理系统和计算平台中使用的任何存储器设备。处理电路120可包括或能够访问本地数据库或其他参数存储,该本地数据库或其他参数存储可维护用于配置和操作装置100和/或处理电路120的工作参数和其他信息。本地数据库可使用寄存器、数据库模块、闪存、磁介质、EEPROM、光学介质、带、软盘或硬盘等来实现。处理电路120也可以可操作地耦合至外部设备,诸如天线140、显示器102、操作者控件(诸如按钮106和/或集成或外部按键板104)、以及其他组件。用户接口电路124可通过专用通信链路138或通过一个或多个串行数据互连与显示器102、按键板104等通信。
处理电路120可通过一个或多个接口电路128来通信,接口电路128可包括电路、计数器、定时器、控制逻辑以及其他可配置电路或模块的组合。在一个示例中,接口电路128可被配置成根据通信规范或协议来操作。例如,处理电路120可包括或控制对接口电路128、用户接口电路124、RF前端电路126、以及驻留在ASIC设备122中的一个或多个应用处理器132的操作进行配置和管理的功率管理功能。
LM-UART概览
LM-UART架构的某些方面按提供与常规UART的后向兼容性的方式来实现。当传送设备正在发送停止比特时,流控制可由接收设备来断言。在一些示例中,停止比特的历时可以是在1到3比特时段的范围内可配置的,其可具有半比特增量。即,停止比特可被扩展,并且可具有最多达3比特时段的历时。在一些实例中,接收设备和传送设备可共处一地并且使用从同一根时钟源推导出的时钟来操作,且1比特停止比特能确保可靠的流控制操作。传送设备可超驰或先占被接收设备断言的流控制。例如,传送设备可将线驱动为高达最小过采样时钟循环数目(例如,3个时钟循环)。在一个实现中,传送设备可在等待至少1个数据帧时间区间之后超驰或先占该流控制。在一些实例中,接收设备可附加或替换地使用基于软件的流控制。
图2解说了采用常规四导线UART设备的串行接口的示例200以及使用双导线LM-UART设备的串行接口的示例220。在第一示例200中,两个四导线HS-UART 202、204在四条导线206a、206b、208a、208b上用硬件流控制实现全双工链路。数据在2条导线206a和206b上传送。例如,第一HS-UART 202在第一导线206a上传送数据,并且第一HS-UART 202从第二导线206b接收数据。第二HS-UART 204从第一导线206a接收数据,并且第二HS-UART 204可在第二导线206b上传送数据。第一HS-UART 202在第三导线208a上将其RTS信号传送至第二HS-UART 204的CTS输入。由第一HS-UART 202从第四导线208b接收的CTS信号是作为第二HS-UART 204的RTS信号来传送的。
在一种操作模式中,每个HS-UART 202、204仅在CTS信号上检测到有效信令状态(例如,CTS处于逻辑高电平)时才传送帧。接收方HS-UART 204、202侧在其准备好接收新帧时断言其RTS信号。RTS/CTS流控制可通过每个HS-UART 202、204中的缓冲器控制逻辑来管理。缓冲器控制逻辑可被适配成检测传送或接收缓冲器的占用程度,并且例如可根据该占用程度来断言RTS信号。第一HS-UART 202可使用在第三导线208a上发送的RTS信号来选择性地控制由第二HS-UART 204进行的传输。可通过第二HS-UART 204使用在第四导线208b上发送的RTS信号(该RTS信号作为CTS在第一HS-UART 202处被接收)来选择性地禁止第一HS-UART 202传送数据。
在图2所解说的第二示例220中,两个高速通用异步接收机/发射机设备(LM-UART222、224)在两条导线226a、226b上使用复用硬件流控制实现全双工串行链路。数据以分组在这两条导线226a和226b上传送,其中从第一LM-UART 222的Tx输出传送的数据分组在第一导线226a上被携带至第二LM-UART 224的Rx输入。在第一LM-UART 222的Rx输入处接收的数据分组是通过第二LM-UART 224的Tx输出在第二导线206b上传送的。流控制信息在两条导线226a、226b上的数据分组之间传送。在每个LM-UART 222或224中,集成式传送数据缓冲和流控制逻辑228或234可使用单条导线226a或226b来传送数据和接收流控制信息(CTS),而集成式接收数据缓冲和流控制逻辑230或232可在单条导线226b或226a上接收数据和传送流控制信息(RTS)。
图3解说了单导线接口300,其可以是全双工双导线串行数据链路的一部分或对全双工双导线串行数据链路作出贡献。单导线接口300可使用两个LM-UART 302、322来实现。第一LM-UART 302的发射机电路通过单条导线320耦合至第二LM-UART 322的接收机电路。数据流图340解说了导线320上的分组传输的示例。
第一LM-UART 302包括用于在导线320上传送数据分组的线驱动器312。该线驱动器的输出在数据分组之间可处于高阻抗状态,而耦合至导线320的线接收机314提供由流控制逻辑316监视的信号。流控制逻辑316确定单导线接口300在数据分组之间的CTS状态。该CTS状态由发射机控制逻辑310用来确定线驱动器312是否要被启用或置于高阻抗模式、以及用来控制并-串转换器308(例如,移位电路或寄存器)的操作、和/或控制可包括一个或多个先入先出存储器结构或寄存器(FIFO 306)的数据缓冲器的操作。数据可通过系统总线304来提供给FIFO 306。
第二LM-UART 322包括线接收机332,其接收由第一LM-UART 302在导线320上传送的数据分组。线接收机332的输出在接收机控制逻辑330的控制下被提供给串-并转换器328(例如,移位电路或移位寄存器)。例如,串-并转换器328的输出可被置于FIFO存储器结构或寄存器(FIFO 326)中以供通过系统总线324进行读取。接收机控制逻辑330可以管理被配置成在数据分组之间传送流控制信息的流控制逻辑334。在一个示例中,接收机控制逻辑330可监视FIFO 326的占用率,并且可确定FIFO 326何时已超过最大数据占用率阈值。当超过最大数据占用率阈值时,接收机控制逻辑330可使流控制逻辑334通过在数据分组之间驱动导线320来断言流控制以指示RTS未被断言。在一个示例中,导线320可在数据分组之间被驱动为低信令状态以断言流控制。断言流控制可被认为等同于将物理RTS导线驱动为逻辑低信令状态。当未超过最大数据占用率阈值时,接收机控制逻辑330可使流控制逻辑334解除断言流控制,以指示RTS被断言。在该示例中,可通过使导线320返回到高信令状态和/或通过抑制在数据分组之间驱动导线320来断言RTS。解除断言流控制可被认为等同于将物理RTS导线驱动为逻辑高信令状态。
根据某些方面,LM-UART流控制可被适配成利用在字节级边界处执行且不在UART帧内的中间比特处发生的UART数据流控制决策。一般而言,单个数据帧包括由低(LOW)开始比特和高(HIGH)停止比特划界的8个数据比特。在一些实例中,并且根据某些UART协议,奇偶校验比特以及校验和比特可被可任选地传送。数据流图340未示出奇偶校验比特以及校验和比特。
例如,接收方LM-UART 322可基于接收方LM-UART 322中的FIFO 326的状态来指示其是否准备好接收下一帧。流控制的断言(指示未准备好接收)在接收当前分组的停止比特342期间作出。停止比特342定义为在其间要作出硬件流控制断言的窗口,并且在至少一些实现中,LM-UART架构在任何其他时间不准许硬件流控制断言。软件流控制可根据常规UART协议来断言。
与线复用UART相关联的信令
根据某些方面,LM-UART架构通过置备和配置标准通用输入/输出(GPIO)焊盘来促成硬件流控制信令。在一个示例中,LM-UART信令中涉及的GPIO焊盘可被配置成使用保持器电路系统。在另一示例中,LM-UART信令中涉及的GPIO焊盘可被配置成使得能够实现对输出驱动器的阻抗的动态控制。
LM-UART的包括阻抗控制电路的线驱动器电路可在主动地传送时提供低阻抗驱动器电路,并且在处于接收模式时提供高阻抗输入。再次参照图3,传送方LM-UART 302中的线驱动器312在传送数据时提供低阻抗输出,并且在发起停止状况342之后并在下一开始状况344之前提供高阻抗输入。高阻抗输入使得接收方LM-UART 322中的RTS线驱动器336能够将导线320驱动为指示传送设备应当抑制传送的低逻辑电平。
在一些实例中,由于使用不具有阻抗控制电路的GPIO设备,或者在噪声影响导线320的信令状态时,当两个线驱动器312、336均处于高阻抗模式时,可能发生非期望状况。在正常操作状况中可靠的用于流控制的阻抗控制方法可能受工艺节点可变性和通过工艺、电压和温度(PVT)可变性效应引入的可变性所影响。
本公开的某些方面涉及改善LM-UART流控制实现的可靠性的数字信令方案。在一个方面,某些技术适用于采用数字信令办法的线驱动器,并且这些技术避免驱动器中的阻抗变化。在另一方面,某些技术适用于能以标称输出阻抗驱动线并且在不驱动线时进入高阻抗模式的线驱动器。
图4解说了LM-UART 402、412的配置400的某些操作方面。线或导线410被包括在将传送方LM-UART 402的Tx线驱动器404与接收方LM-UART 412的RTS线驱动器414相连接的传输路径中。传送方LM-UART 402的Tx线驱动器404呈现被解说为具有值RTX的电阻器408的输出阻抗。接收方LM-UART 412的RTS线驱动器414呈现被解说为具有值RRTS的电阻器418的输出阻抗。导线410上(例如,在接收方LM-UART 412的输入处)观测到的电压VRX由电阻器408、418(RTX和RRTS)之间的关系确定。例如,当Tx线驱动器404的电阻器408耦合至电压VDD时,在接收方LM-UART 412的输入处观测到的电压VRX可被计算为:
图4中的时序图420解说了与当传送方LM-UART 402正在向接收方LM-UART 412传达数据时导线410上的信令430有关的某些方面。在所解说的示例中,从传送方LM-UART 402发送给接收方LM-UART 412的传输422始于开始比特(开始状况424),继之以8个数据比特426。传输422由停止比特(停止状况428)终止。传送方LM-UART 402的Tx线驱动器404发信令通知开始状况424,开始状况424可通过将导线410驱动为对应于低逻辑状态432的电压电平来被信令通知。Tx线驱动器404随后根据要传送的数据比特426来驱动导线410。Tx线驱动器404随后通过将导线410驱动为对应于高逻辑状态434的电压电平来发信令通知停止状况428。传送方LM-UART 402可采用过采样时钟440来控制导线410上的传输的定时。替换地或附加地,接收方LM-UART 412可采用过采样时钟440来对接收自导线410的信号进行采样。
在断言高逻辑状态434以发信令通知停止状况428之后,Tx线驱动器404释放导线410,导线410随后可由Tx线驱动器404中的电阻器408保持在逻辑高状态436。在该示例中,在与停止状况428相关联的时间区间结束之前,导线410被接收方LM-UART 412的RTS线驱动器414驱动为对应于低逻辑状态438的电压电平。当低逻辑状态438被断言时,传送方LM-UART 402抑制传送数据。当RTS线驱动器414使导线410返回到高逻辑状态434时,Tx线驱动器404随后通过在导线410上断言低逻辑状态432以发信令通知开始状况来开始下一传输。
只要线驱动器404、414的输出阻抗关系被维持在某些范围内,LM-UART 402、412就能支持来自接收方LM-UART 412的流控制断言和来自传送方LM-UART 402的流控制超驰。由接收机(包括CTS接收机406和Rx接收机416)识别出的电压电平针对逻辑高(“1”)和低(“0”)状态可分别表示为VIOH和VIOL。在一个示例中,以下条件可应用:
1.VRX≥VIOH_MIN在逻辑“1”的传输期间
2.VRX≤VIOL_MAX在逻辑“0”的传输期间
3.VRX≤VIOL_MAX在流控制断言之时和期间
4.VRX≥VIOH_MIN在传送“1”时的流控制超驰期间
5.VRX≤VIOL_MAX在传送“0”时的流控制超驰期间
在阻抗受控线驱动器中,条件1-5通常能通过设计来满足。在一些实例中,有限的阻抗控制可以是可用的。例如,GPIO线驱动器可在驱动导线410时提供低阻抗,并且在该线驱动器不活跃时提供高阻抗输入。当线驱动器具有有限的阻抗控制或者不具有阻抗控制时,条件1和2可相对容易地满足,而条件3、4和5可能受使得信号电平落在期望区域之外的PVT变化的影响。
图5解说了实现基于保持器的解决方案的装置500的示例。在所解说的示例中,第一LM-UART 402中的Tx线驱动器502被配置成在导线410上向第二LM-UART 412传送信号,而第二LM-UART 412中的RTS线驱动器506被配置成在第一LM-UART 402传送的数据分组之间在导线410上断言流控制信号。第一LM-UART 402中的保持器电路504和/或第二LM-UART412中的保持器电路508操作用于在耦合至导线410的线驱动器502和/或506不活跃时提供弱上拉。保持器电路504、508可被适配成将导线410保持在空闲信令状态(高逻辑状态)或流控制(FC)断言信令状态(低逻辑状态)。
保持器电路504、508可在导线410上已断言停止状况428之后将线保持在空闲状态。当以标称输出阻抗操作的Tx线驱动器502在导线410上驱动停止比特达过采样时钟440的一个或多个循环时,可认为停止状况428被断言。Tx线驱动器502随后可释放导线410,并进入高阻抗状态。一个或多个保持器电路504、508将导线410保持在与停止状况428相关联的信令状态。接收方LM-UART 412可通过使RTS线驱动器506将导线410驱动为低逻辑状态达过采样时钟440的至少一个循环来断言流控制。RTS线驱动器506随后停止驱动线,并进入高阻抗状态。保持器电路504和/或508将导线410保持在与低逻辑状态相关联的电压电平。接收方LM-UART 412可通过使RTS线驱动器506将导线410驱动为高逻辑状态达过采样时钟440的至少一个循环来解除断言流控制。接收方LM-UART 412随后可停止驱动导线410并进入高阻抗状态,从而让保持器电路504和/或508将导线410保持在与低逻辑状态相关联的电压电平。
任何活跃的线驱动器502或506可以克服保持器电路504和/或508。保持器电路504、508被配置成跟随导线上的电压,并且可能易于经受由电磁干扰或其他信号噪声引起的状态翻转。例如,由电磁引发的低能量尖峰可能在导线410上造成使保持器电路504、508改变状态的电压毛刺。在保持器电路504、508被噪声翻转时可能导致流控制死锁。死锁可能在停止状况428已被传送之后保持器电路504、508在导线410上断言低逻辑状态时发生。传送方LM-UART 402将低逻辑状态识别为否定清除发送指示,而接收方LM-UART 412可认为连续低逻辑状态是使得某些线接口电路重置的中断条件。
图6是解说当流控制未被断言时的第一示例608、当流控制被断言时的第二示例620、以及当流控制被解除断言时的第三示例630的时序图600。第一示例608解说了与流控制断言相关联的定时窗口614、616和618。在发起停止比特604之后的过采样时钟602的第一循环期间,线被传送方LM-UART 402主动地驱动612a。在该第一循环之后,传送方LM-UART402进入高阻抗状态612b,并且线的信令状态由保持器电路维持。传送方LM-UART 402在停止比特604完成之后主动地驱动线。在一个示例中,停止比特604可在第一定时窗口614期间被采样,第一定时窗口614能以停止比特604的中点为中心扩展到过采样时钟602的10个循环上。流控制在第二定时窗口616期间可由接收方LM-UART 412断言,该第二定时窗口616扩展到始于第一定时窗口614之后的一个时钟循环的过采样时钟602的10个循环上。传送方LM-UART 402可在第三定时窗口618期间监视该线以发现流控制断言,该第三定时窗口618扩展到与第二定时窗口616同时开始的过采样时钟602的11个循环上。
在第二示例620中,具有有限的阻抗控制的传送方LM-UART 402可通过主动地将线610驱动为逻辑1达过采样时钟602的1个循环来启动停止比特604。在这一被主动地驱动的时段之后,传送方LM-UART 402可停止驱动线610,且线610由传送方LM-UART 402的传送引脚和接收方LM-UART 412上对应的接收引脚两者上的保持器保持在逻辑1。保持器将线610维持在逻辑1信令状态达停止比特604的历时,该历时可被编程为过采样时钟602的1到3个周期。传送方LM-UART 402可从所配置的历时集合(诸如集合:{1比特,1.5比特,2比特,2.5比特,3比特})中选择停止比特604的历时。
第二定时窗口616为接收方LM-UART 412提供断言流控制的机会。如果接收方LM-UART 412要求或期望流控制被断言,则主动地将线610驱动624为逻辑0信令状态达过采样时钟周期的1个循环。接收方LM-UART 412进入高阻抗模式,且保持器将线610维持在逻辑0信令状态626达该流控制的历时。在某些示例中,接收方LM-UART 412可尝试在停止比特604的中心606处断言流控制。传送方LM-UART 402和接收方LM-UART 412所使用的过采样时钟之间的频率和相位失配可导致定时相对于停止比特604的中心606的变动。提供延长的流控制检测窗口可以容适定时变动。
在一些示例中,传送方LM-UART 402中的CTS接收机406被配置成监视线610的信令状态和线610的信令状态转变。在停止比特604期间(即,在第三窗口618期间)从逻辑1信令状态到逻辑0信令状态的转变可构成接收方LM-UART 412对流控制的断言。
传送方LM-UART 402可具有过采样时钟604的一个循环的最小可用余量以用于流控制检测。传送方LM-UART 402中的流控制检测电路可采用基于正边沿和负边沿两者的线状态采样。这可以例如使用反相过采样时钟来实现。
流控制可由接收方LM-UART 412解除断言,如第三定时示例630中所解说的。接收方LM-UART 412可通过将线610驱动632、638为逻辑1达过采样时钟602的1个循环来发起流控制解除断言。接收方LM-UART 412随后可进入高阻抗状态634,且线610的信令状态可由传送引脚和接收引脚上的保持器维持在逻辑1。传送方LM-UART 402可在其CTS接收机406检测到从逻辑0信令状态到逻辑1信令状态的转变时恢复对线610的主动驱动。传送方LM-UART402可将线610维持在逻辑1信令状态直至其传送缓冲器中的数据可用于传输。
在正常操作中,接收方LM-UART 412可在接收方LM-UART 412的接收缓冲器中建立空间之后适度地解除断言流控制。当适度的解除断言发生时,传送方LM-UART 402通常不会主动地驱动在流控制断言之后涉及的线610。传送方LM-UART 402在其恢复下一帧的传输之前等待流控制的正式解除断言。在一些实例中,流控制历时640可能由于接收方LM-UART412上的错误状况而过长。在此类实例中,传送方LM-UART 402可启动逻辑中断条件。在一些实例中,传送方LM-UART 402可能期望启动数据帧,而不等待流控制解除断言。
根据某些方面,传送方LM-UART 402可启动逻辑中断条件或者强制流控制解除断言。图7解说了当传送方LM-UART 402强制流控制解除断言时的定时702的示例。图7包括与图6中所解说的流控制的断言和非断言相同的定时。强制流控制解除断言可由传送方LM-UART 402在线610被保持器保持在逻辑0信令状态626时执行,其可容易地在传送方LM-UART402恢复主动驱动模式时被超驰。
当在第二示例608中检测到流控制断言时,传送方LM-UART 402抑制下一分组的传输。在一个示例中,传送方LM-UART 402可在等待对应于一个或多个数据报时间跨度的时段之后在软件控制下超驰流控制。传送方LM-UART 402通过主动地将线610驱动为逻辑1信令状态并随后维持逻辑1信令状态达最小时间段来超驰流控制状况。在一个示例中,该最小时间段是过采样时钟602的3个循环。传送方LM-UART 402可在维持逻辑1信令状态达最小时间段之后启动新数据分组,以确保接收方LM-UART 412具有充分和/或必需的周转时间来恢复接收操作。传送方LM-UART 402可采用定时器电路或软件元件来测量与流控制断言相关联的流逝时间区间。
接收方LM-UART 412在传送超驰期间的行为可类似于常规UART在类似状况下的行为。所传送的数据可在接收缓冲器中存在可用空间的情况下被容适在接收缓冲器中。否则,可能导致因数据超驰引起的数据损坏。接收方LM-UART 412以类似于常规UART的方式对中断条件传输作出响应。
根据某些方面,停止比特60的历时可被选择成容适流控制电路实现。在一些实现中,1比特停止比特可被认为足够用于流控制断言目的,但基于设计约束或要求而言可能是不足的。当停止比特604具有比1比特(即,1数据比特历时)更大的历时之时,用于确定定时窗口614、616、618和/或流控制信令的过采样时钟602的循环数目可以变化。例如,如果该停止比特历时被编程为2或3比特时段,则图6和7中所解说的16个时钟循环可以成比例倍增。当停止比特604的历时已被选取成等于2比特时段时,从接收方LM-UART 412的角度而言,停止比特采样可发生在第一比特的中点处。由此,停止比特604的整个第二比特提供用于流控制逻辑实现的拉长的窗口618。在许多实现中,可采用单比特停止比特604来最大化吞吐量。停止比特604的历时可以是可编程的,以容适与流控制信令相关联的逻辑和传播延迟。
相比于其他实现,噪声可以更大程度地影响基于保持器的实现。在一些实例中,传送方LM-UART 402可被配置成主动地驱动停止比特604达完整比特时段并且将在传送该停止比特之后提供的第二比特时段用于流控制信令。
用于线复用UART的改进型信令
根据本文所公开的某些方面,当LM-UART不具有阻抗受控线驱动器时,LM-UART可被适配成支持改进的可靠流控制信令。根据一个或多个方面适配的LM-UART可以在没有保持器电路或多级(多于2级)输出阻抗控制的情况下操作,同时确保所有预计PVT条件上的流控制操作。
图8解说了针对LM-UART配置800、820的改进型信令840的第一示例。所解说的信令840可与LM-UART配置800联用,其中上拉电阻器804用于在线驱动器802、806不活跃并且向导线808呈现高阻抗时维持导线808上的高电压电平。所解说的信令840还可与LM-UART配置820联用,LM-UART配置820包括在活跃时提供标称(低)输出阻抗并且在不活跃时提供较高阻抗以在线驱动器822、826不活跃时维持导线834上的高电压电平的内部电路。
在此示例中,通过传送第一流控制(FC开启)脉冲850以发信令通知接收机没有准备好以及传送第二流控制(FC关闭)脉冲856以发信令通知接收机已准备好来实现流控制。脉冲850、856可具有可编程的历时。在某些实现中,脉冲850、856可被编程为具有以半比特区间计的历时。可实现脉冲检测技术以避免因噪声引起的误触发。在一个示例中,脉冲850、856可使用中央区域采样来检测。在另一示例中,脉冲850、856可使用具有票决逻辑的多点采样来检测,以避免因噪声引起的误触发。
LM-UART可被适配成检测脉冲850、856并且测量检测到的脉冲850、856的历时。例如,LM-UART可包括一个或多个计数器830以及设在控制模块832中的逻辑电路以测量脉冲宽度、确定脉冲的有效性以及根据脉冲850、856来实现流控制。脉冲850、856的历时可提供附加信息。在一些实例中,第一流控制脉冲850可具有与第二流控制脉冲856不同的历时。
图9解说了改进型信令900的示例,其可使得能够在使用具有有限的阻抗控制的线驱动器实现的LM-UART之间实现可靠的流控制信令。所解说的信令900可与LM-UART接口配置920联用,其中上拉电阻器926用于在线驱动器924、942不活跃并且向导线936呈现高阻抗时维持导线936上的高电压电平。所解说的信令900还可与LM-UART配置950联用,LM-UART配置950包括线驱动器954、970,其具有在活跃时提供标称(低)输出阻抗并且在不活跃时提供较高阻抗以在线驱动器954、970不活跃时维持导线964上的高电压电平的有限内部阻抗控制。
根据本文所公开的某些方面,可使用可变长度的流控制(FC开启)脉冲910发信令通知接收机938、966没有准备好达与FC开启脉冲910的历时(T宽度912)相对应的时间段来实现流控制。在一个示例中,发射机922、952中的控制逻辑930、958发起测量由FC开启脉冲910的宽度所指示的流逝时间历时的计数器932、960。传输可在计数器932、960期满或达到所配置的计数值时恢复。在一个示例中,计数器932、960可通过加载基于如使用过采样时钟440(参见图4)或另一时钟信号进行计数的FC开启脉冲910的历时所计算的值来配置。在另一示例中,计数器932、960可通过加载使用从FC开启脉冲910的历时或估计历时推导出的索引从查找表中选择的值来配置。在接收机处,流控制时段的历时是已知的,并且对于接收机操作而言可能不需要基于RTS的计数器机制。
图10和11解说了针对为流控制信令提供检错的LM-UART的改进型信令的示例。图10是时序图1000,其解说了发射机定时1002、无错误CTS定时1004以及在LM-UART实现中使用保持器电路时可能导致的信令错误1006、1008的两个示例。保持器电路可能易受噪声的影响,噪声在保持器电路的输入处产生尖峰。
被解说为CTS定时1004的定时可对应于常规LM-UART流控制定时或图8和9中所解说的基于脉冲的流控制实现。可通过在将传送方LM-UART和接收方LM-UART相耦合的信号导线上驱动逻辑低脉冲1024来断言流控制。逻辑低脉冲1024指示接收机没有准备好接收数据并且可具有可变历时以传达附加信息。逻辑低脉冲1024可在其为停止状况1012被首次断言之后传送的第一个脉冲(FC开启脉冲)时具有已知最小历时。例如,逻辑低脉冲1024可具有足以翻转保持器电路的历时。信令错误1006、1008可由噪声所导致,噪声将保持器电路翻转为不反映LM-UART之间的链路的流控制状态的状态。第一类别的信令错误1006发生在导线在停止状况1012终止之后被噪声驱动为低时。第二类别的信令错误1008发生在导线在停止状况1012期间被接收方LM-UART驱动为低且在被接收方LM-UART驱动为高之后没有返回到高状态或保持在高状态时。
这些信令错误1006、1008可导致每个LM-UART由此等待来自另一LM-UART的信令的封锁状况。根据某些方面,LM-UART可被适配成通过根据某些逻辑规则纠错来避免封锁状况。
图11解说了采用可根据本文所公开的某些方面适配的LM-UART 1102、1122的单导线接口1100。在一个示例中,该单导线接口源自于或基于图3中所解说的单导线接口300。单导线接口1100可被包括在全双工双导线串行数据链路中或对全双工双导线串行数据链路作出贡献。单导线接口1100可使用两个LM-UART 1102、1122来实现。第一LM-UART 1102的发射机电路通过线或导线1120耦合至第二LM-UART 1122的接收机电路。
第一LM-UART 1102包括用于在导线1120上传送数据分组的线驱动器1104。该线驱动器的输出可在数据传输之间处于高阻抗状态。耦合至导线1120的线接收机1106提供用于确定单导线接口1100在数据传输之间的CTS状态的信号。该CTS状态由发射机控制逻辑1108用来确定线驱动器1104是否要被启用或置于高阻抗模式、以及控制发射机电路(包括移位寄存器和缓冲器)的操作。
第二LM-UART 1122包括线接收机1124,其接收由传送方LM-UART 1102在导线1120上传送的数据。接收机控制逻辑1128可在数据传输之间发起流控制信息的信令通知。在一个示例中,接收机控制逻辑1128可监视接收机电路中的缓冲器的占用率,并且可使流控制逻辑1134在数据传输之间断言流控制。
在所解说的示例中,LM-UART 1102和1122各自包括保持器电路1110和1130,它们可分别由发射机控制逻辑1108和接收机控制逻辑1128来控制。在一个示例中,发射机控制逻辑1108和接收机控制逻辑1128可向各自相应的保持器电路1110和1130提供信号1112、1132,以强制导线1120上的状态变化。例如,当导线1120处于低状态时,发射机控制逻辑1108可发信令通知保持器电路1110以将导线1120驱动为高状态。保持器电路1110随后可在发射机控制逻辑1108的控制下翻转。
图10中所解说的第一类别的信令错误1006可由传送方LM-UART 1102来校正。接收方LM-UART 1122可被配置成在分配用于停止状况1012的区间期间断言初始流控制。初始流控制可包括FC开启脉冲850(参见图8)或与流控制信号的断言相对应的边沿1030。初始流控制的断言发生在停止状况1012终止之后可被认为是错误状况。传送方LM-UART 1102可被配置成将在停止状况1012终止之后开始的下降沿1026或低状态标识为错误状况。传送方LM-UART 1102可通过翻转保持器电路1110以使得导线1120恢复高状态来校正错误状况。传送方LM-UART 1102可在过采样时钟440(参见图4)的一个或两个循环内翻转保持器电路1110,以使得错误低状态小于接收方LM-UART 1122预期的停止比特的最小历时。接收方LM-UART1122作为无效脉冲来忽略错误低状态。
图10中所解说的第二类别的信令错误1008可由接收方LM-UART 1122来校正。接收方LM-UART 1122可被配置成在接收方LM-UART 1122未断言流控制的情况下在导线1120处于低状态时识别错误状况。噪声在停止状况1012期间所导致的导线1120上的错误转变1028可由接收方LM-UART 1122来校正。接收方LM-UART 1122可被配置成通过翻转保持器电路1130以使得导线1120恢复高状态来校正这种类别的错误状况。接收方LM-UART 1122可在过采样时钟440(参见图4)的一个或两个循环内翻转保持器电路1130。在一个示例中,传送方LM-UART 1102可以看到流控制的断言,迅速地继之以流控制的解除断言。在另一示例中,传送方LM-UART 1102可检测比针对图8和9中所解说的流控制信令所定义的最小脉冲宽度更短的脉冲。在这些示例中的任一示例中,传送方LM-UART 1102在停止状况1012期间有效地忽略导线1120上的错误转变。
处理电路和方法的示例
LM-UART可被配置成在多种流控制模式中操作。例如,LM-UART最初可被配置成在基于脉冲的流控制模式中操作,并且可被重配置成在不使用基于脉冲的流控制技术的模式中操作。
图12是解说采用可被配置成执行本文所公开的一个或多个功能的处理电路1202的装置1200的硬件实现的示例的示图。根据本公开的各种方面,本文所公开的元素、或元素的任何部分、或者元素的任何组合可使用处理电路1202来实现。处理电路1202可包括一个或多个处理器1204,其由硬件和软件模块的某种组合来控制。处理器1204的示例包括:微处理器、微控制器、数字信号处理器(DSP)、SoC、ASIC、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、状态机、定序器、门控逻辑、分立的硬件电路、以及其他配置成执行本公开中通篇描述的各种功能性的合适硬件。该一个或多个处理器1204可包括执行特定功能并且可由软件模块1216之一来配置、增强或控制的专用处理器。该一个或多个处理器1204可通过在初始化期间加载的软件模块1216的组合来配置,并且通过在操作期间加载或卸载一个或多个软件模块1216来进一步配置。
在所解说的示例中,处理电路1202可使用由总线1210一般化地表示的总线架构来实现。取决于处理电路1202的具体应用和整体设计约束,总线1210可包括任何数目的互连总线和桥接器。总线1210将各种电路链接在一起,包括一个或多个处理器1204、和存储1206。存储1206可包括存储器设备和大容量存储设备,并且在本文可被称为计算机可读介质和/或处理器可读介质。总线1210还可链接各种其他电路,诸如定时源、定时器、外围设备、稳压器、和功率管理电路。总线接口1208可提供总线1210与一个或多个收发机1212之间的接口。可针对处理电路所支持的每种联网技术来提供收发机1212。在一些实例中,多种联网技术可共享收发机1212中找到的电路系统或处理模块中的一些或全部。每个收发机1212提供用于通过传输介质与各种其它装置通信的手段。取决于装置1200的本质,也可提供用户接口1218(例如,按键板、显示器、扬声器、话筒、操纵杆),并且该用户接口1218可直接或通过总线接口1208通信地耦合至总线1210。
处理器1204可负责管理总线1210和一般处理,包括对存储在计算机可读介质(其可包括存储1206)中的软件的执行。在这一方面,处理电路1202(包括处理器1204)可被用来实现本文所公开的方法、功能和技术中的任一种。存储1206可被用于存储处理器1204在执行软件时操纵的数据,并且该软件可被配置成实现本文所公开的方法中的任一种。
处理电路1202中的一个或多个处理器1204可执行软件。软件应当被宽泛地解释成意为指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行件、执行的线程、规程、函数、算法等,无论其是用软件、固件、中间件、微代码、硬件描述语言、还是其他术语来述及皆是如此。软件可按计算机可读形式驻留在存储1206中或驻留在外部计算机可读介质中。外部计算机可读介质和/或存储1206可包括非瞬态计算机可读介质。作为示例,非瞬态计算机可读介质包括:磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩碟(CD)或数字多功能碟(DVD))、智能卡、闪存设备(例如,“闪存驱动器”、卡、棒、或钥匙驱动器)、RAM、ROM、可编程只读存储器(PROM)、可擦式PROM(EPROM)(包括EEPROM)、寄存器、可移动盘、以及任何其他用于存储可由计算机访问和读取的软件和/或指令的合适介质。作为示例,计算机可读介质和/或存储1206还可包括载波、传输线、和任何其它用于传送可由计算机访问和读取的软件和/或指令的合适介质。计算机可读介质和/或存储1206可驻留在处理电路1202中、处理器1204中、在处理电路1202外部、或跨包括该处理电路1202在内的多个实体分布。计算机可读介质和/或存储1206可实施在计算机程序产品中。作为示例,计算机程序产品可包括封装材料中的计算机可读介质。本领域技术人员将认识到如何取决于具体应用和加诸于整体系统上的总体设计约束来最佳地实现本公开中通篇给出的所描述的功能性。
存储1206可维持以可加载代码段、模块、应用、程序等来维持和/或组织的软件,其在本文中可被称为软件模块1216。软件模块1216中的每一者可包括在安装或加载到处理电路1202上并由一个或多个处理器1204执行时有助于运行时映像1214的指令和数据,运行时映像1214控制一个或多个处理器1204的操作。在被执行时,某些指令可使得处理电路1202执行根据本文所描述的某些方法、算法和过程的功能。
软件模块1216中的一些可在处理电路1202初始化期间被加载,并且这些软件模块1216可配置处理电路1202以实现本文所公开的各种功能的执行。例如,一些软件模块1216可配置处理器1204的内部设备和/或逻辑电路1222,并且可管理对外部设备(诸如,收发机1212、总线接口1208、用户接口1218、定时器、数学协处理器等)的访问。软件模块1216可包括控制程序和/或操作系统,其与中断处理程序和设备驱动器交互并且控制对由处理电路1202提供的各种资源的访问。这些资源可包括存储器、处理时间、对收发机1212的访问、用户接口1218等。
处理电路1202的一个或多个处理器1204可以是多功能的,由此软件模块1216中的一些被加载和配置成执行不同功能或相同功能的不同实例。这一个或多个处理器1204可附加地被适配成管理响应于来自例如用户接口1218、收发机1212和设备驱动器的输入而发起的后台任务。为了支持多个功能的执行,这一个或多个处理器1204可被配置成提供多任务环境,由此多个功能中的每个功能按需或按期望实现为由一个或多个处理器1204服务的任务集。在一个示例中,多任务环境可使用分时程序1220来实现,分时程序1220在不同任务之间传递对处理器1204的控制权,由此每个任务在完成任何未决操作之际和/或响应于输入(诸如中断)而将对一个或多个处理器1204的控制权返回给分时程序1220。当任务具有对一个或多个处理器1204的控制权时,处理电路有效地专用于由与控制方任务相关联的功能所针对的目的。分时程序1220可包括操作系统、在循环基础上转移控制权的主循环、根据各功能的优先级化来分配对一个或多个处理器1204的控制权的功能、和/或通过将对一个或多个处理器1204的控制权提供给处置功能来对外部事件作出响应的中断驱动式主循环。
图13是可在传送方LM-UART处执行的第一方法的流程图1300。
在框1302,LM-UART可通过将串行数据链路的导线驱动为第一电压电平来在该导线上断言停止状况。
在框1304,LM-UART可停止对该导线的主动驱动。LM-UART可进入高阻抗操作模式,且该导线可由保持器电路维持在第一电压电平。在一些实例中,LM-UART可进入高阻抗操作模式,且该导线可由上拉或下拉电阻维持在第一电压电平。在一些示例中,LM-UART可修改输出阻抗,以使得该导线被动地维持在第一电压电平。
在框1306,LM-UART可监视该导线以确定该导线在该停止状况期间是否已转变到第二电压电平。
当在框1306,LM-UART确定该导线在该停止状况期间尚未转变到第二电压电平时,LM-UART可在框1308在该导线上传送或继续传送数据。
当在框1306,LM-UART确定该导线在该停止状况期间已转变到第二电压电平时,LM-UART可在框1310确定流控制已被断言。
在框1312,LM-UART可在流控制被断言时抑制在该导线上传送数据。
在框1314,LM-UART可等待直至该导线已转变回第一电压电平,从而指示流控制的解除断言。当该导线已转变回第一电压电平时,LM-UART可在框1308在该导线上传送或继续传送数据。
图14是可在传送方LM-UART处执行的第二方法的流程图1400。
在框1402,LM-UART可通过将串行数据链路的导线驱动为第一电压电平达第一时间段来在该导线上断言停止状况,第一时间段小于该停止状况的历时。
在框1404,LM-UART可在第一时间段之后监视该导线。
在框1406,LM-UART可在第一时间段流逝之后该导线保持在第二电压电平达第二时间段时确定流控制已被断言,第二时间段超过针对流控制脉冲所定义的最小时间段。
在框1408,LM-UART可在流控制被断言时抑制在该导线上传送数据。
在框1410,LM-UART可在流控制被解除断言时在该导线上传送数据。
在一些示例中,该导线在第二时间段期满之后返回到第一电压电平。LM-UART可在该导线保持在第二电压电平达第三时间段且第三时间段超过针对流控制脉冲所定义的最小时间段时确定流控制被解除断言,第三时间段在该导线在第二时间段期满之际返回到第一电压电平之后开始。LM-UART可基于第二时间段的历时来计算第四时间段,并在第四时间段流逝之后确定流控制被解除断言。
在一些示例中,在该导线在该停止状况的历时内转变至第二电压电平时确定流控制已被断言。
在一些示例中,LM-UART可在该导线至第二电压电平的转变发生在该停止状况终止之后时确定错误状况,并在确定该错误状况时将该导线驱动至第一电压电平。可在确定该错误状况时通过翻转保持器电路来将该导线驱动至第一电压电平。
在一个示例中,LM-UART可在与数据报的传输时间相对应的时段流逝之后通过主动地驱动该导线来超驰流控制。数据报可在带有或不带有组帧和控制字节的情况下携带8比特数据字节、16比特数据字或某个其他数目的比特。
图15是解说采用处理电路1502的装置1500的硬件实现的简化示例的示图。该装置可实现根据本文所公开的某些方面的桥接电路。处理电路通常具有控制器或处理器1516,其可包括一个或多个微处理器、微控制器、数字信号处理器、定序器和/或状态机。处理电路1502可以用由总线1520一般化地表示的总线架构来实现。取决于处理电路1502的具体应用和整体设计约束,总线1520可包括任何数目的互连总线和桥接器。总线1520将包括一个或多个处理器和/或硬件模块(由控制器或处理器1516、模块或电路1504、1506、1508和1510以及计算机可读存储介质1518表示)的各种电路链接在一起。该装置可具有多个多导线接口1512,其适配成用于每接口1512使用可变数目的导线1514进行具有流控制的全双工串行通信。总线1520还可链接各种其他电路(诸如定时源、外围设备、稳压器和功率管理电路),这些电路在本领域中是众所周知的,并且因此将不再进一步描述。
处理器1516负责一般性处理,包括执行存储在计算机可读存储介质1518上的软件、代码和/或指令。该计算机可读存储介质可包括非瞬态存储介质。该软件在由处理器1516执行时使处理电路1502执行上文针对任何特定装置描述的各种功能。计算机可读存储介质可被用于存储由处理器1516在执行软件时操纵的数据。处理电路1502进一步包括模块1504、1506、1508和1510中的至少一个模块。模块1504、1506、1508和1510可以是在处理器1516中运行的软件模块、驻留/存储在计算机可读存储介质1518中的软件模块、耦合至处理器1516的一个或多个硬件模块、或其某种组合。模块1504、1506、1508和1510可包括微控制器指令、状态机配置参数、或其某种组合。
在一个配置中,装置1500包括:配置成在串行数据链路的导线1514之一上断言停止状况的模块和/或电路1506、1508;配置成在第一时间段之后监视该导线的模块和/或电路1504、1506、1508、1510;配置成确定流控制已被断言的模块和/或电路1506、1510;以及配置成在流控制被解除断言时在该导线上传送数据的模块和/或电路1506。装置1500可被配置成在该串行数据链路被同步地操作时传送数据分组。装置1500可被配置成在该串行数据链路被异步地操作时传送数据分组。
图16是可在接收方LM-UART处执行的第一方法的流程图1600。
在框1602,LM-UART可从导线接收串行数据。LM-UART可将数据比特接收到串-并转换器中,其中帧的结束可由停止比特来指示。
在框1604,LM-UART可确定是否已接收到停止比特。如果尚未接收到停止比特,则LM-UART在框1602继续从该导线接收串行数据比特。如果已接收到停止比特,则LM-UART在框1606继续。
在框1606,LM-UART可确定接收串行数据或并行数据的缓冲器是否为满或者是否已超过阈值占用程度。如果LM-UART确定该缓冲器不为满,则LM-UART在框1602继续从该导线接收串行数据。如果LM-UART确定该缓冲器为满,则LM-UART在框1610继续。
在框1610,LM-UART可通过将该导线驱动为低逻辑状态(其中停止比特被表示为高逻辑状态)来断言针对该串行数据链路的流控制。
在框1612,LM-UART可等待该缓冲器清空或具有继续接收数据的充足空间。当该缓冲器能接收更多数据时,LM-UART在框1616可通过将该导线驱动为高逻辑状态来解除断言该流控制。LM-UART随后可在框1602恢复从该导线接收串行数据。
图17是可在接收方LM-UART处执行的第二方法的流程图1700。
在框1702,LM-UART可确定停止状况已在串行数据链路的导线上被断言。该停止状况可持续达第一时间段,该第一时间段是在从该导线接收到数据之后该导线被驱动至第一电压电平时发起的。
在框1704,LM-UART可通过将该导线驱动至第二电压电平达第二时间段来断言针对该串行数据链路的流控制,该第二时间段超过针对流控制脉冲所定义的最小时间段。
在框1706,LM-UART可解除断言针对该串行数据链路的流控制,包括在第二时间段终止时将该导线驱动至第一电压电平。解除断言针对该串行数据链路的流控制可包括在第二时间段流逝之后在该导线上传送脉冲。该脉冲可具有超过针对流控制脉冲所定义的最小时间段的历时。
在框1708,LM-UART可在解除断言针对该串行数据链路的流控制之后从该导线接收数据。
在一些示例中,LM-UART可选择在其间要断言针对该串行数据链路的流控制的第三时间段,并基于第三时间段的历时来计算第二时间段。
在一些示例中,LM-UART可在第一时间段期满时抑制断言针对该串行数据链路的流控制。LM-UART可确定将不断言针对该串行数据链路的流控制,在该导线至第二电压电平的转变发生在确定将不断言针对该串行数据链路的流控制之后的第一时间段时确定错误状况,并且在确定该错误状况时将该导线驱动至第一电压电平。可在确定该错误状况时通过翻转保持器电路来将该导线驱动至第一电压电平。
图18是解说采用处理电路1802的装置1800的硬件实现的简化示例的示图。该装置可实现根据本文所公开的某些方面的桥接电路。处理电路通常具有控制器或处理器1816,其可包括一个或多个微处理器、微控制器、数字信号处理器、定序器和/或状态机。处理电路1802可以用由总线1820一般化地表示的总线架构来实现。取决于处理电路1802的具体应用和整体设计约束,总线1820可包括任何数目的互连总线和桥接器。总线1820将包括一个或多个处理器和/或硬件模块(由控制器或处理器1816、模块或电路1804、1806、1808和1810以及计算机可读存储介质1818表示)的各种电路链接在一起。该装置可具有多个多导线接口1812,其适配成用于每接口1812使用可变数目的导线1814进行具有流控制的全双工串行通信。总线1820还可链接各种其他电路(诸如定时源、外围设备、稳压器和功率管理电路),这些电路在本领域中是众所周知的,并且因此将不再进一步描述。
处理器1816负责一般性处理,包括执行存储在计算机可读存储介质1818上的软件、代码和/或指令。该计算机可读存储介质可包括非瞬态存储介质。该软件在由处理器1816执行时使处理电路1802执行上文针对任何特定装置描述的各种功能。计算机可读存储介质可被用于存储由处理器1816在执行软件时操纵的数据。处理电路1802进一步包括模块1804、1806、1808和1810中的至少一个模块。模块1804、1806、1808和1810可以是在处理器1816中运行的软件模块、驻留/存储在计算机可读存储介质1818中的软件模块、耦合至处理器1816的一个或多个硬件模块、或其某种组合。模块1804、1806、1808和1810可包括微控制器指令、状态机配置参数、或其某种组合。
在一个配置中,装置1800包括:确定停止状况何时在串行数据链路的导线1814之一上被断言的模块和/或电路1806、1808;配置成在该导线上断言流控制的模块和/或电路1810;以及配置成在流控制被解除断言时从该导线接收数据的模块和/或电路1806。装置1800可被配置成在该串行数据链路被同步地操作时接收数据。装置1800可被配置成在该串行数据链路被异步地操作时接收数据。
应理解,所公开的过程中各步骤的具体次序或层次是示例性办法的解说。应理解,基于设计偏好,可以重新编排这些过程中各步骤的具体次序或层次。此外,一些步骤可被组合或被略去。所附方法权利要求以示例次序呈现各种步骤的要素,且并不意味着被限定于所给出的具体次序或层次。
提供先前描述是为了使本领域任何技术人员均能够实践本文中所述的各种方面。对这些方面的各种改动将容易为本领域技术人员所明白,并且在本文中所定义的普适原理可被应用于其他方面。因此,权利要求并非旨在被限定于本文中所示的方面,而是应被授予与语言上的权利要求相一致的全部范围,其中对要素的单数形式的引述除非特别声明,否则并非旨在表示“有且仅有一个”,而是“一个或多个”。除非特别另外声明,否则术语“一些”指的是一个或多个。本公开通篇描述的各种方面的要素为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案通过引述被明确纳入于此,且旨在被权利要求所涵盖。此外,本文中所公开的任何内容都并非旨在贡献给公众,无论这样的公开是否在权利要求书中被显式地叙述。没有任何权利要求元素应被解释为装置加功能,除非该元素是使用短语“用于……的装置”来明确叙述的。
Claims (30)
1.一种在传送方设备处执行的方法,包括:
通过将串行数据链路的导线驱动至第一电压电平达第一时间段来在所述导线上断言停止状况,所述第一时间段小于所述停止状况的历时;
在所述第一时间段之后监视所述导线;
在所述第一时间段流逝之后所述导线保持在第二电压电平达第二时间段时确定流控制已被断言,所述第二时间段超过针对流控制脉冲所定义的最小时间段;
在流控制被断言时抑制在所述导线上传送数据;以及
在流控制被解除断言时在所述导线上传送数据。
2.如权利要求1所述的方法,其特征在于,所述导线在所述第二时间段期满之后返回到所述第一电压电平,并且所述方法进一步包括:
在所述导线保持在所述第二电压电平达第三时间段且所述第三时间段超过针对流控制脉冲所定义的所述最小时间段时确定流控制被解除断言,所述第三时间段在所述导线在所述第二时间段期满之际返回到所述第一电压电平之后开始。
3.如权利要求1所述的方法,其特征在于,所述导线在所述第二时间段期满之后返回到所述第一电压电平,并且所述方法进一步包括:
基于所述第二时间段的历时来计算第四时间段;以及
在所述第四时间段流逝之后确定流控制被解除断言。
4.如权利要求1所述的方法,其特征在于,在所述导线在所述停止状况的历时内转变到所述第二电压电平时确定流控制已被断言。
5.如权利要求4所述的方法,其特征在于,进一步包括:
在所述导线至所述第二电压电平的转变发生在所述停止状况终止之后时确定错误状况;以及
在确定所述错误状况时将所述导线驱动至所述第一电压电平。
6.如权利要求5所述的方法,其特征在于,在确定所述错误状况时将所述导线驱动至所述第一电压电平包括:
翻转保持器电路。
7.如权利要求1所述的方法,其特征在于,进一步包括:
通过在与数据报的传输时间相对应的时段流逝之后主动地驱动所述导线来超驰流控制。
8.一种传送装置,包括:
线驱动器,其耦合至串行数据链路的导线并且被配置成:
在所述导线上传送数据分组;以及
在传送所述数据分组之后通过将所述导线驱动至第一电压电平达第一时间段来提供停止状况,所述第一时间段小于所述停止状况的历时;
流控制电路,其被配置成:
在所述第一时间段流逝之后监视所述导线;以及
在所述第一时间段流逝之后所述导线保持在第二电压电平达第二时间段时确定流控制已被断言,所述第二时间段超过针对流控制脉冲所定义的最小时间段,
其中所述线驱动器被进一步配置成:
在流控制被断言时抑制在所述导线上传送数据;以及
在流控制被解除断言时在所述导线上传送数据。
9.如权利要求8所述的传送装置,其特征在于,所述导线在所述第二时间段期满之后返回到所述第一电压电平,并且其中所述流控制电路被配置成:
在所述导线保持在所述第二电压电平达第三时间段且所述第三时间段超过针对流控制脉冲所定义的所述最小时间段时确定流控制被解除断言,所述第三时间段在所述导线在所述第二时间段期满之际返回到所述第一电压电平之后开始。
10.如权利要求8所述的传送装置,其特征在于,所述导线在所述第二时间段期满之后返回到所述第一电压电平,并且其中所述流控制电路被配置成:
基于所述第二时间段的历时来计算第四时间段;以及
在所述第四时间段流逝之后确定流控制被解除断言。
11.如权利要求10所述的传送装置,其特征在于,所述流控制电路被配置成:
将计数器编程以对与所述第四时间段相对应的时钟脉冲数目进行计数;以及
在所述计数器已计数与所述第四时间段相对应的所述时钟脉冲数目之后确定流控制被解除断言。
12.如权利要求8所述的传送装置,其特征在于,在所述导线在所述停止状况的历时内转变到所述第二电压电平时确定流控制已被断言。
13.如权利要求12所述的传送装置,其特征在于,所述流控制电路被配置成在所述导线至所述第二电压电平的转变发生在所述停止状况终止之后时确定已发生错误状况。
14.如权利要求13所述的传送装置,其特征在于,所述流控制电路被配置成在确定所述错误状况时将所述导线驱动至所述第一电压电平。
15.如权利要求13所述的传送装置,其特征在于,所述流控制电路被配置成在确定所述错误状况时翻转保持器电路。
16.如权利要求8所述的传送装置,其特征在于,所述装置能被配置成在所述串行数据链路被同步地操作时传送数据分组。
17.如权利要求8所述的传送装置,其特征在于,所述流控制电路被配置成:
通过在与数据字节的传输时间相对应的时段流逝之后主动地驱动所述导线来超驰流控制。
18.一种在接收设备处执行的方法,包括:
确定停止状况已在串行数据链路的导线上被断言,其中所述停止状况持续达第一时间段,所述第一时间段是在从所述导线接收到数据之后所述导线被驱动至第一电压电平时发起的;
通过将所述导线驱动至第二电压电平达第二时间段来断言针对所述串行数据链路的流控制,所述第二时间段超过针对流控制脉冲所定义的最小时间段;
解除断言针对所述串行数据链路的所述流控制,包括在所述第二时间段终止时将所述导线驱动至所述第一电压电平;以及
在解除断言针对所述串行数据链路的所述流控制之后从所述导线接收数据。
19.如权利要求18所述的方法,其特征在于,解除断言针对所述串行数据链路的所述流控制包括:
在所述第二时间段流逝之后在所述导线上传送脉冲,其中所述脉冲具有超过针对流控制脉冲所定义的最小时间段的历时。
20.如权利要求18所述的方法,其特征在于,进一步包括:
选择在其间要断言针对所述串行数据链路的所述流控制的第三时间段;以及
基于所述第三时间段的历时来计算所述第二时间段。
21.如权利要求18所述的方法,其特征在于,进一步包括:
在所述第一时间段期满时抑制断言针对所述串行数据链路的流控制。
22.如权利要求18所述的方法,其特征在于,进一步包括:
确定将不断言针对所述串行数据链路的流控制;
在所述导线至所述第二电压电平的转变发生在确定将不断言针对所述串行数据链路的流控制之后的所述第一时间段期间时确定错误状况;以及
在确定所述错误状况时将所述导线驱动至所述第一电压电平。
23.如权利要求22所述的方法,其特征在于,在确定所述错误状况时将所述导线驱动至所述第一电压电平包括:
翻转保持器电路。
24.一种装备,包括:
用于确定停止状况已在串行数据链路的导线上被断言的装置,其中所述停止状况持续达第一时间段,所述第一时间段是在从所述导线接收到数据之后所述导线被驱动至第一电压电平时发起的;
用于提供流控制信令的装置,其被配置成:
通过将所述导线驱动至第二电压电平达第二时间段来断言针对所述串行数据链路的流控制,所述第二时间段超过针对流控制脉冲所定义的最小时间段;以及
解除断言针对所述串行数据链路的所述流控制,包括在所述第二时间段终止时将所述导线驱动至所述第一电压电平;以及
用于在解除断言针对所述串行数据链路的所述流控制之后从所述导线接收数据的装置。
25.如权利要求24所述的装备,其特征在于,所述用于提供流控制信令的装置被配置成:
在所述第二时间段流逝之后在所述导线上传送脉冲,其中所述脉冲具有超过针对流控制脉冲所定义的最小时间段的历时。
26.如权利要求24所述的装备,其特征在于,所述用于提供流控制信令的装置被配置成:
选择在其间要断言针对所述串行数据链路的所述流控制的第三时间段;以及
基于所述第三时间段的历时来计算所述第二时间段。
27.如权利要求24所述的装备,其特征在于,所述用于提供流控制信令的装置被配置成:
在所述第一时间段期满时抑制断言针对所述串行数据链路的流控制。
28.如权利要求24所述的装备,其特征在于,进一步包括:
用于校正所述串行数据链路上的信令错误的装置,其被配置成:
确定将不断言针对所述串行数据链路的流控制;以及
在所述导线至所述第二电压电平的转变发生在确定将不断言针对所述串行数据链路的流控制之后的所述第一时间段期间时确定已发生错误状况,
其中所述用于提供流控制信令的装置被配置成在确定发生所述错误状况时将所述导线驱动至所述第一电压电平。
29.如权利要求28所述的装备,其特征在于,所述用于提供流控制信令的装置被配置成在确定发生所述错误状况时翻转保持器电路。
30.如权利要求24所述的装备,其特征在于,所述用于从所述导线接收数据的装置能被配置成在所述串行数据链路被同步地操作时接收数据。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662334141P | 2016-05-10 | 2016-05-10 | |
US62/334,141 | 2016-05-10 | ||
US201762502503P | 2017-05-05 | 2017-05-05 | |
US62/502,503 | 2017-05-05 | ||
US15/589,805 | 2017-05-08 | ||
US15/589,805 US20170329738A1 (en) | 2016-05-10 | 2017-05-08 | Digital signaling schemes for line multiplexed uart flow control |
PCT/US2017/031802 WO2017196875A1 (en) | 2016-05-10 | 2017-05-09 | Digital signaling schemes for line multiplexed uart flow control |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109074339A true CN109074339A (zh) | 2018-12-21 |
Family
ID=58772637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780025472.4A Pending CN109074339A (zh) | 2016-05-10 | 2017-05-09 | 用于线复用uart流控制的数字信令方案 |
Country Status (9)
Country | Link |
---|---|
US (1) | US20170329738A1 (zh) |
EP (1) | EP3423950B1 (zh) |
JP (1) | JP2019517066A (zh) |
KR (1) | KR20190006487A (zh) |
CN (1) | CN109074339A (zh) |
AU (1) | AU2017264691A1 (zh) |
BR (1) | BR112018073048A2 (zh) |
TW (1) | TW201743572A (zh) |
WO (1) | WO2017196875A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338856A (zh) * | 2020-02-21 | 2020-06-26 | 深圳震有科技股份有限公司 | 一种串口硬件流控实现方法、智能终端及存储介质 |
CN111435927A (zh) * | 2019-01-15 | 2020-07-21 | 恩智浦美国有限公司 | 使用mipi d-phy的快速链路周转 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102019126668A1 (de) * | 2019-10-02 | 2021-04-08 | Phoenix Contact Gmbh & Co. Kg | Ein-/ausgabe-einheit zur datenerfassung bei einem feldbussystem |
CN112003775B (zh) * | 2020-07-27 | 2022-02-18 | 苏州浪潮智能科技有限公司 | 一种单电平单线全双工总线通信方法和系统 |
US11204887B1 (en) * | 2020-11-24 | 2021-12-21 | Texas Instruments Incorporated | Methods and systems for using UART and single wire protocols |
CN115361345B (zh) * | 2022-10-24 | 2023-01-24 | 北京智芯微电子科技有限公司 | 一种基于单总线信息传输的数据流控方法、装置及通信系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1373428A (zh) * | 2001-02-28 | 2002-10-09 | 阿尔卡塔尔公司 | 串行外围接口主设备,串行外围接口从设备以及串行外围接口 |
US6643717B1 (en) * | 1999-11-10 | 2003-11-04 | Digi International Inc. | Flow control |
CN1764179A (zh) * | 2004-10-22 | 2006-04-26 | 美国博通公司 | 减小通讯设备功耗的方法和系统 |
US7260660B1 (en) * | 2004-05-21 | 2007-08-21 | Zilog, Inc. | Flow control by supplying a remote start bit onto a single-wire bus |
TW200849025A (en) * | 2007-06-07 | 2008-12-16 | Via Tech Inc | System and method for serial peripheral interface data transmission |
WO2015077562A1 (en) * | 2013-11-25 | 2015-05-28 | Qualcomm Incorporated | Multipoint interface shortest pulse width priority resolution |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7127538B1 (en) * | 2004-05-21 | 2006-10-24 | Zilog, Inc. | Single-pin serial communication link with start-bit flow control |
DE102010055618A1 (de) * | 2010-12-22 | 2012-06-28 | Austriamicrosystems Ag | Eingangsschaltungsanordnung, Ausgangsschaltungsanordnung und System mit einer Eingangs- und einer Ausgangsschaltungsanordnung |
US9563398B2 (en) * | 2015-03-06 | 2017-02-07 | Qualcomm Incorporated | Impedance-based flow control for a two-wire interface system with variable frame length |
-
2017
- 2017-05-08 US US15/589,805 patent/US20170329738A1/en not_active Abandoned
- 2017-05-09 WO PCT/US2017/031802 patent/WO2017196875A1/en active Application Filing
- 2017-05-09 AU AU2017264691A patent/AU2017264691A1/en not_active Abandoned
- 2017-05-09 KR KR1020187031724A patent/KR20190006487A/ko not_active Application Discontinuation
- 2017-05-09 CN CN201780025472.4A patent/CN109074339A/zh active Pending
- 2017-05-09 JP JP2018558428A patent/JP2019517066A/ja active Pending
- 2017-05-09 TW TW106115242A patent/TW201743572A/zh unknown
- 2017-05-09 BR BR112018073048A patent/BR112018073048A2/pt not_active IP Right Cessation
- 2017-05-09 EP EP17725809.2A patent/EP3423950B1/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6643717B1 (en) * | 1999-11-10 | 2003-11-04 | Digi International Inc. | Flow control |
CN1373428A (zh) * | 2001-02-28 | 2002-10-09 | 阿尔卡塔尔公司 | 串行外围接口主设备,串行外围接口从设备以及串行外围接口 |
US7260660B1 (en) * | 2004-05-21 | 2007-08-21 | Zilog, Inc. | Flow control by supplying a remote start bit onto a single-wire bus |
CN1764179A (zh) * | 2004-10-22 | 2006-04-26 | 美国博通公司 | 减小通讯设备功耗的方法和系统 |
TW200849025A (en) * | 2007-06-07 | 2008-12-16 | Via Tech Inc | System and method for serial peripheral interface data transmission |
WO2015077562A1 (en) * | 2013-11-25 | 2015-05-28 | Qualcomm Incorporated | Multipoint interface shortest pulse width priority resolution |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111435927A (zh) * | 2019-01-15 | 2020-07-21 | 恩智浦美国有限公司 | 使用mipi d-phy的快速链路周转 |
CN111435927B (zh) * | 2019-01-15 | 2024-02-09 | 恩智浦美国有限公司 | 使用mipi d-phy的快速链路周转 |
CN111338856A (zh) * | 2020-02-21 | 2020-06-26 | 深圳震有科技股份有限公司 | 一种串口硬件流控实现方法、智能终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3423950B1 (en) | 2019-08-07 |
TW201743572A (zh) | 2017-12-16 |
EP3423950A1 (en) | 2019-01-09 |
KR20190006487A (ko) | 2019-01-18 |
BR112018073048A2 (pt) | 2019-02-26 |
WO2017196875A1 (en) | 2017-11-16 |
US20170329738A1 (en) | 2017-11-16 |
AU2017264691A1 (en) | 2018-10-25 |
JP2019517066A (ja) | 2019-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109074339A (zh) | 用于线复用uart流控制的数字信令方案 | |
JP7258199B2 (ja) | 多相クロックデータ復元回路較正 | |
US9979432B2 (en) | Programmable distributed data processing in a serial link | |
CN108605056B (zh) | 高速串行链路中的单向时钟信令 | |
CN108370338A (zh) | 用于消息接发和输入/输出传递接口的最优等待时间分组化器有限状态机 | |
CN109644020A (zh) | 用于自适应均衡、自适应边沿跟踪以及延迟校准的c-phy训练模式 | |
US10635630B2 (en) | Flexible protocol and associated hardware for one-wire radio frequency front-end interface | |
US9563398B2 (en) | Impedance-based flow control for a two-wire interface system with variable frame length | |
CN108713197A (zh) | 用于最优性能和功率节省的自适应快速外围组件互连链路子状态发起 | |
US10838898B2 (en) | Bit-interleaved bi-directional transmissions on a multi-drop bus for time-critical data exchange | |
WO2016144816A1 (en) | Technique of link state detection and wakeup in power state oblivious interface | |
CN108369569A (zh) | 与硬件流控制的增强型串行外围接口 | |
CN110312998A (zh) | 用于在总线上的设备之间发送带内中断消息的系统和方法 | |
US20160301519A1 (en) | Clock and data recovery for pulse based multi-wire link | |
WO2019112696A1 (en) | Non-destructive outside device alerts for multi-lane i3c | |
US9880895B2 (en) | Serial interface with bit-level acknowledgement and error correction | |
US9329655B2 (en) | Power management for data ports | |
US20180357121A1 (en) | Error correction calculation upon serial bus abort | |
WO2011154774A1 (en) | Integrated circuit device, calibration module, and method therefor | |
EP2406720A1 (en) | Method for controlling a data transfer on a serial transmission data transfer bus | |
CN107257965A (zh) | 线复用uart |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181221 |