CN101444027B - 用于实施循环冗余校验的系统和方法 - Google Patents

用于实施循环冗余校验的系统和方法 Download PDF

Info

Publication number
CN101444027B
CN101444027B CN2005800468720A CN200580046872A CN101444027B CN 101444027 B CN101444027 B CN 101444027B CN 2005800468720 A CN2005800468720 A CN 2005800468720A CN 200580046872 A CN200580046872 A CN 200580046872A CN 101444027 B CN101444027 B CN 101444027B
Authority
CN
China
Prior art keywords
crc
data
value
error
mddi
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.)
Expired - Fee Related
Application number
CN2005800468720A
Other languages
English (en)
Other versions
CN101444027A (zh
Inventor
布赖恩·斯蒂尔
乔治·A·威利
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=36498488&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN101444027(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Priority to CN201210449348.XA priority Critical patent/CN102983937B/zh
Priority claimed from PCT/US2005/042412 external-priority patent/WO2006058050A2/en
Publication of CN101444027A publication Critical patent/CN101444027A/zh
Application granted granted Critical
Publication of CN101444027B publication Critical patent/CN101444027B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • 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/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/04Distributors combined with modulators or demodulators
    • H04J3/047Distributors with transistors or integrated circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Systems (AREA)
  • Studio Devices (AREA)
  • Communication Control (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Dram (AREA)
  • Telephonic Communication Services (AREA)
  • Stroboscope Apparatuses (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Electronic Switches (AREA)

Abstract

本发明提供用于实施循环冗余校验以改进链路初始化处理并交换系统误差信息的系统和方法。在一个方面,提供循环冗余校验(CRC)校验器,其包含唯一模式检测器、CRC产生器、CRC初始化器和CRC验证器。所述CRC校验器预填充所述CRC产生器以获得唯一模式。当在经由数字传输链路所接收的数据流内接收到所述唯一模式时,所述CRC校验器继续校验CRC而无需对数据进行排队和存储。在另一方面,提供CRC产生器系统,其有意地破坏CRC值以传输系统误差信息。所述CRC产生器系统包含CRC产生器、CRC破坏器、误差检测器和误差值产生器。在一个实例中,所述数字传输链路是MDDI链路。

Description

用于实施循环冗余校验的系统和方法
技术领域
本发明大体上涉及数据通信。更明确地说,本发明涉及使用循环冗余校验的数字传输链路。
背景技术
过去几年中,计算机、移动电话、移动电话相机和视频捕获装置、个人数据助理、电子游戏相关产品和各种视频技术(例如,DVD和高清晰度VCR)已显著进步以提供对分辨率日益变高的静态、视频、视频点播和图形图像的捕获和演示。将这些可视图像与高质量视频数据(例如,CD型声音再现、DVD和具有相关联的音频信号输出的其它装置)组合,从而为最终用户产生更逼真、内容丰富或真实的多媒体体验。另外,已开发出高度可移动的、高质量的声音系统和音乐传送机构(例如,MP3播放器)以便为用户仅提供音频演示。
高质量数据演示的发展迫使需要建立可以高数据速率传递数据的专用接口,使得数据质量不会降级或削弱。一个此类接口是移动显示数字接口(Mobile Display DigitalInterface,MDDI),其用于(例如)在具有相机的蜂窝式电话的下翻盖(lower clamshell)与上翻盖(upper clamshell)之间交换高速数据。MDDI是具有成本效益的、低功率消耗的传递机制,其实现主机与客户端之间经由短程通信链路的甚高速数据传递。MDDI最少只需要四根引线加上用于利用本发明技术可递送最大带宽达每秒3.2吉比特的双向数据传递的功率。
虽然可使用MDDI和其它数据接口来有效地提供接口上的高速数据速率,但越来越多地需要优化性能并更有效地使用数字传输链路(例如,MDDI链路)。
发明内容
本发明提供用于实施循环冗余校验(CRC)以改进链路初始化处理并交换系统误差信息,使得可更有效地使用数字传输链路的系统和方法。在本发明的一个方面,提供CRC校验器,其包含唯一模式检测器、CRC产生器、CRC初始化器和CRC验证器。所述CRC校验器预填充所述CRC产生器以获得唯一模式。因为预填充了所述CRC产生器,所以当在经由数字传输链路所接收的数据流内接收到所述唯一模式时,所述CRC校验器可继续校验CRC而无需对数据进行排队和存储。
在本发明的另一方面,提供CRC产生器系统,其有意破坏CRC值以传输系统误差信息或相关系统误差信息。所述CRC产生器系统包含CRC产生器、CRC破坏器、误差检测器和误差值产生器。所述CRC产生器基于待包含在将经由数字传输链路传输的数据包中的数据来产生CRC值。所述CRC破坏器破坏由所述CRC产生器产生的所述CRC值以传达主机状态信息或相关系统状态信息。所述误差检测器检测主机或相关系统内的误差状况,并为所述CRC破坏器提供用于有意破坏CRC值的指令。
在本发明的又一方面,CRC产生器系统可提供关于所包含的误差类型的特定信息。在此情况下,除了以上元件外,CRC产生器系统还包含误差值产生器,其指令CRC破坏器用特定CRC误差值来代替CRC产生器产生的CRC值,所述特定CRC误差值指示系统误差或状态状况的类型。
在一个实例中,所述数字传输链路是MDDI链路。本发明不限于MDDI链路,且可与使用CRC的任何类型的数字传输链路一起使用。
下文参看附图详细描述本发明的其它实施例、特征和优点,以及本发明各种实施例的结构和操作。
附图说明
参看附图描述本发明。图中,相似参考标号表示相同或功能类似的元件。元件第一次出现的图由相应参考标号中最左数位表示。
图1是耦合到数字装置和外围装置的数字数据装置接口的图。
图2是具有上翻盖部分和下翻盖部分的蜂窝式电话的方框图,所述蜂窝式电话使用MDDI接口来提供高速数据通信。
图3是具有相机的蜂窝式电话的上翻盖的图。
图4A是MDDI主机的图。
图4B是包从MDDI包构造器向MDDI链路流动的图。
图4C是由MDDI包构造器从MDDI链路接收的包的流动的图。
图4D是CRC校验器的图。
图4E是展示CRC的产生的时序图。
图4F是展示CRC的接收的时序图。
图5是子帧标头包格式的图。
图6是视频流包格式的图。
图7是CRC校验器的图。
图8是用于初始化链路的方法的流程图,所述方法涉及预填充CRC产生器。
图9是提供用于有意破坏CRC值的机制的CRC产生器系统的图。
图10是可解译被有意破坏的CRC值的CRC校验器的图。
图11是用于通过有意破坏CRC值而经由数字传输链路传输系统误差信息的方法的流程图。
图12是CRC覆写机构(overwriting mechanism)的图。
图13是CRC覆写方法的流程图。
图14是接收已覆写的CRC值的方法的流程图。
具体实施方式
本说明书揭示并入有本发明的特征的一个或一个以上实施例。所揭示的实施例仅例示本发明。本发明的范围不限于所揭示的实施例。本发明由所附权利要求书界定。
所描述的实施例和说明书中对于“一个实施例”、“实施例”、“示范性实施例”等的参考表示所描述的实施例可包含特定部件、结构或特性,但可能并不一定每个实施例均包含所述特定部件、结构或特性。此外,这些短语不一定是指同一实施例。此外,当结合实施例描述特定部件、结构或特性时,应了解,结合明确或未明确描述的其它实施例来实行此特定部件、结构或特性应在所属领域的技术人员的知识范围内进行。
本发明的实施例可实施在硬件、固件、软件,或其任何组合中。本发明的实施例也可实施为存储在机器可读媒体上的指令,所述指令可由一个或一个以上处理器读取和执行。机器可读媒体可包含用于以可由机器(例如,计算装置)读取的形式存储或传输信息的任何机构。举例来说,机器可读媒体可包含只读存储器(ROM);随机存取存储器(RAM)磁盘存储媒体;光学存储媒体;快闪存储器装置;电、光学、声音或其它形式的传播信号(例如,载波、红外信号、数字信号等)等等。此外,本文中可将固件、软件、例行程序、指令描述为执行某些动作。然而,应了解,这些描述仅出于方便的目的,且这些动作实际上来自计算装置、处理器、控制器或执行所述固件、软件、例行程序、指令等的其它装置。
图1是耦合到数字装置150和外围装置180的数字数据装置接口100的图。数字装置150可包含(但不限于)蜂窝式电话、个人数据助理、智能电话或个人计算机。大体上说,数字装置150可包含充当针对数字指令和处理数字演示数据(digital presentationdata)的处理单元的任何类型的数字装置。数字装置150包含系统控制器160和链路控制器170。
外围装置180可包含(但不限于)相机、条形码读出器、图像扫描仪、音频装置和传感器。大体上说,外围装置180可包含任何类型的音频、视频或图像捕获和显示装置,其中在外围装置与处理单元之间交换数字演示数据。外围装置180包含控制区块190。例如,当外围装置180是相机时,控制区块190可包含(但不限于)镜头控制、闪光或白色LED控制及快门控制。
数字演示数据可包含表示音频、图像和多媒体数据的数字数据。
数字数据接口装置100经由通信链路105以高速率传递数字演示数据。在一个实例中,可使用MDDI通信链路,其支持最大带宽为每秒3.2吉比特的双向数据传递。视通信链路而定,可支持数据传递的高于或低于此示范性速率的其它高速率。数字数据接口装置100包含消息解译器模块110、内容模块120、控制模块130和链路控制器140。
位于数字数据接口100内的链路控制器140和位于数字装置150内的链路控制器170建立通信链路105。链路控制器140和链路控制器170可以是MDDI链路控制器。
视频电子标准协会(“VESA”)MDDI标准(其全文以引用的方式并入本文中)描述允许便携式装置将来自小型便携式装置的数字图像传送到较大的外部显示器的高速数字包接口的要求。MDDI应用微型连接器系统和对于将便携式计算、通信和娱乐装置链接到例如可佩带的微显示器的新兴产品来说比较理想的细挠性电缆。其还包含关于如何简化主机处理器与显示装置之间的连接的信息,以便减少成本并增加这些连接的可靠性。链路控制器140和170基于VESAMDDI标准来建立通信路径105。
2004年7月6日颁予Zou等人的题为“Generating and Implementing a CommunicationProtocol and Interface for High Data Rate Signal Transfer”的第6,760,772号美国专利(′772专利)描述一种数据接口,其使用包结构经由通信路径在主机与客户端之间传递数字数据,其中所述包结构链接在一起以形成针对演示数据的通信协议。′772专利中教示的本发明的实施例针对MDDI接口。链路控制器(例如,链路控制器140和170)使用信号协议,所述链路控制器经配置以产生、传输并接收形成通信协议的包,并将数字数据形成为一种或一种以上类型的数据包,其中至少一种类型的数据包驻存在主机装置中并经由通信路径(例如,通信路径105)耦合到客户端。
所述接口提供经由短程“串行”型数据链路的具有成本效益的、低功率、双向、高速数据传递机制,其适合于与微型连接器和细挠性电缆一起实施。链路控制器140和170的实施例基于′772专利的教示建立通信路径105。′772专利全文以引用的方式并入本文中。
在其它实施例中,链路控制器140和170两者均可以是USB链路控制器,或其两者均可包含控制器的组合,例如,举例来说MDDI链路控制器与另一类型的链路控制器(例如,举例来说USB链路控制器)。或者,链路控制器140和170可包含控制器的组合,例如,MDDI链路控制器与用于在数字数据接口装置100与数字装置150之间交换确认消息的单一链路。链路控制器140和170另外可支持其它类型的接口,例如以太网或RS-232串行端口接口。相关领域的技术人员基于本文的教示将了解可支持额外接口。
在数字数据接口装置100内,消息解译器模块110接收来自系统控制器160的命令,并经由通信链路105向系统控制器160产生响应消息,解译命令消息,且将命令的信息内容路由到数字数据接口装置100内的适当模块。
内容模块120接收来自外围装置180的数据,存储所述数据并将数据经由通信链路105传递到系统控制器160。
控制模块130接收来自消息解译器110的信息,并将信息路由到外围装置180的控制区块190。控制模块130还可接收来自控制区块190的信息,并将信息路由到消息解译器模块110。
图2是具有上翻盖部分和下翻盖部分的蜂窝式电话200的方框图,所述蜂窝式电话200使用MDDI接口来提供位于上翻盖和下翻盖中的组件之间的高速数据通信。以下关于蜂窝式电话200的论述内容提供说明性实例,其进一步展示数字数据接口装置100的实用性并提供关于其实施方案和用途的额外细节。基于本文的论述内容,数字数据接口装置100与其它装置(例如,个人数字助理和其它类型的移动电话)一起使用将是显而易见的且在本发明的精神和范围内。
参看图2,蜂窝式电话200的下翻盖部分202包含移动台调制解调器(MSM)基带芯片204。MSM 204是数字基带控制器。蜂窝式电话200的上翻盖部分214包含液晶显示器(LCD)模块216和相机模块218。下翻盖部分202和上翻盖部分214两者均封闭在塑料中,与通常用于蜂窝式电话的情况一样。铰链250和252以机械方式将下翻盖202连接到上翻盖214。挠性耦合254提供下翻盖202与上翻盖214之间的电耦合。
MDDI链路210将相机模块218连接到MSM 204。通常,为相机模块218和MSM 204的每一者提供MDDI链路控制器。例如,在蜂窝式电话200内,MDDI主机222集成到耦合到相机模块212的接口系统230,而MDDI客户端206驻存在MDDI链路210的MSM侧。通常,MDDI主机是MDDI链路的主控制器。
在蜂窝式电话200中,来自相机模块218的像素数据在传输到MDDI链路210上之前,由接口系统230使用MDDI主机222接收并格式化为MDDI包。MDDI客户端206接收MDDI包并将其再转换为与由相机模块218产生的像素数据相同格式的像素数据。接着将像素数据发送到MSM 204中的适当区块以进行处理。
类似地,MDDI链路212将LCD模块216连接到MSM 204。MDDI链路212将集成到MSM 204中的MDDI主机208与集成到耦合到LCD模块216的接口系统232中的MDDI客户端220互连。由MSM 204的图形控制器产生的显示数据在传输到MDDI链路212上之前,由MDDI主机208接收并格式化为MDDI包。MDDI客户端220接收MDDI包并将其再转换为显示数据,并通过接口系统232处理所述显示数据以供LCD模块216使用。
接口系统230和232表示数字数据装置接口100的不同实施例。在接口系统230的情况下,将实施数字数据装置接口100元件以支持相机图像的数据传递和相机的相机控制功能。在接口系统232的情况下,将实施数字数据装置接口100元件以支持到达LCD的数据显示和对LCD的控制功能。进一步解释接口系统230以说明当用于具有相机的蜂窝式电话(例如,具有相机模块218的蜂窝式电话200)中时数字数据装置接口100的实施例。
图1中的装置与蜂窝式电话200之间的关系如下。数字数据装置接口100由接口系统230表示。链路控制器140由MDDI主机222表示。外围装置180由相机模块218表示。系统控制器160由MSM 204表示,且链路控制器170由MDDI客户端206表示。
图3是上翻盖214的图且提供关于接口系统230的更多细节以突出如在具有相机的蜂窝式电话内使用的数字数据装置接口100的示范性实施例。接口系统230包含MDDI主机222、相机消息解译器302、相机视频接口304、I2C主控器303、马达控制308和闪光/白色LED定时器310。I2C总线是通常使用的控制总线,其提供电路之间的通信链路。I2C总线由Philips Electronics N.V.在20世纪80年代开发。
回想一下,接口系统230对应于数字数据装置接口100。接口系统230的组件以以下方式对应于数字数据装置接口100的组件。相机消息解译器302对应于消息解译器模块110。相机视频接口304对应于内容模块120。I2C主控器303、马达控制308和闪光/白色LED定时器310共同对应于控制模块130。
相机消息解译器302经由MDDI主机222接收命令,并向MSM 204产生响应消息。相机消息解译器302解译消息,且将信息内容路由到接口系统230内的适当区块(其可称为MDDI相机接口装置)。相机视频接口304接收来自相机320的图像数据,存储所述图像数据并将图像数据传递到MDDI主机222。I2C主控器303、马达控制308和闪光/白色LED定时器310共同形成相机控制区块。在此情况下,I2C主控器306提供对相机320的管理的控制,马达控制308提供对镜头322的管理的控制(例如,镜头变焦功能),且闪光/白色LED定时器310提供对闪光/白色LED 324的管理的控制(例如,闪光亮度和持续时间)。
图4A是MDDI主机222的图。MDDI主机222包含微处理器接口410、命令处理器420、寄存器430、直接存储器存取(DMA)接口440、MDDI包构造器450、数据握手模块460和数据垫(data pad)470。微处理器接口410与到达控制MDDI主机222的主机处理器的总线介接。主机处理器使用微处理器接口410来设置寄存器,对寄存器进行读取,并向MDDI主机222发布命令。微处理器接口410查看地址值并将数据传出到MDDI主机222内适当的模块,包含传递对命令处理器420的写入和对寄存器430内寄存器值的读取和写入。
命令处理器420处理从主机处理器接收到的命令。所述命令包含对MDDI链路210断电,对MDDI链路210加电,重置MDDI主机222,和产生某些类型的数据包。
寄存器430存储针对MDDI链路210上数据的传输的寄存器。寄存器430内的寄存器控制MDDI链路210的行为以及MDDI主机222的配置。
DMA接口440向外部存储器提供脉冲请求以从接口系统230接收信息,从而对MDDI包构造器450的数据进行缓冲。DMA接口440分析链路列表节点标头的数据并调节指针以读取实际的包数据。DMA接口440提供关于下一数据包的信息以发出到MDDI包构造器450。
MDDI包构造器450做出关于接下来发送什么包以及构造将需要通过MDDI链路222的物理包的决策。从内部寄存器、计数器和由DMA接口440检索到的数据构造包。当将经由MDDI链路222输出数据时,可从若干来源产生输出的数据。包的第一来源是在MDDI包构造器450内部产生的控制型包。示范性包包含子帧标头包,填充包和链路关闭包。包的另一来源是经由DMA接口440。这些包包含经由链接的列表传递的包。在其它实施例中,视频数据(当外围装置包含视频相机时)可直接传递到MDDI包构造器450。不论包的来源如何,所有包均经由驻存在MDDI包构造器450内的CRC产生器系统处理。
数据握手模块460管理物理MDDI链路210。这是利用负责握手过程、数据输出、往返延迟测量和反向数据的状态机实现的。数据握手模块460接收来自MDDI包构造器450的数据并将数据传出到数据垫470,数据垫470将数据移出到MDDI链路222上。
图4B说明待提供给MDDI链路210的包的流动。如上文所指示,可在内部产生包,从DMA接口440接收包,或者包可以是直接接收的视频包。内部产生的包由控制包产生器452产生。所有类型的包均经由CRC产生器系统454传递到数据握手模块460。数据握手模块460进而将包提供到数据垫470,数据垫470将数据放置在MDDI链路210上。
图4C说明由MDDI包构造器450经由MDDI链路210接收的包的流动。在此情况下,包由数据垫470从MDDI链路210接收,接着传递到数据握手模块460。数据握手模块460将数据传递到MDDI包构造器450内的CRC校验器456。一旦CRC校验器456已验证传入的包的CRC,就将包提供到DMA接口440以便放置在处理器总线上,供在数字数据接口装置100内进行分配。
参看图5和6描述示范性包类型。这些示范性包用于说明本发明,但不希望将本发明仅限于这些类型的包。如下文所述的使用唯一模式的其它包类型和CRC字段可用于本发明。
图5是根据VESAMDDI接口标准的子帧标头包格式500的图。子帧标头包格式500包含包长度字段510、包类型长度字段520、唯一字字段(unique word field)530、子帧标头参数字段540和CRC字段550。包长度字段510包含16位(2个字节)值,其规定包中除包长度字段510以外的字节的总数。包类型字段520包含16位无符号整数,其规定包中所含的信息的类型。唯一字字段530包含唯一的16位字。唯一字字段和包类型字段520两者经辨认以形成32位唯一模式来调整数据。也就是说,当接收包时,MDDI包构造器450可基于所述唯一模式确定MDDI包构造器450正处理数据包的什么部分或字段。子帧标头参数字段540包含用于管理MDDI链路222的控制参数。CRC字段包含16位CRC值。
图6是视频流包格式600的图。视频流包携带视频数据以更新显示器的矩形部分。视频流包格式600包含包长度字段610、包类型字段615、客户端ID字段620、视频格式字段625、像素数据属性字段630、X左边缘字段635、Y顶部边缘字段640、X右边缘字段645、y底部边缘字段650、X开始字段655、Y开始字段660、像素计数字段665、参数CRC字段670、像素数据字段675,和像素数据CRC字段680。
包长度字段610包含16位(2个字节)值,其规定包中除包长度字段610以外的字节的总数。包类型字段620包含2字节无符号整数,其规定包中所含的信息的类型。
字段620到665各自为2字节字段,其含有关于应如何格式化视频显示的参数数据。这些字段的特定定义可查阅VESA MDDI接口标准。参数CRC字段670是两字节字段,其含有通过处理字段610到665中的参数数据而产生的CRC值。
像素数据字段675包含至多为包和像素计数字段的大小所允许的数量的任何数量的像素数据。像素CRC字段680是两字节字段,其含有通过处理像素数据字段675内的像素数据而产生的CRC值。
经由MDDI链路210发送的每个包将包含至少一个CRC字段,例如子帧标头包格式500内的CRC字段550。在一些较长的包中,包将包含两个CRC字段,例如视频流包格式600内的参数CRC字段670和像素CRC字段680。
CRC从较大数据区块(例如,网络通信量包或计算机文件区块)中产生较小数目的位,以便检测传输或存储过程中的误差。将CRC计算为待发送的数据的函数,并在传输或存储之前进行附加(例如,与CRC字段550),并随后进行验证以确认未发生变化。
通过将包数据推送经过CRC产生器(例如,CRC产生器系统454)以产生与所述包数据相关联的唯一CRC值来计算CRC。CRC校验器(例如,CRC校验器456)基于所接收的数据产生接收的数据CRC值。接着将接收的数据CRC值与发送的CRC值进行比较。如果两者匹配,那么认为数据是有效数据,否则就是产生了CRC误差。
CRC较普遍,因为其易于实施在二进制硬件中,易于以算术方式进行分析,且尤其擅长检测由传输信道中的噪声引起的一般误差。相关领域的技术人员将了解CRC产生器的特定实施方案。
如图5和6所说明,CRC字段出现在包的末尾(例如,CRC字段512和像素数据CRC字段680)且有时在包中某些较关键的参数之后,所述参数可能具有相当大的数据字段(例如,参数CRC字段670),且因此传递期间误差的可能性增加。在具有两个CRC字段的包中,CRC产生器(当仅使用一个时)在第一CRC之后被重新初始化,使得长数据字段之后的CRC计算不会受到包开始处的参数影响。
含有多个位误差的包产生较好CRC的可能性极小。在含有许多误差的非常长的包上,在具有误差的包上检测到较好CRC的可能性接近7.6×10-6。通过设计,MDDI链路将具有非常低的误差率或零误差率。希望使用CRC来监视链路的健康状态而不希望检测特定包上的误差来确定是否应重新传输包。
在示范性实施例中,已知用于CRC计算的多项式为CRC-16或X16+X15+X2+X0。图4D展示可用于实施本发明的CRC产生器454和CRC校验器456的示范性实施方案。图4D中,就在传递在Tx_MDDI_Data_Before_CRC线上输入的包的第一位之前将CRC寄存器471初始化为值0x0001,接着将包的字节移位到寄存器(首先以LSB开始)中。请注意,此图中寄存器位编号对应于所使用的多项式的阶数,而不是由MDDI使用的位位置。较有效的是在单一方向上移位CRC寄存器,且这导致CRC位15出现在MDDI CRC字段的位位置0处,且CRC寄存器位14出现在MDDI CRC字段位位置1处等等,且直到到达MDDI位位置14为止。
举例来说,如果包内容是0x000c、0x0046、0x000、0x0400、0x00、0x00、0x0000(或表示为字节序列:0x0c、0x00、0x46、0x00、0x00、0x00、0x00、0x04、0x00、0x00、0x00、0x00)且使用多路复用器472和473以及AND门474的输入进行提交,那么Tx_MDDI_Data_With_CRC线上的所得CRC输出为0xd9aa(或表示为序列,如0xaa、0xd9)。
当CRC产生器454和CRC校验器456配置为CRC校验器时,将在Rx_MDDI_Data线上接收到的CRC输入到多路复用器472和异或(XOR)门476,且使用NOR门475、AND门474和AND门477将其逐位地与CRC寄存器中建立的值进行比较。如果存在任何误差(如由AND门477输出的),那么通过将门477的输出连接到寄存器471的输入,针对含有CRC误差的每个包递增CRC一次。请注意,图4D的图表中所示的示范性电路可在给定的CHECK_CRC_NOW窗口内输出一个以上CRC误差信号(见图4E)。因此,CRC误差计数器通常仅对其中CHECK_CRC_NOW为活动的每一间隔内的第一CRC误差实例进行计数。如果配置为CRC产生器,那么在与包结束一致的时间将CRC从CRC寄存器中时钟输出。
图4E和4F以图形说明输入和输出信号以及启用信号的时序。图4E展示CRC的产生和数据包的传输,其中状态(0或1)为Gen_Reset、Check_CRC_Now、Generate_CRC_Now和Sending_MDDI_Data信号,以及Tx_MDDI_Data_Before_CRC和Tx_MDDI_Data_With_CRC信号。图4F展示接收数据包和校验CRC值,其中状态为Gen_Reset、Check_CRC_Now、Generate_CRC_Now和Sending_MDDI_Data信号,以及Rx_MDDI_Data和CRC误差信号。
包内存在CRC带来操作上的困难,且也提供了更有效地利用MDDI链路210的各种机会。虽然论述内容集中于在MDDI链路210的情境下CRC的用途,但本发明不限于MDDI情境。本发明可应用于使用CRC的任何类型的数字数据传输链路。
与CRC的使用相关联的一个难题涉及链路初始化。当链路启动时,子帧标头包(例如,子帧标头包500)将由MDDI主机222发送到MDDI客户端206。当链路初始化时,CRC校验器456通常将不会知道数据流内数据的对准。也就是说,其不会知道(例如)其正在处理唯一字字段530还是CRC字段550内的数据。因此,CRC校验器456将需要继续将数据排队到存储器中,直到其辨认出其在数据流内何处为止。这导致效率较低且需要使用较多存储器和芯片面积来对数据进行排队和存储。在不知道在数据流内的精确位置的情况下,CRC校验器456将不能够产生可与所接收的CRC进行比较的CRC来使所接收的数据生效。
图7是解决这些难题的CRC校验器456的图。CRC校验器456包含唯一模式检测器710、CRC产生器720、CRC初始化器730和CRC验证器740。唯一模式检测器710检测传入的数据流内的唯一模式以识别数据流中的特定点。CRC产生器720是用于产生与所接收的数据相关联的CRC值的标准CRC产生器。CRC初始化器730从CRC产生器720抽取与唯一模式和包长度相关联的数据值。CRC验证器740基于所接收的数据将所接收的CRC值与由CRC产生器720产生的CRC值进行比较以使数据生效。
图8是用于初始化链路的方法800的流程图,其例证如图7描绘的CRC校验器456的用途。在一种方法中,假定子帧标头的包长度始终相同,且将预先计算的值载入CRC校验器中,所述预先计算的值是基于包长度、包类型和唯一字的部分CRC。一种替代方法支持包长度可变的情形。在此情形下,可经由预计算器抽取包长度以及唯一模式来产生一值,接着在已接收到唯一模式的时间点将所述值放置在CRC校验器中。
方法800开始于步骤810。在步骤810中,接收初始化或唤醒传输链路的请求。举例来说,MDDI客户端206可从MDDI主机222接收初始化或唤醒MDDI链路210的请求。在MDDI客户端206内,CRC校验器456将通过此链路唤醒请求而初始化。明确地说,CRC初始化器730将通过所述请求而进行初始化。
在步骤820中,向CRC产生器预先组装与唯一模式和包长度字段510相关联的数据值,使得可由CRC产生器产生与唯一模式和包长度字段相关联的CRC值。如上文所指示,在一个实施例中,假定包长度字段是固定的。举例来说,CRC初始化器730可将唯一模式和包长度字段提供到CRC产生器720。在MDDI的情况下,唯一模式是与包含在包类型字段520和唯一字字段530内的数据相关联的数据值。当唤醒链路时这些字段的值将已知为先验的。因此,CRC初始化器730可将其存储并处于一位置,以能够在接收到唤醒链路请求时将其提供到CRC产生器730。在替代方法中,不是将数据值提供到CRC产生器,而是可向CRC校验器预加载预先计算的CRC值,如果唯一模式和包长度字段已被提供到CRC产生器则会由所述CRC产生器产生所述预先计算的CRC值。
在步骤830中,禁用CRC产生器(例如,CRC产生器720)。禁用产生器以便不处理更多数据(这会改变CRC值),直到接收到唯一模式和包长度字段为止。
在步骤840中,监视传入的数据以检查唯一数据模式的接收。举例来说,唯一模式检测器710监视从MDDI链路210接收的数据。
在步骤850中,确定已接收到唯一模式。举例来说,唯一模式检测器710确定已接收到包长度字段510、包类型字段520和唯一字字段530。
在步骤860中,启用CRC产生器。当被启用时,CRC产生器720将以使用预加载的唯一模式产生的现有CRC值为基础。因此,CRC产生器720立即与数据对准,且无需在存储器中对数据进行排队或存储。当接收到CRC字段550中包含的CRC值时,CRC验证器740可将CRC字段550内的值与由CRC产生器720产生的值进行比较以确定是否存在CRC误差。在步骤870中,方法800结束。
通常,使用CRC值来确定传输期间传输链路上的问题是否破坏了数据。在本发明的另一方面,使用CRC值来传达与系统误差和状态有关的信息。以此方式,消息内的CRC字段可更有效地用于支持对传输链路问题以及系统状态或误差信息的识别。
在本发明的一个实施例中,CRC字段数据被破坏简单地指示传输数据的系统存在故障,且因此所接收的数据可能存在问题。举例来说,在一些情况下,经由MDDI链路210传出的数据将被破坏,因为传入MDDI包构造器450中的数据未被足够快地接收。即使可用于包的数据不充分,MDDI规范还是规定仍应发送包。因此,即使发送了包,数据还是可能无效或在某一方面不充分。
在此情况下,可有意破坏CRC值(例如参数CRC 670或像素数据CRC 680),使得MDDI客户端206可辨认出发生了某一故障而削弱了所传输的包的整体性。在MDDI规范内,存在一种告知MDDI客户端206所述数据存在问题的方式。或者,将需要发送另一消息,其跟随含有误差的包,实际上指示:“我所发送的上一个包有缺陷”。
当MDDI客户端206接收CRC值已受到有意破坏的包时,其决定如何处理所述包。可形成算法来检测并确定如何处理具有受到有意破坏的CRC值的包。对于某些类型的包,MDDI客户端206可简单地记录CRC误差并继续使用数据。然而在其它情形下,MDDI客户端206可丢弃所接收的包并请求新的包。
举例来说,在视频包(例如,视频流包600)内,如果像素数据CRC值680受到有意破坏,那么MDDI客户端220将不会通知MDDI客户端220外部的逻辑:包受到破坏。在此情况下,所接收的数据可在提供任何种类的误差通知之前被缓冲。没有足够的存储器来缓冲可能的所有的视频数据(即,所有待显示的像素数据)。因此,一接收到像素数据,就将其提供到显示器。因此,如果视频信息中某处存在CRC误差,那么阻止使用所述视频信息已经太迟。在此情况下,所做的只是记录已发生了问题。概括地说,如果受到有意破坏的CRC误差发生在像素数据中而不是参数数据中,那么MDDI客户端简单地将CRC误差记录在误差计数器中,但仍使用后续的像素数据。另一方面,如果参数CRC值受到有意破坏,那么MDDI客户端将不会使用像素数据。
图9是提供用于有意破坏CRC值的机制的循环冗余产生器系统454的图。循环冗余产生器系统454包含CRC产生器910、CRC破坏器920、误差检测器930和误差值产生器940。
CRC产生器910基于待包含在将经由数字传输链路(例如(但不限于)MDDI链路210)传输的数据包中的数据产生CRC值。
CRC破坏器920破坏由CRC产生器910产生的CRC值以传达主机或远程系统状态信息。举例来说,如果接口系统230不能将数据足够快地提供到MDDI主机222以适当地填充MDDI包,那么CRC破坏器920有意破坏待发送的包的CRC值。
误差检测器930检测主机系统(例如,或者是MDDI主机222)内的误差状况,或基于从接口系统230接收的信息而接收误差状况信息,并为CRC破坏器920提供有意破坏CRC值的指令。在一个实施例中,误差检测器930仅检测到出现了故障,但不确定特定的误差状况。在另一实施例中,误差检测器930确定特定类型的误差状况。在后一实施例中,误差检测器930将误差的性质传达到误差值产生器940。误差值产生器940指令CRC破坏器940用指示系统误差或状态状况的类型的特定值代替由CRC产生器910产生的CRC值。
当破坏CRC值时,必须选择算法以确保有意破坏不会产生可能对应于有效数据且因此将不会由CRC校验器在传输链路的接收端作为唯一CRC值而接收的CRC值。一种可能的算法将是,识别那些不会由有效数据产生的CRC值,并使用那些值作为用于有意破坏CRC值的唯一值。基于本文的教示,相关领域的技术人员将确定包含在本发明的精神和范围内的其它算法。
图10是CRC校验器456的图,所述CRC校验器456可解译来自CRC产生器系统454的被有意破坏的CRC值。CRC校验器456包含CRC误差值检测器1010、CRC产生器1020和CRC验证器1030。CRC误差值检测器1010检测经由数字传输链路接收的数据包的CRC字段内的值。CRC误差值检测器1010识别CRC值何时对应于识别系统误差状况的受到有意破坏的CRC值。当识别出对应于系统误差状况的CRC值时,CRC误差值检测器1010通知所述接收客户端(例如,MDDI客户端206)的主机处理器。主机处理器接着将基于检测到的误差的类型而采取行动。CRC产生器1020基于所接收的数据流产生CRC值。CRC验证器1030检测基于所接收的数据流产生的CRC值与所接收的数据流内发送的CRC值之间的差异。CRC产生器1020和CRC验证器1030以相关领域的技术人员将了解的传统方式操作。
图11是用于通过有意破坏CRC值而在数字传输链路上传输系统误差信息的方法1100的流程图。方法1100开始于步骤1110。在步骤1110中,检测主机系统或相关系统内的误差。举例来说,误差检测器930检测MDDI主机222或接口系统230内的误差。在步骤1120中,产生CRC值。举例来说,CRC产生器910产生与待发送的包相关联的数据的CRC值。在步骤1130中,破坏CRC值。举例来说,误差检测器930指令CRC破坏器920破坏CRC值。在步骤1140中,方法1100结束。请注意,虽然已参照涉及MDDI的系统描述了方法1100,但方法1100适用于其中使用CRC的任何数字传输系统。
在本发明内,也可使用CRC字段来传输误差代码信息以表示误差的类型。每当在主机与客户端之间仅传递数据包和CRC时,就不提供误差代码。仅有的误差是同步的损失。否则,必须等待链路由于缺乏良好的数据传递路径或管线而超时,且接着重置链路并继续下去。不幸的是,这样做耗时且在某种程度上说效率低下。
已开发出一种新的技术以用于一个实施例中,在所述技术中,使用包的CRC部分来传递误差代码信息。也就是说,由所述处理器或处理数据传递的装置产生一个或一个以上误差代码,其指示通信处理或链路内可能发生的特定的预定义的误差或缺陷。当遭遇误差时,产生适当的误差代码并使用包的CRC的位传递所述误差代码。也就是说,用所需的误差代码使CRC值过载或被覆写,这可在接收端由监视CRC字段值的误差监视器或校验器检测到。对于其中误差代码由于某一原因与CRC值匹配的那些情况,传递所述误差的补码(compliment)以防止混淆。
在一个实施例中,为了提供稳固的误差警告和检测系统,可使用一系列包将误差代码传递若干次,所述一系列包通常是在已检测到误差之后传递或发送的所有包。误差代码的传递一直发生,直到产生误差的条件被从系统中清除的时间点为止,在该时间点有规则的CRC位在不通过另一值过载的情况下传递。
这种使CRC值过载的技术提供对于系统误差的更快速的响应,同时使用最少量的额外位或字段。
如图12所示,展示使用误差检测器或检测装置1202(例如,误差检测器930)的CRC覆写机构或设备1200,其可形成先前描述或已知的其它电路的一部分,检测通信链路或过程内误差的出现或存在。可形成为其它电路的一部分或使用例如查找表的技术来存储预选的误差消息的误差代码产生器或装置1204(例如,误差值产生器940)产生一个或一个以上误差代码以指示已检测为发生的特定的预定义的误差或缺陷。易了解,装置1202和1204可视需要形成为单个电路或装置,或形成为其它已知处理器和元件的已拟订的步骤序列的一部分。
展示CRC值比较器或比较装置1206(例如,CRC验证器1030)用于校验以确定所述选定的误差代码或多个选定的误差代码是否与正传递的CRC值相同。如果情况是这样,那么使用代码补码产生器或产生装置来提供误差代码的补码,以使得不会被误认为是原始CRC模式或值,且不会混淆检测方案或使检测方案变复杂。误差代码选择器或选择装置元件或装置1210接着选择其希望插入或覆写的误差代码或值,或视需要选择其各自的补码。误差代码CRC覆写器或覆写机构或装置1212(例如,CRC破坏器920)是接收数据流、包和待插入的所需代码并覆写相应的或适当的CRC值,以便将所需的误差代码传递到接收装置的装置。
如所提及,误差代码可使用一系列包而传递若干次,因此覆写器1212可利用存储器存储元件以便在处理期间维持代码的副本,或从可用于视需要或按要求地存储或保存其值的先前元件或其它已知的存储位置调用这些代码。
图13和14中额外详细地展示图12的覆写机构正实施的大体处理。图13中,在步骤1302中,在通信数据或过程中检测一个或一个以上误差,且在步骤1304中,选择误差代码以指示此状况。同时,或在适当的时间点,在步骤1306中校验待替代的CRC值,且在步骤1308中将其与所需的误差代码进行比较。如之前所论述,此比较结果是关于所需的代码或其它代表值是否将与存在的CRC值相同的判定。如果情况是这样,那么处理过程继续到步骤1312,在步骤1312处,选择补码(或视需要,在一些情况下为另一代表值)作为要插入的代码。一旦在步骤1310和1314中已确定要插入什么误差代码或值,就选择所述适当的代码进行插入。出于清楚的目的将这些步骤说明为单独的,但其通常表示基于步骤1308决策的输出而作出的单一选择。最后,在步骤1316中,在CRC位置覆写适当的值以供与作为过程的目标的包一起传递。
在包接收侧,如图14所示,在步骤1422中监视包CRC值。通常,CRC值由系统内一个或一个以上过程监视以确定数据传递中是否已发生误差,以及是请求一个包或多个包的重新传输,还是抑制进一步的操作等等,其中一些上文进行了论述。作为这种监视的一部分,也可使用所述信息将值与已知或预选的误差代码或代表值进行比较,并检测误差的存在。或者,可实施单独的误差检测过程和监视。如果似乎存在代码,那么在步骤1424中提取或以另外的方式记录所述代码以进行进一步处理。在步骤1426中可确定其是实际的代码还是补码,在补码的情况下,可使用额外步骤1428将所述值翻译为所需的代码值。在任一情况下,接着使用所得的所提取的代码、补码或其它恢复的值在步骤1430中检测所传输的代码中已出现什么误差。
结论
已提供本发明的示范性实施例。本发明不限于这些实例。本文提供这些实例是出于说明的目的而不是限制的目的。相关领域的技术人员基于本文包含的教示将了解替代形式(包含本文描述的内容的等效物、延伸物、变化形式、偏差形式等)。这些替代形式在本发明的范围和精神内。
本说明书中提及的所有公开案、专利和专利申请案表明本发明所属领域的技术人员的技术水平,且以引用的方式并入本文中,达到如同表明每一个别公开案、专利或专利申请案均明确且个别地以引用的方式并入的程度。

Claims (9)

1.一种循环冗余校验(CRC)校验器,其包括:
唯一模式检测器,其检测经由数字传输链路接收到的数据流内的唯一模式,其中,所述唯一模式是由子帧标头包中的唯一字字段和包类型字段形成的;
CRC产生器,其基于所述接收到的数据流在检测出所述唯一模式后产生CRC值;
CRC初始化器,其中,在链路初始化时给所述CRC产生器预填充与所述唯一模式及所述子帧标头包的包长度相关联的数据值;以及
CRC检验器,其检测基于所接收的数据流产生的CRC值与所述接收的数据流内发送的CRC值之间的差异。
2.根据权利要求1所述的CRC校验器,所述根据权利要求1所述的CRC校验器,其中所述数字传输链路是MDDI传输链路。
3.根据权利要求1所述的CRC校验器,其中所述唯一模式还包括所述子帧标头包内的包长度。
4.根据权利要求1所述的CRC校验器,其中,所述CRC产生器基于待包含在将经由数字传输链路传输的数据包中的数据来产生CRC值;
CRC破坏器,其破坏由所述CRC产生器产生的CRC值,以传达主机状态信息或相关系统状态信息;
误差检测器,其检测主机系统内的误差状况,并为所述CRC破坏器提供有意破坏CRC值的指令。
5.根据权利要求4所述的CRC校验器,其中,所述CRC产生器还包括误差值产生器,所述误差值产生器指令所述CRC破坏器用指示系统误差或状态状况的类型的CRC误差值来代替由所述CRC产生器产生的CRC值。
6.根据权利要求1所述的CRC校验器,其中,所述CRC校验器还包括:
CRC误差值检测器,其检测经由数字传输链路接收的数据包的CRC字段内的CRC误差值,其中所述CRC误差值与识别系统误差状况的有意破坏的CRC值相对应;
循环冗余校验(CRC)产生器,其基于所接收的数据流产生CRC值;
7.一种用于初始化数字传输链路的方法,其包括:
(a)接收初始化所述数字传输链路的请求;
(b)给CRC产生器预填充与唯一模式及子帧标头包的包长度相关联的CRC值,其中,所述唯一模式是由所述子帧标头包内的唯一字字段和包类型字段形成的;
(c)禁用所述CRC产生器;
(d)监视传入的数据流以检测所述唯一模式;以及
(e)当检测到所述唯一数据模式时,启用所述CRC产生器。
8.根据权利要求7所述的方法,其中所述数字传输链路是MDDI传输链路。
9.根据权利要求7所述的方法,其中所述唯一模式还包括所述子帧标头包的包长度。
CN2005800468720A 2004-11-24 2005-11-23 用于实施循环冗余校验的系统和方法 Expired - Fee Related CN101444027B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210449348.XA CN102983937B (zh) 2004-11-24 2005-11-23 用于实施循环冗余校验的系统和方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US63085304P 2004-11-24 2004-11-24
US60/630,853 2004-11-24
US63282504P 2004-12-02 2004-12-02
US60/632,825 2004-12-02
PCT/US2005/042412 WO2006058050A2 (en) 2004-11-24 2005-11-23 Systems and methods for implementing cyclic redundancy checks

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN2010102939177A Division CN101931503B (zh) 2004-11-24 2005-11-23 用于实施循环冗余校验的系统和方法
CN201210449348.XA Division CN102983937B (zh) 2004-11-24 2005-11-23 用于实施循环冗余校验的系统和方法

Publications (2)

Publication Number Publication Date
CN101444027A CN101444027A (zh) 2009-05-27
CN101444027B true CN101444027B (zh) 2013-03-20

Family

ID=36498488

Family Applications (8)

Application Number Title Priority Date Filing Date
CN2005800469193A Expired - Fee Related CN101103532B (zh) 2004-11-24 2005-11-23 双倍数据速率串行编码器及系统
CN2005800468646A Expired - Fee Related CN101103326B (zh) 2004-11-24 2005-11-23 用于在通信链路上同步执行命令的方法
CN2010105920882A Expired - Fee Related CN102045157B (zh) 2004-11-24 2005-11-23 用于更新缓冲器的方法和系统
CN2005800468650A Expired - Fee Related CN101103569B (zh) 2004-11-24 2005-11-23 用于传递数据的数字数据接口装置和方法
CN200580046931.4A Expired - Fee Related CN101103543B (zh) 2004-11-24 2005-11-23 数字数据接口装置
CN2005800468665A Expired - Fee Related CN101103568B (zh) 2004-11-24 2005-11-23 调节包的传输速率和大小的方法以及传递包的系统
CN2005800471884A Expired - Fee Related CN101449255B (zh) 2004-11-24 2005-11-23 用于更新缓冲器的方法和系统
CN2005800468720A Expired - Fee Related CN101444027B (zh) 2004-11-24 2005-11-23 用于实施循环冗余校验的系统和方法

Family Applications Before (7)

Application Number Title Priority Date Filing Date
CN2005800469193A Expired - Fee Related CN101103532B (zh) 2004-11-24 2005-11-23 双倍数据速率串行编码器及系统
CN2005800468646A Expired - Fee Related CN101103326B (zh) 2004-11-24 2005-11-23 用于在通信链路上同步执行命令的方法
CN2010105920882A Expired - Fee Related CN102045157B (zh) 2004-11-24 2005-11-23 用于更新缓冲器的方法和系统
CN2005800468650A Expired - Fee Related CN101103569B (zh) 2004-11-24 2005-11-23 用于传递数据的数字数据接口装置和方法
CN200580046931.4A Expired - Fee Related CN101103543B (zh) 2004-11-24 2005-11-23 数字数据接口装置
CN2005800468665A Expired - Fee Related CN101103568B (zh) 2004-11-24 2005-11-23 调节包的传输速率和大小的方法以及传递包的系统
CN2005800471884A Expired - Fee Related CN101449255B (zh) 2004-11-24 2005-11-23 用于更新缓冲器的方法和系统

Country Status (9)

Country Link
EP (5) EP2503719A3 (zh)
JP (9) JP4669008B2 (zh)
KR (3) KR100898078B1 (zh)
CN (8) CN101103532B (zh)
AU (4) AU2005309686B2 (zh)
BR (1) BRPI0518262B1 (zh)
CA (4) CA2588702C (zh)
IL (3) IL183412A0 (zh)
WO (3) WO2006058052A2 (zh)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6760772B2 (en) 2000-12-15 2004-07-06 Qualcomm, Inc. Generating and implementing a communication protocol and interface for high data rate signal transfer
US8812706B1 (en) 2001-09-06 2014-08-19 Qualcomm Incorporated Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system
ATE509459T1 (de) 2003-06-02 2011-05-15 Qualcomm Inc Erzeugung und umsetzung eines signalprotokolls und schnittstelle für höhere datenraten
US8705571B2 (en) 2003-08-13 2014-04-22 Qualcomm Incorporated Signal interface for higher data rates
CA2538308C (en) 2003-09-10 2013-05-14 Qualcomm Incorporated High data rate interface
JP2007509533A (ja) 2003-10-15 2007-04-12 クゥアルコム・インコーポレイテッド 高速データレートインタフェース
AU2004307162A1 (en) 2003-10-29 2005-05-12 Qualcomm Incorporated High data rate interface
KR20060108709A (ko) 2003-11-12 2006-10-18 콸콤 인코포레이티드 향상된 링크 제어를 제공하는 고속 데이터 레이트인터페이스
EP2247068B1 (en) 2003-12-08 2013-09-25 Qualcomm Incorporated High data rate interface with improved link synchronization
EP2309695A1 (en) 2004-03-10 2011-04-13 Qualcomm Incorporated High data rate interface apparatus and method
KR20060130749A (ko) 2004-03-17 2006-12-19 퀄컴 인코포레이티드 고 데이터 레이트 인터페이스 장치 및 방법
US8650304B2 (en) 2004-06-04 2014-02-11 Qualcomm Incorporated Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system
ATE518343T1 (de) 2004-06-04 2011-08-15 Qualcomm Inc Schnittstellenvorrichtung und -verfahren für hohe datenraten
US8873584B2 (en) 2004-11-24 2014-10-28 Qualcomm Incorporated Digital data interface device
US8723705B2 (en) 2004-11-24 2014-05-13 Qualcomm Incorporated Low output skew double data rate serial encoder
US8699330B2 (en) 2004-11-24 2014-04-15 Qualcomm Incorporated Systems and methods for digital data transmission rate control
US8692838B2 (en) 2004-11-24 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
KR100930270B1 (ko) * 2004-11-24 2009-12-09 콸콤 인코포레이티드 디지털 데이터 인터페이스 디바이스 메시지 포맷을 가지는 메시지 데이터가 저장된 컴퓨터-판독가능한 매체 및 그 디지털 데이터 인터페이스 디바이스
US8667363B2 (en) 2004-11-24 2014-03-04 Qualcomm Incorporated Systems and methods for implementing cyclic redundancy checks
US8539119B2 (en) 2004-11-24 2013-09-17 Qualcomm Incorporated Methods and apparatus for exchanging messages having a digital data interface device message format
US8692839B2 (en) 2005-11-23 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US8730069B2 (en) 2005-11-23 2014-05-20 Qualcomm Incorporated Double data rate serial encoder
KR100875839B1 (ko) 2007-04-19 2008-12-24 주식회사 코아로직 영상 찢김의 방지가 가능한 영상 출력 장치 및 방법
US8223796B2 (en) * 2008-06-18 2012-07-17 Ati Technologies Ulc Graphics multi-media IC and method of its operation
US8994877B2 (en) 2008-07-30 2015-03-31 Semiconductor Components Industries, Llc Method and system for synchronizing a flash to an imager
EP2449550B1 (en) 2009-06-30 2020-03-25 Nokia Technologies Oy Method and apparatus for providing mobile device interoperability
US8823719B2 (en) * 2010-05-13 2014-09-02 Mediatek Inc. Graphics processing method applied to a plurality of buffers and graphics processing apparatus thereof
US8488055B2 (en) 2010-09-30 2013-07-16 Apple Inc. Flash synchronization using image sensor interface timing signal
US8917336B2 (en) 2012-05-31 2014-12-23 Apple Inc. Image signal processing involving geometric distortion correction
US9014504B2 (en) 2012-05-31 2015-04-21 Apple Inc. Systems and methods for highlight recovery in an image signal processor
US9142012B2 (en) 2012-05-31 2015-09-22 Apple Inc. Systems and methods for chroma noise reduction
US9332239B2 (en) 2012-05-31 2016-05-03 Apple Inc. Systems and methods for RGB image processing
US9743057B2 (en) 2012-05-31 2017-08-22 Apple Inc. Systems and methods for lens shading correction
US9105078B2 (en) 2012-05-31 2015-08-11 Apple Inc. Systems and methods for local tone mapping
US8817120B2 (en) 2012-05-31 2014-08-26 Apple Inc. Systems and methods for collecting fixed pattern noise statistics of image data
US9025867B2 (en) 2012-05-31 2015-05-05 Apple Inc. Systems and methods for YCC image processing
US11089247B2 (en) 2012-05-31 2021-08-10 Apple Inc. Systems and method for reducing fixed pattern noise in image data
US9077943B2 (en) 2012-05-31 2015-07-07 Apple Inc. Local image statistics collection
US8953882B2 (en) 2012-05-31 2015-02-10 Apple Inc. Systems and methods for determining noise statistics of image data
US9031319B2 (en) 2012-05-31 2015-05-12 Apple Inc. Systems and methods for luma sharpening
US8872946B2 (en) 2012-05-31 2014-10-28 Apple Inc. Systems and methods for raw image processing
JP2014052552A (ja) 2012-09-07 2014-03-20 Sharp Corp メモリ制御装置、携帯端末、メモリ制御プログラムおよびコンピュータ読み取り可能な記録媒体
JP2014052902A (ja) 2012-09-07 2014-03-20 Sharp Corp メモリ制御装置、携帯端末、メモリ制御プログラムおよびコンピュータ読み取り可能な記録媒体
JP2014052548A (ja) 2012-09-07 2014-03-20 Sharp Corp メモリ制御装置、携帯端末、メモリ制御プログラムおよびコンピュータ読み取り可能な記録媒体
JP2014052551A (ja) 2012-09-07 2014-03-20 Sharp Corp メモリ制御装置、携帯端末、メモリ制御プログラムおよびコンピュータ読み取り可能な記録媒体
JP6199070B2 (ja) 2013-04-26 2017-09-20 シャープ株式会社 メモリ制御装置、および携帯端末
US10129016B2 (en) * 2013-11-18 2018-11-13 Finisar Corporation Data serializer
US9690955B2 (en) * 2014-06-18 2017-06-27 Texas Instruments Incorporated Tunneling messages over an USB to control power delivery
TWI637268B (zh) * 2017-03-22 2018-10-01 慧榮科技股份有限公司 主機裝置與資料傳輸速率控制方法
DE102017208826A1 (de) * 2017-05-24 2018-11-29 Wago Verwaltungsgesellschaft Mbh Eingebettete zyklische Redundanzprüfungswerte
US11288193B2 (en) * 2019-05-06 2022-03-29 Cirrus Logic, Inc. Flexible, non-blocking asynchronous transfer of time-variant atomic data
EP4202707A4 (en) * 2020-09-17 2023-08-23 Huawei Technologies Co., Ltd. COMMUNICATION METHOD AND APPARATUS USING AN INTER-INTEGRATED CIRCUIT
CN116830464A (zh) 2021-02-08 2023-09-29 三星电子株式会社 用于管理用户设备能力的电子装置及其操作方法
CN113422738B (zh) * 2021-05-18 2023-07-21 上海赫千电子科技有限公司 一种智能主机的mcu通信服务方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4042783A (en) * 1976-08-11 1977-08-16 International Business Machines Corporation Method and apparatus for byte and frame synchronization on a loop system coupling a CPU channel to bulk storage devices
US6804257B1 (en) * 1999-11-25 2004-10-12 International Business Machines Corporation System and method for framing and protecting variable-lenght packet streams
CN1543734A (zh) * 2000-12-15 2004-11-03 �����ɷ� 用于高数据速率信号传送的通信协议和接口的产生和实现

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US586750A (en) * 1897-07-20 Idshh
US4393444A (en) * 1980-11-06 1983-07-12 Rca Corporation Memory addressing circuit for converting sequential input data to interleaved output data sequence using multiple memories
JPS648731A (en) * 1987-06-30 1989-01-12 Sharp Kk Digital parallel/serial converter
US5079693A (en) * 1989-02-28 1992-01-07 Integrated Device Technology, Inc. Bidirectional FIFO buffer having reread and rewrite means
US5111455A (en) * 1990-08-24 1992-05-05 Avantek, Inc. Interleaved time-division multiplexor with phase-compensated frequency doublers
GB2250668B (en) * 1990-11-21 1994-07-20 Apple Computer Tear-free updates of computer graphical output displays
JPH06332664A (ja) * 1993-03-23 1994-12-02 Toshiba Corp 表示制御システム
US5418452A (en) * 1993-03-25 1995-05-23 Fujitsu Limited Apparatus for testing integrated circuits using time division multiplexing
JP3197679B2 (ja) * 1993-04-30 2001-08-13 富士写真フイルム株式会社 写真撮影システムおよび方法
WO1995001609A1 (fr) * 1993-06-30 1995-01-12 Sega Enterprises, Ltd. Procede et dispositif de traitment d'images
JPH07115352A (ja) * 1993-10-19 1995-05-02 Ricoh Co Ltd マルチプレクサ
JP3462566B2 (ja) * 1994-04-08 2003-11-05 株式会社ソニー・コンピュータエンタテインメント 画像生成装置
FR2729528A1 (fr) * 1995-01-13 1996-07-19 Suisse Electronique Microtech Circuit de multiplexage
TW316965B (zh) * 1995-10-31 1997-10-01 Cirrus Logic Inc
JPH09270951A (ja) * 1996-03-29 1997-10-14 Sony Corp 撮像装置
JPH09307457A (ja) * 1996-05-14 1997-11-28 Sony Corp パラレルシリアル変換回路
WO1997048226A1 (fr) * 1996-06-11 1997-12-18 Sony Corporation Dispositif de prise de vues et son unite de commande
EP0840279A3 (en) * 1996-11-05 1998-07-22 Compaq Computer Corporation Method and apparatus for presenting video on a display monitor associated with a computer
DE19733005B4 (de) * 1997-03-12 2007-06-21 Storz Endoskop Gmbh Einrichtung zur zentralen Überwachung und/oder Steuerung wenigstens eines Gerätes
JPH11249987A (ja) * 1998-03-05 1999-09-17 Nec Corp メッセージ処理装置およびその方法ならびにメッセージ処理制御プログラムを格納した記憶媒体
US6272452B1 (en) * 1998-04-02 2001-08-07 Ati Technologies, Inc. Universal asynchronous receiver transmitter (UART) emulation stage for modem communication
JP3792894B2 (ja) * 1998-05-27 2006-07-05 キヤノン株式会社 固体撮像素子及び固体撮像装置
US6850282B1 (en) * 1998-06-02 2005-02-01 Canon Kabushiki Kaisha Remote control of image sensing apparatus
JP3475081B2 (ja) * 1998-06-03 2003-12-08 三洋電機株式会社 立体映像再生方法
WO2000027079A1 (en) * 1998-10-30 2000-05-11 Broadcom Corporation Internet gigabit ethernet transmitter architecture
US6252526B1 (en) * 1998-12-14 2001-06-26 Seiko Epson Corporation Circuit and method for fast parallel data strobe encoding
JP3557975B2 (ja) * 1998-12-14 2004-08-25 セイコーエプソン株式会社 信号切り替え回路及び信号切り替え方法
WO2001037484A2 (en) * 1999-11-16 2001-05-25 Broadcom Corporation Serializing data using hazard-free multilevel glitchless multiplexing
KR100371136B1 (ko) * 1999-12-10 2003-02-07 주식회사 케이티 이중포트메모리를 사용한 메시지 버퍼 풀 감지 및 관리 방법
JP2001320280A (ja) * 2000-05-10 2001-11-16 Mitsubishi Electric Corp 並列−直列変換回路
US6760722B1 (en) * 2000-05-16 2004-07-06 International Business Machines Corporation Computer implemented automated remote support
US6529993B1 (en) * 2000-10-12 2003-03-04 International Business Machines Corp. Data and data strobe circuits and operating protocol for double data rate memories
FI115802B (fi) * 2000-12-04 2005-07-15 Nokia Corp Kuvakehyksien päivittäminen muistillisessa näytössä
GB2397733B (en) * 2000-12-06 2004-10-06 Fujitsu Ltd Clock recovery circuitry
US6760772B2 (en) 2000-12-15 2004-07-06 Qualcomm, Inc. Generating and implementing a communication protocol and interface for high data rate signal transfer
JP2002359774A (ja) * 2001-03-30 2002-12-13 Fuji Photo Film Co Ltd 電子カメラ
US7420602B2 (en) * 2001-05-29 2008-09-02 Samsung Semiconductor Israel R&D Center (Sirc) Cmos imager for cellular applications and methods of using such
KR100408525B1 (ko) * 2001-10-31 2003-12-06 삼성전자주식회사 네트워크에 적응적인 실시간 멀티미디어 스트리밍 시스템및 방법
US6891545B2 (en) * 2001-11-20 2005-05-10 Koninklijke Philips Electronics N.V. Color burst queue for a shared memory controller in a color sequential display system
TWI235917B (en) * 2002-04-15 2005-07-11 Via Tech Inc High speed data transmitter and transmission method thereof
US6886067B2 (en) * 2002-05-23 2005-04-26 Seiko Epson Corporation 32 Bit generic asynchronous bus interface using read/write strobe byte enables
JP2003098583A (ja) * 2002-06-10 2003-04-03 Nikon Corp 書換え可能なメモリを使用するカメラ
KR100469427B1 (ko) * 2002-06-24 2005-02-02 엘지전자 주식회사 이동통신 시스템의 동영상 재생 방법
EP1546798A1 (en) * 2002-09-13 2005-06-29 Digimarc ID Systems, LLC Enhanced shadow reduction system and related techniques for digital image capture
JP3642332B2 (ja) * 2002-12-20 2005-04-27 松下電器産業株式会社 折り畳み式携帯電話装置
JP4119764B2 (ja) * 2003-02-13 2008-07-16 京セラ株式会社 カメラ付き携帯端末
JP2004252102A (ja) * 2003-02-19 2004-09-09 Seiko Epson Corp 画像表示装置、画像表示方法および画像表示プログラム
JP4112414B2 (ja) * 2003-03-28 2008-07-02 京セラ株式会社 携帯端末装置
JP2004309623A (ja) * 2003-04-03 2004-11-04 Konica Minolta Opto Inc 撮像装置及び携帯端末並びに撮像装置製造方法
US7477604B2 (en) * 2003-05-14 2009-01-13 Ntt Docomo, Inc. Packet communications system
CN100524451C (zh) * 2004-01-28 2009-08-05 Nxp股份有限公司 用于矩阵显示器的显示方法及显示系统
KR20060130749A (ko) * 2004-03-17 2006-12-19 퀄컴 인코포레이티드 고 데이터 레이트 인터페이스 장치 및 방법
KR100624311B1 (ko) * 2004-08-30 2006-09-19 삼성에스디아이 주식회사 프레임 메모리 제어 방법 및 그것을 이용한 표시 장치
US7315265B2 (en) * 2004-11-24 2008-01-01 Qualcomm Incorporated Double data rate serial encoder

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4042783A (en) * 1976-08-11 1977-08-16 International Business Machines Corporation Method and apparatus for byte and frame synchronization on a loop system coupling a CPU channel to bulk storage devices
US6804257B1 (en) * 1999-11-25 2004-10-12 International Business Machines Corporation System and method for framing and protecting variable-lenght packet streams
CN1543734A (zh) * 2000-12-15 2004-11-03 �����ɷ� 用于高数据速率信号传送的通信协议和接口的产生和实现

Also Published As

Publication number Publication date
IL183412A0 (en) 2008-04-13
EP1825350A4 (en) 2011-03-23
AU2010202381A1 (en) 2010-07-01
CN101103568A (zh) 2008-01-09
CN101103569B (zh) 2012-05-23
JP4669008B2 (ja) 2011-04-13
WO2006058051A2 (en) 2006-06-01
IL183402A0 (en) 2007-09-20
CN101103568B (zh) 2012-05-30
WO2006058053A3 (en) 2007-02-22
IL183408A0 (en) 2007-09-20
CN101103532B (zh) 2012-03-28
CN101103532A (zh) 2008-01-09
JP2010259079A (ja) 2010-11-11
JP5485009B2 (ja) 2014-05-07
CN102045157B (zh) 2013-08-21
CA2588702C (en) 2012-01-03
CA2588715C (en) 2011-12-13
CN101103326B (zh) 2012-02-15
KR100910073B1 (ko) 2009-07-30
EP2479920A3 (en) 2012-09-05
EP1825350A2 (en) 2007-08-29
AU2005309686B2 (en) 2010-07-01
CN101103569A (zh) 2008-01-09
KR20070086396A (ko) 2007-08-27
EP2479920A2 (en) 2012-07-25
WO2006058053A9 (en) 2006-08-10
KR100908148B1 (ko) 2009-07-16
AU2005309687A1 (en) 2006-06-01
BRPI0518262A2 (pt) 2008-11-11
CA2588716A1 (en) 2006-06-01
CA2588715A1 (en) 2006-06-01
KR100898078B1 (ko) 2009-05-18
AU2005309687B2 (en) 2009-11-19
BRPI0518262B1 (pt) 2018-05-08
JP2008522285A (ja) 2008-06-26
CN101103326A (zh) 2008-01-09
JP2010273338A (ja) 2010-12-02
CA2588702A1 (en) 2006-06-01
WO2006058053A2 (en) 2006-06-01
JP4960253B2 (ja) 2012-06-27
JP5044004B2 (ja) 2012-10-10
EP1815625A2 (en) 2007-08-08
JP5059936B2 (ja) 2012-10-31
CN101103543A (zh) 2008-01-09
JP2008522496A (ja) 2008-06-26
JP5166617B2 (ja) 2013-03-21
JP2011109683A (ja) 2011-06-02
CA2671560A1 (en) 2006-06-01
KR20070086399A (ko) 2007-08-27
EP1815625A4 (en) 2010-12-29
WO2006058051A3 (en) 2008-10-30
EP1815626B1 (en) 2018-09-12
EP1815625B1 (en) 2016-07-20
EP1815626A4 (en) 2011-09-21
EP2503719A3 (en) 2012-10-24
EP2503719A2 (en) 2012-09-26
CN102045157A (zh) 2011-05-04
JP2013153487A (ja) 2013-08-08
CN101444027A (zh) 2009-05-27
WO2006058052A2 (en) 2006-06-01
CA2588716C (en) 2010-05-18
KR20070086398A (ko) 2007-08-27
CN101449255A (zh) 2009-06-03
CN101103543B (zh) 2016-01-20
CN101449255B (zh) 2011-08-31
JP2008522495A (ja) 2008-06-26
WO2006058052A3 (en) 2007-07-26
AU2005309686A1 (en) 2006-06-01
EP1815626A2 (en) 2007-08-08
JP2012165388A (ja) 2012-08-30
JP2011041290A (ja) 2011-02-24
AU2010200617A1 (en) 2010-03-11

Similar Documents

Publication Publication Date Title
CN101444027B (zh) 用于实施循环冗余校验的系统和方法
CN101931503B (zh) 用于实施循环冗余校验的系统和方法
US8667363B2 (en) Systems and methods for implementing cyclic redundancy checks
ES2323129T3 (es) Interfaz de alta velocidad de datos.
CN101800711B (zh) 高数据速率接口设备和方法
RU2355121C2 (ru) Устройство и способ интерфейса с высокой скоростью передачи данных
CN100473058C (zh) 用于高数据速率信号传送的通信协议和接口的产生和实现
CN1961560B (zh) 高数据速率接口装置和方法
CN103220282A (zh) 生成并实施一用于更高数据率的讯号协议和接口
CN107396022B (zh) 数据传输装置及液晶显示装置
CN108668144A (zh) 一种数据流控方法及装置
CN1977511B (zh) 高数据速率接口装置和方法
TWI400889B (zh) 循環冗餘檢查之實施系統及方法
CN116962599A (zh) 图像采集接口装置、用于对接图像采集设备的方法及芯片
TWI412936B (zh) 雙倍資料速率串列編碼器
MX2007006187A (en) Double data rate serial encoder
JPH05191473A (ja) Ramを用いたセル分解装置
JPH04138747A (ja) 受信データの記憶制御装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130320

Termination date: 20201123

CF01 Termination of patent right due to non-payment of annual fee