KR20090074491A - Method and device for selectible interfacing on the basis of i2c bus protocol, and i2c system thereby - Google Patents
Method and device for selectible interfacing on the basis of i2c bus protocol, and i2c system thereby Download PDFInfo
- Publication number
- KR20090074491A KR20090074491A KR1020080000296A KR20080000296A KR20090074491A KR 20090074491 A KR20090074491 A KR 20090074491A KR 1020080000296 A KR1020080000296 A KR 1020080000296A KR 20080000296 A KR20080000296 A KR 20080000296A KR 20090074491 A KR20090074491 A KR 20090074491A
- Authority
- KR
- South Korea
- Prior art keywords
- bus
- address
- master
- slave
- signal
- 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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
- G06F13/4286—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
본 발명은 I2C 버스(Inter-IC Bus) 프로토콜에 관한 것으로, 더욱 상세하게는 I2C 버스 프로토콜을 따르는 특정 슬레이브와 I2C 버스의 연결을 제어하는, I2C 프로토콜에 기초한 선택적 인터페이싱 방법, 디바이스 및 I2C 버스 시스템에 관한 것이다. The present invention relates to an I2C bus protocol, and more particularly to an optional interfacing method, device and I2C bus system based on the I2C protocol for controlling the connection of a specific slave and an I2C bus following the I2C bus protocol. It is about.
하나의 디지털 기기 내에 다른 기능을 가지는 디지털 기기가 내장되는 복합기기가 최근 많이 등장하고 있다. 디지털 티브이(Television)에도 디브이디(130) 등이 내장되어 방송신호의 수신에 더하여 다른 기능을 함께 수행한다.Recently, a combination of digital devices having different functions in one digital device has been introduced. The
이와 같은 복합기기의 제어에 I2C 버스(Inter-IC Bus) 프로토콜이 사용될 경우, 복수 개의 칩(Chip)들과 내장된 기기가 동일한 I2C 버스에 동시에 연결된다. When the I2C bus protocol is used to control such a composite device, a plurality of chips and embedded devices are simultaneously connected to the same I2C bus.
도 1은 종래의 I2C 버스 프로토콜에 의한 디지털 티브이를 도시한 도면이다. 1 is a diagram illustrating a digital TV using a conventional I2C bus protocol.
도 1은 디지털 티브이(100)에 디브이디(130)가 내장된 예로서, 디지털 티브이(100)의 메인 컨트롤러(110)와 내장된(Built-in) 다바이스인 디브이디(130)의 디브이디 컨트롤러(131)가 I2C 버스(113)로 연결되어 있다. I2C 버스(113)는 SDA(Serial Data Line) 라인과 SCL(Serial Clock Line) 라인을 포함한다.FIG. 1 illustrates an example in which the
디지털 티브이(100)는 I2C 버스 프로토콜을 적용함에 있어, 메인 컨트롤러(110)가 I2C 버스 프로토콜의 마스터(Master)로 동작하도록 설정하는 것이 일반적이다. When the
I2C 버스 프로토콜의 슬레이브(Slave)로 동작하는, 튜너(Tuner)(151), 스케일러(Scaler)(153), 스위치(155), 음성 IC(157) 및 디브이디 컨트롤러(131)가 마스터인 메인 컨트롤러(110)와 함께 동일한 I2C 버스(113)에 연결되어 있다.The main controller (Tuner 151, Scaler 153, Switch 155, Voice IC 157 and DVD controller 131) acting as a slave of the I2C bus protocol (Master) 110 is connected to the
마스터와 슬레이브는 각각 고유의 어드레스(Address)를 가지며, 마스터는 소정 어드레스를 SDA 라인에 실어 보냄으로써 특정 슬레이브를 호출한다.The master and the slave each have a unique address, and the master calls a specific slave by putting a predetermined address on the SDA line.
도 2는 일반적인 I2C 버스 프로토콜에 따른 파형도로서, 마스터가 특정 슬레이브에게 데이터를 보내는 과정을 설명한다. 2 is a waveform diagram according to a general I2C bus protocol, illustrating a process in which a master sends data to a specific slave.
통신이 없을 때의 SDA 라인과 SCL 라인은 풀 업(Pull Up) 저항에 의해 논리 1(논리 High)의 값을 가진다(구간 a). 마스터는 SDA 라인에 논리 0(논리 Low)의 값을 씀으로써 START 신호를 생성한다(START 구간, b). In the absence of communication, the SDA line and the SCL line have a logic 1 (logical high) value by the pull up resistor (section a). The master generates a START signal by writing a logical 0 (logical low) value to the SDA line (START interval, b).
마스터는 SCL 라인이 논리 0일 때 특정 슬레이브의 어드레스를 SDA 라인에 싣기 시작하면서, SCL 라인에 8개 클럭을 내보낸다. 각 슬레이브들은 SCL 라인의 8개 클럭(Clock)에 맞추어 SDA 라인의 어드레스를 읽어 자신에 대한 호출인지를 판 단한다(어드레스 구간, c). The master starts loading the address of a specific slave on the SDA line when the SCL line is
자신의 어드레스임을 확인한 슬레이브는 9번째 클럭에서 SDA 라인에 논리 0의 값(ACK 신호)을 내보냄으로써 마스터에게 응답한다(ACK 구간, d). 이후에 ACK 신호를 수신한 마스터가 다음 클럭에서부터 SDA 라인에 데이터를 실으면(데이터 구간 e), 해당 슬레이브는 SDA 라인의 데이터를 수신하고 다시 ACK 신호를 보낸다. DATA 전송 이후에 ACK를 수신한 마스터는 STOP 신호를 보냄으로써 통신을 종료한다. The slave, identifying its own address, responds to the master by sending a logical 0 value (ACK signal) to the SDA line at the ninth clock (ACK interval, d). When the master receiving the ACK signal later loads data on the SDA line from the next clock (data interval e), the slave receives the data of the SDA line and sends an ACK signal again. The master, which receives an ACK after transmitting data, terminates the communication by sending a STOP signal.
도 2와 같은 프로토콜 상에서, 디브이디 컨트롤러(131)는 다른 슬레이브 기기와 동일한 I2C 버스(113)를 사용함에 따라, 마스터인 메인 컨트롤러(110)가 발송하는 모든 START 신호 및 어드레스 신호를 수신하여 자신에게 보내는 것인지를 확인해야 한다. On the protocol as shown in FIG. 2, the
메인 컨트롤러(110)는 디지털 티브이의 기능 제어를 위해 I2C 버스(113)에 연결된 여러 개의 슬레이브를 호출하게 되고, 디브이디 컨트롤러(131)는 매우 빈번하게 발생하는 메인 컨트롤러(110)의 호출을 확인해야 한다. 이러한 일들은 디브이디 컨트롤러(131)의 본연의 동작을 지연시키거나 방해하게 되어, 원래의 기능에 이상이 발생할 수 있다. The
나아가, 디브이디 컨트롤러(131)는 일반적으로 인터럽터(Interrupt) 루틴 속에서 I2C 버스 프로토콜을 처리하게 되는데, 이럴 경우 메인 컨트롤러(110)의 빈번한 호출에 따른 문제는 더욱 커지게 된다.Furthermore, the
이러한 문제의 해결방법으로, 메인 컨트롤러(110)와 내장된 기기인 디브이 디(130)은 I2C 버스(113)과 다른 별개의 라인을 사용하기도 한다. 이러한 해결책도 메인 컨트롤러(130)의 제어 프로그램이 복잡해지고 커질 뿐만 아니라, 메인 컨트롤러(110)에 여유 포트(Port)가 없는 경우는 처음부터 가능하지 않은 방법이다. In order to solve this problem, the
본 발명의 목적은, I2C 버스(Inter-IC Bus) 프로토콜을 따르는 특정 슬레이브와 I2C 버스의 연결을 제어하여, 상기 특정 슬레이브에 대한 마스터의 호출이 있는 경우에 I2C 버스와 상기 특정 슬레이브가 연결되도록 하여, 상기 슬레이브가 마스터의 모든 호출을 확인하지 않도록 하는, I2C 프로토콜에 기초한 선택적 인터페이싱 방법, 디바이스를 제공함에 있다. An object of the present invention is to control the connection between a specific slave and an I2C bus that follow the I2C bus (Inter-IC Bus) protocol, so that the I2C bus and the specific slave are connected when there is a master call to the specific slave. An alternative interfacing method based on I2C protocol, device is provided so that the slave does not confirm every call of the master.
본 발명의 다른 목적은, 디브이디 등이 내장된 디지털 티브이와 같이, 내장된 기기의 제어를 위해 I2C 프로토콜에 기초한 선택적 인터페이싱 방법을 사용하는 I2C 시스템을 제공함에 있다.Another object of the present invention is to provide an I2C system that uses a selective interfacing method based on the I2C protocol for controlling embedded devices, such as a digital TV with embedded DVD or the like.
상기 목적을 달성하기 위한 본 발명에 따른 I2C 인터페이싱 디바이스의 인터페이싱 방법은, 보호 슬레이브와 I2C 버스 간의 연결을 차단하는 단계; I2C 버스 프로토콜에 따른 START 신호와 어드레스 신호를 마스터로부터 수신하는 단계; 수신된 어드레스가 상기 보호 슬레이브의 어드레스인지 확인하는 단계; 상기 수신된 어드레스가 상기 보호 슬레이브의 어드레스인 경우, 상기 보호 슬레이브와 I2C 버스 간을 연결하는 단계; 및 상기 마스터와 상기 보호 슬레이브 간의 I2C 버스 프로토콜에 따른 통신이 완료될 때까지 상기 연결을 유지하는 단계;를 포함한다.An interfacing method of an I2C interfacing device according to the present invention for achieving the above object comprises the steps of: breaking a connection between a protection slave and an I2C bus; Receiving a START signal and an address signal according to an I2C bus protocol from a master; Confirming whether the received address is an address of the protection slave; If the received address is the address of the protection slave, connecting between the protection slave and an I2C bus; And maintaining the connection until communication according to an I2C bus protocol between the master and the protection slave is completed.
실시 예에 따라, 수신된 어드레스가 상기 보호 슬레이브의 어드레스인 경우, 상기 보호 슬레이브와 I2C 버스 간을 연결과 별개로 ACK 신호를 생성하여 상기 마스터에게 전송할 수도 있다. According to an embodiment, when the received address is the address of the protection slave, an ACK signal may be generated and transmitted to the master between the protection slave and the I2C bus separately from the connection.
또 다른 실시 예에 따르면, I2C 인터페이싱 디바이스는 마스터로부터 수신된 어드레스가 보호 슬레이브의 어드레스인지 확인하는 것이 아니라, 자신의 어드레스인지 확인할 수도 있다. According to another embodiment, the I2C interfacing device may check whether the address received from the master is the address of the protection slave, but not the address of the protection slave.
이러한 방법들에서 상기 확인하는 단계는, 상기 START 신호 후에 직렬로 입력되는 상기 어드레스 신호를 병렬 데이터로 변환하여 기 저장된 상기 보호 슬레이브의 어드레스와 비교하여 확인할 수 있다.In the above method, the checking may be performed by converting the address signal serially inputted after the START signal into parallel data and comparing the address with the previously stored address of the protection slave.
이상에서, 상기 연결을 유지하는 단계의 상기 마스터와 상기 보호 슬레이브 간의 I2C 버스 프로토콜에 따른 통신은, 상기 마스터가 상기 보호 슬레이브에게 START 신호를 전송함으로써 시작하여 STOP 신호를 전송함으로써 완료하는 것이다.In the above, the communication according to the I2C bus protocol between the master and the protection slave in the step of maintaining the connection is that the master starts by sending a START signal to the protection slave and completes by sending a STOP signal.
본 발명의 다른 실시 예에 따른 I2C 버스 프로토콜에 의한 통신 방법은, 마스터가 보호 슬레이브와 I2C 버스 간의 연결을 제어하는 I2C 인터페이싱 디바이스에게 예비 호출을 전송하는 단계; 상기 마스터가 상기 I2C 인터페이싱 디바이스로부터 상기 예비 호출에 대한 ACK 신호를 수신하는 경우 예비 호출 성공으로 판단하는 단계; 및 상기 예비 호출에 성공한 마스터가 상기 보호 슬레이브에 대해 I2C 버스 프로토콜에 따른 호출을 다시 시작하여 통신을 완료하는 단계;를 포함한다.According to another embodiment of the present invention, a communication method using an I2C bus protocol may include: sending, by a master, a spare call to an I2C interfacing device that controls a connection between a protection slave and an I2C bus; Determining that the preliminary call succeeds when the master receives an ACK signal for the reserve call from the I2C interfacing device; And the master, which has succeeded in the spare call, restarts the call according to the I2C bus protocol to the protection slave to complete the communication.
본 발명의 I2C 인터페이싱 디바이스는 I2C 버스에 연결되어 START 신호를 검출하는 START 검출기; 상기 I2C 버스에 연결되어 STOP 신호를 검출하는 STOP 검출기; 상기 START 검출기가 START 신호를 검출한 때에 리셋되고 인에이블되어, 상기 I2C 버스를 통해 직렬로 입력되는 어드레스를 병렬 데이터로 변환하는 쉬프트 레지스터; 보호 슬레이브의 주소 또는 자신의 주소를 생성하여 출력하는 주소 생성기; 상기 쉬프트레지스터의 병렬 데이터와 상기 주소 생성기의 출력이 동일한지 비교하는 비교기; 상기 비교기의 출력을 입력받아 저장하며, 상기 STOP 검출기가 STOP 신호를 검출한 때에 리셋되는 플립플롭; 상기 플립플롭의 출력에 따라 상기 I2C 버스와 보호 슬레이브를 스위칭하는 스위치부; 및 상기 쉬프트레지스터 및 플립플롭의 리셋 및 인에이블을 제어하는 제어부를 포함한다.The I2C interfacing device of the present invention comprises: a START detector coupled to the I2C bus to detect a START signal; A STOP detector coupled to the I2C bus to detect a STOP signal; A shift register reset and enabled when the START detector detects a START signal, and converts an address input in series through the I2C bus into parallel data; An address generator for generating and outputting the address of the protection slave or its own address; A comparator for comparing the parallel data of the shift register with the output of the address generator; A flip-flop that receives and stores an output of the comparator and is reset when the STOP detector detects a STOP signal; A switch unit for switching the I2C bus and the protection slave according to the output of the flip-flop; And a control unit for controlling reset and enable of the shift register and the flip-flop.
나아가, I2C 인터페이싱 디바이스는 상기 I2C 버스에 연결되어 ACK 신호를 생성하는 ACK 발생기;를 더 포함하고, 상기 제어부는 상기 플립플롭이 논리 1의 값을 가지는 경우 상기 ACK 발생기로 하여금 ACK 신호를 생성하도록 할 수 있다.Further, the I2C interfacing device further includes an ACK generator connected to the I2C bus to generate an ACK signal, wherein the control unit causes the ACK generator to generate an ACK signal when the flip-flop has a value of
본 발명에 따른 인테페이싱 디바이스(또는 인터페이스)는 I2C 버스 프로토콜을 따르는 특정 슬레이브(보호 슬레이브)와 I2C 버스의 연결을 제어하여, 상기 특정 슬레이브에 대한 마스터의 호출이 있는 경우에 I2C 버스와 상기 특정 슬레이브가 연결되도록 한다. 이에 따라, 상기 슬레이브는 마스터의 모든 호출을 확인할 필요가 없게 된다. The interfacing device (or interface) according to the present invention controls the connection of a specific slave (protected slave) and the I2C bus following the I2C bus protocol, so that the I2C bus and the specific slave in case of a master call to the specific slave. To be connected. Thus, the slave does not have to confirm every call of the master.
이러한 인터페이스의 기능은 보호 슬레이브가 복합 기기 등에 내장된 기기의 컨트롤러인 경우에 더욱 효과적이다. 예컨대, 디지털 티브이에 내장된 디브이디의 컨트롤러는 자신의 본래의 기능을 수행하는데 있어서, 마스터로 동작하는 메인 컨트롤러로부터의 빈번한 호출을 확인할 필요가 없게 되어, 본래의 기능 수행이 방해되거나 지연되는 것을 방지할 수 있다. The function of this interface is more effective when the protective slave is a controller of a device embedded in a composite device or the like. For example, the DVD controller embedded in the digital TV does not need to confirm frequent calls from the main controller acting as the master in performing its original functions, thereby preventing the performance of the original functions from being interrupted or delayed. Can be.
또한, 본 발명의 인터페이싱 방법의 실시를 위해, 보호 슬레이브가 다른 슬레이브와 다른 I2C 프로토콜을 가질 필요가 없고, 마스터도 간단한 프로그램 수정 또는 기존의 프로그램으로 본 발명을 실시할 수 있게 된다.In addition, in order to implement the interfacing method of the present invention, the protection slave does not need to have an I2C protocol different from other slaves, and the master can also implement the present invention by simple program modification or an existing program.
이하 도면을 참조하여 본 발명을 더욱 상세히 설명한다.Hereinafter, the present invention will be described in more detail with reference to the accompanying drawings.
도 3은 본 발명의 일 실시 예에 따른 I2C 인터페이싱 디바이스를 구비한 I2C 시스템을 도시한 도면이다. 3 illustrates an I2C system having an I2C interfacing device according to an embodiment of the present invention.
본 발명의 I2C 시스템(300)은 I2C 버스(Inter-IC Bus) 프로토콜에 의한 통신으로 내부 디바이스들을 제어한다. 또한, I2C 시스템(300)은 I2C 인터페이싱 디바이스(이하에서는 간단히 'I2C 인터페이스'라 함)를 구비함으로써, 슬레이브(Slave)로 동작하는 특정 디바이스가 마스터(Master)의 호출을 매번 확인하지 않고도 자신의 호출에 대응하도록 할 수 있다. The
본 발명의 I2C 시스템(300)은 소정 기능을 수행하는 별도의 디바이스를 내장할 수 있으며, 나아가 I2C 시스템(300)에 내장된 디바이스가 해당 기능을 처리하는 별도의 컨트롤러(또는 프로세서)를 가지고 I2C 슬레이브로 동작하는 경우에 더욱 바람직하다. 예컨대, 디브이디(DVD)가 내장된 디지털 티브이 등이 본 발명의 I2C 시스템(300)에 해당할 수 있으며, 도 3은 그러한 디지털 티브이를 기초로 한 예이 다. The
도 3을 참조하면, I2C 시스템(300)은 동일한 I2C 버스(390)에 연결된 마스터(310), 보호 슬레이브(330), I2C 인터페이스(350) 및 복수 개의 슬레이브(371 ~ 377)를 포함한다. Referring to FIG. 3, the
복수 개의 슬레이브(371 ~ 377)는 각자 어드레스(Address)를 가지며, 마스터(310)의 호출에 따라 데이터를 교환하는 통상의 슬레이브이다. Each of the plurality of
보호 슬레이브(330)는 I2C 버스 프로토콜의 측면에서 복수 개의 슬레이브(371 ~ 377)와 동일한 슬레이브이며, 단지 설명의 편리를 위해 '보호 슬레이브'라고 표시함으로써 I2C 인터페이스(350)에 의해 보호되는 슬레이브임을 나타낸다. 보호 슬레이브(330)는 I2C 인터페이스(350)의 후단에 연결되어 마스터(310)에 의한 모든 호출을 확인하지 않고도 자신에 대한 호출에 응답할 수 있다. The
보호 슬레이브(330)는 튜너(Tuner), 스케일러(Scaler), 음성 칩(Chip), 엘시디 드라이브(LCD Driver), 메모리(Memory) 등과 같이 슬레이브로 동작 가능한 통상의 디바이스가 될 수 있을 뿐만 아니라, 도 3에 도시된 바와 같이 I2C 시스템(300)에 내장된 디바이스의 컨트롤러일 수 있다. The
I2C 인터페이스(350)는 자신의 후단에 연결된 보호 슬레이브(330)의 주소를 기억하며, 마스터(310)의 호출 중에서 보호 슬레이브(330)에 대한 호출이 있는 경우에 I2C 버스(390)와 보호 슬레이브(330)를 연결함으로써, 보호 슬레이브(330)가 마스터(310)의 호출에 응답하도록 한다. The
마스터(310)는 보호 슬레이브(330)를 다른 슬레이브와 특별히 구분하여 별개 의 통신방식으로 제어할 수도 있고, 다른 슬레이브와 구분하지 않을 수도 있다. The
마스터(310)가 보호 슬레이브(330)를 다른 슬레이브와 특별히 구분하는 경우, 마스터(310)의 호출은 예비(Preliminary) 호출과 정상호출로 구분된다. 예비호출은 보호 슬레이브(330)와의 연결을 I2C 인터페이스(350)에게 요청하기 위한 것이다. 예비호출과 정상호출에서 동일하게 사용되는 START 신호, ACK 신호, 기타 어드레스 신호의 생성방법 및 그 신호의 형식에는 구분이 없다.When the
이하에서는, I2C 인터페이스(350)에 의한 보호 슬레이브(330)의 I2C 버스 프로토콜에 따른 통신 방법을 설명한다. Hereinafter, a communication method according to the I2C bus protocol of the
도 4는 본 발명의 일 실시 예에 따른 마스터, I2C 인터페이스 및 보호 슬레이브 간의 통신 방법을 도시한 도면으로서, 마스터(310)가 보호 슬레이브(330)를 다른 슬레이브와 구분하여 통신하는 방법에 대한 것이다. 보호 슬레이브(330)의 어드레스를 'ADDRESS-X'라 가정한다.4 is a diagram illustrating a communication method between a master, an I2C interface, and a protection slave according to an embodiment of the present invention, and illustrates a method in which the
도 4를 참조하면, Referring to Figure 4,
마스터(310)는 예비 호출을 시작하기 위해 START 신호를 전송하고 I2C 인터페이스(350)는 마스터(310)의 START 신호를 수신한다(S401). 이후에 I2C 인터페이스(350)는 마스터(310)가 SDA 라인으로 전송하는 어드레스를 수신하여 보호 슬레이브(330)의 어드레스인지를 확인한다(S403). The
I2C 인터페이스(350)는 SDA 라인을 통해 수신한 어드레스가 보호 슬레이브(330)의 어드레스 인 경우, ACK(Acknowledge) 신호를 SDA 라인을 통해 마스 터(310)에게 전송하고, 보호 슬레이브(330)와 I2C 버스(390)를 연결한다. I2C 인터페이스(350)는 STOP 신호를 수신할 때까지 보호 슬레이브(330)와 I2C 버스(390)의 연결을 유지한다(S405).When the address received through the SDA line is the address of the
보호 슬레이브(330)를 구분하여 통신하는 마스터(310)는 예비 호출에서 ACK 신호를 수신하면 예비호출 성공으로 판단하고, 통상의 슬레이브와의 통신과 같은 방법으로 수행되는 정상호출을 시작한다.When receiving the ACK signal in the preliminary call, the
따라서, ACK 신호를 수신한 마스터(310)는 START 신호를 다시 전송하며, 보호 슬레이브(330)는 I2C 인터페이스(350)에 의해 연결된 I2C 버스(390)를 통해 마스터(310)가 전송하는 START 신호를 수신하게 된다(S407).Accordingly, the
보호 슬레이브(330)는 마스터(310)가 다시 전송하는 자신의 어드레스를 수신하고(S409), ACK 신호를 출력한다(S411).The
ACK 신호를 수신한 마스터(310)가 SDA 라인에 보호 슬레이브(330)로 전송할 데이터를 실으면, 보호 슬레이브(330)는 I2C 인터페이스(350)를 거쳐 해당 데이터를 수신하고(S413), ACK 신호를 마스터(310)에게 보낸다(S415). When the
마스터(310)는 ACK 신호를 수신함에 따라 통신의 종료를 위해 STOP 신호를 I2C 인터페이스(350)와 보호 슬레이브(330)에게 전송한다. 이에 따라 보호 슬레이브(330)는 통신을 종료하고, I2C 인터페이스(350)는 I2C 버스(390)와 보호 슬레이브(330) 간 연결을 차단한다(S417).As the
이상의 방법에 따라, I2C 인터페이스(350)는 보호 슬레이브(330)에 대한 호출이 있는 경우에만, I2C 버스(390)와 보호 슬레이브(330)를 연결한다. 마스 터(310)는 보호 슬레이브(330)에 대해서만 예비 호출(S401 내지 S405 단계)을 수행하고, 다른 슬레이브의 호출에서는 예비 호출 없이 바로 통신을 수행할 수 있다. According to the above method, the
도 5는 본 발명의 다른 실시 예에 따른 마스터, I2C 인터페이스 및 보호 슬레이브 간의 통신 방법을 도시한 도면으로서, I2C 인터페이스(350)가 별도의 어드레스(여기서는 ADDRESS-Y)를 가지는 경우에 해당한다. 5 is a diagram illustrating a communication method between a master, an I2C interface, and a protection slave according to another embodiment of the present invention, and corresponds to a case in which the
마스터(310)는 예비 호출을 시작하기 위해 START 신호를 전송하고 I2C 인터페이스(350)는 마스터(310)의 START 신호를 수신한다(S501). 이후에 I2C 인터페이스(350)는 마스터(310)가 SDA 라인으로 전송하는 자신의 어드레스(ADDRESS-Y)를 수신하여 확인한다(S503). The
I2C 인터페이스(350)는 SDA 라인을 통해 수신한 어드레스가 자신의 어드레스인 경우, ACK 신호를 마스터(310)에게 전송하고, 보호 슬레이브(330)와 I2C 버스(390)를 연결한다(S505).When the address received through the SDA line is its own address, the
ACK 신호를 수신한 마스터(310)는 예비 호출 성공으로 판단하고, 도 4의 S407 내지 S417 단계와 같이 통상의 슬레이브와의 통신 과정을 시작한다(S507 내지 S517).Upon receiving the ACK signal, the
이상에서 설명된 도 5의 방법도 보호 슬레이브(330)를 다른 슬레이브와 구분한다. 다만, 도 4의 방법과 달리, 도 5의 방법은 I2C 인터페이스(350)를 호출한 다음 보호 슬레이브(330)를 호출한다. The method of FIG. 5 described above also distinguishes the
도 6은 본 발명의 또 다른 실시 예에 따른 마스터, I2C 인터페이스 및 보호 슬레이브 간의 통신 방법을 도시한 도면으로서, 마스터(310)가 보호 슬레이브(330)를 다른 슬레이브와 구분하지 않는 경우에 해당한다.6 is a diagram illustrating a communication method between a master, an I2C interface, and a protection slave according to another embodiment of the present invention, and corresponds to a case in which the
I2C 인터페이스(350)는 마스터(310)로부터 START 신호를 수신한 다음(S601), 마스터(310)로부터 수신한 어드레스가 보호 슬레이브(330)의 어드레스인 경우, 보호 슬레이브(330)와 I2C 버스(390)를 연결한다. 그러나 I2C 인터페이스(350)은 도 4 및 도 5의 방법과 달리, ACK 신호를 출력하지 않는다(S603).The
마스터(310)는 어드레스 신호의 출력 후 소정 시간 내에 ACK 신호가 없으므로 1차 호출 실패로 간주하고, 다시 START 신호를 전송함으로써 보호 슬레이브(330)와의 통신을 시작한다. 보호 슬레이브(330)는 I2C 인터페이스(350)에 의해 연결된 I2C 버스(390)를 통해 START 신호, 자신의 어드레스(ADDRESS-X)를 수신하면서 마스터(310)와의 x통신을 수행한다. S605 단계 이후의 절차는 도 4의 S407 내지 S417 단계(통상의 슬레이브와의 통신 과정)와 동일하다(S605 내지 S615).Since the
도 6의 방법에 의할 경우, 마스터(310)는 보호 슬레이브(330)를 특별히 구분하지 아니하므로 보호 슬레이브(330)를 위한 별도의 통신 방법을 사용할 필요가 없다. 다만, 마스터(310)는 어드레스 신호를 출력한 후 소정 시간 내에 ACK 신호를 받지 못하는 '1차 호출 실패' 후에, 다시 처음부터 START 신호를 SDA 라인으로 출력함으로써 2차 호출을 시도하는 것이 전제된다.In the case of the method of FIG. 6, since the
이상에서, 하나의 마스터만을 구비한 I2C 시스템(300)에 대하여 설명하였으나 이에 한정되지 아니하며, 본 발명의 I2C 시스템은 복수 개의 마스터를 구비할 수 있다. 다만, I2C 인터페이스(350)는 그 후단에 슬레이브로 동작하는 디바이스가 연결되면 족하다.In the above description, the
도 7은 본 발명의 일 실시 예에 따른 I2C 인터페이스의 구조를 도시한 도면이다. 도 7의 I2C 인터페이스(400)는 도 3의 I2C 인터페이스(350)의 일 예로서 동일하게 설명될 수 있다. 7 is a diagram illustrating a structure of an I2C interface according to an embodiment of the present invention. The
I2C 인터페이스(400)는 START 검출기(401), STOP 검출기(403), 쉬프트레지스터(Shift Register)(405), 주소 생성기(407), 비교부(409), RS 플립플롭(Flip Flop)(411), ACK 발생기(413), 스위치부(415) 및 제어부(417)를 포함한다.The
START 검출기(401)는 I2C 버스(390)에 연결되어, 도 2의 START 구간(b)과 같은 START 신호를 검출하고, START 신호가 검출되면 제어부(417)를 호출한다. 제어부(417)는 START 검출기(401)의 호출에 따라 쉬프트레지스터(405)와 RS 플립플롭(411)을 리셋시키고, 쉬프트레지스터(405)의 ENA 단자를 인에이블(Enable)로 전환한다.The
쉬프트레지스터(405)는 8 비트(Bit) 쉬프트 레지스터로서 직렬 데이터를 입력받아 8 비트 병렬 데이터를 출력한다. 쉬프트레지스터(405)는 I2C 버스(390)에 연결되어 있으며, 제어부(417)에 의해 인에이블 된 후 SDA 라인을 통해 입력되는 어드레스를 SCL 라인의 클럭에 따라 저장한다.The
주소 생성기(407)는 보호 슬레이브(330) 또는 자신의 주소를 저장하며, 병렬 8 비트 데이터로 출력한다. The
비교부(409)는 쉬프트레지스터(405)의 출력과 주소 생성기(407)의 출력을 비교하고, 그 결과를 RS 플립플롭(411)의 S 단자로 출력한다. The
쉬프트레지스터(405)가 어드레스를 입력받기 시작하고 8클럭이 되면, 쉬프트레지스터(405)의 출력과 주소 생성기(407)의 출력이 같아지게 되고 비교부(409)의 출력은 논리 1이 된다. 따라서 RS 플립플롭(411)의 출력도 논리 1이 되어 스위치부(415)를 동작시킨다. 스위치부(415)는 RS 플립플롭(411)의 출력(논리 1)에 따라 I2C 버스(390)를 보호 슬레이브(330)와 연결하게 된다. When the
제어부(417)는 I2C 버스(390)로부터 9번째 클럭에서 ACK 발생기(413)를 제어하여 ACK 신호가 출력되도록 한다. ACK 발생기(413)는 트랜지스터로 구현된 도 7의 예와 같이, 제어부(417)의 제어에 따라 9번째 클럭에서 SDA 라인을 논리 0으로 만듦으로써 마스터(310)에게 ACK 신호를 출력한다.The
STOP 검출기(403)는 I2C 버스(390)로부터 STOP 신호를 검출하며, STOP 신호를 검출할 경우 제어부(417)를 호출한다. 제어부(417)는 STOP 검출기(403)의 호출에 따라 RS 플립플롭(411)을 다시 리셋시킨다. 따라서 스위치부(415)는 쉬프트레지스터(405)의 출력과 주소 생성기(407)의 출력이 같아짐에 따라 RS 플립플롭(411)의 출력이 논리 1이 된 후, STOP 신호가 입력될 때까지 I2C 버스(390)와 보호 슬레이브(330) 간의 연결을 유지하게 된다.The
앞서 도 6에서 설명한 바와 같이, I2C 인터페이스(400)가 ACK 신호를 생성하지 아니할 수 있으며, 이 경우 I2C 인터페이스(400)는 ACK 발생기(413)를 포함하지 아니할 수 있다.As described above with reference to FIG. 6, the
도 7과 이상의 설명은 본 발명에 따른 I2C 인터페이스의 구조를 예시적으로 설명한 것이며, 다른 구성이 얼마든지 가능하다. 7 and the above description exemplarily illustrate the structure of the I2C interface according to the present invention, and other configurations are possible.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.In addition, although the preferred embodiment of the present invention has been shown and described above, the present invention is not limited to the above-described specific embodiment, the technical field to which the invention belongs without departing from the spirit of the invention claimed in the claims. Of course, various modifications can be made by those skilled in the art, and these modifications should not be individually understood from the technical spirit or the prospect of the present invention.
도 1은 종래의 I2C 버스 프로토콜에 의한 디지털 티브이를 도시한 도면, 1 is a diagram illustrating a digital TV using a conventional I2C bus protocol.
도 2는 일반적인 I2C 버스 프로토콜에 따른 파형도,2 is a waveform diagram according to a general I2C bus protocol,
도 3은 본 발명의 일 실시 예에 따른 I2C 인터페이싱 디바이스를 구비한 I2C 시스템을 도시한 도면,3 illustrates an I2C system with an I2C interfacing device according to an embodiment of the present invention;
도 4 내지 도 6은 본 발명의 일 실시 예에 따른 마스터, I2C 인터페이스 및 보호 슬레이브 간의 통신 방법을 도시한 도면, 그리고 4 to 6 illustrate a communication method between a master, an I2C interface, and a protection slave according to an embodiment of the present invention; and
도 7은 본 발명의 일 실시 예에 따른 I2C 인터페이스의 구조를 도시한 도면이다.7 is a diagram illustrating a structure of an I2C interface according to an embodiment of the present invention.
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080000296A KR20090074491A (en) | 2008-01-02 | 2008-01-02 | Method and device for selectible interfacing on the basis of i2c bus protocol, and i2c system thereby |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080000296A KR20090074491A (en) | 2008-01-02 | 2008-01-02 | Method and device for selectible interfacing on the basis of i2c bus protocol, and i2c system thereby |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20090074491A true KR20090074491A (en) | 2009-07-07 |
Family
ID=41331769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080000296A KR20090074491A (en) | 2008-01-02 | 2008-01-02 | Method and device for selectible interfacing on the basis of i2c bus protocol, and i2c system thereby |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20090074491A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114090492A (en) * | 2021-11-24 | 2022-02-25 | 南京众核电子科技有限公司 | I2C level conversion device and method applied to processor |
-
2008
- 2008-01-02 KR KR1020080000296A patent/KR20090074491A/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114090492A (en) * | 2021-11-24 | 2022-02-25 | 南京众核电子科技有限公司 | I2C level conversion device and method applied to processor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170177531A1 (en) | Bus serialization for devices without multi-device support | |
EP0619548A1 (en) | Interface circuit between a control bus and an integrated circuit suitable for two different protocol standards | |
US10509595B2 (en) | System and method for communication in a semiconductor device | |
US9940277B2 (en) | Multi-channel peripheral interconnect supporting simultaneous video and bus protocols | |
US20100223486A1 (en) | Method and system for i2c clock generation | |
US11989150B2 (en) | Interface circuit, and method and apparatus for interface communication thereof | |
US10740172B2 (en) | Communication apparatus, communication method, program, and communication system | |
JP2005128747A (en) | Integrated circuit device with transmission/reception macro for serial transfer bus | |
EP3187097A1 (en) | Communication system | |
US5884044A (en) | Dedicated DDC integrable multimode communications cell | |
WO2012046634A1 (en) | Electronic device and serial data communication method | |
CN103530215B (en) | A kind of self checking method of internal integrated circuit main frame, device and main frame | |
CN110032533A (en) | C-type universal serial bus interface circuit and its pin by-pass method | |
US20190339808A1 (en) | Display device and driver thereof | |
CN114911743B (en) | SPI slave device, SPI master device and related communication method | |
US10977206B2 (en) | Data communication device and method for data communication | |
KR20090074491A (en) | Method and device for selectible interfacing on the basis of i2c bus protocol, and i2c system thereby | |
US5765019A (en) | Microcomputer with built-in serial input-output circuit and collision detection circuit responsive to common input-output line being occupied | |
CN111913904B (en) | Method for automatically allocating mutually different addresses to a plurality of slave devices using a master-slave communication protocol and device therefor | |
JP3949429B2 (en) | IIC bus control system | |
EP3459189B1 (en) | Communication apparatus, communication method, program, and communication system | |
TW202121183A (en) | Method and device of real time monitoring the connection status of i2c devices | |
JP4160068B2 (en) | Digital programming interface between baseband processor and radio frequency integrated module | |
US10909062B2 (en) | Circuit device and electronic apparatus | |
KR20190008198A (en) | COMMUNICATION DEVICE, COMMUNICATION METHOD, PROGRAM, AND COMMUNICATION SYSTEM |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |