KR102414408B1 - 이종의 직렬통신 프로토콜을 위한 제어 집적회로 및 이를 포함하는 시스템 제어 장치 - Google Patents
이종의 직렬통신 프로토콜을 위한 제어 집적회로 및 이를 포함하는 시스템 제어 장치 Download PDFInfo
- Publication number
- KR102414408B1 KR102414408B1 KR1020200114014A KR20200114014A KR102414408B1 KR 102414408 B1 KR102414408 B1 KR 102414408B1 KR 1020200114014 A KR1020200114014 A KR 1020200114014A KR 20200114014 A KR20200114014 A KR 20200114014A KR 102414408 B1 KR102414408 B1 KR 102414408B1
- Authority
- KR
- South Korea
- Prior art keywords
- data signal
- integrated circuit
- data
- signal
- transmission rate
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
본 발명은 이종의 직렬통신 프로토콜을 위한 제어 집적회로 및 이를 포함하는 시스템 제어 장치에 관한 것으로, 제어 집적회로는 마스터 집적회로로부터 하나의 신호선을 통해 데이터 신호를 수신하는 제1 인터페이스부; 하나 이상의 슬레이브 집적회로로부터 2개의 신호선을 통해 데이터 신호 및 클럭 신호를 전송하는 제2 인터페이스부; 상기 제1 인터페이스부로부터 수신받은 데이터 신호를 디코딩하는 디코딩부; 및 상기 디코딩된 데이터 신호를 제2 통신 프로토콜에 따른 데이터 신호로 변환하여 상기 제2 인터페이스부로 출력하는 제어부를 포함하고, 상기 제1 인터페이스부는 복수의 패킷 중 상기 데이터 신호의 전송 속도를 나타내는 영역을 포함하는 패킷의 시작 비트와 상기 시작 비트에 인접한 비트 사이의 펄스 폭 시간(Pulse Width Time)에 기초하여 데이터 신호의 전송 속도를 계산하는 것을 특징으로 한다.
Description
본 발명의 일 실시예는 이종의 직렬통신 프로토콜을 위한 제어 집적회로 및 이를 포함하는 시스템 제어 장치에 관한 것이다.
전기 통신과 컴퓨터 과학 분야에서 직렬 통신(Serial Bus, 시리얼버스)은 연속적으로 통신 채널이나 컴퓨터 버스를 거쳐 한 번에 하나의 비트 단위로 데이터를 전송하는 과정을 말한다. 이 용어는 여러 개의 병렬 채널을 갖춘 링크 위에서 동시에 여러 개의 비트를 보내는 병렬 통신과 대조된다.
컴퓨터에서 데이터 처리가 병렬로 되는데, 통신을 위해 병렬 통신을 하려면 여러 개의 채널이 필요하다. 거리와 비용을 고려하면 많을 경우 병렬 통신은 문제가 될 수 있다. 결국 병렬로 처리되는 데이터를 통신할 때 시간으로 나누어 차례대로 전송함으로써 문제를 해결할 수 있다.
직렬 통신을 위한 프로토콜로서 범용적인 통신 프로토콜은 I2C가 있다.
정식 명칭은 'I2C 버스(Inter IC Bus)'이지만, 일반적으로 I2C로 불리고 있으므로 해당 구조 및 통신 방식을 통칭하여 I2C라 하기로 한다.
상기 I2C는 약 20년 전에 필립스(Phillips)사 에서 텔레비전, 브이티알, 오디오 장치와 같은 대량 생산용 제품에 적용하기 위해 소개한 것으로 임베디드 어플리케이션이 급부상하면서 재조명된 디펙토 솔루션(defecto solution)의 일종이다.
이러한 I2C는 주소를 지정하고 데이터를 주고 받기 위한 2개의 신호선을 사용하는데, 안정적인 동작을 위해서 데이터 라인(SDA)과 클럭 라인(SCL)을 통한 동기 통신을 실시한다. 특히, 각 라인들은 오픈 드레인나 오픈 콜렉터 방식으로 동작하므로 복수의 소자들을 병렬 방식으로 버스 연결하더라도 신호의 충돌이 발생하지 않도록 구성되어 있다. 이를 통해서, 상기 I2C는 유연한 확장성, 안정성, 간편성, 범용성 등을 모두 갖추어 칩들 간 통신이나 간단한 장비들 간 통신으로도 활용되고 있다.
I2C 직렬 프로토콜 이외의 프로토콜을 사용하는 소자와 통신하는 경우 반드시 I2C 직렬 프로토콜을 사용하여 이에 따른 외부 소프트웨어를 사용하여야만 한다. 따라서, 네트워크 통신 범위 확장으로 I2C 소자 이외의 직렬 프로토콜을 사용하는 소자와 통신하는 경우, 프로토콜 호환이 되지 않는 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 제안된 것으로, 서로 다른 직렬 프로토콜을 채택한 기기간 통신을 위해, 소프트웨어의 통신 프로토콜 변경없이 하드웨어적으로 기기간 통신을 용이하게 하는 장치 및 방법을 제공한다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기의 기술적 과제를 이루기 위한 본 발명에 따른 마스터 집적회로로부터 하나의 신호선을 통해 데이터 신호를 수신하는 제1 인터페이스부; 하나 이상의 슬레이브 집적회로로부터 2개의 신호선을 통해 데이터 신호 및 클럭 신호를 전송하는 제2 인터페이스부; 상기 제1 인터페이스부로부터 수신받은 데이터 신호를 디코딩하는 디코딩부; 및 상기 디코딩된 데이터 신호를 제2 통신 프로토콜에 따른 데이터 신호로 변환하여 상기 제2 인터페이스부로 출력하는 제어부를 포함하고, 상기 마스터 집적회로부터 수신받은 데이터 신호는 서로 구분되는 복수의 패킷을 포함하고, 상기 복수의 패킷 중 적어도 하나 이상의 패킷은 상기 데이터 신호의 전송 속도를 나타내는 영역을 포함하고, 상기 제1 인터페이스부는 상기 복수의 패킷 중 상기 데이터 신호의 전송 속도를 나타내는 영역에 포함되는패킷의 시작 비트와 상기 시작 비트에 인접한 비트 사이의 펄스 폭 시간(Pulse Width Time)에 기초하여 데이터 신호의 전송 속도를 계산하는 것을 특징으로 한다.
일 실시예에서, 상기 2개의 신호선은 제1 라인과 제2 라인을 포함하고, 상기 제2 인터페이스부는 제2 통신 프로토콜에 따라 변환된 데이터 신호를 상기 제1 라인을 통해 송신하고, 상기 전송 속도에 기초하여 생성된 클럭 신호를 상기 제2 라인으로 송신하는 것을 특징으로 한다.
일 실시예에서, 상기 복수의 패킷은, 상기 데이터 신호의 전송 속도를 나타내는 전송 속도 영역을 반복적으로 포함하고, 상기 제1 인터페이스부는 반복적으로 포함된 전송 속도 영역으로부터 반복적으로 전송 속도를 확인한다.
일 실시예에서, 상기 제1 인터페이스부는 상기 제1 데이터 신호가 수신되면 상기 제1 데이터 신호의 제1 패킷, 제2 패킷, 제3 패킷에 포함된 시작비트를 판독하여 각 신호의 시작을 확인하고, 시작비트 이후의 정보 영역의 비트로부터 각각 타겟 집적회로의 정보, 타겟 레지스터의 정보, 상기 타겟 집적회로에 제공할 대상 데이터를 확인하고, 정보 영역 이후의 종료비트를 판독하여 각 패킷의 종료를 확인하는 것을 특징으로 한다.
일 실시예에서, 상기 제1 통신 인터페이스부는 데이터 신호를 수신할 때, 상기 정보 영역의 일부 비트에 의해 나타내어지는 상기 데이터 신호의 전송 속도에 기반하여, 상기 데이터 신호의 비트들을 샘플링하기 위한 샘플링 시점을 결정하는 것을 특징으로 한다.
일 실시예에서, 상기 복수개의 패킷 중 제1 패킷 및 상기 제2 패킷은 상기 데이터 신호의 전송 속도를 나타내는 영역을 포함하고, 상기 복수개의 패킷 중 제3 패킷은 상기 데이터 신호의 전송 속도를 나타내는 영역을 포함하지 않는 것을 특징으로 한다.
상기 제1 통신 인터페이스부는 신호의 제3 패킷에 포함된 종료비트를 판독하여 판독되는 종료비트의 수에 따라 데이터 통신이 해제 또는 타겟 집적회로의 변경 중 어느 하나를 판단하는 것을 특징으로 한다.
본 발명의 다른 실시예에 따른 시스템 제어 회로는 하나의 신호선을 통해 데이터 신호를 전송하는 마스터 집적회로; I2C 통신 프로토콜에 따라 2개의 신호선을 통해 데이터 신호를 전송하는 하나 이상의 슬레이브 집적회로; 및 상기 마스터 집적회로부터 데이터 신호를 수신받아 제2 통신 프로토콜에 따른 데이터 신호로 변환하여 하나 이상의 슬레이브 IC에 출력하는 제어 집적회로를 포함하고, 상기 마스터 집적회로부터 수신받은 데이터 신호는 서로 구분되는 복수의 패킷을 포함하고, 상기 복수의 패킷 중 적어도 하나 이상의 패킷은 상기 데이터 신호의 전송 속도를 나타내는 영역을 포함하고, 상기 제어 집적회로는 상기 복수의 패킷 중 상기 데이터 신호의 전송 속도를 나타내는 영역에 포함되는패킷의 시작 비트와 상기 시작 비트에 인접한 비트 사이의 펄스 폭 시간(Pulse Width Time)에 기초하여 데이터 신호의 전송 속도를 계산하는 것을 특징으로 한다.
일 실시예에서, 상기 2개의 신호선은 제1 라인과 제2 라인을 포함하고, 상기 제어 집적회로는 상기 제2 통신 프로토콜에 따라 변환된 데이터 신호를 상기 제1 라인을 통해 송신하고, 상기 전송 속도에 기초하여 생성된 클럭 신호를 상기 제2 라인으로 송신하는 것을 특징으로 한다.
일 실시예에서, 상기 제1 통신 인터페이스부는 데이터 신호를 수신할 때, 상기 정보 영역의 일부 비트에 의해 나타내어지는 상기 데이터 신호의 전송 속도에 기반하여, 상기 데이터 신호의 비트들을 샘플링하기 위한 샘플링 시점을 결정하는 것을 특징으로 한다.
상기와 같은 본 발명은, 이종의 직렬통신 프로토콜을 위한 집적회로 및 그것을 포함하는 시스템 제어 장치를 제공함으로써, 범용 I2C를 채택한 기기와 범용 I2C를 채택하지 않은 기기 간의 통신을 가능하게 한다.
특히 소프트웨어의 통신 프로토콜을 변경하지 않고, 온 칩 형태의 하드웨어를 부가하는 것만으로 이종의 직렬 프로토콜의 호환을 가능하게 함으로써, 와이어 수를 줄여 비용을 절약하는 효과가 있다.
도 1은 본 발명의 몇몇 실시예에 따른 이종의 직렬통신 프로토콜 변환을 위한 시스템 제어 장치를 설명하는 개요도이다.
도 2는 본 발명의 일 실시예에 따른 제어 집적회로의 개략적인 구성을 설명하는 블럭도이다.
도 3은 도 1 및 도 2에서 설명한 제1 통신 프로토콜에 따른 데이터 프레임의 예시적인 구조를 나타내는 도면이다.
도 4 및 도 5는 도 3에서 설명한 데이터 프레임의 변형예를 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 시작 조건과 종료 조건을 설명하기 위한 도면이다.
도 7은 도 1 및 도 2에서 설명한 제2 통신 프로토콜에 따른 데이터 프레임의 예시적인 구조를 나타내는 도면이다.
도 8은 도 7의 데이터 프레임의 응답확인을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 제2 통신 프로토콜에 따른 데이터 프레임의 쓰기 프로토콜 및 패리티 데이터를 설명하기 위한 도면이다.
도 10은 본 발명의 다른 실시예에 따른 제2 통신 프로토콜에 따른 데이터 프레임의 쓰기 프로토콜 및 패리티 데이터를 설명하기 위한 도면이다.
도 11은 본 발명의 다른 실시예에 따른 제어 집적회로의 개략적인 구성을 설명하는 블럭도이다.
도 12는 본 발명의 일 실시예에 따른 각 비트를 샘플링하는 방법을 나타내는 도면이다.
도 13은 본 발명의 다른 실시예에 따른 각 비트를 샘플링하는 방법을 나타내는 도면이다.
도 14는 본 발명의 일 실시예에 따른 제어 집적회로의 하드웨어 구성을 예시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 제어 집적회로의 개략적인 구성을 설명하는 블럭도이다.
도 3은 도 1 및 도 2에서 설명한 제1 통신 프로토콜에 따른 데이터 프레임의 예시적인 구조를 나타내는 도면이다.
도 4 및 도 5는 도 3에서 설명한 데이터 프레임의 변형예를 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 시작 조건과 종료 조건을 설명하기 위한 도면이다.
도 7은 도 1 및 도 2에서 설명한 제2 통신 프로토콜에 따른 데이터 프레임의 예시적인 구조를 나타내는 도면이다.
도 8은 도 7의 데이터 프레임의 응답확인을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 제2 통신 프로토콜에 따른 데이터 프레임의 쓰기 프로토콜 및 패리티 데이터를 설명하기 위한 도면이다.
도 10은 본 발명의 다른 실시예에 따른 제2 통신 프로토콜에 따른 데이터 프레임의 쓰기 프로토콜 및 패리티 데이터를 설명하기 위한 도면이다.
도 11은 본 발명의 다른 실시예에 따른 제어 집적회로의 개략적인 구성을 설명하는 블럭도이다.
도 12는 본 발명의 일 실시예에 따른 각 비트를 샘플링하는 방법을 나타내는 도면이다.
도 13은 본 발명의 다른 실시예에 따른 각 비트를 샘플링하는 방법을 나타내는 도면이다.
도 14는 본 발명의 일 실시예에 따른 제어 집적회로의 하드웨어 구성을 예시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면을 참조하여 상세하게 설명하도록 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재 항목들의 조합 또는 복수의 관련된 기재 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급될 때에는 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있다는 것을 의미한다.
이한, 앞서 상술한 기술적 과제를 해결하기 위한 본 발명의 다양한 실시예들에 대하여 설명하도록 한다.
도 1은 본 발명의 몇몇 실시예에 따른 이종의 직렬통신 프로토콜 변환을 위한 시스템 제어 장치를 설명하는 개요도이다.
도 1을 참조하면, 제어 집적회로(IC)(100), 제1 통신 프로토콜을 채택한 제1 집적회로(10), 제2 통신 프로토콜을 채택한 하나 이상의 슬레이브 집적회로(20, 30)를 포함할 수 있다. 본 발명의 일 실시예에서는 4개의 슬레이브 집적회로를 기재하였으나, 집적회로의 수는 다양하게 변경될 수 있음은 물론이다.
여기서 제1 통신 프로토콜은 1-wire 통신 프로토콜이고, 제2 통신 프로토콜은 범용 I2C 통신 프로토콜일 수 있다. 또는, 제1 통신 프로토콜은 범용 I2C 통신 프로토콜이고, 제2 통신 프로토콜은 1-wire 통신 프로토콜일 수 있다.
1-wire 통신 프로토콜을 이용하는 장치는 하나의 신호선을 사용하여 데이터 통신을 수행하고, 범용 I2C 통신 프로토콜을 이용하는 장치는 2개의 신호선을 사용하여 데이터 통신을 수행한다.
본 실시예에 대한 구체적인 설명을 위해, 제1 집적회로(10)가 다른 슬레이브 집적회로들에 데이터 신호를 전송하는 경우를 예시한다. 제1 집적회로(10)가 제1 통신 프로토콜을 사용하여 데이터 신호를 전송하고자 하는 경우, 제1 집적회로(10)는 마스터 집적회로가 되며, 데이터 신호를 하나의 데이터라인으로 제어 집적회로(100)를 통해 제2 통신 프로토콜에 따라 하나 이상의 슬레이브 집적회로에 전달한다. 이때, 데이터 신호에는 마스터 회로(10)가 상기 데이터 신호를 전달하고자 하는 목적지인 타겟 집적회로를 나타내는 정보가 포함된다. 그런데 제어 집적회로(100)에 복수개의 슬레이브 집적회로가 직렬 연결되어 있으므로, 제어 집적회로(100)는 데이터 신호의 타겟 집적회로뿐만 아니라 동일한 신호선에 연결된 다른 슬레이브 집적회로에도 동일한 데이터 신호를 전송한다. 그런데 동일한 데이터 신호를 전송받은 복수개의 슬레이브 집적회로들은 데이터 신호에 포함된 타겟 집적회로를 나타내는 정보를 식별한다. 그에 따라, 자신이 타겟 집적회로에 해당하는 것으로 판단되면, 해당 집적회로는 데이터 신호에 포함된 명령 또는 데이터에 의해 지시되는 동작을 수 행한다. 반대로, 자신이 타겟 집적회로에 해당하지 않은 것으로 판단되면, 해당 집적회로는 수신한 데이터 신호를 무시하고 특별한 동작을 수행하지 않는다.
또한, 도 1에 도시한 바와 같이, 하나의 마스터 집적회로(10)에 복수개의 제어 집적회로(100)가 직렬 연결될 수 있다.
제어 집적회로(100)는 마스터 회로(10)와 연결된 신호선을 통해 데이터 신호를 전달받아 디코딩한 후, 제2 통신 프로토콜에 따른 데이터 프레임으로 변환하여 하나 이상의 슬레이브 집적회로(20, 30)에 전송한다.
제어 집적회로(100)는 비트 중심 동작(bit-oriented operation)에 따라 데이터 읽기 및 쓰기를 수행하며, 최하위 비트(LSB)가 먼저 전송된다.
상기와 같은 구성에 따르면, 이종의 직렬 통신 프로토콜을 갖는 집적회로가 데이터 통신을 할 수 있게 된다.
도 2는 본 발명의 일 실시예에 따른 제어 집적회로의 개략적인 구성을 설명하는 블럭도이다.
도 2에 도시한 바와 같이, 제어 집적회로(100)는 제1 통신 인터페이스부(110), 디코딩부(120), 제어부(130) 및 제2 통신 인터페이스부(140)를 포함할 수 있다.
제1 통신 인터페이스부(110)는 제1 통신 프로토콜에 따른 데이터 통신을 위한 인터페이스이다. 제1 통신 인터페이스부(110)는 마스터 집적회로와 하나의 신호선을 통해 연결된다.
제2 통신 인터페이스부(140)는 제2 통신 프로토콜에 따른 데이터 통신을 위한 인터페이스이다. 제2 통신 인터페이스부(140)는 슬레이브 집적회로와 각각 두 개의 신호선을 통해 연결된다. 제2 통신 인터페이스부(140)는 복수개의 슬레이브 집적회로와 직렬로 연결될 수 있다.
디코딩부(120)는 제1 통신 인터페이스부(110) 통해 데이터 신호를 수신하여 디코딩한다.
제어부(130)는 디코딩부(120)에 의해 디코딩된 데이터 신호를 제2 통신 인터페이스부(140)를 통해 연결된 하나 이상의 슬레이브 집적회로에 출력하도록 제어한다.
제어부(130)는 수신된 제1 통신 프로토콜에 따른 데이터 프레임을 제2 통신 프로토콜에 따른 데이터 프레임에 대응시킴으로써 데이터 변환을 하게 된다. 예를 들어, 제어부(130)는 제1 통신 프로토콜에 따른 데이터 신호 및 제2 통신 프로토콜에 따른 데이터 프레임을 갖는 데이터 신호를 읽거나 쓸 수 있다.
저장부(150)는 제1 통신 인터페이스부(110) 또는 제2 통신 인터페이스부(110)를 통해 수신되는 데이터 신호 및 제어부(130)에 변환된 데이터 신호를 일시 또는 비일시적으로 저장할 수 있다. 예를 들어, 저장부(150)는 제어 레지스터를 포함할 수 있다.
이하, 제1 통신 프로토콜에 따른 데이터 구조 및 제2 통신 프로토콜에 따른 데이터 구조에 대하여 도 4 내지 도 6을 참조하여 설명한다.
도 3은 도 1 및 도 2에서 설명한 제1 통신 프로토콜에 따른 데이터 프레임의 예시적인 구조를 나타내는 도면이다. 도 4 및 도 5는 도 3에서 설명한 데이터 프레임의 변형예를 나타내는 도면이다. 도 6은 본 발명의 일 실시예에 따른 시작 조건과 종료 조건을 설명하기 위한 도면이다.
도 3을 참조하여, 제1 통신 프로토콜에 따른 데이터 프레임을 갖는 데이터 신호는 서로 구분되는 일련의 패킷들(a11, a12, a13)을 포함하는 패킷 시퀀스의 구조를 갖는다.
패킷 시퀀스는 신호선에 연결된 하나 이상의 슬레이브 집적회로(20, 30, 40) 중 타겟 집적회로를 나타내는 제1 패킷(a11), 타켓 집적회로의 레지스터 중 대상 데이터가 제공될 타겟 레지스터를 나타내는 제2 패킷(a12), 또는, 상기 타겟 집적회로에 제공할 대상 데이터를 나타내는 제3 패킷(a13)를 포함할 수 있다. 다만, 이는 예시적인 구조로서, 본 개시의 범위는 이에 한정되지 않는다. 예를 들어, 별도의 타겟 레지스터를 지정할 필요가 없는 경우, 패킷 시퀀스는 제1 패킷(a11) 및 제3 패킷(a13)만 포함하도록 구성될 수도 있고, 도 5와 같이 추가의 대상 데이터를 나타내는 제4 패킷(b14)를 포함할 수 있다. 또한, 도 6과 같이 복수개의 추가 대상 데이터를 나타내는 패킷들을 복수개 포함할 수 있다.
다시 도 3으로 되돌아와서, 각 패킷(a11, a12, a13)들은 시작 비트(S)와 종료 비트(T)에 의해 서로 구분될 수 있다. 시작 비트(S)는 신호가 시작됨을 알리는 비트로 예를 들어 '0'일 수 있다. 종료 비트(T)는 신호가 종료됨을 알리는 비트로 예를 들어 '1'일 수 있다. 종료 비트의 수에 따라 패킷의 종료와 데이터 신호의 종료를 구별할 수 있다. 예를 들어, 종료 비트가 1개인 경우, 패킷의 종료를 나타내고 종료 비트가 3개인 경우, 데이터 신호의 종료를 나타낼 수 있다. 데이터 신호의 종료를 의미하는 종료 비트가 나타나면 선택된 슬레이브 집적회로는 해제된다. 다른 예로서, 종료 비트가 15개 인 경우, 다음 타겟 슬레이브 집적회로가 변경됨을 나타낼 수 있다.
다만, 이는 예시적인 것으로 본 개시의 범위는 이에 한정되지 않는다. 예를 들어, 신호선 아이들 상태(IDLE STATE)가 '0'인 경우, 시작 비트(S)는 아이들 상태와의 구분을 위해 '1'이 되고, 종료 비트(T)는 아이들 상태로 회귀를 위해 '0'이 될 수 있다.
이하에서는, 설명의 편의를 위해 아이들 상태(IDLE STATE)가 '1'인 경우를 전제한다. 또한, 이하에서, 각 패킷(a11, a12, a13)들은 1byte(8bit) 신호인 것을 가정하였으나, 이는 설명의 간명화를 위해 가정한 것일 뿐 본 개시의 범위는 이에 한정되지 않는다.
제1 패킷(a11)은 패킷 시퀀스의 처음에 나오는 패킷으로서, 시작 비트(S), 종료 비트(T) 및 그 사이의 데이터 영역으로 구성된다. 제1 패킷(a11)는 타겟 집적회로에 대한 정보를 나타내는 신호로서, 데이터 영역에는 타겟 IC를 가리키는 IC 정보를 포함한다. 일 실시예로서, 상기 IC 정보는 타겟 IC의 어드레스 정보일 수 있다.
제3 패킷(a13)은 상기 제1 패킷(a11) 다음에 나오는 신호로서, 제1 패킷(a11)와 유사하게 시작 비트(S), 종료 비트(T) 및 그 사이의 데이터 영역으로 구성된다. 제3 패킷(a13)는 타겟 IC에 전달할 대상 데이터를 나타내는 신호로서, 데이터 영역에는 타겟 IC에 제공할 실제 데이터 정보(레지스터 데이터)가 포함된다.
제2 패킷(a12)는 상기 제1 패킷(a11)와 상기 제3 패킷(a13)의 사이에 전송되는 신호로서, 제1 패킷(a11) 및 제3 패킷(a13)와 유사하게 시작 비트(S), 종료 비트(T) 및 그 사이의 데이터 영역으로 구성된다. 제2 패킷(a12)는 타겟 IC의 특정 레지스터에 대한 정보를 나타내는 신호로서, 데이터 영역에는 타겟 IC의 특정 레지스터를 가리키는 레지스터 정보가 포함된다. 일 실시예로서, 상기 레지스터 정보(12c)는 상기 특정 레지스터의 어드레스 정보일 수 있다.
도 6에 도시한 바와 같이, 제1 패킷(a11) 및 제2 패킷(a12)은 첫번째, 두번째 비트는 PWT(pulse width time) 결정 비트이다. PWT 결정 비트의 첫번째 비트와 두번째 비트는 항상 상보적이다. 예를 들어, 첫번째 비트가 '1'이면, 인접한 비트는 '0'이고, 첫번째 비트가 '0'이면, 인접한 비트는 '1'이 된다.
제어 집적회로는 첫번째 비트와 두번째 비트 사이의 펄스 폭 시간을 감지함으로써 데이터 신호의 전송 속도를 판단할 수 있다.
예컨대, 데이터 신호가 115,200 보레이트로 전송되는 경우의 제어 집적회로는 첫번째 비트가 수신된 시점부터 다음 인접한 비트가 감지되는 시점까지의 시간을 계산하여 데이터 신호의 전송속도를 산출한다. 시작 비트와 인접한 비트 사이의 펄스 폭이 1개 비트폭과 동일하므로 데이터 신호의 전송속도는 115,200 보레이트가 된다. 다른 예에서, 데이터 신호가 57,600 보레이트로 2배 느려진 경우, 최초 시작 비트가 수신된 시점부터 다음 인접한 비트가 감지되는 시점까지의 펄스 폭이 2개 비트의 펄스 폭과 같아지므로 데이터 신호를 수신하는 제어 집적회로는 57,600 보레이트로 데이터 신호가 전송되고 있음을 알 수 있다. 전송 속도가 느려짐에 따라 파형도 느려진다.
이와 같이 데이터 신호를 수신하는 제어 집적회로는 데이터 신호 내 펄스 폭 시간을 이용하여 데이터 신호의 전송 속도를 읽어낼 수 있으므로 데이터 신호를 송신하는 마스터 집적회로가 전송 속도를 변경하여도 그에 맞게 적절히 샘플링 시점을 변경하여 오류 없이 데이터를 읽어들일 수 있다. 또한, 전송 속도를 나타내는 PWT 결정 비트가 데이터 신호 내에 포함되어 있으므로, 전송 속도 정보를 전달하기 위한 별도의 데이터 라인을 필요로 하지 않는 장점이 있다.
상기 제1 패킷(a11), 제2 패킷(a12) 및 제3 패킷(a13)는 서로 유기적으로 작용하여 타겟 IC에 구체적인 지시를 전달하게 된다. 가령, 제1 패킷(a11), 제2 패킷(a12) 및 제3 패킷(a13)를 포함하는 데이터 신호가 타겟 IC에 전달될 때, 타겟 IC는 먼저 제1 패킷(a11)를 통해 자신이 타겟 IC에 해당하는지 판단한다. 이는 IC 정보(11c)에 포함된 타겟 IC에 대한 정보(예를 들어, 어드레스)가 자신의 정보와 일치하는지 비교함으로써 수행될 수 있다.
제어 집적회로(도 1의 100)는 시작 비트 사이의 펄스 폭 시간(PWT)에 따라 데이터 신호의 전송 속도를 확인할 수 있다.
제어 집적회로(100)는 확인된 전송속도에 기초하여 제2 통신 프로토콜에 따른 데이터 신호의 전송을 위한 클록 신호를 생성할 수 있다.
도 7은 도 1 및 도 2에서 설명한 제2 통신 프로토콜에 따른 데이터 프레임의 예시적인 구조를 나타내는 도면이고, 도 8은 도 7의 데이터 프레임의 응답확인을 설명하기 위한 도면이다.
일 실시예에서, 도 7에 도시한 바와 같이 제2 통신 프로토콜은 범용 I2C 통신 프로토콜일 수 있다.
도 7을 참조하여, 제2 통신 프로토콜에 따른 데이터 신호는 두개의 전송선 (제1 라인 및 제2 라인)을 통해 송수신된다. 제1 라인은 데이터의 직렬 전송에 사용되는 SDA(Serial DAta) 라인이고, 제2 라인은 디바이스간 신호 동기화에 사용되는 클럭 전송에 사용되는 SCL(Serial CLock) 라인이다.
제1 라인을 통해 송수신되는 데이터 신호는 서로 구분되는 일련의 패킷을 포함하는 패킷 시퀀스의 구조를 갖는다.
I2C의 데이터는 시작 조건-슬레이브 어드레스-읽기/쓰기-응답확인(Ack)-데이터-응답확인(Ack)-종료 조건의 순서대로 송수신될 수 있다.
먼저 시작조건(start condition)(s)은 시작을 나타내는 신호로, 제1 라인과 제2 라인 즉 SDA 및 SCL 이 모두 하이 일 때, SDA를 로우로 하는 것으로 구별된다. 슬레이브 어드레스는 일반적으로 7bits 또는 확장된 10 bits 2종류가 사용될 수 있다. 슬레이브 어드레스가 7bits인 경우 1바이트로 송신 가능하지만 슬레이브 어드레스가 10비트인 경우, 주소를 2바이트로 나누어 송신하고 1바이트마다 답신을 받게 된다.
읽기/쓰기는 마스터 집적회로가 슬레이브 집적회로에게 데이터를 전송하기 위한 것인지, 데이터를 전송받기 위한 것인지, 슬레이브 집적회로가 판별할 수 있게 해주는 신호이다.
응답확인(Ack)는 슬레이브 집적회로가 정상 수신할 때 반송하는 신호이다.
도 8을 참조하면, 시작 조건 발생후 각각 8비트씩 데이터를 전송한다. 이때 슬레이브 집적회로는 SDA를 L로 설정하여 확인 신호를 반환하고, 제어 집적회로(도 1의 100)은 슬레이브 집적회로로부터 L로 설정된 SDA를 수신하여 응답확인을 수행한다.
종료 조건은 클락이 종료하여 SCL이 하이(1)가 되었을 때에, SDA를 하이(1)로 변화시키면 거기서 종료한다는 의미가 되므로, 계속 그 상태를 유지하게 된다.
도 9는 본 발명의 일 실시예에 따른 제2 통신 프로토콜에 따른 데이터 프레임의 쓰기 프로토콜 및 패리티 데이터를 설명하기 위한 도면이다.
도 9의 (a)를 참조하면, 1 바이트 데이터 쓰기는 1 바이트 주소, 1 바이트 명령 및 1 바이트 패리티 데이터가 필요하다. 여기서 패리티 데이터는 데이터 손실을 검출하기 위한 것이다. 패리티 데이터는 종료 비트 바로 앞에 올 수 있다.
톤(tone) 데이터 쓰기는 1 바이트 주소, 1 바이트 명령, 3 바이트 쓰기 데이터 및 1 바이트 패리티 데이터가 필요하다.
그리고 SRAM 데이터 쓰기는 1 바이트 주소, 1 바이트 명령, 2 바이트 쓰기 데이터 및 1 바이트 패리티 데이터가 필요하다.
도 9의 (b)를 참조하면, 패리티 데이터는 각 커멘드 비트의 순서대로 위치하며 비트에 포함된 1을 카운트하여 생성한다. 각 비트의 “1”이 홀수 이면 1, “1”이 짝수이면 0으로 한다.
도 9의 (c)는 패리티 데이터의 일 예이다. 각 비트의 커멘드가 00100100이면 패리티 데이터는 00100100이된다.
도 10은 본 발명의 다른 실시예에 따른 제2 통신 프로토콜에 따른 데이터 프레임의 쓰기 프로토콜 및 패리티 데이터를 설명하기 위한 도면이다.
도 10의 (a)를 참조하면 4 바이트 데이터 쓰기에 관한 것으로 마스터 집적회로가 슬레이브 집적회로에게 데이터를 전송하고 각 패킷 마다 슬레이브 집적회로로부터 응답확인(A)을 반환받고 있음을 알 수 있다.
도 10의 (b)를 참조하면, 패리티 데이터는 각 커멘드 비트의 순서대로 위치하며 비트에 포함된 1을 카운트하여 생성한다. 각 비트의 “1”이 홀수 이면 1, “1”이 짝수이면 0으로 한다. 대상 데이터를 포함하는 쓰기 데이터 패킷이 복수개인 경우, 각 8자리의 위치에 대응하는 비트에 포함된 1을 카운트함으로써 각 자리 위치에 대응하는 패리티 비트가 생성된다.
도 10의 (c)는 패리티 데이터의 일 예이다. 각 비트의 커멘드가 01111010이고, 제1 쓰기 데이터 패킷의 데이터가 10000110이고, 제2 쓰기 데이터 패킷의 데이터가 00000110이고, 제3 쓰기 데이터가 00000110이고, 제4 쓰기 데이터가 10000011이면, 첫번째 자리의 1은 2개로 짝수이므로 첫번째 패리티 데이터 비트는 0이되고, 두번째 자리의 1은 1개로 홀수이므로 두번째 패리티 데이터 비트는 1이되고, 세번째 자리의 1은 1개로 홀수이므로 세번째 패리티 데이터 비트는 1이되고, 네번째 자리의 1은 1개로 홀수이므로 네번째 패리티 데이터 비트는 1이되고, 다섯번째 자리의 1은 1개로 홀수이므로 다섯번째 패리티 데이터 비트는 1이되고, 여섯번째 자리의 1은 2개로 짝수이므로 여섯번째 패리티 데이터 비트는 0이되고, 일곱번째 자리의 1은 5개로 홀수이므로 다섯번째 패리티 데이터 비트는 5가되고, 여덟번째 자리의 1은 1개로 홀수이므로 여덟번째 패리티 데이터 비트는 1이된다. 따라서, 패리티 데이터는 01111011이 된다.
도 11은 본 발명의 다른 실시예에 따른 제어 집적회로의 개략적인 구성을 설명하는 블럭도이고, 도 12는 본 발명의 일 실시예에 따른 각 비트를 샘플링하는 방법을 나타내는 도면이고 도 13은 본 발명의 다른 실시예에 따른 각 비트를 샘플링하는 방법을 나타내는 도면이다.
도 11에 도시한 바와 같이, 제어 집적회로(200)는 제1 통신 인터페이스부(210), 디코딩부(220), 제어부(230) 및 제2 통신 인터페이스부(240), 오실레이터(250), 타이밍 생성부(260) 및 저장부(270)를 포함할 수 있다. 디코딩부(220)는 도 2의 디코딩부(120)에 대응하고, 제2 통신 인터페이스부(240)는 도 1의 제2 통신 인터페이스부(140)에 대응하므로, 상세한 설명은 생략한다.
제1 통신 인터페이스부(210)는 제1 통신 프로토콜에 따른 데이터 통신을 위한 인터페이스이다.
제1 통신 인터페이스부(210)는 입출력부(211), 에지감지부(212), 버퍼(213), 펄스폭 카운터(214), 비교 및 샘플링부(215) 및 데이터 출력부(216)를 포함할 수 있다. 입출력부(211)는 마스터 집적회로와 데이터 신호를 송수신하는 기능을 수행한다. 에지감지부(212)는 마스터 집적회로로부터 전달되는 데이터 신호의 각 펄스 들의 에지를 감지하는 기능을 수행한다. 이를 위해, 타이밍 생성부(260)로부터 타이밍 정보를 수신할 수 있다. 이때, 타이밍 생성부(260)는 오실레이터(250)가 제공하는 클록(clock) 정보를 참조하여 상기 타이밍 정보를 생성할 수 있다. 에지감지부(212)는 에지 감지 동작을 위하여 버퍼(213)를 제공할 수 있다. 펄스폭 카운터(214)는 데이터 신호의 각 펄스 폭을 계산하는 기능을 수행한다. 앞서의 실시예들에서 설명한 것과 같이, 상기 계산된 펄스 폭을 기반으로 데이터 신호의 전송 속도를 산출 등 다양한 기능을 수행할 수 있다. 여기서 오실레이터(250)는 제2 통신 인터페이스부(240)와 공유되어 사용될 수 있다. 제2 통신 인터페이스부(240)는 제1 통신 인터페이스부(210)에서 산출된 전송 속도에 기초하여 오실레이터(250)로부터 생성되는 클록 신호를 제어하여 제2 라인(SCL)을 통해 전송함으로써, 슬레이브 집적회로로의 전송 속도를 제어할 수 있다.
비교 및 샘플링부(215)는 데이터 신호의 각 펄스의 비트 값을 샘플링하는 기능을 수행한다. 데이터 출력부(216)는 입출력부(211)를 통해 마스터 집적회로로 출력될 데이터를 수집, 가공 및 편집하는 기능을 수행한다.
본 발명의 일 실시예에서는, 샘플링 시점의 미세한 오차에 따른 읽기 오류를 방지하기 위해 각 비트를 샘플링 할 때 각 펄스의 엣지(edge) 부근이 아닌 중간 지점에서 샘플링한다.
예를 들어, 각 비트를 엣지 부근에서 샘플링하는 경우, IC나 오실레이터(oscillator)의 미세한 오차에 의해 샘플링 시점이 다소 어긋나게 될 수 있다.
가령, 시작 비트(21) 이후의 첫번째 비트(Bit 0)를 샘플링한다고 가정한다. 이때, 그 엣지 부근에서 샘플링 하도록 설계를 하면 미세한 오차에 의해 샘플링이 조금 빠르게 진행되는 경우, 첫번째 비트 값을 샘플링 하지 않고 그 이전의 시작 비트(21) 값을 샘플링하는 읽기 오류가 발생할 수 있다.
그에 반해, 본 실시예와 같이 각 펄스의 중간 지점에서 샘플링하도록 설계를 하면 미세한 오차에 의해 샘플링이 조금 빠르게 진행되거나 늦게 진행되어도, 여전히 첫번째 비트 값을 샘플링하게 되므로 앞서와 같은 읽기 오류를 피할 수 있게 된다. 또한, 신호의 전송 속도를 나타내는 영역을 반복적으로 포함시킴으로써, 데이터가 매우 긴 경우에도 오차의 누적을 방지할 수 있다. 제어 집적회로는 송 속도를 나타내는 영역이 반복되더라도 반복적으로 될 때마다 전송 속도를 확인한다.
본 실시예는, 이처럼 데이터 신호의 길이가 매우 긴 경우에도 샘플링 오차가 최소화되도록 관리함으로써, 물리적으로 다소의 오차가 발생하더라도 읽기 오류는 발생하지 않는 방법을 제안한다. 이하, 도 12를 참조하여 구체적인 설명을 이어간다.
도 12를 참조하면, 세 개의 신호를 포함하는 신호 시퀀스로 구성된 데이터 신호가 도시된다. 이때, 각 신호는 앞서의 실시예들과 유사하게 각각에 포함된 시작 비트(21)와 종료 비트(22)로서 서로 구분된다.
다만, 도 12의 실시예에서는, 각 신호마다 데이터 신호의 전송 속도를 나타내는 영역(31a, 32a, 33a)을 포함하고 있는 것을 특징으로 한다.
전송 속도를 나타내는 영역(31a, 32a, 33a)이 전송 속도를 표시하는 방법은 전술하여 설명한 바와 같이, 시작 비트와 그 인접 비트의 값이 서로 다르게 구성하고, 시작 비트와 인접 비트 사이의 펄스 폭 시간을 계산함으로써 데이터 신호의 전송 속도를 산출한다. 다만, 본 실시예에서는, 첫 번째 신호(31)뿐 아니라 두 번째 신호(32) 및 세 번째 신호(33)에도 전송 속도를 나타내는 영역(31a, 32a, 33a)을 포함시킴으로써, 데이터 신호를 수신하는 IC가 데이터 신호의 전송 속도를 반복적으로 수신하고 그에 따라 샘플링 시점을 반복적으로 리프레쉬하도록 한다.
즉, 데이터 신호의 첫 번째 신호(31)에만 전송 속도 정보를 포함하는 경우, 데이터 수신하는 IC는 읽어낸 전송 속도 정보에 따라 샘플링 시점을 결정하고, 결정된 샘플링 시점에 기반하여 각 펄스를 샘플링하게 된다. 이 경우, 이후 샘플링 시점의 오차가 발생하여도 이를 바로잡을 방법이 없어, 데이터 신호가 길어지면 미세한 샘플링 시점의 오차가 누적되어 나중에는 읽기 오류가 발생하는 문제가 발생한다.
반면에, 도 13을 참조하여 본 발명의 다른 실시예에 따르면, 데이터 신호를 수신하는 IC는 두번째 신호(32)를 수신할 때 그 전송 속도를 나타내는 영역(32a)에 따라 다시 샘플링 시점을 결정하므로, 첫 번째 신호(31)를 읽는 과정에서 발생한 샘플링 오차들이 리셋(reset)되는 효과를 갖게 된다. 유사하게, 세 번째 신호(33)를 수신할 때도, 전송 속도를 나타내는 영역(33a)에 따라 다시 샘플링 시점을 결정하므로, 두 번째 신호(32)를 읽는 과정에서 발생한 샘플링 오차들이 리셋(reset)된다.
즉, 본 실시예에 따르면, 데이터 신호(30)가 전송 속도를 나타내는 영역(31a, 32a, 33a)을 반복적으로 포함하도록 함으로써, 주기적으로 샘플링 시점을 리프레쉬할 수 있으므로, 리프레쉬 시점을 기준으로 앞서의 누적된 샘플링 오차들을 리셋하는 효과를 가지게 된다. 따라서, 데이터 신호(30)의 길이가 길어져도 샘플링 오차가 일정이상 누적되지 않고, 물리적으로 다소의 오차가 발생하더라도 결과적으로 읽기 오류는 발생하지 않게 된다.
다시 도 11으로 되돌아와서, 제어부(230)는 디코딩부(220)에 의해 디코딩된 데이터 신호를 제2 통신 인터페이스부(240)를 통해 연결된 하나 이상의 슬레이브 집적회로에 출력하도록 제어한다.
제어부(230)는 수신된 제1 통신 프로토콜에 따른 데이터 프레임을 제2 통신 프로토콜에 따른 데이터 프레임에 대응시킴으로써 데이터 변환을 하게 된다. 예를 들어, 제어부(230)는 제1 통신 프로토콜에 따른 데이터 신호 및 제2 통신 프로토콜에 따른 데이터 프레임을 갖는 데이터 신호를 읽거나 쓸 수 있다.
제2 통신 인터페이스부(240)는 제2 통신 프로토콜에 따른 데이터 통신을 위한 인터페이스로서, 슬레이브 집적회로로 출력될 데이터를 수집, 가공 및 편집하는 기능을 수행한다.
저장부(270)는 제1 통신 인터페이스부(210) 또는 제2 통신 인터페이스부(210)를 통해 수신되는 데이터 신호 및 제어부(230)에 변환된 데이터 신호를 일시 또는 비일시적으로 저장할 수 있다. 예를 들어, 저장부(250)는 제어 레지스터를 포함할 수 있다.
표 1 내지 표 3은 본 발명의 일 실시예에 따른 제어 레지스터의 일 예를 나타낸다.
[표 1]
[표 2]
[표 3]
제어부(230)는 제어 레지스터에 저장되지 않은 데이터를 무시할 수 있다.
도 14는 본 발명의 일 실시예에 따른 제어 집적회로의 하드웨어 구성을 예시한 도면이다.
도 14를 참조하면, 제어 집적회로(100)는 핀을 제외한 폭(가로길이)은 3.91mm이고, 핀을 포함한 폭은 5.99mm이며, 세로 길이는 5.0mm이며, 16개의 핀을 포함할 수 있다. 여기서 가로 및 세로의 폭은 일 예로서, 이에 한정되는 것은 아니다.
핀 1의 핀 이름은 VDD이고 입력타입이며, 전원공급장치의 출력핀이다. VDD는 4.5~5.5V 일 수 있다.
핀 2의 핀 이름은 SDIO이고 입력/출력타입이며, 마스터 집적장치와 연결된다.
핀 3-7의 핀 이름은 각각 R04/ADC4 ~R01/ADC0이고 입력/출력타입이며, 일반적인 입출력 핀이다.
핀 8의 핀 이름은 GND이고, 그라운드 핀이다. GND는 0V일 수 있다.
핀 9~11의 핀 이름은 각각 R10~R12이고, 입력/출력타입이며, 일반적인 입출력 핀이다.
핀 12의 핀 이름은 R13/SCK이고, 입력/출력타입이며, 일반적인 입출력 핀이며 슬레이브 집적회로의 12C 클록 핀이다.
핀 13의 핀 이름은 R14/SDA이고, 입력/출력타입이며, 일반적인 입출력 핀이며 슬레이브 집적회로의 12C 데이터 핀이다.
핀 14의 핀 이름은 SEL0이고, 입력타입이며 칩 어드레스 핀이다.
핀 15의 핀 이름은 SEL1이고, 입력타입이며 칩 어드레스 핀이다.
핀 16의 핀 이름은 VIN이고, 입력타입이며 전원공급장치의 입력핀이다.
지금까지 도 1 내지 도 14를 참조하여 본 개시의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
또한, 이상에서 설명된 본 개시의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 사람이라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10 : 마스터 집적회로
100 : 제어 집적회로
20 : 슬레이브 집적회로
30 : 슬레이브 집적회로
40 : 슬레이브 집적회로
100 : 제어 집적회로
20 : 슬레이브 집적회로
30 : 슬레이브 집적회로
40 : 슬레이브 집적회로
Claims (10)
- 마스터 집적회로로부터 하나의 신호선을 통해 데이터 신호를 수신하는 제1 인터페이스부;
하나 이상의 슬레이브 집적회로로부터 2개의 신호선을 통해 데이터 신호 및 클럭 신호를 전송하는 제2 인터페이스부; 및
상기 제1 인터페이스부로부터 수신받은 데이터 신호를 디코딩하는 디코딩부; 및
상기 디코딩된 데이터 신호를 제2 통신 프로토콜에 따른 데이터 신호로 변환하여 상기 제2 인터페이스부로 출력하는 제어부
를 포함하고,
상기 마스터 집적회로부터 수신받은 데이터 신호는,
서로 구분되는 복수개의 패킷을 포함하고,
상기 복수의 패킷은,
상기 데이터 신호의 전송 속도를 나타내는 영역을 포함하고,
상기 제1 인터페이스부는
상기 복수의 패킷 중 상기 데이터 신호의 전송 속도를 나타내는 영역을 포함하는 패킷의 시작 비트와 상기 시작 비트에 인접한 비트 사이의 펄스 폭 시간(Pulse Width Time)에 기초하여 데이터 신호의 전송 속도를 계산하고,
상기 2개의 신호선은 제1 라인과 제2 라인을 포함하고,
상기 제2 인터페이스부는 제2 통신 프로토콜에 따라 변환된 데이터 신호를 상기 제1 라인을 통해 송신하고, 상기 전송 속도에 기초하여 생성된 클럭 신호를 상기 제2 라인으로 송신하는 것을 특징으로 하는 제어 집적회로.
- 삭제
- 제1항에 있어서,
상기 복수의 패킷은,
상기 데이터 신호의 전송 속도를 나타내는 전송 속도 영역을 반복적으로 포함하고,
상기 제1 인터페이스부는 반복적으로 포함된 전송 속도 영역으로부터 반복적으로 전송 속도를 확인하는 것을 특징으로 하는 제어 집적회로.
- 제1항에 있어서,
상기 제1 인터페이스부는 제1 데이터 신호가 수신되면 상기 제1 데이터 신호의 제1 패킷, 제2 패킷, 제3 패킷에 포함된 시작비트를 판독하여 각 신호의 시작을 확인하고, 시작비트 이후의 정보 영역의 비트로부터 각각 타겟 집적회로의 정보, 타겟 레지스터의 정보, 상기 타겟 집적회로에 제공할 대상 데이터를 확인하고, 정보 영역 이후의 종료비트를 판독하여 각 패킷의 종료를 확인하는 것을 특징으로 하는 제어 집적회로.
- 제4항에 있어서,
상기 제1 인터페이스부는 데이터 신호를 수신할 때, 상기 정보 영역의 일부 비트에 의해 나타내어지는 상기 데이터 신호의 전송 속도에 기반하여, 상기 데이터 신호의 비트들을 샘플링하기 위한 샘플링 시점을 결정하는 것을 특징으로 하는 제어 집적회로.
- 제1항에 있어서,
상기 복수개의 패킷 중 제1 패킷 및 제2 패킷은 상기 데이터 신호의 전송 속도를 나타내는 영역을 포함하고,
상기 복수개의 패킷 중 제3 패킷은 상기 데이터 신호의 전송 속도를 나타내는 영역을 포함하지 않는 것을 특징으로 하는 제어 집적회로.
- 제1항에 있어서,
상기 제1 인터페이스부는 신호의 제3 패킷에 포함된 종료비트를 판독하여 판독되는 종료비트의 수에 따라 데이터 통신이 해제 또는 타겟 집적회로의 변경 중 어느 하나를 판단하는 것을 특징으로 하는 제어 집적회로.
- 하나의 신호선을 통해 데이터 신호를 전송하는 마스터 집적회로;
상기 마스터 집적회로로부터 하나의 신호선을 통해 데이터 신호를 수신하는 제1 인터페이스부;
I2C 통신 프로토콜에 따라 2개의 신호선을 통해 데이터 신호를 전송하는 하나 이상의 슬레이브 집적회로; 및
상기 마스터 집적회로부터 데이터 신호를 수신받아 제2 통신 프로토콜에 따른 데이터 신호로 변환하여 하나 이상의 슬레이브 IC에 출력하는 제어 집적회로
를 포함하고,
상기 마스터 집적회로부터 수신받은 데이터 신호는,
서로 구분되는 복수개의 패킷을 포함하고,
상기 복수의 패킷은,
상기 데이터 신호의 전송 속도를 나타내는 영역을 포함하고,
상기 제어 집적회로는 상기 복수의 패킷 중 상기 데이터 신호의 전송 속도를 나타내는 영역을 포함하는 패킷의 시작 비트와 상기 시작 비트에 인접한 비트 사이의 펄스 폭 시간(Pulse Width Time)에 기초하여 데이터 신호의 전송 속도를 계산하고,
상기 2개의 신호선은 제1 라인과 제2 라인을 포함하고,
상기 제어 집적회로는 상기 제2 통신 프로토콜에 따라 변환된 데이터 신호를 상기 제1 라인을 통해 송신하고, 상기 전송 속도에 기초하여 생성된 클럭 신호를 상기 제2 라인으로 송신하는 것을 특징으로 하는 시스템 제어 장치.
- 삭제
- 제8항에 있어서,
상기 제1 인터페이스부는 데이터 신호를 수신할 때, 정보 영역의 일부 비트에 의해 나타내어지는 상기 데이터 신호의 전송 속도에 기반하여, 상기 데이터 신호의 비트들을 샘플링하기 위한 샘플링 시점을 결정하는 것을 특징으로 하는 시스템 제어 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200114014A KR102414408B1 (ko) | 2020-09-07 | 2020-09-07 | 이종의 직렬통신 프로토콜을 위한 제어 집적회로 및 이를 포함하는 시스템 제어 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200114014A KR102414408B1 (ko) | 2020-09-07 | 2020-09-07 | 이종의 직렬통신 프로토콜을 위한 제어 집적회로 및 이를 포함하는 시스템 제어 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220032350A KR20220032350A (ko) | 2022-03-15 |
KR102414408B1 true KR102414408B1 (ko) | 2022-06-30 |
Family
ID=80816885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200114014A KR102414408B1 (ko) | 2020-09-07 | 2020-09-07 | 이종의 직렬통신 프로토콜을 위한 제어 집적회로 및 이를 포함하는 시스템 제어 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102414408B1 (ko) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100806860B1 (ko) * | 2005-05-13 | 2008-02-22 | 삼성전자주식회사 | Ranging 시스템 및 그 방법 |
KR102328014B1 (ko) * | 2015-08-24 | 2021-11-18 | 삼성전자주식회사 | 싱글 와이어 인터페이스를 포함하는 장치와 이를 포함하는 데이터 처리 시스템 |
KR20190091929A (ko) * | 2018-01-30 | 2019-08-07 | 엘에스산전 주식회사 | Uart 통신속도 자동 전환 방법 |
-
2020
- 2020-09-07 KR KR1020200114014A patent/KR102414408B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20220032350A (ko) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104811273B (zh) | 一种高速单总线通信的实现方法 | |
US10108578B2 (en) | Single wire communications interface and protocol | |
EP1825382B1 (en) | Low protocol, high speed serial transfer for intra-board or inter-board data communication | |
JP6517243B2 (ja) | リンクレイヤ/物理レイヤ(phy)シリアルインターフェース | |
TWI590061B (zh) | 內部整合電路資料通訊系統中的位址變換 | |
US8762763B2 (en) | Single-wire transmission interface and method of transmission through single-wire | |
TW201303604A (zh) | 用於在雙線協定匯流排的環境中操作單線協定從屬端之系統與方法 | |
US11630796B2 (en) | Serial peripheral interface (SPI) automatic register address incrementation across data frames | |
US6170027B1 (en) | LPC/ISA bridge and its bridging method | |
US6640312B1 (en) | System and method for handling device retry requests on a communication medium | |
US10977206B2 (en) | Data communication device and method for data communication | |
KR102414408B1 (ko) | 이종의 직렬통신 프로토콜을 위한 제어 집적회로 및 이를 포함하는 시스템 제어 장치 | |
EP0564118B1 (en) | Serial data transfer apparatus | |
KR20060130664A (ko) | Pci 익스프레스 장치, pci 익스프레스 시스템 및정보 통신 방법 | |
JP3814470B2 (ja) | データ転送方法及びデータ転送装置 | |
US7561455B2 (en) | Memory system using single wavelength optical transmission | |
US11169947B2 (en) | Data transmission system capable of transmitting a great amount of data | |
US7103701B2 (en) | Memory bus interface | |
KR102174456B1 (ko) | 직렬 통신 인터페이스에서의 동기화 장치 및 방법 | |
US6598111B1 (en) | Backplane physical layer controller | |
US20040246997A1 (en) | Asynchronous receiver of the UART-type with two operating modes | |
CN111522387B (zh) | 电压同步控制电路及包含其的电压读取控制*** | |
US7502388B2 (en) | Hot synchronization device of an asynchronous frame receiver | |
JP4931727B2 (ja) | データ通信システム | |
JP3887059B2 (ja) | データ書き込み方法、データ読み出し方法、及びメモリ回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |