KR101222107B1 - I2c 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치 및 그 방법 - Google Patents
I2c 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치 및 그 방법 Download PDFInfo
- Publication number
- KR101222107B1 KR101222107B1 KR1020100125686A KR20100125686A KR101222107B1 KR 101222107 B1 KR101222107 B1 KR 101222107B1 KR 1020100125686 A KR1020100125686 A KR 1020100125686A KR 20100125686 A KR20100125686 A KR 20100125686A KR 101222107 B1 KR101222107 B1 KR 101222107B1
- Authority
- KR
- South Korea
- Prior art keywords
- bus
- master
- slave
- switch
- serial clock
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
본 발명은 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치에 관한 것으로서, 직렬 클럭 버스 스위칭을 통해 마스터와 동일 장치 주소를 가지는 슬레이브들 사이의 멀티플렉싱이 가능하도록 함과 아울러 직렬 클럭 버스 스위칭을 통해 마스터와 동일 장치 주소를 가지는 슬레이브들 사이의 멀티플렉싱이 이루어지도록 함으로써 이를 위한 장치의 회로 구성을 좀더 단순화시킬 수 있는 효과를 갖는다.
Description
본 발명은 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치 및 그 방법에 관한 것으로서, 직렬 클럭 버스의 스위칭을 통해 마스터와 동일 장치 주소를 가지는 슬레이브들 사이의 멀티플렉싱이 가능하도록 함과 아울러 멀티플렉싱을 위한 회로 구성을 좀더 단순화시킬 수 있는 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치 및 그 방법에 관한 것이다.
주변장치 및 개인용 컴퓨터에 접속되어 데이터를 송수신하는 외부 인터페이스들이 사용되어 왔다. 이러한 외부 인터페이스들로는 USB(Universal Serial Bus), I2C 버스(Inter-IC bus), SPI(Serial Peripheral Interface), UART(Universal Asynchronous Receiver/Transmitter) 등이 있다.
이들 중, 상기한 I2C 버스는 직렬 컴퓨터 버스를 의미하며, 마스터와 이에 복수의 장치 주소를 가지고 연결된 슬레이브들이 서로 I2C 버스 프로토콜을 기반으로 직접 통신이 이루어지도록 하는 것이다.
이처럼, I2C 버스 프로토콜은 풀업 저항이 연결된 직렬 데이터(SDA)와 직렬 클럭(SCL)이라는 두 개의 양 방향 오픈 컬렉터 회선을 사용한다.
그러나 I2C 버스 프로토콜을 기반으로 하는 직렬 통신 시스템의 경우 연결된 복수의 슬레이브들에 대해 할당할 수 있는 장치 주소가 제한되기 때문에, 동일 기기 주소를 가지는 슬레이브들을 인터페이스하기 위한 멀티플레싱 장치가 사용되어 왔다.
종래 I2C 버스 프로토콜 기반의 멀티플렉싱 장치는 고유의 기기 주소와 컨트롤 레지스터를 가진 I2C 버스 컨트롤러, 직렬 데이터 버스와 직렬 클럭 버스 각각에 대응하는 복수의 스위치를 필요로 하며, 마스터와 슬레이브들 사이의 직렬 데이터 버스, 직렬 클럭 버스가 모두 일대일로 연결함으로써 그 기능을 구현하였다.
그러나, 종래 I2C 버스 프로토콜 기반의 멀티플렉싱 장치는 I2C 버스가 추가될 때 마다 멀티플렉싱을 위해 직렬 데이터 버스와 직렬 클럭 버스에 대응하는 스위치를 추가로 필요하게 되며, 마스터와 슬레이브들 사이의 직렬 데이터 버스, 직렬 클럭 버스를 모두 일대일로 연결함에 따라 회로 구성이 복잡해지는 단점을 갖는다.
상기한 문제점을 해결하기 위한 본 발명의 목적은, I2C 버스 프로토콜의 직렬 데이터 버스를 통해 전송되는 데이터가 직렬 클럭 버스의 상태에 따라 그 의미를 가지게 됨으로써 직렬 클럭 버스 스위칭 만을 통해 마스터와 동일 장치 주소를 가지는 슬레이브들 사이의 멀티플렉싱이 가능하도록 함과 아울러 멀티플렉싱을 위한 회로 구성을 좀더 단순화시킬 수 있는 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치 및 그 방법을 제공하는 것이다.
상기의 목적을 달성하기 위한 본 발명의 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치는, 마스터; 같은 장치 주소를 가지며, 직렬 데이터 버스가 상기 마스터에 직접 연결되고, 직렬 클럭 버스가 스위치를 통해 절환되며 상기 마스터와 연결되는 복수의 슬레이브; 및 상기 마스터로부터 상기 직렬 데이터 버스를 통해 데이터를 수신하기 위한 하나의 상기 슬레이브의 위치를 지정하는 스위치 컨트롤 데이터에 따라 상기 스위치를 절환시켜 상기 마스터와 지정된 상기 슬레이브의 상기 직렬 클럭 버스를 연결하는 I2C 버스 컨트롤러;를 포함하여 구성되는 것을 특징으로 한다.
여기서, 상기 I2C 버스 컨트롤러는 상기 마스터와 연결되며 상기 스위치 컨트롤 데이터를 수신하는 I2C 버스 송수신부; 및 상기 I2C 버스 송수신부를 통해 수신된 상기 스위치 컨트롤 데이터를 저장함과 아울러 상기 스위치 컨트롤 데이터에 따라 상기 스위치를 절환시키도록 연결되는 컨트롤 레지스터;를 포함하는 것이 바람직하다.
상기의 목적을 달성하기 위한 본 발명의 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 방법은, 상기 마스터가 데이터 전송 시작을 알리는 시작 신호를 I2C 버스 상에 송신하는 시작 신호 송신 단계; 상기 마스터가 상기 I2C 버스 컨트롤의 장치 주소와 함께 쓰기 명령을 I2C 버스 상에 송신하는 장치 주소 및 명령 송신 단계; 상기 I2C 버스 컨트롤러의 정상 수신 상태 신호를 I2C 버스 상에 송신하는 제1 수신 상태 신호 송신 단계; 상기 마스터가 상기 슬레이브들 중에서 지정한 하나의 상기 슬레이브에 접근하기 위한 스위치 컨트롤 데이터를 I2C 버스 상에 송신하는 스위치 컨트롤 데이터 송신 단계; 상기 스위치 컨트롤 데이터의 정상 수신 상태 신호를 I2C 버스 상에 송신하는 제2 수신 상태 신호 송신 단계; 상기 스위치 컨트롤 데이터에 따라 상기 스위치를 절환시켜 상기 마스터와 지정된 상기 슬레이브의 상기 직렬 클럭 버스를 연결하는 스위치 절환 단계; 및 상기 마스터가 상기 스위치 컨트롤 데이터 전송 완료 신호를 I2C 버스 상에 송신하는 완료 신호송신 단계;를 포함하는 것을 특징으로 한다.
또한, 상기 스위치 컨트롤 데이터의 확장을 통해 초과 할당된 슬레이브들이 상기 스위치 절환 단계를 거쳐 지정할 수 있다.
상기한 본 발명의 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치에 따르면, 직렬 클럭 버스 스위칭을 통해 마스터와 동일 장치 주소를 가지 슬레이브들 사이의 멀티플렉싱이 가능하도록 하는 효과를 갖는다.
본 발명의 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치에 따르면, 직렬 클럭 버스 스위칭을 통해 마스터와 동일 장치 주소를 가지는 슬레이브들 사이의 멀티플렉싱이 이루어지도록 함으로써 이를 위한 회로 구성을 좀더 단순화시킬 수 있는 효과를 갖는다.
도 1은 본 발명의 일실시예에 따른 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치를 도시한 블록 다이어그램이다.
도 2는 도 1의 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치를 이용한 쓰기 동작에 대한 멀티 플렉싱 과정을 도시한 플로우 차트이다.
도 3은 도 1의 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치의 쓰기 동작에 대한 기본적인 I2C 버스 프로토콜의 프레임 구조이다.
도 4는 본 발명의 일실시예에 따른 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치의 쓰기 동작에 따른 I2C 버스 프로토콜의 프레임 구조을 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치의 슬레이브 확장 과정을 도시한 I2C 버스 프로토콜의 프레임 구조를 도시한 도면이다.
도 2는 도 1의 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치를 이용한 쓰기 동작에 대한 멀티 플렉싱 과정을 도시한 플로우 차트이다.
도 3은 도 1의 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치의 쓰기 동작에 대한 기본적인 I2C 버스 프로토콜의 프레임 구조이다.
도 4는 본 발명의 일실시예에 따른 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치의 쓰기 동작에 따른 I2C 버스 프로토콜의 프레임 구조을 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치의 슬레이브 확장 과정을 도시한 I2C 버스 프로토콜의 프레임 구조를 도시한 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조부호를 붙였다.
도 1은 본 발명의 일실시예에 따른 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치를 도시한 블록 다이어그램이다.
도 1을 참조하여 설명하면, 본 실시예의 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치(1)는 마스터(10), 슬레이브들(Slave B-n; 40), 스위치(50) 및 I2C 버스 컨트롤러(60)를 포함하여 구성된다.
미스터(10)와 같은 장치 주소를 가지는 복수의 슬레이브들(Slave B-n; 40)은 I2C 버스 프로토콜 기반으로 직렬 데이터(SDA; 20)와 직렬 클럭(SCL; 30)이라는 두 개의 양 방향 오픈 컬렉터 회선을 통해 슬레이브(Slave B-n; 40) 지정 및 지정된 슬레이브(Slave B-n; 40)로의 데이터 전송이 이루어지도록 구성된다.
여기서, 복수의 슬레이브들(Slave B-n; 40)은 같은 장치 주소를 가지며, 직렬 데이터 버스(SDA; 20)가 상기 마스터(10)에 직접 연결됨과 아울러 직렬 클럭 버스(SCL; 30)가 상기한 스위치(50)를 통해 서로 절환되며 상기 마스터(10)와 연결된다.
본 실시예에서 슬레이브들(Slave B-n: 40)은 제1 슬레이브(Slave B-1; 41), 제2 슬레이브(Slave B-2; 42), 제3 슬레이브(Slave B-3; 43) 및 제4 슬레이브(Slave B-4; 44)로 이루어지는 것을 예시한다. 그러나 본 발명이 이에 한정되는 것을 아니며 4개 이상 더 많은 수로 구성될 수 있음은 당연하다.
따라서, 직렬 데이터 버스(SDA; 20)는 마스터(10)와 I2C 버스 컨트롤러(Slave A)를 연결하는 제1 직렬 데이터 버스 회선(21)과, 제1 직렬 데이터 버스 회선(21)으로부터 분지되어 제1 슬레이브(Slave B-1: 41)를 직접 연결하는 제2 직렬 데이터 버스 회선(SD1; 22), 제1 직렬 데이터 버스 회선(21)으로부터 분지되어 제2 슬레이브(Slave B-2: 42)를 직접 연결하는 제3 직렬 데이터 버스 회선(SD2; 23), 제1 직렬 데이터 버스 회선(21)으로부터 분지되어 제3 슬레이브(Slave B-3; 43)를 연결하는 제4 직렬 데이터 버스 회선(SD3; 24) 및 제1 직렬 클럭 버스 회선(21)으로부터 분지되어 제4 슬레이브(Slave B-4; 44)를 결하는 제5 직렬 데이터 버스 회선(SD4; 25)으로 이루어진다.
그리고, 직렬 클럭 버스(SCL; 30)는 마스터(10)와 I2C 버스 컨트롤러(60)를 연결하는 제1 직렬 클럭 버스 회선(31), 제1 직렬 클럭 버스 회선(31)로부터 분지되어 스위치(50)를 연결하는 제2 직렬 클럭 버스 회선(32), 스위치(50)와 제1 슬레이브(Slave B-1)를 직렬로 연결하는 제3 직렬 클릭 버스 회선(SC1; 33), 스위치(50)와 제2 슬레이브(Slave B-2)를 직렬로 연결하는 제4 직렬 클럭 버스 회로(SC2; 34), 스위치(50)와 제3 슬레이브(Slave B-3)를 직렬로 연결하는 제5 직렬 클럭 버스 회선(SC3; 35) 및 스위치(50)와 제4 슬레이브(Slave B-4)를 직렬로 연결하는 제6 직렬 클럭 버스 회선(SC4; 36)으로 이루어진다.
스위치(50)는 일측이 제2 직렬 클럭 버스 회선(32)를 통해 마스터(10)에 연결되고, 타 일측이 제1 내지 제4 슬레이브(Slave B-1 ~ B-4)를 연결하는 제3 내지 제6 직렬 클럭 버스 회선(33, 34, 35, 36)이 각각 연결되어, 마스터(10)와 동일 장치 주소를 갖는 제1 내지 제4 슬레이브들(Slave B-1 ~ B-4)중 어느 하나의 지정 슬레이브(일례로, Slave B-1)가 직렬 클럭 버스(SCL; 30)를 통해 연결되도록 절환시키는 역할을 수행한다.
그리고, I2C 버스 컨트롤러(Slave A; 60)는 상기 마스터(10)로부터 상기 직렬 데이터 버스(SDA: 20)를 통해 데이터를 수신하기 위한 하나의 상기 슬레이브(일례로, Slave B-1)의 위치를 지정하는 스위치 컨트롤 데이터에 따라 상기 스위치(50)를 절환시켜 상기 마스터(10)와 지정된 상기 슬레이브(일례로, Slave B-1)의 상기 직렬 클럭 버스(일례로, 32와 33)가 연결하도록 구성된다.
여기서, I2C 버스 컨트롤러(60)는 상기한 복수의 슬레이브들(Slave B-n; 41~44)을 대표하는 독립된 장치 주소를 가지는 하나의 슬레이브(Slave A; 60)로 명시한다.
본 실시예에서 I2C 버스 컨트롤러(60)는 I2C 버스 송수신부(61) 및 컨트롤 레지스터(62)를 포함하여 구성된다.
I2C 버스 송수신부(61)는 제1 직렬 클럭 버스 회선 및 제1 직렬 데이터 버스 회선을 통해 마스터(10)와 직렬 연결되어 상기한 스위치 컨트롤 데이터를 수신하도록 한다.
그리고, 컨트롤 레지스터(62)는 상기 I2C 버스 송수신부(61)를 통해 수신된 상기 스위치 컨트롤 데이터를 저장함과 아울러 상기 스위치 컨트롤 데이터에 따라 상기 스위치(50)를 절환시키도록 스위치(50)와 제6 직렬 데이터 버스 회선(37)을 통해 연결된다.
이하, I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치(1)를 이용한 쓰기 동작에 대한 멀티 플렉싱 과정을 설명하면 다음과 같다.
도 2는 도 1의 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치를 이용한 쓰기 동작에 대한 멀티플렉싱 과정을 도시한 플로우 차트이고, 도 3는 도 1의 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치의 쓰기 동작에 대한 기본적인 I2C 버스 프로토콜의 프레임 구조를 도시한 도면이다.
도 2 및 도 3에 도시한 바와 같이, I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치(1)를 이용한 쓰기 동작에 대한 멀티 플렉싱 과정은 시작 신호 송신 단계(ST1), 장치 주소 및 명령 송신 단계(ST2), 제1 수신 상태 신호 송신 단계(ST3), 스위치 컨트롤 데이터 송신 단계(ST4), 제2 수신 상태 신호 송신 단계(ST5), 스위치 절환 단계(ST6) 및 완료 신호송신 단계(ST7)를 거쳐 이루어진다.
먼저, 시작 신호 송신 단계(ST1)에서는 상기 마스터(10)가 데이터 전송 시작을 알리는 시작 신호(S; START condition)를 I2C 버스 상에 송신하면, I2C 버스 컨트롤러(Slave A; 60)가 상기한 시작 신호(S; START condition)를 수신하게 된다.
장치 주소 및 명령 송신 단계(ST2)에서는, 상기 마스터(10)가 상기 I2C 버스 컨트롤(Slave A; 60)의 장치 주소와 함께 쓰기(또는 읽기) 명령(0; R/W)을 I2C 버스 상에 송신하다. 상기 I2C 버스 컨트롤(Slave A; 60)의 장치 주소와 함께 쓰기(또는 읽기) 명령(0; R/W)은 I2C 버스 컨트롤러(Slave A; 60)가 수신하게 된다.
제1 수신 상태 신호 송신 단계(ST3)에서는, 상기 I2C 버스 컨트롤러(Slave A; 60)가 상기한 장치 주소와 함께 쓰기(또는 읽기) 명령(0; R/W)에 대한 정상 수신 상태 신호(ACK; acknowledge from slave)를 I2C 버스 상에 송신한다. 이 정상 수신 상태 신호(ACK; acknowledge from slave)를 마스터(10)가 수신하게 된다.
스위치 컨트롤 데이터 송신 단계(ST4)에서는, 상기 마스터(10)가 상기 슬레이브들(Slave B-n;40) 중에서 지정한 하나의 상기 슬레이브(일례로, Slave B-1; 41)에 접근하기 위한 스위치 컨트롤 데이터를 I2C 버스 상에 송신한다. 이 스위치 컨트롤 데이터는 I2C 버스 컨트롤러(Slave A)가 I2C 송수신부(61)를 통해 수신한 후, 컨트롤 레지스터(62)에 저장하게 된다.
제2 수신 상태 신호 송신 단계(ST5)에서는, 상기 I2C 버스 컨트롤러(Slave A; 60)가 스위치 컨트롤 데이터에 대한 정상 수신 상태 신호(ACK; acknowledge from slave)를 I2C 버스 상에 송신한다. 이 정상 수신 상태 신호(ACK; acknowledge from slave)를 마스터(10)가 수신하게 된다.
스위치 절환 단계(ST6)에서는, 상기한 스위치 컨트롤 데이터에 따라 상기 스위치(50)를 절환되어 상기 마스터(10)와 지정된 상기 슬레이브(일례로, Slave B-1; 41)의 상기 직렬 클럭 버스(SCL; 30, 일례로 제2 직렬 클럭 버스 회선(32)과 제3 직렬 클럭 버스 회선(SD1; 33))를 연결한다.
그리고, 완료 신호 송신 단계(ST7)에서는, 상기 마스터(10)가 상기 스위치 컨트롤 데이터의 전송 완료 신호를 I2C 버스 상에 송신하면, 이를 I2C 버스 컨트롤러(Slave A: 60)가 수신한다.
상기한 완료 신호 송신 단계(ST7) 이후, I2C 버스 프로토콜에 따라 상기 마스터(10)로부터 상기 직렬 클럭 버스(SCL; 30)가 연결된 상기 슬레이브(Slave B-n; 40, 일례로 Slave B-1; 41 )로 상기 직렬 데이터 버스를 통해 쓰여질(또는, 읽기 동작에서 상기 지정된 슬레이브(Slave B-1; 41)로부터 마스터(10)로 읽혀질) 데이터의 전송이 이루어지게 된다.
도 4는 본 발명의 일실시예에 따른 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치의 쓰기 동작에 따른 I2C 버스 프로토콜의 프레임 구조을 도시한 도면이다.
도 4에 도시한 바와 같이, I2C 버스 컨트롤러(Slave A; 60)에 대한 장치 주소가 0×72, 지정된 슬레이브(Slave B-1)의 장치 주소가 0×42, 지정된 슬레이브(Slave B-1)의 부주소가 0×55, 지정된 슬레이브(Slave B-1)에 쓰여질 데이터가 0×AA 일 때의 I2C 버스 프로토콜의 프레임이 구성될 수 있다.
이상은 본 실시예의 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치의 쓰기 동작을 위주로 설명하였으나, 본 발명이 이에 반드시 한정되는 것은 아니며 쓰기 동작과 동일한 과정을 거쳐 읽기 동작에서도 멀티플렉싱이 구현될 수 있음은 당연하다.
도 5는 본 발명의 일실시예에 따른 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치의 슬레이브 확장 과정을 도시한 I2C 버스 프로토콜의 프레임 구조를 도시한 도면이다.
도 5에 도시한 바와 같이, 스위치 컨트롤 데이터의 확장(SWITCH 컨트롤 데이터 1~ SWITCH 컨트롤 데이터 N)을 통해 초과 할당된 슬레이브들에 대해도 멀티플렉싱이 이루어질 수 있도록 하는 것도 가능하다.
이처럼, 본 실시예의 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치(1)는 I2C 버스 프로토콜의 직렬 데이터 버스(SDA: 20)를 통해 전송되는 데이터가 직렬 클럭 버스(SCL; 30)의 상태에 따라 그 의미를 가지게 되는 점을 착안하여, I2C 버스 프로토콜의 마스터(10)와 같은 장치 주소를 가지는 복수의 슬레이브들(Slave B-n; 40) 사이의 직렬 데이터 버스(SDA; 20)를 직렬로 직접 연결하고, 오직 이들 마스터(10)와 슬레이브들(Slave B-n; 40) 사이의 직렬 클럭 버스(SCL; 30)의 스위칭 동작만으로 멀티플렉싱이 가능하도록 함으로써 멀티플렉싱을 위한 회로 구성을 좀더 단순화시킬 수 있도록 한다.
이상을 통해 본 발명의 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형 또는 변경하여 실시하는 것이 가능하고 이 또한 본 발명의 범위에 속하는 것은 당연하다.
1: 멀티플렉싱 장치 10: 마스터
20: 직렬 데이터 버스(SDA) 21: 제1 직렬 데이터 버스 회선
22; 제2 직렬 데이터 버스 회선 23: 제3 직렬 데이터 버스 회선
24: 제4 직렬 데이터 버스 회선 25: 제5 직렬 데이터 버스 회선
30: 직렬 클럭 버스(SCL) 31: 제1 직렬 클럭 버스 회선
32: 제2 직렬 클럭 버스 회선 33: 제3 직렬 클럭 버스 회선
34: 제4 직렬 클럭 버스 회선 35: 제5 직렬 클럭 버스 회선
36: 제6 직렬 클럭 버스 회선 37: 제7 직렬 클럭 버스 회선
40: 슬레이브(Slave B-n) 41: 제1 슬레이브(Slave B-1)
42; 제2 슬레이브(Slave B-2) 43; 제3 슬레이브(Slave B-3)
44; 제4 슬레이브(Slave B-4) 50: 스위치
60: I2C 버스 컨트롤러(Slave A) 61: I2C 버스 송수신부
62: 컨트롤 레지스터
20: 직렬 데이터 버스(SDA) 21: 제1 직렬 데이터 버스 회선
22; 제2 직렬 데이터 버스 회선 23: 제3 직렬 데이터 버스 회선
24: 제4 직렬 데이터 버스 회선 25: 제5 직렬 데이터 버스 회선
30: 직렬 클럭 버스(SCL) 31: 제1 직렬 클럭 버스 회선
32: 제2 직렬 클럭 버스 회선 33: 제3 직렬 클럭 버스 회선
34: 제4 직렬 클럭 버스 회선 35: 제5 직렬 클럭 버스 회선
36: 제6 직렬 클럭 버스 회선 37: 제7 직렬 클럭 버스 회선
40: 슬레이브(Slave B-n) 41: 제1 슬레이브(Slave B-1)
42; 제2 슬레이브(Slave B-2) 43; 제3 슬레이브(Slave B-3)
44; 제4 슬레이브(Slave B-4) 50: 스위치
60: I2C 버스 컨트롤러(Slave A) 61: I2C 버스 송수신부
62: 컨트롤 레지스터
Claims (4)
- 마스터;
같은 장치 주소를 가지며, 직렬 데이터 버스가 상기 마스터에 직접 연결되고, 직렬 클럭 버스가 스위치를 통해 절환되며 상기 마스터와 연결되는 복수의 슬레이브; 및
상기 마스터로부터 상기 직렬 데이터 버스를 통해 데이터를 수신하기 위한 상기 슬레이브의 위치를 지정하는 스위치 컨트롤 데이터에 따라 상기 스위치를 절환시켜 상기 마스터와 지정된 상기 슬레이브의 상기 직렬 클럭 버스를 연결하는 I2C 버스 컨트롤러;를 포함하고,
상기 I2C 버스 컨트롤러는,
상기 마스터와 연결되며 상기 스위치 컨트롤 데이터를 수신하는 I2C 버스 송수신부; 및
상기 I2C 버스 송수신부를 통해 수신된 상기 스위치 컨트롤 데이터를 저장함과 아울러 상기 스위치 컨트롤 데이터에 따라 상기 스위치를 절환시키도록 연결되는 컨트롤 레지스터;를 포함하는 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치.
- 삭제
- 제1항의 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치를 이용한 멀티플렉싱 방법에 있어서,
상기 마스터가 데이터 전송 시작을 알리는 시작 신호를 I2C 버스 상에 송신하는 시작 신호 송신 단계;
상기 마스터가 상기 I2C 버스 컨트롤의 장치 주소와 함께 쓰기 명령을 I2C 버스 상에 송신하는 장치 주소 및 명령 송신 단계;
상기 I2C 버스 컨트롤러의 정상 수신 상태 신호를 I2C 버스 상에 송신하는 제1 수신 상태 신호 송신 단계;
상기 마스터가 상기 슬레이브들 중에서 지정한 하나의 상기 슬레이브에 접근하기 위한 스위치 컨트롤 데이터를 I2C 버스 상에 송신하는 스위치 컨트롤 데이터 송신 단계;
상기 스위치 컨트롤 데이터의 정상 수신 상태 신호를 I2C 버스 상에 송신하는 제2 수신 상태 신호 송신 단계;
상기 스위치 컨트롤 데이터에 따라 상기 스위치를 절환시켜 상기 마스터와 지정된 상기 슬레이브의 상기 직렬 클럭 버스를 연결하는 스위치 절환 단계; 및
상기 마스터가 상기 스위치 컨트롤 데이터 전송 완료 신호를 I2C 버스 상에 송신하는 완료 신호 송신 단계;를 포함하는 I2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 방법.
- 제3항에서,
상기 스위치 컨트롤 데이터의 확장을 통해 초과 할당된 슬레이브들이 상기 스위치 절환 단계를 거쳐 지정될 수 있도록 하는 2C 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100125686A KR101222107B1 (ko) | 2010-12-09 | 2010-12-09 | I2c 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100125686A KR101222107B1 (ko) | 2010-12-09 | 2010-12-09 | I2c 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120064445A KR20120064445A (ko) | 2012-06-19 |
KR101222107B1 true KR101222107B1 (ko) | 2013-01-15 |
Family
ID=46684556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100125686A KR101222107B1 (ko) | 2010-12-09 | 2010-12-09 | I2c 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101222107B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114443547A (zh) * | 2020-11-06 | 2022-05-06 | 三星电机株式会社 | 使用单个引脚指定地址的从装置和从设备 |
KR20220159529A (ko) | 2021-05-25 | 2022-12-05 | (주) 임베디드 솔루션 | 프로토콜 변환 장치 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102618563B1 (ko) | 2016-07-01 | 2023-12-27 | 삼성전자주식회사 | 집적 회로 장치와 이를 포함하는 전자 장치 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070035265A (ko) * | 2005-09-27 | 2007-03-30 | (주)대인테크 | I2c 통신을 이용한 공통 어드레스를 가지는 부품의 제어장치 |
US20090234999A1 (en) * | 2008-03-12 | 2009-09-17 | Inventec Corporation | Apparatus for resolving conflicts happened between two i2c slave devices with the same addressed address |
-
2010
- 2010-12-09 KR KR1020100125686A patent/KR101222107B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070035265A (ko) * | 2005-09-27 | 2007-03-30 | (주)대인테크 | I2c 통신을 이용한 공통 어드레스를 가지는 부품의 제어장치 |
US20090234999A1 (en) * | 2008-03-12 | 2009-09-17 | Inventec Corporation | Apparatus for resolving conflicts happened between two i2c slave devices with the same addressed address |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114443547A (zh) * | 2020-11-06 | 2022-05-06 | 三星电机株式会社 | 使用单个引脚指定地址的从装置和从设备 |
KR20220061449A (ko) * | 2020-11-06 | 2022-05-13 | 삼성전기주식회사 | 싱글 핀을 이용해 주소를 지정하는 슬레이브 디바이스 및 슬레이브 장치 |
KR102439905B1 (ko) * | 2020-11-06 | 2022-09-05 | 삼성전기주식회사 | 싱글 핀을 이용해 주소를 지정하는 슬레이브 디바이스 및 슬레이브 장치 |
US11526455B2 (en) | 2020-11-06 | 2022-12-13 | Samsung Electro-Mechanics Co., Ltd. | Slave devices and slave apparatus for designating address using a single pin |
KR20220159529A (ko) | 2021-05-25 | 2022-12-05 | (주) 임베디드 솔루션 | 프로토콜 변환 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR20120064445A (ko) | 2012-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5727184A (en) | Method and apparatus for interfacing between peripherals of multiple formats and a single system bus | |
CN102023954B (zh) | 具有多路i2c总线的装置、处理器、系统主板及工控计算机 | |
US10102177B2 (en) | Serial communication system, communication control unit, and electronic device for finding and assigning unused addresses | |
CN100552604C (zh) | 以单一传输线传输数据的键盘-屏幕-鼠标切换系统 | |
CN201063161Y (zh) | 串行外围接口主设备 | |
CN108111382B (zh) | 基于i3c总线的通信装置及其通信方法 | |
CN101809557A (zh) | 具有并行操作模式的i2c总线接口 | |
US20090234998A1 (en) | Connection system | |
CN101398801B (zh) | 扩展内部集成电路总线的方法及装置 | |
JP2002288112A (ja) | 通信制御用半導体装置およびインタフェースシステム | |
KR20080074221A (ko) | 기존의 아키텍처에 독립 컨트롤러를 추가하는 방법 및 장치 | |
US5794014A (en) | Method and apparatus for interfacing between peripherals of multiple formats and a single system bus | |
KR101767181B1 (ko) | 다목적 어댑터 카드 및 그 통합 방법 | |
CN104834620A (zh) | 串行外设接口spi总线电路、实现方法以及电子设备 | |
CN112256615B (zh) | Usb转换接口装置 | |
CN107643993B (zh) | 总线转换接口、总线转换接口的工作方法和通信设备 | |
KR101222107B1 (ko) | I2c 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 멀티플렉싱 장치 및 그 방법 | |
CN116450552B (zh) | 基于i2c总线异步批量读写寄存器的方法及系统 | |
CN101937413B (zh) | 一种i2c总线的通信方法 | |
CN101026528A (zh) | 一种同步串行接口装置 | |
KR101222108B1 (ko) | I2c 버스 프로토콜 기반의 직렬 클럭 버스 스위칭을 이용한 개별 또는 동시 접근 장치 및 그 방법 | |
CN104346310B (zh) | 一种高性能i2c从机数据交换电路及方法 | |
CN114996184B (zh) | 兼容实现spi或i2c从机的接口模块及数据传输方法 | |
KR20080000559A (ko) | 휴대폰 및 휴대용 어플라이언스를 위한 저전력 고체 상태저장장치 제어기 | |
CN110188060A (zh) | 模式切换系统及应用其的模式切换方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20151221 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20161229 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180105 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190108 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20191220 Year of fee payment: 8 |