KR20160026591A - 멀티미디어 링크상의 디바이스간 충돌 해소 - Google Patents

멀티미디어 링크상의 디바이스간 충돌 해소 Download PDF

Info

Publication number
KR20160026591A
KR20160026591A KR1020140124818A KR20140124818A KR20160026591A KR 20160026591 A KR20160026591 A KR 20160026591A KR 1020140124818 A KR1020140124818 A KR 1020140124818A KR 20140124818 A KR20140124818 A KR 20140124818A KR 20160026591 A KR20160026591 A KR 20160026591A
Authority
KR
South Korea
Prior art keywords
source device
control data
sink device
arbitration logic
transmission
Prior art date
Application number
KR1020140124818A
Other languages
English (en)
Other versions
KR102022468B1 (ko
Inventor
지옹 후앙
레이 밍
규동 김
영일 김
Original Assignee
래티스세미컨덕터코퍼레이션
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 래티스세미컨덕터코퍼레이션 filed Critical 래티스세미컨덕터코퍼레이션
Publication of KR20160026591A publication Critical patent/KR20160026591A/ko
Application granted granted Critical
Publication of KR102022468B1 publication Critical patent/KR102022468B1/ko

Links

Images

Classifications

    • 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/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
    • 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/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • 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/06Consumer Electronics Control, i.e. control of another device by a display or vice versa
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Communication Control (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)

Abstract

소스 디바이스는 멀티미디어 링크의 멀티미디어 채널상에서 싱크 디바이스로 멀티미디어 데이터를 통신한다. 소스 디바이스는 멀티미디어 링크의 풀 듀풀렉스 제어 채널에 대한 인터페이스를 포함한다. 소스 디바이스는 또한 풀 듀풀렉스 제어 채널을 통하여 싱크 디바이스와 제어 데이터 전송을 제어 하는 제 1 중재 로직을 포함한다. 소스 디바이스가 싱크 디바이스로 아웃바운드 제어 데이터를 송신하는 동안 제 1 중재 로직은 싱크 디바이스로부터의 인바운드 제어 데이터를 수신하기 위한 요청들을 무시한다. 싱크 디바이스는 반면에 풀 듀풀렉스 제어 채널을 통하여 소스 디바이스와 제어 데이터 전송을 제어 하는 제 2 중재 로직을 포함한다. 제 2 중재 로직은 소스 디바이스로부터의 착신 제어 데이터를 수신하기 위한 요청 수신에 응답하여 풀 듀풀렉스 제어 채널을 통하여 아웃바운드 제어 데이터를 송신하는 것을 중단한다.

Description

멀티미디어 링크상의 디바이스간 충돌 해소 {INTER-DEVICE CONFLICT RESOLUTION ON A MULTIMEDIA LINK}
개시된 실시예들은 전반적으로 멀티미디어 고화질 링크 (MHL ; Multimedia High Definition Link) 표준들에 관한 것이고 보다 구체적으로 MHL 3 디바이스들과 레거시 MHL 소프트웨어간의 백워드(backward) 호환성을 제공하는 방법들 및 디바이스들에 관한 것이다.
레거시(legacy) MHL 1 / 2 프로토콜 하에서, 로컬 MHL 디바이스는 레거시 MHL (MHL 1 / MHL 2) 링크를 이용하여 피어(peer) MHL 디바이스와 통신한다. 레거시 링크는, 결과적으로, 로컬 및 피어 MHL 디바이스들간의 제어 패킷들의 교환을 가능하게 하는 하프 듀풀렉스 레거시 제어 버스를 가진다. 추가적으로, 레거시 MHL 디바이스에서, 레거시 디바이스 소프트웨어는 하프 듀풀렉스 변환 계층(translation layer)과 인터페이스 접속하고 따라서 또한 하프 듀풀렉스내에서 제어 데이터를 수신하거나 또는 송신한다. 따라서, 레거시 MHL 1 / 2 구성에서, 로컬 MHL 디바이스, 피어 레거시 디바이스, 로컬 및 피어 디바이스 소프트웨어, 뿐만 아니라 레거시 MHL 제어 버스는 모두 하프 듀풀렉스내에서 동작하도록 구성된다.
MHL 3 프로토콜 하에서, 로컬 MHL 3 디바이스는 풀 듀풀렉스 증강 제어 버스 (eCBUS)를 포함하는 MHL 3 링크를 이용하여 피어 MHL 3 디바이스와 통신한다. 추가적으로, MHL 3 디바이스는 하프 듀풀렉스 변환 계층을 통하여 레거시 MHL 소프트웨어와 인터페이스 접속하는 성능을 가진다. 그러나, 변환 계층의 하프 듀풀렉스 성질은 예를 들어, 패킷 수신 요청들이 로컬 MHL 3 디바이스에 도달했을 때 로컬 디바이스는 이미 피어 디바이스로 제어 데이터를 송신하는 프로세스에 있는 데이터 전송 충돌로 귀결될 수 있다.
따라서, 일부 실시예들은 멀티미디어 링크를 통하여 통신하는 소스 디바이스를 제공한다. 상기 소스 디바이스는 하프 듀풀렉스 변환 계층, 상기 멀티미디어 링크의 풀 듀풀렉스 제어 채널로 결합하기 위한 링크 계층, 및 상기 풀 듀풀렉스 제어 채널을 통하여 싱크 디바이스와의 제어 데이터의 전송을 제어하는 중재 로직을 포함한다. 상기 소스 디바이스가 상기 링크 계층을 통하여 상기 싱크 디바이스에 대한 상기 하프 듀풀렉스 변환 계층에 해당하는 아웃바운드 제어 데이터를 송신하는 동안 상기 중재 로직은 상기 싱크 디바이스로부터 인바운드 제어 데이터를 수신하기 위한 요청들을 무시하도록 상기 소스 디바이스를 제어한다. 일부 실시예들에서, 상기 중재 로직은 상기 하프 듀풀렉스 변환 계층 및 상기 풀 듀풀렉스 링크 계층 사이에서 제어 데이터의 흐름을 제어하는 스테이트 머신(state machine)을 포함한다.
일부 실시예들에서, 상기 중재 로직은 상기 싱크 디바이스로 아웃바운드 제어 데이터를 송신하기 위한 하나 이상의 송신 상태들로 진입함으로써 패킷 송신 이벤트를 개시하고, 그리고 상기 하나 이상의 송신 상태들 동안에, 상기 중재 로직은 상기 싱크 디바이스로부터의 인바운드 제어 데이터를 수신하기 위한 요청을 수신한다. 일부 실시예들에서, 상기 하나 이상의 송신 상태들은 상기 패킷 송신 이벤트의 시작을 나타내는 헤더 송신 상태, 상위 차수 바이트 송신 상태, 하위 차수 바이트 송신 상태, 또는 상기 소스 디바이스가 상기 싱크 디바이스로부터 긍정적인 또는 부정적인 확인 응답 신호를 기다리는 동안의 휴지 송신 상태(stop transmission state)에 해당한다.
일부 실시예들에서, 상기 중재 로직은 상기 링크 계층으로 송신 요청 신호를 어써트 한 후에, 그리고 상기 링크 계층으로부터 상기 풀 듀풀렉스 제어 채널에 대한 액세스를 인가하는 송신 승인 신호를 수신한 후에 상기 패킷 송신 이벤트를 개시한다.
일부 실시예들에서, 만약 상기 중재 로직이 상기 소스 디바이스의 상기 링크 계층으로 송신 요청 신호를 어써트 한 후에 그리고 상기 링크 계층으로부터 송신 승인 신호를 수신하기 전에 상기 싱크 디바이스로부터 인바운드 제어 데이터를 수신하기 위한 요청을 수신하면, 상기 중재 로직은 상기 송신 요청 신호를 디-어써트함으로써 송신을 중단하고 상기 싱크 디바이스로부터 인바운드 제어 데이터를 수신하기 위한 상기 요청을 프로세스한다.
일부 실시예들에서, 상기 싱크 디바이스로부터 인바운드 제어 데이터를 수신하기 위한 요청 수신에 응답하여, 상기 중재 로직은 상기 소스 디바이스에서 상기 패킷 송신 이벤트가 완료된지 아닌지를 판단하고; 및 상기 패킷 송신 이벤트가 완료되지 않았다는 판단에 따라, 상기 중재 로직은 상기 패킷 송신 이벤트를 계속함으로써 상기 싱크 디바이스로부터 인바운드 제어 데이터를 수신하기 위한 상기 요청을 무시한다. 일부 실시예들에서, 상기 소스 디바이스에서 상기 패킷 송신 이벤트가 완료된지 아닌지를 판단하는 단계는 상기 패킷 송신 이벤트에 대응하여 싱크 디바이스로부터 긍정적인 또는 부정적인 확인 응답 신호가 수신되었는지 아닌지를 판단하는 단계를 포함한다.
추가적으로, 일부 실시예들은 멀티미디어 링크를 통하여 통신하는 싱크 디바이스를 제공하고, 상기 싱크 디바이스는 하프 듀풀렉스 변환 계층, 상기 멀티미디어 링크의 풀 듀풀렉스 제어 채널에 결합하기 위한 링크 계층, 및 상기 풀 듀풀렉스 제어 채널을 통하여 상기 소스 디바이스와의 제어 데이터의 전송을 제어하는 중재 로직을 포함한다. 상기 중재 로직은 상기 소스 디바이스로부터의 착신 제어 데이터를 수신하기 위한 요청 수신에 응답하여 상기 풀 듀풀렉스 제어 채널을 통하여 아웃바운드 제어 데이터를 송신하는 것을 중단한다. 일부 실시예들에서, 상기 소스 디바이스로부터 착신 제어 데이터를 수신하기 위한 요청 수신에 응답하여, 상기 중재 로직은 상기 싱크 디바이스에서 상기 패킷 송신 이벤트가 완료된지 아닌지를 판단하고; 및 상기 패킷 송신 이벤트가 완료되지 않았다는 판단에 따라, 상기 중재 로직은 상기 소스 디바이스로부터 착신 제어 데이터를 수신하기 위하여 송신 중단 상태로 진입하고 그리고 패킷 수신 이벤트를 개시함으로써 상기 소스 디바이스로 상기 패킷 송신 이벤트를 중지한다. 상기 패킷 수신 이벤트를 완료한 후에, 상기 싱크 디바이스는 상기 변환 계층으로부터의 상기 송신 요청이 여전히 어써트되면 중단된 패킷을 재송신하는 것을 시작할 수 있다.
본 발명에 따르면 레거시 MHL을 위해 사용되었던 존재하는 회로들 및 소프트웨어의 재사용을 허용함과 동시에 레거시 MHL와 백워드 호환성을 보존할 수 있는 효과가 있다.
도 1은 일부 실시예들에 따른, 데이터 통신을 위한 시스템의 하이 레벨 블럭 다이어그램을 포함한다.
도 2는 일 실시예에 따라 도 1의 소스 디바이스 또는 싱크 디바이스로서 사용에 적절한 컴퓨팅 디바이스의 블럭 다이어그램을 포함한다.
도 3은 일부 실시예들에 따른 멀티미디어 링크를 통하여 통신에 관하여 결합된 소스 디바이스 및 싱크 디바이스를 예시하는 블럭 다이어그램을 포함한다.
도 4a는 일부 실시예들에 따른, 멀티미디어 링크를 통하여 싱크 디바이스와 인터페이스 접속할 때 소스 디바이스상에서 수행되는 충돌 해소 워크플로우(workflow)의 플로우 차트를 예시한다.
도 4b는 일부 실시예들에 따른, 멀티미디어 링크를 통하여 소스 디바이스와 인터페이스 접속할 때 싱크 디바이스상에서 수행되는 충돌 해소 워크플로우의 플로우 차트를 예시한다.
도면들 5a-5b는 일부 실시예들에 따른, 데이터 전송 충돌의 부존재시에 소스 디바이스로부터 싱크 디바이스로 패킷 송신을 예시하는 블럭 다이어그램들을 포함한다.
도면들 6a-6b는 일부 실시예들에 따른, 데이터 전송 충돌의 부존재시에 싱크 디바이스로부터 소스 디바이스로 패킷 송신을 예시하는 블럭 다이어그램들을 포함한다.
도면들 7a-7c은 일부 실시예들에 따른, 소스 디바이스에서 수행되는 충돌 핸들링 시그널링을 예시하는 블럭 다이어그램들을 포함한다.
도면들 8a-8c는 일부 실시예들에 따른, 싱크 디바이스에서 수행되는 충돌 핸들링 시그널링을 예시하는 블럭 다이어그램들을 포함한다.
같은 도면 번호들 도면들 전체에서 상응하는 부분들을 나타낸다.
다양한 실시예들에 참조 번호가 상세하게 제공될 것이며, 이의 예제들이 첨부한 도면들에 예시된다. 이하의 상세한 설명에서, 철저한 본 발명의 이해 및 설명된 실시예들을 제공하기 위해서 많은 특정 세부사항들이 제시된다. 그러나, 본 발명은 이들 특정 세부사항들 없이 실행될 수 있다. 다른 예들에서, 주지의 방법들, 절차들, 컴포넌트들, 및 회로들은 실시예들의 측면들을 불필요하게 불명료하게 하지 않기 위해서 상세하게 설명되지 않는다.
도 1은 일 실시예들에 따른, 데이터 통신을 위한 시스템(100)의 하이 레벨 블럭 다이어그램이다. 시스템 (100)은 하나 이상의 인터페이스 케이블들 (120,150,180)를 통하여 싱크 디바이스 (115)와 통신하는 소스 디바이스 (110)를 포함한다. 소스 디바이스 (110)는 멀티미디어 데이터 스트림들 (예를 들어, 오디오/비디오/보조 스트림들)을 싱크 디바이스 (115)로 송신하고 또한 인터페이스 케이블들 (120,150,180)을 통하여 싱크 디바이스 (115)와 제어 데이터를 교환한다. 일 실시예에서, 소스 디바이스 (110) 및/또는 싱크 디바이스 (115)는 중계기 디바이스들일 수 있다.
소스 디바이스 (110)는 인터페이스 케이블들 (120,150,180)에 결합된 물리적 통신 포트들 (112,142,172)을 포함한다. 싱크 디바이스 (115)는 또한 인터페이스 케이블들 (120,150,180)에 결합된 물리적 통신 포트들 (117,147,177)을 포함한다. 인터페이스 케이블들을 가로질러 소스 디바이스 (110)와 싱크 디바이스 (115)간 교환되는 신호들은 물리적 통신 포트들을 통과한다.
소스 디바이스 (110) 및/또는 싱크 디바이스 (115)는 다양한 프로토콜들을 이용하여 데이터를 교환한다. 일 실시예에서, 인터페이스 케이블 (120)은 고화질 멀티미디어 인터페이스 (HDMI) 케이블을 나타낸다. HDMI 케이블 (120)은 데이터0+ 라인 (121), 데이터0- 라인 (122), 데이터1+ 라인 (123), 데이터1- 라인 (124), 데이터2+ 라인 (125), 및 데이터2- 라인 (126)를 통하여 송신되는 차동 신호들을 지원한다. HDMI 케이블 (120)은 차동 신호들에 대하여 차동 클럭 라인들 클럭+ (127) 및 클럭- (128); CEC(Consumer Electronics Control) 제어 버스 (129); DDC(Display Data Channel) 버스 (130); 파워 (131), 접지 (132); 핫 플러그 감지(hot plug detect) (133); 및 네개의 차폐된 라인들 (134)을 추가로 포함할 수 있다. 일부 실시예들에서, 싱크 디바이스 (115)는 소스 디바이스 (110)로 폐루프 피드백 제어 데이터의 송신을 위해 CEC 제어 버스 (129)를 활용할 수 있다.
일 실시예에서, 인터페이스 케이블 (150)은 모바일 고화질 링크(MHL : Mobile High-Definition Link) 케이블을 나타낸다. MHL 케이블 (150)은 예를 들어, 데이터0+ 라인 (151), 데이터0- 라인 (152)를 통하여 송신되는 차동 신호들을 지원한다. 데이터 라인들 (151) 및 (152)은 소스 디바이스 (110)로부터 싱크 디바이스 (115)로 멀티미디어 데이터 스트림들의 송신을 위한 멀티미디어 버스를 형성한다. MHL의 일부 실시예들에서, 단지 단일 쌍의 차동 데이터 라인들 (예를 들어, (151) 및 (152))일 수 있다. 대안적으로, 복수개의 차동 데이터 라인들은 다수의 차동 데이터 라인들 상에서 다수의 차동 신호들의 송신 (예를 들어, 동시에)을 가능하게 하도록 제공된다. 내장된 공통 모드 클럭들이 차동 데이터 라인들을 통하여 송신된다.
MHL 케이블 (150)은 제어 버스 (CBUS) (159), 파워 (160) 및 접지 (161)를 추가로 포함할 수 있다. CBUS (159)은 제어 정보 예컨대 탐지 데이터, 디스플레이 식별, 구성 데이터, 및 원격 제어 명령어들을 전달하는 양방향 버스이다. 레거시 MHL (MHL 1 / 2)을 위한 CBUS (159)는 하프 듀풀렉스 모드에서 동작한다. 반면에, 대안적으로 증강된 CBUS (eCBUS)로 지칭되는 MHL (MHL 3)을 위한 CBUS (159)은 풀 듀풀렉스에서 동작한다. 일부 실시예들에서, eCBUS는 단일 종단되고 단일 신호 와이어상에서 단일 종단되는 시그널링 성능을 제공한다. 대안적으로, eCBUS는 차동 종단되고 (차동 라인들 eCBUS+ 및 eCBUS-간), 차동 쌍의 신호 와이어들 상에서 차동 종단되는 시그널링 성능을 제공한다. MHL 3 디바이스는 (로컬 디바이스로서 본 출원에 언급된) 풀 듀풀렉스 증강 CBUS상에서 다른 MHL 3 디바이스 (피어 디바이스로서 본 출원에 언급된)와 인터페이스 성능을 가진다. 예를 들어, 소스 디바이스 (110)는 그것이 싱크 디바이스 (115)로 제어 정보를 송신하는 중이라면 로컬 디바이스일 수 있다. 대안적으로, 싱크 디바이스 (115)는 그것이 소스 디바이스 (110)로 제어 정보를 송신하는 중이라면 로컬 디바이스일 수 있다.
추가적으로, 로컬 MHL 3 디바이스가 레거시 MHL 링크상에서 레거시 MHL 디바이스와 통신할 필요가 있거나 또는 레거시 MHL 소프트웨어로 동작할 필요가 있는 이벤트에서, 로컬 MHL 3 디바이스는 MHL 3 모드로부터 레거시 동작 모드로 등급을 떨어뜨리는(downgrade) 성능을 가진다. 예를 들어, 로컬 MHL 3 디바이스는 하프 듀풀렉스 CBUS 상에서 피어 MHL 1/2 디바이스와 인터페이스 접속하는 성능을 가진다.
본 발명의 실시예들은 레거시 MHL을 위해 사용되었던 존재하는 회로들 및 소프트웨어의 재사용을 허용함과 동시에 레거시 MHL와 백워드 호환성을 보존하기 위한 시스템 및 MHL 3 디바이스 아키텍처에 관한 것이다. MHL 3 디바이스는 풀 듀풀렉스 증강 제어 버스 (eCBUS)를 포함하는 MHL 3 링크상에서 피어 MHL 3 디바이스와 인터페이스 접속하도록 구성된다. 추가적으로, MHL 3 디바이스는 하프 듀풀렉스 변환 계층을 통하여 레거시 MHL 소프트웨어와 인터페이스 접속하는 성능을 가진다. 그러나, 변환 계층이 벌써 피어 디바이스로 제어 데이터의 송신 프로세스에 있는 동안 패킷 수신 요청들이 로컬 MHL 3 디바이스에 도달했을 때 데이터 전송 충돌이 하프 듀풀렉스 변환 계층에서 일어날 수 있다. 이들 환경들 하에서, 하프 듀풀렉스이기 때문에 변환 계층은 그것 자체의 송신에 있는 동안에 착신 패킷의 수신이 불가능할 것이다. 본 발명의 실시예들은 이런 충돌의 해소를 가능하게 하는 소스 및 싱크 디바이스들간의 데이터 전송에 대한 일련의 미리 정의된 규칙들 및 우선순위들에 관한 것이다.
도 2 는 일 실시예에 따라 도 1로부터의 소스 디바이스 (110) 또는 싱크 디바이스 (115)로서 사용에 적절한 컴퓨팅 디바이스 (200)의 상세도이다. 컴퓨팅 디바이스 (200)는 예를 들어, 휴대 전화기, 텔레비전, 랩탑, 태블릿, 등일 수 있다. 컴퓨팅 디바이스 (200)는 컴포넌트들 예컨대 프로세서 (202), 메모리 (203), 스토리지 모듈 (204), 입력 모듈 (예를 들어, 키보드, 마우스, 및 유사한 것) (206), 디스플레이 모듈 (207) (예를 들어, 액정 디스플레이, 유기 발광 디스플레이, 및 유사한 것) 및 버스(201)를 통하여 서로와 데이터 및 제어 신호들을 교환하는 송신기 또는 수신기 (205)를 포함한다.
스토리지 모듈 (204)은 하나 이상의 비-일시적 컴퓨터 판독 가능한 스토리지 매체 (예를 들어, 하드 디스크 드라이브, 고체 상태 메모리, 등.)로서 구현되고 메모리 (203)와 함께 프로세서 (202)에 의해 실행되는 소프트웨어 명령들을 저장한다. 동작 시스템 소프트웨어 및 다른 애플리케이션 소프트웨어는 또한 프로세서 (202)상에서 작동하도록 스토리지 모듈 (204)에 저장될 수 있다.
송신기 또는 수신기 (205)는 멀티미디어 데이터 및 제어 데이터의 송신 또는 수신을 위해 포트들에 결합된다. 수신되거나 또는 송신된 멀티미디어 데이터는 비디오 데이터 스트림들 또는 오디오-비디오 데이터 스트림들 또는 보조 데이터, 예컨대 HDMI 및 MHL 데이터를 포함할 수 있다. 멀티미디어 데이터는 암호화 기법 예컨대 HDCP (고-대역폭 디지털-컨텐츠 보호; High-Bandwidth Digital-Content Protection)을 이용하여 송신을 암호화될 수 있다.
일 실시예에서, 소스 디바이스 (110) 또는 싱크 디바이스 (115)내 회로들의 표현은 비-일시적 컴퓨터 판독가능 매체 (예를 들어, 하드 디스크 드라이브, 플래시 드라이브, 광학적 드라이브)내 데이터로서 저장될 수 있다. 이들 표현들은 예를 들어, 행동 레벨 설명들, 레지스터 전송레벨 설명들, 로직 컴포넌트 레벨 설명들, 트랜지스터 레벨 설명들 또는 레이아웃 기하학적 구조-레벨 설명들의 형태일 수 있다.
멀티미디어 소스 및 싱크 디바이스들
도 3은 일부 실시예들에 따라 멀티미디어 링크를 통하여 (특별히, 제어 버스 CBUS (159)를 통하여)통신에 관하여 결합된 소스 디바이스 (110) 및 싱크 디바이스 (115)를 예시하는 블럭 다이어그램이다. 멀티미디어 싱크 디바이스 (115)에 통신에 관하여 결합된 때, 멀티미디어 소스 (110) 디바이스는 멀티미디어 링크의 멀티미디어 채널상에서 멀티미디어 싱크 디바이스로 멀티미디어 데이터 스트림들 (예를 들어, 오디오/비디오/보조 스트림들)을 송신한다. 소스 디바이스 (110)는 멀티미디어 컨텐츠를 공급하는 것이 가능한 휴대용 컴퓨팅 디바이스 (예컨대 이동 전화, 랩탑, 또는 핸드 헬드 디바이스)일 수 있다. 싱크 디바이스 (115)는 반면에, 소스 디바이스에 의해 싱크 디바이스에 제공되는 멀티미디어 컨텐츠를 수신하는 것이 가능한 텔레비전 또는 디스플레이 모니터일 수 있다. 싱크 디바이스 (115)로 멀티미디어 컨텐츠를 송신하기 위해서, 소스 디바이스 (110)는 멀티미디어 링크의 멀티미디어 채널에 대한 인터페이스 (미도시)를 포함하고; 인터페이스는 멀티미디어 채널을 통하여 싱크 디바이스로 비디오 및/또는 오디오 및/또는 보조 데이터를 송신한다. 추가하여, 소스 디바이스 (110)는 MHL 3 링크의 풀 듀풀렉스 제어 버스 (CBUS (159))상에서 싱크 디바이스 (115)와 제어 데이터 (예를 들어, 탐지 데이터, 디스플레이 식별, 구성 데이터, 원격 제어 명령어들, 및 USB 터널링 데이터)를 교환한다. 이 제어 데이터 교환을 가능하게 하기 위해서, 소스 디바이스 (110)는 또한 멀티미디어 링크의 풀 듀풀렉스 제어 채널 또는 제어 버스에 대한 인터페이스를 포함한다. 일부 실시예들에서, 멀티미디어 링크의 풀 듀풀렉스 제어 채널에 대한 인터페이스는 풀 듀풀렉스 링크 계층 회로 (330)를 포함한다. 링크 계층 (330)의 기능들은 제어 버스를 가로지르는 패킷 데이터의 전송을 위해 로컬 디바이스에서 링크 계층 프로토콜 명령어들, 링크 계층 흐름 제어, 비트 타이밍들, 및 패킷 타이밍들을 제공하는 것을 포함한다. 링크 계층 (330)은 수신 제어 버스 (159)를 가로질러 소스 디바이스 (110)와 싱크 디바이스 (115)간 제어 데이터를 발송 및 수신하기 위한 링크 계층 프로토콜들을 구현한다. 링크 계층 프로토콜들은 링크 계층 패킷들로 제어 데이터 (예를 들어, 인코딩, 프로토콜, 중재, 흐름 제어, 비트 타이밍들, 패킷 타이밍들)을 프레임화하기 위한 기법들을 지정한다. 예를 들어, 레거시 MHL에 대하여, 링크 계층 (330)은 하나 이상의 싱크 비트들, 헤더 비트들, 제어 비트들, 변환 계층 데이터에 대한 데이터 또는 명령어 비트들, 및 패러티 비트들을 포함하는 CBUS 관련된 데이터에 대한 링크 계층 패킷들을 생성할 수 있다. 링크 계층 (330)은 또한 제어 버스로부터 CBUS 관련된 데이터의 착신 패킷들을 디코딩한다. 링크 계층 (330)은 추가적으로 TDM (시간 분할 다중화기)를 이용하여 제어 버스 (159) 가로질러 송신되는 패킷들의 타이밍 및 동기화를 제어한다. TDM은 제어 버스의 사용을 타임 슬롯들로 분할하고, 그것의 일부는 CBUS 관련된 데이터의 송신을 위한 것이고 및 그것의 일부는 CBUS 관련된 데이터의 수신을 위한 것이다. 제어 버스의 다수의 타임 슬롯들을 제공하는 것 덕분에, TDM은 소스 디바이스 (110)로 하여금 다수의 가상 채널들을 제공하는 것을 가능하게 한다. 링크 계층 (330)은 하프 듀풀렉스 변환 계층 회로 (310)를 통하여 소스 디바이스 (110)에서 소프트웨어와 인터페이스 접속한다. 다시 말해서, 하프 듀풀렉스 변환 계층 (310)은 디바이스 소프트웨어와 인터페이스 접속하는 하프 듀풀렉스를 제공한다. 변환 계층 회로 (310)는 추가적으로 몇몇의 상이한 로직상의 데이터 채널들 중에서 하나의 선택을 가능하게 하여, 단지 하나의 로직상의 데이터 채널만이 한번에 제어 버스 (159)에 액세스를 가진다. MHL의 로직상의 데이터 채널들의 예들은 DDC (디스플레이 데이터 채널; Display Data Channel) 및 MSC (MHL 사이드밴드 채널; MHL Sideband Channel)를 포함한다. 각각의 로직상의 데이터 채널은 상이한 유형의 제어 정보의 전송을 위한 상이한 흐름 제어 프로토콜을 따른다. 각각의 로직상의 데이터 채널은 상이한 흐름 제어 패킷들을 사용할 수 있다. 예를 들어, DDC는 일곱 개의 상이한 흐름 제어 패킷들을 사용할 수 있다. MSC는 18개의 상이한 흐름 제어 패킷들을 사용할 수 있다. 하프 듀풀렉스 변환 계층 회로 (310)는 소스 디바이스 (110)와 싱크 디바이스 (115)간 제어 정보의 흐름을 제어한다. 구체적으로, 하프 듀풀렉스 변환 계층 회로 (310)는 링크 계층 (330)으로 송신되는 흐름 제어 패킷들 및 제어 데이터 패킷들을 생성한다. 하프 듀풀렉스 변환 계층 회로 (310)는 또한 링크 계층 (330)로부터의 흐름 제어 패킷들 및 제어 데이터 패킷들을 수신한다. 하프 듀풀렉스 변환 계층 회로 (310), 그것은 그것의 내부 통신 인터페이스를 통하여 링크 계층으로 데이터를 송신하거나 또는 수신할 수 있지만 그러나 동시에 둘 다를 할 수 없다는 것을 의미하는 하프 듀풀렉스에서만 동작한다.
따라서, 소스 디바이스 (110)는 또한 풀 듀풀렉스 링크 계층 (330) 및 하프 듀풀렉스 변환 계층 (310)사이에서 통신 (시그널링)을 중재하는 중재 로직 (320)를 포함한다. 중재 로직 (320)은 풀 듀풀렉스 제어 채널 또는 제어 버스 (159)를 통하여 싱크 디바이스 (115)와의 제어 데이터의 전송을 제어한다. 일부 실시예들에서, 중재 회로 (320)는 하프 듀풀렉스 변환 계층 회로 (310) 및 풀 듀풀렉스 링크 계층 회로 (330)사이에서 제어 데이터의 흐름을 제어하는 스테이트 머신(state machine)을 포함한다.
유사하게, MHL 싱크 디바이스 (115)는 또한 멀티미디어 링크의 멀티미디어 채널에 대한 인터페이스 (미도시)를 포함하고; 인터페이스는 멀티미디어 채널을 통하여 소스 디바이스 (110)로부터 비디오 및/또는 오디오 및/또는 보조 데이터를 수신한다. 싱크 디바이스 (115)도 또한 멀티미디어 링크의 풀 듀풀렉스 제어 채널/버스(159)에 대한 인터페이스를 포함한다. 일부 실시예들에서, 멀티미디어 링크의 풀 듀풀렉스 제어 채널에 대한 인터페이스는 풀 듀풀렉스 링크 계층 회로 (360)를 포함한다. 더구나, 싱크 디바이스 (115)는 싱크 디바이스 (115)에서 소프트웨어와 인터페이스 접속하는 하프 듀풀렉스 변환 계층 회로 (380)를 포함한다. 싱크 디바이스 (115)는 따라서 풀 듀풀렉스 링크 계층 (360) 및 하프 듀풀렉스 변환 계층 (380)사이에서 인터페이스 접속 또는 중재하기 위한 그 자체의 중재 로직 (370)을 포함한다. 싱크 디바이스 (115)에서 중재 로직 (370)은 또한 풀 듀풀렉스 제어 채널/버스(159)를 통하여 소스 디바이스 (110)로부터 및 소스 디바이스로 제어 데이터의 전송을 제어하기 위한 기능을 수행한다. 일부 실시예들에서, 싱크 디바이스(115)의 중재 로직 (370)는 또한 싱크 디바이스의 하프 듀풀렉스 변환 계층 회로 (380) 및 싱크 디바이스(115)의 풀 듀풀렉스 링크 계층 회로 (360)사이에서 제어 데이터의 흐름을 제어하는 스테이트 머신(state machine)을 포함한다. 싱크 디바이스 (115)의 풀 듀풀렉스 링크 계층 회로 (360), 하프 듀풀렉스 변환 계층 회로 (380), 및 중재 로직 (370)는 소스 디바이스 (110)의 풀 듀풀렉스 링크 계층 회로 (330), 하프 듀풀렉스 변환 계층 회로 (310), 및 중재 로직 (320)와 다양한 속성들 및 기능들을 각각 공유한다. 간결함을 위하여, 이들 세부사항들은 여기에서 반복되지 않는다.
충돌 부존재에서의 디바이스간 통신
도 3을 참고로 하여 상기에서 설명된 것처럼, 소스 디바이스 (110) 및 싱크 디바이스 (115)의 변환 계층 회로들 (310) 및 (380)은 제어 정보를 생성하고 수신하도록 구성된다. 변환 계층들은 하프 듀풀렉스에서 동작하고 하프 듀풀렉스에서 레거시 디바이스 소프트웨어와 인터페이스 접속한다. 하프 듀풀렉스이기 때문에, 어느 한쪽의 디바이스의 변환 계층은 임의의 주어진 시간에 그것의 내부 인터페이스들을 통하여 해당 개별 디바이스의 중재 로직 및 디바이스 소프트웨어로 패킷 데이터 송신 또는 패킷 데이터 수신 중 어느 하나를 수행하지만 그러나 동시에 둘 다를 수행하지 않도록 구성된다. 다시 말해서, 도 3를 다시 참조하여, 변환 계층 (310) 또는 (380)은 피어 디바이스로 추가 송신을 위해 로컬 디바이스에서 소프트웨어로부터 제어 패킷을 획득하고, 패킷을 프로세싱하고, 그리고 링크 계층 (330) 또는 (360)으로 패킷을 개별적으로 제공함으로써 (개별적으로 중재 로직 (320) 또는 (370)를 통하여) 로컬 디바이스로부터 피어 디바이스로 패킷 데이터 송신을 지원할 수 있다. 대안적으로, 변환 계층 (310) 또는 (380)은 역 동작들 - 중재 로직 (320) 또는 (370)로부터 각각 수신된 패킷을 획득하고, 패킷을 프로세싱하고, 및 소프트웨어 로컬 디바이스에서 소프트웨어로 패킷을 제공함-을 수행함으로써 로컬 디바이스에서 피어 디바이스로부터 패킷 수신을 지원할 수 있다. 그러나, 변환 계층 (310) 또는 (380)은 각각 그것이 하프 듀풀렉스에서 동작하기 때문에 패킷 데이터 송신 및 패킷 데이터 수신 둘 다를 동시에 지원할 수 없다.
소스 디바이스 (110) 또는 싱크 디바이스 (115)에서 변환 계층의 하프 듀풀렉스 성질에서 기인한 이 제약은 어느 하나의 디바이스를 임의의 주어진 순간에 제어 데이터 송신 또는 제어 데이터 수신 중 어느 하나를 수행하지만 그러나 둘 다를 수행할 없는 것으로 귀결된다. 비록 변환 계층 (310) 또는 (380)에서 각각의 이 제약은 둘 모두의 디바이스들이 제어 데이터를 동시에 교환하기 위해 시도할 때 잠재적인 변환 계층 충돌로 이어질 수 있지만, 이 제약은 소스 또는 싱크 디바이스들 중 하나만이 임의의 주어진 시간에 제어 데이터를 송신하기 위해 시도할 때 충돌로 이어지지 않을 것이다.
예를 들어, 제 1 시나리오에서, 소스 디바이스 (110)가 제어 버스 (159)를 통하여 싱크 디바이스 (115)로 제어 데이터를 송신하도록 구성되지만, 그러나 싱크 디바이스 (115)는 소스 디바이스 (110)로 다시 제어 데이터를 송신하도록 시도하지 않을 때, 싱크 디바이스 (115)는 소스 디바이스 (110)에서 발원한 제어 데이터 수신 하는 것을 수용한다. 이런 환경들 하에서, 소스 및 싱크 디바이스들간에 충돌은 없다. 이런 충돌의 부존재시에, 소스 디바이스 (110) 및 싱크 디바이스 (115)는 MHL 3 링크의 풀 듀풀렉스 양방향의 증강된 제어 버스 (159) (eCBUS)상에서 끊김없이 제어 데이터를 통신할 수 있다.
도면들 5a-5b는 일부 실시예들에 따른, 데이터 전송 충돌의 부존재시에 소스 디바이스(110)로부터 싱크 디바이스(115)로 패킷 송신을 예시하는 블럭 다이어그램들을 포함한다.
이 시나리오에서, 소스 디바이스 (110)는 제어 버스 (159)로 액세스를 요청함으로써 싱크 디바이스 (115)로 제어 데이터의 송신을 개시한다. 구체적으로, 일부 실시예들에서, 소스 디바이스 (110)에서의 변환 계층 (310)은 중재 로직 (320)으로 송신 요청을 송신하고 차례로, CBUS (159)에 대한 액세스를 획득하기 위해 링크 계층 (330)에 요청한다. 소스 디바이스 (110)의 링크 계층 (330)은 CBUS (159)에 대한 액세스를 획득하고 소스 디바이스 (110)가 제어 버스 (159)에 대한 액세스를 얻을 것을 나타내는 소스 디바이스 (110)의 중재 로직 (320)으로 로컬 승인 신호를 어써트(assert)한다. 그런다음, 소스 디바이스 (110)는 싱크 디바이스 (115)로의 제어 패킷 (패킷 Xmit) 송신으로 진행한다. 구체적으로, 소스 디바이스의 변환 계층 (310)은 패킷 송신 (패킷 Xmit)을 개시하여 중재 로직 (320)으로 제어 데이터를 송신한다. 중재 로직 (320)은 변환 계층 (310)으로부터 링크 계층 (330)으로 제어 패킷들을 전파하기 위해 하나 이상의 송신 상태들로 진입한다.
싱크 디바이스 (115)는 소스 디바이스 (110)로부터 제어 패킷 (패킷 Rcv)을 수신한다. 제어 패킷을 수신 하자마자, 싱크 디바이스 (115)는 해당 제어 패킷에 대응하여 긍정적인 (Send Ack) 또는 부정적인 확인 응답 신호 (Send NACK 바이트)로 응답한다. 특별히, 싱크 디바이스 (115)에서 중재 로직 (370)은 에러 체크를 실행시킬 수 있고 패킷이 유효한 (에러 없이) 또는 결함있는 (에러-있는(error-ridden)) 상태로 수신되었는지를 판단하고 해당 판단에 기반하여, ACK 또는 NAK 신호들을 각각 발생시킨다. ACK 또는 NAK 신호 (Rcv Ack)를 수신 하자마자, 소스 디바이스 (110)에서의 중재 로직 (320)은 송신 이벤트의 완료를 나타내는 소스 디바이스 (110)의 변환 계층 (310)으로 표시 (Xmit Done)를 발송할 수 있다. 이것이 디바이스간 송신 충돌의 부존재시에 소스 디바이스 (110)로부터 싱크 디바이스 (115)로 송신 프로세스를 완료시킨다.
반대로, 제 2 시나리오에서, 싱크 디바이스 (115)가 소스 디바이스 (110)로 제어 버스(159)상에서 제어 데이터를 송신하도록 시도할 때에 소스 디바이스 (110) 그 자체는 싱크 디바이스 (115)로 제어 데이터를 송신하도록 구성되지 않으면, 그러면 이런 시간에 소스 디바이스(110)는 싱크 디바이스 (115)에서 발원한 제어 데이터를 수신하는 것을 수용한다. 따라서, 소스 디바이스 (110) 또는 싱크 디바이스 (115) 어느 쪽에서도 충돌이 발생하지 않는다.
도면들 6a-6b는 일부 실시예들에 따른, 데이터 전송 충돌의 부존재시에 싱크 디바이스(115)로부터 소스 디바이스(110)로 패킷 송신을 예시하는 블럭 다이어그램들을 포함한다. 이 시나리오에서, 싱크 디바이스 (115)는 제어 버스 (159)로 액세스를 요청함으로써 소스 디바이스 (110)로 제어 데이터의 송신을 개시한다. 중재 로직 (370)으로부터의 액세스 요청은 싱크 디바이스 (115)에서의 변환 계층 (380)에 의해 어써트된 송신 요청에 응답일 수 있다. 제어 버스 (159)에 대한 액세스를 얻자마자, 싱크 디바이스 (115)는 소스 디바이스 (110)로 제어 버스 (159)를 통하여 제어 패킷 (패킷 Xmit) 송신으로 진행한다. 그렇게 하기 위해서, 변환 계층 (380)은 싱크 디바이스 (115)에서의 중재 로직 (370)으로 제어 패킷 (패킷 Xmit)을 전파하고, 차례로, 링크 계층 (360)로 제어 패킷을 전파한다. 제어 패킷 (패킷 Rcv)를 수신 하자마자, 소스 디바이스 (110)는 싱크 디바이스 (115)로 제어 패킷 (Send Ack)을 긍정적 또는 부정적으로 확인응답 할 수 있다. 특별히, 소스 디바이스 (110)에서의 중재 로직 (320)은 에러 체크를 실행시킬 수 있고 패킷이 유효한 (에러 없이) 또는 결함있는 (에러-있는(error-ridden)) 상태로 수신되었는지를 판단하고 해당 판단에 기반하여, ACK 또는 NAK 신호들을 각각 발생시킨다. ACK 또는 NAK 신호 (Rcv Ack)를 수신 하자마자, 싱크 디바이스 (115)는 송신 프로세스를 완료한다; 예를 들어, 송신 완료(Xmit_Done) 신호가 해당 패킷에 대한 송신의 끝을 표시하기 위해서 싱크 디바이스 (115)의 중재 로직 (370)으로부터 싱크 디바이스 (115)의 변환 계층 (380)으로 발송된다.
충돌 존재에서의 디바이스간 통신
소스 디바이스 (110) 및 싱크 디바이스 (115) 둘 모두가 동시에, 실질적으로 동시에, 또는 서로의 지정된 간격 내에서 제어 버스 (159)상에서 제어 데이터 송신을 시도할 때의 환경들 하에서, 잠재적인 프로토콜 충돌이 소스 또는 싱크 디바이스들의 하프 듀풀렉스 변환 계층에서 뿐만 아니라 제어 버스 (159)상에서 일어날 수 있다. 이들 환경들 하에서 일어나는 변환 계층 충돌을 다루기 위해서 일련의 미리 정의된 규칙들 및 우선순위들이 사전에 정의될 필요가 있다.
MHL 3 구성에서, 소스 디바이스 (110)는 멀티미디어 채널을 통하여 멀티미디어 데이터 스트림들 (예를 들어, 오디오/비디오/보조 스트림들)을 싱크 디바이스 (115)로 송신한다. 다시 말해서, 소스 디바이스 (110)는 멀티미디어 컨텐츠의 발신자 또는 제공자이고 싱크 디바이스 (115)는 수신기 또는 수신자이다. 멀티미디어 컨텐츠의 발신자이기 때문에, 소스 디바이스 (110)는 싱크 디바이스 (115)에 비하여 멀티미디어 데이터 송신 우선순위를 둔다. 싱크 디바이스 (115)는, 반면에, 멀티미디어 데이터 통신 프로세스에서 보다 수동적인 ‘팔로어(follower)' 역할을 가지며 따라서 소스 디바이스 (110)보다 더 낮은 우선순위를 둔다. 따라서, 충돌이 제어 데이터를 교환하는 프로세스 동안에 발생하면, 소스 디바이스 (110)는 제어 버스 (159)에 관하여 우선순위를 얻는다. 다르게 말해서, 싱크 디바이스 (115)에 통신에 관하여 결합된 때, 소스 디바이스는 풀 듀풀렉스 제어 채널상에서 일어나는 데이터 전송 충돌의 이벤트에서 풀 듀풀렉스 제어 채널을 통하여 싱크 디바이스로 제어 데이터를 송신하기 위한 송신 우선순위가 주어진다. 이들 시나리오들은 도면들 4a-4b에 예시된 플로우 차트들 뿐만 아니라 도면들 7a-7b 및 8a-8b의 블럭 다이어그램들을 참고로 하여 추가로 설명된다.
소스 디바이스에서 충돌 핸들링
도 4a는 일부 실시예들에 따른, MHL 3 링크를 통하여 MHL 3 싱크 디바이스와 인터페이스 접속할 때 MHL 3 소스 디바이스상에서 수행되는 충돌 해소 워크플로우의 플로우 차트를 예시한다. 도면들 7a-7b는 일부 실시예들에 따른, 소스 디바이스(110)에서 수행되는 충돌 핸들링 시그널링을 예시하는 대응 블럭 다이어그램들을 포함한다.
멀티미디어 컨텐츠의 발신자이기 때문에, 소스 디바이스는 싱크 디바이스에 비하여 멀티미디어 데이터 송신 우선순위를 둔다. ‘팔로어' 또는 수신자이기 때문에, 싱크 디바이스는 보다 낮은 우선순위를 가진다. 소스 디바이스가 싱크 디바이스로 아웃바운드 제어 데이터를 송신하는 동안 디바이스간 충돌이 발생하면, 우선순위는 소스 디바이스에 주어지고 - 싱크 디바이스로부터의 착신 수신 요청을 희생하여 소스 대 싱크 디바이스 송신이 우세해진다. 구체적으로, 소스 디바이스가 싱크 디바이스로 아웃바운드 제어 데이터를 송신하는 동안 소스 디바이스의 중재 로직은 싱크 디바이스로부터의 인바운드 제어 데이터를 수신하기 위한 요청들을 무시한다. 이것은 도 4a 및 도면들 7a-7b를 참고로 하여 추가로 설명된다. 설명의 단순화 및 용이를 위하여, 도 4a 및 도면들 7a-7b가 함께 설명된다.
도 4a에 도시된 바와 같이, 소스 디바이스는 제어 데이터의 송신을 시작한다(410). 예를 들어, 도면들 7a-7b에 관련하여, 소스 디바이스 (110)에 중재 로직 (320)은 소스 디바이스 (110)의 변환 계층 (310)으로부터 제어 데이터 송신 요청을 수신한다. 중재 로직 (320)은 그런 다음 싱크 디바이스 (115)로 아웃바운드 제어 데이터를 송신하기 위한 하나 이상의 송신 상태들로 진입함으로써 패킷 송신 이벤트를 개시한다. 일부 실시예들에서, 중재 로직 (320)은 소스 디바이스 (110)의 링크 계층 (330)으로 송신 요청 신호를 어써트 한 후에 및 링크 계층 (330)로부터, 풀 듀풀렉스 제어 채널/버스 (159)로의 액세스를 인가하는 로컬 송신 승인 신호를 수신한 후에 패킷 송신 이벤트 (패킷 Xmit)를 개시한다. 헤더 바이트, 상위 차수 바이트, 및 하위 차수 바이트를 포함하는-제어 데이터의 세개의 바이트들을 포함하는 제어 패킷은 변환 계층 (310)으로부터 수신되고 링크 계층 (330)을 통하여 송신된다. 이런 시스템들에서, 하나 이상의 송신 상태들은 헤더 송신 상태, 상위 차수 바이트 송신 상태, 및 하위 차수 바이트 송신 상태에 해당한다. 추가하여, 송신 상태들은 또한 소스 디바이스 (110)가 싱크 디바이스 (115)로부터 긍정적인 또는 부정적인 확인 응답 신호를 기다리는 동안의 휴지 송신 상태(stop transmission state)를 포함한다.
다시 도 4a를 참고로 하여, 소스 디바이스 (110)는 싱크 디바이스 (115)로부터 패킷 수신 요청을 수신한다(415). 도면들 7a-7b에 예시된 바와 같이, 싱크 디바이스 (115)에서의 변환 계층 (380)은 소스 디바이스 (110)로 패킷들을 송신하기 위한 송신 요청 (Xmit Req)을 어써트한다. 이 송신 요청 (Xmit Req)은 중재 로직 (370)및 링크 계층 (360)를 통하여, CBUS (159)를 통하여, 소스 디바이스 (110)로 전파된다. 소스 디바이스는 이어서 싱크 디바이스 (115)로부터 인바운드 제어 데이터를 수신하기 위한 요청에 대응하는 패킷 수신 요청 (Rcv Req)으로 이 요청을 수신한다. 도 4a에 예시된 바와 같이, 일부 실시예들에서, 중재 로직은 소스 디바이스가 제어 버스에 대한 액세스를 얻기 전에 패킷 수신 요청이 도달되었는지 아닌지에 관한 판단을 한다(418). 이런 시스템들에서, 만약 중재 로직 (320)이 소스 디바이스 (110)의 링크 계층(330)으로 송신 요청 신호를 어써트 한 후 그리고 링크 계층 (330)으로부터, 송신 승인 신호 (즉, 제어 버스에 대한 액세스를 얻기 전에)를 수신하기 전에 싱크 디바이스 (115)로부터 인바운드 제어 데이터를 수신하는 요청을 수신하면, 중재 로직 (320)은 송신 요청 신호를 디-어써트(de-assert)함으로써 송신을 중단하고(420) 싱크 디바이스 (115)로부터 인바운드 제어 데이터를 수신하기 위한 요청을 프로세스한다.
그러나, 대안으로서, 만약 중재 로직 (320)이 싱크 디바이스 (115)로부터 송신 승인을 수신한 후에 그리고 중재 로직 (320)이 패킷 송신 상태들 중 하나에 있는 동안에 패킷 수신 요청 (Rcv Req)을 수신하면, 중재 로직 (320)은 송신을 완료하기 위해 진행한다; 즉, 소스 디바이스 (110)는 싱크 디바이스 (115)에서 발원한 수신 요청 (Rcv Req)을 무시한다(422). 만약 소스 디바이스 (110)의 중재 로직 (320)이 이미 개시된 패킷 송신 (패킷 Xmit)을 가지면, 그러면, 싱크 디바이스 (115)로부터의 인바운드 제어 데이터를 수신하기 위한 수신 요청 (Rcv Req)에 응답하여, 중재 로직 (320)은 소스 디바이스 (110)에서 패킷 송신 이벤트가 완료된 지 아닌지를 판단한다. 일부 실시예들에서, 소스 디바이스 (110)에서 패킷 송신 이벤트가 완료된 지 아닌지를 판단하는 것은 패킷 송신 이벤트에 대응하여 싱크 디바이스로부터 긍정적인 또는 부정적인 확인 응답 신호가 수신되었는지 아닌지를 판단하는 것을 포함한다. 패킷 송신 이벤트가 완료되지 않았다는 판단에 따라, 중재 로직 (320)은 패킷 송신 이벤트를 계속함으로써 (도 7b에 예시된 바와 같이) 싱크 디바이스 (115)로부터 인바운드 제어 데이터를 수신하기 위한 요청을 무시한다. 다시 말해서, 소스 디바이스가 송신 상태에 있으면 패킷 수신 요청을 무시한다(420).
그런다음 소스 디바이스는 송신을 완료한다(425). 예를 들어, 도 7c에 예시된 바와 같이, 소스 디바이스는 싱크 디바이스 (Send Ack)로부터 긍정적인 또는 부정적인 확인 응답 (Rcv Ack) 신호를 수신한다. 소스 디바이스에서 중재 로직 (320)은 패킷 송신 이벤트의 끝을 나타내는 송신 완료 (Xmit Done) 신호를 변환 계층 (310)으로 송신함으로써 송신 상태들을 빠져 나온다.
송신을 완료 하자마자, 중재 로직 (320)은 유휴 상태(idle state)에 진입한다(430). 추가적으로, 만약 패킷 수신 요청이 다시 감지된다면, 소스 디바이스는 패킷 수신 요청을 임의로 프로세스한다(430). 그렇게 하기 위해서, 중재 로직 (320)은 싱크 디바이스로부터 제어 데이터가 수신되는 동안에 수신 상태로 진입할 수 있다.
싱크 디바이스에서 충돌 핸들링
도 4b는 일부 실시예들에 따른, MHL 3 링크를 통하여 MHL 3 소스 디바이스와 인터페이스 접속할 때 MHL 3 싱크 디바이스상에서 수행되는 충돌 해소 워크플로우의 플로우 차트를 예시한다. 도면들 8a-8b는 일부 실시예들에 따른, 싱크 디바이스(115)에서 수행되는 충돌 핸들링 시그널링을 예시하는 블럭 다이어그램들을 포함한다. 설명의 단순화 및 용이를 위하여, 도 4b 및 도면들 8a-8b이 함께 설명된다.
다시, 싱크 디바이스는 ‘팔로어' 또는 멀티미디어 컨텐츠의 수신자이기 때문에, 싱크 디바이스는 더 낮은 송신 우선순위를 가진다. 싱크 디바이스가 싱크 디바이스로 아웃바운드 제어 데이터를 송신하는 동안 디바이스간 충돌이 발생하면, 우선순위는 소스 디바이스에 주어지고 - 소스 디바이스로부터의 착신 수신 요청에 유리하게 싱크 대 소스 디바이스 송신은 중단된다(예를 들어, 일시적으로 중지된다). 다시 말해서, 싱크 디바이스의 중재 로직은 소스 디바이스로부터의 착신 제어 데이터를 수신하기 위한 요청 수신에 응답하여 송신 풀 듀풀렉스 제어 채널을 통하여 아웃바운드 제어 데이터를 송신하는 것을 중단한다. 이것은 도 4b 및 도면들 8a-8b를 참고로 하여 설명된다.
먼저, 도 4b에 도시된 바와 같이, 싱크 디바이스는 제어 데이터의 송신을 시작한다(460). 예를 들어, 도 8a에 관련하여, 중재 로직 (370)은 변환 계층 (380)으로부터 제어 데이터 송신 요청을 수신한다. 중재 로직 (370)은 그런다음 제어 버스 (159)에 대한 액세스를 요청하고 그리고 승인받는다. 제어 버스(159)에 대한 액세스를 수신한 후에, 중재 로직 (370)은 소스 디바이스 (110)로 아웃바운드 제어 데이터를 송신하기 위한 하나 이상의 송신 상태들로 진입함으로써 패킷 송신 이벤트를 개시한다. 상기에서 설명된 것처럼, 일부 실시예들에서, 송신되는 패킷은 제어 데이터의 3 바이트들 - 헤더, 상위 차수 바이트, 및 하위 차수 바이트를 가진다. 따라서, 이런 시스템들에서, 송신 이벤트는 패킷 송신 이벤트의 시작을 나타내는 헤더 송신 상태, 상위 차수 바이트 송신 상태, 및 하위 차수 바이트 송신 상태를 포함한다. 싱크 디바이스(115)에서의 송신 상태들은 또한 소스 디바이스 (110)가 싱크 디바이스 (115)로부터 긍정적인 또는 부정적인 확인 응답 신호를 기다리는 동안의 휴지 송신 상태(stop transmission state)를 포함한다.
도 4b로 돌아와서, 싱크 디바이스는 소스 디바이스로부터 패킷 수신 요청 (예를 들어, 인바운드 제어 데이터를 수신하기 위한 요청)을 수신한다(465). 일부 실시예들에서, 도 8a에 예시된 바와 같이, 제어 버스 (159)에 대한 액세스를 얻은 후에 그리고 싱크 디바이스 (115)에서 중재 로직 (370)이 송신 상태들 중 하나에 진입함으로써 패킷 송신 이벤트 (패킷 Xmit)를 개시한 후에 싱크 디바이스 (115)는 패킷 수신 요청 (Rcv Req)을 수신한다. 다시 말해서, 싱크 디바이스 (115)는 하나 이상의 그것의 송신 상태들 동안에 인바운드 제어 데이터 (Rcv Req)를 수신하기 위한 요청을 수신한다. 소스 디바이스 (110)로부터 인바운드 제어 데이터를 수신하기 위한 요청 수신에 응답하여, 싱크 디바이스에서 중재 로직 (370)은 싱크 디바이스 (115)에서 패킷 송신 이벤트가 완료된 지 아닌지를 판단한다. 예를 들어, 중재 로직 (370)은 해당 패킷 송신 이벤트에 대하여 송신된 패킷에 대응하여 소스 디바이스 (110)로부터 긍정적인 또는 부정적인 확인 응답 신호가 수신되었는지 아닌지를 판단한다.
만약 싱크 디바이스 (115)가 패킷 송신 이벤트 동안에 소스 디바이스 (110)로부터 인바운드 제어 데이터를 수신하기 위한 요청을 수신하면, 싱크 디바이스는 송신을 중단한다(470). 다시 말해서, 패킷 송신 이벤트가 완료되지 않았다는 판단에 기초하여, 싱크 디바이스에서 중재 로직은 송신 중단 상태에 진입함으로써 소스 디바이스로의 패킷 송신 이벤트를 중지한다. 예를 들어, 도 8b에 예시된 바와 같이, 싱크 디바이스 (115)에서 중재 로직 (370)은 싱크 디바이스 (115)에서 변환 계층 (380)으로 송신 중단(Xmit Abort) 신호를 발송한다. 송신 중단을 수신한 때, 싱크 디바이스 (115)에서의 변환 계층 (380)은 그것의 송신 상태를 중지한다(예를 들어, 일시적으로, 지정된 시간 기간동안).
일부 실시예들에서, 소스 디바이스 (110)를 참고로 하여 설명된 유사한 체계(line)들을 따라서, 만약 싱크 디바이스 (115)가 제어 버스 (159)에 대한 액세스를 요청한 후 그러나 제어 버스에 대한 액세스를 얻기 전 소스 디바이스 (110)로부터 패킷 수신 요청 (Rcv Req) 수신한다면, 싱크 디바이스 (110)는 계속 송신 이벤트를 중단할 수 있다. 그러나, 그에 반해서 소스 디바이스 (110), 그것은 소스 디바이스 (110)가 제어 버스에 대한 액세스를 획득한 후에 수신된 수신 요청을 무시하고, 싱크 디바이스는 설사 제어 버스에 대한 액세스를 얻은 후에 요청이 소스 디바이스 (110)로부터 수신될지라도 싱크 디바이스 (115)는 송신을 중단한다 - 소스 디바이스 (110)에서 발원한 수신 요청 프로세스를 우위에 둠. 따라서, 제어 버스에 대한 액세스를 획득한 싱크 디바이스에 관련한 소스 디바이스로부터의 수신 요청의 상대적 타이밍에 관계없이, 싱크 디바이스 송신 이벤트 희생으로 소스 디바이스 요청이 다루어진다.
도 4b로 돌아가서, 송신 중단하자마자, 싱크 디바이스 (115)는 패킷 수신 요청을 프로세스한다(475). 예를 들어, 도 8b에 관련하여, 싱크 디바이스 (115)에서의 중재 로직 (370)은 소스 디바이스 (110)로부터 착신 제어 데이터 (패킷 Rcv)을 수신하기 위한 패킷 수신 이벤트를 개시하거나 또는 진입한다. 제어 데이터는 패킷 수신 이벤트 동안에 수신된다. 일부 실시예들에서, 중재 로직은 인바운드 제어 데이터를 수신하고 프로세스하기 위한 하나 이상의 패킷 수신 상태들로 진입한다.
그런다음, 패킷 수신을 완료한 후에, 도 8c에 예시된 바와 같이, 싱크 디바이스 (중재 로직 (370))는 소스 디바이스로 (Send Ack) 긍정적인 또는 부정적인 확인 응답 신호 (Send Ack)를 송신한다. 소스 디바이스(110)는 확인 응답(Rcv Ack) 신호를 수신하고 그리고 소스 디바이스(100)에서 중재 로직 (320)은 패킷 송신 이벤트의 끝을 나타내는 송신 완료 (Xmit Done) 신호를 변환 계층 (310)으로 송신함으로써 송신 상태들을 빠져 나온다.
도 4b에 관련하여, 패킷 수신을 완료한 후에, 싱크 디바이스는 임의로 제어 데이터의 송신을 재시작한다 (480). 일부 실시예들에서, 패킷 수신 이벤트의 완료에 응답하여, 싱크 디바이스 (115)의 중재 로직 (370)은 유휴 상태로 진입하고 아웃바운드 제어 데이터 송신에 대한 요청이 싱크 디바이스 (115)에서 다시 어써트되었는지 아닌지를 판단한다. 만약 송신 요청 (Xmit Req)이 싱크 디바이스 (115)에서 감지되면, 싱크 디바이스 (115)에 중재 로직 (370)은 아웃바운드 제어 데이터를 소스 디바이스 (110)로 송신하기 위한 하나 이상의 송신 상태들로 재진입함으로써 패킷 송신 이벤트 (패킷 Xmit)를 재개한다.
일부 실시예들에서, 도면들 4a-4b, 5a-5b, 6a-6b, 7a-7b, 또는 8a-8b를 참고로 하여 설명된 단일 송신 이벤트에 대하여, 제어 데이터는 복수개의 제어 바이트들을 포함할 수 있다. 이런 시스템들에서, 복수개의 제어 바이트들은 비-연속적으로, 서브-부분들로 (예를 들어, 한번에 1 바이트), 또는 간헐적으로 (예를 들어, 인터리브되거나 또는 지정된 지속기간들의 시간에 의해 시간적으로 구별되어) 송신될 수 있다. 예를 들어, 단일 제어 패킷의 다양한 서브-부분들은 제어 버스 (159)의 복수개의 별개의 비-인접한 TDM 시간슬롯들 동안에 송신될 수 있다. 예를 들어, 만약 제어 버스 (159)가 TDM 주기당 ‘n' TDM 시간슬롯들로 나누어지고, 단일 송신 이벤트를 위한 단일 제어 패킷은 제어 데이터의 3 바이트들을 포함하고(제 1, 제 2, 및 제 3 제어 바이트를 포함하여), 제 1 바이트는 제 1 TDM 주기의 지정된 (예를 들어, 미리 정의된) TDM 시간슬롯 동안에 송신될 수 있고, 제 2 바이트는 다음 (제 2 연속적인) TDM 주기의 대응하는 TDM 시간슬롯 동안에 송신될 수 있고, 및 제 3 바이트는 후속 (제 3 연속적인) TDM 주기의 대응하는 TDM 시간슬롯 동안에 송신될 수 있다. 따라서, 이 예에서, 비록 세개의 제어 바이트들은 시간상으로 연속적으로 또는 연접하여 송신되지 않을지라도 오히려 세개의 별개의 TDM 주기들상에서, 하나 이상의 TDM 시간슬롯들에 의해 서로 상호간에 구별되고 세개의 제어 바이트들의 송신 뿐만 아니라 피어 디바이스로부터의 ACK/NAK 신호의 수신에 상당하는 전체 이벤트가 해당 단일 제어 패킷에 상당하는 하나의 단일 송신 이벤트로 간주된다는 것이 이해되어야 한다.
바람직하게는, 본 발명의 실시예들은 증강된 MHL 3 링크를 통하여 증강된 MHL 디바이스와 인터페이스 접속될 때 레거시 MHL 디바이스의 하나 이상의 컴포넌트들의 재유용성 및 백워드 호환성을 허용한다. 특별히, 레거시 하프 듀풀렉스 변환 계층은 증강된 MHL (MHL 3) 링크의 풀 듀풀렉스 eCBUS 뿐만 아니라 레거시 MHL 1 / 2 소프트웨어 둘 모두와 인터페이스 접속하기 위해 재사용될 수 있다. 소스 또는 싱크 디바이스들에서 일어나는 잠재적인 변환 계층 충돌들은 본 출원에 개시된 미리 정의된 셋의 송신 규칙들 및 우선순위를 시행함으로써 방지되거나 해결될 수 있다. 따라서, 본 발명의 실시예들은 레거시 MHL 링크 및 레거시 MHL 디바이스의 컴포넌트들과, 증강된 (MHL 3) 아키텍처와 호환성을 위해 독창적으로 디자인된 레거시 소프트웨어의 재유용성을 가능하게 한다.
설명의 목적을 위한 앞에서의 상세한 설명은 특정 실시예들을 참고로 하여 설명되었다. 그러나, 상기의 예시적인 논의들은 개시된 정확한 형태들에 대한 실시예들에 제한되거나 또는 망라된것으로 의도하지 않는다. 많은 수정예들 및 변형들이 상기의 교리들의 관점에서 가능하다. 실시예들은 본 발명의 원리들 및 그것의 실제적인 애플리케이션들을 가장 잘 설명하기 위해 선택되고 서술되었고, 그에 의해 관련 기술 분야의 숙련된 자들로 하여금 고려된 특정한 사용에 적절한 다양한 수정예들을 갖는 실시예들을 최적으로 활용하는 것이 가능하다.

Claims (14)

  1. 통신 시스템에 있어서,
    풀 듀풀렉스 제어 채널을 갖는 멀티미디어 링크;
    상기 풀 듀풀렉스 제어 채널에 결합된 소스 디바이스;
    상기 풀 듀풀렉스 제어 채널에 결합된 싱크 디바이스;
    상기 소스 디바이스는 상기 풀 듀풀렉스 제어 채널을 통하여 상기 싱크 디바이스와 제어 데이터를 전송할 수 있고, 상기 소스 디바이스가 소스 하프 듀풀렉스 변환 계층에 해당하는 아웃바운드 제어 데이터를 상기 싱크 디바이스로 송신하는 동안 상기 소스 디바이스는 상기 싱크 디바이스로부터 인바운드 제어 데이터를 수신하기 위한 요청들을 무시하고;및
    상기 싱크 디바이스는 상기 풀 듀풀렉스 제어 채널을 통하여 상기 소스 디바이스와 하프 듀풀렉스 변환 계층에 해당하는 제어 데이터를 전송할 수 있고, 상기 제 2 디바이스는 상기 풀 듀풀렉스 제어 채널을 통하여 상기 제 1 디바이스로부터 착신 제어 데이터를 수신하기 위한 요청 수신에 응답하여 싱크 하프 듀풀렉스 변환 계층에 해당하는 아웃바운드 제어 데이터 송신을 중단하는, 통신 시스템.
  2. 청구항 1에 있어서, 상기 싱크 디바이스에 통신에 관하여 결합된 때, 상기 소스 디바이스는 상기 풀 듀풀렉스 제어 채널상에서 일어나는 데이터 전송 충돌의 이벤트에서 상기 풀 듀풀렉스 제어 채널을 통하여 상기 싱크 디바이스로 제어 데이터를 송신하기 위한 송신 우선순위를 갖는, 통신 시스템.
  3. 멀티미디어 링크를 통하여 통신하는 소스 디바이스에 있어서, 상기 소스 디바이스는
    하프 듀풀렉스 변환 계층;
    상기 멀티미디어 링크의 풀 듀풀렉스 제어 채널에 결합하는 링크 계층; 및
    상기 풀 듀풀렉스 제어 채널을 통하여 싱크 디바이스와의 제어 데이터의 전송을 제어하는 중재 로직으로서, 상기 소스 디바이스가 상기 링크 계층을 통하여 상기 싱크 디바이스에 대한 상기 하프 듀풀렉스 변환 계층에 해당하는 아웃바운드 제어 데이터를 송신하는 동안 상기 중재 로직은 상기 싱크 디바이스로부터 인바운드 제어 데이터를 수신하기 위한 요청들을 무시하도록 상기 소스 디바이스를 제어하는, 소스 디바이스.
  4. 청구항 3에 있어서,
    상기 중재 로직은 상기 싱크 디바이스로 아웃바운드 제어 데이터를 송신하기 위한 하나 이상의 송신 상태들로 진입함으로써 패킷 송신 이벤트를 개시하고, 및
    상기 하나 이상의 송신 상태들 동안에, 상기 중재 로직은 상기 싱크 디바이스로부터 인바운드 제어 데이터를 수신하기 위한 요청들을 수신하는, 소스 디바이스.
  5. 청구항 4에 있어서, 상기 중재 로직은 상기 링크 계층으로 송신 요청 신호를 어써트 한 후에, 그리고 상기 링크 계층으로부터, 상기 풀 듀풀렉스 제어 채널에 대한 액세스를 인가하는 송신 승인 신호를 수신한 후에 상기 패킷 송신 이벤트를 개시하는, 소스 디바이스.
  6. 청구항 4 에 있어서, 상기 하나 이상의 송신 상태들은 상기 패킷 송신 이벤트의 시작을 나타내는 헤더 송신 상태, 상위 차수 바이트 송신 상태, 하위 차수 바이트 송신 상태, 또는 상기 소스 디바이스가 상기 싱크 디바이스로부터 긍정적인 또는 부정적인 확인 응답 신호를 기다리는 동안의 휴지 송신 상태(stop transmission state)에 해당하는, 소스 디바이스.
  7. 청구항 5에 있어서, 만약 상기 중재 로직이 상기 소스 디바이스의 상기 링크 계층으로 송신 요청 신호를 어써트 한 후에 그리고 상기 링크 계층으로부터 송신 승인 신호를 수신하기 전에 상기 싱크 디바이스로부터 인바운드 제어 데이터를 수신하기 위한 요청을 수신하면, 상기 중재 로직은 상기 송신 요청 신호를 디-어써트함으로써 송신을 중단하고 상기 싱크 디바이스로부터 인바운드 제어 데이터를 수신하기 위한 상기 요청을 프로세스하는, 소스 디바이스.
  8. 청구항 4 에 있어서,
    상기 싱크 디바이스로부터 인바운드 제어 데이터를 수신하기 위한 요청 수신에 응답하여, 상기 중재 로직은 상기 소스 디바이스에서 상기 패킷 송신 이벤트가 완료된지 아닌지를 판단하고. 및
    상기 패킷 송신 이벤트가 완료되지 않았다는 판단에 따라, 상기 중재 로직은 상기 패킷 송신 이벤트를 계속함으로써 상기 싱크 디바이스로부터 인바운드 제어 데이터를 수신하기 위한 상기 요청을 무시하는, 소스 디바이스.
  9. 청구항 8 에 있어서, 상기 소스 디바이스에서 상기 패킷 송신 이벤트가 완료된지 아닌지를 판단하는 단계는 상기 패킷 송신 이벤트에 대응하여 상기 싱크 디바이스로부터 긍정적인 또는 부정적인 확인 응답 신호가 수신되었는지 아닌지를 판단하는 단계를 포함하는, 소스 디바이스.
  10. 청구항 3에 있어서,
    상기 중재 로직은 상기 하프 듀풀렉스 변환 계층 및 상기 풀 듀풀렉스 링크 계층사이에서 제어 데이터의 흐름을 제어하는 스테이트 머신(state machine)을 포함하는, 소스 디바이스.
  11. 멀티미디어 링크를 통하여 통신하는 싱크 디바이스에 있어서, 상기 싱크 디바이스는
    하프 듀풀렉스 변환 계층;
    상기 멀티미디어 링크의 풀 듀풀렉스 제어 채널에 결합하는 링크 계층; 및
    상기 풀 듀풀렉스 제어 채널을 통하여 소스 디바이스와의 제어 데이터의 전송을 제어하는 중재 로직으로서, 상기 중재 로직은 상기 소스 디바이스로부터의 착신 제어 데이터를 수신하기 위한 요청 수신에 응답하여 상기 풀 듀풀렉스 제어 채널을 통하여 아웃바운드 제어 데이터를 송신하는 것을 중단하는, 싱크 디바이스.
  12. 청구항 11에 있어서,
    상기 중재 로직은 상기 소스 디바이스로 아웃바운드 제어 데이터를 송신하기 위한 하나 이상의 송신 상태들로 진입함으로써 패킷 송신 이벤트를 개시하고, 및
    상기 하나 이상의 송신 상태들 동안에, 상기 중재 로직은 상기 소스 디바이스로부터 착신 제어 데이터를 수신하기 위한 요청들을 수신하는, 싱크 디바이스.
  13. 청구항 11에 있어서,
    상기 소스 디바이스로부터 착신 제어 데이터를 수신하기 위한 요청 수신에 응답하여, 상기 중재 로직은 상기 싱크 디바이스에서 패킷 송신 이벤트가 완료된지 아닌지를 판단하고, 및
    상기 패킷 송신 이벤트가 완료되지 않았다는 판단에 따라, 상기 중재 로직은 상기 소스 디바이스로부터 착신 제어 데이터를 수신하기 위하여 송신 중단 상태로 진입하고 그리고 패킷 수신 이벤트를 개시함으로써 상기 소스 디바이스로 상기 패킷 송신 이벤트를 중지하는, 싱크 디바이스.
  14. 청구항 13 에 있서,
    상기 패킷 수신 이벤트의 완료에 응답하여, 상기 중재 로직은 유휴 상태로 진입하고 아웃바운드 제어 데이터 송신에 대한 요청이 상기 싱크 디바이스에서 여전히 어써트되는지 아닌지를 판단하고, 및
    상기 판단에 응답하여, 상기 중재 로직은 상기 소스 디바이스로 상기 아웃바운드 제어 데이터를 송신하기 위한 하나 이상의 송신 상태들로 재진입함으로써 상기 패킷 송신 이벤트를 재개하는, 싱크 디바이스.
KR1020140124818A 2014-08-29 2014-09-19 멀티미디어 링크상의 디바이스간 충돌 해소 KR102022468B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/474,005 US10043480B2 (en) 2014-08-29 2014-08-29 Inter-device conflict resolution on a multimedia link
US14/474,005 2014-08-29

Publications (2)

Publication Number Publication Date
KR20160026591A true KR20160026591A (ko) 2016-03-09
KR102022468B1 KR102022468B1 (ko) 2019-11-04

Family

ID=55403808

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140124818A KR102022468B1 (ko) 2014-08-29 2014-09-19 멀티미디어 링크상의 디바이스간 충돌 해소

Country Status (2)

Country Link
US (1) US10043480B2 (ko)
KR (1) KR102022468B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015153915A1 (en) * 2014-04-04 2015-10-08 Lattice Semiconductor Corporation Detecting the orientation of a multimedia link connected to a device
US10043480B2 (en) * 2014-08-29 2018-08-07 Lattice Semiconductor Corporation Inter-device conflict resolution on a multimedia link

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745048A (en) * 1995-02-09 1998-04-28 Nippondenso Co., Ltd. Communication system
US20030002449A1 (en) * 2001-07-02 2003-01-02 Motorola, Inc Method and system for data packet collision avoidance in a wireless communication system
US20120072629A1 (en) * 2010-09-16 2012-03-22 Ricoh Company, Ltd. Communication system, master device and slave device, and communication method
US20130073775A1 (en) * 2009-05-29 2013-03-21 Jack Wade Systems and methods for image stream processing

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101159518B (zh) * 2003-02-03 2012-02-22 索尼株式会社 通信方法和通信设备
JP4668645B2 (ja) * 2005-02-24 2011-04-13 パナソニック株式会社 Dmaコントローラ及びデータ転送制御方法
JP5240491B2 (ja) * 2007-06-26 2013-07-17 ソニー株式会社 送信装置および受信装置
US10043480B2 (en) * 2014-08-29 2018-08-07 Lattice Semiconductor Corporation Inter-device conflict resolution on a multimedia link

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745048A (en) * 1995-02-09 1998-04-28 Nippondenso Co., Ltd. Communication system
US20030002449A1 (en) * 2001-07-02 2003-01-02 Motorola, Inc Method and system for data packet collision avoidance in a wireless communication system
US20130073775A1 (en) * 2009-05-29 2013-03-21 Jack Wade Systems and methods for image stream processing
US20120072629A1 (en) * 2010-09-16 2012-03-22 Ricoh Company, Ltd. Communication system, master device and slave device, and communication method

Also Published As

Publication number Publication date
KR102022468B1 (ko) 2019-11-04
US10043480B2 (en) 2018-08-07
US20160065356A1 (en) 2016-03-03

Similar Documents

Publication Publication Date Title
US9811495B2 (en) Arbitration signaling within a multimedia high definition link (MHL 3) device
US9003089B2 (en) Synchronous serial data-exchange system
EP2238529B1 (en) Control bus for connection of electronic devices
EP2917843B1 (en) Flexible implementation of serial bus support over display interface
US9323698B2 (en) System and method for transmitting USB data over a DisplayPort transmission link
CN111666244A (zh) 存在串行互连的重定时器时实现同步报头抑制延迟优化
US9775169B2 (en) Reverse protocol for low latency wireless applications
KR101607626B1 (ko) 패킷 교환망에서의 제어 버스 시그널링의 전송
EP2733619B1 (en) Electronic device with Thunderbolt interface, connecting method thereof, and docking apparatus
US9588931B2 (en) Communication bridging between devices via multiple bridge elements
US10699363B2 (en) Link aggregator for an electronic display
US20130067128A1 (en) Methods and devices for universal serial bus port event extension
US8909843B1 (en) Peripheral component interconnect express switch apparatus and method of controlling connection thereof
KR102022468B1 (ko) 멀티미디어 링크상의 디바이스간 충돌 해소
EP2929444A1 (en) Apparatus and circuit for processing data
US9490962B2 (en) Phase relationship control for control channel of a multimedia communication link
US20160072601A1 (en) Enhanced Communication Link Using Synchronization Signal as Link Command
US9537646B2 (en) Retry disparity for control channel of a multimedia communication link
KR20160031199A (ko) 링크 명령으로서 동기화 신호를 사용하는 향상된 통신 링크
JP2014511503A (ja) アプリケーションに依存しないオーディオアクセレレーションを行うシステム、方法、およびコンピュータプログラム製品
Jin et al. A 720Mbps fast auxiliary channel design for DisplayPort 1.2

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant