[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR100812710B1 - Method and apparatus for communication using control bus - Google Patents

Method and apparatus for communication using control bus Download PDF

Info

Publication number
KR100812710B1
KR100812710B1 KR1020060112458A KR20060112458A KR100812710B1 KR 100812710 B1 KR100812710 B1 KR 100812710B1 KR 1020060112458 A KR1020060112458 A KR 1020060112458A KR 20060112458 A KR20060112458 A KR 20060112458A KR 100812710 B1 KR100812710 B1 KR 100812710B1
Authority
KR
South Korea
Prior art keywords
command
slave
baseband unit
control bus
bus
Prior art date
Application number
KR1020060112458A
Other languages
Korean (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 KR1020060112458A priority Critical patent/KR100812710B1/en
Application granted granted Critical
Publication of KR100812710B1 publication Critical patent/KR100812710B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Systems (AREA)

Abstract

A method and a device for performing communication with a control bus are provided to require no additional process for transferring an instruction whenever the instruction is transferred through the control bus and prevent speed of whole digital device from getting slower by simply transferring the instruction without any processes for transferring the instruction. A baseband unit(300) transfers an instruction through a control bus, which is an I2C bus, and reads an execution result of the instruction. An I2C(Inter IC) device(310), which includes a processor(316) for performing action according to the received instruction, receives the instruction from the baseband unit and records the execution result of the instruction. The baseband unit transfers the instruction when an ACK(ACKnowledgement) signal is received from an I2C slave(312) included in the I2C device. The I2C slave outputs an NAK(Negative AcKnowledgement) signal to the baseband unit when the instruction is received. The I2C device makes the I2C slave output the ACK signal again and the baseband unit reads the corresponding data according to the ACK signal when the received instruction is a read instruction.

Description

제어 버스를 이용한 통신 방법 및 장치{Method and apparatus for communication using control bus}Communication method and apparatus using a control bus {Method and apparatus for communication using control bus}

도 1은 종래의 I2C 버스를 포함하는 디지털 장치에서 명령어의 전달 과정을 도시한 순서도.1 is a flow chart illustrating the transfer of instructions in a digital device including a conventional I2C bus.

도 2는 종래의 I2C 버스를 포함하는 디지털 장치에서 각각의 명령어에 따른 통신 과정을 도시한 도면.2 is a diagram illustrating a communication process according to each command in a digital device including a conventional I2C bus.

도 3은 본 발명의 바람직한 일 실시예에 따른 제어 버스를 이용한 통신 방법이 적용되는 I2C 버스를 포함하는 디지털 장치의 구성을 예시한 도면.3 is a diagram illustrating a configuration of a digital device including an I2C bus to which a communication method using a control bus according to an embodiment of the present invention is applied.

도 4는 본 발명의 바람직한 일 실시예에 따른 제어 버스를 이용한 통신 방법이 적용되는 I2C 버스를 포함하는 디지털 장치에서 명령어의 전달 과정을 도시한 순서도.FIG. 4 is a flowchart illustrating a process of transferring a command in a digital device including an I2C bus to which a communication method using a control bus according to an embodiment of the present invention is applied.

도 5는 본 발명의 바람직한 일 실시예에 따른 제어 버스를 이용한 통신 방법이 적용되는 I2C 버스를 포함하는 디지털 장치에서 각각의 명령어에 따른 통신 과정을 도시한 도면.5 is a diagram illustrating a communication process according to each command in a digital device including an I2C bus to which a communication method using a control bus is applied according to an exemplary embodiment of the present invention.

본 발명은 제어 버스를 이용한 통신 방법 및 장치에 관한 것으로서, 보다 상세하게는 보다 효율적이고 간단하게 제어 신호를 전달할 수 있는 제어 버스를 이용한 통신 방법 및 장치에 관한 것이다.The present invention relates to a communication method and apparatus using a control bus, and more particularly, to a communication method and apparatus using a control bus capable of transmitting a control signal more efficiently and simply.

제어 버스란 제어 신호(예를 들어, 명령어 등)를 송수신하기 위한 버스를 말하며, 제어 버스는 예를 들어 I2C 버스 또는 동종의 버스일 수 있다.The control bus refers to a bus for transmitting and receiving a control signal (eg, a command, etc.), and the control bus may be, for example, an I2C bus or a similar bus.

이하의 설명에서는 제어 버스 중 가장 일반적인 I2C 버스를 기준으로 설명한다.The following description is based on the most common I2C bus among control buses.

I2C 버스란, Inter-IC(Integrated Circuit) 라고도 불리우며, 집적 회로들 간의 통신 링크를 제공하는 두 가닥 선의 양방향 직렬 버스이다.The I2C bus, also called Inter-IC (Integrated Circuit), is a two-wire, bidirectional serial bus that provides a communication link between integrated circuits.

일반적으로 I2C 또는 I2C 버스로 지칭되며 현재 디지털 장치들의 내부 컴퓨팅 기능이 포함되는 Embedded System 구현을 위한 사실상의 표준으로 널리 사용되고 있다.Generally referred to as an I2C or I2C bus, it is now widely used as a de facto standard for implementing embedded systems that include the internal computing capabilities of digital devices.

본 명세서에서 I2C 장치란 베이스밴드부에 제어 버스를 통해 연결되고, 제어 버스를 통해 수신되는 제어 신호에 의해 제어되는 종속 모듈로, 특히 디지털 장치에 포함되어 다른 구성 요소들과 통신을 수행하는 장치를 말한다.In the present specification, the I2C device is a slave module connected to the baseband unit through a control bus and controlled by a control signal received through the control bus, and particularly, a device included in a digital device to communicate with other components. .

또한 I2C 장치라고 칭하였으나 I2C 버스 외의 다른 제어 버스를 사용할 수 있으며 바람직하게는 장치나 기기의 형태가 아닌 칩(chip)의 형태로 구현될 수 있다.In addition, although referred to as an I2C device, a control bus other than the I2C bus may be used, and may be preferably implemented in the form of a chip rather than a device or a device.

이러한 I2C 버스를 이용하여 제어 신호를 주고 받는 I2C 버스를 포함하는 디지털 장치에서 베이스밴드부는 I2C 버스를 통해 제어 신호인 명령어를 I2C 장치에 전달한다.In a digital device including an I2C bus that transmits and receives a control signal using the I2C bus, the baseband unit transmits a command, which is a control signal, to the I2C device through the I2C bus.

한편, I2C 장치에는 I2C 마스터와 I2C 슬레이브와의 통신을 위한 버퍼(buffer)인 I2C 레지스터 맵이 포함되며, I2C 레지스터 맵에는 I2C 장치의 상태를 나타내는 값인 I2C 상태 레지스터가 포함된다. On the other hand, the I2C device includes an I2C register map, which is a buffer for communication between the I2C master and the I2C slave, and the I2C register map includes an I2C status register, which is a value representing the state of the I2C device.

I2C 상태 레지스터는 일반적으로 읽기 전용(read-only) 속성으로서, 베이스밴드부에서 직접 수정할 수 없으나, 명령어의 처리 과정에 따라 변경되기도 하고, 어떤 지정된 명령어로 인해 그 상태를 변경할 수 있다.The I2C status register is generally a read-only attribute and cannot be modified directly by the baseband unit. However, the I2C status register may change depending on the processing of an instruction, and may change its state due to a specific instruction.

I2C 버스를 포함하는 디지털 처리 장치에서 I2C 버스를 이용하여 제어 신호를 주고 받는 I2C 통신 과정을 도 1을 참조하여 살펴본다.An I2C communication process of transmitting and receiving a control signal using the I2C bus in a digital processing apparatus including an I2C bus will be described with reference to FIG. 1.

도 1은 종래의 I2C 버스를 포함하는 디지털 장치에서 명령어의 전달 과정을 도시한 순서도이다.1 is a flowchart illustrating a process of transferring a command in a digital device including a conventional I2C bus.

도 1에 도시된 바와 같이, 종래의 I2C 버스를 포함하는 디지털 장치에서 명령어의 전달 과정은 먼저 베이스밴드부에서 I2C 장치 내의 I2C 상태 레지스터의 값을 읽고(S100), 읽은 I2C 상태 레지스터의 값에 따라 명령어의 전달이 가능한 상태인지 판단한다(S102).As shown in FIG. 1, in a digital device including a conventional I2C bus, a command transfer process first reads a value of an I2C status register in an I2C device from a baseband unit (S100) and according to the read value of an I2C status register. It is determined whether the state of the delivery is possible (S102).

명령어의 전달이 가능한 상태인지 여부의 판단은 도 1에 예시된 바와 같이 I2C 상태 레지스터의 값이 'BUSY'(즉, 다른 명령어를 수행 중인 상태를 나타냄)를 나타내면 다시 단계 S100으로 돌아가 I2C 상태 레지스터의 값이 'BUSY'인지 여부를 계속 판단하게 된다.Determination of whether the instruction can be delivered is determined as shown in FIG. 1 when the value of the I2C status register indicates 'BUSY' (that is, indicating the status of executing another instruction). It will continue to determine whether the value is 'BUSY'.

그러나 I2C 상태 레지스터의 값이 'BUSY'가 아니라면, 어떠한 다른 명령도 수행하지 않고 있는 상태를 나타낸다.However, if the value of the I2C status register is not 'BUSY', it indicates that no other command is being executed.

따라서, 만일 어떠한 명령어도 수행하지 않는 상태라면 이를 표시할 수 있도록 I2C 장치는 먼저 I2C 상태 레지스터 값을 'READY'로 전환한다(S104).Therefore, the I2C device first converts the I2C status register value to 'READY' so that it can be displayed if no command is performed (S104).

그리고 베이스밴드부는 다시 I2C 상태 레지스터의 값을 읽어(S106) 다시 읽어 온 I2C 상태 레지스터의 값이 'READY'인지 확인하고(S108), I2C 상태 레지스터의 값이 'READY'인 경우 비로소 명령어를 전달한다(S110).The baseband unit reads the value of the I2C status register again (S106), checks whether the value of the read-back I2C status register is 'READY' (S108), and delivers an instruction only when the value of the I2C status register is 'READY'. (S110).

한편, I2C 장치는 명령어를 전달받으면 I2C 상태 레지스터를 'BUSY'값으로 변경하고, 명령어의 수행이 끝나면 I2C 레지스터의 값을 'INIT'로 변경한다.On the other hand, the I2C device changes the I2C status register to 'BUSY' value when the command is received, and changes the value of the I2C register to 'INIT' when the command is completed.

I2C 상태 레지스터가 READY, BUSY의 두 가지 값만을 사용하지 않고 INIT, READY, BUSY의 세 가지 상태의 값을 사용하는 이유는 명령 처리 부분 진입 전의 상태(READY)와 명령 처리 후의 상태(INIT)를 명확하게 구분하기 위한 것이다.The reason why the I2C status register uses three values of INIT, READY, and BUSY instead of only two values of READY and BUSY is clear for the status before entering the instruction processing section (READY) and after the instruction processing (INIT). To distinguish.

도 1에 도시된 바와 같이, I2C 버스를 이용한 명령어의 전달 과정에서 실제 명령어를 전송하기 위해서는 단계100에서 단계102와 단계106에서 단계108의 각각 2번의 폴링(polling) 과정이 필요하다. 이로 인하여 I2C를 통해 명령을 전달 하는 과정에서 오버헤드가 발생하다.As shown in FIG. 1, in order to transmit an actual command in a command transfer process using an I2C bus, two polling processes of step 102 in step 100 and step 108 in step 108 are required. This causes overhead in the process of delivering commands through I2C.

도 2를 참조하여 종래의 I2C 버스를 포함하는 디지털 장치에서 각각의 명령어에 따른 통신 과정을 보다 상세하게 살펴본다.Referring to Figure 2 looks at the communication process according to each command in a digital device including a conventional I2C bus in more detail.

도 2는 종래의 I2C 버스를 포함하는 디지털 장치에서 각각의 명령어에 따른 통신 과정을 도시한 도면이다.2 is a diagram illustrating a communication process according to each command in a digital device including a conventional I2C bus.

도 2에서 I2C Byte Write는 I2C 버스를 통하여 하나의 데이터를 쓰는 명령어이고, I2C Sequential Write는 I2C 버스를 통하여 여러 개의 데이터를 연속적으로 쓰는 명령어이다.In FIG. 2, I2C Byte Write is an instruction to write one data through the I2C bus, and I2C Sequential Write is an instruction to continuously write several data through the I2C bus.

또한, I2C Byte Read는 I2C 버스를 통하여 하나의 데이터를 읽는 명령어이고, I2C Sequential Read는 I2C 버스를 통하여 여러 개의 데이터를 연속적으로 읽는 명령어이다.In addition, I2C Byte Read is a command that reads one data through the I2C bus, and I2C Sequential Read is a command that reads several data sequentially through the I2C bus.

도 2에서, 'Start'와 'Stop'은 I2C 통신의 시작, 끝을 알려주는 신호가 출력되는 부분이고 'Device ID', 'Address', 'Data' 및 'Read'는 I2C 버스를 통하여 실제로 읽기 또는 쓰기 동작이 수행되는 부분이다.In FIG. 2, 'Start' and 'Stop' are parts in which signals indicating the start and end of I2C communication are output, and 'Device ID', 'Address', 'Data' and 'Read' are actually read through the I2C bus. Alternatively, the write operation is performed.

읽기 명령어(I2C Byte Read, I2C Sequential Read)에서 'Restart'는 먼저 읽기 명령어를 전달한 장치의 식별자(Device ID)와 읽어 올 데이터의 주소(Address)를 전송받고 읽어 올 데이터가 다시 전송될 수 있도록 I2C 통신이 계속되게 하기 위한 부분이다.In the read command (I2C Byte Read, I2C sequential read), 'Restart' receives the device ID and the address of the data to be read first, and then the data to be read is transmitted again. This is to keep the communication going.

한편, 전달된 명령어에 따라 실제 읽기 또는 쓰기 동작이 수행되는 부분에서는 'Device ID', 'Address', 'Data' 및 'Read'에서는 항상 ACK(Acknowledgement) 신호가 발생해야 정상적인 I2C 통신이 이루어진다.On the other hand, in the part where actual read or write operation is performed according to the transferred command, normal I2C communication is performed only when an acknowledgment signal is generated at 'Device ID', 'Address', 'Data' and 'Read'.

반면, NAK(Negative-Acknowledgement) 신호가 발생하게 되면 I2C 장치에서 어떤 문제로 인하여 정상 동작하지 못하는 경우이므로 베이스밴드부는 ACK 신호가 발생할 때까지 I2C 장치로 명령어의 전달을 위한 연결을 계속하여 시도하거나, I2C 장치에서 I2C 통신 자체에 대한 오류를 베이스밴드부로 전달하여야 한다.On the other hand, if a negative-acknowledgement (NAK) signal is generated, the I2C device does not operate normally due to some problem. Therefore, the baseband unit continuously attempts to connect the command to the I2C device until an ACK signal is generated. In the I2C device, an error about the I2C communication itself should be transmitted to the baseband unit.

즉, 먼저 I2C 상태 레지스터의 값에 따라 I2C 장치가 다른 명령어를 수행하고 있는지 여부를 판단하여 I2C 장치로 명령어를 전달하고, ACK 신호와 NAK 신호에 따라 베이스밴드부와 I2C 장치간에 통신이 가능한지 판단하여 명령어를 실제로 수행하는 것이다.That is, first, it is determined whether the I2C device is executing another command according to the value of the I2C status register, and the command is transmitted to the I2C device, and it is determined whether communication is possible between the baseband unit and the I2C device according to the ACK signal and the NAK signal. Is actually doing

따라서 먼저 도 1에서 살펴본 바와 같이 종래의 I2C 통신에서의 명령어 전달은 명령어를 전송할 때마다 명령어 전달을 위한 I2C 상태 레지스터의 값을 확인하는 폴링(polling)이 추가적으로 필요하고 또한, 도 2에서 살펴본 바와 같이 I2C 장치와의 통신이 가능한지 판단하는 등 추가적인 작업인 발생하는 오버헤드(overhead)가 발생되는 문제점이 있다.Therefore, as described above with reference to FIG. 1, the instruction transfer in the conventional I2C communication requires additional polling to check the value of the I2C status register for the instruction transfer each time the instruction is transmitted. There is a problem in that an overhead occurs, which is an additional task such as determining whether communication with the I2C device is possible.

그리고, 명령어 전달을 위한 추가적인 작업으로 인하여 명령어의 전달이 느려지고 I2C 버스를 포함하는 디지털 장치 전체의 속도가 느려지는 문제점이 있다.In addition, there is a problem in that the delivery of the command is slowed due to the additional work for delivering the command and the speed of the entire digital device including the I2C bus is slowed.

상기한 바와 같은 종래의 문제점을 해결하기 위해, 본 발명은 제어 버스의 통신에서의 명령어를 전송할 때 마다 명령어 전달을 위한 추가적인 작업이 필요없는 제어 버스를 이용한 통신 방법 및 장치를 제안하는 것이다.In order to solve the conventional problems as described above, the present invention proposes a communication method and apparatus using a control bus that does not require additional work for command transfer each time a command is transmitted in the communication of the control bus.

또한, 본 발명은 명령어 전달을 위한 추가적인 작업없이 간단하게 명령어의 전달이 가능하여 제어 버스를 포함하는 디지털 장치 전체의 속도가 느려지지 않는 제어 버스를 이용한 통신 방법 및 장치를 제안하는 것이다.In addition, the present invention proposes a communication method and apparatus using a control bus that is capable of simple command transfer without additional work for command delivery, such that the speed of the entire digital device including the control bus does not slow down.

본 발명의 또 다른 목적들은 이하의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.Still other objects of the present invention will be readily understood through the following description of the embodiments.

상기한 바와 같은 목적을 달성하기 위해, 본 발명의 일 측면에 따르면 제어 버스를 이용한 통신 방법이 제공된다.In order to achieve the above object, according to an aspect of the present invention there is provided a communication method using a control bus.

본 발명의 바람직한 일 실시예에 따르면, 베이스밴드부가 I2C 장치와 연결되도록 하는 제어 버스를 이용하여 통신하는 방법에 있어서, 상기 I2C 장치에 포함되는 슬레이브가 ACK(Acknowledge) 신호를 발생하는지 판단하는 단계(a); 및 상기 슬레이브에서 ACK 신호가 발생하는 경우 명령어를 전달하는 단계(b)를 포함하되, 상기 ACK 신호는 상기 I2C 장치가 상기 베이스밴드부가 전달한 명령어에 상응하는 동작을 수행하지 않는 경우 발생되는 것을 특징으로 하는 제어 버스를 이용한 통신 방법이 제공된다.According to a preferred embodiment of the present invention, in a method of communicating using a control bus that allows the baseband unit to be connected to the I2C device, determining whether a slave included in the I2C device generates an ACK (Acknowledge) signal ( a); And (b) transmitting a command when an ACK signal is generated in the slave, wherein the ACK signal is generated when the I2C device does not perform an operation corresponding to the command transmitted by the baseband unit. A communication method using a control bus is provided.

상기 제어 버스는 I2C(Inter-Integrated Circuit) 버스일 수 있다.The control bus may be an Inter-Integrated Circuit (I2C) bus.

상기 명령어가 전달된 경우 상기 I2C 장치는 상기 슬레이브에서 NAK(Non-Acknowledge) 신호가 발생하게 할 수 있으며, 상기 전달된 명령어가 읽기 명령어인 경우 상기 I2C 장치는 상기 슬레이브에서 다시 ACK 신호를 발생하게 하고, 상기 베이스밴드부에 포함되는 마스터는 상기 ACK 신호에 따라 데이터를 독출할 수 있다.When the command is delivered, the I2C device may cause a non-acknowledge (NAK) signal to be generated in the slave, and when the delivered command is a read command, the I2C device may generate an ACK signal again in the slave. The master included in the baseband unit may read data according to the ACK signal.

또한, 상기 독출되는 데이터는 상기 I2C 장치에 포함되는 I2C 레지스터 맵에 기록된 데이터일 수 있다.The read data may be data recorded in an I2C register map included in the I2C device.

본 발명의 다른 측면에 의하면, 제어 버스를 이용한 통신 방법을 구현하기 위한 프로그램을 기록한 기록 매체가 제공된다.According to another aspect of the present invention, there is provided a recording medium recording a program for implementing a communication method using a control bus.

본 발명의 바람직한 일 실시예에 따르면, 제어 버스를 이용한 베이스밴드부와의 통신 방법을 수행하기 위해 상기 제어 버스틀 통해 상기 베이스밴드부에 결합된 I2C 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 I2C 장치에 의해 판독될 수 있는 프로그램을 기록한 기록 매체에 있어서, 명령어 처리 동작을 수행하지 않는 경우 상기 I2C 장치에 포함된 슬레이브가 상기 베이스밴드부로 ACK(Acknowledge) 신호를 출력하도록 제어하는 단계(a); 상기 ACK 신호에 따라 상기 베이스밴드부에 포함되는 마스터로부터 상기 슬레이브를 통해 명령어를 전달받는 단계(b); 상기 전달된 명령어가 읽기 명령어인지 판단하는 단계(c); 및 상기 판단 결과 읽기 명령어인 경우 상기 I2C 장치에 포함되는 메모리로부터 데이터를 독출하고, 상기 슬레이브에서 ACK 신호를 발생하게 하는 단계(d)를 포함하는 것을 특징으로 하는 제어 버스를 이용한 통신 방법을 구현하기 위한 프로그램을 기록한 기록 매체가 제공된다.According to a preferred embodiment of the present invention, a program of instructions that can be executed by an I2C device coupled to the baseband unit via the control bus to perform a method of communication with the baseband unit using a control bus is tangibly implemented. And recording a program that can be read by the I2C device, and controlling a slave included in the I2C device to output an ACK (Acknowledge) signal to the baseband unit when a command processing operation is not performed. (a); (B) receiving a command from the master included in the baseband unit through the slave according to the ACK signal; Determining (c) whether the transferred command is a read command; And (d) reading data from a memory included in the I2C device and generating an ACK signal in the slave when the determination result is a read command. A recording medium having recorded thereon a program is provided.

상기 제어 버스는 I2C(Inter-Integrated Circuit) 버스일 수 있다.The control bus may be an Inter-Integrated Circuit (I2C) bus.

상기 상기 전달된 명령어가 읽기 명령어인지 판단하는 단계는 상기 명령어를 구성하는 영역 중 주소 영역 다음에 위치하는 영역의 종류에 따라 판단할 수 있다.The determining of whether the transferred command is a read command may be determined according to a type of an area next to an address area among areas constituting the command.

본 발명의 또 다른 측면에 의하면, 제어 버스를 이용한 통신 장치가 제공된 다.According to another aspect of the present invention, a communication apparatus using a control bus is provided.

본 발명의 바람직한 일 실시예에 따르면, 제어 버스를 통해 명령어를 전달하고 명령어의 수행 결과를 독출하는 베이스밴드부; 및 상기 베이스밴드부로부터 명령어를 수신하고 상기 명령어의 수행 결과를 기록하는 I2C 장치를 포함하되, 상기 베이스밴드부는 상기 I2C 장치에 포함된 슬레이브로부터 ACK(Acknowledgement) 신호가 입력되는 경우 상기 명령어를 전달하는 것을 특징으로 하는 제어 버스를 이용한 통신 장치가 제공된다.According to an embodiment of the present invention, the baseband unit for transmitting a command through the control bus and reads the result of the execution of the command; And an I2C device that receives a command from the baseband unit and records a result of the execution of the command, wherein the baseband unit transmits the command when an acknowledgment signal is input from a slave included in the I2C device. A communication device using a control bus is provided.

상기 제어 버스는 I2C(Inter-Integrated Circuit) 버스일 수 있다.The control bus may be an Inter-Integrated Circuit (I2C) bus.

상기 명령어가 전달된 경우 상기 슬레이브는 상기 베이스밴드부로 NAK(Negative-Acknowledgement) 신호를 출력할 수 있으며, 상기 I2C 장치는 상기 전달된 명령어가 읽기 명령어인 경우 상기 슬레이브가 다시 ACK 신호를 출력하게 하고, 상기 베이스밴드부는 상기 ACK 신호에 따라 상응하는 데이터를 독출할 수 있다.When the command is delivered, the slave may output a negative-acknowledgement (NAK) signal to the baseband unit, and the I2C device causes the slave to output an ACK signal again when the transferred command is a read command. The baseband unit may read out corresponding data according to the ACK signal.

또한, 상기 I2C 장치는 상기 전달된 명령어를 구성하는 영역 중 주소 영역 다음에 위치하는 영역의 종류에 따라 읽기 명령어인지를 판단할 수 있다.In addition, the I2C device may determine whether the read command is based on the type of the area next to the address area among the areas constituting the transferred command.

상기 I2C 장치는 상기 전달받은 명령어에 따른 동작을 수행하는 프로세서(processor)를 포함할 수 있다.The I2C device may include a processor that performs an operation according to the received instruction.

상기 I2C 장치는 상기 명령어의 수행 결과를 기록하는 I2C 레지스터 맵을 포함할 수 있다.The I2C device may include an I2C register map that records the execution result of the command.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In the following description of the present invention, if it is determined that the detailed description of the related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted.

제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.

예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.

및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be.

반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art.

일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호 를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, and the same or corresponding components will be given the same reference numerals regardless of the reference numerals, and redundant description thereof will be omitted.

먼저 도 3을 참조하여 바람직한 일 실시예에 따른 제어 버스를 이용한 통신 방법이 적용되는 I2C 버스를 포함하는 디지털 장치의 구성을 살펴 본다.First, a configuration of a digital device including an I2C bus to which a communication method using a control bus according to an exemplary embodiment is applied will be described with reference to FIG. 3.

도 3은 본 발명의 바람직한 일 실시예에 따른 제어 버스를 이용한 통신 방법이 적용되는 I2C 버스를 포함하는 디지털 장치의 구성을 예시한 도면이다.3 is a diagram illustrating a configuration of a digital device including an I2C bus to which a communication method using a control bus according to an exemplary embodiment of the present invention is applied.

도3에 도시된 바와 같이, 본 발명의 바람직한 일 실시예에 따른 제어 버스를 이용한 통신 방법이 적용되는 I2C 버스를 포함하는 디지털 장치는 크게 베이스밴드부(300)와 I2C 장치(310)를 포함할 수 있다.As shown in FIG. 3, a digital device including an I2C bus to which a communication method using a control bus according to an exemplary embodiment of the present invention is applied may largely include a baseband unit 300 and an I2C device 310. have.

전술한 바와 같이 본 명세서에서 I2C 장치(310)란 베이스밴드부(300)에 제어 버스를 통해 연결되고, 제어 버스를 통해 수신되는 제어 신호에 의해 제어되는 종속 모듈로 특히 디지털 장치에 포함되어 다른 구성 요소들과 통신을 수행하는 장치를 말한다.As described above, in the present specification, the I2C device 310 is a subordinate module connected to the baseband unit 300 via a control bus and controlled by a control signal received through the control bus. A device that communicates with them.

또한, I2C 장치(310)라고 칭하였으나 I2C 버스 외의 다른 제어 버스가 사용되어 그 명칭이 달라질 수 있으며 바람직하게는 장치나 기기의 형태가 아닌 칩(chip)의 구현될 수 있다.In addition, although referred to as the I2C device 310, a control bus other than the I2C bus may be used, and the name thereof may be changed, and preferably, a chip may be implemented instead of a device or device.

먼저 베이스밴드부(300)는 베이스밴드 프로세서(302), 메모리(304), I2C 마스터(306)를 포함할 수 있으며, I2C 장치(310)는 I2C 슬레이브(312), I2C 레지스터 맵(314), 프로세서(316), 메모리(318)를 포함할 수 있다.First, the baseband unit 300 may include a baseband processor 302, a memory 304, and an I2C master 306. The I2C device 310 may include an I2C slave 312, an I2C register map 314, and a processor. 316, memory 318.

베이스밴드부(300)에 포함되는 베이스밴드 프로세서(302)는 베이스밴드부(300)의 운영을 위한 기본 명령어들을 처리하고 반응하기 위한 논리 회로이다.The baseband processor 302 included in the baseband unit 300 is a logic circuit for processing and reacting basic instructions for operating the baseband unit 300.

베이스밴드부(300)의 메모리(304)는 베이스밴드부(300)에서 수행되는 명령어가 수행되는 영역과 명령어가 수행되면서 사용되는 영역으로 크게 두 가지로 나눌 수 있다.The memory 304 of the baseband unit 300 may be roughly divided into two areas, an area in which the command executed in the baseband unit 300 is executed and an area used while the command is executed.

명령어가 수행되는 영역에 대한 메모리는 주로 플래쉬(flash) 형태가 사용되거나 SRAM(Static Random Access Memory) 또는 SDRAM (Synchronous Dynamic RAM) 형태의 메모리가 사용될 수 있으며, 명령어가 수행되면서 사용하는 메모리 영역은 주로 SRAM 또는 SDRAM 형태의 메모리가 사용될 수 있으나 이에 한정되는 것은 아니다. The memory for the area where the instruction is executed may be mainly in the form of flash or memory in the form of static random access memory (SRAM) or synchronous dynamic RAM (SDRAM). Memory in the form of SRAM or SDRAM may be used, but is not limited thereto.

I2C 마스터(306)는 I2C 장치와의 통신을 위한 것으로 읽기 또는 쓰기와 같은 명령어의 전달은 I2C 마스터(306)에 의해 수행된다.The I2C master 306 is for communication with the I2C device and the transfer of instructions such as read or write is performed by the I2C master 306.

I2C 장치(310)는 베이스밴드부(300)와의 통신을 위한 통로로 I2C 버스를 사용하고 있으며, 베이스밴드부(300)와 I2C 장치(310)는 I2C 마스터(306)와 I2C 슬레이브(312)를 통해 서로 연결된다.The I2C device 310 uses an I2C bus as a path for communication with the baseband unit 300, and the baseband unit 300 and the I2C device 310 are connected to each other through the I2C master 306 and the I2C slave 312. Connected.

I2C 레지스터 맵(314)은 I2C 마스터(306)와 I2C 슬레이브(312)간의 통신을 위한 버퍼(buffer)로 I2C 마스터(306)로부터 전달받거나 전달하고자 하는 내용을 저장할 수 있는 공간이다.The I2C register map 314 is a buffer for communication between the I2C master 306 and the I2C slave 312. The I2C register map 314 is a space for storing contents to be delivered or intended to be transmitted from the I2C master 306.

I2C 마스터(306)가 I2C 슬레이브(312)에 명령어를 전달할 때에는 전달하고자 하는 데이터와 그 데이터를 저장할 주소 정보를 함께 전송하고 주소 정보와 데이터는 I2C 레지스터 맵(314)에 저장된다.When the I2C master 306 transmits a command to the I2C slave 312, the I2C master 306 transmits data to be delivered together with address information to store the data, and the address information and data are stored in the I2C register map 314.

종래의 I2C 마스터(306)가 I2C 슬레이브(312)에 명령어를 전달할 때에는 먼 저 I2C 레지스터 맵(314)에 I2C 장치(310)가 동작(예를 들어, 명령어 처리 동작 등)하는지 여부를 나타내는 특정 값이 I2C 레지스터 맵(314)의 특정 영역에 기록되어 있는지 판단하여 명령어를 전달한다.When the conventional I2C master 306 passes an instruction to the I2C slave 312, a specific value that indicates whether the I2C device 310 operates (e.g., instruction processing operation, etc.) first in the I2C register map 314. It is determined whether it is recorded in a specific area of the I2C register map 314 and the instruction is transmitted.

이러한 I2C 레지스터 맵(314)의 특정 값을 I2C 상태 레지스터라고 하며 종래에는 I2C 상태 레지스터의 값이 I2C 장치(310)가 명령어를 수행하지 않고 있는 상태를 나타내는 특정한 값인 경우에만 명령어가 I2C 마스터(306)로부터 I2C 슬레이브(312)에 전달한다.Such a specific value of the I2C register map 314 is called an I2C status register, and conventionally, the instruction is an I2C master 306 only when the value of the I2C status register is a specific value representing a state in which the I2C device 310 is not executing an instruction. To the I2C slave 312.

그러나 본 발명에서는 I2C 레지스터 맵(314)의 특정 값에 관계없이 I2C 슬레이브(312)에서 발생되는 ACK(Acknowledgement) 또는 NAK(Negative-Acknowledgement) 신호만을 이용하여 I2C 장치(310)는 명령어를 전달받아 수행한다.However, in the present invention, regardless of a specific value of the I2C register map 314, the I2C device 310 receives and executes an instruction using only an acknowledgment (ACK) or negative-acknowledgement (NAK) signal generated by the I2C slave 312. do.

일반적으로 ACK 또는 NAK 신호는 오류 검출 신호로서 명령어 또는 데이터를 주고 받을 때 수신 측에서 명령어 또는 데이터의 수신이 성공적으로 이루어진 경우 ACK 신호를 발생한다.In general, the ACK or NAK signal is an error detection signal and generates an ACK signal when a command or data is successfully received at the receiving side when the command or data is exchanged.

그러나 명령어나 데이터의 수신이 제대로 수행되지 못한 경우 NAK 신호를 발생하여 원래의 명령어나 데이터를 재전송하도록 하게 하는 신호이다.However, if the command or data is not properly received, it generates a NAK signal to retransmit the original command or data.

본 발명에서는 이러한 ACK와 NAK 신호를 이용하여 I2C 장치(310)로 명령어가 전송되도록 한다.In the present invention, the command is transmitted to the I2C device 310 by using the ACK and NAK signals.

ACK 또는 NAK신호를 이용한 I2C 장치(310)의 명령어를 수신하는 과정과 수신된 명령어에 따른 동작 수행 과정은 도 4와 도 5의 설명에서 보다 상세하게 살펴보 기로 한다.A process of receiving the command of the I2C device 310 using the ACK or NAK signal and performing the operation according to the received command will be described in detail with reference to FIGS. 4 and 5.

I2C 장치(310)에 포함되는 프로세서(316)는 I2C 장치(310)의 운영을 위한 기본 명령어들을 처리하고 반응하기 위한 논리 회로이며, 또한 I2C 슬레이브(312)에 전달된 명령어들을 처리한다.The processor 316 included in the I2C device 310 is a logic circuit for processing and reacting to basic instructions for the operation of the I2C device 310, and also processes instructions passed to the I2C slave 312.

I2C 장치(310)의 메모리(220)는 베이스밴드부(300)에 포함되는 메모리(304)와 마찬가지로 명령어가 수행되는 영역과, 명령어가 수행되면서 사용되는 영역으로 크게 두 가지로 나눌 수 있다.Like the memory 304 included in the baseband unit 300, the memory 220 of the I2C device 310 may be largely divided into two regions: an region where an instruction is executed and an region used while the instruction is executed.

또한, 명령어가 수행되는 영역에 대한 메모리는 플래쉬(flash) 형태가 사용되거나 SRAM(Static Random Access Memory) 또는 SDRAM (Synchronous Dynamic RAM) 형태의 메모리가 사용될 수 있으며, 명령어가 수행되면서 사용하는 메모리 영역은 SRAM 또는 SDRAM 형태의 메모리가 사용될 수 있으나 이에 한정되는 것은 아니다.In addition, the memory for the region in which the instruction is executed may be used in the form of flash, or the memory in the form of static random access memory (SRAM) or the synchronous dynamic RAM (SDRAM). Memory in the form of SRAM or SDRAM may be used, but is not limited thereto.

한편, 전술한 바와 같이 읽기 또는 쓰기 동작이 수행되는 부분에서는 I2C 장치(310)가 ACK(Acknowledgement) 신호가 발생해야 정상적인 I2C 통신이 이루어진다.On the other hand, in the portion where the read or write operation is performed as described above, the I2C device 310 generates an acknowledgment (ACK) signal to perform normal I2C communication.

반면, NAK(Negative-Acknowledgement) 신호의 발생은 I2C 장치(310)가 어떤 문제로 인하여 정상 동작하지 못하는 경우를 나타낸다.On the other hand, generation of a negative-acknowledgement (NAK) signal indicates a case in which the I2C device 310 does not operate normally due to a problem.

본 발명에서는 이러한 ACK 신호와 NAK 신호만을 이용하여 종래의 I2C 상태 레지스터의 값을 읽지 않고도 I2C 장치(310)로 명령어를 전달하여 수행할 수 있게 한다.In the present invention, only the ACK signal and the NAK signal can be used to transmit and execute a command to the I2C device 310 without reading the value of the conventional I2C status register.

이를 위하여 먼저 I2C 장치(310)가 명령어를 수행 중일 때에는 NAK 신호를 출력하게 하고, I2C 장치(310)가 명령어를 수행하고 있지 않는 경우에는 ACK 신호를 출력하게 한다.To this end, first, the I2C device 310 outputs a NAK signal when the command is being executed, and when the I2C device 310 is not executing the command, it outputs an ACK signal.

즉, I2C 장치(310)에서의 명령어의 처리는 I2C 장치(310)에 포함되는 프로세서(316)에서 수행되므로 프로세서(316)가 명령어를 수행 중인 경우 I2C 슬레이브(312)에서 NAK 신호를 발생하게 한다.That is, since the processing of the instruction in the I2C device 310 is performed by the processor 316 included in the I2C device 310, when the processor 316 is executing the instruction, the I2C slave 312 generates a NAK signal. .

반면, 프로세서(316)가 명령어를 수행하지 않고 있는 경우 I2C 슬레이브(312)에서 ACK 신호를 발생하게 하는 것이다.On the other hand, when the processor 316 is not executing an instruction, the I2C slave 312 generates an ACK signal.

이러한 특징을 이용한 본 발명의 바람직한 일 실시예에 따른 제어 버스를 이용한 통신 방법에 의한 명령어의 전달 과정을 도 4를 참조하여 살펴본다.With reference to FIG. 4, a process of transferring a command by a communication method using a control bus according to an exemplary embodiment of the present invention using such a feature will be described.

도 4는 본 발명의 바람직한 일 실시예에 따른 제어 버스를 이용한 통신 방법이 적용되는 I2C 버스를 포함하는 디지털 장치에서 명령어의 전달 과정을 도시한 순서도이다.4 is a flowchart illustrating a command transfer process in a digital device including an I2C bus to which a communication method using a control bus according to an embodiment of the present invention is applied.

도 4에 도시된 바와 같이 본 발명의 바람직한 일 실시예에 따른 제어 버스를 이용한 통신 방법이 적용되는 I2C 버스를 포함하는 디지털 장치에서 명령어의 전달 과정은 먼저 I2C 마스터(306)에서 I2C 장치(310, 보다 상세하게는 I2C 슬레이브(312))로 명령어를 전달을 시도하고(S400), I2C 슬레이브(312)가 ACK 신호를 발생하고 있는 경우에만 최종적으로 명령어를 전달한다(S402).As shown in FIG. 4, in the digital device including the I2C bus to which the communication method using the control bus according to the exemplary embodiment of the present invention is applied, first, an I2C device 310, an I2C device 310, is transmitted. More specifically, I2C slave 312 attempts to transfer the command (S400), and finally delivers the command only when the I2C slave 312 generates an ACK signal (S402).

반면, I2C 슬레이브(312)가 ACK 신호를 발생하고 있지 않는 경우(즉 NAK 신호를 발생하고 있는 경우)라면 다시 I2C 마스터(306)에서 I2C 슬레이브(312)로 명 령어의 전달을 시도한다.On the other hand, if the I2C slave 312 does not generate an ACK signal (ie, generates a NAK signal), the command is again transmitted from the I2C master 306 to the I2C slave 312.

도 1의 종래의 I2C 버스를 포함하는 디지털 장치에서 명령어의 전달 과정과 비교하여 도 4의 본 발명에 의한 I2C 버스를 포함하는 디지털 장치에서 명령어의 전달 과정이 단순하게 됨을 알 수 있다.It can be seen that the process of transferring commands is simplified in the digital device including the I2C bus according to the present invention of FIG. 4 as compared with the process of transferring commands in the digital device including the conventional I2C bus of FIG. 1.

즉 본 발명은 종래의 I2C 통신에서는 기본적으로 ACK/NAK신호를 통하여 현재 통신이 가능한 상태인지 아닌지를 판단할 수 있는 기준으로만 사용하는 것이 아니라 현재 I2C를 통해서 들어온 명령을 처리하고 있는 중인지 아닌지를 판단하는 기준이 되도록 사용하여 I2C 버스를 포함하는 디지털 장치에서 명령어의 전달 과정을 단순하게 하는 것이다.That is, the present invention basically uses the ACK / NAK signal only as a criterion for determining whether the current communication is possible or not, and determines whether the current I2C communication is processing a command coming through the I2C. It is used as a reference to simplify the process of delivering instructions in a digital device including an I2C bus.

한편, I2C 슬레이브(312)의 최초의 상태는 I2C 명령에 대한 응답에 ACK 신호를 내보내도록 설정하고, 하나의 명령어가 전달되었을 경우, 그 명령어에 대한 기본적인 처리가 완료될 때까지, I2C 슬레이브(312)가 NAK 신호를 발생하도록 한다.On the other hand, the initial state of the I2C slave 312 is set to emit an ACK signal in response to the I2C command, and if one command is passed, the I2C slave 312 until the basic processing for the command is completed. ) Generates a NAK signal.

이러한 방법에 의하면 I2C 장치(310)가 하나의 명령어를 처리하는 동안 I2C 통신 자체가 정상적으로 동작하지 못하기 때문에, 명령어의 처리 도중에 다른 명령어가 수행될 수 없게 되어 I2C 장치(310)가 정상적인 명령어의 처리가 가능하게 된다.According to this method, since the I2C communication itself does not operate normally while the I2C device 310 processes one command, another command cannot be executed during the processing of the command, so that the I2C device 310 processes the normal command. Becomes possible.

하나의 명령어에 대한 처리가 완료되면, I2C 슬레이브(312)를 ACK 신호를 발생하도록 하여 다음 명령을 전달받을 수 있는 상태로 만든다.When the processing of one command is completed, the I2C slave 312 is caused to generate an ACK signal, thereby making it possible to receive the next command.

한편, I2C 마스터(306)를 통해 명령어를 전달받아 전달받은 명령어를 I2C 장 치에서 수행하는 경우 I2C 슬레이브(312)를 무조건 NAK 상태로 두는 것이 아니라 명령어에 따라 다르게 판단하도록 할 수 있다.On the other hand, when the command received through the I2C master 306 to perform the received command in the I2C device, the I2C slave 312 can be determined differently depending on the command rather than leaving the NAK state unconditionally.

I2C 장치(310)에서 처리된 데이터를 읽어 오는 명령어가 I2C 슬레이브(312)에 전달된 경우 명령어를 전달받은 후 I2C 슬레이브(312)를 NAK 상태로 두면 I2C 마스터(306)와 I2C 슬레이브(312)간의 통신이 불가능하므로 I2C 마스터(306)는 I2C 레지스터 맵(314)에서 원하는 데이터를 독출할 수 없게 되기 때문이다.When a command for reading data processed by the I2C device 310 is transmitted to the I2C slave 312, if the I2C slave 312 is left in the NAK state after receiving the command, the I2C master 306 and the I2C slave 312 are separated. This is because the I2C master 306 cannot read the desired data from the I2C register map 314 because communication is impossible.

반면, 명령어를 전달받아 I2C 장치(310) 내에서 데이터를 처리하는 예를 들면, 쓰기와 같은 명령어를 전달받은 경우에는 명령어를 전달받은 후 명령어의 수행이 완료될 때까지 I2C 마스터(306)와 I2C 슬레이브(312)간에 다른 통신이 필요하지 않으므로 I2C 슬레이브(312)를 계속 NAK 상태로 두어도 될 것이다.On the other hand, in the case of receiving a command and processing data in the I2C device 310, for example, if a command such as writing is received, the I2C master 306 and I2C until the execution of the command is completed after receiving the command. Since no other communication is needed between the slaves 312, the I2C slave 312 may remain in the NAK state.

따라서, I2C 버스를 통해 명령어를 전달받은 경우 I2C 슬레이브(312)를 계속적으로 NAK 상태로 변환하여 유지하는 것이 아니라 전달받은 명령어가 읽기 명령어인지 쓰기 명령어인지 판단하여, I2C 마스터(306)와 I2C 슬레이브(312)간에 명령어 전달 후 다른 통신이 필요없는 쓰기 명령어에서만 I2C 슬레이브(312)에서 계속적으로 NAK 신호가 발생하도록 하고 명령어의 수행이 완료되면 ACK 신호가 발생하도록 한다.Therefore, when the command is received through the I2C bus, the I2C slave 312 is not continuously converted to the NAK state and is determined to determine whether the received command is a read command or a write command, so that the I2C master 306 and the I2C slave ( After the command transfer between 312), the N2 signal is continuously generated by the I2C slave 312 only in the write command that does not require other communication, and when the execution of the command is completed, the ACK signal is generated.

이러한 전달받은 명령어에 따라 I2C 슬레이브(312)에서 ACK/NAK 신호가 발생하도록 하게 하는 과정을 도 5를 참조하여 보다 상세하게 살펴본다.The process of causing the ACK / NAK signal to occur in the I2C slave 312 according to the received command will be described in more detail with reference to FIG. 5.

도 5는 본 발명의 바람직한 일 실시예에 따른 제어 버스를 이용한 통신 방법이 적용되는 I2C 버스를 포함하는 디지털 장치에서 각각의 명령어에 따른 통신 과 정을 도시한 도면이다.FIG. 5 is a diagram illustrating a communication process according to each command in a digital device including an I2C bus to which a communication method using a control bus according to an exemplary embodiment of the present invention is applied.

도 5에서 I2C Byte Write는 I2C 버스를 통하여 하나의 데이터를 쓰는 명령어이고, I2C Sequential Write는 I2C 버스를 통하여 여러 개의 데이터를 연속적으로 쓰는 명령어이다.In FIG. 5, I2C Byte Write is an instruction to write one data through the I2C bus, and I2C Sequential Write is an instruction to continuously write several data through the I2C bus.

또한, I2C Byte Write는 I2C 버스를 통하여 하나의 데이터를 읽는 명령어이고, I2C Sequential Write는 I2C 버스를 통하여 여러 개의 데이터를 연속적으로 읽는 명령어이다.In addition, I2C Byte Write is a command that reads one data through the I2C bus, and I2C Sequential Write is a command that reads several data sequentially through the I2C bus.

도 5의 각각의 명령어에 따른 통신 과정에서 시작 부분은 Start/Device ID/Address로 서로 같다.In the communication process according to each command of FIG. 5, start parts are the same as Start / Device ID / Address.

도 5에서 도시된 바와 같이 먼저 데이터를 읽기 또는 쓰기 명령어의 수행 과정에서 'Device ID'와 'Address' 부분은 데이터를 전달하거나 전달받을 장치의 식별자와 저장되거나 저장된 데이터의 주소를 나타내는 부분이다.As shown in FIG. 5, in the process of performing a data read or write command, the 'Device ID' and 'Address' parts indicate an identifier of a device to which data is to be transmitted or received and an address of the stored or stored data.

한편, 쓰기 명령어(I2C Byte Write 또는 I2C Sequential Write)의 경우 'Address' 부분 다음에 'Data'가 위치하므로 I2C 장치(310)는 쓰기 명령어인지 읽기 명령어인지 'Address' 다음에 'Data'가 위치하는지 아닌지에 따라 판단한다.Meanwhile, in case of a write command (I2C Byte Write or I2C Sequential Write), 'Data' is located after the 'Address' part. Therefore, whether the I2C device 310 is a write command or a read command or 'Data' is located after 'Address'. Judge according to whether or not.

따라서 실제 데이터가 쓰여지는 과정인 'Data' 부분에서는 I2C 장치(310)가 다른 명령어를 수행하고 있는 경우 NAK 신호를, 다른 명령어를 수행하고 있지 않는 경우에는 ACK 신호를 선택적으로 발생하도록 한다.Therefore, in the 'Data' part, which is a process in which actual data is written, the N2 signal is selectively generated when the I2C device 310 is executing another command, and the ACK signal is selectively generated when the other command is not being executed.

반면 다른 부분, 예를 들면 'Device ID'와 'Address' 부분에서는 항상 ACK 신호가 발생하게 하도록 하여 쓰기 명령어에서만 I2C 슬레이브(312)에서 NAK 신호 가 발생할 수 있도록 한다.On the other hand, in other parts, for example, 'Device ID' and 'Address' part, the ACK signal is always generated so that the NAK signal can be generated in the I2C slave 312 only in the write command.

이러한 I2C 장치(310) 내에서 데이터를 처리하는 명령어에 따라 ACK 신호와 NAK 신호를 선택적으로 발생하게 함으로써 I2C 레지스터 맵(314)의 I2C 상태 레지스터에 특정 값을 기록하고 이를 읽을 필요없이 I2C 장치(310)에서 명령어를 전달받아 수행할 수 있게 된다.By selectively generating an ACK signal and a NAK signal according to a command for processing data in the I2C device 310, the I2C device 310 without writing and reading a specific value in the I2C status register of the I2C register map 314. ) Command can be received and executed.

상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.Preferred embodiments of the present invention described above are disclosed for purposes of illustration, and those skilled in the art will be able to make various modifications, changes, and additions within the spirit and scope of the present invention. Additions should be considered to be within the scope of the following claims.

이상에서 설명한 바와 같이, 본 발명에 의한 제어 버스를 이용한 통신 방법 및 장치에 의하면, 제어 버스의 통신에서의 명령어를 전송할 때 마다 명령어 전달을 위한 추가적인 작업이 필요없는 장점이 있다.As described above, according to the communication method and apparatus using the control bus according to the present invention, there is an advantage that no additional work for command transfer is required each time a command is transmitted in the communication of the control bus.

또한, 명령어 전달을 위한 추가적인 작업없이 간단하게 명령어의 전달이 가능하여 제어 버스를 포함하는 디지털 장치 전체의 속도가 느려지지 않는 장점이 있다.In addition, there is an advantage that the speed of the entire digital device including the control bus is not slowed down because the command can be simply transferred without additional work for command transfer.

Claims (15)

베이스밴드부가 I2C 장치와 연결되도록 하는 제어 버스를 이용하여 통신하는 방법에 있어서,A method of communicating using a control bus to allow a baseband portion to be connected to an I2C device, 상기 I2C 장치에 포함되는 슬레이브가 ACK(Acknowledgement) 신호를 발생하는지 판단하는 단계(a); 및(A) determining whether a slave included in the I2C device generates an acknowledgment (ACK) signal; And 상기 슬레이브에서 ACK 신호가 발생하는 경우 명령어를 전달하는 단계(b)를 포함하되,If the ACK signal occurs in the slave includes the step (b) of transmitting a command, 상기 ACK 신호는 상기 I2C 장치가 상기 베이스밴드부가 전달한 명령어에 상응하는 동작을 수행하지 않는 경우 발생되는 것을 특징으로 하는 제어 버스를 이용한 통신 방법.The ACK signal is generated when the I2C device does not perform an operation corresponding to the command transmitted by the baseband unit. 청구항 2은(는) 설정등록료 납부시 포기되었습니다.Claim 2 was abandoned when the setup registration fee was paid. 제1항에 있어서,The method of claim 1, 상기 제어 버스는 I2C(Inter-Integrated Circuit) 버스인 것을 특징으로 하는 제어 버스를 이용한 통신 방법.The control bus is a communication method using a control bus, characterized in that the I2C (Inter-Integrated Circuit) bus. 제1항에 있어서,The method of claim 1, 상기 명령어가 전달된 경우 상기 I2C 장치는 상기 슬레이브에서 NAK(Negative-Acknowledgement) 신호가 발생하게 하는 것을 특징으로 하는 제어 버스를 이용한 통신 방법.And the I2C device causes a NAK signal to be generated at the slave when the command is transmitted. 제3항에 있어서,The method of claim 3, 상기 전달된 명령어가 읽기 명령어인 경우 상기 I2C 장치는 상기 슬레이브에서 다시 ACK 신호를 발생하게 하고,If the transmitted command is a read command, the I2C device causes the slave to generate an ACK signal again. 상기 베이스밴드부에 포함되는 마스터는 상기 ACK 신호에 따라 데이터를 독출하는 것을 특징으로 하는 제어 버스를 이용한 통신 방법.The master included in the baseband unit reads data in accordance with the ACK signal. 제4항에 있어서,The method of claim 4, wherein 상기 독출되는 데이터는 상기 I2C 장치에 포함되는 I2C 레지스터 맵에 기록된 데이터인 것을 특징으로 하는 제어 버스를 이용한 통신 방법.And the read data is data recorded in an I2C register map included in the I2C device. 제어 버스를 이용한 베이스밴드부와의 통신 방법을 수행하기 위해 상기 제어 버스틀 통해 상기 베이스밴드부에 결합된 I2C 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 I2C 장치에 의해 판독될 수 있는 프로그램을 기록한 기록 매체에 있어서,In order to perform a communication method with a baseband unit using a control bus, a program of instructions executable by the I2C device coupled to the baseband unit through the control busbar is tangibly implemented and can be read by the I2C device. In the recording medium on which a program is recorded, 명령어 처리 동작을 수행하지 않는 경우 상기 I2C 장치에 포함된 슬레이브가 상기 베이스밴드부로 ACK(Acknowledgement) 신호를 출력하도록 제어하는 단계(a);(A) controlling a slave included in the I2C device to output an acknowledgment (ACK) signal to the baseband unit when the command processing operation is not performed; 상기 ACK 신호에 따라 상기 베이스밴드부에 포함되는 마스터로부터 상기 슬레이브를 통해 명령어를 전달받는 단계(b);(B) receiving a command from the master included in the baseband unit through the slave according to the ACK signal; 상기 전달된 명령어가 읽기 명령어인지 판단하는 단계(c); 및Determining (c) whether the transferred command is a read command; And 상기 판단 결과 읽기 명령어인 경우 상기 I2C 장치에 포함되는 메모리로부터 데이터를 독출하고, 상기 슬레이브에서 ACK 신호를 발생하게 하는 단계(d)를 포함하는 것을 특징으로 하는 제어 버스를 이용한 통신 방법을 구현하기 위한 프로그램을 기록한 기록 매체.And (d) reading data from a memory included in the I2C device and generating an ACK signal in the slave in the case of the determination result as a read command. Recording medium that records the program. 청구항 7은(는) 설정등록료 납부시 포기되었습니다.Claim 7 was abandoned upon payment of a set-up fee. 제6항에 있어서,The method of claim 6, 상기 제어 버스는 I2C(Inter-Integrated Circuit) 버스인 것을 특징으로 하는 제어 버스를 이용한 통신 방법을 구현하기 위한 프로그램을 기록한 기록 매체.The control bus is a recording medium for recording a program for implementing a communication method using a control bus, characterized in that the I2C (Inter-Integrated Circuit) bus. 제6항에 있어서,The method of claim 6, 상기 단계(c)는,Step (c) is, 상기 명령어를 구성하는 영역 중 주소 영역 다음에 위치하는 영역의 종류에 따라 판단하는 것을 특징으로 제어 버스를 이용한 통신 방법을 구현하기 위한 프로 그램을 기록한 기록 매체.And a program for implementing a communication method using a control bus, characterized in that it is determined according to the type of an area next to an address area among the areas constituting the command. 제어 버스를 통해 명령어를 전달하고 명령어의 수행 결과를 독출하는 베이스밴드부; 및A baseband unit which transmits a command through the control bus and reads a result of execution of the command; And 상기 베이스밴드부로부터 명령어를 수신하고 상기 명령어의 수행 결과를 기록하는 I2C 장치를 포함하되,An I2C device for receiving a command from the baseband unit and recording the result of the execution of the command, 상기 베이스밴드부는 상기 I2C 장치에 포함된 슬레이브로부터 ACK(Acknowledgement) 신호가 입력되는 경우 상기 명령어를 전달하는 것을 특징으로 하는 제어 버스를 이용한 통신 장치.And the baseband unit transmits the command when an acknowledgment signal is input from a slave included in the I2C device. 청구항 10은(는) 설정등록료 납부시 포기되었습니다.Claim 10 was abandoned upon payment of a setup registration fee. 제9항에 있어서,The method of claim 9, 상기 제어 버스는 I2C(Inter-Integrated Circuit) 버스인 것을 특징으로 하는 제어 버스를 이용한 통신 장치.The control bus is a communication device using a control bus, characterized in that the I2C (Inter-Integrated Circuit) bus. 제9항에 있어서,The method of claim 9, 상기 명령어가 전달된 경우 상기 슬레이브는 상기 베이스밴드부로 NAK(Negative-Acknowledgement) 신호를 출력하는 것을 특징으로 하는 제어 버스를 이용한 통신 장치.And the slave outputs a NAK signal to the baseband unit when the command is transmitted. 제11항에 있어서,The method of claim 11, 상기 I2C 장치는 상기 전달된 명령어가 읽기 명령어인 경우 상기 슬레이브가 다시 ACK 신호를 출력하게 하고,The I2C device causes the slave to output an ACK signal again when the transferred command is a read command, 상기 베이스밴드부는 상기 ACK 신호에 따라 상응하는 데이터를 독출하는 것을 특징으로 하는 제어 버스를 이용한 통신 장치.And the baseband unit reads corresponding data according to the ACK signal. 제12항에 있어서,The method of claim 12, 상기 I2C 장치는 상기 전달된 명령어를 구성하는 영역 중 주소 영역 다음에 위치하는 영역의 종류에 따라 읽기 명령어인지를 판단하는 것을 특징으로 제어 버스를 이용한 통신 장치.And the I2C device determines whether the read command is a read command according to a type of an area next to an address area among areas constituting the transferred command. 제9항에 있어서,The method of claim 9, 상기 I2C 장치는 상기 전달받은 명령어에 따른 동작을 수행하는 프로세서(processor)를 포함하는 것을 특징으로 하는 제어 버스의 통신 장치.The I2C device is a communication device of a control bus, characterized in that it comprises a processor for performing an operation according to the received instruction. 청구항 15은(는) 설정등록료 납부시 포기되었습니다.Claim 15 was abandoned upon payment of a registration fee. 제9항에 있어서,The method of claim 9, 상기 I2C 장치는 상기 명령어의 수행 결과를 기록하는 I2C 레지스터 맵을 포함하는 것을 특징으로 하는 제어 버스를 이용한 통신 장치.And the I2C device includes an I2C register map that records a result of the execution of the command.
KR1020060112458A 2006-11-14 2006-11-14 Method and apparatus for communication using control bus KR100812710B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060112458A KR100812710B1 (en) 2006-11-14 2006-11-14 Method and apparatus for communication using control bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060112458A KR100812710B1 (en) 2006-11-14 2006-11-14 Method and apparatus for communication using control bus

Publications (1)

Publication Number Publication Date
KR100812710B1 true KR100812710B1 (en) 2008-03-12

Family

ID=39398549

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060112458A KR100812710B1 (en) 2006-11-14 2006-11-14 Method and apparatus for communication using control bus

Country Status (1)

Country Link
KR (1) KR100812710B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210089932A (en) * 2020-01-09 2021-07-19 성균관대학교산학협력단 Non-volatile memory storage, computing system including the same and peration method thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05100993A (en) * 1991-10-07 1993-04-23 Mitsubishi Electric Corp Signal line sharing system
JPH06342407A (en) * 1993-06-01 1994-12-13 Toshiba Corp Channel device
JP2000231539A (en) 1999-02-12 2000-08-22 Ricoh Co Ltd Data transfer system and data transfer method
JP2003122707A (en) 2001-10-10 2003-04-25 Nec Corp Electronic equipment with i2c bus and bus control method
KR20050079563A (en) * 2004-02-06 2005-08-10 삼성전자주식회사 Bus system for reducing response delay time

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05100993A (en) * 1991-10-07 1993-04-23 Mitsubishi Electric Corp Signal line sharing system
JPH06342407A (en) * 1993-06-01 1994-12-13 Toshiba Corp Channel device
JP2000231539A (en) 1999-02-12 2000-08-22 Ricoh Co Ltd Data transfer system and data transfer method
JP2003122707A (en) 2001-10-10 2003-04-25 Nec Corp Electronic equipment with i2c bus and bus control method
KR20050079563A (en) * 2004-02-06 2005-08-10 삼성전자주식회사 Bus system for reducing response delay time

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210089932A (en) * 2020-01-09 2021-07-19 성균관대학교산학협력단 Non-volatile memory storage, computing system including the same and peration method thereof
US11294822B2 (en) 2020-01-09 2022-04-05 Research & Business Foundation Sungkyunkwan University Non-volatile memory storage, computing system including the same and operation method thereof
KR102412423B1 (en) * 2020-01-09 2022-06-23 성균관대학교산학협력단 Non-volatile memory storage, computing system including the same and peration method thereof

