KR102466160B1 - 데이터의 루프백을 수행하는 시스템 온 칩과 집적 회로, 및 이들을 포함하는 모바일 장치 - Google Patents

데이터의 루프백을 수행하는 시스템 온 칩과 집적 회로, 및 이들을 포함하는 모바일 장치 Download PDF

Info

Publication number
KR102466160B1
KR102466160B1 KR1020160002732A KR20160002732A KR102466160B1 KR 102466160 B1 KR102466160 B1 KR 102466160B1 KR 1020160002732 A KR1020160002732 A KR 1020160002732A KR 20160002732 A KR20160002732 A KR 20160002732A KR 102466160 B1 KR102466160 B1 KR 102466160B1
Authority
KR
South Korea
Prior art keywords
data
csi
packet header
host device
dsi
Prior art date
Application number
KR1020160002732A
Other languages
English (en)
Other versions
KR20170083366A (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 삼성전자주식회사
Priority to KR1020160002732A priority Critical patent/KR102466160B1/ko
Priority to US15/400,098 priority patent/US10965934B2/en
Publication of KR20170083366A publication Critical patent/KR20170083366A/ko
Application granted granted Critical
Publication of KR102466160B1 publication Critical patent/KR102466160B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31712Input or output aspects
    • G01R31/31716Testing of input or output with loop-back
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/002Diagnosis, testing or measuring for television systems or their details for television cameras
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31702Testing digital circuits including elements other than semiconductor transistors, e.g. biochips, nanofabrics, mems, chips with magnetic elements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31712Input or output aspects
    • G01R31/31717Interconnect testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1616Error detection by comparing the output signals of redundant hardware where the redundant component is an I/O device or an adapter therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1625Error detection by comparing the output signals of redundant hardware in communications, e.g. transmission, interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Quality & Reliability (AREA)
  • Studio Devices (AREA)
  • Chemical & Material Sciences (AREA)
  • Nanotechnology (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

시스템 온 칩이 개시된다. 상기 시스템 온 칩은 디스플레이 시리얼 인터페이스(display serial interface(DSI)) 호스트 장치, 카메라 시리얼 인터페이스(camera serial interface(CSI)) 호스트 장치, 루프백(loop back) 여부를 지시하는 제1플래그를 저장하는 제1레지스터, 및 상기 제1플래그에 응답하여, 상기 DSI 호스트 장치가 생성한 데이터를 상기 CSI 호스트 장치로 루프백하는 루프백 제어 회로를 포함한다.

Description

데이터의 루프백을 수행하는 시스템 온 칩과 집적 회로, 및 이들을 포함하는 모바일 장치{SYSTEM ON CHIP AND INTEGRATED CHIP PERFORMING DATA LOOPBACK OPERATION, AND MOBILE DEVICE HAVING THE SAME}
본 발명의 개념에 따른 실시 예는 시스템 온 칩(system on chip(SOC))에 관한 것으로서, 보다 상세하게는 상기 시스템 온 칩에 포함된 디스플레이 시리얼 인터페이스에서 출력된 데이터를 카메라 시리얼 인터페이스로 루프백하여 상기 SOC를 테스트하는 시스템 온 칩에 관한 것이다.
기술이 발달함에 따라, 시스템 온 칩(system on chip(SOC))의 생산 공정과 설계가 복잡해지고 있다. 상기 SOC의 생산 공정 및 설계가 복잡해짐에 따라, 상기 SOC를 생산할 때 상기 SOC의 불량률이 높아질 수 있고, 따라서, 상기 SOC의 불량 여부를 판별하기 위해 생산 과정에서 상기 SOC를 테스트하는 과정이 필요하다.
상기 SOC에 포함된 디스플레이 시리얼 인터페이스(display serial interface(DSI))와 카메라 시리얼 인터페이스(camera serial interface(CSI))의 불량 여부를 테스트하기 위해서, 상기 DSI와 대칭되는 장치를 상기 DSI에 연결하고, 상기 CSI와 대칭되는 장치를 상기 CSI에 연결하여, 상기 DSI와 상기 CSI 각각이 송수신한 데이터의 동일성 여부를 판단하였지만, 상기 SOC의 생산 단가를 줄이기 위해서 상기 SOC를 테스트하는 방법을 개선할 필요가 있다.
본 발명이 이루고자 하는 기술적인 과제는 디스플레이 시리얼 인터페이스에서 출력된 데이터를 카메라 시리얼 인터페이스로 루프백하여 시스템 온 칩을 테스트할 수 있는 상기 시스템 온 칩을 제공하는 것이다.
본 발명의 실시 예들에 따른 시스템 온 칩은 디스플레이 시리얼 인터페이스(display serial interface(DSI)) 호스트 장치, 카메라 시리얼 인터페이스(camera serial interface(CSI)) 호스트 장치, 루프백(loop back) 여부를 지시하는 제1플래그를 저장하는 제1레지스터, 및 상기 제1플래그에 응답하여, 상기 DSI 호스트 장치가 생성한 데이터를 상기 CSI 호스트 장치로 루프백하는 루프백 제어 회로를 포함한다.
상기 시스템 온 칩은 패킷 헤더의 프로토콜 변환을 지시하는 제2플래그를 저장하는 제2레지스터를 더 포함하고, 상기 DSI 호스트 장치는, 상기 제2플래그에 응답하여, 상기 패킷 헤더를 생성하고, 상기 패킷 헤더와 페이로드를 머지(merge)하여 상기 데이터를 생성한다.
상기 시스템 온 칩은 루프백된 패킷 헤더의 프로토콜 변환을 지시하는 제3플래그를 저장하는 제3레지스터를 더 포함하고, 상기 CSI 호스트 장치는, 상기 제3플래그에 응답하여, 상기 패킷 헤더를 상기 CSI 호스트 장치에서 이용 가능한 패킷 헤더로 변환한다.
상기 시스템 온 칩은 상기 제1플래그에 응답하여, 상기 루프백 제어 회로와 상기 CSI 호스트 장치의 연결 여부를 제어하는 선택 회로를 더 포함한다.
실시 예들에 따라, 상기 시스템 온 칩은 상기 페이로드를 생성하는 데이터 소스를 더 포함한다.
실시 예들에 따라, 상기 시스템 온 칩은 프로세서, 및 이미지 데이터를 저장하는 메모리를 더 포함하고, 상기 데이터 소스는 상기 메모리이고, 상기 CSI 호스트 장치는 루프백된 페이로드를 상기 메모리로 전송하고, 상기 프로세서는, 상기 메모리가 생성한 상기 페이로드와 상기 루프백된 페이로드를 비교하여 상기 시스템 온 칩의 불량 여부를 결정한다.
실시 예들에 따라, 상기 시스템 온 칩은 프로세서, 디스플레이를 제어하는 디스플레이 컨트롤러, 및 이미지 센서를 제어하는 카메라 컨트롤러를 더 포함하고, 상기 데이터 소스는 상기 디스플레이 컨트롤러이고, 상기 카메라 컨트롤러는, 상기 CSI 호스트 장치로부터 루프백된 페이로드를 수신하고, 상기 디스플레이 컨트롤러가 생성한 상기 페이로드와 동일한 페이로드를 생성하고, 상기 동일한 페이로드와 상기 루프백된 페이로드를 비교하고, 상기 프로세서는, 비교 결과에 기초하여 상기 시스템 온 칩의 불량 여부를 결정한다.
실시 예들에 따라, 상기 데이터는 비디오 모드 데이터와 명령 모드 데이터 중에서 어느 하나이고, 상기 비디오 모드 데이터 및 상기 명령 모드 데이터는 상기 패킷 헤더의 변환 방식이 서로 다르다.
본 발명의 실시 예들에 따른 모바일 장치는 시스템 온 칩, 상기 시스템 온 칩에 카메라 시리얼 인터페이스(camera serial interface(CSI))를 통해 접속되고 CSI 장치를 포함하는 이미지 센서, 및 상기 시스템 온 칩에 디스플레이 시리얼 인터페이스(display serial interface(DSI))를 통해 접속되고 DSI 장치를 포함하는 디스플레이를 포함하고, 상기 시스템 온 칩은, 디스플레이 시리얼 인터페이스(display serial interface(DSI)) 호스트 장치, 카메라 시리얼 인터페이스(camera serial interface(CSI)) 호스트 장치, 루프백(loop back) 여부를 지시하는 제1플래그를 저장하는 제1레지스터, 및 상기 제1플래그에 응답하여, 상기 DSI 호스트 장치가 생성한 데이터를 상기 CSI 호스트 장치로 루프백하는 루프백 제어 회로를 포함한다.
상기 모바일 장치는 패킷 헤더의 프로토콜 변환을 지시하는 제2플래그를 저장하는 제2레지스터를 더 포함하고, 상기 DSI 호스트 장치는, 상기 제2플래그에 응답하여, 상기 패킷 헤더를 생성하고, 상기 패킷 헤더와 페이로드를 머지(merge)하여 상기 데이터를 생성한다.
상기 모바일 장치는 루프백된 패킷 헤더의 프로토콜 변환을 지시하는 제3플래그를 저장하는 제3레지스터를 더 포함하고, 상기 CSI 호스트 장치는, 상기 제3플래그에 응답하여, 상기 패킷 헤더를 상기 CSI 호스트 장치에서 이용 가능한 패킷 헤더로 변환한다.
상기 모바일 장치는 상기 제1플래그에 응답하여, 상기 루프백 제어 회로와 상기 CSI 호스트 장치의 연결 여부를 제어하는 선택 회로를 더 포함한다.
실시 예들에 따라, 상기 모바일 장치는 프로세서, 및 이미지 데이터를 저장하고 메모리를 더 포함하고, 상기 페이로드는 상기 이미지 데이터이고, 상기 CSI 호스트 장치는 루프백된I 페이로드를 상기 메모리로 전송하고, 상기 프로세서는, 상기 메모리가 생성한 상기 페이로드와 상기 루프백된 페이로드를 비교하여 상기 시스템 온 칩의 불량 여부를 결정한다.
실시 예들에 따라, 상기 모바일 장치는 프로세서, 디스플레이를 제어하는 디스플레이 컨트롤러, 및 이미지 센서를 제어하는 카메라 컨트롤러를 더 포함하고, 상기 디스플레이 컨트롤러는 상기 페이로드를 생성하고, 상기 카메라 컨트롤러는, 상기 CSI 호스트 장치로부터 루프백된 페이로드를 수신하고, 상기 디스플레이 컨트롤러가 생성한 상기 페이로드와 동일한 페이로드를 생성하고, 상기 동일한 페이로드와 상기 루프백된 페이로드를 비교하고, 상기 프로세서는, 비교 결과에 기초하여 상기 시스템 온 칩의 불량 여부를 결정한다.
상기 데이터는 비디오 모드 데이터와 명령 모드 데이터 중에서 어느 하나이고, 상기 비디오 모드 데이터 및 상기 명령 모드 데이터는 상기 패킷 헤더의 변환 방식이 서로 다르다.
본 발명의 실시 예들에 따른 집적 회로는 디스플레이 시리얼 인터페이스(display serial interface(DSI)) 호스트 장치, 카메라 시리얼 인터페이스(camera serial interface(CSI)) 호스트 장치, 및 패킷 헤더의 프로토콜 변환을 지시하는 제1플래그를 저장하는 제1레지스터를 포함하고, 상기 DSI 호스트 장치는, 상기 제1플래그에 응답하여, 상기 패킷 헤더를 생성하고, 상기 패킷 헤더와 페이로드를 머지(merge)하여 상기 데이터를 생성한다.
상기 집적 회로는 루프백(loop back) 여부를 지시하는 제2플래그를 저장하는 제2레지스터, 및 상기 제2플래그에 응답하여, 상기 DSI 호스트 장치가 생성한 데이터를 상기 CSI 호스트 장치로 루프백하는 루프백 제어 회로를 더 포함한다.
상기 집적 회로는 루프백된 패킷 헤더의 프로토콜 변환을 지시하는 제3플래그를 저장하는 제3레지스터를 더 포함하고, 상기 CSI 호스트 장치는, 상기 제3플래그에 응답하여, 상기 패킷 헤더를 상기 CSI 호스트 장치에서 이용 가능한 패킷 헤더로 변환한다.
실시 예들에 따라, 상기 집적 회로는 프로세서, 및 이미지 데이터를 저장하고 메모리를 더 포함하고, 상기 페이로드는 상기 이미지 데이터이고, 상기 CSI 호스트 장치는 루프백된I 페이로드를 상기 메모리로 전송하고, 상기 프로세서는, 상기 메모리가 생성한 상기 페이로드와 상기 루프백된 페이로드를 비교하여 상기 시스템 온 칩의 불량 여부를 결정한다.
실시 예들에 따라, 상기 집적 회로는 프로세서, 디스플레이를 제어하는 디스플레이 컨트롤러, 및 이미지 센서를 제어하는 카메라 컨트롤러를 더 포함하고, 상기 디스플레이 컨트롤러는 상기 페이로드를 생성하고, 상기 카메라 컨트롤러는, 상기 CSI 호스트 장치로부터 루프백된 페이로드를 수신하고, 상기 디스플레이 컨트롤러가 생성한 상기 페이로드와 동일한 페이로드를 생성하고, 상기 동일한 페이로드와 상기 루프백된 페이로드를 비교하고, 상기 프로세서는, 비교 결과에 기초하여 상기 시스템 온 칩의 불량 여부를 결정한다.
본 발명의 실시 예에 따른 시스템 온 칩(system on chip(SOC))을 테스트하는 방법은 상기 SOC를 테스트하기 위한 별도의 칩이 불필요하여 상기 SOC를 테스트하는 비용 및 시간을 절감할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 모바일 장치의 블록도이다.
도 2a는 본 발명의 실시 예들에 따라 도 1에 도시된 시스템 온 칩(system on chip(SOC))의 세부 블록도이다.
도 2b는 본 발명의 실시 예들에 따라 도 1에 도시된 시스템 온 칩의 세부 블록도이다.
도 3의 (a)는 시스템 온 칩이 데이터를 롱 패킷(long packet)으로 전송할 때, 데이터의 구성을 나타내고, 도 3의 (b)는 시스템 온 칩이 데이터를 쇼트 패킷(short packet)으로 전송할 때, 데이터의 구성을 나타낸다.
도 4는 본 발명의 실시 예들에 따른 DSI 데이터에 포함된 데이터 식별자의 코드 테이블 및 CSI 데이터에 포함된 데이터 식별자의 코드 테이블이다.
도 5(a)는 시스템 온 칩이 비디오 모드로 동작할 때, DSI 데이터가 CSI 데이터로 변환되는 예를 나타내고, 도 5(b)는 시스템 온 칩이 명령 모드로 동작할 때, DSI 데이터가 CSI 데이터로 변환되는 예를 나타낸다.
도 6a 및 도 6b는 본 발명의 실시 예들에 따라 데이터가 루프백되는 과정을 나타내는 플로우 차트이다.
도 7a 및 도 7b는 본 발명의 실시 예들에 따라 데이터가 루프백되는 과정을 나타내는 플로우 차트이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1구성 요소는 제2구성 요소로 명명될 수 있고 유사하게 제2구성 요소는 제1구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
본 발명의 명세서에서 디스플레이 시리얼 인터페이스(display serial interface(DSI)) 프로토콜이라 함은 시스템 온 칩(system on chip(SoC))이 DSI를 통해 디스플레이로 데이터를 정상적으로 전송하기 위한 상기 데이터의 데이터 형식을 의미할 수 있다.
또한, 본 발명의 명세서에서 DSI 패킷 헤더(packet header)라 함은 상기 DSI 프로토콜을 이용해 생성되고 상기 데이터의 내용과 특징을 나타내는 데이터 집합을 의미할 수 있고, DSI 데이터라 함은 상기 DSI 패킷 헤더 및 페이로드를 포함하는 데이터 집합을 의미할 수 있다.
이와 유사하게 카메라 시리얼 인터페이스(camera serial interface(CSI)) 프로토콜이라 함은 이미지 센서(또는 카메라)가 수집 또는 생성한 데이터를 정상적으로 SoC에서 수신하기 위한 상기 데이터의 데이터 형식을 의미할 수 있고, CSI 패킷 헤더라 함은 상기 CSI 프로토콜을 이용해 생성되고, 상기 데이터의 내용과 특징을 나타내는 데이터 집합을 의미할 수 있고, CSI 데이터라 함은 상기 CSI 패킷 헤더 및 페이로드를 포함하는 데이터 집합을 의미할 수 있다.
도 1은 본 발명의 실시 예에 따른 모바일 장치의 블록도이다. 도 1을 참조하면, 모바일 장치(100)는 시스템 온 칩(system on chip(SoC 또는 SOC), 105), 디스플레이(107) 및 이미지 센서(109)를 포함할 수 있다.
모바일 장치(100)는 이미지 데이터를 처리할 수 있다. 모바일 장치(100)는 랩탑 컴퓨터, 이동 전화기, 스마트 폰, 태블릿(tablet) PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP (portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 모바일 인터넷 장치(mobile internet device(MID)), 웨어러블 컴퓨터, 사물 인터넷(internet of things(IoT)) 장치, 만물 인터넷(internet of everything(IoE)) 장치, 드론(drone), 또는 e-북(e-book)으로 구현될 수 있다.
SOC(105)는 디스플레이(170) 및 이미지 센서(109)를 제어할 수 있다. 실시 예들에 따라, SOC(105)는 집적 회로(integrated circuit(IC)), 프로세서 (processor), 애플리케이션 프로세서(application processor(AP)), 멀티미디어 프로세서(multimedia processor), 또는 집적된 멀티미디어 프로세서(integrated multimedia processor)라고 호칭될 수 있다.
SOC(105)는 프로세서(110), 메모리(120), 디스플레이 컨트롤러(130), 카메라 컨트롤러(140), 디스플레이 시리얼 인터페이스(display serial interface(DSI)) 호스트 장치(150), 제1레지스터(151), 제2레지스터(153), 제3레지스터(161), 카메라 시리얼 인터페이스(camera serial interface(CSI)) 호스트 장치(160), DPHY 마스터(170), DPHY 슬레이브 (180), 버스(190), 루프백 제어 회로(200) 및 선택 회로(201)를 포함할 수 있다. SOC(105)는 도시된 구성 요소 이외에 다른 구성요소들을 더 포함할 수 있다.
프로세서(110)는 SOC(105)의 작동을 전반적으로 제어할 수 있다. 예컨대, 프로세서(110)는, 버스(190)를 통해, 메모리(120), 디스플레이 컨트롤러(130), 카메라 컨트롤러(140), DSI 호스트 장치(150), 제1레지스터(151), 제2레지스터(153), 제3레지스터 (161), CSI 호스트 장치(160), DPHY 마스터(170), DPHY 슬레이브(180), 버스(190), 루프백 제어 회로(200) 및 선택 회로(201)를 제어할 수 있다.
예컨대, 프로세서(340)는 제1레지스터(151)에 저장된 플래그(flag)를 이용하여 루프백 제어 회로(200) 및/또는 선택 회로(210)의 동작을 제어할 수 있고, 제2레지스터(153)에 저장된 플래그를 이용하여 DSI 호스트 장치(150)의 동작을 제어할 수 있고, 제3레지스터(161)에 저장된 플래그를 이용하여 CSI 호스트 장치(160)의 동작을 제어할 수 있다.
본 명세서에서 레지스터(151, 153 또는 161)는 데이터 또는 정보를 저장하는 데이터 저장 장치를 의미할 수 있고, 레지스터(151, 153 또는 161)에 저장된 플래그는 하나 또는 그 이상의 비트들을 포함할 수 있다.
프로세서(110)는 멀티-코어 프로세서(multi-core processor)로 구현될 수 있다. 상기 멀티-코어 프로세서는 두 개 또는 그 이상의 독립적인 실질적인 프로세서들('코어들(cores)'이라고 불림)을 갖는 하나의 컴퓨팅 컴포넌트(computing component)이고, 상기 프로세서들 각각은 프로그램 명령들(program instructions)을 읽고 실행할 수 있다.
메모리(120)는 SOC(105)의 동작에 필요한 데이터를 저장할 수 있다. 상기 데이터는 이미지 데이터일 수 있다.
메모리(120)는 휘발성 메모리 및/또는 불휘발성 메모리로 구현될 수 있다. 휘발성 메모리는 RAM(random access memory), DRAM, SRAM(static random access memory), T-RAM(thyristor RAM), Z-RAM(zero capacitor RAM), 또는 TTRAM (Twin Transistor RAM)으로 구현될 수 있다.
불휘발성 메모리는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시(flash) 메모리, MRAM(Magnetic RAM), 스핀전달토크 MRAM(Spin-Transfer Torque MRAM), FeRAM(Ferroelectric RAM), PRAM(Phase change RAM), 저항 메모리(Resistive RAM(RRAM)), 나노튜브 RRAM(Nanotube RRAM), 폴리머 RAM(Polymer RAM: PoRAM), 나노 부유 게이트 메모리(Nano Floating Gate Memory: NFGM), 홀로그래픽 메모리(holographic memory), 분자 전자 메모리 소자(Molecular Electronics Memory Device), 또는 절연 저항 변화 메모리(Insulator Resistance Change Memory)로 구현될 수 있다.
디스플레이 컨트롤러(130)는 디스플레이(107)의 동작을 제어할 수 있다. 디스플레이 컨트롤러(130)는 디스플레이(107)를 통해 디스플레이할 이미지 데이터를 버스(190)를 통하여 수신하고, 수신한 이미지 데이터를, 디스플레이(107)로 전송하기 위한 신호(예컨대, 인터페이스 규격에 따른 신호)로 변환하여, 디스플레이(107)로 전송할 수 있다.
실시 예들에 따라, 디스플레이 컨트롤러(130)는 MIPI® D-PHY 표준에 따라 디스플레이(107)로 데이터를 전송할 수 있다.
카메라 컨트롤러(140)는 이미지 센서(109)의 동작을 제어할 수 있다. 카메라 컨트롤러(140)는 이미지 센서(109)가 생성한 데이터를 수신하고, 수신한 데이터를 버스(190)를 통해 프로세서(110)로 전송할 수 있다.
DSI 호스트 장치(150)는 MIPI®(Mobile Industry Processor Interface) 표준에서 정의한 DSI를 의미할 수 있으나, 본 발명의 기술적 사상이 MIPI® DSI에 한정되는 것은 아니다. 따라서, 본 명세서는 mipi® alliance(http://mipi.org)에서 공개한 Display Serial Interface를 위한 MIPI Alliance Standard를 참조로서 포함한다.
제2레지스터(153)는 패킷 헤더 프로토콜 변환을 지시하는 제2플래그를 저장할 수 있다. DSI 호스트 장치(150)는 상기 제2플래그를 이용하여 CSI 패킷 헤더를 생성할 수 있다. 상기 제2플래그는 패킷 헤더의 프로토콜에 관한 정보를 포함할 수 있다. 또한, 상기 제2플래그는 SOC(105)가 데이터를 비디오 모드로 전송하는지, 명령 모드로 전송하는지에 관한 정보 및/또는 롱 패킷으로 전송하는지, 쇼트 패킷으로 전송하는지에 관한 정보를 포함할 수 있다.
본 발명에서 비디오 모드라 함은 DSI 호스트 장치(150)에서 데이터 전송에 이용되는 싱크 신호(sync signal)를 생성하는 모드를 의미할 수 있고, 상기 명령 모드는 디스플레이(109)(또는 디스플레이 장치)에서 데이터 전송에 이용되는 싱크 신호를 생성하는 모드를 의미할 수 있다.
본 발명의 명세서에서 비디오 모드 테스트라 함은 상기 비디오 모드를 이용하여 SOC(105)의 불량 여부를 테스트하는 것을 의미할 수 있다. 비디오 모드 프로토콜이라 함은, SOC(105)가 상기 비디오 모드로 데이터를 송신 및 수신하는 경우, DSI 프로토콜을 CSI 프로토콜로 변환하기 위해 이용되는 프로토콜 변환 방식을 의미할 수 있다. 비디오 모드 데이터라 함은 상기 비디오 모드에서 생성된 CSI 데이터 또는 DSI 데이터를 의미할 수 있다.
또한, 본 발명의 명세서에서 명령 모드 테스트라 함은 상기 명령 모드를 이용하여 SOC(105)의 불량 여부를 테스트하는 것을 의미할 수 있다. 명령 모드 프로토콜이라 함은, SOC(105)가 상기 명령 모드로 데이터를 송신 및 수신하는 경우, DSI 프로토콜을 CSI 프로토콜로 변환하기 위해 이용되는 프로토콜 변환 방식을 의미할 수 있다. 본 발명의 명세서에서 명령 모드 테스트라 함은 상기 명령 모드를 이용하여 SOC(105)의 불량 여부를 테스트하는 것을 의미할 수 있다. 명령 모드 데이터라 함은 상기 명령 모드에서 생성된 CSI 데이터 또는 DSI 데이터를 의미할 수 있다.
본 발명의 명세서에서 롱 패킷(long packet)이라 함은 패킷 헤더 및 페이로드를 포함하는 데이터를 의미할 수 있고, 쇼트 패킷(short packet)이라 함은 패킷 헤더만을 포함하는 데이터를 의미할 수 있다.
DSI 호스트 장치(150)는, 프로세서(110)의 제어에 따라, 데이터를 디스플레이(107)로 전송할 수 있다.
실시 예들에 따라, DSI 호스트 장치(150)는, 상기 제2플래그에 응답하여 패킷 헤더를 생성할 수 있다.
DSI 호스트 장치(150)는 페이로드와 상기 패킷 헤더를 머지 (merge)하여 데이터를 생성하고, 상기 데이터를 CSI 호스트 장치(160)로 전송할 수 있다. 실시 예들에 따라, 상기 데이터는 DSI 데이터일 수 있고, CSI 데이터일 수 있다. 실시 예들에 따라, 상기 페이로드는 메모리에 저장된 데이터일 수 있고 상기 페이로드는 디스플레이 컨트롤러(130)에서 생성한 데이터일 수 있으나, 이에 한정되는 것은 아니다. 즉, 상기 페이로드는 메모리(120) 또는 디스플레이 컨트롤러(130)로부터 수신된 데이터일 수 있으나, 다른 구성요소부터 수신된 데이터일 수 있다.
CSI 호스트 장치(160)는 이미지 센서(109)로부터 수신한 데이터를 처리하고, 처리된 데이터를 프로세서(110)로 전송할 수 있다. 실시 예들에 따라, CSI 호스트 장치(160)는 DSI 호스트 장치(150)로부터 상기 데이터를 수신하고, 수신한 데이터를 패킷 헤더와 페이로드로 분리하고, 상기 패킷 헤더를 이용하여 상기 페이로드의 언패킹(unpacking)을 제어할 수 있다.
실시 예들에 따라, CSI 호스트 장치(160)는 제3레지스터에 저장된 제3플래그에 응답하여 DSI 호스트 장치(150)로부터 수신한 패킷 헤더를 CSI 호스트 장치(160)에서 이용 가능한 CSI 패킷 헤더로 변환할 수 있다.
CSI 호스트 장치(160)는 MIPI®(Mobile Industry Processor Interface) 표준에서 정의한 CSI를 의미할 수 있으나, 본 발명의 기술적 사상이 MIPI® CSI에 한정되는 것은 아니다. 따라서, 본 명세서는 mipi® alliance(http://mipi.org)에서 공개한 Camera Serial Interface를 위한 MIPI Alliance Standard를 참조로서 포함한다.
언패킹된 페이로드는 DSI 호스트 장치(150)가 디스플레이 컨트롤러(130)로부터 수신한 페이로드와 같을 수도 있고 다를 수도 있다.
CSI 호스트 장치(160)는 생성한 상기 언패킹된 페이로드를 카메라 컨트롤러(140)로 전송할 수 있다.
실시 예들에 따라, 페이로드는 베이어 패턴(Bayer pattern)을 갖는 이미지 데이터일 수 있고, RGB 포맷, YUV 포맷 또는 YCbCr 포맷을 갖는 이미지 데이터일 수 있으나, 페이로드의 포맷이 상술한 예들에 한정되는 것은 아니다. 상기 페이로드는 카메라 컨트롤러가 생성한 페이로드, 메모리(120)에 저장된 페이로드 및 상기 언패킹된 페이로드 등을 포함할 수 있다.
제3레지스터(161)는 패킷 헤더 프로토콜 변환을 지시하는 제3플래그를 저장할 수 있다. CSI 호스트 장치(150)는 상기 제3플래그에 응답하여 DSI 호스트 장치(150)로부터 수신한 패킷헤더를 CSI에서 이용 가능한 CSI 패킷 헤더로 변환할 수 있다. 상기 제3플래그는 패킷 헤더의 프로토콜에 관한 정보를 포함할 수 있다. 또한, 상기 제3플래그는 SOC(105)가 데이터를 비디오 모드로 전송하는지, 명령 모드로 전송하는지에 관한 정보 및/또는 롱 패킷으로 전송하는지, 쇼트 패킷으로 전송하는지에 관한 정보를 포함할 수 있다.
DPHY는 DPHY 마스터(170) 및 DPHY 슬레이브(180)를 포함할 수 있다. 실시 예들에 따라, DPHY는 복수의 DPHY 마스터들(170), 특히 4개의 DPHY 마스터들(170), 및/또는 복수의 DPHY 슬레이브들(180), 특히 4개의 DPHY 슬레이브(180)를 포함할 수 있다. 실시 예들에 따라, DHPY는 DPHY 슬레이브(180)를 포함하지 않을 수 있다.
DPHY 마스터(170)는 DSI 호스트 장치(150)를 통해 수신한 데이터를 디스플레이(107)로 전송할 수 있다. DPHY 마스터(170)는 레인(lane)(들)로 구성될 수 있다. 상기 레인(들)의 개수는 4개일 수 있으나 이에 한정되지 않는다.
DPHY 슬레이브(180)는 이미지 센서(109)로부터 수신한 데이터를 CSI(160)로 전송할 수 있다. DPHY 슬레이브(180)는 레인(lane)(들)로 구성될 수 있다. 상기 레인(들)의 개수는 4개일 수 있으나 이에 한정되지 않는다.
각 구성 요소(110, 120, 130, 150, 160, 170, 180 및 200)는 버스(190)를 통하여 서로 통신할 수 있다. 즉, 버스(190)는 SOC(105)의 각 구성요소(110, 120, 130, 150, 160, 170, 180 및 200)를 연결하여 각 구성요소(110, 120, 130, 150, 160, 170, 180 및 200) 간 데이터 송수신의 통로 역할을 한다. 또한, 버스(190)는 각 구성요소(110, 120, 130, 150, 160, 170, 180 및 200) 간 제어 신호의 전송 통로 역할을 할 수 있다.
실시 예들에 따라, 버스(190)는 데이터를 전송하는 데이터 버스(도 미도시), 어드레스 신호를 전송하는 어드레스 버스(미도시) 및 제어 신호를 전송하는 제어 버스(미도시)를 포함할 수 있다.
실시 예들에 따라, 버스(190)는 소정의 구성요소들 간의 데이터 통신을 위한 소규모의 버스, 즉, 인터커넥터(interconnector)를 포함할 수 있다.
제1레지스터(151)는 루프백 여부를 지시하는 제1플래그를 저장할 수 있다.
루프백 제어 회로(200)는 DPHY 마스터(170)로부터 데이터를 수신할 수 있다. 루프백 제어 회로(200)는, 상기 제1플래그에 응답하여, 상기 데이터를 CSI 호스트 장치(160)로 전송하거나, 상기 데이터를 디스플레이(107)로 전송할 수 있다.
실시 예들에 따라, 루프백 제어 회로(200)는 디멀티플렉서를 포함할 수 있다.
선택 회로(201)는, 상기 제2플래그에 응답하여, 루프백 제어 회로(200)와 DPHY 슬레이브(180)의 연결 여부 및 루프백 제어 회로(200)와 이미지 센서의 연결 여부(109)를 제어할 수 있다.
실시 예들에 따라, 선택 회로(201)는 복수의 스위치들을 포함할 수 있다. 예컨대, 도 1에 도시된 바와 같이, 선택회로(201)는 제1스위치(203)와 제2스위치 (205)를 포함할 수 있다.
제1스위치(203)는 상기 제1플래그에 응답하여, 온(on) 또는 오프(off)가 될 수 있다. 제2스위치(205)는 상기 제1플래그에 응답하여, 온 또는 오프가 될 수 있다. 제1스위치(203)와 제2스위치(205)는 동시에 온 또는 오프가 될 수 없다. 즉, 제1스위치(203)이 온 되면 제2스위치(205)는 오프 되어야 하며, 제2스위치(203)가 오프 되면 제2스위치(205)는 온 되어야 한다.
실시 예들에 따라, 상기 제1플래그에 응답하여, 루프백 제어 회로(200)가 DPHY 마스터(170)로부터 수신한 데이터를 CSI 호스트 장치(160)로 전송하는 경우, 제1스위치(203)는 오프 되어야 하고, 제2스위치(205)는 온 되어야 한다.
실시 예들에 따라, 상기 제1플래그에 응답하여, 루프백 제어 회로(200)가 상기 데이터를 디스플레이(107)로 전송하는 경우, 제1스위치(203)는 온 되어야 하고, 제2스위치(205)는 오프 되어야 한다.
선택 회로(201)는 제1스위치(203)와 제2스위치(205) 중에서 어느 하나만 온 되게 하기 위해서 인버터를 포함할 수 있다. 상기 인버터는 제1스위치(203) 또는 제2스위치(205)로 전송되는 신호를 반전시킬 수 있다.
디스플레이(107)는 DSI 호스트 장치(150)를 통해 수신한 데이터를 디스플레이할 수 있다.
이미지 센서(109)는 피사체를 캡쳐(또는 촬영)하고, 캡쳐(또는 촬영) 결과로 생성된 데이터를 SOC(105)로 전송할 수 있다.
도 2a는 본 발명의 실시 예들에 따라 도 1에 도시된 시스템 온 칩의 세부 블록도이다. 도 1과 도 2a를 참조하면, 메모리(120)는 제1메모리(121)와 제2메모리 (123)를 포함할 수 있다.
제1메모리(121)는 디스플레이 컨트롤러(130)를 통해 DSI 호스트 장치(150)로 전송할 데이터를 저장할 수 있다. 제1메모리(121)에 저장된 데이터는 제1DSI 페이로드일 수 있다.
제2메모리(123)는 CSI 호스트 장치(160)에서 카메라 컨트롤러(140)를 통해 전송한 데이터를 저장할 수 있다. 제2메모리(123)에 저장된 데이터는 제2DSI 페이로드일 수 있다.
실시 예들에 따라, 프로세서(110)는 상기 제1DSI 페이로드와 상기 제2DSI 페이로드를 비교하여, 상기 제1DSI 페이로드와 상기 제2DSI 페이로드의 동일성 여부를 결정할 수 있다. 프로세서(110)는 결정 결과에 기초하여, SOC(105)의 불량 여부를 결정할 수 있다.
DSI 호스트 장치(150)는 DSI 패킷 헤더 회로(210), DSI 페이로드 회로(220), 패킷 머징 회로(230) 및 레인 분배 회로(240)를 포함할 수 있다.
DSI 패킷 헤더 회로(210)는 비디오 타이머(211), 패킷 헤더 생성기(213) 및 에러 정정 코드(error correction code(ECC)) 생성기(215)를 포함할 수 있다.
비디오 타이머(211)는 SOC(105)의 동작 타이밍을 지정하는 싱크 신호(들)을 생성할 수 있다. 실시 예들에 따라, 비디오 타이머(211)가 상기 싱크 신호(들)을 생성하는 주기는 변경될 수 있다. 예컨대, 상기 주기는 1/60초일 수 있다. 비디오 타이머(211)는 생성한 싱크 신호(들)를 패킷 헤더 생성기(213)로 전송할 수 있다.
SOC(105)가 동작하는 모드에 따라, 비디오 타이머(211)가 생성하는 싱크 신호(들)는 변경될 수 있다. SOC(105)가 비디오 모드로 동작하는 경우, 비디오 타이머(211)는 수직(vertical) 싱크 신호, 수평(horizontal) 싱크 신호, 및 수평 액트 신호를 생성할 수 있다.
SOC(105)가 명령 모드로 동작하는 경우, 비디오 타이머(211)는 티어링 효과 (tearing effect)신호를 생성할 수 있다.
패킷 헤더 생성기(213)는 비디오 타이머(211)로부터 싱크 신호(들)을 수신하고, 상기 싱크 신호(들)를 기초로 제2레지스터(153)에 저장된 제2플래그를 이용하여 패킷 헤더를 생성할 수 있다. 상기 패킷 헤더는 데이터의 특성(또는 속성)을 나타내는 데이터 식별자와 페이로드의 길이(또는 크기)를 나타내는 워드 카운트를 포함할 수 있다.
실시 예들에 따라, 상기 패킷 헤더는 DSI 패킷 헤더일 수 있고, CSI 패킷 헤더일 수 있다.
ECC(error correction code) 생성기(215)는 패킷 헤더 생성기(213)에서 생성된 패킷 헤더에 에러 정정 코드를 추가할 수 있다. 상기 에러 정정 코드는 상기 패킷 헤더가 전송되거나 처리되는 과정에서 상기 패킷 헤더가 변경되는 것을 감지하거나 변경된 상기 패킷 헤더를 정정하는데 이용될 수 있다.
페이로드 회로(220)는 디스플레이 컨트롤러(130)로부터 페이로드를 수신할 수 있다. 페이로드 회로(220)는 데이터 패킹 회로(221) 및 순환 중복 검사 (cyclical redundancy check(CRC)) 생성기(223)를 포함할 수 있다.
데이터 패킹(data packing) 회로(221)는 상기 페이로드의 압축 여부를 결정할 수 있다. 예컨대, 페이로드가 1픽셀이 3바이트의 RGB로 구성되는 경우, 데이터 패킹 회로(221)는 1바이트(8비트)로 구성된 R(Red), G(Green) 및 B(Blue) 각각을 더미(dummy) 비트를 없앤 6비트로 압축할 수 있다.
데이터 패킹 회로(221)는, 명령 모드 프로토콜을 이용하여 데이터(또는 CSI 데이터)가 생성되는 경우, 패킷 헤더 생성기(213)로 하나의 프레임이 끝났음을 나타내는 완료 신호(FD)를 전송할 수 있다.
CRC 생성기(223)는 상기 페이로드를 수신하고, 상기 페이로드에 CRC 코드를 추가할 수 있다. 상기 CRC 코드는 상기 페이로드가 처리되거나 전송되는 과정에서 상기 페이로드가 변경되는 것을 감지하는데 이용될 수 있다.
패킷 머징(packet merging) 회로(230)는 상기 패킷 헤더와 상기 페이로드를 머지하여 데이터를 생성할 수 있다. 상기 데이터는, 패킷 헤더의 프로토콜에 따라, CSI 데이터 및 DSI 데이터 중에서 하나일 수 있다.
레인 분배 회로(240)는 상기 데이터를 DHPY 마스터(170)의 레인(들)의 개수에 맞게 분배하여 전송할 수 있다. 상기 레인(들)의 개수는 4개일 수 있다. 예컨대, 상기 레인(들)의 개수가 4개인 경우, 레인 분배 회로(240)는 데이터를 구성하는 비트들 중에서 (4n-3) 번째 비트들(n은 자연수)을 첫 번째 레인으로 전송하고, 상기 비트들 중에서 (4n-2) 번째 비트들을 두 번째 레인으로 전송하고, 상기 비트들 중에서 (4n-1) 번째 비트들을 세 번째 레인으로 전송하고, 상기 비트들 중에서 (4n) 번째 비트들을 네 번째 라인으로 전송할 수 있다. 레인 분배 회로(240)는 레인들 각각으로 상기 비트들을 병렬적으로 전송할 수 있다.
CSI 호스트 장치(160)는 패킷 분배 회로(310), 레인 머징 회로(320), CSI 패킷 헤더 회로(330) 및 CSI 페이로드(340)를 포함할 수 있다.
패킷 분배 회로(310)는 DPHY 슬레이브(180)를 통해 수신한 데이터를 패킷 헤더 및 페이로드로 분배할 수 있다.
레인 머징 회로(320)는 DPHY 슬레이브(180)의 레인(들)의 개수에 맞게 분배되어 전송된 데이터를 하나의 데이터로 머지(merge)할 수 있다.
CSI 패킷 헤더(330)는 ECC 비교 회로(331), 패킷 헤더 디코더(333) 및 데이터 컨트롤러(335)를 포함할 수 있다.
ECC 비교 회로(331)는 DSI 호스트 장치(150)에서 추가한 에러 정정 코드를 이용해 데이터에서 분배된 패킷 헤더의 에러 발생 여부를 판단할 수 있다. 실시 예들에 따라, CSI 호스트 장치(160)는, 상기 패킷 헤더 중에서 에러가 발생한 부분을 정정할 수도 있고, 상기 CSI 패킷 헤더의 에러 여부만을 감지할 수도 있다.
패킷 헤더 디코더(333)는 상기 패킷 헤더를 디코드할 수 있다. 패킷 헤더 디코더(333)는 상기 패킷 헤더를 디코드하여 데이터에서 분배된 페이로드의 속성(또는 특성)을 결정할 수 있다.
DSI 호스트 장치(150)가 DSI 데이터를 전송하는 경우, 데이터 컨트롤러(335)는 제3레지스터에 저장된 제3플래그에 응답하여 DSI 호스트 장치(150)로부터 수신한 패킷 헤더(또는 DSI 패킷 헤더)를 CSI 호스트 장치(150)에서 이용 가능한 패킷 헤더(또는 CSI 패킷 헤더)로 변환할 수 있다.
데이터 컨트롤러(335)는 패킷 헤더 디코더(333)에서 결정된 상기 페이로드의 속성(또는 특성)에 기초하여 페이로드의 압축 해제를 제어하는 제어 신호(CTRL)를 데이터 언패킹 회로(343)로 전송할 수 있다.
CSI 페이로드(340)는 CRC 비교 회로(341) 및 데이터 언패킹 회로(343)를 포함할 수 있다.
CRC 비교 회로(341)는 DSI 호스트 장치(150)에서 페이로드에 추가한 CRC 코드를 비교 및 분석하고, 상기 비교 및 분석 결과에 기초하여 상기 페이로드의 에러 발생 여부를 감지할 수 있다.
데이터 언패킹 회로(343)는 데이터 컨트롤러(335)의 제어에 따라 CRC 비교 회로(341)로부터 수신한 상기 페이로드를 압축 해제할 수 있다. 상기 제2DSI 페이로드는 DSI 호스트 장치가 수신한 제1DSI 페이로드와 동일할 수 있고, 상이할 수 있다.
도 2a에서 설명하지 않은 프로세서(110), 디스플레이 컨트롤러(130), 카메라 컨트롤러(140), 버스(190), 루프백 제어 회로(200), 선택 회로(201), 제1레지스터(151) 및 제2레지스터(153)의 기능 및 구조는, 도 1에 도시된 프로세서(110), 디스플레이 컨트롤러(130), 카메라 컨트롤러(140), 버스(190), 루프백 제어 회로(200), 선택 회로(201), 제1레지스터(151), 제2레지스터(153) 및 제3레지스터(155)의 기능 및 구조와 동일할 수 있다.
도 2b는 본 발명의 실시 예들에 따라 도 1에 도시된 시스템 온 칩의 세부 블록도이다. 도 1 및 도 2b를 참조하면, 디스플레이 컨트롤러(130)는 제1이미지 생성기(131)를 포함할 수 있다. 제1이미지 생성기(131)는, 프로세서(110)의 제어에 따라, 페이로드(설명의 편의를 위해, '제1페이로드'라고 한다.)를 생성하고, 상기 제1페이로드를 DSI 호스트 장치(150)로 전송할 수 있다.
카메라 컨트롤러(140)는 제2이미지 생성기(141) 및 비교 로직 회로(143)를 포함할 수 있다.
제2이미지 생성기(141)는, 프로세서(110)의 제어에 따라, 제1이미지 생성기(131)에서 생성한 상기 제1페이로드와 동일한 페이로드(설명의 편의를 위해 '제2페이로드'라고 한다.)를 생성할 수 있다. 제2이미지 생성기(141)는 상기 제2페이로드를 비교 로직 회로(143)로 전송할 수 있다.
비교 로직 회로(143)는 CSI 호스트 장치(160)로부터 페이로드를 수신하고, 제2이미지 생성기(141)로부터 제2페이로드를 수신하고, CSI 호스트 장치(160)로부터 수신한 페이로드와 상기 제2페이로드를 비교하여 CSI 호스트 장치(160)로부터 수신한 페이로드와 상기 제2페이로드의 동일성 여부를 결정할 수 있다.
비교 로직 회로(143)는 결정 결과를 프로세서로 전송할 수 있고, 프로세서(110)는 결정 결과에 기초하여 SOC(105)의 불량 여부를 결정할 수 있다.
도 2b에서 설명하지 않은 프로세서(110), 메모리(120), 버스(190), 루프백 제어 회로(200), 선택 회로(201), 제1레지스터(151), 제2레지스터(153) 및 제3레지스터(155)의 기능 및 구조는 도 1에 도시된 프로세서(110), 메모리(120), 버스(190), 루프백 제어 회로(200), 선택 회로(201), 제1레지스터(151), 제2레지스터(153) 및 제3레지스터(161)의 기능 및 구조와 동일할 수 있다.
도 3의 (a)는 시스템 온 칩이 데이터를 롱 패킷으로 전송할 때, 데이터의 구성을 나타낸다. 도 1, 도 2a, 도 2b 및, 도 3의 (a)를 참조하면, SOC(105)가 비디오 모드로 동작할 때, 상기 데이터 패킷은 DSI 패킷 헤더(410) 및 DSI 페이로드(417) 및 CRC 코드(419)를 포함할 수 있다.
상기 데이터 패킷은 DSI 데이터 또는 CSI 데이터일 수 있다.
패킷 헤더(410)는 데이터 식별자(411), 워드 카운트(413) 및 에러 정정 코드(415)를 포함할 수 있다. 패킷 헤더(410)는 DSI 패킷 헤더 또는 CSI 패킷 헤더일 수 있다.
데이터 식별자(411)는 페이로드(417)의 특성(또는 속성)에 관한 정보를 포함할 수 있다. 데이터 식별자(411)는 1바이트 크기의 데이터일 수 있다.
워드 카운트(413)는 페이로드(417)의 데이터 크기(또는 길이)를 나타내는 정보를 포함할 수 있다. 워드 카운트(413)는 2바이트 크기의 데이터일 수 있다.
에러 정정 코드(415)는 데이터 식별자(411) 및 워드 카운트(413)의 에러 여부를 감지 및/또는 정정하기 위한 비트 코드들을 포함할 수 있다. 에러 정정 코드(415)는 1바이트 크기의 데이터일 수 있다.
페이로드(417)는 메모리(120) 또는 디스플레이 컨트롤러(130)에서 수신한 데이터로서, DSI 프로토콜 또는 CSI 프로토콜을 이용하여 생성되는 데이터일 수 있다.
CRC 코드(419)는 페이로드(417)의 에러 발생 여부를 감지하기 위한 비트 코드들을 포함할 수 있다. CRC 코드(419)는 2바이트 크기의 데이터일 수 있다.
도 3의 (b)는 시스템 온 칩이 데이터를 쇼트 패킷으로 전송할 때, 데이터의 구성을 나타낸다. 도 1, 도 2a, 도 2b 및, 도 3의 (b)를 참조하면, SOC(105)가 비디오 모드로 동작할 때, 데이터 패킷은 데이터 식별자(421), 워드 카운트(423) 및 에러 정정 코드(425)를 포함할 수 있다.
도 3의 (b)에 도시된 데이터 식별자(421)는 도 3의 (a)에 도시된 데이터 식별자(411)과 기능 및 구조가 동일할 수 있으며, 도 3의 (b)에 도시된 워드 카운트(423)는 도 3의 (a)에 도시된 워드 카운트(413)와 기능 및 구조가 동일할 수 있으며, 도 3의 (b)에 도시된 에러 정정 코드(425)는 도 3의 (a)에 도시된 에러 정정 코드(415)와 기능 및 구조가 동일할 수 있다.
도 4는 본 발명의 실시 예들에 따른 DSI 데이터에 포함된 데이터 식별자의 코드 테이블 및 CSI 데이터에 포함된 데이터 식별자의 코드 테이블이고, 도 5(a)는 시스템 온 칩이 비디오 모드로 동작할 때, DSI 데이터가 CSI 데이터로 변환되는 예를 나타내고, 도 5(b)는 시스템 온 칩이 명령 모드로 동작할 때, DSI 데이터가 CSI 데이터로 변환되는 예를 나타낸다.
도 1, 도 2a, 도 2b, 도 4 및 도 5(a)를 참조하면, SOC(105)가 비디오 모드로 동작할 때, 비디오 타이머(211)는 수직 싱크 신호(VSA), 수평 싱크 신호(HSA), 수평 액트 신호(HACT)를 생성할 수 있다.
수직 싱크 신호(VSA)는 프레임마다 한 번 트리거(trigger)될 수 있고, 수평 싱크 신호(HSA)는 프레임에 포함된 복수의 라인들 각각마다 트리거될 수 있다. 수평 액트 신호(HACT)는 DSI 데이터가 DSI 호스트 장치(150)로 전송될 때, 트리거 될 수 있고, 수평 액트 신호(HACT)가 온 되는 경우, DSI 데이터가 CSI 데이터로 변환될 수 있다.
예컨대, 실시 예들에 따라, 비디오 타이머(211)가 수직 싱크 신호(VSA)를 생성하는 경우, 패킷 헤더 생성기(213)는, 제2레지스터(153)에 저장된 제2플래그에 응답하여, 수직 싱크 시작 신호(VSA)의 제1코드 값(CODE1-1)을 제1코드 값(CODE1-1)에 대응되는 CSI 프로토콜의 프레임 시작 코드(FS)의 제5코드 값(CODE2-1)으로 변환할 수 있다.
실시 예들에 따라, 비디오 타이머(211)가 수평 싱크 신호(HSA)를 생성하는 경우, 패킷 헤더 생성기(213)는, 제2레지스터(153)에 저장된 제2플래그에 응답하여, 수평 싱크 시작 신호(HSA)의 제2코드 값(CODE1-2)에 대응되는 코드가 CSI 프로토콜에는 없으므로 제2코드 값(CODE1-2)을 삭제할 수 있다.
실시 예들에 따라, 데이터가 롱 패킷으로 전송되는 경우, 패킷 헤더 생성기(213)는, 제2레지스터(153)에 저장된 제2플래그에 응답하여, 디스플레이 컨트롤러(130)로부터 페이로드를 수신할 것을 나타내는 데이터(DATA1 또는 DATA2)의 제3코드 값(CODE1-3 또는 CODE1-4)을 제7코드 값(CODE2-3)으로 변환할 수 있다.
도 1, 도 2a, 도 2b, 도 4 및 도 5(b)를 참조하면, SOC(105)가 명령 모드로 동작할 때, 비디오 타이머(211)는 티어링 효과 신호(TE)를 생성할 수 있다.
티어링 효과 신호(TE)는 프레임마다 한 번 트리거(trigger)될 수 있다.
예컨대, 실시 예들에 따라, 비디오 타이머(211)에 의해 티어링 효과 신호(TE)가 트리거 되는 경우, 패킷 헤더 생성기(213)는, 제2레지스터(153)에 저장된 제2플래그에 응답하여, 티어링 효과 신호(TE)를 CSI 프로토콜의 프레임 시작 코드(FS)의 제5코드 값(CODE2-1)으로 변환할 수 있다.
실시 예들에 따라, 데이터 패킹 회로(221)가 패킷 헤더 생성기(213)로 한 프레임의 끝을 알리는 프레임 완료 신호(FD)를 전송하는 경우, 프레임 완료 신호(FD)가 트리거 되고, 패킷 헤더 생성기(213)는, 제2레지스터(153)에 저장된 제2플래그에 응답하여, 프레임 완료 신호(FD)를 CSI 프로토콜의 프레임 종료 코드(FE)의 제6코드 값(CODE2-2)으로 변환할 수 있다.
도 6a 및 도 6b는 본 발명의 실시 예들에 따라 데이터가 루프백되는 과정을 나타내는 플로우 차트이다. 도 1, 도 2a, 도 6a 및 도 6b를 참조하면, DSI 호스트 장치(150)는 메모리(120)에 저장된 페이로드를 수신할 수 있고(S600), DSI 호스트 장치(150)는 패킷 헤더를 생성할 수 있다(S610).
SOC(105)가 비디오 모드로 동작되는 경우, 패킷 헤더 생성기(213)는, 제2레지스터(153)에 저장된 제2플래그에 응답하고 상기 비디오 모드 프로토콜에 기초하여, 패킷 헤더를 생성할 수 있고, 이와 달리, SOC(105)가 명령 모드로 동작되는 경우, 패킷 헤더 생성기(213)는, 제2레지스터(153)에 저장된 제2플래그에 응답하고 상기 명령 모드 프로토콜에 기초하여, 패킷 헤더를 생성할 수 있다.
상기 패킷 헤더가 CSI 호스트 장치에서 이용 가능한 CSI 패킷 헤더인 경우(S620-YES), 패킷 머징 회로(230)는 상기 CSI 패킷 헤더와 상기 페이로드를 머지하여 데이터를 생성하고(S630), DSI 호스트 장치(150)는 상기 데이터를 DPHY 마스터(170)를 통해 CSI 호스트 장치(160)로 루프백할 수 있다(S640).
또한, 패킷 분해 회로(310)는 수신한 상기 데이터를 패킷 헤더(또는 CSI 패킷 헤더) 및 페이로드로 분해하고(S650), 데이터 컨트롤러(335)의 제어에 따라 데이터 언패킹 회로(343)는 루프백된 페이로드를 압축 해제(또는 언패킹)할 수 있다.
CSI 호스트 장치(160)는 상기 압축 해제한 루프백된 페이로드를 메모리로 전송할 수 있고, 프로세서(110)는 메모리에 저장된 페이로드와 루프백된 페이로드를 비교할 수 있다(S660).
반면, 상기 패킷 헤더가 CSI 호스트 장치에서 이용 가능한 CSI 패킷 헤더가 아닌 경우(S620-NO), 즉 DSI 패킷 헤더인 경우, 패킷 머징 회로(230)는 상기 CSI 패킷 헤더와 상기 페이로드를 머지하여 데이터를 생성하고(S635), DSI 호스트 장치(150)는 상기 데이터를 DPHY 마스터(170)를 통해 CSI 호스트 장치(160)로 루프백할 수 있다(S645).
또한, 패킷 분해 회로(310)는 수신한 상기 데이터를 패킷 헤더(또는 CSI 패킷 헤더) 및 페이로드로 분해하고(S655), 데이터 컨트롤러(335)는 제3레지스터(161)에 저장된 제3플래그에 응답하여 루프백된 패킷 헤더를 CSI 호스트 장치에서 이용 가능한 CSI 패킷 헤더로 변환할 수 있다(S665).
데이터 컨트롤러(335)의 제어에 따라 데이터 언패킹 회로(343)는 루프백된 페이로드를 압축 해제(또는 언패킹)할 수 있다.
CSI 호스트 장치(160)는 상기 압축 해제한 루프백된 페이로드를 메모리(120)로 전송할 수 있고, 프로세서(110)는 메모리(120)에 저장된 페이로드와 루프백된 페이로드를 비교할 수 있다(S670).
비교 결과, 메모리(120)에 저장된 페이로드와 상기 루프백된 페이로드가 동일할 경우(S680-YES), 프로세서(110)는 SOC(105)가 정상적으로 동작한다고 결정하고(S690), 메모리(120)에 저장된 페이로드와 상기 루프백된 페이로드가 동일하지 않을 경우(S680-NO), 프로세서(110)는 SOC(105)가 불량이라고 결정할 수 있다(S695).
도 7a 및 도 7b는 본 발명의 실시 예들에 따라 데이터가 루프백되는 과정을 나타내는 플로우 차트이다. 도 1, 도 2b, 도 7a 및 도 7b를 참조하면, DSI 호스트 장치(150)는 디스플레이 컨트롤러(130)에 포함된 제1이미지 생성기(131)가 생성한 페이로드를 수신할 수 있고(S700), DSI 호스트 장치(150)는 패킷 헤더를 생성할 수 있다(S710).
SOC(105)가 비디오 모드로 동작되는 경우, 패킷 헤더 생성기(213)는, 제2레지스터(153)에 저장된 제2플래그에 응답하고 상기 비디오 모드 프로토콜에 기초하여, 패킷 헤더를 생성할 수 있고, 이와 달리, SOC(105)가 명령 모드로 동작되는 경우, 패킷 헤더 생성기(213)는, 제2레지스터(153)에 저장된 제2플래그에 응답하고 상기 명령 모드 프로토콜에 기초하여, 패킷 헤더를 생성할 수 있다.
상기 패킷 헤더가 CSI 호스트 장치에서 이용 가능한 CSI 패킷 헤더인 경우(S720-YES), 패킷 머징 회로(230)는 상기 CSI 패킷 헤더와 상기 페이로드를 머지하여 데이터를 생성하고(S730), DSI 호스트 장치(150)는 상기 데이터를 DPHY 마스터(170)를 통해 CSI 호스트 장치(160)로 루프백할 수 있다(S740).
또한, 패킷 분해 회로(310)는 수신한 상기 데이터를 패킷 헤더(또는 CSI 패킷 헤더) 및 페이로드로 분해하고(S750), 데이터 컨트롤러(335)의 제어에 따라 데이터 언패킹 회로(343)는 루프백된 페이로드를 압축 해제(또는 언패킹)할 수 있다.
CSI 호스트 장치(160)는 상기 압축 해제한 루프백된 페이로드를 카메라 컨트롤러(140)로 전송할 수 있고(S760), 카메라 컨트롤러(140)는 디스플레이 컨트롤러(130)가 생성한 페이로드와 동일한 페이로드를 생성하고, 생성한 페이로드와 루프백된 페이로드를 비교할 수 있다(S770).
반면, 상기 패킷 헤더가 CSI 호스트 장치에서 이용 가능한 CSI 패킷 헤더가 아닌 경우(S720-NO), 즉 DSI 패킷 헤더인 경우, 패킷 머징 회로(230)는 상기 CSI 패킷 헤더와 상기 페이로드를 머지하여 데이터를 생성하고(S735), DSI 호스트 장치(150)는 상기 데이터를 DPHY 마스터(170)를 통해 CSI 호스트 장치(160)로 루프백할 수 있다(S745).
또한, 패킷 분해 회로(310)는 수신한 상기 데이터를 패킷 헤더(또는 CSI 패킷 헤더) 및 페이로드로 분해하고(S755), 데이터 컨트롤러(335)는 제3레지스터(161)에 저장된 제3플래그에 응답하여 루프백된 패킷 헤더를 CSI 호스트 장치에서 이용 가능한 CSI 패킷 헤더로 변환할 수 있다(S765).
데이터 컨트롤러(335)의 제어에 따라 데이터 언패킹 회로(343)는 루프백된 페이로드를 압축 해제(또는 언패킹)할 수 있다.
CSI 호스트 장치(160)는 상기 압축 해제한 루프백된 페이로드를 카메라 컨트롤러(140)로 전송할 수 있고(S768), 카메라 컨트롤러(140)는 디스플레이 컨트롤러(130)가 생성한 페이로드와 동일한 페이로드를 생성하고, 생성한 페이로드와 루프백된 페이로드를 비교할 수 있다(S775).
비교 결과, 메모리(120)에 저장된 페이로드와 상기 루프백된 페이로드가 동일할 경우(S780-YES), 프로세서(110)는 SOC(105)가 정상적으로 동작한다고 결정하고(S790), 메모리(120)에 저장된 페이로드와 상기 루프백된 페이로드가 동일하지 않을 경우(S780-NO), 프로세서(110)는 SOC(105)가 불량이라고 결정할 수 있다(S795).
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: 모바일 장치
110: 중앙 처리 장치
120: 메모리
130: 디스플레이 컨트롤러
140: 카메라 컨트롤러
150: 디스플레이 시리얼 인터페이스 호스트 장치
160: 카메라 시리얼 인터페이스 호스트 장치
170: DPHY 마스터
180: DPHY 슬레이브
190: 버스

Claims (20)

  1. 카메라 시리얼 인터페이스(camera serial interface(CSI)) 패킷 헤더 또는 디스플레이 시리얼 인터페이스(display serial interface(DSI)) 패킷 헤더를 생성하고, 제 1 플래그를 참조하여 상기 생성된 CSI 또는 DSI 패킷 헤더, 및 제 1 페이로드를 머지(merge)하여 제 1 데이터를 생성하는 DSI 호스트 장치;
    상기 제 1 데이터를 수신하고, 상기 제 1 데이터를 제 2 페이로드, 및 상기 생성된 CSI 또는 DSI 패킷 헤더로 언패킹(unpack)하는 CSI 호스트 장치;
    상기 제 1 플래그에 응답하여, 상기 DSI 호스트 장치에 의해 생성된 상기 제 1 데이터를 외부로 출력하지 않고 상기 CSI 호스트 장치로 루프백(loop back)하는 루프백 제어 회로; 및
    상기 제 1 페이로드와 상기 제 2 페이로드를 비교하는 프로세서를 포함하되,
    상기 생성된 CSI 또는 DSI 패킷 헤더가 상기 생성된 DSI 패킷 헤더인 경우, 상기 CSI 호스트 장치는 상기 생성된 DSI 패킷 헤더를 상기 CSI 호스트 장치에서 이용 가능한 변환된 CSI 패킷 헤더로 변환하고,
    상기 제 1 플래그는 루프백 모드 동작 여부를 나타내는 시스템 온 칩.
  2. 제 1 항에 있어서,
    상기 제 1 플래그를 저장하는 제 1 레지스터를 더 포함하는 시스템 온 칩.
  3. 제 1 항에 있어서,
    상기 루프백 제어 회로는 상기 제 1 플래그에 응답하여 상기 제 1 데이터를 상기 CSI 호스트 장치 및 디스플레이 장치 중 하나로 전송하는 시스템 온 칩.
  4. 제 3 항에 있어서,
    상기 제 1 플래그가 상기 루프백 모드를 나타내는 경우, 상기 루프백 제어 회로는 상기 CSI 호스트 장치로 상기 제 1 데이터를 전송하는 시스템 온 칩.
  5. 제 4 항에 있어서,
    상기 제 1 플래그가 상기 루프백 모드를 나타내는 경우, 상기 루프백 제어 회로는 이미지 센서로부터 상기 CSI 호스트 장치로의 이미지 신호를 차단하는 시스템 온 칩.
  6. 제 1 항에 있어서,
    상기 제 1 데이터는 비디오 모드 데이터 또는 명령 모드 데이터 중 하나에 대응하고, 상기 비디오 모드 데이터에 대응하는 패킷 헤더 변환 프로토콜은 상기 명령 모드 데이터에 대응하는 패킷 헤더 변환 프로토콜과 서로 다른 시스템 온 칩.
  7. 제 6 항에 있어서,
    상기 DSI 호스트 장치는 상기 비디오 모드 데이터의 수직 싱크(sync) 신호를 생성하는 시스템 온 칩.
  8. 제 6 항에 있어서,
    상기 DSI 호스트 장치는 티어링 효과(tearing effect) 신호를 생성하여 상기 명령 모드 데이터의 상기 생성된 CSI 또는 DSI 패킷 헤더를 구성하는 시스템 온 칩.
  9. 제 1 항에 있어서,
    디스플레이를 제어하는 디스플레이 컨트롤러;
    이미지 센서를 제어하는 카메라 컨트롤러;
    상기 제 1 플래그를 저장하는 제 1 레지스터;
    상기 생성된 CSI 또는 DSI 패킷 헤더가 CSI 패킷 헤더인지 DSI 패킷 헤더인지 나타내는 제 2 플래그를 저장하는 제 2 레지스터; 및
    루프백된 패킷 헤더가 다른 프로토콜로 변환될 것인지 나타내는 제 3 플래그를 저장하는 제 3 레지스터를 더 포함하는 시스템 온 칩.
  10. 카메라 시리얼 인터페이스(camera serial interface(CSI)) 패킷 헤더를 생성하고, 제 1 플래그를 참조하여, 상기 생성된 CSI 패킷 헤더 및 제 1 페이로드를 머지(merge)하여 제 1 데이터를 생성하는 디스플레이 시리얼 인터페이스(display serial interface(DSI)) 호스트 장치;
    상기 제 1 데이터를 수신하고, 상기 제 1 데이터를 제 2 페이로드 및 상기 생성된 CSI 패킷 헤더로 언패킹(unpack)하는 CSI 호스트 장치;
    상기 제 1 플래그에 응답하여, 상기 DSI 호스트 장치에 의해 생성된 상기 제 1 데이터를 외부로 출력하지 않고 상기 CSI 호스트 장치로 루프백(loop back)하는 루프백 제어 회로; 및
    상기 제 1 페이로드와 상기 제 2 페이로드를 비교하는 프로세서를 포함하되,
    상기 제 1 플래그는 루프백 모드 동작 여부를 나타내는 시스템 온 칩.
  11. 제 10 항에 있어서,
    상기 제 1 플래그를 저장하는 제 1 레지스터를 더 포함하는 시스템 온 칩.
  12. 제 10 항에 있어서,
    상기 루프백 제어 회로는 상기 제 1 플래그에 응답하여 상기 제 1 데이터를 상기 CSI 호스트 장치 및 디스플레이 장치 중 하나로 전송하는 시스템 온 칩.
  13. 제 12 항에 있어서,
    상기 제 1 플래그가 상기 루프백 모드를 나타내는 경우, 상기 루프백 제어 회로는 상기 CSI 호스트 장치로 상기 제 1 데이터를 전송하는 시스템 온 칩.
  14. 제 13 항에 있어서,
    상기 제 1 플래그가 상기 루프백 모드를 나타내는 경우, 상기 루프백 제어 회로는 이미지 센서로부터 상기 CSI 호스트 장치로의 이미지 신호를 차단하는 시스템 온 칩.
  15. 제 10 항에 있어서,
    상기 제 1 데이터는 비디오 모드 데이터 또는 명령 모드 데이터 중 하나에 대응하고, 상기 비디오 모드 데이터에 대응하는 패킷 헤더 변환 프로토콜은 상기 명령 모드 데이터에 대응하는 패킷 헤더 변환 프로토콜과 서로 다른 시스템 온 칩.
  16. 제 15 항에 있어서,
    상기 DSI 호스트 장치는 상기 비디오 모드 데이터의 수직 싱크(sync) 신호를 생성하는 시스템 온 칩.
  17. 제 15 항에 있어서,
    상기 DSI 호스트 장치는 티어링 효과(tearing effect) 신호를 생성하여 상기 명령 모드 데이터의 상기 생성된 CSI 패킷 헤더를 구성하는 시스템 온 칩.
  18. 제 10 항에 있어서,
    디스플레이를 제어하는 디스플레이 컨트롤러;
    이미지 센서를 제어하는 카메라 컨트롤러;
    상기 제 1 플래그를 저장하는 제 1 레지스터를 더 포함하는 시스템 온 칩.
  19. 삭제
  20. 삭제
KR1020160002732A 2016-01-08 2016-01-08 데이터의 루프백을 수행하는 시스템 온 칩과 집적 회로, 및 이들을 포함하는 모바일 장치 KR102466160B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160002732A KR102466160B1 (ko) 2016-01-08 2016-01-08 데이터의 루프백을 수행하는 시스템 온 칩과 집적 회로, 및 이들을 포함하는 모바일 장치
US15/400,098 US10965934B2 (en) 2016-01-08 2017-01-06 System on chip and integrated circuit for performing data loopback and mobile device including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160002732A KR102466160B1 (ko) 2016-01-08 2016-01-08 데이터의 루프백을 수행하는 시스템 온 칩과 집적 회로, 및 이들을 포함하는 모바일 장치

Publications (2)

Publication Number Publication Date
KR20170083366A KR20170083366A (ko) 2017-07-18
KR102466160B1 true KR102466160B1 (ko) 2022-11-14

Family

ID=59276090

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160002732A KR102466160B1 (ko) 2016-01-08 2016-01-08 데이터의 루프백을 수행하는 시스템 온 칩과 집적 회로, 및 이들을 포함하는 모바일 장치

Country Status (2)

Country Link
US (1) US10965934B2 (ko)
KR (1) KR102466160B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110622086B (zh) * 2017-09-06 2023-11-14 大疆科技股份有限公司 可移动物体应用框架
KR102433101B1 (ko) 2017-11-06 2022-08-18 에스케이하이닉스 주식회사 반도체 장치 및 이를 포함하는 반도체 시스템
CN110610108B (zh) 2018-06-14 2024-09-27 恩智浦美国有限公司 条码扫描器的摄相接口电路
US10862830B2 (en) * 2018-12-17 2020-12-08 Nxp Usa, Inc. Real-time on-chip data transfer system
TW202029002A (zh) * 2018-12-20 2020-08-01 日商索尼半導體解決方案公司 通信裝置、通信方法及程式
TWI805731B (zh) * 2019-04-09 2023-06-21 韓商愛思開海力士有限公司 多線道資料處理電路及系統
CN111896874B (zh) * 2020-07-13 2023-05-02 江西理工大学 基于演化神经网络的电池soc预测方法
CN115866173B (zh) * 2023-02-20 2023-05-23 上海芯浦科技有限公司 一种视频传输芯片

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020007428A1 (en) 1998-12-18 2002-01-17 Kendell Alan Chilton Data assembler/disassembler
US20090315899A1 (en) 2008-06-18 2009-12-24 Ati Technologies Ulc Graphics multi-media ic and method of its operation
US20140281753A1 (en) 2013-03-15 2014-09-18 Mahesh Wagh Systems, Apparatuses, and Methods for Handling Timeouts
US20140368667A1 (en) 2013-06-14 2014-12-18 Intel Corporation Apparatus, system, and method for n-phase data mapping
US20170176534A1 (en) 2015-12-18 2017-06-22 Intel Corporation Self-characterizing high-speed communication interfaces

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317805B1 (en) * 1998-12-18 2001-11-13 Emc Corporation Data transfer interface having protocol conversion device and upper, lower, middle machines: with middle machine arbitrating among lower machine side requesters including selective assembly/disassembly requests
KR100335372B1 (ko) 1999-08-13 2002-05-06 오길록 자체 루프백시험이 구현된 유토피아 인터페이스 장치
US6874039B2 (en) * 2000-09-08 2005-03-29 Intel Corporation Method and apparatus for distributed direct memory access for systems on chip
US7447953B2 (en) 2003-11-14 2008-11-04 Intel Corporation Lane testing with variable mapping
US7746795B2 (en) 2004-07-23 2010-06-29 Intel Corporation Method, system, and apparatus for loopback parameter exchange
KR20060062762A (ko) 2004-12-06 2006-06-12 엘지노텔 주식회사 보드 에러 검출 장치 및 방법
US7681093B2 (en) * 2006-03-31 2010-03-16 Intel Corporation Redundant acknowledgment in loopback entry
KR20090010228U (ko) * 2008-10-16 2009-10-07 윈포시스(주) 멀티 카메라를 이용한 코드 판독 시스템
US20100262671A1 (en) 2009-04-14 2010-10-14 Si Ruo Chen Delay Parameter Testing for Multiple-Device Master-slave Configuration Using a Single-Device Testing System
KR101323390B1 (ko) * 2010-09-20 2013-10-29 엘지디스플레이 주식회사 유기발광다이오드 표시소자와 그 저전력 구동방법
US20120324302A1 (en) * 2011-06-17 2012-12-20 Qualcomm Incorporated Integrated circuit for testing using a high-speed input/output interface
WO2013111010A1 (en) 2012-01-27 2013-08-01 Marvell World Trade Ltd. Chip-to-chip communications
US9234314B2 (en) 2012-03-12 2016-01-12 Tom HABEL Rail gauge-plate insulator
US9600431B2 (en) 2012-10-22 2017-03-21 Intel Corporation High performance interconnect physical layer
KR102021795B1 (ko) * 2013-01-24 2019-09-17 삼성전자주식회사 적응적 서비스 제어기, 시스템 온 칩 및 시스템 온 칩의 제어 방법
CN104956347B (zh) * 2013-02-28 2018-05-22 英特尔公司 将一种互连协议的枚举和/或配置机制用于不同的互连协议
KR102023067B1 (ko) * 2013-03-15 2019-09-19 삼성전자주식회사 시스템 온 칩과 이를 포함하는 디스플레이 시스템의 동작 방법
KR102023501B1 (ko) * 2013-10-02 2019-09-20 삼성전자주식회사 설정가능한 이미지 처리 파이프라인을 포함하는 시스템 온 칩과, 상기 시스템 온 칩을 포함하는 시스템
KR102133978B1 (ko) * 2013-11-13 2020-07-14 삼성전자주식회사 압축 데이터를 이용하여 패널 셀프 리프레쉬를 수행할 수 있는 타이밍 컨트롤러, 이의 동작 방법, 및 상기 타이밍 컨트롤러를 포함하는 데이터 처리 시스템
US9606954B2 (en) * 2014-01-10 2017-03-28 Lattice Semiconductor Corporation Communicating with MIPI-compliant devices using non-MIPI interfaces
US10114789B2 (en) * 2015-01-08 2018-10-30 Samsung Electronics Co., Ltd. System on chip for packetizing multiple bytes and data processing system including the same
WO2016145405A1 (en) * 2015-03-11 2016-09-15 Protocol Insight, Llc Intelligent packet analyzer circuits, systems, and methods
KR102371557B1 (ko) * 2015-03-20 2022-03-07 삼성전자주식회사 호스트 장치, 그것과 복수의 장치들을 갖는 호스트 시스템 및 그것의 인터페이스 링크 레이어 구성 방법
US20170117979A1 (en) * 2015-10-22 2017-04-27 Qualcomm Incorporated Alternating pseudo-random binary sequence seeds for mipi csi-2 c-phy
US20170116150A1 (en) * 2015-10-23 2017-04-27 Qualcomm Incorporated N-phase fast bus turnaround
US10027504B2 (en) * 2015-10-23 2018-07-17 Qualcomm Incorporated Protocol-assisted advanced low-power mode
US20180027174A1 (en) * 2016-07-19 2018-01-25 Qualcomm Incorporated Signaling camera configuration changes using metadata defined for a camera command set

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020007428A1 (en) 1998-12-18 2002-01-17 Kendell Alan Chilton Data assembler/disassembler
US20090315899A1 (en) 2008-06-18 2009-12-24 Ati Technologies Ulc Graphics multi-media ic and method of its operation
US20140281753A1 (en) 2013-03-15 2014-09-18 Mahesh Wagh Systems, Apparatuses, and Methods for Handling Timeouts
US20140368667A1 (en) 2013-06-14 2014-12-18 Intel Corporation Apparatus, system, and method for n-phase data mapping
US20170176534A1 (en) 2015-12-18 2017-06-22 Intel Corporation Self-characterizing high-speed communication interfaces

Also Published As

Publication number Publication date
US20170201746A1 (en) 2017-07-13
KR20170083366A (ko) 2017-07-18
US10965934B2 (en) 2021-03-30

Similar Documents

Publication Publication Date Title
KR102466160B1 (ko) 데이터의 루프백을 수행하는 시스템 온 칩과 집적 회로, 및 이들을 포함하는 모바일 장치
TWI605337B (zh) 用以在統一的協定通訊中交換錯誤資訊之設備、方法及系統
US8832331B2 (en) Data modification for device communication channel packets
EP3783517A1 (en) Integrity and data encryption (ide) over computer buses
EP3820048A1 (en) Data compression and decompression method and related apparatus, electronic device, and system
JP6139727B2 (ja) Eccで保護されたメモリを用いる使用のためのmbistデバイス
US20150301886A1 (en) Information processing apparatus, system, and information processing method
KR20160073294A (ko) 터치 센서 정보의 통신을 위한 장치, 시스템 및 방법
US10133497B1 (en) SPI command censoring method and apparatus
US11507718B1 (en) Chip verification system and verification method therefor
US20230370095A1 (en) Encoder and decoder of forward error correction (fec) codec
TWI445374B (zh) 遠端管理系統及遠端管理方法
WO2020206879A1 (zh) Pcie宽度自动适配方法、装置及电子设备和存储介质
TWI486786B (zh) 隨著使用情境進行資料傳輸動態調整之方法與裝置及計算機程式產品
TWI507876B (zh) 記憶體儲存裝置及控制方法、記憶體控制電路單元及模組
CN114116562A (zh) 连接装置
JP6232733B2 (ja) 通信回路、物理量測定装置、電子機器、移動体、通信方法
US9112736B2 (en) Data transfer apparatus, data transfer method, and inter-chip communication system
CN112463067A (zh) 一种NVMe-oF场景下的数据保护方法及设备
US8291270B2 (en) Request processing device, request processing system, and access testing method
CN110633225B (zh) 实体存储对照表产生装置及方法
WO2020163977A1 (en) Virtual flash
TW201720091A (zh) 積體電路以及其串化器/解串化器實體層電路的操作方法
JP6673021B2 (ja) メモリおよび情報処理装置
CN106452838A (zh) Usb设备模拟装置及方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant