KR102032862B1 - 멀티미디어 고화질 링크(mhl 3) 디바이스 내의 중재 시그널링 - Google Patents

멀티미디어 고화질 링크(mhl 3) 디바이스 내의 중재 시그널링 Download PDF

Info

Publication number
KR102032862B1
KR102032862B1 KR1020140125047A KR20140125047A KR102032862B1 KR 102032862 B1 KR102032862 B1 KR 102032862B1 KR 1020140125047 A KR1020140125047 A KR 1020140125047A KR 20140125047 A KR20140125047 A KR 20140125047A KR 102032862 B1 KR102032862 B1 KR 102032862B1
Authority
KR
South Korea
Prior art keywords
duplex
layer circuit
circuit
link layer
full
Prior art date
Application number
KR1020140125047A
Other languages
English (en)
Other versions
KR20160025424A (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 KR20160025424A publication Critical patent/KR20160025424A/ko
Application granted granted Critical
Publication of KR102032862B1 publication Critical patent/KR102032862B1/ko

Links

Images

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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4031Coupling between buses using bus bridges with arbitration
    • 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

Landscapes

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

Abstract

멀티미디어 통신 링크와 인터페이스하기 위한 장치는 전 이중 방식으로 멀티미디어 통신 링크의 제어 버스를 통해 통신하기 위해 반 이중 및 전 이중 링크 레이어 회로에서 동작하는 반 이중 트랜슬레이션 레이어 회로를 포함한다. 본 장치는 반 이중 트랜슬레이션 레이어 회로 및 전 이중 링크 레이어 회로 사이에서 통신적으로 연결된 중재 회로를 더 포함하고, 중재 회로는 반 이중 트랜슬레이션 레이어 회로 및 전 이중 링크 레이어 회로 사이에서 데이터 흐름을 제어한다. 중재 회로는 반 이중 트랜슬레이션 레이어 회로로부터 전 이중 링크 레이어 회로로 패킷들을 전송하고, 반 이중 트랜슬레이션 레이어 회로에서 전 이중 링크 레이어 회로를 통해 패킷들을 수신하고, 그리고 중재 로직에서 양방향 데이터 흐름에 기인하여 발생하는 충돌을 해결하기 위한 인터페이스 및 시그널링 규칙들을 제공한다.

Description

멀티미디어 고화질 링크(MHL 3) 디바이스 내의 중재 시그널링 {Arbitration Signaling within a Multimedia High Definition Link (MHL3) Device}
개시된 실시예들은 일반적으로 멀티미디어 고화질 링크(MHL; Multimedia High Definition Link) 표준들에 관한 것이며, 보다 상세하게는 MHL 3 디바이스들 및 레거시(legacy) MHL 소프트웨어 간의 하위(backward) 호환성을 제공하는 방법들 및 디바이스들에 관한 것이다.
레거시 MHL 1/2 프로토콜 하에서는, 로컬 MHL 디바이스는 레거시 MHL (MHL1 / MHL 2) 링크를 이용하여 피어(peer) MHL 디바이스와 통신한다. 레거시 링크는, 결국, 로컬 및 피어 MHL 디바이스들 사이에서 제어 패킷들의 교환을 가능하게 하는 반 이중(half-duplex) 레거시 제어 버스를 갖는다.따라서, 레거시 MHL 1/2 구성(configuration)에서는, 레거시 MHL 제어 버스는 물론 로컬 MHL 디바이스 및 피어 레거시 디바이스는 모두 반 이중 방식으로 동작하도록 구성된다.
MHL 3 프로토콜 하에서는, 로컬 MHL 3 디바이스는 MHL 3 링크를 이용하여 피어 MHL 3 디바이스와 통신한다. MHL 3 링크는, 결국, 로컬 및 피어 MHL 디바이스들 사이에서 제어 패킷들이 동시에 양방향으로 교환되는 것을 지원하는 전 이중(full-duplex) 제어 버스를 갖는다. 따라서, 전 이중 MHL 3 제어 버스와 통신하는 MHL 3 디바이스의 링크 레이어(link layer)는 전 이중 방식으로 동작한다. 그러나, 전 이중 링크 레이어는 트랜슬레이션 레이어(translation layer) 회로 및 소프트웨어와 같이 본래 반 이중 링크 레이어를 통해 통신하도록 디자인되었던 MHL 디바이스의 레거시 구성요소들와는 일반적으로 호환되지 않는다. 이러한 비호환성은 반 이중 링크 레이어와의 호환성을 보장하기 위한 이러한 구성요소들의 비싼 리디자인을 초래할 수 있다.
따라서, 몇몇 실시예는 멀티미디어 버스 및 제어 버스를 갖는 멀티미디어 통신 링크와 인터페이스하기 위한 디바이스를 제공한다. 디바이스는 멀티미디어 통신 링크의 전 이중 제어 버스를 통해 전 이중(full-duplex) 방식으로 통신하기 위한 전 이중 링크 레이어(full-duplex link layer) 회로를 포함한다. 디바이스는 인터페이스를 통해 반 이중(half-duplex) 방식으로 데이터를 전송 및 수신하고 전 이중 링크 레이어에 통신적으로 결합된 반 이중 트랜슬레이션 레이어(half-duplex translation layer) 회로를 더 포함한다. 디바이스는 반 이중 트랜슬레이션 레이어 회로 및 전 이중 링크 레이어 회로의 인터페이스 사이에서 통신적으로 결합된 중재 회로(대안적으로는 여기에서 컨버터 또는 중재 로직으로 참조되는)를 더 포함한다. 중재 회로는 반 이중 트랜슬레이션 레이어 회로 및 전 이중 링크 레이어 회로 사이에서 데이터 흐름을 제어하도록 구성된다. 몇몇 실시예에서, 중재 회로는 반 이중 트랜슬레이션 레이어로부터 전 이중 링크 레이어로 패킷들을 전송하고, 반 이중 트랜슬레이션 레이어에서 전 이중 링크 레이어를 거쳐 패킷들을 수신하고, 그리고 중재 로직에서 양방향 데이터 흐름에 기인하여 발생하는 충돌을 해결하기 위한 인터페이스 및 시그널링 규칙들을 제공하도록 구성된다.
몇몇 실시예에서, 상기 중재 회로는 상기 반 이중 트랜슬레이션 레이어 회로로부터의 전송 요청 및 상기 전 이중 링크 레이어 회로로부터의 수신 요청을 수신한다. 상기 전송 요청 및 수신 요청에 응답하여, 상기 중재 회로는 상기 수신 요청을 허락하고 상기 수신 요청과 연관된 수신 처리(transaction)가 완료될 때까지 상기 전송 요청을 보류(hold)한다.
몇몇 실시예에서, 상기 중재 회로는 데이터 전송 상태에 있는 동안 데이터 수신 요청을 수신한다. 상기 데이터 전송 상태에 있는 동안 상기 데이터 수신 요청의 수신에 응답하여, 상기 중재 회로는 상기 데이터 전송 상태를 중단(abort)하고 상기 데이터 수신 요청을 허락한다.
몇몇 실시예에서, 상기 중재 회로가 데이터 전송 상태에 있는 동안, 만일 상기 중재 회로가 미리 결정된 시간 기간 내에 상기 전 이중 링크 레이어 회로로부터 전송 허락을 수신하는데 실패하면, 상기 중재 회로는 상기 전 이중 링크 레이어 및/또는 상기 반 이중 트랜슬레이션 레이어 회로의 프로토콜 상태들을 리셋(reset)하는 인터럽트 신호를 발생시킨다.
몇몇 실시예에서, 상기 중재 회로가 데이터 수신 상태에 있는 동안, 만일 상기 중재 회로가 미리 결정된 시간 기간 내에 상기 전 이중 링크 레이어 회로로부터 전송 허락을 수신하는데 실패하면, 상기 중재 회로는 상기 전 이중 링크 레이어 및/또는 상기 반 이중 트랜슬레이션 레이어 회로의 프로토콜 상태들을 리셋하는 인터럽트 신호를 발생시킨다.
몇몇 실시예에서, 상기 중재 회로가 데이터 전송 상태에 있는 동안, 만일 상기 중재 회로가 미리 결정된 시간 기간 내에 상기 전 이중 링크 레이어 회로를 통해 피어(peer) 디바이스로부터 핸드세이크(handshake) 신호를 수신하는데 실패하면, 상기 중재 회로는 상위(higher or upper) 시스템 레벨에서의 추가적인 진단(diagnosis)를 가능한대로 요청하는 인터럽트 신호를 발생시킨다.
몇몇 실시예에서, 상기 중재 회로는 상기 반 이중 트랜슬레이션 레이어 회로 및 상기 전 이중 링크 레이어 회로 사이에서 데이터의 흐름을 제어하는 상태 기계(state machine)를 포함한다.
몇몇 실시예에서, 상기 디바이스는 반 이중 방식으로 상기 제어 버스를 통해 데이터를 수신 및 전송하기 위한 반 이중 링크 레이어 회로 및 상기 제어 버스에 연결된 피어 디바이스의 능력들에 기반하여 선택적으로 상기 반 이중 링크 레이어 또는 상기 중재 로직을 상기 반 이중 트랜슬레이션 레이어 회로의 인터페이스에 연결하도록 구성된 멀티플렉싱 회로를 포함한다.
본 발명에 따르면, 향상된 MHL 3 링크를 통해 향상된 MHL 디바이스와 인터페이스할 때, 레거시 MHL 디바이스의 하나 이상의 구성요소의 재사용 가능성 및 하위 호환성을 제공한다.
또한, 본 발명에 따르면, 본래 레거시 MHL 디바이스 및 레거시 MHL 링크의 구성요소들과 호환성을 위해 디자인된 레거시 소프트웨어의 향상된 (MHL 3) 아키텍쳐와의 재사용이 가능하다.
도 1은 몇몇 실시예에 따라, 데이터 통신들을 위한 시스템의 상위 레벨 블록도를 포함한다.
도 2는 일 실시예에 따라, 도 1의 소스 디바이스 또는 싱크 디바이스로서의 사용에 알맞은 연산 디바이스의 블록도를 포함한다.
도 3은 몇몇 실시예에 따라, 반 이중 레거시 제어 버스(CBUS)를 포함하는 레거시 MHL (MHL 1 / MHL 2) 링크를 경유하여 피어 레거시 MHL 디바이스와 인터페이스하도록 구성된 로컬 레거시 MHL 디바이스의 블록도를 도시한다.
도 4는 몇몇 실시예에 따라, 피어 레거시 MHL 디바이스 및 피어 MHL 3 디바이스 모두와 인터페이스하는 능력을 갖는 로컬 MHL 3 디바이스의 블록도를 도시한다.
도 5a-5b는 몇몇 실시예에 따라, 중재 로직에서 또는 전 이중 링크 레이어에서의 양방향 데이터 흐름 때문에 반 이중 트랜슬레이션 레이어에서 발생하는 충돌을 해결하기 위해 로컬 MHL 3 디바이스에서 수행되는 중재 시그널링의 제1 예를 도시하는 블록도들을 포함한다.
도 6a-6b는 몇몇 실시예에 따라, 중재 로직에서 또는 전 이중 링크 레이어에서의 양방향 데이터 흐름 때문에 반 이중 트랜슬레이션 레이어에서 발생하는 충돌을 해결하기 위해 로컬 MHL 3 디바이스에서 수행되는 중재 시그널링의 제2 예를 도시하는 블록도들을 포함한다.
도 7은 몇몇 실시예에 따라, 패킷 전송 및 수신 동안, 그리고 전 이중 링크 레이어에서의 양방향 데이터 흐름 때문에 반 이중 트랜슬레이션 레이어에서 발생하는 충돌 동안 로컬 MHL 3 디바이스에서 수행되는 중재 로직 순서(sequencing)를 도시하는 상태도를 포함한다.
도 8은 몇몇 실시예에 따라, 로컬 MHL 디바이스에서의 예외 처리에 대한 중재 로직을 도시하는 상태도를 포함한다.
도면 전체를 통해서, 동일한 참조 번호들은 대응되는 부분들을 나타낸다.
다양한 실시예들에 대한 참조가 이제 상세히 행해질 것이고, 이들의 예들은 수반되는 도면에 도시되어 있다. 다음의 상세한 설명에서, 다양한 특정 상세 내용들이 발명 및 설시된 실시예들의 철저한 이해를 제공하기 위해 설명된다. 하지만, 발명은 이러한 특정 상세 내용들 없이도 실시될 수 있다. 다른 예들을 든다면, 잘 알려진 방법들, 절차들, 구성요소들 및 회로들은 실시예들의 측면들을 불필요하게 모호하게 하지 않도록 상세히 설명되지는 않는다.
도 1은 일 실시예에 따라 데이터 통신들을 위한 시스템(100)의 상위 레벨 블록도이다. 시스템(100)은 하나 이상의 인터페이스 케이블(120, 150, 180)을 통해 싱크 디바이스(115)와 통신하는 소스 디바이스(110)를 포함한다. 소스 디바이스(110)는 인터페이스 케이블들(120, 150, 180)을 통해서 멀티미디어 데이터 스트림들(예컨대, 오디오/비디오 스트림들)을 싱크 디바이스(115)로 전송하고 또한 싱크 디바이스(115)와 제어 데이터를 교환한다. 일 실시예에서, 소스 디바이스(110) 및/또는 싱크 디바이스(115)는 중계 디바이스(repeater deivce)들일 수 있다.
소스 디바이스(110)는 인터페이스 케이블들(120, 150, 180)에 연결된 물리적인 통신 포트들(112, 142, 172)을 포함한다. 싱크 디바이스(115) 또한 인터페이스 케이블들(120, 150, 180)에 연결된 물리적인 통신 포트들(117, 147, 177)을 포함한다. 인터페이스 케이블들을 거쳐 소스 디바이스(110) 및 싱크 디바이스(115) 사이에서 교환되는 신호들은 물리적인 통신 포트들을 거쳐간다.
소스 디바이스(110) 및 싱크 디바이스(115)는 다양한 프로토콜들을 이용하여 데이터를 교환한다. 일 실시예에서, 인터페이스 케이블(120)은 고화질 멀티미디어 인터페이스(HDMI: High Definition Multimedia Interface) 케이블을 나타낸다. HDMI 케이블(120)은 data0+ 라인(121), data0- 라인(122), data1+ 라인(123), data1- 라인(124), data2+ 라인(125) 및 data2- 라인(126)을 통해 전송되는 차동 신호들(differential signals)을 지원한다. HDMI 케이블(12)은 차동 클럭 라인들 clock+(127) 및 clock-(128); CEC(Consumer Electronics Control) 제어 버스(129); DDC(Display Data Channel) 버스(130); 파워(131); 접지(132); 핫 플러그 감지(hot plug detect)(133); 및 차동 신호들을 위한 4개의 보호 라인들(shield lines)(134)를 더 포함할 수 있다. 몇몇 실시예에서는, 싱크 디바이스(115)는 폐회로(closed loop) 피드백 제어 데이터의 소스 디바이스(110)로의 전송을 위해 CEC 제어 버스(129)를 이용할 수 있다.
일 실시예에서, 케이블 인터페이스(150)는 모바일 고화질 링크(MHL: Mobile High-Definition Link) 케이블을 나타낸다. MHL 케이블(15)은 예컨대, data0+ 라인(151), data0- 라인(152)를 통해 전송되는 차동 신호들을 지원한다. 데이터 라인들(151 및 152)은 소스 디바이스(110)로부터 싱크 디바이스(115)로 멀티미디어 데이터 스트림들의 전송을 위한 멀티미디어 버스를 형성한다. MHL의 몇몇 실시예에서, 오직 한 쌍의 차동 데이터 라인들(예를 들어, 151 및 152)만이 있을 수 있다. 대안적으로, 다수의 차동 데이터 라인들 상에서 다수의 차동 신호들의 전송(가령, 동시에)을 가능하게 하기 위한 복수 개의 차동 데이터 라인들이 제공된다. 내장된 공통 모드 클럭들은 차동 데이터 라인들을 통해서 전송된다.
MHL 케이블(150)은 제어 버스(CBUS)(159), 파워(160) 및 접지(161)를 더 포함할 수 있다. CBUS(159)는 디스커버리 데이터, 디스플레이 식별, 환경 설정(configuration) 데이터, 및 원격 제어 명령어들과 같은 제어 신호들을 전달하는 양방향 버스이다. 레거시 MHL (MHL 1/2)을 위한 CBUS(159)는 반 이중 모드로 동작한다. 한편, MHL (MHL 3)을 위한 CUBS(159), 또는 향상된 CBUS(eCBUS)로 불리우는,는 전 이중 방식으로 동작한다. 몇몇 실시예에서, eCBUS는 단일 접지(single ended)이고, 단수의 신호선을 통해 단일 접지 시그널링 능력을 제공한다. 대안적으로는, eCBUS는 차동 접지(차동 라인들인 eCBUS+ 및 eCBUS- 사이에서)이고 신호선들의 차동 쌍(differential pair)을 통해 차동 접지 시그널링 능력을 제공한다. MHL 3 디바이스(본 문서에서 로컬 디바이스로 참조되는)는 전 이중 방식의 향상된 CBUS를 통해 또 다른 MHL 3 디바이스(본 문서에서 피어 디바이스로 참조되는)와 인터페이스하는 능력을 갖는다. 예컨대, 만일 제어 정보를 싱크 디바이스(115)로 전송하고 있다면 소스 디바이스(110)가 로컬 디바이스일 수 있다. 대안적으로, 만일 소스 디바이스(110)로 제어 정보를 전송하고 있다면 싱크 디바이스(115)가 로컬 디바이스일 수 있다.
추가적으로, 로컬 MHL 3 디바이스가 레거시 MHL 링크를 통해 레거시 MHL 디바이스와 통신하거나 레거시 MHL 소프트웨어로 동작할 필요가 있는 경우에, 로컬 MHL 3 디바이스는 MHL 3 모드에서 레거시 동작 모드로 다운그레이드하는 능력을 갖는다. 예컨대, 로컬 MHL 3 디바이스는 반 이중 CBUS를 통해 피어 MHL 1/2 디바이스와 인터페이스하는 능력을 갖는다.
본 개시 내용의 실시예들은 레거시 MHL을 위해 사용된 기존의 회로 및 소프트웨어의 재사용을 허용하는 한편 레거시 MHL과의 하위 호환성을 유지하기 위한 시스템 및 MHL 3 디바이스 아키텍쳐에 관한 것이다. MHL 3 디바이스는 반 이중 제어 버스(CBUS)를 포함하는 레거시 MHL 1/2 링크를 통해 레거시 MHL 디바이스와 그리고 레거시 MHL 소프트웨어와 인터페이스하는 것은 물론, 전 이중 방식의 향상된 제어 버스(eCBUS)를 포함하는 MHL 3 링크를 통해 피어 MHL 3 디바이스와 인터페이스하도록 구성된다.
도 2는 일 실시예에 따라, 도 1로부터 소스 디바이스(110) 또는 싱크 디바이스(115)로서의 사용에 적합한 연산 디바이스(200)의 상세도이다. 연산 디바이스(200)는 예컨대 휴대폰, 텔레비전, 랩탑, 태블릿 등일 수 있다. 연산 디바이스(200)는 프로세서(202), 메모리(203), 저장 모듈(204), 입력 모듈(예를 들면 키보드, 마우스 등)(206), 디스플레이 모듈(예를 들면 액정화면(LCD), 유기 발광 디스플레이(OLED) 등) 및 버스(201)를 통해 데이터 및 제어 신호들을 서로 교환하는 송신기 또는 수신기(205)와 같은 구성요소들을 포함한다.
저장 모듈(204)은 하나 이상의 비-휘발성 컴퓨터 판독 가능한 저장 매체 (예를 들면, 하드 디스크 드라이브, 솔리드 스테이트 메모리 등)로 구현되고, 메모리(203)와 함께 프로세서(202)에 의해 실행되는 소프트웨어 명령어들을 저장한다. 운영 체제 소프트웨어 및 다른 애플리케이션 소프트웨어 또한 프로세서 (202) 상에서 동작하기 위해 저장 모듈(204) 내에 저장될 수 있다.
송신기 또는 수신기(205)는 멀티미디어 데이터 및 제어 데이터의 수신 또는 전송을 위한 포트들에 연결된다. 수신되거나 전송되는 멀티미디어 데이터는 HDMI 및 MHL 데이터와 같은 비디오 데이터 스트림들 또는 오디오-비디오 데이터 스트림들을 포함할 수 있다. 멀티미디어 데이터는 고대역폭 디지털 콘텐츠 전송 보호(HDCP: High-Bandwidth Digital-Content Protection)와 같은 암호화 계획을 이용하는 전송을 위해 암호화될 수 있다.
일 실시예에서, 수신기 소스 디바이스(110) 또는 싱크 디바이스(115) 내의 회로들의 표현(representation)은 비-휘발성 컴퓨터 판독 가능한 매체(예를 들면, 하드 디스크 드라이브, 플래시 드라이브, 광학 드라이브) 내에 데이터로서 저장될 수 있다. 이러한 표현들은 예컨대 행동 레벨 표현들(descriptions), 레지스터 전달 레벨 표현들, 로직 컴포넌트 레벨 표현들, 트랜지스터 레벨 표현들 또는 레이아웃 기하학-레벨 표현들의 형태일 수 있다.
도 3은 레거시 MHL (MHL 1 / MHL 2) 링크를 통해 피어 레거시 MHL 디바이스와 인터페이스하도록 구성된 로컬 레거시 MHL 디바이스(300)의 블록도를 도시한다.
몇몇 실시예에서, 로컬 레거시 MHL 디바이스(300)는 소스 디바이스(예를 들면, 도 1의 소스(110))이다. 대안적인 실시예들에서, 로컬 레거시 MHL 디바이스(300)는 싱크 디바이스(예를 들면, 도 1의 싱크(115))이다. 로컬 레거시 MHL 디바이스(300)는 트랜슬레이션 레이어(310) 및 레거시 링크 레이어(320)를 포함한다.
로컬 레거시 MHL 디바이스(300)는 레거시 MHL (MHL 1 / MHL 2) 링크를 통해 피어 레거시 MHL 디바이스와 통신한다. 레거시 링크는, 결국, 로컬 및 피어 디바이스들간에 제어 패킷들의 교환을 위해 반 이중 레거시 제어 버스(CBUS)(340)를 포함한다. 다시 말해서, 도 3과 관련하여 서술되는 구성에서, 도 1과 관련하여 설명된 인터페이스 케이블(150)은 레거시 MHL 1/2 통신 프로토콜을 지원하고 CBUS(159)는 반 이중 레거시 제어 버스이다. 따라서, 레거시 MHL 구성에서, 레거시 제어 버스는 물론 로컬 레거시 디바이스(300) 및 피어 레거시 디바이스는 모두 반 이중 방식으로 동작하도록 구성된다.
트랜슬레이션 레이어(310)는 CBUS(340)를 통해 반 이중 방식으로 통신하고 제어 정보를 생성 및 수신하도록 구성된다. 반 이중 방식이기 때문에, 트랜슬레이션 레이어(310)는 어느 주어진 시간에 링크 레이어(320)로의 내부 인터페이스를 통해 패킷 데이터 전송 또는 패킷 데이터 수신 중 어느 하나를 수행하나, 양자를 동시에는 수행하지 못하도록 구성된다. 다시 말하면, 트랜슬레이션 레이어(310)는 로컬 디바이스(300)에서 소프트웨어로부터 패킷을 획득하고, 패킷을 처리하고 그리고 피어 디바이스로의 추가적인 전송을 위해 레거시 링크 레이어(320)로 패킷을 제공함으로써 로컬 디바이스(300)로부터 피어 디바이스로의 패킷 데이터 전송을 지원할 수 있다. 대안적으로는, 트랜슬레이션 레이어(310)는 반대되는 동작들 - 레거시 링크 레이어(320)로부터 수신된 패킷을 획득하고, 패킷을 처리하고, 그리고 로컬 디바이스(300)에서 소프트웨어로 패킷을 제공하는 -을 수행함으로써 피어 디바이스로부터 로컬 디바이스(300)에서의 패킷 수신을 지원할 수 있다. 하지만, 반 이중 방식으로 동작하기 때문에, 트랜슬레이션 레이어(310)는 패킷 데이터 전송 및 패킷 데이터 수신 모두를 동시에 지원할 수는 없다.
유사하게, 레거시 링크 레이어(320) 또한 반 이중 방식이다. 링크 레이어의 기능들로는 링크 레이어 프로토콜 명령어들, 링크 레이어 흐름 제어, 비트 동기화들(bit timings), 그리고 제어 버스(340)를 걸쳐서 패킷 데이터의 전송을 위해 로컬 디바이스(300)에서의 패킷 동기화들을 제공하는 것이 포함될 수 있다. 반 이중 방식이기 때문에, 레거시 링크 레이어(320)는 어느 주어진 시간에 패킷 전송 또는 패킷 수신 중 어느 하나를 수행하나 양자를 동시에 수행하지는 못하도록 구성된다. 따라서, 트랜슬레이션 레이어(310) 및 링크 레이어(320)가 모두 반 이중 방식이기 때문에, 그들간의 인터페이스 또는 통신은 끊어짐이 없다(seamless) - 링크 레이어가 수신 모드일 때 트랜슬레이션 레이어도 그렇고; 트랜슬레이션 레이어가 전송 모드일 때 링크 레이어도 그렇다. 더욱이, 제어 버스(340) 또한 반 이중 방식으로, 로컬 디바이스 및 반 이중 제어 버스 간의 끊어짐 없는 통신을 가능하게 한다. 제어 버스(340) 상에서 들어오는 패킷을 감지하였을 때, 반 이중 링크 레이어(320) 및 트랜슬레이션 레이어(310)는 수신 모드이다. 제어 버스(340) 상에서의 들어오는 패킷의 부재시, 반 이중 링크 레이어(320) 및 트랜슬레이션 레이어(310)는 제어 버스(340)를 통해 피어 디바이스로 패킷을 전송하기 위한 전송 모드로 동작할 수 있다.
도 4는 일부 실시예들에 따른 로컬 MHL 3 디바이스(400)의 블록도를 도시한다.
로컬 MHL 3 디바이스(400)는 MHL 3 링크를 통해 피어 MHL 3 디바이스와 통신하도록 구성된다. 레거시 MHL 1/2 디바이스들과의 하위 호환성을 유지하기 위해, 로컬 MHL 3 디바이스는 또한 레거시 MHL (MHL 1/2) 링크를 통해 피어 MHL 1/2 디바이스와 통신하도록 구성된다.
도 3과 관련하여 설명된 바와 같이, 레거시 MHL (MHL 1/2) 링크는 반 이중 레거시 제어 버스(CBUS)를 포함한다. 그에 반해서, MHL 3 링크는 전 이중 방식의 향상된 제어 버스(eCBUS)를 포함한다. 따라서, 로컬 MHL 3 디바이스는 전 이중 방식의 향상된 제어 버스(eCBUS)는 물론 반 이중 레거시 제어 버스(CBUS) 모두와 인터페이스할 능력을 갖는다. 다시 말하면, 도 4의 CBUS(440)는 도 3과 관련하여 설명된 CBUS(340)와 같은 반 이중 레거시 제어 버스(CBUS)에 대응될 수 있다. 대안적으로는, CBUS(440)는 전 이중 방식의 향상된 제어 버스(eCBUS)에 대응될 수 있다.
도 4에서 도시된 바와 같이, 로컬 MHL 디바이스(400)는 반 이중 트랜슬레이션 레이어(410), 반 이중 링크 레이어(420), 전 이중 링크 레이어(430), 멀티플렉서(MUX)(450), 컨버터(중재 로직)(460), 소프트웨어(465) 및 마이크로프로세서(470)을 포함한다. 전 이중 링크 레이어(430)는 시분할 멀티플렉서(TDM)(480) 및 SerDes(serializer-deserializer)(490)을 포함한다.
레거시 MHL 디바이스의 반 이중 트랜슬레이션 레이어(도 3의 레거시 트랜슬레이션 레이어(310)와 같은)와 인터페이스하는 레거시 MHL 소프트웨어와의 하위 호환성을 유지하기 위해, 로컬 MHL 3 디바이스의 트랜슬레이션 레이어(410) 역시 반 이중이다. 따라서, 도 3과 관련하여 설명된 바와 같이, 반 이중 트랜슬레이션 레이어는 어느 주어진 시간에 패킷 전송 또는 패킷 수신 중 어느 하나를 수행하지만 양자를 동시에 수행하지는 않도록 구성된다.
반 이중 레거시 제어 버스(CBUS) 및 전 이중 방식의 향상된 제어 버스(eCBUS) 모두와 인터페이스하기 위해, 로컬 MHL 3 디바이스는 반 이중 링크 레이어(420) 및 전 이중 링크 레이어(430) 모두를 포함한다. MUX(450)는 반 이중 트랜슬레이션 레이어(410)를 반 이중 링크 레이어(420) 또는 전 이중 링크 레이어(430)에 연결한다. 반 이중 링크 레이어(420)는 반 이중 레거시 제어 버스(CBUS)와 인터페이스할 때 선택되고 전 이중 링크 레이어(430)는 전 이중 방식의 향상된 제어 버스(eCBUS)와 인터페이스하기 위해 선택된다. 달리 말하면, 멀티플렉싱 회로(MUX)(450)는 중재 로직(460)을 통해 반 이중 링크 레이어(420) 또는 전 이중 링크 레이어(430)를 선택적으로 반 이중 트랜슬레이션 레이어(410)의 인터페이스에 연결하도록 구성된다. 몇몇 실시예에서, 이러한 선택은 제어 버스(440)에 연결된 피어 디바이스의 능력들(capabilities)에 기반한다. 만일 피어 디바이스가 레거시 MHL (MHL 1/2) 프로토콜을 사용하면, MUX(450)는 선택적으로 반 이중 링크 레이어(420)를 반 이중 트랜슬레이션 레이어(410)의 인터페이스에 연결한다. 한편, 만일 피어 디바이스가 MHL 3 프로토콜을 사용하면, MUX(450)는 선택적으로 전 이중 링크 레이어(430)를 (중재 로직(460)을 통해) 반 이중 트랜슬레이션 레이어(410)의 인터페이스에 연결한다.
반 이중 레거시 제어 버스(CBUS)와 인터페이스할 때, 반 이중 링크 레이어(420)는 도 3과 관련하여 서술된 것과 유사한 방식으로 반 이중 트랜슬레이션 레이어와 함께 동작한다.
하지만, 전 이중 방식의 향상된 제어 버스(eCBUS)와 인터페이스할 때, 전 이중 링크 레이어(430)와 반 이중 트랜슬레이션 레이어(410) 사이의 통신(시그널링)은 컨버터(중재 로직)(460)에 의해 조정되거나 중재된다. 향상된 제어 버스(eCBUS) 및 전 이중 링크 레이어(430) 모두가 전 이중 능력을 갖기 때문에, 이들은 모두 동시적인 양방향 데이터 흐름(전송 및 수신)을 지원할 수 있다. 하지만, 트랜슬레이션 레이어(410)는 단지 반 이중 능력을 가지므로 따라서 어느 주어진 시간에 양자 모두가 아닌, 전송 또는 수신 중 어느 하나만을 지원할 수 있다. 그러므로, 만일 반 이중 트랜슬레이션 레이어(410)가 전 이중 링크 레이어(430)에 직접적으로 연결되었다면, 이들의 인터페이스에서 충돌이 발생하였을 것이다. 이러한 충돌을 해결하기 위해, 두 레이어들 사이에서 패킷 교환을 위한 흐름을 중재하고 순서(sequencing)를 스케쥴링하고, 그리고 시그널링 규칙을 집행하기 위한 컨버터(중재 로직)(460)이 반 이중 트랜슬레이션 레이어(410) 및 전 이중 링크 레이어(430)의 인터페이스에 제공된다.
반 이중 트랜슬레이션 레이어 회로(410)는 로컬 디바이스(400) 및 피어 디바이스 사이에서 제어 정보의 흐름을 제어한다. 구체적으로, 반 이중 트랜슬레이션 레이어 회로(410)는 링크 레이어들(420, 430)로 전송되는 흐름 제어 패킷들 및 제어 데이터 패킷들을 생성한다. 반 이중 트랜슬레이션 레이어(410)는 또한 링크 레이어들(420, 430)로부터 흐름 제어 패킷들 및 제어 데이터 패킷들을 수신한다. 반 이중 트랜슬레이션 레이어 회로(410)는 오직 반 이중 방식으로만 동작하며, 이는 그 내부 통신 인터페이스를 통해 MUX(450)으로 데이터를 전송 또는 수신할 수 있지만 동시에 양자를 모두 할 수는 없다는 것을 의미한다.
반 이중 트랜슬레이션 레이어 회로(410)는 여러개의 다른 논리적 데이터 채널들 중에 하나를 선택할 수 있어서 한 번에 오직 하나의 논리적 데이터 채널만이 제어 버스(440)에 액세스한다. MHL 내의 논리적 데이터 채널들의 예들은 디스플레이 데이터 채널(Display Data Channel:DDC) 및 MHL 측파대 채널(MHL Sideband Channel: MSC)을 포함한다. 각각의 논리적 데이터 채널은 다른 종류의 제어 정보의 전송을 위해 서로 다른 제어 흐름 프로토콜을 따른다. 각각의 논리적 데이터 채널은 서로 다른 흐름 제어 패킷들을 사용할 수도 있다. 예를 들어, DDC는 7개의 서로 다른 흐름 제어 패킷들을 사용할 수 있다. MSC는 18개의 서로 다른 제어 흐름 패킷들을 사용할 수 있다.
링크 레이어들(420, 430)은 CBUS(440)를 거쳐 로컬 및 피어 디바이스들 사이에서 데이터를 보내고 받기 위한 링크 레이어 프로토콜들을 구현한다. 링크 레이어 프로토콜들은 트랜슬레이션 레이어 데이터(예컨대, 인코딩, 프로토콜, 중재, 흐름 제어, 비트 동기화들, 패킷 동기화들)을 링크 레이어 패킷들로 프레이밍(frame)하기 위한 스킴들(schemes)을 명시한다. 예를 들어, 링크 레이어(430)는 2개의 싱크 비트들, 2개의 헤더 비트들, 1개의 제어 비트, 트랜슬레이션 레이어를 위한 8개의 데이터 또는 명령어 비트들, 그리고 1개의 패리티 비트를 포함하는 링크 레이어 패킷들을 생성할 수 있다. 링크 레이어(430)는 또한 CBUS(440)로부터 들어오는 패킷들을 디코딩한다.
추가적으로, 링크 레이어(430)는 TDM(480) 및 SerDes(490)를 사용하여 CBUS(440)를 거쳐 전송되는 패킷들의 타이밍(timing) 및 동기화(synchronization)를 제어한다. TDM(480)은 CBUS(440)의 사용을 타임 슬롯들로 나누고, 이 중의 몇몇은 CBUS 관련 데이터의 전송을 위한 것이고 몇몇은 CBUS 관련 데이터의 수신을 위한 것이다. SerDes(490)는 TSM(480)으로부터의 병렬 데이터 비트들을 제어 버스(440)를 통해 전송하기 위한 직렬 데이터 비트들로 변환하고, 그 반대도 한다.
중재 로직(460)은 반 이중 트랜슬레이션 레이어(410)를 통신적으로 전 이중 링크 레이어(430)에 연결한다. 중재 로직(460)은 반 이중 트랜슬레이션 레이어(410) 및 전 이중 링크 레이어(430) 사이에서 데이터 교환을 조정한다.
중재 로직(460)에서 교환되는 다양한 신호들이 도 4에 도시된다. 피어 디바이스로의 패킷 전송을 개시하기 위해, 트랜슬레이션 레이어(410)는 전송 요청(Xmit_req)을 패킷(Xmit_pkt)과 함께 중재 로직(460)으로 보낸다. 중재 로직(460)은 차례차례 전송 요청(Xmit_req)을 패킷(Xmit_pkt)과 함께 링크 레이어(430)로 전파한다. 링크 레이어(430)가 데이터의 전송을 처리할 준비가 되면, 중재 로직(460)에 액세스를 허락(Grant)하고, 패킷(Xmit_pkt)를 링크 레이어(430)로 즉시 전파한다. 피어 디바이스는 전송되는 패킷을 좋은(예컨대, 오류 없이) 또는 나쁜(예컨대, 오류가 많은) 상태에서 수신할 수 있고, 그 상태에 따라, 로컬 디바이스(400)는 응답(ACK) 또는 부정 응답(NAK)을 (피어 디바이스로부터) 수신할 수 있다. 피어 ACK 또는 피어 NAK의 수신에 대응하여, 중재 로직(460)은 전송 완료(Xmit_done) 또는 전송 실패(Xmit_fail) 신호를 트랜슬레이션 레이어(410)로 각각 전송한다.
한편, 피어 디바이스로부터 패킷 수신 요청(RcvReq)의 수신시, 중재 로직은 트랜슬레이션 레이어(410)가 패킷 수신을 지원할 수 있는지 여부를 결정한다. 패킷 수신 요청(RcvReq)에는 링크 레이어(430)로부터 대응하는 수신된 패킷(Rcv_pkt)이 수반된다. 트랜슬레이션 레이어(410)가 전송 상태가 아니라고 판단하면, 중재 로직(460)은 수신 요청(RcvReq) 및 수신된 패킷(Rcv_pkt)을 트랜슬레이션 레이어(410)로 전파한다.
중재 로직(460)은 또한 수신된 패킷에 대한 에러 체크(예컨대, CRC 또는 순환 잉여 검사(Cyclic Redundancy Check))를 수행하고 수신된 패킷이 에러 체크를 통과하였는지 또는 통과하지 않았는지를 확인해주기 위해 ACK 또는 NAK를 (링크 레이어(430)로) 각각 돌려보낸다. 링크 레이어(430)는 결국 ACK 또는 NAK를 피어 디바이스로 제공할 수 있다. 중재 로직(460)은, 에러 체크 통과를 조건으로, 수신 요청(RcvReq)를 수신된 패킷(Rcv_pkt)과 함께 트랜슬레이션 레이어(410)로 전파할 수 있다.
충돌은 반 이중 트랜슬레이션 레이어(410)가 피어 디바이스로 데이터를 전송하도록 구성되고 피어 디바이스 또한 로컬 디바이스(400)로 데이터를 전송하고자 시도하는 특정 상황들에서 발생할 수 있다 (도 5a-5b, 6a-6b 및 7을 참조하여 보다 상세히 설명될 것이다). 이러한 상황들에서, 중재 로직(460)은 전송 보류(Xmit Hold) 신호 또는 전송 중단(Xmit Abort) 신호를 트랜슬레이션 레이어(410)로 전송하는 것을 이용함으로써, 전 이중 링크 레이어(430)에서 동시적인 양방향 데이터 흐름에 기인하여 반 이중 트랜슬레이션 레이어(410)에서 발생하는 충돌을 해결한다. 예를 들어, 중재 로직(460)은 동시에 또는 실질적으로 동시에 발생하는 전송 요청(Xmit_req) 및 수신 요청(Rcv_req)으로부터 발생하는 충돌을 해결하기 위해 전송 보류(Xmit Hold) 신호를 이용한다. 다른 예로서, 중재 로직(460)은 트랜슬레이션 레이어(410)가 이미 전송 상태에 있고 데이터를 전송하고 있을 때 패킷 수신 요청이 링크 레이어(430)로부터 트랜슬레이션 레이어(410)로 전파되는 것을 방지하기 위해 전송 중단(Xmit Abort) 신호를 사용하고, 그렇게 함으로써 동시적인 전송 및 수신 요청들에 기인하여 트랜슬레이션 레이어에서 발생하는 충돌을 방지할 수 있다. 도 5a-5b는 패킷 전송 요청 및 패킷 수신 요청이 중재 로직에서 동시에 또는 실질적으로 동시에(각각의 특정 시간 간격 내에) 도착하는 제1 충돌 해결 시나리오를 도시한다. 도 6a-6b는 계속 진행 중인 패킷 전송 중에 로컬 MHL 디바이스에 (피어 MHL 디바이스로부터) 패킷 수신 요청이 도착하는 제2 충돌 해결 시나리오를 도시한다.
전술한 바와 같이, 중재 로직(460)은 따라서 다음에 대한 인터페이스 및 타이밍 규칙들을 제공한다: (i) 반 이중 트랜슬레이션 레이어로부터 전 이중 링크 레이어로 패킷들 전송, (ii) 반 이중 트랜슬레이션 레이어에서 전 이중 링크 레이어를 통해 패킷들 수신, (iii) 전 이중 링크 레이어에서의 양방향 데이터 흐름에 기인하여 반 이중 트랜슬레이션 레이어에서 발생하는 충돌 해결.
추가적으로, 중재 로직(460)은 중재 로직(460)이 상술한 신호들의 하나 또는 그 이상에 대한 특정 간격 또는 대기 시간 이상 기다리는 것을 방지하는 기능을 제공함으로써, 예외 처리를 촉진할 수 있다 (도 8과 관련하여 보다 상세히 설명될 것이다). 중재 로직(460)은 중재 로직이 전 이중 링크 레이어(430)로부터 신호를 기다리는 동안 대기 시간의 측정을 추정하는 카운터 또는 타이머를 선택적으로 포함한다. 대기 시간이 특정 한계점을 초과할 때, 중재 로직(460)은 인터럽트 신호를 마이크로프로세서(470)로 보내고, 마이크로프로세서는 차례차례 반 이중 트랜슬레이션 레이어(410) 및/또는 전 이중 링크 레이어(430) 및/또는 소프트웨어(465)로 그들 각각의 상태들을 리셋(예를 들어, 휴지 상태(idle state)로, 이전의 전송을 재시작하도록 등)하기 위한 신호를 보낸다. 마이크로프로세서(470)로 제공될 때 인터럽트 신호는 잠재적으로 하드웨어 문제(issue or problem)를 나타낸다. 소프트웨어(465)는 하드웨어 문제를 개선하기 위한 처리 방법들을 결정하기 위해 진단 정보를 수집하고 시스템 레벨에서 하드웨어 문제를 분석할 수 있다.
도 5a-5b는 몇몇 실시예에 따라서, 로컬 MHL 3 디바이스에서 수행되는 중재 시그널링의 제1 예를 도시하는 블록도를 포함한다. 도 5a-5b에 도시된 중재 시그널링은 동시적인 또는 실질적으로 동시적인 전송 및 수신 요청들로부터 발생하는 전 이중 링크 레이어(430)에서의 양방향 데이터 흐름에 기인하여 반 이중 트랜슬레이션 레이어(410)에서 발생하는 충돌을 해결한다.
도 5a는 패킷 전송 요청(Xmit_req) 및 패킷 수신 요청(RcvReq)이 중재 로직(460)에 동시에 또는 실질적으로 동시에(각각의 특정 시간 간격 내에) 도착하는 시나리오를 도시한다. CBUS(440) 및 링크 레이어(430)는 모두 전 이중 방식이기 때문에, 그것들은 모두 양방향 패킷 전송을 지원할 수 있다. 하지만, 트랜슬레이션 레이어(410)는 반 이중 방식이고 따라서 한번에 어느 한 방향으로의 데이터 전송만을 지원한다. 따라서, 중재 로직(460)은 도 5a에 도시된 동시적인 또는 실질적으로 동시적인 양방향 전송 및 수신 요청들로 인해 트랜슬레이션 레이어(410)에서 발생하는 충돌을 조정 또는 해결한다.
도 5b에 보여지는 바와 같이, 도 5a의 충돌 감지에 대응하여, 중재 로직(460)은 전송 보류(Xmit Hold) 신호를 트랜슬레이션 레이어(410)로 보낸다. 전송 보류의 수신시, 트랜슬레이션 레이어(410)는 그 전송 상태를 유예(예를 들어, 임시적으로, 특정 시간 주기 동안)한다. 다시 말하면, 두 개의 요청들(Xmit_req 및 RcvReq)이 동시에 중재 로직(460)에 도착할 때, 수신 요청이 먼저 제공되고 전송 요청은 패킷 수신이 완료될 때까지 임시적으로 무시된다. 패킷 수신이 완료된 이후, 중재 로직(460)은 전송 요청(Xmit_req)이 트랜슬레이션 레이어(410)에 의해 계속해서 주장되는지 여부를 확인 또는 체크한다. 전송(Xmit_req)이 계속하여 주장된다는 것을 결정시, 중재 로직(460)은 패킷 수신의 완료 후에 즉시 전송 요청(Xmit_req)을 제공한다.
도 6a-6b는 전 이중 링크 레이어에서의 양방향 데이터 흐름에 기인하여 반 이중 트랜슬레이션 레이어에서 발생하는 충돌을 해결하기 위해 로컬 MHL 3 디바이스에서 수행되는 중재 시그널링의 제2 예를 도시하는 블록도를 포함한다. 도 6a-6b에서 도시되는 중재 시그널링은 계속 진행중인 패킷 전송 동안 로컬 디바이스(400)에서 수신되는 수신 요청으로부터 발생하는 전 이중 링크 레이어(430)에서의 양방향 데이터 흐름에 기인하여 반 이중 트랜슬레이션 레이어(410)에서 발생하는 충돌을 해결한다.
도 6a는 계속 진행중인 패킷 전송 동안에 패킷 수신 요청이 로컬 MHL 디바이스에 도착(피어 MHL 디바이스로부터)하는 시나리오를 도시한다. 다시 말하면, 도 6a에 보여지는 바와 같이, 트랜슬레이션 레이어(410)는 패킷 전송 상태에 들어가고 패킷(Xmit_pkt)을 중재 로직(460)으로 전송하기 시작한다. 이러한 패킷 전송 상태 동안에(예를 들면, 패킷 전송 상태의 종료 이전에 또는 피어 ACK 또는 NAK를 수신하기 전에), 중재 로직(460)은 피어 디바이스로부터 들어오는 패킷으로부터 기인하는, 링크 레이어(430)로부터의 패킷 수신 요청(RcvReq)을 수신한다. 도 5a와 관련하여 전술한 바와 같이, 비록 CBUS(440) 및 링크 레이어(430)가 모두 전 이중 방식이고 따라서 모두 양방향 패킷 전송을 지원할 수는 있지만, 트랜슬레이션 레이어(410)는 반 이중 방식이고 따라서 어느 주어진 시간에 어느 한 방향으로의 데이터 전송만을 지원할 수 있다. 그러므로, 중재 로직(460)은 결과로 초래된 충돌을 조정 또는 해결한다.
도 6b에 도시된 바와 같이, 도 6a의 충돌 감지에 대응하여, 중재 로직(460)은 전송 중단(Xmit Abort) 신호를 트랜슬레이션 레이어(410)로 보낸다. 전송 중단 신호는 트랜슬레이션 레이어(410)가 트랜슬레이션 레이어(410)로부터 중재 로직(460)으로의 패킷 전송을 중단하도록 한다. 추가적으로, 중재 로직(460)은 더 이상의 계속 진행되는 패킷 전송이 멈춰질 것을 나타내기 위해 링크 레이어(430)로의 전송 요청을 해제(de-assert)(예컨대, 링크 레이어(430)의 로컬 TDM(480)에)한다. 그리고는, 중재 로직은 패킷 수신 요청(RcvReq)을 제공한다. 패킷 수신 완료시, 중재 로직(460)은 전송 요청(Xmit_req)이 트랜슬레이션 레이어(410)에 의해 계속하여 주장되는지 여부를 체크한다. 중재 로직(460)은 전송 요청(Xmit_req)이 트랜슬레이션 레이어(410)에 의해 계속하여 주장되는지 아닌지 여부에 대응하여 패킷 전송을 재개(예를 들면, 재시작)할 수 있다.
몇몇 실시예에서, 중재 로직(460)은 반 이중 트랜슬레이션 레이어 및 전 이중 링크 레이어 사이에서 데이터의 흐름을 제어하는 상태 기계(state machine)를 포함한다. 따라서, 도 7은 패킷 전송 및 패킷 수신 중, 그리고 양방향 데이터 이동에 기인하여 발생하는 충돌 동안 로컬 MHL 3 디바이스(300)의 중재 로직(460)이 전이하는 상태들을 도시하는 상태 전이도를 포함한다.
로컬 디바이스(400)가 피어 디바이스로의 패킷 전송을 개시할 때, 중재 로직(460) (일반적으로 '중재/유휴 상태'(705)에 있는) 트랜슬레이션 레이어(410)로부터 전송 요청(Xmit_req)을 수신한다. 전송 요청(Xmit_req)의 수신에 대응하여, 중재 로직(460)은 도 7에 도시된 '전송 상태들'(710)로 전이한다. 다시 말하면, 중재 로직(460)은 '패킷 전송 상태'(715)에 들어감으로써 패킷 전송을 개시(예를 들면, 헤더 및 패킷 데이터의 상위 및 하위 바이트를 전송하는 것을 포함하여)한다. 로컬 디바이스(400)는 피어 디바이스로부터의 응답을 기다리기 위해 전송을 중단한다. 이 시간 동안, 중재 로직(460)은 전송을 중단하고 피어 디바이스로부터 ACK 또는 NAK를 기다리는 전송 중단 상태(720)로 들어간다. 피어 디바이스는 전송된 패킷을 좋은(예를 들어, 오류 없는) 또는 나쁜(예를 들어, 오류가 많은) 상태에서 수신할 수 있고, 이에 따라, 로컬 디바이스(400)는 (피어 디바이스로부터) 응답(피어 ACK) 또는 부정 응답(피어 NAK)를 수신할 수 있다. 피어 ACK 또는 피어 NAK 수신에 대응하여, 중재 로직(460)은 '전송 완료'(725) 또는 '전송 실패'(730) 상태에 각각 들어간다. 이것은 '전송 상태들'(710)의 종료를 나타내고 중재 로직(460)은 트랜슬레이션 레이어(410) 또는 링크 레이어(430)로부터의 추가적인 명령들을 기다리는 '중재/유휴 상태'(705)로 다시 들어간다.
한편, 피어 디바이스로부터 패킷 또는 패킷 수신 요청 수신시, 중재 로직(460)(일반적으로 '중재/유휴 상태'(705)에 있는)은 링크 레이어(430)로부터 패킷 또는 패킷 수신 요청(RcvReq)을 수신한다. 전송 요청(Xmit_req)의 수신에 대응하여, 중재 로직(460)은 도 7에 도시된 '수신 상태들'(740)로 전이한다. 상세하게는, 중재 로직(460)은 중재 로직(460)이 들어오는 패킷들을 수신하고 수신된 패킷에 대한 에러 체크(예를 들어, CRC 또는 순환 중복 검사)를 수행하는 패킷 수신 및 CRC 체크(745)로 들어간다. 수신된 패킷이 에러 체크를 통과(CRC Good)하였다는 중재 로직(460)의 결정에 대응하여, 중재 로직(460)은 'ACK 전송' 상태(750)에 들어감으로써 ACK 신호를 (링크 레이어(430)로) 돌려보낸다. 한편, 수신된 패킷이 에러 체크를 통과하지 못하였다는(CRC Bad) 중재 로직(460)의 결정에 대응하여, 중재 로직(460)은 'NAK 전송' 상태(755)에 들어감으로써 NAK 신호를 (링크 레이어(430)로) 돌려보낸다. 이것은 '수신 상태들'(740)의 종료를 나타내고 중재 로직(460)은 트랜슬레이션 레이어(410) 또는 링크 레이어(430)로부터의 추가적인 명령들을 기다리는 '중재/유휴 상태'(705)로 다시 들어간다.
중재 로직(460)이 전송 및 수신 요청들(Xmit_req+RcvReq)을 동시에 수신할 때, 중재 로직(460)(일반적으로 '중재/유휴 상태'(705)에 있는)은 중재 로직(460)이 전술한 '수신 상태들'(740)로 들어감으로써 수신 요청을 제공하기 위해 전송 요청을 임시적으로 무시하는, '전송 보류'(760) 상태로 전이한다. 만일 중재 로직이 Xmit_req 및 RcvReq가 수신된 순서에 관계 없이 Xmit_req및 RcvReq 신호들을 각각의 특정 시간 간격 이내에서 수신하였다면, 중재 로직(460)은 전송 및 수신 요청들이 동시적이라고 결정할 수 있다. '수신 상태들'(740)의 완료시, 중재 로직(640)은 전송 요청(Xmit_req)가 계속하여 주장되는지(예컨대, 트랜슬레이션 레이어(410)에 의해) 여부를 확인하기 위해 '중재/유휴 상태'(705)로 되돌아간다. 주장되는 전송 요청(Xmit_req)에 대응하여, 중재 로직(460)은 전송 요청(Xmit_req)을 처리 또는 제공하기 위해 '전송 상태들'(710)로 들어간다. 이러한 충돌 시나리오는 도 5a-5b와 관련하여 추가적으로 설명된다.
로컬 디바이스(400)가 피어 디바이스로의 패킷 전송을 개시하고 중재 로직(460)(일반적으로 '중재/유휴 상태'(705)에 있는)이 '전송 상태들'로 들어가는 시나리오에서, 하나 이상의 '전송 상태들'에 있는 동안, 중재 로직은 링크 레이어(430)로부터 패킷 또는 패킷 수신 요청(RcvReq)을 수신할 수 있다. '전송 상태'(710)에 있는 동안 패킷 수신 요청(RcvReq)의 수신에 대응하여, 중재 로직(460)은 '전송 중단' 상태(760)에 들어가고 더 이상의 계속 진행중인 패킷 전송이 중단되어야 한다는 것을 나타내기 위해 링크 레이어(430)로의 전송 요청(예를 들어, 링크 레이어(430)의 로컬 TDM(480)으로)을 해제(de-assert)한다. 몇몇 실시예에서, '전송 중단' 상태(760)에서 중단된 패킷은 반 이중 트랜슬레이션 레이어에 의해 '전송 실패'(730) 상태에서의 실패된 패킷과 동등하게 취급된다. 그리고는 중재 로직은 중재 로직(460)이 전술한 '수신 상태들'(740)에 들어감으로써 수신 요청을 제공하기 위해 트랜슬레이션 레이어(410)로부터의 전송 요청을 임시적으로 무시하는 '전송 보류' 상태(770)로 들어간다. '전송 보류' 상태(770)는 명시적으로 중재 로직(460)의 모드를 전송(예를 들어, '전송 상태들'(710)) 또는 유휴 (예를 들어, '중재/유휴 상태'(705))으로부터 수신('수신 상태들'(740))으로 변경한다. 전술한 바와 같이, '수신 상태들'(740)의 완료시, 중재 로직(460)은 전송 요청(Xmit_req)이 계속하여 주장되는지(예를 들어, 트랜슬레이션 레이어(410)에 의해) 여부를 확인하기 위해 '중재/유휴 상태'(705)로 되돌아간다. 주장되는 전송 요청(Xmit_req)에 대응하여, 중재 로직(460)은 전송 요청을 처리 또는 제공하기 위해 '전송 상태들'(710)로 들어간다. 이러한 충돌 시나리오는 도 6a-6b와 관련하여 추가적으로 설명된다.
도 8은 몇몇 실시예에 따라 로컬 MHL 3 디바이스에서 중재 로직(460)에 의해 수행되는 예외 처리 기능들을 도시하기 위해, 도 7의 상태 전이도의 변경을 도시한다.
도 8의 전이도는 도 7의 전이도와 유사하나 두 개의 추가적인 타임아웃(Timeout) 상태들(피어 타임아웃(870) 및 로컬 타임아웃(880))을 갖는다. 도 8에 도시된 상태들(705-770)은 도 7과 관련하여 여기에서 상술된 대응되는 상태들(705-770)의 하나 이상의 특징을 가질 수도 있다는 점에 주목해야 한다. 간결성을 위해, 이러한 상세 내용들은 여기에서 반복되지 않는다.
두 개의 추가적인 타임아웃 상태들(피어 타임아웃(870) 및 로컬 타임아웃(880))은 중재 로직(460)이 링크 레이어(430)로부터의 하나 이상의 ACK/NAK/Grant 신호들(총괄하여 여기에서 '핸드세이크(handshake)' 신호들이라 칭한다)에 대해 허용 가능한 대기 시간의 특정된 최대 기간보다 더 오래 기다렸다는 것을 나타내는 예외 처리 상태들에 대응한다. 이러한 핸드세이크 신호들은 피어 디바이스로부터 또는 로컬 디바이스 그 자체 내부에서 비롯할 수 있다. 대기 시간의 기간은 예컨대 중재 로직이 하나 또는 그 이상의 신호들을 기다린 동안의 기간을 연산 또는 카운팅함으로써 측정될 수 있다. 대기하는 기간을 연산 또는 카운트하기 위해 카운터 또는 타이머가 사용될 수 있다. 대기 기간이 허용 가능한 대기의 특정된 최대 기간을 초과할 때, 중재 로직(460)은 타임아웃 상태로 들어간다.
몇몇 실시예에서, 중재 로직(460)은 피어 디바이스로부터 ACK/NAK(핸드세이크) 신호들을 기다린다. 예를 들어, 중재 로직(460)이 전송 중단 상태(720)에 있을 때, 중재 로직은 피어 디바이스로부터 ACK 또는 NAK 신호를 기다린다. 도 7과 관련하여 상술된 대로, 피어 디바이스로부터의 ACK 신호의 수신에 대응하여, 중재 로직(460)은 '전송 완료' 상태(725)로 진행한다. 한편, 피어 디바이스로부터의 NAK 신호의 수신에 대응하여, 중재 로직(460)은 '전송 실패' 상태(730)로 진행한다. 하지만, 중재 로직(460)은 피어 ACK 또는 피어 NAK 신호를 수신하기 위해 무한정한 시간 기간 동안 대기할 수도 없고 대기하지도 않는다. 대신에, 허용 가능한 대기 시간에 대한 최대 시간 기간 또는 상한이 이러한 대기를 위해 특정된다. 대기하는 시간이 카운트되거나 또는 측정된다. 대기하는 시간은 시간은 최대 허용 가능한 대기 시간과 비교되고 만일 대기하는 시간이 최대 허용 가능한 대기 시간을 초과하면, 중재 로직(460)은 피어 ACK 또는 피어 NAK 신호들을 기다리는 것을 중단하고 제1 예외 처리 상태(이 경우에는, '피어 타임아웃' 상태(870))로 들어간다. 달리 말하면, 중재 로직(460)에 의해 예상된 핸드세이크 신호들이 피어 디바이스로부터 비롯된 신호들(예컨대, 피어 ACK 또는 피어 NAK 신호들)일 때, 허용가능한 대기의 특정된 최대 기간의 만료시, 중재 로직(460)은 '피어 타임아웃' 상태(870)로 들어간다. 다시 말해서, 중재 로직(460)이 피어 핸드세이크 신호들에 대해 최대 허용 가능한 대기 시간보다 더 오래 기다렸을 때, 중재 로직(460)은 '피어 타임아웃' 상태(870)로 들어간다.
그렇지 않으면, 몇몇 실시예에서, 중재 로직(460)은 로컬 디바이스(400) 그 자체 내에서 하나 이상의 핸드세이크 신호들을 기다린다. 예를 들어, '수신 상태들'(740) 동안, 수신된 패킷이 성공적으로 에러 체크를 통과하였는지 여부를 나타내는 ACK 또는 NAK 신호를 링크 레이어(430)로부터 수신시, 중재 로직(460)은 ACK 또는 NAK 신호들의 수신 확인으로서 링크 레이어(430)로부터 로컬 Grant 신호를 기다린다. 그렇지 않으면, '패킷 전송' 상태(715) 동안, 중재 로직(460)은 링크 레이어(430)가 피어 디바이스로의 데이터 전송을 처리할 준비가 되었다는 것을 나타내는 로컬 Grant 신호를 링크 레이어(430)로부터 기다린다. 다시 말하면, 중재 로직(460)은 링크 레이어(430)로부터 로컬 Grant 신호를 수신하기 위해 무한정한 시간 기간을 대기할 수도 없고 대기하지도 않는다. 대신에, 허용 가능한 대기시간의 최대 시간 기간 또는 상한이 이러한 대기를 위해 정의된다. 대기하는 시간이 카운트되거나 또는 측정된다. 만일 대기하는 시간이 대기 시간의 최대 허용 가능한 기간을 초과하면, 중재 로직(460)은 로컬 Grant 신호의 대기를 중단하고 제2 예외 처리 상태(이 경우에는, '로컬 타임아웃' 상태(880))로 들어간다. 따라서, 중재 로직(460)에 의해 예상되는 핸드세이크 신호들이 로컬 디바이스(400) 그 자체 내에서 기인하는 신호들(예를 들어, 도 8에 도시된 바와 같이 '패킷 전송' 상태, 'NAK 전송' 상태 또는 'ACK 전송' 상태 동안 예상되는 로컬 Grant 신호)일 때, 허용 가능한 대기의 특정된 최대 기간 경과시, 중재 로직(460)은 '로컬 타임아웃' 상태로 들어간다. 다시 말하면, 중재 로직(460)이 로컬 핸드세이크 신호들에 대해 최대 허용 가능한 대기 시간보다 더 오래 기다렸을 때, 중재 로직(460)은 '로컬 타임아웃' 상태(880)로 들어간다.
몇몇 실시예에서, 이러한 서로 다른 핸드세이크 신호들 각각에 대해 특정된 최대 허용 가능한 대기 시간들은 다를 수 있다 - 예를 들어, 피어 ACK 신호에 대한 최대 허용 가능한 대기 시간은 피어 NAK 신호에 대한 최대 허용 가능한 대기 시간과 다를 수 있다. 유사하게, 로컬 Grant 신호에 대한 최대 허용 가능한 대기 시간은 피어 ACK 또는 피어 NAK 신호들에 대한 최대 대기 시간과 다를 수 있다. 이러한 최대 허용 가능한 대기 시간들은 미리 정의되거나 프로그램적으로 변경될 수 있다. '로컬 타임아웃' 상태(880) 또는 '피어 타임아웃' 상태(870)로부터, 중재 로직(460)은 '중재/유휴 상태'(705)로 되돌아간다.
도 4와 관련하여 설명된 바와 같이, 예외 처리 상태들('로컬 타임아웃' 상태(880) 또는 '피어 타임아웃' 상태(870)) 동안, 대기 시간이 특정된 한계점을 초과하면, 중재 로직(460)은 인터럽트 신호를 마이크로프로세서(470)(도 4에 보여지는)로 보낸다. 마이크로프로세서(470)는, 차례차례, 반 이중 트랜슬레이션 레이어(410) 및/또는 전 이중 링크 레이어(430) 및/또는 소프트웨어(465)(또한 도 4에 보여지는)에 그들 각각의 트랜슬레이션 레이어 프로토콜 상태들을 리셋(예를 들면, 유휴 상태로, 이전의 전송을 재시작하도록 등)하기 위한 신호를 보낸다.
유익하게는, 본 개시 내용의 실시예들은 향상된 MHL 3 링크를 통해 향상된 MHL 디바이스와 인터페이스할 때, 레거시 MHL 디바이스의 하나 이상의 구성요소의 재사용 가능성 및 하위 호환성을 허용한다. 특히, 레거시 반 이중 트랜슬레이션 레이어(410)는 향상된 MHL (MHL 3) 링크의 전 이중 eCBUS는 물론 레거시 MHL (MHL 1/2) 링크의 반 이중 CBUS 모두와 인터페이스하기 위해 재사용될 수 있다. 더욱이, 본 개시내용의 실시예들은 본래 레거시 MHL 디바이스 및 레거시 MHL 링크의 구성요소들과 호환성을 위해 디자인된 레거시 소프트웨어의 향상된 (MHL 3) 아키텍쳐와의 재사용을 가능하게 한다. 특히, 본 개시 내용의 실시예들은 레거시 MHL 소프트웨어가 MHL 3 링크의 eCBUS는 물론 레거시 MHL 링크의 CBUS 모두와 사용되는 것을 가능하게 한다.
설명의 목적을 위한 앞에서의 상세한 설명은 특정 실시예들을 참고로 하여 설명되었다. 그러나, 상기의 예시적인 논의들은 개시된 정확한 형태들에 대한 실시예들에 제한되거나 또는 망라된 것으로 의도하지 않는다. 많은 수정예들 및 변형들이 상기의 교리들의 관점에서 가능하다. 실시예들은 본 발명의 원리들 및 그것의 실제적인 애플리케이션들을 가장 잘 설명하기 위해 선택되고 서술되었고, 그에 의해 관련 기술 분야의 숙련된 자들로 하여금 고려된 특정한 사용에 적절한 다양한 수정예들을 갖는 실시예들을 최적으로 활용하는 것이 가능하다.

Claims (20)

  1. 전 이중(full-duplex)으로 또는 반 이중(half-duplex)으로 멀티미디어 버스 및 제어 버스를 갖는 멀티미디어 통신 링크를 통해 피어(peer) 디바이스와 인터페이스하기 위한 디바이스에 있어서,
    반 이중으로 상기 디바이스의 소프트웨어와 인터페이스하기 위한 반 이중 트랜슬레이션 레이어(half-duplex translation layer) 회로로서, 상기 반 이중 트랜슬레이션 레이어 회로는 상기 소프트웨어와 제어 데이터를 교환하고 반 이중 링크 레이어(half-duplex link layer) 회로 또는 전 이중 링크 레이어(full-duplex link layer) 회로에 통신적으로 연결되는, 상기 반 이중 트랜슬레이션 레이어 회로;
    전 이중으로 상기 제어 버스를 통해 상기 피어 디바이스와 상기 제어 데이터를 통신하기 위한 상기 전 이중 링크 레이어 회로;
    반 이중으로 상기 제어 버스를 통해 상기 피어 디바이스와 상기 제어 데이터를 통신하기 위한 상기 반 이중 링크 레이어 회로;
    상기 반 이중 트랜슬레이션 레이어 회로 및 상기 전 이중 링크 레이어 회로 사이에서 통신적으로 연결된 중재 회로로서, 상기 중재 회로는 전송 요청들 및 수신 요청들을 조절함으로써 상기 반 이중 트랜슬레이션 레이어 회로 및 상기 전 이중 링크 레이어 회로 사이에서 상기 제어 데이터의 데이터 흐름을 제어하는, 상기 중재 회로; 및
    상기 반 이중 트랜슬레이션 레이어 회로에 통신적으로 연결되며, 상기 피어 디바이스의 능력들에 기반하여 선택적으로 상기 반 이중 링크 레이어 회로 또는 상기 전 이중 링크 레이어 회로를 상기 반 이중 트랜슬레이션 레이어 회로에 연결하도록 구성된 멀티플렉싱 회로를 포함하는, 디바이스.
  2. 청구항 1에 있어서,
    상기 중재 회로는 상기 반 이중 트랜슬레이션 레이어 회로로부터의 전송 요청 및 상기 전 이중 링크 레이어 회로로부터의 수신 요청을 수신하고;
    상기 전송 요청 및 수신 요청에 대응하여, 상기 중재 회로는 상기 수신 요청을 허락하고 상기 수신 요청과 연관된 수신 처리(transaction)가 완료될 때까지 상기 전송 요청을 보류(hold)하는, 디바이스.
  3. 청구항 1에 있어서,
    상기 중재 회로는 데이터 전송 상태에 있는 동안 수신 요청을 수신하고;
    상기 데이터 전송 상태에 있는 동안 상기 수신 요청의 수신에 대응하여, 상기 중재 회로는 상기 데이터 전송 상태를 중단(abort)하고 상기 수신 요청을 허락하는, 디바이스.
  4. 청구항 1에 있어서,
    상기 중재 회로가 데이터 전송 상태에 있는 동안, 만일 상기 중재 회로가 미리 결정된 시간 기간 내에 상기 전 이중 링크 레이어 회로로부터 전송 허락을 수신하는데 실패하면, 상기 중재 회로는 상기 반 이중 트랜슬레이션 레이어 회로 또는 상기 전 이중 링크 레이어 회로의 프로토콜 상태들을 리셋(reset)하는 신호를 발생시키는, 디바이스.
  5. 청구항 1에 있어서,
    상기 중재 회로가 데이터 수신 상태에 있는 동안, 만일 상기 중재 회로가 미리 결정된 시간 기간 내에 상기 전 이중 링크 레이어 회로로부터 전송 허락을 수신하는데 실패하면, 상기 중재 회로는 상기 반 이중 트랜슬레이션 레이어 회로 또는 상기 전 이중 링크 레이어 회로의 프로토콜 상태들을 리셋하는 신호를 발생시키는, 디바이스.
  6. 청구항 1에 있어서,
    상기 중재 회로가 데이터 전송 상태에 있는 동안, 만일 중재 회로가 미리 결정된 시간 기간 내에 상기 전 이중 링크 레이어 회로를 통해 피어(peer) 디바이스로부터 핸드세이크(handshake) 신호를 수신하는데 실패하면, 상기 중재 회로는 상기 반 이중 트랜슬레이션 레이어 회로 또는 상기 전 이중 링크 레이어 회로의 프로토콜 상태들을 리셋하는 신호를 발생시키는, 디바이스.
  7. 청구항 1에 있어서,
    상기 중재 회로는 상기 반 이중 트랜슬레이션 레이어 회로 및 상기 전 이중 링크 레이어 회로 사이에서 데이터의 흐름을 제어하는 상태 기계(state machine)를 포함하는, 디바이스.
  8. 청구항 1에 있어서,
    상기 반 이중 트랜슬레이션 레이어 회로는 한번에 상기 제어 버스에 액세스하기 위해, 복수의 논리 채널들 중에서 하나의 선택된 논리 채널을 가능하게 하도록 구성된, 디바이스.
  9. 청구항 1에 있어서,
    상기 전 이중 링크 레이어 회로는 상기 반 이중 트랜슬레이션 레이어로부터 수신된 데이터를 링크 레이어 패킷들로 프레이밍(frame)하기 위한 스킴들(schemes)을 명시하도록 구성된, 디바이스.
  10. 청구항 1에 있어서,
    상기 전 이중 링크 레이어 회로는 상기 제어 버스를 통해 전송된 패킷들에 대한 타이밍 및 동기화를 제어하기 위한 시분할 멀티플렉서 회로를 포함하는, 디바이스.
  11. 청구항 1에 있어서,
    상기 중재 회로는,
    데이터 패킷들을 상기 반 이중 트랜슬레이션 레이어 회로로부터 상기 전 이중 링크 레이어 회로로 전송하고;
    상기 반 이중 트랜슬레이션 레이어 회로에서 상기 전 이중 링크 레이어 회로를 통해 데이터 패킷들을 수신하고; 그리고
    상기 중재 회로에서 양방향 데이터 흐름에 기인하여 발생하는 충돌을 해결하는 것에 대한 인터페이스 및 시그널링 규칙을 운영함으로서, 상기 반 이중 트랜슬레이션 레이어 회로 및 상기 전 이중 링크 레이어 회로 사이에서 데이터 흐름을 제어하는, 디바이스.
  12. 전 이중으로 또는 반 이중으로 멀티미디어 버스 및 제어 버스를 갖는 멀티미디어 통신 링크를 통해 피어 디바이스와 인터페이스하기 위한 디바이스의 표현(representaiton)을 저장하기 위한 비-휘발성 컴퓨터 판독 가능한 매체에 있어서, 상기 디바이스는,
    반 이중으로 상기 디바이스의 소프트웨어와 인터페이스하기 위한 반 이중 트랜슬레이션 레이어(half-duplex translation layer) 회로로서, 상기 반 이중 트랜슬레이션 레이어 회로는 상기 소프트웨어와 제어 데이터를 교환하고 반 이중 링크 레이어(half-duplex link layer) 회로 또는 전 이중 링크 레이어(full-duplex link layer) 회로에 통신적으로 연결되는, 상기 반 이중 트랜슬레이션 레이어 회로;
    전 이중으로 상기 제어 버스를 통해 상기 피어 디바이스와 상기 제어 데이터를 통신하기 위한 상기 전 이중 링크 레이어 회로;
    반 이중으로 상기 제어 버스를 통해 상기 피어 디바이스와 상기 제어 데이터를 통신하기 위한 상기 반 이중 링크 레이어 회로;
    상기 반 이중 트랜슬레이션 레이어 회로 및 상기 전 이중 링크 레이어 회로 사이에서 통신적으로 연결된 중재 회로로서, 상기 중재 회로는 전송 요청들 및 수신 요청들을 조절함으로써 상기 반 이중 트랜슬레이션 레이어 회로 및 상기 전 이중 링크 레이어 회로 사이에서 상기 제어 데이터의 데이터 흐름을 제어하는, 상기 중재 회로; 및
    상기 반 이중 트랜슬레이션 레이어 회로에 통신적으로 연결되며, 상기 피어 디바이스의 능력들에 기반하여 선택적으로 상기 반 이중 링크 레이어 회로 또는 상기 전 이중 링크 레이어 회로를 상기 반 이중 트랜슬레이션 레이어 회로에 연결하도록 구성된 멀티플렉싱 회로를 포함하는, 비-휘발성 컴퓨터 판독 가능한 매체.
  13. 청구항 12에 있어서,
    상기 중재 회로는 상기 반 이중 트랜슬레이션 레이어 회로로부터의 전송 요청 및 상기 전 이중 링크 레이어 회로로부터의 수신 요청을 수신하고;
    상기 전송 요청 및 수신 요청에 대응하여, 상기 중재 회로는 상기 수신 요청을 허락하고 상기 수신 요청과 연관된 수신 처리(transaction)가 완료될 때까지 상기 전송 요청을 보류(hold)하는, 비-휘발성 컴퓨터 판독 가능한 매체.
  14. 청구항 12에 있어서,
    상기 중재 회로는 데이터 전송 상태에 있는 동안 수신 요청을 수신하고;
    상기 데이터 전송 상태에 있는 동안 상기 수신 요청의 수신에 대응하여, 상기 중재 회로는 상기 데이터 전송 상태를 중단(abort)하고 상기 수신 요청을 허락하는, 비-휘발성 컴퓨터 판독 가능한 매체.
  15. 청구항 12에 있어서,
    상기 중재 회로가 데이터 전송 상태에 있는 동안, 만일 상기 중재 회로가 미리 결정된 시간 기간 내에 상기 전 이중 링크 레이어 회로로부터 전송 허락을 수신하는데 실패하면, 상기 중재 회로는 상기 반 이중 트랜슬레이션 레이어 회로 또는 상기 전 이중 링크 레이어 회로의 프로토콜 상태들을 리셋(reset)하는 신호를 발생시키는, 비-휘발성 컴퓨터 판독 가능한 매체.
  16. 청구항 12에 있어서,
    상기 중재 회로가 데이터 수신 상태에 있는 동안, 만일 상기 중재 회로가 미리 결정된 시간 기간 내에 상기 전 이중 링크 레이어 회로로부터 전송 허락을 수신하는데 실패하면, 상기 중재 회로는 상기 반 이중 트랜슬레이션 레이어 회로 또는 상기 전 이중 링크 레이어 회로의 프로토콜 상태들을 리셋하는 신호를 발생시키는, 비-휘발성 컴퓨터 판독 가능한 매체.
  17. 청구항 12에 있어서,
    상기 중재 회로가 데이터 전송 상태에 있는 동안, 만일 중재 회로가 미리 결정된 시간 기간 내에 상기 전 이중 링크 레이어 회로를 통해 피어(peer) 디바이스로부터 핸드세이크(handshake) 신호를 수신하는데 실패하면, 상기 중재 회로는 상기 반 이중 트랜슬레이션 레이어 회로 또는 상기 전 이중 링크 레이어 회로의 프로토콜 상태들을 리셋하는 신호를 발생시키는, 비-휘발성 컴퓨터 판독 가능한 매체.
  18. 청구항 12에 있어서,
    상기 중재 회로는 상기 반 이중 트랜슬레이션 레이어 회로 및 상기 전 이중 링크 레이어 회로 사이에서 데이터의 흐름을 제어하는 상태 기계(state machine)를 포함하는, 비-휘발성 컴퓨터 판독 가능한 매체.
  19. 청구항 1에 있어서, 상기 디바이스는,
    상기 멀티미디어 버스를 통해 상기 피어 디바이스로 비디오 데이터를 전송하기 위하여 상기 멀티미디어 버스와 인터페이스하기 위한 제 1 포트; 및
    상기 제어 버스를 통해 상기 피어 디바이스로 상기 제어 데이터를 전송하기 위하여 상기 제어 버스와 인터페이스하기 위한 제 2 포트를 더 포함하는, 디바이스.
  20. 청구항 1에 있어서,
    상기 피어 디바이스의 능력들에 기반하여 선택적으로 상기 반 이중 링크 레이어 회로 또는 상기 전 이중 링크 레이어 회로를 상기 반 이중 트랜슬레이션 레이어 회로에 연결하는 것은,
    상기 피어 디바이스가 반 이중으로 동작하도록 구성되는 것에 응답하여 상기 반 이중 링크 레이어 회로를 상기 반 이중 트랜슬레이션 레이어 회로에 연결하는 것; 및
    상기 피어 디바이스가 전 이중으로 동작하도록 구성되는 것에 응답하여 상기 전 이중 링크 레이어 회로를 상기 반 이중 트랜슬레이션 레이어 회로에 연결하는 것을 포함하는, 디바이스.
KR1020140125047A 2014-08-27 2014-09-19 멀티미디어 고화질 링크(mhl 3) 디바이스 내의 중재 시그널링 KR102032862B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/470,750 2014-08-27
US14/470,750 US9811495B2 (en) 2014-08-27 2014-08-27 Arbitration signaling within a multimedia high definition link (MHL 3) device

Publications (2)

Publication Number Publication Date
KR20160025424A KR20160025424A (ko) 2016-03-08
KR102032862B1 true KR102032862B1 (ko) 2019-10-16

Family

ID=55402668

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140125047A KR102032862B1 (ko) 2014-08-27 2014-09-19 멀티미디어 고화질 링크(mhl 3) 디바이스 내의 중재 시그널링

Country Status (2)

Country Link
US (1) US9811495B2 (ko)
KR (1) KR102032862B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102251809B1 (ko) * 2014-05-28 2021-05-13 삼성전자주식회사 메모리 시스템, 메모리 인터페이스 장치 및 메모리 시스템에서의 인터페이싱 방법
US9811495B2 (en) * 2014-08-27 2017-11-07 Lattice Semiconductor Corporation Arbitration signaling within a multimedia high definition link (MHL 3) device
US9386252B2 (en) * 2014-12-09 2016-07-05 Motorola Solutions, Inc. Systems and methods for triggering the transmission of recovery video frames to a video-receiving device over a half-duplex air interface
CN106303665A (zh) * 2016-11-14 2017-01-04 四川长虹电器股份有限公司 智能电视第三方视频应用窗口缩放和音画质参数处理方法
CN107680615A (zh) * 2017-09-25 2018-02-09 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 一种话音信号检测方法及系统
US10789002B1 (en) * 2017-10-23 2020-09-29 EMC IP Holding Company LLC Hybrid data deduplication for elastic cloud storage devices
CN111447333B (zh) * 2020-03-09 2021-07-02 深圳震有科技股份有限公司 Tdm总线故障检测方法及装置、设备、可读存储介质
WO2023059355A1 (en) * 2021-10-06 2023-04-13 Hewlett-Packard Development Company, L.P. Bidirectional video data communications
CN117834093A (zh) * 2023-12-08 2024-04-05 上海奎芯集成电路设计有限公司 高速串行接口半双工和全双工切换时的应答包传输方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100183004A1 (en) 2009-01-16 2010-07-22 Stmicroelectronics, Inc. System and method for dual mode communication between devices in a network
US20120173769A1 (en) 2011-01-04 2012-07-05 Icron Technologies Corp. Method And System For Communicating Display Port and Single-Link DVI/HDMI Information For Dual-Mode Devices

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546543A (en) * 1993-03-26 1996-08-13 Digital Equipment Corporation Method for assigning priority to receive and transmit requests in response to occupancy of receive and transmit buffers when transmission and reception are in progress
CN100499869C (zh) * 2006-05-24 2009-06-10 华为技术有限公司 一种终端设备接入方法及系统
JP5054818B2 (ja) * 2008-06-02 2012-10-24 パナソニック株式会社 インターフェース装置、通信システム、不揮発性記憶装置、通信モード切換方法および集積回路
US9234930B2 (en) * 2010-02-10 2016-01-12 Lattice Semiconductor Corporation Determination of physical connectivity status of devices based on electrical measurement
US9030969B2 (en) * 2011-11-21 2015-05-12 Broadcom Corporation Wireless communication device capable of utilizing multiple radio access technologies
US9197393B2 (en) * 2012-11-27 2015-11-24 Intel Corporation Multi-transceiver wireless communication device and methods for adaptive multi-band communication
EP3140929B1 (en) * 2014-05-06 2021-03-17 Intel Corporation Interference cancellation for signals having the same radio-frequency carrier and transmitted at the same time
US9811495B2 (en) * 2014-08-27 2017-11-07 Lattice Semiconductor Corporation Arbitration signaling within a multimedia high definition link (MHL 3) device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100183004A1 (en) 2009-01-16 2010-07-22 Stmicroelectronics, Inc. System and method for dual mode communication between devices in a network
US20120173769A1 (en) 2011-01-04 2012-07-05 Icron Technologies Corp. Method And System For Communicating Display Port and Single-Link DVI/HDMI Information For Dual-Mode Devices

Also Published As

Publication number Publication date
US20160062937A1 (en) 2016-03-03
KR20160025424A (ko) 2016-03-08
US9811495B2 (en) 2017-11-07

Similar Documents

Publication Publication Date Title
KR102032862B1 (ko) 멀티미디어 고화질 링크(mhl 3) 디바이스 내의 중재 시그널링
US10180927B2 (en) Device, system and method for communication with heterogeneous physical layers
US9003089B2 (en) Synchronous serial data-exchange system
US9280510B2 (en) Inter-chip communications with link layer interface and protocol adaptor
EP2238529B1 (en) Control bus for connection of electronic devices
US9559753B2 (en) Virtualized physical layer adapted for EHF contactless communication
KR102569761B1 (ko) 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법
US8380912B2 (en) Transparent repeater device for handling displayport configuration data (DPCD)
US20150309958A1 (en) Methods and devices for extending usb 3.0-compliant communication
US8909843B1 (en) Peripheral component interconnect express switch apparatus and method of controlling connection thereof
US9684942B2 (en) Link aggregator for an electronic display
US10043480B2 (en) Inter-device conflict resolution on a multimedia link
CN110113209B (zh) 基于mipi协议的设备间通信方法及设备拓扑结构
US9490962B2 (en) Phase relationship control for control channel of a multimedia communication link
US20120257638A1 (en) Negotiation method and electronic apparatus used in ethernet channel of high definition multimedia interface
RU2700560C1 (ru) Устройство коммуникационного интерфейса gigaspacewire
US9537646B2 (en) Retry disparity for control channel of a multimedia communication link
US20160072601A1 (en) Enhanced Communication Link Using Synchronization Signal as Link Command
KR20160031199A (ko) 링크 명령으로서 동기화 신호를 사용하는 향상된 통신 링크
TW202316846A (zh) 具有多模式傳輸實體層之usb集線裝置及方法
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