Similar Documents

Publication Publication Date Title
US9378076B2 (en) Serial communication test device, system including the same and method thereof
JPS5914778B2 (en) data processing equipment
KR20130129388A (en) Method and circuit arrangement for transmitting data between processor modules
US6357015B1 (en) Data interface and high-speed communication system using the same
US7337260B2 (en) Bus system and information processing system including bus system
US12105580B2 (en) Transmission system
US20060190637A1 (en) Control apparatus, information processing apparatus, and data transferring method
US8521932B2 (en) Arbitrator and arbitrating method applied to system management bus system
CN109154925A (en) Communication equipment, communication means, program and communication system
KR100241514B1 (en) Microcomputer
KR20080080799A (en) Method and device for memory of serial interface
US6145044A (en) PCI bus bridge with transaction forwarding controller for avoiding data transfer errors
US20070101032A1 (en) Bus arbitration circuit and bus arbitration method
US7203781B2 (en) Bus architecture with primary bus and secondary or slave bus wherein transfer via DMA is in single transfer phase engagement of primary bus
KR100812710B1 (en) Method and apparatus for communication using control bus
JPS6043546B2 (en) Data transfer error handling method
US7130946B2 (en) Configuration and method having a first device and a second device connected to the first device through a cross bar
JP5035349B2 (en) Circuit and its control method
JP2004288147A (en) Xip system to serial memory and its method
JP7265953B2 (en) Communication control system and information processing equipment
JP4033707B2 (en) IC card and control method thereof
JP2020087179A (en) Controller and controller control method
US8423699B2 (en) Information processing apparatus and method for controlling information processing apparatus
KR100737904B1 (en) interface device between master/slave devices and method thereof
KR940004578B1 (en) Slave board control unit

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: 20130221

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140303

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150302

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180226

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190225

Year of fee payment: 12