본 명세서는 본 발명의 특징들을 포함하는 하나 이상의 실시예들을 기재하고 있다. 기재된 실시예(들)는 단순히 본 발명을 예시하는 것이다. 본 발명의 범위는 기재된 실시예(들)로 제한되지 않는다. 본 발명은 본 명세서에 첨부된 청구항들에 의해서 정해진다.
기재된 실시예(들), 및 "일실시예", "실시예", "예시적인 실시예" 등에 대한 명세서에서의 언급은, 기재된 실시예(들)가 특정한 특징, 구조, 또는 특성을 포함할 수 있지만 모든 실시예가 그러한 특정의 특징, 구조, 또는 특성을 반드시 포함할 필요는 없을 수 있다. 게다가, 이러한 문구들은 동일한 실시예를 반드시 지칭하지는 않는다. 또한, 특정한 특징, 구조, 또는 특성이 실시예와 연계하여 설명될 때는, 그것이 명시적으로 기재되었는지 여부에 상관없이 다른 실시예들과 연계하여 이러한 특징, 구조, 또는 특성을 실행하는데 있어 당업자의 지식 범위 내에 있는 것으로 이해된다.
본 발명의 실시예들은 하드웨어, 펌웨어, 소프트웨어, 또는 그것들의 임의의 결합으로 구현될 수 있다. 본 발명의 실시예들은 또한 하나 이상의 프로세서들에 의해서 판독되고 실행될 수 있는 기계-판독가능 매체에 저장되는 명령들로서 구현될 수 있다. 기계-판독가능 매체는 기계(예컨대, 컴퓨팅 장치)에 의해서 판독가능한 형태로 정보를 저장하거나 전송하기 위한 임의의 메커니즘을 포함할 수 있다. 예컨대, 기계-판독가능 매체는 판독 전용 메모리(ROM); 랜덤 액세스 메모리(RAM); 자기 디스크 저장 매체; 광학 저장 매체; 플래시 메모리 장치들을 포함할 수 있다. 또한, 펌웨어, 소프트웨어, 루틴들, 명령들이 특정 액션들을 수행하는 것으로서 본 명세서에서 설명될 수 있다. 그러나, 이러한 설명들은 단순히 편의를 위한 것이고 그러한 액션들은 실질적으로 컴퓨팅 장치들, 프로세서들, 제어기들, 또는 펌웨어, 소프트웨어, 루틴들, 명령들 등을 실행하는 다른 장치들로부터 이루어진다는 것을 알아야 한다.
도 1은 디지털 장치(150) 및 주변 장치(180)에 연결되는 디지털 데이터 장치 인터페이스(100)를 도시한다. 디지털 장치(150)는 셀룰러 전화기, PDA, 스마트 폰 또는 개인용 컴퓨터를 포함할 수 있지만, 반드시 그러한 것들로만 제한되지는 않는다. 일반적으로, 디지털 장치(150)는 디지털 명령들 및 디지털 프리젠테이션 데이터의 처리를 위한 처리 유닛으로서 기능하는 디지털 장치를 포함할 수 있다. 디지털 장치(150)는 시스템 제어기(160) 및 링크 제어기(170)를 포함한다.
주변 장치(180)는 카메라, 바코드 판독기, 이미지 스캐너, 오디오 장치, 및 센서를 포함할 수 있지만, 반드시 그러한 것들로만 제한되지는 않는다. 일반적으로, 주변 장치(180)는 오디오, 비디오 또는 이미지 캡처와 디스플레이 장치들을 포함할 수 있는데, 상기 디스플레이 장치들에서는 디지털 프리젠테이션 데이터가 주 변 유닛과 처리 유닛 간에 교환된다. 주변 장치(180)는 제어 블록들(190)을 포함한다. 주변 장치(180)가 예컨대 카메라일 경우, 제어 블록들(190)은 렌즈 제어부, 플래시 또는 백색 LED 제어부 및 셔터 제어부를 포함할 수 있는데, 그러나 반드시 그러한 것들로만 제한되지는 않는다.
디지털 프리젠테이션 데이터는 오디오, 이미지 및 멀티미디어 데이터를 나타내는 디지털 데이터를 포함할 수 있다.
디지털 데이터 인터페이스 장치(100)는 통신 링크(105)를 통해서 고속으로 디지털 프리젠테이션 데이터를 전송한다. 일실시예에서는, 최대로 초당 3.2Gbits의 대역폭을 갖는 양방향성 데이터 전송을 지원하는 MDDI 통신 링크가 사용될 수 있다. 이러한 예보다 더 높거나 더 낮은 다른 고속의 데이터 전송이 통신 링크에 따라서 지원될 수 있다. 디지털 데이터 인터페이스 장치(100)는 메시지 해석기 모듈(110), 컨텐트 모듈(120), 제어 모듈(130) 및 링크 제어기(140)를 포함한다.
디지털 데이터 인터페이스(100) 내에 배치되는 링크 제어기(140) 및 디지털 장치(150) 내에 배치되는 링크 제어기(170)가 통신 링크(105)를 형성한다. 링크 제어기(140) 및 링크 제어기(170)는 MDDI 링크 제어기들일 수 있다.
VESA(Video Electronics Standards Association) MDDI 표준은 휴대용 장치로 하여금 디지털 메시지들을 소형 휴대용 장치들로부터 대형 외부 디스플레이들에 전송할 수 있게 하는 고속 디지털 패킷 인터페이스의 요건들을 기재하고 있다. MDDI는 휴대용 컴퓨팅 장치, 통신 장치 및 엔터테인먼트 장치를 착용가능 마이크로 디스플레이들과 같이 최근에 생겨난 제품들에 링크시키기에 적합한 소형 커넥터 시스 템 및 얇은 유동성 케이블에 적용된다. 그것은 또한 호스트 프로세서들과 디스플레이 장치 간의 접속들을 어떻게 간단하게 함으로써 비용을 감소시키고 이러한 접속들의 신뢰성을 증가시킬 수 있는 지에 대한 정보를 포함한다. 링크 제어기들(140 및 170)은 VESA MDDI 표준에 기초하여 통신 경로(105)를 형성한다.
2004년 7월 6일에 등록된 Zou 등의 미국 특허 제 6,760,772호 "Generating and Implementing a Communication Protocol and Interface for High Data Rate Signal Transfer"('772 특허")는 프리젠테이션 데이터를 위한 통신 프로토콜을 형성하기 위해서 서로 링크된 패킷 구조들을 사용하여 통신 경로를 통해 호스트 장치와 클라이언트 장치 간에 디지털 데이터를 전송하기 위한 데이터 인터페이스를 개시하고 있다. '772 특허에 개시된 발명의 실시예들은 MDDI 인터페이스에 관한 것이다. 신호 프로토콜은 링크 제어기들(140 및 170)과 같은 링크 제어기들에 의해서 사용되는데, 상기 링크 제어기들은 통신 프로토콜을 형성하는 패킷들을 생성하여 전송하고 수신하며, 또한 하나 이상의 타입들의 데이터 패킷들로 디지털 데이터를 형성하도록 구성되는데, 그 중 적어도 하나는 호스트 장치 내에 존재하며, 통신 경로(105)와 같은 통신 경로를 통해서 클라이언트에게 연결된다. 인터페이스는 단거리 "직렬" 타입 데이터 링크를 통해서 비용-효과적이면서 저전력의 양방향성 고속 데이터 전송 메커니즘을 제공하는데, 이는 소형 커넥터들 및 얇은 유동성 케이블들을 통한 구현에 적합하다. 링크 제어기들(140 및 170)의 실시예는 '772 특허의 내용에 기초하여 통신 경로(105)를 형성한다. '772 특허는 여기서 참조로서 포함된다.
또한, 호스트 장치는 본 발명을 사용함으로써 유리할 수 있는 몇 가지 타입의 장치들 중 하나를 포함한다. 예컨대, 호스트 장치는 디지털 장치(150)에 표시된 바와 같이 핸드헬드, 랩톱, 또는 유사한 이동 컴퓨팅 장치의 형태인 휴대용 컴퓨터일 수 있다. 상기 호스트 장치는 또한 PDA(Personal Data Assistant), 호출 장치(paging device), 또는 많은 무선 전화기들 또는 모뎀들 중 하나일 수 있다. 대안적으로는, 상기 호스트 장치는 휴대용 DVD나 CD 플레이어와 같은 휴대용 엔터테인먼트 또는 프리젠테이션 장치나 혹은 게임 플레잉 장치일 수 있다.
호스트 장치는 클라이언트 장치와의 고속 통신 링크가 요구되는 광범위하게 사용되거나 계획되는 다양한 다른 상업적인 제품들 내에 호스트 장치나 제어 엘리먼트로서 배치될 수 있다. 예컨대, 호스트 장치는 비디오 레코딩 장치로부터 향상된 응답을 위한 저장 기반 클라이언트 장치로 또는 프리젠테이션들을 위한 고해상도 대형 스크린으로 데이터를 고속으로 전송하는데 사용될 수 있다. 다른 하우스홀드 장치들로의 블루투스 접속들 및/또는 내장형 인벤터리 또는 컴퓨팅 시스템을 포함하는 냉장고와 같은 제품은 인터넷 또는 블루투스 접속 모드에서 동작할 때 향상된 디스플레이 성능들을 가질 수 있거나, 또는 전자 컴퓨터 또는 제어 시스템들(호스트 장치)이 다른 곳에서 캐비넷에 존재하는 동안에 인-더 도어 디스플레이들(in-the-door displays)(클라이언트 장치들) 및 키패드들 또는 스캐너들(클라이언트 장치들)에 대한 배선 필요성들이 감소될 수 있다. 일반적으로, 당업자들은 매우 다양한 현대 전자 장치들 및 제품들이 이러한 인터페이스들을 사용하는 것뿐만 아니라 새롭게 추가된 또는 기존의 커넥터들 또는 케이블들을 통해 이용될 수 있는 제한된 수의 컨덕터들을 활용하여 더 높은 데이터 전송 속도의 정보 전송을 갖도록 구형 장치들을 개조하는 능력으로 인해 유리할 수 있다는 것을 알 것이다.
동시에, 클라이언트 장치는 정보를 최종 사용자에게 제공하거나 또는 사용자로부터 호스트 장치로 정보를 제공하는데 유용한 다양한 장치들을 포함할 수 있다. 예컨대, 고글들(goggles) 또는 안경들에 통합되는 마이크로-디스플레이, 모자 또는 헬멧 내에 장착되는 프로젝션 장치, 창문 또는 전면 유리와 같은 자동차 내에 장착되는 소형 스크린 또는 심지어 입체영상 엘리먼트, 또는 고품질 사운드 또는 뮤직을 제공하기 위한 다양한 스피커, 헤드폰, 또는 사운드 시스템들. 다른 프리젠테이션 장치들은 회의나 영화들 및 텔레비전 이미지들을 위한 정보를 제공하기 위해 사용되는 프로젝터들 또는 프로젝션 장치들을 포함한다. 또 다른 예는 사용자로부터의 터치 또는 사운드 이외에 작은 실질적인 "입력"을 통해 장치 또는 시스템 사용자로부터 상당한 양의 정보를 전송하기 위해서 요청될 수 있는 터치 패드들 또는 감응 장치들, 음성 인식 입력 장치들, 보안 스캐너들 등을 사용하는 것일 것이다. 또한, 컴퓨터들 및 자동차 키트들(car kits)을 위한 도킹 스테이션(docking station) 또는 무선 전화기들을 위한 데스크-톱 키트들 및 홀더들이 최종 사용자들 또는 다른 장치들 및 기기들로의 인터페이스 장치들로서 기능할 수 있으며, 또한 특히 고속 네트워크들이 수반되는 경우에 데이터 전송을 돕기 위해서 클라이언트 장치들(마우스들과 같은 출력 또는 입력 장치들) 또는 호스트 장치들을 이용할 수 있다.
그러나, 당업자들이라면, 본 발명이 이러한 장치들로 제한되지 않고 또한 저장 및 전송에 있어서나 또는 재생 시의 프리젠테이션에 있어서 고품질의 이미지들 및 사운드를 최종 사용자들에게 제공하도록 의도되는 많은 다른 장치들이 시장에 나와 있으며 또한 사용하도록 제안된다는 것을 알 것이다. 본 발명은 원하는 사용자 체험을 구현하기 위해서 필요한 높은 데이터 속도를 수용하기 위해 여러 엘리먼트들 또는 장치들 사이의 데이터 처리량을 증가시키는데 있어 유용하다.
본 발명의 MDDI 및 통신 신호 프로토콜이 호스트 프로세서, 제어기, 또는 회로 구성성분(예컨대)과 장치나 장치 하우징 또는 구조(내부 모드로 지칭됨) 내의 디스플레이 사이의 상호접속을 간단하게 만듬으로써 비용 또는 복잡성 및 연관된 전력과 제어 요건들 또는 이러한 접속들의 제약들을 감소시키고 또한 외부 엘리먼트들, 장치들, 또는 기기(외부 모드로 지칭됨)로의 접속이나 그것들 자체들에 대한 신뢰성을 향상시키기 위해서 사용될 수 있다.
무선 통신 장치들 각각은 무선 핸드셋 또는 전화기, 셀룰러 전화기, 데이터 트랜시버, 또는 호출 또는 위치 결정 수신기와 같은 장치를 구비하거나 포함할 수 있고(그러나, 그러한 장치들로 제한되지는 않음), 원할 경우에는 수송수단(자동차들, 트럭들, 보트들, 열차들, 및 비행기들) 내에 장착되는 핸드헬드 또는 휴대형일 수 있다. 그러나, 비록 무선 통신 장치들이 일반적으로 이동가능한 것으로서 보여지지만, 본 발명의 내용들은 일부 구성들에서는 "고정" 유닛들에 적용될 수 있다는 것을 또한 알게 된다. 또한, 본 발명의 내용들은 데이터 및/또는 음성 트래픽을 전송하기 위해 사용될 수 있으면서 또한 예컨대 정보, 명령들, 또는 오디오 신호들 을 전송하기 위해서 케이블들 또는 다른 공지된 무선 링크들을 사용하여 다른 장치들과 통신할 수 있는 하나 이상의 데이터 모듈들 또는 모뎀들과 같은 무선 장치들에 적용될 수 있다. 또한, 명령들은 다중 통신 채널들을 통해 정보를 전송하기 위해서 미리 결정되어진 조정되거나 연관된 방식으로 모뎀들 또는 모듈들이 동작할 수 있게 하는데 사용될 수 있다. 무선 통신 장치들은 또한 종종 편의에 따라서, 사용자 단말기들, 이동국들, 이동 유닛들, 가입자 유닛들, 이동 무선기들 또는 무선전화기들, 무선 유닛들을 지칭하거나, 혹은 일부 통신 시스템들에서 '사용자들' 및 '모바일들'로 간단히 지칭된다.
무선 장치들과 관련해서는, 본 발명은 셀룰러 AMPS(cellular Analog Advanced Mobile Phone System)과 같은 다양한 산업 표준을 사용하는 무선 장치들(그러한, 상기 셀룰러 AMPS로 제한되지는 않음)과, CDMA 스펙트럼 확산 시스템들, TDMA 시스템들, 및 TDMA 및 CDMA 기술들 모두를 사용하는 새로운 하이브리드 디지털 통신 시스템들과 같은 디지털 셀룰러 시스템들이 사용될 수 있다. CDMA 셀룰러 시스템은 TIA/EIA(Telecommunications Industry Association/Electronic Industries Association) 표준 IS-95에 설명되어 있다. 결합형 AMPS & CDMA 시스템들이 TIA/EIA 표준 IS-98에 설명되어 있다. 다른 통신 시스템들이 International Mobile Telecommunications System 2000/Universal Mobile Telecommunications System 또는 IMT-2000/UM 표준들에 설명되어 있는데, 상기 표준들은 광대역 CDMA(WCDMA), (예컨대 cdma2000 1x-rxtt cdma2000 1x, 3x, 또는 MC 표준들과 같은) cdma2000 또는 TD-SCDMA로서 공통적으로 지칭되는 것을 커버한다. 위성 기반의 통신 시스템들도 또한 이러한 표준들이나 또는 이와 유사한 공지된 표준들을 활용한다.
다른 실시예에서, 링크 제어기들(140 및 170) 모두는 USB 링크 제어기일 수 있거나, 또는 그 둘 모두는 예컨대 MDDI 링크 제어기 및 다른 타입의 링크 제어기와 같은 제어기들의 결합체를 포함할 수 있는데, 상기 다른 타입의 링크 제어기는 예컨대 USB 링크 제어기이다. 대안적으로, 링크 제어기들(140 및 170)은 디지털 데이터 인터페이스 장치(100)와 디지털 장치(150) 사이에 확인응답 메시지를 교환하기 위한 단일 링크 및 MDDI 링크 제어기와 같은 제어기들의 결합체를 포함할 수 있다. 링크 제어기들(140 및 170)은 또한 이더넷 또는 RS-232 직렬 포트 인터페이스와 같은 다른 타입들의 인터페이스들을 지원할 수 있다. 추가적인 인터페이스들이 본 명세서의 내용에 기초하여 당업자들이 알게 될 바와 같이 지원될 수 있다.
디지털 데이터 인터페이스 장치(100) 내에서는, 메시지 해석기 모듈(110)이 시스템 제어기(160)로부터 명령들을 수신하고 통신 링크(105)를 통해 시스템 제어기(160)로 보낼 응답 메시지들을 생성하고, 명령 메시지들을 해석하며, 그 명령들의 정보 컨텐트를 디지털 데이터 인터페이스 장치(100) 내의 적절한 모듈에 라우팅한다. 도 2는 메시지 해석기 모듈(110)의 구조 및 기능을 상세히 도시한다.
특히, 도 2를 참조하면, 메시지 해석기 모듈(110)은 메시지 해석기 제어기(210), 응답 버퍼(220) 및 명령 버퍼(230)를 포함한다.
메시지 해석기 제어기(210)는 인입 메시지들을 판독하여 해석하고, 레지스터 액세스를 생성하며, 응답 메시지들을 생성한다. 인입 메시지들은 예컨대 주변장치 (180)를 제어하도록 하는 디지털 장치(150)로부터의 지시들을 포함한다. 응답 메시지들은 지시가 실행되었는지 여부를 알려주는 디지털 장치(150)로의 확인응답 메시지들을 포함할 수 있다. 응답 메시지들은 또한 주변 장치(180)로부터 데이터를 판독하기 위한 요청들 및 디지털 장치(150)에 대한 자발적 제어 명령들(unsolicited control commands)을 포함할 수도 있다.
응답 버퍼(220)가 메시지 해석기 제어기(210)에 연결되며, 응답 메시지들을 버퍼링한다. 응답 버퍼 제어기(225)가 링크 제어기(140)로 응답 메시지들을 출력하는 흐름을 조정하기 위해서 응답 버퍼(220)와 링크 제어기(140) 사이에 연결될 수 있다.
명령 버퍼(230)는 또한 메시지 해석기 제어기(210)에 연결되며, 인입 명령 메시지들을 버퍼링한다. 링크 제어기(140)로부터 수신되는 인입 명령 메시지들의 흐름을 조정하는 명령 버퍼 제어기(235)가 명령 버퍼(230)와 링크 제어기(140) 사이에 연결될 수 있다. 명령 버퍼 제어기(235)는 또한 유효 명령 메시지를 식별하며, 그 유효 명령 메시지 내에서 새로운 트랜잭션을 검출한다. 명령 버퍼 제어기(235)는 특정 명령 메시지 내에서 또는 명령 메시지들 세트 내에서 하나 이상의 분실 부분들을 검출하기 위해 명령 메시지와 연관되는 미리 정해진 고유 식별자를 검사하는 에러 검출 메커니즘을 포함한다. 예시적인 구현에 있어서, 상기 미리 정해진 고유 식별자는 명령 메시지의 처음에 단일 비트를 포함한다.
도 1을 다시 참조하면, 컨텐트 모듈(120)은 주변 장치(180)로부터 데이터를 수신하고, 그 데이터를 저장하며, 그 데이터를 통신 링크(105)를 통해서 시스템 제 어기(160)에 전송한다. 도 3은 컨텐트 모듈(120)의 구조 및 기능을 더 상세히 나타낸다.
도 3을 참조하면, 컨텐트 모듈(120)은 컨텐트 버퍼(310), 판독 제어 모듈(320), 기록 및 동기 제어 모듈(330), 및 레지스터 블록(340)을 포함한다. 컨텐트 버퍼(310)는 주변 장치(180)로부터 수신되어진 데이터를 저장한다.
판독 제어 모듈(320)은 컨텐트 버퍼(310)로부터 링크 제어기(140)로의 데이터 전송을 관리한다. 예컨대, 판독 제어 모듈(320)은 링크 제어기(140)를 통해서 디지털 장치(150)로부터 데이터 요청을 수신할 수 있다. 판독 제어 모듈(320)은 데이터의 크기 및 데이터의 전송될 준비 여부를 나타내는 메시지를 디지털 장치(150)에 제공할 수 있다. 데이터가 이용가능할 때, 그 데이터는 컨텐트 버퍼(310)로부터 직접적으로 전송될 수 있거나 또는 판독 제어 모듈(320)을 통해서 직접적으로 전송될 수 있다.
기록 및 동기 제어 모듈(330)은 주변 장치(180)로부터 컨텐트 버퍼(310)로의 데이터 흐름을 관리한다. 기록 및 동기 제어 모듈(330)은 주변 장치(180)로부터 수신되는 데이터 중 일부나 또는 모두를 컨텐트 버퍼(310)에 선택적으로 기록하기 위한 수단을 포함한다. 기록 및 동기 제어 모듈(330)은 또한 컨텐트를 구별하기 위한 하나 이상의 데이터 경계들을 결정하기 위해서 수신된 데이터 내에 보유된 동기 펄스들을 검사하기 위한 수단을 포함한다. 또한, 기록 및 동기 모듈(330)은 타이밍 정보를 데이터에 삽입하기 위한 수단을 포함할 수 있다.
레지스터 블록(340)은 컨텐트 버퍼(310), 판독 제어 모듈(320), 및 기록 및 동기 제어 모듈(330) 중 적어도 하나의 동작에 영향을 주는 동작 파라미터들을 저장한다. 레지스터 블록(340)은 또한 동작 파라미터들을 수신하기 위한 메시지 해석기 모듈(110)에도 연결될 수 있다. 예컨대, 레지스터 블록(340)은, 주변 장치(180)가 카메라일 때, 비디오 신호 또는 프레임의 데시메이션(decimation)을 위해 사용될 수 있는 비디오 데이터 마스크들을 저장할 수 있다. 마찬가지로, 동작 파라미터들은 비디오 신호의 프레임들 및 라인들 내에서 서브-샘플링을 위한 지시들뿐만 아니라 비디오 신호의 에지들을 결정하는데 사용되는 지시들을 포함할 수 있다. 파라미터들은 또한 기록 및 동기 제어 모듈(330)과 판독 제어 모듈(320)의 동작을 지시하기 위해 사용되는 폭 정보와 윈도우 높이 및 라인당 픽셀들을 포함할 수 있다.
도 1을 다시 참조하면, 제어 모듈(130)은 메시지 해석기(110)로부터 정보를 수신하며, 주변 장치(180)의 제어 블록들(190)에 그 정보를 라우팅한다. 제어 모듈(130)은 또한 제어 블록들(190)로부터 정보를 수신할 수 있으며, 그 정보를 메시지 해석기 모듈(110)에 라우팅할 수 있다. 도 4는 제어 모듈(130)의 구조 및 기능을 더욱 상세히 나타낸다.
도 4를 참조하면, 제어 모듈(130)은 제어 레지스터 블록(410) 및 주변 제어 블록(420)을 포함한다. 제어 레지스터 블록(410)은 주변 제어 블록(420)에 제어 지시들을 제공하는 레지스터들을 포함한다. 제어 레지스터 블록(410)은 메시지 해석기 모듈(110)과 주변 제어 블록(420) 사이에 연결된다. 주변 제어 블록(420)은 제어 레지스터 블록(410)으로부터의 주변 제어 정보를 수집하며, 그 정보를 주변 장치(180)를 제어하는데 사용한다. 예컨대, 주변 장치(180)가 카메라일 때, 주변 제어 블록(420)은 카메라의 플래시 또는 백색 LED 제어, 셔터 및 노출 제어, 렌즈 제어, 및 마스터 제어를 위한 제어 블록들을 포함할 수 있다.
도 5는 상부 및 하부 클렘셀들에 배치되는 구성성분들 간의 고속 데이터 통신들을 제공하기 위해서 MDDI 인터페이스를 사용하는, 상부 및 하부 클렘셀 섹션들을 구비한 셀룰러 전화기(500)에 대한 블록도이다. 셀룰러 전화기(500)에 관한 아래의 설명은 디지털 데이터 인터페이스 장치(100)의 사용을 또한 도시하면서 그것의 구현 및 사용에 관한 추가적인 세부사항들을 제공하는 도시적인 예를 제공한다. 아래의 설명에 기초하며, 예컨대 PDA 및 다른 타입의 이동 전화기들과 같은 다른 장치들과 함께 디지털 데이터 인터페이스 장치(100)를 사용하는 것은 자명할 것이며 또한 본 발명의 사상 및 범위 내에 든다.
도 5를 참조하면, 셀룰러 전화기(500)의 하부 클렘셀 섹션(502)은 이동국 모뎀(MSM) 기저대역 칩(504)을 포함한다. MSM(104)은 디지털 기저대역 제어기이다. 본 발명은 MSM 기저대역 칩(504)만을 사용하는 것으로 제한되지는 않는다. 다른 실시예들에서, MSM 기저대역 칩(504)은 다른 타입의 기저대역 프로세서, 프로그램가능 디지털 신호 프로세서들(DSPs), 또는 제어기들일 수 있다. 셀룰러 전화기(500)의 상부 클렘셀 섹션(514)은 액정 디스플레이(LCD) 모듈(516) 및 카메라 모듈(518)을 포함한다. 하부 클렘셀 섹션(502) 및 상부 클렘셀 섹션(514) 모두는 예컨대 셀룰러 전화기들에 통상적으로 사용되는 것과 같은 플라스틱 내에 넣어진다. 힌지들(hinges)(550 및 552)이 하부 클렘셀(502)을 상부 클렘셀(514)에 기계적으로 연결한다. 유동적인 연결(554)이 하부 클렘셀(502)과 상부 클렘셀(514) 간의 전기적인 연결을 제공한다.
MDDI 링크(510)는 카메라 모듈(518)을 MSM(504)에 접속시킨다. 카메라 모듈(518) 및 MSM(504) 각각을 위한 MDDI 링크 제어기가 제공된다. 셀룰러 전화기(500) 내에서는, 예컨대, MDDI 호스트(522)가 카메라 모듈(512)에 연결되는 인터페이스 시스템(530) 내에 통합되고, 반면에 MDDI 클라이언트(506)는 MDDI 링크(510)의 MSM 측 상에 배치된다. 실시예에서, MDDI 호스트는 MDDI 링크의 마스터 제어기이다.
셀룰러 전화기(500)에서는, 카메라 모듈(518)로부터의 픽셀 데이터가 수신되며, MDDI 링크(510)를 통해 전송되기 이전에 MDDI 호스트(522)를 사용하여 인터페이스 시스템(530)에 의해서 MDDI 패킷들로 포맷된다. MDDI 클라이언트(506)는 MDDI 패킷들을 수신하며, 카메라 모듈(518)에 의해서 생성되는 것과 동일한 포맷의 픽셀 데이터로 상기 MDDI 패킷들을 재변환한다. 다음으로, 그 픽셀 데이터는 처리를 위해서 MSM(504) 내의 적절한 블록에 전송된다.
마찬가지로, MDDI 링크(512)는 LCD 모듈(516)을 MSM(504)에 접속시킨다. MDDI 링크(512)는 MSM(504)에 통합된 MDDI 호스트(508)와, LCD 모듈(516)에 연결되는 인터페이스 시스템(532)에 통합된 MDDI 클라이언트(520)를 상호접속시킨다. MSM(504)의 그래픽 제어기에 의해 생성되는 디스플레이 데이터가 수신되며, MDDI 링크(512)를 통해 전송되기 이전에 MDDI 호스트(508)에 의해서 MDDI 패킷들로 포맷된다. MDDI 클라이언트(520)는 MDDI 패킷들을 수신하여 디스플레이 데이터로 재변 환하고, 그 디스플레이 데이터를 LCD 모듈(516)에 의한 사용을 위해서 인터페이스 시스템(532)을 통해 처리한다.
인터페이스 시스템들(530 및 532)은 디지털 데이터 장치 인터페이스(100)의 상이한 실시예들을 나타낸다. 인터페이스 시스템(530)의 경우에, 디지털 데이터 장치 인터페이스(100) 엘리먼트들은 카메라를 위한 카메라 제어 기능들 및 카메라 이미지들의 데이터 전송을 지원하도록 구현될 것이다. 인터페이스 시스템(532)의 경우에, 디지털 데이터 장치 인터페이스(100) 엘리먼트들은 LCD에 대한 데이터 디스플레이 및 LCD에 대한 제어 기능들을 지원하도록 구현될 것이다. 인터페이스 시스템(530)은 또한 카메라 모듈(518)을 구비한 셀룰러 전화기(500)와 같이 카메라를 구비한 셀룰러 전화기에서 사용될 때 디지털 데이터 장치 인터페이스(100)의 실시예를 예시하기 위해서 설명된다.
도 1의 장치들과 셀룰러 전화기(500) 사이의 관계는 다음과 같다. 디지털 데이터 장치 인터페이스(100)는 인터페이스 시스템(530)으로 표현된다. 링크 제어기(140)는 MDDI 호스트(522)로 표현된다. 주변 장치(180)는 카메라 모듈(518)로 표현된다. 시스템 제어기(160)는 MSM(504)으로 표현되고, 링크 제어기(170)는 MDDI 클라이언트(506)로 표현된다.
도 6은 상부 클렘셀(514)을 나타내며, 카메라를 구비하는 셀룰러 전화기 내에서 사용될 때 디지털 데이터 장치 인터페이스(100)의 예시적인 실시예를 강조하기 위해서 인터페이스 시스템(530)에 관련하여 더욱 세부적인 설명을 제공한다. 인터페이스 시스템(530)은 MDDI 호스트(522), 카메라 메시지 해석기(602), 카메라 비디오 인터페이스(604), I2C 마스터(606), 모터 제어부(608) 및 플래시/백색 LED 타이머(610)를 포함한다. I2C 버스는 회로들 간의 통신 링크를 제공하는 일반적으로 사용되는 제어 버스이다. I2C 버스는 1980년 대에 Philips Electronics N.V.에서 개발되었다.
인터페이스 시스템(530)은 디지털 데이터 장치 인터페이스(100)에 상응한다는 것을 상기하자. 인터페이스 시스템(530)의 구성성분들은 다음의 방식에서 디지털 데이터 장치 인터페이스(100)의 구성성분들에 상응한다. 카메라 메시지 해석기(602)는 메시지 해석기 모듈(100)에 상응한다. 카메라 비디오 인터페이스(604)는 컨텐트 모듈(120)에 상응한다. 총괄적으로, I2C 마스터(606), 모터 제어부(608) 및 플래시/백색 LED 타이머(610)는 제어 모듈(130)에 상응한다.
카메라 메시지 해석기(602)는 명령들을 수신하며, MDDI 호스트(522)를 통한 MSM(504)로의 응답 메시지들을 생성한다. 카메라 메시지 해석기(602)는 그 메시지들을 해석하며, MDDI 카메라 인터페이스 장치로 지칭될 수 있는 인터페이스 시스템(530) 내의 적절한 블록에 정보 컨텐트를 라우팅한다. 카메라 비디오 인터페이스(604)는 카메라(620)로부터 이미지 데이터를 수신하고, 그 이미지 데이터를 저장하며, 그 이미지 데이터를 MDDI 호스트(522)에 전송한다. 총괄적으로, I2C 마스터(606), 모터 제어부(608) 및 플래시/백색 LED 타이머(610)가 카메라 제어 블록을 형성한다. 이 경우에는, I2C 마스터(606)가 카메라(620)를 관리하기 위한 제어들을 제공하고, 모터 제어부(608)가 렌즈들(622)을 관리하기 위한 제어들(예컨대, 렌즈 줌 기능들)을 제공하며, 플래시/백색 LED 타이머(610)가 플래시/백색 LED(624) 를 관리하기 위한 제어들(예컨대, 플래시 광도 및 지속시간)을 제공한다.
도 7은 디지털 데이터 인터페이스 장치 메시지 포맷(700)을 나타낸다. 디지털 데이터 인터페이스 장치 메시지 포맷(700)은 예컨대 디지털 데이터 인터페이스 장치(100)와 디지털 장치(150) 간에 정보 및 명령들을 교환하는 메시지들을 포맷하기 위해서 사용될 수 있다. 메시지 포맷(700)은 트랜잭션 식별자 필드(710), 카운트 필드(720), 명령 식별 필드(730), 상태 필드(740), 및 데이터 필드(750)를 포함한다. 일실시예에서, 트랜잭션 식별자 필드(710), 카운트 필드(720), 명령 식별 필드(730), 및 상태 필드(740)는 각각 1 바이트이다. 데이터 필드(750)는 제공되거나 제공되지 않을 수 있는 선택적인 필드이다. 제공될 경우, 데이터 필드(750)는 4 또는 8 바이트이다. 다른 예들에서 필드 크기들은 특정 메시징 필요성에 따라 다른 길이들을 가질 수 있다. 필드 크기는 각각의 바이트에 대해 8-비트 포맷을 사용한다. 다른 예들에서, 비트 포맷은 예컨대 4-비트 또는 16-비트 포맷과 같은 다른 포맷들을 가질 수 있다.
위의 메시지 포맷들을 사용하여 명령 및 응답 메시지들이 포맷될 수 있다. 기록 명령 및 판독 명령인 2가지 타입들의 명령 메시지들이 존재한다. 기록 명령은 명령을 실행하도록 하는 메시지이고, 판독 명령은 하나 이상의 레지스터들로부터 정보를 판독하라는 메시지이다. 기록 확인응답, 판독 응답 메시지 및 자발적(unsolicited) 메시지인 3가지 타입들의 응답 메시지들이 존재한다. 기록 확인응답은 성공적인 레지스터 액세스를 나타내는 응답 메시지이다. 판독 응답 메시지는 하나 이상의 레지스터들로부터 판독된 정보를 포함한다. 일부 경우에는, 판독 응 답 메시지는 레지스터에 저장되지 않은 상태 지시자들 또는 신호들을 포함할 수 있다. 자발적 메시지는 예컨대 시스템 제어기(160)에 의한 요청없이도 디지털 데이터 인터페이스 장치(100)에 의해서 생성된다.
통신 링크(105)가 MDDI 링크일 때, 디지털 데이터 장치 인터페이스 메시지들은 MDDI 레지스터 액세스 패킷들 내에 캡슐화될 수 있다. 레지스터 액세스 패킷들은 VESA MDDI 표준 내에서 정의된다.
도 8은 레지스터 액세스 패킷 포맷(800)을 나타낸다. 레지스터 액세스 패킷 포맷(800)은 패킷 길이 필드(810), 패킷 타입 필드(820), 클라이언트 ID 필드(830), 판독/기록 플래그 필드(840), 레지스터 주소 필드(850), 파라미터 순환 중복 검사("CRC") 필드(860), 레지스터 데이터 리스트 필드(870) 및 레지스터 데이터 CRC 필드(880)를 포함한다. 레지스터 주소 필드(850) 및 레지스터 데이터 리스트 필드(870)를 제외하고는 각각의 필드는 2 바이트이다. 레지스터 주소 필드(850)는 4 바이트이고, 레지스터 데이터 리스트 필드(870)는 4 바이트의 배수이다. 디지털 데이터 장치 인터페이스 메시지 포맷(700)을 따르는 디지털 데이터 장치 인터페이스 메시지는 레지스터 데이터 리스트 필드(870)에 캡슐화될 수 있다. 다른 필드들의 특정한 사용들은 본 발명에 적절하지 않으며, VESA MDDI 표준에서 더욱 자세히 설명되어 있다.
일반적으로, 디지털 데이터 인터페이스 장치(100)는 MDDI 리버스 캡슐화 패킷들을 통해서 시스템 제어기(160)로부터 명령들을 수신한다. 명령 ID들이 패킷에 삽입되며 메시지 해석기 모듈(110)에 의해서 디코딩된다. 다음으로, 그 명령들의 컨텐트가 디지털 데이터 인터페이스 장치(100) 내의 적절한 블록에 전송된다. 마찬가지로, 메시지 해석기 모듈(110)은 또한 시스템 제어기(160)로의 응답 메시지들을 구성하는 것을 책임진다. 이러한 메시지들은 시스템 제어기(160)의 특정 명령에 대한 응답이거나 또는 디지털 데이터 인터페이스 장치(100) 또는 주변 장치(180)에 의해 생성되는 자발적 메시지이다.
디지털 데이터 장치 인터페이스 메시지를 캡슐화하기 위해서 MDDI 메시지를 사용하는 것은 디지털 데이터 장치 인터페이스 메시지들이 다른 기존 메시지 타입들에 어떻게 캡슐화될 수 있는지에 대한 예를 제공하려는 것이지 본 발명을 제한하려는 것은 아니다. 본 명세서의 내용에 기초하면, 당업자들은 디지털 데이터 인터페이스 장치 메시지를 다른 타입들의 메시지들에 어떻게 캡슐화할 지를 결정할 수 있을 것이다.
도 7을 다시 참조하면, 트랜잭션 ID 필드(710)가 메시지들을 식별하기 위해서 사용된다. 트랜잭션 ID 필드(710)는 또한 상응하는 응답 메시지를 명령 메시지와 연관시키기 위해서 사용될 수도 있다. 또한, 트랜잭션 ID 필드(710)는 자발적 응답 메시지를 특정하는 고유 값을 보유하는 바이트를 포함할 수 있다. 도 1을 참조하면, 시스템 제어기(160)는 이러한 필드를 존재하도록 하기 위해 사용되는 트랜잭션 식별자를 할당하며, 특정 명령에 대한 응답을 인지하기 위해서 그 트랜잭션 ID 필드(710)를 사용한다.
카운트 필드(720)는 메시지의 길이를 결정하기 위해서 사용된다. 카운트 필드(720)는 또한 메시지에서 상태 및 데이터 필드 바이트들의 수를 결정하기 위해 사용될 수도 있다.
명령 식별 필드(730)는 실행될 명령의 타입을 식별한다. 각각의 특정 명령 ID는 디지털 데이터 인터페이스 장치(100)의 특정 섹션에 대한 레지스터 베이스 주소의 값이다. 주변 장치(180)가 도 6에 도시된 바와 같이 카메라일 때, 예시적인 명령 ID 세트는 다음과 같다:
명령 ID |
설명 |
0x00 |
디지털 장치 구성 명령 |
0x40 |
카메라 인터페이스 제어 명령 |
0x60 |
렌즈 제어 명령 |
0x80 |
I2C 명령 |
0x90 |
셔터 제어 명령 |
0xA0 |
플래시 제어 명령 |
0xB0 |
3-배선 직렬 인터페이스 제어 명령 |
0xC0 |
위상 동기 루프(PLL) 제어 명령 |
OxD0-0xFF |
예약된 명령들 |
상태 필드(740)는 레지스터 블록으로부터 판독할 것인지 또는 레지스터 블록에 기록할 것인지 여부를 결정하는데 사용된다. 상태 필드(740)는 또한 명령이 실행되었는지 여부를 나타내는 확인응답을 요청하기 위해 사용될 수도 있다. 마찬가지로, 상태 필드(740)는 명령이 성공적으로 실행되었는지 여부를 명시하기 위해서 사용될 수 있다. 일 예에서는, 메시지가 판독 또는 기록 명령인지 여부를 식별하기 위해서 비트 '0'이 사용된다. 확인응답이 필요한지 여부를 나타내기 위해서 비트 '1'이 사용된다. 비트 '3'은 확인응답 상태를 제공하기 위해 사용된다.
메시지가 기록 명령일 경우, 데이터 필드(750)는 하나 이상의 레지스터들에 기록될 데이터를 포함한다. 이 경우에, 그 데이터는 명령 식별 필드(730) 내의 값에 기초하여 레지스터 블록에 라우팅된다. 메시지가 응답 메시지일 경우, 데이터필드(750)는 하나 이상의 레지스터들로부터 판독된 데이터를 포함한다. 자발적 응 답 메시지의 경우에, 데이터 필드(750)는 자발적 응답이 전송되도록 야기한 이벤트에 관련되는 데이터를 포함한다.
다음의 메시지 인코딩들은 주변 장치(180)가 도 6에 도시된 바와 같이 카메라일 경우에 가능한 인코딩들의 예시적인 예들로서 제공된다.
디지털 데이터 장치 인터페이스(100)의 레지스터 제어를 위해 시스템 제어기(160)로부터 디지털 데이터 장치 인터페이스(100)에 전송되는 명령 메시지들에 대한 포맷들은 다음과 같다:
|
이름 |
비트들 수 |
설명 |
바이트 0 |
트랜잭션 ID |
8 |
시스템 제어기(160)에 의해 할당된 트랜잭션 ID |
바이트 1 |
카운트 |
8 |
이 메시지 내의 총 바이트들 수 |
바이트 2 |
명령 ID |
8 |
디지털 데이터 인터페이스 장치(100) 명령 ID. 이 값은 어드레싱되는 디지털 데이터 인터페이스 장치(100) 내의 블록들에 기초하여 상이함. |
바이트 3 |
상태 |
8 |
비트 0 - 판독/기록:0=기록, 1=판독 비트 1 - 확인응답:0=비요청, 1=요청 비트 2 - 확인응답상태: 0=실패/오류, 1=통과/성공 비트들 3-7 - 예약 |
바이트 4 |
레지스터 값 |
8 |
데이터 컨텐트 |
바이트 5 |
레지스터 값 |
8 |
데이터 컨텐트 |
... |
레지스터 값 |
8 |
데이터 컨텐트 |
바이트 11 |
레지스터 값 |
8 |
데이터 컨텐트 |
위의 포맷을 사용하는 메시지는 디지털 데이터 장치 인터페이스(100)를 위해 필요한 모든 레지스터 설정/구성 정보를 포함할 수 있다. 명령 ID는 어드레싱될 디지털 데이터 장치 인터페이스(100)에서의 개시 레지스터 어드레스를 나타낸다. 디지털 데이터 장치 인터페이스(100)는 메시지 내의 모든 레지스터 값 바이트들이 소비될 때까지 각각의 연속적인 바이트에 대해 레지스터 어드레스를 자동적으로 증가시킬 것이다. 카운트는 (판독/기록 바이트를 포함하는)패킷 내의 레지스터 액세스 횟수를 나타낸다. 아래의 표는 위의 포맷을 따르는 메시지를 사용하여 구성될 수 있는 디지털 데이터 장치 인터페이스(100)에서의 예시적인 레지스터 세트들(그리고 상응하는 명령 ID 값)을 목록화하고 있다:
명령 ID |
설명 |
0x0000 |
널(Null) |
0x0100 |
링크 숏다운 패킷을 전송하고, 상기 패킷이 전송되어진 이후에 상황을 클리어시키기 위해서 리셋을 대기한다. |
0x0200 |
전력 업:클록들을 인에이블시킴 |
0x03XX |
하이버네이트:이 명령은 더 이상 전송할 패킷이 없을 경우에 전력을 다운시킬 것인지 또는 채움 패킷들을 전송할 것인지 여부를 통신 링크(105)에게 알려준다. 이는 단지 채움 패킷들, 서브프레임 헤더들, 주기적인 리버스 캡슐화 패킷들, 또는 주기적인 왕복 측정 패킷들을 포함하는 특정 수의 서브프레임들 이후에 발생할 것이다. 그 수는 이 명령의 경우에는 하위 바이트로서 통과된다. 0x##:하이버네이트 상태로 되기 이전에 대기할 빈 서브프레임들의 수. 이는 1과 255 내의 값일 수 있다. '0'의 값은 자동-하이버네이션을 디스에이블시킨다. |
0x0400 |
링크 제어기(140)를 리셋시킨다. |
0x050X |
디스플레이 무시/청취:이 명령은 링크 제어기(170)를 청취할 것인지 여부를 링크 제어기(140)에게 알려준다. 0x00: 링크 제어기(170)를 청취 - 원격 웨이크-업을 허용하기 위해서 디폴트 설정 |
0x06XX |
리버스 캡슐화 전송:이는 디스플레이 성능들 패킷을 요청하는 리버스 캡슐화 패킷을 전송한다. 하위 바이트는 리버스 캡슐화 패킷의 플래그들 필드로서 통과된다. 이는 클라이언트 성능들 패킷들 또는 상태 패킷들의 요청을 허용한다. |
0x0700 |
왕복 측정 패킷을 전송:이 명령은 그 다음 이용가능한 시간에 리버스 타이밍 패킷을 전송하라고 디지털 데이터 인터페이스 장치(100)에 알려준다. |
다음의 두 표들은 명령 메시지들이 카메라와 같은 주변 장치를 지원하기 위해서 어떻게 포맷되는지를 나타내는 예시적인 예들을 제공한다. I2C 명령 메시지에 대한 포맷은 다음과 같다:
|
이름 |
비트들 수 |
설명 |
바이트 0 |
트랜잭션 ID |
8 |
시스템 제어기(160)에 할당되는 트랜잭션 ID |
바이트 1 |
카운트 |
8 |
이 메시지 내의 총 바이트들 수 |
바이트 2 |
명령 ID |
8 |
I2C 명령 ID |
바이트 3 |
상태 |
8 |
비트 0 - 판독/기록:0=기록, 1=판독 비트 1 - 확인응답 요청:0=비요청, 1=요청 비트 2 - 확인응답 상태:0=실패/오류, 1=통과/성공 비트들 3-7 - 예약 |
바이트 4 |
카메라 모듈 슬레이브 어드레스 |
8 |
판독/기록 비트로서 사용되는 최하위 비트 |
바이트 5 |
카메라 모듈 레지스터 어드레스 |
8 |
카메라 모듈 내에서 레지스터의 어드레스 |
바이트 6 |
레지스터 값 |
8 |
데이터 컨텐트 |
... |
레지스터 값 |
8 |
데이터 컨텐트 |
바이트 11 |
레지스터 값 |
8 |
데이터 컨텐트 |
(예컨대, 백색 LED를 사용하는) 플래시 제어 명령 메시지에 대한 포맷은 다음과 같다:
|
이름 |
비트들 수 |
설명 |
바이트 0 |
트랜잭션 ID |
8 |
시스템 제어기(160)에 의해 할당되는 트랜잭션 ID |
바이트 1 |
카운트 |
8 |
이 메시지 내의 총 바이트들 수 |
바이트 2 |
명령 ID |
8 |
플래시 제어 명령 ID |
바이트 3 |
상태 |
8 |
비트 0 - 판독/기록:0=기록, 1=판독 비트 1 - 확인응답 요청:0=비요청, 1=요청 비트 2 - 확인응답 상태:0=실패/오류, 1=통과/성공 비트들 3-7 - 예약 |
|
백색 LED 강도 |
8 |
0x00:20mA 0x01:40mA 0x02:60mA ... 0x18:500mA |
바이트 4 |
눈의 충혈 감소 모듈 펄스들 |
8 |
풀 방전 펄스에 앞서 눈의 충혈 감소 펄스들의 수. 이 파라미터는 풀 방전 펄스에 대해 0x01로 설정되어야 한다. |
바이트 5 |
펄스 지속시간 |
8 |
클록 유닛들에서 플래시/스트로브 펄스들의 지속시간 |
바이트 6 |
백색 LED 지속시간 |
8 |
0x00:비변경;LED의 상태가 변하지 않는다. 0x01:1 프레임 시간 동안에 LED를 온시킴. ... 0xFF:256 프레임 시간 동안에 LED를 온시킴. |
바이트 7 |
눈의 충혈 감소 펄스 간격 |
8 |
클록 유닛들에서 눈의 충혈 감소 모드 펄스들 사이의 간격 |
바이트 8 |
백색 LED 온 |
8 |
0x00:백색 LED를 오프시킴 0x01:백색 LED를 온시킴. 0x02:플래시/스트로브 풀 방전. 0x04:플래시/스트로브 눈 충혈 감소 |
바이트 9-11 |
예약 |
8 |
|
위의 설명에서와 같이, 시스템 제어기(160)로부터 수신되는 명령들은 디지털 데이터 장치 인터페이스(100)로부터의 리턴 값 응답 또는 확인응답을 필요로할 수 있다. 이는 명령 메시지의 바이트 '3'에 ACK 필요 비트를 설정함으로써 정해진다. 3가지 타입들의 응답 메시지들은 디지털 데이터 인터페이스 장치(100) 내의 제어 레지스터에 대한 성공적인 액세스를 나타내는 확인응답 메시지, 주변 장치로부터 판독된 정보를 운반하는 판독 응답 메시지, 및 시스템 제어기(160)로부터의 요청없이 디지털 데이터 인터페이스 장치(100)에 의해서 생성되는 자발적 메시지이다.
확인응답 메시지에 대한 포맷은 다음과 같다:
|
이름 |
비트들 수 |
설명 |
바이트 0 |
트랜잭션 ID |
8 |
시스템 제어기(160)에 의해 할당되는 트랜잭션 ID |
바이트 1 |
카운트 |
8 |
이 메시지 내의 총 바이트들 수 |
바이트 2 |
명령 ID |
8 |
특정 명령 ID{시스템 제어기(160)에 의해서 전송된 초기 메시지에 상응} |
바이트 3 |
상태 |
8 |
비트 0 - 판독/기록:0=기록, 1=판독 비트 1 - 확인응답 요청:0=비요청, 1=요청 비트 2 - 확인응답 상태:0=실패/오류, 1=통과/성공 비트들 3-7 - 예약 |
판독 응답 메시지에 대한 포맷은 다음과 같다:
|
이름 |
비트들 수 |
설명 |
바이트 0 |
트랜잭션 ID |
8 |
시스템 제어기(160)에 의해 할당되는 트랜잭션 ID |
바이트 1 |
카운트 |
8 |
이 메시지 내의 총 바이트들 수 |
바이트 2 |
명령 ID |
8 |
특정 명령 ID{시스템 제어기(160)에 의해서 전송된 초기 메시지에 상응} |
바이트 3 |
상태 |
8 |
비트 0 - (N/A) 비트 1 - (N/A) 비트 2 - 확인응답 상태,(N/A) 비트들 3-7 - 예약 |
바이트 4 |
레지스터 값 |
8 |
디지털 데이터 인터페이스 장치(100) 또는 주변 레지스터들로부터 판독되는 값 |
바이트 5 |
레지스터 값 |
8 |
디지털 데이터 인터페이스 장치(100) 또는 주변 레지스터들로부터 판독되는 값 |
... |
레지스터 값 |
8 |
디지털 데이터 인터페이스 장치(100) 또는 주변 레지스터들로부터 판독되는 값 |
바이트 11 |
레지스터 값 |
8 |
디지털 데이터 인터페이스 장치(100) 또는 주변 레지스터들로부터 판독되는 값 |
자발적 응답 메시지에 대한 포맷을 다음과 같다:
|
이름 |
비트들 수 |
설명 |
바이트 0 |
트랜잭션 ID |
8 |
시스템 제어기(160)에 의해 할당되는 트랜잭션 ID |
바이트 1 |
카운트 |
8 |
이 메시지 내의 총 바이트들 수 |
바이트 2 |
명령 ID |
8 |
N/A - 0X00 |
바이트 3 |
상태 |
8 |
비트 0 - (N/A) 비트 1 - (N/A) 비트 2 - 확인응답상태,(N/A) 비트들 3-7 - 예약 |
바이트 4 |
인터럽트 상태 |
8 |
디지털 데이터 인터페이스 장치에서 인터럽트 상태 - 설계 특정 |
바이트 5 |
링크 제어기(140) 상태 |
8 |
링크 제어기(140)의 상태 - 설계 특정 |
바이트 6 |
셔터/플래시 실행 완료 |
8 |
명령 실행 완료 0x01 - 셔터 실행 명령 완료 0x02 - 스트로브 실행 명령 완료 |
바이트 7 |
메시지 컨텐트 |
8 |
디지털 데이터 인터페이스 장치(100) 또는 주변 레지스터들로부터 판독되는 값 |
... |
메시지 컨텐트 |
8 |
디지털 데이터 인터페이스 장치(100) 또는 주변 레지스터들로부터 판독되는 값 |
바이트11 |
메시지 컨텐트 |
8 |
디지털 데이터 인터페이스 장치(100) 또는 주변 레지스터들로부터 판독되는 값 |
위의 메시지 포맷들은 예시적인 예들을 제공하기 위한 것이지 본 발명의 범위를 제한하려는 것은 아니다. 본 명세서의 내용들에 기초하여, 당업자들은 사용되는 특정 애플리케이션 및 주변 장치들에 따라 추가적인 메시지 포맷들을 개발할 수 있을 것이다.
결말
본 발명의 예시적인 실시예들이 제공되었다. 본 발명은 이러한 실시예들로 제한되지는 않는다. 이러한 실시예들은 설명을 위해 제공되는 것이지 제한하기 위해 제공되지 않았다. 본 명세서에 포함된 내용들에 기초하여 다른 대안들(본 명세서에서 설명된 것들의 동일물들, 확장들, 변형들, 변경들을 포함함)이 당업자들에게 자명해 질 것이다. 그러한 대안들은 본 발명의 범위 및 사상 내에 있다.
본 명세서에서 언급되어진 모든 공개문헌들, 특허문헌들 및 특허 출원문헌들은 당업자들의 기술 수준을 나타내는 것이며, 각각의 개별적인 공개문헌, 특허 또는 특허 출원 문헌이 특별히 참조문헌으로서 포함되는 것으로 제시되어지는 한 참조문헌으로서 본 명세서 포함된다.