CN110603523B - 用于对串行通信链路上的事件的传输进行优先级排序的设备和方法 - Google Patents

用于对串行通信链路上的事件的传输进行优先级排序的设备和方法 Download PDF

Info

Publication number
CN110603523B
CN110603523B CN201880027492.XA CN201880027492A CN110603523B CN 110603523 B CN110603523 B CN 110603523B CN 201880027492 A CN201880027492 A CN 201880027492A CN 110603523 B CN110603523 B CN 110603523B
Authority
CN
China
Prior art keywords
event
frame
delay
events
priority
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.)
Active
Application number
CN201880027492.XA
Other languages
English (en)
Other versions
CN110603523A (zh
Inventor
M·W·仑德
O·M·瑞坦
L·克拉克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of CN110603523A publication Critical patent/CN110603523A/zh
Application granted granted Critical
Publication of CN110603523B publication Critical patent/CN110603523B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/372Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a time-dependent priority, e.g. individually loaded time counters or time slot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/37Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a physical-position-dependent priority, e.g. daisy chain, round robin or token passing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/374Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0412Digitisers structurally integrated in a display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • G06F3/04184Synchronisation with the driving of the display or the backlighting unit to avoid interferences generated internally
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/366Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/08Details of image data interface between the display device controller and the data line driver circuit
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/10Use of a protocol of communication by packets in interfaces along the display data pipeline
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/12Use of DVI or HDMI protocol in interfaces along the display data pipeline
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/14Use of low voltage differential signaling [LVDS] for display data communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

本公开整体涉及串行通信链路,并且更具体地讲,涉及在串行通信链路上传送的事件和这些事件的时序。可根据优先级排序过程来传送该事件。

Description

用于对串行通信链路上的事件的传输进行优先级排序的设备 和方法
相关专利申请的交叉引用
本申请根据35U.S.C.§119(e)要求2017年5月5日提交的美国临时专利申请序列号62/502,343的权益,该临时专利申请的公开内容据此全文以引用方式并入本文。
技术领域
本公开的实施方案整体涉及串行通信链路,并且更具体地讲,涉及在串行通信链路上传送的事件和那些事件的时序。
背景技术
在许多嵌入式控制系统和其他计算系统中,外围设备和主机之间或者外围设备和外围设备之间的数据的移动可以是可存在于此类系统中的各种总线上的大量数据流量。此外,该数据流量中的一些可包括与所发生的事件和这些事件的时序相关的信息。
在常规的芯片间通信中,一种方法是在通过信号传递这些事件的专用线路上传送此类事件信息以管理事件通信的时序。然而,附加线路通常有额外成本。由于布局约束,增加线路的成本可能较高,甚至高得惊人。另一种方法是尽快作为下一个通信分组在串行通信链路上发送事件信息。然而,该方法可丢失重要事件细节,例如,有关何时发生实际事件的时序细节。这些和其他方法可存在其他缺陷和局限性。
需要在串行通信链路上传送事件和事件时序细节以指示主设备与一个或多个从设备之间的事件的相对时序。
发明内容
本公开的一些实施方案整体涉及对事件进行优先级排序的方法。该方法可包括延迟两个或更多个事件,每个事件被延迟至少与均匀延迟相对应的延迟时间;在所述两个或更多个事件中的任何一个被延迟时防止附加帧在串行通信链路上起动;在其对应延迟时间之后传输与具有最高优先级的所述两个或更多个事件中的一个相对应的事件帧;使优先级低于所传输的事件帧的事件一直保持到对应延迟时间之后并且没有较高优先级事件挂起;以及重复传输与最高优先级事件相对应的事件帧,直到已为所有所述两个或更多个事件传输了事件帧。在一个实施方案中,事件帧包括指示所传输的帧是事件帧的事件标识符位,以及指示在事件帧中传输的是所述两个或更多个事件中的哪个事件的事件位。
本公开的一些实施方案整体涉及串行通信链路发射器。串行通信链路发射器可包括两个或更多个延迟电路和优先级逻辑。每个延迟电路可被配置用于接收与该延迟电路相对应的事件发生并且使该事件发生延迟与帧时间相对应的延迟时间。优先级逻辑可被配置用于:为两个或更多个事件发生确定优先级顺序;在所述两个或更多个延迟电路中的任何一个延迟其对应事件时防止附加帧起动;在其对应延迟时间之后传输与最高优先级事件相对应的事件帧;以及使优先级低于最高优先级事件的事件发生在其对应延迟电路中一直保持到其对应延迟时间之后并且没有较高优先级事件挂起;以及重复传输与最高优先级事件相对应的事件帧,直到已为所有所述两个或更多个事件发生传输了事件帧。在一个实施方案中,事件帧包括指示所传输的帧是事件帧的事件标识符位,以及指示在事件帧中传输的是两个或更多个事件发生中的哪个事件的事件位。
一些实施方案整体涉及串行通信链路发射器。串行通信链路发射器可包括优先级逻辑和传输电路。优先级逻辑可包括与两个或更多个事件指示符相对应的两个或更多个优先级模块。每个优先级模块可包括按照等于帧时间中的位数的移位数来使事件指示符移位的移位寄存器;在移位寄存器中的任何位被断言时指示挂起事件的逻辑;在较高优先级模块中有挂起事件时使移位寄存器不移位的逻辑;以及在事件已到达移位寄存器的终点并且较高优先级模块中没有挂起事件时指示事件准备好传输的逻辑。传输电路可被配置用于发送事件帧,其中传输电路被配置为在事件帧中包括指示传输的是所述两个或更多个事件指示符中的哪个事件的事件位,以及指示所传输的帧是事件帧的事件标识符位。
附图说明
通过以下详细描述和附图,本公开的实施方案的优点对于本领域的普通技术人员将是显而易见的:
图1A示出了根据本公开的一个实施方案的具有串行通信链路的发射器和接收器的框图。
图1B至图1E示出了根据本公开的实施方案的流程图,这些流程图示出了通过串行通信链路传输事件的过程。
图2A示出了根据本公开的实施方案的详细时序图,该详细时序图示出了通过串行通信链路以事件传输中包括的延迟计数传输某些事件。
图2B、图2C和图2D以展开视图示出了图2A的标记区段。
图3A示出了根据本公开的实施方案的详细时序图,该详细时序图示出了通过串行通信链路以事件传输的预定延迟来传输某些事件。
图3B和图3C以展开视图示出了图3A的标记区段。
图3D示出了根据本公开的实施方案的详细时序图,该详细时序图示出了通过串行通信链路以事件传输的预定延迟来传输某些事件。
图3E和图3F以展开视图示出了图3D的标记区段。
图4A至图4C示出了根据本公开的实施方案的帧级时序图,这些帧级时序图示出了不同优先级事件时序和可能在串行通信链路上发生的一些错误。
图5示出了根据本公开的实施方案的逻辑图,该逻辑图示出了作为对串行通信链路上的事件进行优先级排序的示例的优先级逻辑。
图6A至图6C示出了根据本公开的实施方案的帧级时序图,这些帧级时序图示出了串行通信链路上的按优先级排序的事件的事件时序。
图7示出了根据本公开的一个实施方案的用于对事件进行优先级排序的过程的流程图。
图8示出了根据本公开的一个实施方案的包括具有串行通信链路的系统控制器、触摸控制器和显示面板的触摸面板系统的框图。
具体实施方式
在以下详细描述中,参考了形成其一部分的附图,并且在附图中以举例的方式示出了可实践本公开的具体示例性实施方案。充分详细地描述了这些实施方案,以使本领域的普通技术人员能够实践本公开。然而,可利用其他实施方案,并且可在不脱离本公开的范围的情况下进行结构、材料和方法的变化。本文所呈现的图示并不旨在为任何特定方法、系统、设备或结构的实际视图,而仅仅是用于描述本公开的实施方案的理想化表示。本文所呈现的附图未必按比例绘制。为了读者的方便,各附图中的类似结构或部件可保持相同或相似的编号;然而,编号的相似性并不意味着所述结构或部件在尺寸、组成、配置或任何其他特性方面必须是相同的。
容易理解的是,如本文整体描述的和附图中示出的实施方案的部件可以各种不同的构型来布置和设计。因此,对各种实施方案的以下描述并不旨在限制本公开的范围,而是仅代表各种实施方案。虽然实施方案的各个方面可在附图中给出,但是附图未必按比例绘制,除非特别指明。
此外,所示出和描述的特定实施方式仅为示例,并且不应理解为实施本公开的唯一方式,除非本文另外指明。元件、电路和功能可以框图形式示出,以便不以不必要的细节模糊本公开。相反,所示出和描述的特定实施方式仅为示例性的,并且不应理解为实施本公开的唯一方式,除非本文另外指明。另外,块定义和各个块之间逻辑的分区是特定实施方式的示例。对于本领域的普通技术人员将显而易见的是,本公开可通过许多其他分区解决方案来实践。在大多数情况下,已省略了关于时序考虑等的细节,其中此类细节不需要获得本公开的完全理解,并且在相关领域的普通技术人员的能力范围内。
本领域的普通技术人员将会理解,可使用多种不同技术和技法中的任何一者来表示信息和信号。例如,可在整个本说明书中参考的数据、指令、命令、信息、信号、位、符号和芯片可由电压、电流、电磁波、磁场或粒子、光场或粒子或者它们的任何组合来表示。为了清晰地呈现和描述,一些附图可以将信号示出为单个信号。本领域的普通技术人员应当理解,信号可表示信号总线,其中总线可具有多种位宽度,并且本公开可在包括单个数据信号在内的任意数量的数据信号上实现。
结合本文所公开的实施方案描述的各种例示性逻辑块、模块和电路可使用通用处理器、专用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者被设计成执行本文所述的功能的其他可编程逻辑设备、离散栅极或晶体管逻辑、离散硬件部件或它们的任何组合来实现或实施。通用处理器(在本文中也可称为主机处理器或仅称为主机)可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器也可实现为计算设备的组合,诸如DSP和微处理器的组合、多个微处理器、与DSP核结合的一个或多个微处理器或任何其他此类配置。在通用计算机被配置为执行与本公开的实施方案相关的计算指令(例如,软件代码)时,包括处理器的通用计算机被认为是专用计算机。
而且,应当指出的是,可根据被描绘为流程图、流程图示、结构图或框图的过程来描述实施方案。尽管流程图可将操作行为描述为顺序过程,但是许多这些行为可按另一顺序、并行或基本上同时执行。此外,可重新安排动作的顺序。过程可以对应于方法、线程、函数、程序、子例程、子程序等。此外,本文所公开的方法可以在硬件、软件或两者中实现。如果在软件中实现,这些函数可作为一个或多个指令或代码存储或传输到计算机可读介质上。计算机可读介质包括计算机存储介质和通信介质两者,该通信介质包括有利于将计算机程序从一个位置传递到另一个位置的任何介质。
应当理解,本文中使用名称诸如“第一”、“第二”等对元件的任何提及不限制这些元件的数量或顺序,除非明确说明这种限制。相反,这些名称可在本文中用作在两个或更多个元件或元件的实例之间进行区分的便利方法。因此,提及第一元件和第二元件并不意味着在那里只能采用两个元件,或者第一元件必须以某种方式在第二元件之前。此外,除非另外指明,一组元件可包括一个或多个元件。
为了使附图中的细节更清楚,一些附图的某些标记区段可以展开视图在另一个附图中示出。在一些情况下,区段标记可能会遮挡附图的部分,但在展开视图中将是清楚的。即使一些细节在对应附图中可能被区段标记所遮挡,以展开视图示出的所有内容也都应被视为对应附图的一部分。此外,本公开中对附图的任何讨论也适用于其展开视图(如果有的话)。
如本文所用,涉及给定参数、特性或条件的术语“基本上”是指并且包括在本领域的普通技术人员将会理解的给定参数、特性或条件满足小程度的方差的程度,诸如例如在可接受的制造公差内。以举例的方式,取决于基本上符合的具体参数、特性或条件,参数、特性或条件可至少满足90%、至少满足95%、或甚至至少满足99%。
如本文所用,“串行通信链路”意指作为串行组位来传输信息的通信链路。该链路的协议包括作为信息有效载荷的一组位,其可具有各种大小并且可包括其他位,诸如例如,起始位、停止位、奇偶校验位和地址位。该链路的物理层可为有线总线,诸如例如,RS-232、I2C和SMBus。该链路的物理层也可为无线信号,诸如例如,红外线数据协会(IrDA)信号。
如本文所用,术语“帧”定义串行通信链路上传输的一组预定位数。作为一个示例,在诸如通用异步收发器(UART)、通用同步收发器(USRT)或通用同步/异步收发器(USART)的串行通信链路中,帧可被定义为10位以包括起始位、8位数据有效载荷、奇偶校验位和停止位。这些串行通信协议中的一个的帧也可为不同长度,诸如,仅出于示例的目的,为8位以包括起始位、7位数据有效载荷和停止位。作为另一个示例,I2C串行通信协议(或具有多个从设备的其他协议)可包括更长的帧尺寸以允许包含从设备地址以及数据有效载荷。
在整个本说明书中提及“一个实施方案”、“实施方案”或类似的语言意味着结合所指示的实施方案描述的特定特征、结构或特性包括在本公开的至少一个实施方案中。因此,整个本说明书中的短语“在一个实施方案中”、“在实施方案中”和类似的语言可以但不必全部是指同一实施方案。
本文所述的一些实施方案涉及用于在事件在总线主设备处的发生与其在从设备处的接收之间提供均匀延时的技术。在一些实施方案中,在串行总线上传送该事件并且该事件的指示符到达耦合到串行总线的从设备。在一些实施方案中,均匀延时可为主设备与从设备之间已知的固定延迟。在其他实施方案中,可在主设备与从设备之间传送均匀延时,其中包括时序信息。本文所述的其他实施方案提供了可在任何给定帧期间发生的多个事件的优先级排序。
在专用串行通信系统中,有时需要在规则数据通信包之间传输某些发生(例如,事件)的“旁侧信息”(旁侧信息的传输在本文中称为“事件传输”)。事件传输不应破坏主数据通信包,但事件传输仍应唯一地识别事件的时间。作为一个示例,通信链路可基于UART或其同步版本USRT,并且该通信可为U(S)ART帧。
此外,如果系统支持多个此类事件,则根据本公开的一个实施方案,该系统将在两个或更多个事件太频繁发生(例如,时间接近)时进行优先级排序以在单独帧中传输并且仍提供正确时序信息。本公开描述了以一定方式对这些事件进行优先级排序的系统、设备和方法,该方式试图确保传输最高优先级事件,即使较低优先级事件首先出现,但时间太接近而不能在必须起动高优先级事件的传输之前完成低优先级事件的传输。
即使通信链路的主要目的可能是传输一定类型的数据,发射器也可能需要向接收器通知在发射器处发生的某些事件。非限制性系统示例是微控制器(MCU),其控制显示器(诸如例如,液晶显示器(LCD)、有机发光二极管(OLED)显示器等)上的多个复杂显示驱动器。显示驱动器可能具有用于电容式触摸测量的复杂电路,这需要由MCU来配置和控制。时序信息(例如,事件)如水平同步(HSYNC)和竖直同步(VSYNC)可能是将触摸操作定时(例如,同步)到显示器的更新率所必需的,例如以补偿显示驱动器带来的噪声。
虽然本公开的实施方案可涉及“事件”例如“事件帧”、“事件插入逻辑”、“事件恢复逻辑”,但术语“事件”不限于事件驱动的系统并且旨在涵盖旁侧信息,一般包括有关从发射器传输到接收器的规则数据的旁侧信息。
图1A是根据本公开的一个实施方案的具有串行通信链路130的发射器120和接收器140的框图。在一个实施方案中,发射器120和接收器140可为主设备和从设备,它们被配置用于通过例如串行外围接口进行同步通信。发射器120可包括处理器122、事件插入逻辑124和串行接口126。处理器122可被配置为通过通信链路130将规则数据发送到接收器140。事件插入逻辑124可被配置为使用通信链路130向接收器140提供事件信息。事件信息可涉及在发射器120处创建的事件,或在另一个实施方案中,涉及向发射器120提供的有关发射器120外部的事件的事件信息。作为非限制性示例,事件信息可包括时序信息、事件类型信息、状态信息等。在各种实施方案中,事件插入逻辑124可被配置为将事件插入到在串行接口126处编码且在通信链路130上传输的串行通信流中。串行接口126和串行接口146可被配置为将数据转换为帧以用于通过通信链路130传输,以及从所传输的帧恢复数据。为了简化图1A,未示出与同步通信相关的一些常规元件,诸如时钟(Ck)线。
在接收器140侧上,接收器140可包括事件恢复逻辑142、处理器144和串行接口146。根据本公开中所述的各种实施方案,事件恢复逻辑142可被配置为恢复事件信息。
虽然参考图1所述的实施方案涉及同步通信,但本领域普通技术人员应当理解,这些原理也适用于异步通信。
下面参考图1B至图1E概述用于传输事件帧的过程。
图1B示出了根据本公开的一个实施方案的具有基于传输延迟值的均匀延迟的事件传输的流程图。在操作150中,接收事件。该事件可与发射器处生成的或发射器针对外部事件将接收的事件相关。在操作152中,确定事件延迟,该事件延迟被定义为在发生该事件时所传输的当前帧的预定义位位置与该事件之间的时间。在操作154中,生成与该事件相对应的事件帧,并且将事件延迟插入到事件帧的事件延迟字段中。作为非限制性示例,延迟值可以是可从其恢复时间或时钟计数的时钟计数或值。在一个实施方案中,延迟值可指示与当前帧中的预定义点(例如,当前帧的开始、该帧的结束等)相比在当前帧(即,正在进行的帧)中的何处发生该事件。如果没有正在进行的传输或事件帧相反未被延迟,则延迟值可指示无延迟或“0”。在操作156中,通过串行通信链路发送具有延迟值的事件帧。在一个实施方案中,如果存在正在进行的帧,则该事件帧可紧接正在进行的帧发送。
图1C示出了根据本公开的一个实施方案的具有基于传输延迟值的均匀延迟的事件传输的流程图。在操作160中,通过串行通信链路接收包括事件延迟的事件帧。在操作162中,对事件帧进行解码以恢复事件延迟和事件指示符。在操作164中,等待与事件延迟相对应的时钟周期数。在操作166中,在等待该时钟周期数之后响应于事件指示符而断言接收器侧事件。
图1D示出了根据本公开的一个实施方案的具有均匀延迟的事件传输的流程图。在操作170中,接收事件。所接收的该事件可与发射器处生成的或发射器针对外部事件将接收的事件相关。在操作172中,根据均匀延迟来延迟该事件。在一个实施方案中,均匀延迟可为帧的长度。在操作174中,生成与该事件相对应的事件帧。在一个实施方案中,事件帧可包括指示事件帧与一组事件中的哪个事件相对应的事件指示符,以及指示该事件帧实际上是一个事件帧的事件帧指示符。在操作176中,在串行通信链路上传输延迟的事件帧。
图1E示出了根据本公开的一个实施方案的具有均匀延迟的事件传输的流程图。在操作180中,通过串行通信链路接收事件帧。在操作182中,对事件帧进行解码以恢复事件指示符。在操作184中,响应于所恢复的事件指示符而立即断言接收器侧事件。
本领域普通技术人员应当理解,事件帧可包括一个或多个字段。例如,帧可具有包括一个或多个位的字段,该一个或多个位可配置以指示结合本公开的各种实施方案描述的各种信息。本领域普通技术人员将认识到这些字段和包括这些字段的位的许多排列。
图2A是根据本公开的一个实施方案的详细时序图,该详细时序图示出了通过串行通信链路以事件传输中包括的延迟计数(例如,传输的计数值)传输某些事件。针对图2A的讨论,为了使图2A的细节更容易查看,图2B至图2D以展开视图示出了图2A的标记区段。在该实施方案中,当事件发生时,事件插入逻辑124生成事件帧,并且事件帧紧接(即,紧随其后)正进行传输的当前帧发送。事件帧包含延迟字段,该延迟字段指示与当前帧中的预定义点(例如,当前帧的开始)相比在当前帧(即,正在进行的帧)中的何处(或何时)发生该事件。因此,如果没有正在进行的帧传输,则以延迟值0立即发送事件帧。事件帧具有最高优先级,因此其将在其他挂起数据帧之前发送。
图2A示出了具有均匀延迟的事件传输,该均匀延迟基于相对于所传输的当前帧而言事件的三个不同位置的传输的计数器值。图2A示出了通用同步收发器(USRT)的示例,其中数据在时钟的正沿上生成,并且T×D线上的帧由停止位、9个数据位、无停止位组成,并且信号线为高是表示空闲状态。时钟和T×D信号被示出为最上面的两个波形。
图2A示出了三个事件传输示例-信号组220、信号组240和信号组260,其中事件相对于在T×D信号上示出的当前帧在延迟时间9、4和0时发生。被示出为信号组260的时间基准(DLY=0)与起始位之前的时钟周期相对应。作为非限制性示例,该事件可以是物理输入引脚或软件生成的事件。在物理引脚的情况下,物理引脚可被配置为在上升沿、下降沿或切换信号值上生成事件。
在系统支持多个事件的实施方案中,事件插入逻辑可被配置为将事件帧中的事件编号(例如,在图2A中被示出为EV0和EV1)与延迟值(例如,在图2A中被示出为DL0、DL1、DL2和DL3)一起编码在事件帧中。在各种实施方案中,事件编号可与以下相关联(在发射器和/或接收器侧):事件源、事件子模块、事件类型、与前述内容相关联的预定义信息等。对于多个事件,可在同一当前帧内(例如,在此期间)发生若干事件。根据应用,这可通过事件插入逻辑124来解决,该事件插入逻辑被配置为:(1)在一个实施方案中,使一个事件排优先级,并且丢弃其他事件,(2)在另一个实施方案中,使一个事件排优先级,并且紧接发送一个或多个其余事件帧但带有错误位(图2A中未示出)以指示不正确的时序,或者(3)在又一个实施方案中,作为两个事件发送但保留延迟值中的一个用于错误签名。
在接收器侧,接收器的事件恢复逻辑可被配置为对事件帧进行解码以找到事件延迟值(例如,在由Ck的上升沿和下降沿限定的时钟中)。然后,接收器从所接收的事件帧中的预定义点开始基于事件延迟值来对时钟数进行计数并断言正确事件线和延迟结束。在图2A所示的示例中,事件恢复逻辑从事件帧的最后一位开始计数。如图所示,然后以21个时钟的固定延时在接收器侧上恢复来自发射器侧的事件。在各种实施方案中,可使用寄存器来实现固定延时,并且固定延时的大小可至少部分地取决于数据路径中的寄存器的数量、计数器在发射器侧和接收器侧上从何处起动计数等。
对于信号组220,当前帧212的开始与在发射器处的事件224(EV_IN)的发生之间的延迟222为9个时钟。在当前帧212完成时,事件224作为事件帧214向外传输。在事件帧214结束时,接收器开始对在事件帧214中编码为DL0至DL3的时钟数(在此示例中为9个时钟)计数以创建延迟232。在一个实施方案中,接收器还可使用事件编号EVO和EV1来确定该事件帧214的事件224的源。当计数终止时,接收器断言接收侧事件234(EV_OUT),该接收侧事件相对于事件224最初在发射器处发生的时间有21个时钟的均匀延时。
对于信号组240,当前帧212的开始与在发射器处的事件244(EV_IN)的发生之间的延迟242为4个时钟。在当前帧212完成时,事件244作为事件帧214向外传输。在事件帧214结束时,接收器开始对在事件帧214中编码在DL0至DL3上的时钟数(在此情况中为4个)计数以创建延迟252。接收器还可使用事件编号EVO和EV1来确定事件帧214的事件244的源。当计数终止时,接收器断言接收器处的接收侧事件254(EV_OUT),该接收侧事件相对于事件244最初在发射器处发生的时间有21个时钟的均匀延时。
对于信号组260,当前帧212的开始与在发射器处的事件264(EV_IN)的发生之间的延迟262为0个时钟。在当前帧212完成时,事件264作为事件帧214向外传输。在事件帧214结束时,接收器开始对在事件帧214中编码在DL0至DL3上的时钟数(在此情况中为0个)计数以创建延迟272。接收器还可使用事件编号EVO和EV1来确定事件帧214的事件264的源。当计数终止时,接收器断言接收器处的接收侧事件274(EV_OUT),该接收侧事件相对于事件264最初在发射器处发生的时间有21个时钟的均匀延时。
本领域普通技术人员应当理解,与参考图2A所述的相比,延迟位和事件编号位可相对于彼此不同地定位。此外,其他实施方案可使用与参考
图2A所述的相比不同数量的位或不同的编码来定义事件延迟。另外,其他实施方案可使用与参考图2A所述的相比不同数量的位(包括没有位)或不同的编码来定义事件的源。如事件帧中的在EV位之后的位所示,事件帧的其余部分(其可定位在帧内的各个位置)包括一组唯一数据位,这些数据位将该帧识别为事件帧。
因此,虽然图2A示出了根据本公开的一个实施方案的特定串行通信链路协议,但是其他实施方案可包括其他协议,包括各种数据大小和各种控制位,并且分组可包括多个物理帧,而非仅仅是如图2A所示的单个帧。
图3A示出了详细时序图,该详细时序图示出了通过串行通信链路以用于事件帧传输的预定延迟来传输某些事件。在该实施方案中,当事件发生时,该事件可在发射器处存储与帧/分组的长度相对应的时间。针对图3A的讨论,为了使图3A的细节更容易查看,图3B和图3C以展开视图示出了图3A的标记区段。作为非限制性示例,可通过将事件放入该大小的移位寄存器中,或通过在计数器倒数至零的同时将事件存储在寄存器位中来完成事件存储。当传输可能正在进行的帧时,事件帧具有最高优先级,使得直到延迟超时并且事件帧生成,才开始新的帧。该延迟确保从在发射器处的事件发生直到在接收器处接收事件帧的均匀延时。
图3A作为示例示出了通用同步收发器(USRT),其中数据在时钟的正沿上生成,并且T×D线上的帧包括停止位、9个数据位和无停止位,并且信号线为高是表示空闲状态。
图3A示出了在时间0(信号组320)和时间4(信号组360)时发生事件的示例。时间基准(DLY=0)与起始位之前的时钟周期相对应。作为非限制性示例,事件可以是物理输入引脚或软件生成的事件。在物理输入引脚的情况下,物理引脚可被配置为在上升沿、下降沿或切换信号值上生成事件。
图3A还示出了对于同步通信协议,发射器和接收器可以与通信链路不同(更高)的频率操作,并且可能需要将事件同步到通信模块。在异步通信协议中,可以从事件起固定延迟,直到以系统时钟的分辨率生成事件帧为止。
与参考图2A讨论的实施方案一样,如果使用图3A(或图3D)所示的事件传输的实施方案的系统支持多个事件,则事件编号可编码在事件帧中。对于多个事件,可在同一当前帧内发生所述多个事件。根据应用,这可通过插入逻辑来解决,该插入逻辑被配置为:(1)在一个实施方案中,使一个事件帧排优先级,并且丢弃其他事件帧,或(2)在另一个实施方案中,使一个事件帧排优先级,并且紧接发送其余事件帧但带有错误位(在图3A中被示出为“ERR”)以指示延时可能不均匀。
在接收器侧,当接收到事件帧时,接收器立即地(或在固定延迟之后)断言其事件输出。
在图3A中的示例中,如图所示,然后相对于事件实际发生的时间以23个时钟的均匀延时在接收器侧上重新生成来自发射器侧的事件。均匀延时的大小取决于数据路径中的寄存器的数量、计数器在发射器侧和接收器侧上从何处起动计数等。
对于信号组320,延迟被示出为0个时钟。事件322被延迟了事件延迟帧324(例如,10个周期),然后作为事件帧326从发射器向外传输。发射器中的延迟确保在发生事件322时传输的任何正在进行的帧在延迟结束之前(或与此同时)完成。在事件帧326结束时,接收器断言接收侧事件328(EV_OUT),该接收侧事件相对于事件322最初在发射器处发生的时间有23个时钟的均匀延时。
图3D示出了另一个详细时序图,该详细时序图示出了通过串行通信链路以用于事件帧传输的预定延迟来传输某些事件。针对图3D的讨论,为了使图3D的细节更容易查看,图3E和图3F以展开视图示出了图3D的标记区段。对于信号组360,延迟被示出为4个时钟。事件362被延迟了事件延迟帧364(例如,10个周期),然后作为事件帧366从发射器向外传输。发射器中的延迟确保在发生事件362时传输的任何正在进行的帧在延迟结束之前(或与此同时)完成。需注意,在该示例中,在事件362发生时正在传输的帧与事件帧366之间的串行通信链路上发生了空闲时间段368。在事件帧366结束时,接收器断言接收侧事件368(EV_OUT),该接收侧事件相对于事件362最初在发射器处发生的时间有23个时钟的均匀延时。
如以上参考图2A所讨论,事件帧可包括在事件帧366中被示出为EV0至EV2并且指示事件362的源的位,以及将其识别为事件帧的一组唯一数据位。
虽然图3A和图3D示出了特定串行通信链路协议,但是其他实施方案可包括其他协议,包括各种数据大小、控制位的数量和类型、不同编码方案,并且分组可包括多个物理帧,而非仅仅是如图3A和图3D所示的单个帧。
在其各种实施方案中,本公开使得能够在串行通信链路上传送事件的时序,而除了通信系统所需的线路之外不需要附加线路。从设备将事件看作从在发射器侧的发生开始的均匀延时,而不论其在通信包中何处发生。
根据本公开的实施方案,下面参考图4A至图4C、图5和图6A至图6C描述事件传输的优先级排序。在一个实施方案中,优先级排序逻辑可为事件插入逻辑(诸如事件插入逻辑124(图1A))的部分。
图4A至图4C示出了帧级时序图,这些帧级时序图示出了不同优先级事件时序和可能在串行通信链路上发生的一些错误-由本公开的实施方案解决的错误。实线箭头表示较高优先级事件,而虚线箭头表示较低优先级事件。类似地,带有实线的框示出包含有关较高优先级事件的信息的通信帧,而带有虚线的框示出包含有关较低优先级事件的信息的通信帧。
在图4A中,最先发生较低优先级事件410。然而,由于通信帧414具有一定持续时间,因此在通信帧发生时立即发送较低优先级事件410导致较高优先级事件412丢失(至少其无法具有正确时序),即使该通信帧具有较高优先级也是如此,因为较高优先级事件412必须一直等待到较低优先级事件帧416完成。因此,尽管可以正确时序发送较低优先级事件帧416,但是也将较高优先级事件帧418与错误指示一起发送,以指示在发生较高优先级事件412的时间与接收较高优先级事件帧418的时间的延时之间可能存在不一致。
在图4B和图4C中,较高优先级事件和较低优先级事件在时间上非常接近地发生,使得在事件的采样中的抖动可以针对何时传输事件帧产生随机顺序。在图4B中,较高优先级事件422是优先的,因此较高优先级事件帧426最先且在适当的时间向外发送。因此,较低优先级事件420等待下一帧,并且与错误指示一起发送以指示在发生较低优先级事件420的时间和接收较低优先级事件帧428的时间的延时之间可能存在不一致。在图4C中,较低优先级事件430是优先的,因此较低优先级事件帧436最先在适当的时间向外发送。因此,较高优先级事件432等待下一帧,并且与错误指示一起发送以指示在发生较高优先级事件432的时间和接收较高优先级事件帧438的时间的延时之间可能存在不一致。
一种在对事件进行优先级排序中校正这些不一致的方法是使用发射硬件(其可包括软件实施方式),该发射硬件通过在发送事件帧之前插入从事件开始的与帧长度相等的延迟(诸如例如,通过使用图3所示的实施方案)来形成均匀延时。延迟时间可用于强制实施正确优先级。
在图3中,事件全部都延迟了一帧。当延迟持续时间超时时,发射器检查较高优先级管道中是否存在挂起事件。如果存在,则发射器通过在较高优先级事件准备好传输之前不开始任何新的帧来对较高优先级事件进行优先级排序,然后再以适当的优先级顺序发送具有较低优先级的任何事件,其中设定错误标记。
图5示出了根据本公开的实施方案的逻辑图,该逻辑图示出了作为对串行通信链路上的事件进行优先级排序的示例的优先级逻辑510。图5示出了该行为的一种可能实施方式;许多其他电路和逻辑实施方式可用于完成优先级排序。事件延迟在图5中被示出为延迟电路520,这里是移位寄存器。事件子模块(EV0、EV1、…EVn)在图5中由水平虚线界定。如上所述,计数器也可用于延迟。在该示例中,EV0具有最高优先级,而增加的事件编号具有降低的优先级。每个事件子模块的或非门的输出指示在该事件子模块处没有挂起事件。竖直与线512通过在每个子模块处指示没有具有较高优先级的挂起事件来检定每个事件。如果事件已到达延迟电路520的最后一级,那么如果不存在具有较高优先级的挂起事件,则断言经检定的事件输出。如果存在具有较高优先级的挂起事件,则停止该事件子模块的延迟电路520,直到已传输具有较高优先级的所有事件为止。因此,无论事件EV0至EVn的到达时间如何,在给定数据帧(或事件帧序列)内,都将最先发送最高优先级事件,接着以适当的优先级顺序发送任何挂起的较低优先级事件。
图6A至图6C是帧级时序图,这些帧级时序图示出了串行通信链路上的按优先级排序的事件的事件时序。实线表示较高优先级事件,而虚线表示较低优先级事件。类似地,带有实线的框示出包含有关较高优先级事件的信息的通信帧,而带有虚线的框示出包含有关较低优先级事件的信息的通信帧。
图6A至图6C中的时序示出了较高优先级事件相对于较低优先级事件使用参考图5讨论的均匀延迟优先级排序将实现的结果。在图6A至图6C中,EXT指示事件何时实际发生作为对优先级逻辑的输入,而INT指示事件何时将可用于传输(即,在移位寄存器产生均匀一帧延迟结束时)。
图6A示出了在较低优先级事件606(虚线)之后发生较高优先级事件602(实线)的情况,但是在时间上太接近而不能在不同的帧中发送。延迟的较高优先级事件604(INT)在优先级逻辑中是优先的并将在均匀延迟结束时作为较高优先级事件帧610向外发送,并且将因此相对于较高优先级事件602在发射器处发生的时间以均匀延时被接收。较低优先级事件606在优先级逻辑中丢失并因此将在较高优先级事件帧610之后作为较低优先级事件帧612与错误指示一起发送以指示发生较低优先级事件606的时间和接收较低优先级事件帧612的时间的延时之间可能存在不一致。
图6B示出了两个事件(较高优先级事件622和较低优先级事件626)同时地或几乎同时地发生的情况。采样过程中的时序抖动确定哪个事件最先被寄存。然而,当最先发生的事件已被延迟了一帧时,优先级逻辑将检查挂起的较高优先级事件。这样,较高优先级事件622总是优先。
如图6B所示,选项A指示在对事件进行采样时,较高优先级事件622最先被采样,并且较高优先级事件622的较高优先级事件帧630在均匀延迟之后向外发送,并且将因此相对于较高优先级事件622在发射器处发生的时间以均匀延时被接收。较低优先级事件626在优先级逻辑中丢失并因此将在较高优先级事件帧630之后作为较低优先级事件帧632与错误指示一起发送以指示发生较低优先级事件626的时间和接收较低优先级事件帧632的时间的延时之间可能存在不一致。
另外如图6B所示,选项B指示在对事件进行采样时,较低优先级事件626最先被采样。然而,由于较高优先级事件622在优先级逻辑中是优先的,因此较高优先级事件622的较高优先级事件帧634在均匀延迟之后向外发送,并且将因此相对于较高优先级事件622在发射器处发生的时间以均匀延时被接收。较低优先级事件626在优先级逻辑中丢失并因此将在较高优先级事件帧634之后作为较低优先级事件帧636与错误指示一起发送以指示发生较低优先级事件626的时间和接收较低优先级事件帧636的时间的延时之间可能存在不一致。
图6C示出了又一个问题。如果较高优先级事件642相对于较低优先级事件646迟一帧发生,则可能会遇到这种情况:采样时间中的抖动将确定传输顺序。在选项A中,最先对较低优先级事件646进行采样,并且可在没有延时错误的情况下传输其事件帧650,并且接着在没有延时错误的情况下传输较高优先级事件642的较高优先级事件帧652。在选项B中,最先对较高优先级事件642进行采样,并且可在没有延时错误的情况下传输其事件帧654。然而,较低优先级事件帧656将在较高优先级事件帧654之后与错误指示一起发送,以指示发生较低优先级事件646的时间与接收较低优先级事件帧656的时间的延时之间可能存在不一致。在任一种选项中,在没有延时错误的情况下传输较高优先级事件帧652或654。
在许多情况下,这两个(或更多个)事件是随机地发生的,并且该行为是可接受的;较高优先级事件帧始终在正确时间传输。然而,在两个事件之间存在固定关系的一些系统中,较低优先级事件帧在较高优先级事件帧之前或之后之间切换可能是不可接受的。对于此类情况,可包括一个选项,以关闭在管道中查找其他事件的优先级排序,并且仅在准备进行传输的事件之间进行优先级排序。
图7示出了根据本公开的一个实施方案的用于对事件进行优先级排序的过程的流程图。在操作700中,将两个或更多个事件延迟了延迟时间。在一个实施方案中,延迟时间可与帧时间相对应。在操作702中,在所述两个或更多个事件中的任何一个被延迟时防止附加帧在串行通信链路上起动。在操作704中,传输与所述两个或更多个事件中的一个相对应的第一事件帧。在一个实施方案中,第一事件在其对应的延迟时间之后具有最高优先级。在操作706中,使优先级低于第一事件帧的事件发生一直保持到其对应延迟时间之后并且没有较高事件挂起。在操作708中,重复传输与最高优先级事件相对应的一个或多个事件帧,直到已为所有所述两个或更多个事件传输了事件帧。
图8是根据本公开的一个实施方案的包括具有串行通信链路的系统控制器、触摸控制器和显示面板的触摸面板系统的框图。
在该系统中,串行总线用于经由单个控制线路817将来自显示控制器816的竖直同步(VS)和水平同步(HS)事件信息分配到所有触摸采集子系统,该控制线路也用于数据/控制传输。作为一个示例,控制线路817可以是USART通道的主T×D,其用于将配置数据发送到源极驱动器IC 834,并且作为回报,在R×D线路上获得表示触摸数据的模数控制(ADC)样本。系统印刷电路板(PCB)810可为例如移动电话、平板电脑或具有支持触摸感测的显示器的任何其他系统。作为一个示例,系统PCB 810可使用柔性印刷电路板826连接到TFT LCD面板830,并且源极驱动器IC 834可使用银环氧树脂安装在玻璃上。对于一些触摸解决方案,触摸采集前端838可被拆分开并在显示源极驱动器IC 834上实现。然后,可将测量结果传输回触摸控制器818,中央处理单元(CPU)812(和可能的数字信号处理(DSP)单元)在此执行后处理操作以对噪声进行滤波并确定例如是否有人用一个或多个手指触摸屏幕或是否发生了某种其他触摸事件。
在该实施方案中,显示控制器816、显示源极驱动器836和栅极驱动器电路832可能完全地不知道触摸系统。显示控制器816经由控制线路817控制屏幕更新。然而,对于触摸系统,可能重要的是将其采集845准确地同步到显示更新817以避免来自源极驱动器834IC和栅极驱动器832IC的噪声。触摸控制器818IC从显示控制器816接收HS/VS信号(即,事件),并且事件插入逻辑820对这些事件进行优先级排序。在一个实施方案中,事件插入逻辑820可实现延迟电路和优先级逻辑的实施方案,诸如延迟电路520和优先级逻辑510(图5)。在一个实施方案中,事件插入逻辑820可实现参考图1A至图3描述的均匀延迟的过程中的一个或多个。然后,触摸控制器818IC的实施方案可将事件转换成“帧”或“包”,之后将这些帧插入到串行流中。在各种实施方案中,串行器824(Tx)将在数据帧823之前发送事件帧821(即,数据帧具有最低优先级)。源极驱动器IC 834中的触摸采集前端838将对串行流进行解串行(解串行器840)并在将HS/VS事件传递到时序和控制采集844级之前恢复/解码HS/VS事件(事件恢复842)。
应当注意,图8是作为根据本公开的实施方案的系统的一个示例来讨论的。本领域普通技术人员应当理解,存在许多其他系统,其中需要传输时序细节或其他事件细节作为相对于在串行通信链路上传输的规则数据的附加“旁侧信息”,并且此类系统可使用本公开的实施方案。
作为使用触摸显示器的事件优先级排序的非限制性示例,针对每个新的图像更新发送VSYNC,而在每个VSYNC之间存在若干HSYNC,表示同一图像内的新的行。优先级排序逻辑确保即使VSYNC和HSYNC同时出现(在一些系统中是这样的情况),VSYNC也应被分配较高优先级并将是优先的。然而,如果HSYNC在VSYNC之前出现一个USART帧,则采样时间中的抖动将确定是两者都被无误地传输(如果首先检测到较低优先级HSYNC)还是首先传输较高优先级VSYNC而在之后发生的事件上有错误标识。在选项A或选项B中,较高优先级VSYNC始终在正确时间传输,但是如果属于先前图像的HSYNC在VSYNC(以及因此新的图像)之后出现,则可能会造成混淆-即使其具有错误标识。HSYNC和VSYNC之间的时序是应用特定的-在一个特定显示器中,它将始终以相同的方式作用,并且这种相同行为应当始终是系统中所期待的。因此,可能存在应当关闭优先级排序(至少针对这两个事件)的应用-从某种意义上来说,如果较低优先级事件(HSYNC)在正在传输较高优先级VSYNC时到达,则会被丢弃。
本说明书中描述的许多功能单元可被描述为编程代码的模块、线程或其他分类,以便更具体地强调它们的实施独立性。模块可至少部分地以一种或另一种形式在硬件中实现。例如,模块可实现为硬件电路,该硬件电路包括定制的VLSI电路或门阵列、现有半导体诸如逻辑芯片、晶体管或其他分立部件。模块也可在可编程硬件设备诸如现场可编程门阵列、可编程阵列逻辑、可编程状态机、可编程逻辑设备等中实现。
模块也可使用存储在物理存储设备(例如,计算机可读存储介质)上、存储器中或其组合以由各种类型的处理器执行的软件来实现。
可执行代码的所识别模块可例如包括计算机指令的一个或多个物理块或逻辑块,这些物理块或逻辑块可例如被组织为线程、对象、过程或功能。然而,所识别模块的可执行文件不需要物理地位于一起,而是可包括存储在不同位置的不同指令,这些指令在被逻辑地结合在一起时包括模块并实现模块的所述目的。
实际上,可执行代码的模块可以是单个指令或许多指令,并且甚至可分布在若干不同的代码段上、不同程序之间以及若干存储装置或存储器设备上。类似地,操作数据在本文中可在模块内被识别和示出,并且能够以任何合适的形式实施并在任何合适类型的数据结构内被组织。操作数据可作为单个数据集收集,或者可分布在不同位置上,包括分布在不同存储设备上,并且可至少部分地仅作为系统或网络上的电子信号存在。在模块或模块的部分在软件中实现的情况下,软件部分存储在一个或多个物理设备上,这些物理设备在本文中被称为计算机可读介质。
在一些实施方案中,软件部分以非暂态状态存储,使得软件部分或其表示在同一物理位置持续一段时间。另外,在一些实施方案中,软件部分存储在一个或多个非暂态存储设备上,这些非暂态存储设备包括能够存储非暂态状态和/或表示软件部分的信号的硬件元件,尽管非暂态存储设备的其他部分可能能够改变和/或传输信号。非暂态存储设备的一个示例包括只读存储器(ROM),该只读存储器可将表示软件部分的信号和/或状态存储一段时间。然而,存储信号和/或状态的能力不会因传输与所存储的信号和/或状态相同或表示所存储的信号和/或状态的信号的其他功能而减弱。例如,处理器可访问ROM以获得表示所存储的信号和/或状态的信号,以便执行对应的软件指令。
虽然本文结合某些图示实施方案描述了本发明,但本领域的普通技术人员将认识到并理解本发明不受此限制。相反,在不脱离下文所要求保护的本发明的范围及其法律等同形式的情况下,可对图示实施方案和所述实施方案进行许多添加、删除和修改。此外,来自一个实施方案的特征可与另一个实施方案的特征组合,同时仍被包括在发明人所设想的本发明的范围内。
本公开的附加非限制性实施方案包括:
实施方案1:一种触摸面板系统,包括:显示系统;触摸采集前端;和触摸控制器,该触摸控制器通过串行通信链路操作地耦合到触摸采集前端,其中该触摸控制器包括通信接口,该通信接口被配置为:接收两个或更多个事件发生并且使所述两个或更多个事件发生延迟与均匀延迟相对应的延迟时间;为所述两个或更多个事件发生确定优先级顺序;在所述两个或更多个延迟电路中的任何一个延迟其对应事件时防止附加帧起动;在其对应延迟时间之后传输与最高优先级事件相对应的事件帧;以及使优先级低于最高优先级事件的事件发生在其对应延迟电路中一直保持到其对应延迟时间之后并且没有较高优先级事件挂起;重复传输与最高优先级事件相对应的事件帧,直到已为所有所述两个或更多个事件发生传输了事件帧;其中事件帧包括指示所传输的帧是事件帧的事件标识符位,以及指示在事件帧中传输的是所述两个或更多个事件发生中的哪个事件的事件位。
实施方案2:根据实施方案1所述的触摸面板系统,其中通信接口包括两个或更多个延迟电路,每个延迟电路被配置用于接收与该延迟电路相对应的事件发生并且使事件发生延迟与帧时间相对应的延迟时间。
实施方案3:根据实施方案1或2中任一项所述的触摸面板系统,其中所述两个或更多个延迟电路中的每一个包括按照等于帧时间中的位数的移位数来使事件发生移位的移位寄存器。
实施方案4:根据实施方案1至3中任一项所述的触摸面板系统,其中所述两个或更多个延迟电路中的每一个包括用于确定延迟时间的计数器。
实施方案5:根据实施方案1至4中任一项所述的触摸面板系统,其中通信接口被配置用于根据选自以下的协议来进行通信:通用异步收发器、通用同步收发器和通用同步/异步收发器。
实施方案6:根据实施方案1至5中任一项所述的触摸面板系统,其中均匀延迟等于帧时间。
实施方案7:根据实施方案1至6中任一项所述的触摸面板系统,其中通信接口被配置为在传输与至少一个较高优先级事件相对应的事件帧时将错误指示插入到与被保持超过其延迟时间的事件相对应的事件帧中。
实施方案8:根据实施方案1至7中任一项所述的触摸面板系统,其中触摸采集前端包括噪声消除电路,该噪声消除电路被配置为响应于通过通信链路接收的事件帧而对噪声进行滤波。
实施方案9:根据实施方案1至8中任一项所述的触摸面板系统,其中噪声消除电路被配置为至少部分地响应于有关与所接收的事件帧相对应的事件和与所接收的事件帧相对应的事件类型的时序信息而对噪声进行滤波。
实施方案10:根据实施方案1至9中任一项所述的触摸面板系统,其中事件类型包括显示系统处的显示更新信号的启动。
实施方案11:根据实施方案1至10中任一项所述的触摸面板系统,其中显示更新信号包括水平同步信号和竖直同步信号。
实施方案12:根据实施方案1至11中任一项所述的触摸面板系统,其中通信接口被配置为丢弃所述两个或更多个事件中的事件。
实施方案13:根据实施方案1至12中任一项所述的触摸面板系统,其中所丢弃的事件对应于在竖直同步事件期间接收的水平同步事件。
实施方案14:根据实施方案1至13中任一项所述的触摸面板系统,其中较高优先级事件对应于竖直同步事件,并且较低优先级事件对应于水平同步事件。
实施方案15:一种串行通信链路接收器,包括:串行接口,该串行接口被配置为接收一个或多个事件帧并且响应于事件恢复逻辑而从所述一个或多个事件帧恢复事件信息,该事件恢复逻辑包括:响应于事件帧接收的实际时间与已知均匀延迟之间的差值而确定与所述一个或多个事件帧中的一个相对应的事件的时序。
实施方案16:一种串行通信链路接收器,包括:串行接口,该串行接口被配置为接收一个或多个事件帧并且响应于事件恢复逻辑而从所述一个或多个事件帧恢复事件信息,该事件恢复逻辑包括:响应于事件帧接收的实际时间与已知均匀延迟之间的差值而确定与所述一个或多个事件帧中的一个相对应的事件的时序;以及响应于所述一个或多个事件帧中编码的错误指示符而验证确定的时序信息。
实施方案17:一种对事件进行优先级排序的方法,包括:延迟两个或更多个事件,每个事件被延迟至少与均匀延迟相对应的延迟时间;以及在所述两个或更多个事件中的任何一个被延迟时防止附加帧在串行通信链路上起动;在其对应延迟时间之后传输与具有最高优先级的所述两个或更多个事件中的一个相对应的事件帧;以及使优先级低于所传输的事件帧的事件一直保持到对应延迟时间之后并且没有较高优先级事件挂起;以及重复传输与最高优先级事件相对应的事件帧,直到已为所有所述两个或更多个事件传输了事件帧;其中事件帧包括指示所传输的帧是事件帧的事件标识符位,以及指示在事件帧中传输的是所述两个或更多个事件中的哪个事件的事件位。
实施方案18:根据实施方案17所述的方法,其中均匀延迟等于帧时间。
实施方案19:根据实施方案17或18中任一项所述的方法,其中延迟所述两个或更多个事件包括通过移位寄存器使每个事件移位达等于均匀延迟中的位数的移位数。
实施方案20:根据实施方案17至19中任一项所述的方法,其中延迟所述两个或更多个事件包括对均匀延迟中的位数进行计数。
实施方案21:根据实施方案17至20中任一项所述的方法,还包括在传输与至少一个较高优先级事件相对应的事件帧时将错误指示插入到与被保持超过其延迟时间的事件相对应的事件帧中。
实施方案22:根据实施方案17至21中任一项所述的方法,还包括:响应于所述两个或更多个事件而断言一个或多个事件指示符;以及响应于所述一个或多个被断言的事件指示符,而在所述一个或多个事件指示符被断言时保持所述两个或更多个事件中的至少一个。
实施方案23:根据实施方案17至22中任一项所述的方法,其中保持所述两个或更多个事件中的所述至少一个包括停止移位寄存器或暂停计数器中的一者或多者。
实施方案24:根据实施方案17至23中任一项所述的方法,还包括响应于所述一个或多个事件指示符而断言未检定的事件指示符。
实施方案25:根据实施方案17至24中任一项所述的方法,还包括:响应于所述两个或更多个事件而解除断言所述一个或多个事件指示符;以及响应于所述一个或多个被解除断言的事件指示符,而在所述一个或多个事件指示符被解除断言时延迟所述两个或更多个事件中的所述至少一个。
实施方案26:根据实施方案17至25中任一项所述的方法,还包括在其延迟时间之后并且响应于没有指示较高优先级事件挂起的被断言的事件指示符,而断言与经检定事件相对应的经检定事件指示符。
实施方案27:根据实施方案17至26中任一项所述的方法,还包括响应于经检定事件指示符而编码与经检定事件相对应的事件帧。
实施方案28:一种串行通信链路发射器,包括:两个或更多个延迟电路,每个延迟电路被配置用于接收与该延迟电路相对应的事件发生并且使事件发生延迟与帧时间相对应的延迟时间;和优先级逻辑,该优先级逻辑被配置用于:为两个或更多个事件发生确定优先级顺序;在所述两个或更多个延迟电路中的任何一个延迟其对应事件时防止附加帧起动;在其对应延迟时间之后传输与最高优先级事件相对应的事件帧;使优先级低于最高优先级事件的事件发生在其对应延迟电路中一直保持到其对应延迟时间之后并且没有较高优先级事件挂起;以及重复传输与最高优先级事件相对应的事件帧,直到已为所有所述两个或更多个事件发生传输了事件帧;其中事件帧包括指示所传输的帧是事件帧的事件标识符位,以及指示在事件帧中传输的是所述两个或更多个事件发生中的哪个事件的事件位。
实施方案29:根据实施方案28所述的串行通信链路发射器,其中所述两个或更多个延迟电路中的每一个包括按照等于帧时间中的位数的移位数来使事件发生移位的移位寄存器。
实施方案30:根据实施方案28或29中任一项所述的串行通信链路发射器,其中所述两个或更多个延迟电路中的每一个包括用于确定延迟时间的计数器。
实施方案31:根据实施方案28至30中任一项所述的串行通信链路发射器,还包括接口,该接口被配置用于根据选自以下的协议来进行通信:通用异步收发器、通用同步收发器和通用同步/异步收发器。
实施方案32:一种串行通信链路发射器,包括:优先级逻辑,该优先级逻辑包括与两个或更多个事件指示符相对应的两个或更多个优先级模块,每个优先级模块包括:按照等于帧时间中的位数的移位数来使事件指示符移位的移位寄存器;在移位寄存器中的任何位被断言时指示挂起事件的逻辑;在较高优先级模块中有挂起事件时使移位寄存器不移位的逻辑;以及在事件已到达移位寄存器的终点且较高优先级模块中没有挂起事件时指示事件准备好传输的逻辑;传输电路,该传输电路被配置用于发送事件帧,其中该传输电路被配置为在事件帧中包括指示传输的是所述两个或更多个事件指示符中的哪个事件的事件位,以及指示所传输的帧是事件帧的事件标识符位。

Claims (16)

1.一种对事件进行优先级排序的方法,包括:
延迟两个或更多个事件的传输,每个事件被延迟至少与均匀延迟相对应的延迟时间;
在所述两个或更多个事件中的任何一个被延迟时防止附加帧在串行通信链路上起动;
在其对应延迟时间之后传输与具有最高优先级的所述两个或更多个事件中的一个相对应的一事件帧;
使优先级低于所传输的所述事件帧的事件一直保持到其对应延迟时间之后并且没有较高优先级事件挂起;以及
重复传输与最高其余优先级事件相对应的诸事件帧,直到已为所有所述两个或更多个事件传输了事件帧;
其中所述事件帧包括指示所传输的帧是事件帧的事件标识符位,以及指示在所述事件帧中传输的是所述两个或更多个事件中的哪个事件的事件位。
2.根据权利要求1所述的方法,其中所述均匀延迟等于帧时间。
3.根据权利要求1所述的方法,其中延迟所述两个或更多个事件包括通过移位寄存器使每个事件移位达等于所述均匀延迟中的位数的移位数。
4.根据权利要求1所述的方法,其中延迟所述两个或更多个事件包括对所述均匀延迟中的位数进行计数。
5.根据权利要求1所述的方法,还包括在传输与至少一个较高优先级事件相对应的事件帧时将错误指示插入到与被保持超过其延迟时间的事件相对应的事件帧中。
6.根据权利要求1所述的方法,还包括:
响应于所述两个或更多个事件而断言一个或多个事件延迟指示符;以及
响应于所述一个或多个被断言的事件指示符,而在所述一个或多个事件指示符被断言时保持所述两个或更多个事件中的至少一个。
7.根据权利要求6所述的方法,其中所述保持所述两个或更多个事件中的至少一个包括停止移位寄存器或暂停计数器中的一者或多者。
8.根据权利要求6所述的方法,还包括响应于所述一个或多个事件指示符而断言未检定的事件指示符。
9.根据权利要求6所述的方法,还包括:
响应于所述两个或更多个事件而解除断言所述一个或多个事件延迟指示符;以及
响应于所述一个或多个被解除断言的事件延迟指示符,而在所述一个或多个事件延迟指示符被解除断言时延迟所述两个或更多个事件中的所述至少一个。
10.根据权利要求1所述的方法,还包括在其延迟时间之后并且响应于没有指示较高优先级事件挂起的被断言的事件指示符,而断言与经检定事件相对应的经检定事件指示符。
11.根据权利要求10所述的方法,还包括响应于所述经检定事件指示符而编码与所述经检定事件相对应的事件帧。
12.一种串行通信链路发射器,包括:
两个或更多个延迟电路,每个延迟电路被配置用于接收与所述延迟电路相对应的事件发生并且使所述事件发生的传输延迟与帧时间相对应的延迟时间;和
优先级逻辑,所述优先级逻辑被配置用于:
为两个或更多个事件发生确定优先级顺序;
在所述两个或更多个延迟电路中的任何一个延迟其对应事件时防止附加帧起动;
在其对应延迟时间之后传输与最高优先级事件相对应的一事件帧;
使优先级低于所述最高优先级事件的事件发生在其对应延迟电路中一直保持到其对应延迟时间之后并且没有较高优先级事件挂起;以及
重复所述传输与最高其余优先级事件相对应的诸事件帧,直到已为所有所述两个或更多个事件发生传输了事件帧;
其中所述事件帧包括指示所传输的帧是事件帧的事件标识符位,以及指示在所述事件帧中传输的是所述两个或更多个事件发生中的哪个事件的事件位。
13.根据权利要求12所述的串行通信链路发射器,其中所述两个或更多个延迟电路中的每一个包括按照等于所述帧时间中的位数的移位数来使所述事件发生移位的移位寄存器。
14.根据权利要求12所述的串行通信链路发射器,其中所述两个或更多个延迟电路中的每一个包括用于确定所述延迟时间的计数器。
15.根据权利要求12所述的串行通信链路发射器,还包括接口,所述接口被配置用于根据选自以下的协议来进行通信:通用异步收发器、通用同步收发器和通用同步/异步收发器。
16.一种串行通信链路发射器,包括:
优先级逻辑,所述优先级逻辑包括与两个或更多个事件指示符相对应的两个或更多个优先级模块,每个优先级模块包括:
移位寄存器,所述移位寄存器按照等于帧时间中的位数的移位数来使所述两个或更多个事件指示符中的事件指示符移位;
逻辑,所述逻辑在所述移位寄存器中的任何位被断言时指示第一挂起事件;
逻辑,所述逻辑在较高优先级模块中有另一个挂起事件时使所述移位寄存器不移位;和
逻辑,所述逻辑在第一挂起事件已到达所述移位寄存器的终点并且较高优先级模块中没有挂起事件时指示所述第一挂起事件准备好传输;以及传输电路,所述传输电路被配置用于发送事件帧,其中所述传输电路被配置为在所述事件帧中包括指示传输的是所述两个或更多个事件指示符中的哪个事件的事件位,以及指示所传输的帧是事件帧的事件标识符位。
CN201880027492.XA 2017-05-05 2018-05-01 用于对串行通信链路上的事件的传输进行优先级排序的设备和方法 Active CN110603523B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762502343P 2017-05-05 2017-05-05
US62/502,343 2017-05-05
PCT/US2018/030497 WO2018204391A1 (en) 2017-05-05 2018-05-01 Devices and methods for prioritizing transmission of events on serial communication links

Publications (2)

Publication Number Publication Date
CN110603523A CN110603523A (zh) 2019-12-20
CN110603523B true CN110603523B (zh) 2023-09-08

Family

ID=62555123

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880027492.XA Active CN110603523B (zh) 2017-05-05 2018-05-01 用于对串行通信链路上的事件的传输进行优先级排序的设备和方法

Country Status (5)

Country Link
US (1) US10572422B2 (zh)
CN (1) CN110603523B (zh)
DE (1) DE112018002331T5 (zh)
TW (1) TW201844056A (zh)
WO (1) WO2018204391A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113438691B (zh) * 2021-05-27 2024-01-05 翱捷科技股份有限公司 一种tas帧的处理方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1615634A (zh) * 2002-08-28 2005-05-11 英特尔公司 用于主机与调制解调器之间通信的系统和方法
US20160147684A1 (en) * 2014-11-26 2016-05-26 Qualcomm Incorporated In-band interrupt time stamp

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621898A (en) 1994-11-29 1997-04-15 Compaq Computer Corporation Arbiter organization for serial bus transfers
US7219176B2 (en) 2002-09-30 2007-05-15 Marvell International Ltd. System and apparatus for early fixed latency subtractive decoding
US7327781B2 (en) 2002-12-17 2008-02-05 Invensys Systems, Inc. Universal intelligent modem
EP1465370B1 (en) 2003-04-05 2013-07-24 Mentor Graphics Corporation Predictable real time data communication on a serial bus
JP3952992B2 (ja) * 2003-06-03 2007-08-01 ソニー株式会社 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
KR100795441B1 (ko) 2003-10-10 2008-01-16 노키아 코포레이션 짧은 대기시간의 인터럽트 및 제어 신호, 핫플러그 에러 검출 및 복구, 그리고 대역폭 할당을 하는 통신 버스
US7417637B1 (en) * 2004-09-01 2008-08-26 Nvidia Corporation Fairly arbitrating between clients
US7800408B2 (en) 2008-09-08 2010-09-21 Microchip Technology Incorporated High speed transient active pull-up I2C
US8291126B2 (en) 2010-03-23 2012-10-16 Spansion Llc Variable read latency on a serial memory bus
US9537488B1 (en) * 2010-05-13 2017-01-03 Altera Corporation Apparatus for configurable interface and associated methods
US8904451B2 (en) 2012-04-13 2014-12-02 Theplatform, Llc Systems for prioritizing video processing events based on availability of media file and agent to process the event type
US8639851B2 (en) 2012-05-02 2014-01-28 Atmel Corporation Serial bit processor
US9054685B2 (en) 2013-04-29 2015-06-09 Atmel Corporation Programmable bus signal hold time without system clock
US9229525B2 (en) 2013-06-17 2016-01-05 Apple Inc. Adaptive latency tolerance for power management of memory bus interfaces
FR3047587B1 (fr) * 2016-02-10 2023-01-13 Dolphin Integration Sa Dispositif de traitement muni d'un mode d'acces a des donnees sensibles.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1615634A (zh) * 2002-08-28 2005-05-11 英特尔公司 用于主机与调制解调器之间通信的系统和方法
US20160147684A1 (en) * 2014-11-26 2016-05-26 Qualcomm Incorporated In-band interrupt time stamp

Also Published As

Publication number Publication date
DE112018002331T5 (de) 2020-01-16
CN110603523A (zh) 2019-12-20
US10572422B2 (en) 2020-02-25
US20180322080A1 (en) 2018-11-08
TW201844056A (zh) 2018-12-16
WO2018204391A1 (en) 2018-11-08

Similar Documents

Publication Publication Date Title
CN110546614B (zh) 在串行通信链路上以均匀延迟传输事件的设备和方法
EP3103021B1 (en) Methods and apparatus for a multiple master bus protocol
US20220045922A1 (en) Slave-to-master data and out-of-sequence acknowledgements on a daisy-chained bus
US20140310436A1 (en) Method and system for single-line inter-integrated circuit (i2c) bus
CN107003958A (zh) 带内中断时间戳
CN103309841A (zh) 用于进行超时监测的方法和系统
JP2008539498A (ja) 単一のi2cデータストリームからの並列i2cスレーブデバイスのプログラミング
KR20080069474A (ko) I2c 컨트롤러에서 직렬 데이터 라인의 상태 변화의타이밍 제어 장치 및 그 제어 방법
US7606956B2 (en) 12C slave device with programmable write-transaction cycles
CN110603523B (zh) 用于对串行通信链路上的事件的传输进行优先级排序的设备和方法
CN114286992A (zh) 菊花链复杂命令
CN103516928A (zh) 控制装置和图像形成设备
Lim UART Architecture
US20160070669A1 (en) Multi-port transmitter device for transmitting at least partly redundant data, an associated control system, an associated method and an associated computer program product
US9395744B2 (en) De-skewing transmitted data
CN109871342B (zh) 自适应连接的串行接口电路及其自适应连接方法
CN107592967B (zh) 控制帧在网络中传输的方法和装置及相关单元和运输工具
CN111124971A (zh) 算术处理装置和算术处理装置的控制方法
WO2017067842A1 (en) Control system for communicating with devices connected to a bus, and communication method
JP5913454B2 (ja) 制御装置、第1制御装置、第2制御装置、画像形成装置
JP2009025975A (ja) 半導体集積回路

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
GR01 Patent grant
GR01 Patent grant