KR19980057209A - Interrupt Generator on the I²C Bus - Google Patents

Interrupt Generator on the I²C Bus Download PDF

Info

Publication number
KR19980057209A
KR19980057209A KR1019960076482A KR19960076482A KR19980057209A KR 19980057209 A KR19980057209 A KR 19980057209A KR 1019960076482 A KR1019960076482 A KR 1019960076482A KR 19960076482 A KR19960076482 A KR 19960076482A KR 19980057209 A KR19980057209 A KR 19980057209A
Authority
KR
South Korea
Prior art keywords
interrupt
data
acknowledgment signal
bus
address
Prior art date
Application number
KR1019960076482A
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 KR1019960076482A priority Critical patent/KR19980057209A/en
Publication of KR19980057209A publication Critical patent/KR19980057209A/en

Links

Landscapes

  • Bus Control (AREA)

Abstract

본 발명은 슬레이브가 데이터를 전송하는 장치에서 다수의 인터럽트 발생시 이를 효율적으로 관리하여 슬레이브에서의 인터럽트 처리 함수의 부담을 줄이기 위한 I2C 버스의 인터럽트 발생 장치를 제공함에 그 목적이 있는 것으로, 이와같은 목적은 I2C 버스를 통해 마스터로부터 전송되는 시작 조건을 검출하는 시작 조건 검출부; 상기 시작 조건 검출부의 출력에 따라 상기 I2C 버스를 통해 전송되는 어드레스를 미리 저장된 어드레스와 비교하여 그 결과를 출력하는 어드레스 비교부; 상기 어드레스 비교부의 어드레스 비교결과가 일치하면 클럭 라인의 클럭에 동기하여 승인신호를 발생하는 승인신호 발생부; 마스터로부터 전송되어진 승인신호를 클럭 라인의 클럭에 동기하여 검출하는 승인신호 검출부; 상기 어드레스 비교부의 출력에 의해 초기 인터럽트를 발생시키고, 상기 승인신호 검출부의 출력에 의해 이후의 인터럽트를 순차적으로 발생시키는 인터럽트 발생부; 상기 인터럽트 발생부로부터 출력되는 인터럽트에 번호를 부가하여 저장하는 상태 버퍼; 상기 어드레스 비교부 및 승인신호 검출부의 출력에 의해 버퍼에 저장된 소정크기의 데이타를 읽어들여 데이타 라인으로 출력하는 데이타 전송부; 및 전송할 데이타를 저장하는 버퍼를 포함하여 구성됨으로써 달성된다.An object of the present invention is to provide an interrupt generating device of the I 2 C bus to reduce the burden of the interrupt processing function in the slave by efficiently managing a plurality of interrupts in the device that the slave transmits data. The object includes: a start condition detector for detecting a start condition transmitted from a master via an I 2 C bus; An address comparison unit for comparing an address transmitted through the I 2 C bus with a pre-stored address according to the output of the start condition detector and outputting a result; An acknowledgment signal generator for generating an acknowledgment signal in synchronization with a clock of a clock line when an address comparison result of the address comparator is identical; An acknowledgment signal detector for detecting an acknowledgment signal transmitted from the master in synchronization with a clock of the clock line; An interrupt generator which generates an initial interrupt by the output of the address comparator and sequentially generates a subsequent interrupt by the output of the acknowledgment signal detector; A status buffer for adding and storing a number to an interrupt output from the interrupt generator; A data transmission unit reading data of a predetermined size stored in a buffer by the output of the address comparison unit and the acknowledgment signal detector, and outputting the data to a data line; And a buffer for storing data to be transmitted.

Description

I2C 버스의 인터럽트 발생 장치Interrupt Generator on I2C Bus

본 발명은 I2C 버스의 인터럽트 발생 장치에 관한 것으로, 특히 I2C 버스상에서 마스터에 의해 지정된 슬레이브가 데이터를 전송할 때 효과적인 인터럽트 구조를 이용하여 인터럽트 처리 함수의 부담을 줄이기 위한 I2C 버스의 인터럽트 발생 장치에 관한 것이다.The present invention I 2 relates to an interrupt-generating device of the C bus, in particular I 2 to the slave specified by the master on the C BUS effective interrupt structure when transmitting data of the I 2 C bus to reduce the burden of interrupt handling functions An interrupt generating device.

일반적으로 I2C 버스는 도 1에 도시한 바와 같이 각 부분(A, B, C, D), 예를 들어 CPU, 메모리, I/O 기기간의 데이타 전송을 위해 사용하는 데이타 선로로, 2개의 선, 즉 데이타와 클럭을 각각 전송하는 2개의 선으로 통신이 가능하다.In general, the I 2 C bus is a data line used for data transfer between parts (A, B, C, D), for example, CPU, memory, and I / O devices, as shown in FIG. Communication is possible with a line, two lines that transmit data and a clock respectively.

또한, I2C 버스에 연결된 기기는 소프트웨어적으로 접근이 가능하고 다중 마스터가 동시에 같은 버스에 존재할 수 있다.In addition, devices connected to the I 2 C bus are software accessible and multiple masters can exist on the same bus at the same time.

즉, I2C 버스에 연결된 각 부분(A, B, C, D)은 클럭을 발생하게 되면 모두 마스터가 될 수 있다.That is, each part (A, B, C, D) connected to the I 2 C bus may become a master when generating a clock.

예를 들어, 한 부분(A)이 클럭을 발생하여 마스터가 되면 나머지 부분(B, C, D)은 슬레이브가 되고, 다른 한 부분(B)이 클럭을 발생하여 마스터가 되면 나머지 부분(A, C, D)은 슬레이브가 되고, 또 다른 한 부분(C)이 클럭을 발생하여 마스터가 되면 나머지 부분(A, B, D)은 슬레이브가 되고, 또 다른 한 부분(D)이 클럭을 발생하여 마스터가 되면 나머지 부분(A, B, C)은 슬레이브가 된다.For example, if one part (A) generates a clock and becomes a master, the other part (B, C, D) becomes a slave, and the other part (B) generates a clock and becomes a master and the other part (A, C, D) becomes a slave, while another part (C) generates a clock and becomes a master, the remaining parts (A, B, D) become a slave, and another part (D) generates a clock. Once mastered, the remaining parts (A, B, C) become slaves.

또한, I2C 버스는 100Kbps에서 400Kbps까지 데이타 전송이 가능하며 캐패시터가 400pF을 초과하지 않는 한도내에서 다수의 기기(A, B, C, D)가 동일 버스에 연결될 수 있다.In addition, the I 2 C bus can transfer data from 100Kbps to 400Kbps and multiple devices (A, B, C, D) can be connected to the same bus as long as the capacitor does not exceed 400pF.

한편, 종래의 I2C 버스에서 데이타 전송을 하기 위해서는 마스터에서 시작 조건(Start Condition)을 발생하고 이때 슬레이브(Slave)에서 인터럽트를 발생하여 인터럽트 처리 함수에서 주소(Address)를 검사하게 된다.Meanwhile, in order to transmit data in the conventional I 2 C bus, a start condition is generated at the master and an interrupt is generated at the slave, and the address is checked in the interrupt processing function.

예를 들어 도 1에서 기기(A)가 클럭을 발생하는 마스터이고 나머지 기기(B, C, D)가 슬레이브라고 가정하여 설명한다.For example, in FIG. 1, it is assumed that the device A is a master that generates a clock and the remaining devices B, C, and D are slaves.

마스터(A)에서는 I2C 버스의 클럭 라인 (SCL)으로 전송되는 클럭이 '1'인 상태에서 데이타 라인(SDA)으로 전송되는 데이타를 '1'에서 '0'으로 천이시켜 시작 조건을 발생한다.The master A generates a start condition by shifting the data transmitted from the data line SDA from '1' to '0' while the clock transmitted to the clock line SCL of the I 2 C bus is '1'. do.

이때, 슬레이브(B, C, D)에서는 인터럽트가 발생되어 인터럽트 처리 함수를 포함하는 CPU에서 마스터(A)로 부터 데이타 라인(SDA)을 통해 전송된 어드레스를 검사하게 된다.In this case, an interrupt is generated in the slaves B, C, and D, and the CPU including the interrupt processing function is checked for an address transmitted from the master A through the data line SDA.

그런데, 종래에는 마스터에 의해 지정된 슬레이브가 데이터를 전송할시 인터럽트가 발생할 수 있는 경우가 여러가지 발생하게 되며, 다수의 인터럽트가 발생할 경우 각각의 인터럽트에 대해서 인터럽트 처리함수가 필요하게 되므로 슬레이브내의 CPU의 인터럽트 처리 함수의 부담이 커져 데이타 전송 효율이 떨어지는 문제점이 있었다.However, in the related art, there are various cases in which an interrupt may occur when a slave designated by a master transmits data, and when a plurality of interrupts occur, an interrupt processing function is required for each interrupt, thus interrupting the CPU in the slave. There was a problem that the data transfer efficiency is lowered due to a large burden on the function.

상기 문제점을 개선하기 위한 본 발명은 마스터의 지정에 의해 슬레이브가 데이터를 전송하는 장치에서 다수의 인터럽트 발생시 이를 효율적으로 관리하여 슬레이브에서의 인터럽트 처리 함수의 부담을 줄이기 위한 I2C 버스의 인터럽트 발생 장치를 제공함에 그 목적이 있다.The present invention for improving the problem is an interrupt generating device of the I 2 C bus for reducing the burden of the interrupt processing function in the slave by efficiently managing a number of interrupts in the device that the slave transmits data by designation of the master The purpose is to provide.

도 1 은 일반적인 I2C 버스의 구조도1 is a structural diagram of a typical I 2 C bus

도 2 는 본 발명에 의한 인터럽트 발생 장치의 구성도2 is a block diagram of an interrupt generator according to the present invention

도 3 은 본 발명에 의한 인터럽트 발생 시기를 설명하기 위한 도면3 is a view for explaining the interrupt occurrence time according to the present invention;

도 4 는 시작 조건 및 종결 조건을 설명하기 위한 신호 파형도4 is a signal waveform diagram for explaining a start condition and a end condition.

도면의 주요 부분에 대한 부호의 설명Explanation of symbols for the main parts of the drawings

100 : 시작 조건 검출부 200 : 어드레스 비교부100: start condition detection unit 200: address comparison unit

300 : 승인신호 발생부 400 : 승인신호 검출부300: approval signal generator 400: approval signal detector

500 : 인터럽트 발생부 600 : 데이타 전송부500: interrupt generator 600: data transmission unit

700 : 상태 버퍼 800 : 버퍼700: status buffer 800: buffer

상기 목적을 달성하기 위해 본 발명에 의한 인터럽트 발생 장치는, I2C 버스를 통해 마스터로부터 전송되는 시작 조건을 검출하는 시작 조건 검출부(100); 상기 시작 조건 검출부(100)의 출력에 따라 상기 I2C 버스를 통해 전송되는 어드레스를 미리 저장된 어드레스와 비교하여 그 결과를 출력하는 어드레스 비교부(200); 상기 어드레스 비교부(200)의 어드레스 비교결과가 일치하면 클럭 라인(SCL)의 클럭에 동기하여 승인신호를 발생하는 승인신호 발생부(300); 마스터로부터 전송되어진 승인신호를 클럭 라인(SCL)의 클럭에 동기하여 검출하는 승인신호 검출부(400); 상기 어드레스 비교부(200)의 출력에 의해 초기 인터럽트를 발생시키고, 상기 승인신호 검출부(400)의 출력에 의해 이후의 인터럽트를 순차적으로 발생시키는 인터럽트 발생부(500); 상기 인터럽트 발생부(500)로부터 출력되는 인터럽트에 번호를 부가하여 저장하는 상태 버퍼(700); 상기 어드레스 비교부(200) 및 승인신호 검출부(400)의 출력에 의해 버퍼(800)에 저장된 소정크기의 데이타를 읽어들여 데이타 라인(SDA)으로 출력하는 데이타 전송부(600); 전송할 데이타를 저장하는 버퍼(800)로 구성됨을 특징으로 한다.In order to achieve the above object, an interrupt generating apparatus according to the present invention includes a start condition detecting unit (100) for detecting a start condition transmitted from a master through an I 2 C bus; An address comparison unit 200 which compares an address transmitted through the I 2 C bus with a pre-stored address according to the output of the start condition detection unit 100 and outputs a result; An acknowledgment signal generator 300 generating an acknowledgment signal in synchronization with the clock of the clock line SCL when the address comparison result of the address comparator 200 coincides; An acknowledgment signal detector 400 detecting an acknowledgment signal transmitted from the master in synchronization with the clock of the clock line SCL; An interrupt generator 500 for generating an initial interrupt by the output of the address comparator 200 and sequentially generating subsequent interrupts by the output of the acknowledgment signal detector 400; A status buffer 700 for adding a number to an interrupt output from the interrupt generator 500 and storing the number; A data transmission unit 600 for reading data of a predetermined size stored in the buffer 800 by the output of the address comparison unit 200 and the acknowledgment signal detector 400 and outputting the data to the data line SDA; And a buffer 800 for storing data to be transmitted.

이하 첨부한 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명에 의한 인터럽트 발생 장치는 도 2에 도시한 바와 같이 시작 조건 검출부(100), 어드레스 비교부(200), 승인신호 발생부(300), 승인신호 검출부(400), 인터럽트 발생부(500), 데이타 전송부(600), 상태 버퍼(700), 버퍼(800)로 구성된다.As shown in FIG. 2, the interrupt generating apparatus according to the present invention includes a start condition detector 100, an address comparison unit 200, an acknowledgment signal generator 300, an acknowledgment signal detector 400, and an interrupt generator 500. The data transmission unit 600 includes a status buffer 700 and a buffer 800.

시작 조건 검출부(100)는 클럭 라인의 클럭이 '1'인 상태에서 데이타 라인의 상태가 '1'에서 '0'으로 천이하는 경우의 시작 조건을 검출한다.The start condition detecting unit 100 detects a start condition when the state of the data line transitions from '1' to '0' while the clock of the clock line is '1'.

어드레스 비교부(200)는 전송되어진 어드레스를 미리 저장하고 있는 자신의 주소와 비교하여 그 비교값을 출력한다.The address comparison unit 200 compares the transmitted address with its own address previously stored and outputs the comparison value.

승인신호 발생부(300)는 상기 어드레스 비교부(200)의 비교 결과가 일치하면 승인신호를 발생하는 것으로, 승인신호는 1바이트후의 9번째 비트에 해당하는 클럭 라인(SCL)의 클럭에 동기하여 데이타 라인(SDA)을 '0'으로 만들어 준다.The acknowledgment signal generator 300 generates an acknowledgment signal when the comparison result of the address comparator 200 matches, and the acknowledgment signal is synchronized with the clock of the clock line SCL corresponding to the ninth bit after one byte. Make the data line (SDA) '0'.

승인신호 검출부(400)는 1바이트씩의 데이타 전송이 끝나고 난 다음 9번째 클럭라인(SCL)의 클럭이 '1'인 상태에서 데이타 라인(SDA)의 상태가 '0'인지를 검사한다.The acknowledgment signal detector 400 checks whether the state of the data line SDA is '0' in a state where the clock of the ninth clock line SCL is '1' after data transmission by one byte is finished.

인터럽트 발생부(500)는 상기 어드레스 비교부(200)로부터 출력이 인가되면 척번째 인터럽트를 발생하고, 이후 승인신호 검출부(400)로부터 출력이 인가될때마다 순차적으로 인터럽트를 발생한다.The interrupt generator 500 generates the chuck-th interrupt when an output is applied from the address comparator 200, and then sequentially generates an interrupt whenever an output is applied from the acknowledgment signal detector 400.

데이타 전송부(600)는 상기 어드레스 비교부(200) 및 승인신호 검출부(400)로부터 출력이 인가될때마다 버퍼(800)에 저장된 데이타중 순차적으로 1바이트씩의 데이타를 읽어들여 데이타 라인(SDA)으로 출력한다.The data transmission unit 600 sequentially reads data of one byte from among the data stored in the buffer 800 whenever an output is applied from the address comparison unit 200 and the acknowledgment signal detection unit 400. Will print

여기서 데이타 전송부(600)는 쉬프트 레지스터(shift resister)로 구성한다.The data transfer unit 600 is configured of a shift resister.

상태 버퍼(700)는 상기 인터럽트 발생부(500)로부터 인터럽트가 발생되면 이에 인터럽트 번호를 부가하여 저장한다.The status buffer 700 adds and stores an interrupt number when an interrupt is generated from the interrupt generator 500.

버퍼(800)는 전송할 데이타를 저장하고 있다가 1바이트씩 상기 데이타 전송부(600)로 출력한다.The buffer 800 stores data to be transmitted and outputs the data to the data transmission unit 600 by 1 byte.

이와 같이 구성되는 본 발명에 의한 I2C 버스의 인터럽트 발생 장치의 동작을 설명한다.The operation of the interrupt generating device of the I 2 C bus according to the present invention configured as described above will be described.

도 3 에 도시한 바와같이 슬레이브가 마스타로 데이타 전송시 3개의 인터럽트가 발생하는 경우를 일예를 들어 설명한다.As shown in FIG. 3, an example in which three interrupts occur when a slave transmits data to a master will be described.

여기서, 빗금친 부분은 마스터에서 슬레이브로 전송되는 데이타를 나타낸 것이고, 빗금치지 않은 부분은 슬레이브에서 마스터로 전송되는 데이타이다.Here, the hatched portion represents the data transmitted from the master to the slave, and the non-hatched portion is the data transmitted from the slave to the master.

먼저, 시작 조건 검출부(100)에서는 마스터로부터 전송되어진 데이타를 수신받기 위한 첫 과정인 시작 조건을 검출한다.First, the start condition detecting unit 100 detects a start condition which is the first process for receiving data transmitted from the master.

즉, 도 4 에 도시한 바와같이 I2C 버스의 클럭 라인(SCL)의 클럭이 '1'인 상태에서 I2C 버스의 데이타 라인(SDA)이 '1'에서 '0'으로 천이하는 경우인 시작 조건(start condition)을 검출한다.That is, as shown in FIG. 4, when the clock of the clock line SCL of the I 2 C bus is '1', the data line SDA of the I 2 C bus transitions from '1' to '0'. Detects a start condition.

이렇게 시작 조건이 검출되면, 상기 시작 조건 발생부(100)는 어드레스 비교부(200)를 온시키게 된다.When the start condition is detected, the start condition generator 100 turns on the address comparison unit 200.

상기 어드레스 비교부(200)가 시작 조건 발생부(100)에 의해 온되면 데이타 라인(SDA)의 데이타를 클럭 라인(SCL)의 클럭에 동기하여 초기 1바이트의 데이타를 수신받게 되는데, 이때 시작 조건 다음에 수신되는 데이타는 도 3 에 도시한 바와같이 마스터가 지정한 슬레이브의 어드레스(slave address)와 쓰기/읽기(W/R)에 대한 전송조건 정보이다(이는 도 4의 실선으로 표시).When the address comparison unit 200 is turned on by the start condition generating unit 100, the data of the data line SDA is synchronized with the clock of the clock line SCL to receive data of an initial 1 byte. Next, the received data is transfer condition information for the slave address and the write / read (W / R) of the slave designated by the master as shown in Fig. 3 (this is indicated by the solid line in Fig. 4).

따라서, 읽기(R) 정보이면 마스터가 지정한 슬레이브로부터 데이타를 읽어가는 것이고, 쓰기(W) 정보이면 마스터가 지정한 슬레이브에 데이타를 저장하는 것이다.Therefore, if it is read (R) information, data is read from the slave designated by the master, and if it is write (W) information, data is stored in the slave designated by the master.

그러므로, 상기 어드레스 비교부(200)는 이를 인가받아 미리 저장하고 있는 자신의 어드레스와 비교하여 일치되는 경우 전송 조건(여기서는 읽기 정보(R))에 의해 승인신호 발생부(300)와 인터럽트 발생부(500)로 그 결과값을 출력하게 된다.Therefore, when the address comparison unit 200 receives the same and compares it with its own previously stored address, the address comparison unit 200 receives the acknowledgment signal generation unit 300 and the interrupt generation unit according to a transmission condition (here, read information R). 500) will output the result.

상기 승인신호 발생부(300)는 상기 어드레스 발생부(200)로부터 비교 결과값을 인가받아 도 4 에 도시한 바와같이 클럭 라인(SCL)의 9번째 클럭에 동기하여 승인신호(A)를 발생함으로써 데이타 라인(SDA)을 '0'으로 만들어 준다.The acknowledgment signal generator 300 receives the comparison result from the address generator 200 and generates an acknowledgment signal A in synchronization with the ninth clock of the clock line SCL as shown in FIG. 4. Make the data line (SDA) '0'.

이와 동시에 인터럽트 발생부(500)는 상기 어드레스 발생부(200)의 출력에 의해 첫번째의 인터럽트(Interrupt1)를 발생하며, 데이타 전송부(600)는 상기 어드레스 비교부(200)의 출력에 의해 버퍼(800)에 저장된 전송 데이타중 1바이트의 데이타를 읽어들여 이를 데이타 라인(SDA)으로 출력하게 된다.At the same time, the interrupt generator 500 generates the first interrupt Interrupt1 by the output of the address generator 200, and the data transmitter 600 outputs a buffer (B) by the output of the address comparator 200. One byte of data transmitted from the transmission data stored at 800 is read and output to the data line SDA.

이후, 승인신호 검출부(400)는 데이타 전송부(600)에 의해 1바이트의 데이터 전송이 끝나면 도 4에 도시한 바와같이 클럭 라인(SCL)의 9번째 클럭이 1인 상태에서 데이타 라인(SDA)의 상태가 '0'인지를 검사하여 그 상태가 '0'이라면 그에대한 승인신호를 출력하게 되며, 이로인해 인터럽트 발생부(500)는 2번째의 인터럽트 신호(Interrupt2)를 발생함과 아울러 데이타 전송부(600)는 버퍼(800)로부터 두번째의 1바이트의 데이타를 읽어들여 데이타 라인(SDA)으로 출력하게 된다.Thereafter, when the data transmission unit 600 finishes 1-byte data transmission, the acknowledgment signal detector 400 receives the data line SDA in the state where the ninth clock of the clock line SCL is 1, as shown in FIG. 4. It checks whether the state is '0' and if the state is '0', it outputs an acknowledgment signal for it. As a result, the interrupt generator 500 generates a second interrupt signal Interrupt2 and transmits data. The unit 600 reads the second 1 byte of data from the buffer 800 and outputs the data to the data line SDA.

상기 데이타 전송부(600)에 의해 두번째의 1바이트 데이타가 전송되면 승인신호 검출부(400)는 상기와 마찬가지로 클럭 라인(SCL)의 9번째 클럭이 1인 상태에서 데이타 라인(SDA)의 상태가 '0'인지를 검사하게 되는데, 데이타 라인(SDA)의 상태가 '0'이 되진 않으면 즉, 도 4에 도시한 바와같이 승인신호가 인가되지 않으면(이를 점선으로 표시하였다) 도 3에 도시한 바와같이 비승인 신호()에 대한 것으로 판단하여 이에대한 신호를 인터럽트 발생부(500) 및 데이타 전송부(600)로 출력하게 된다.When the second 1-byte data is transmitted by the data transmission unit 600, the acknowledgment signal detector 400 has a state of the data line SDA in the state where the ninth clock of the clock line SCL is 1, as described above. If the status of the data line SDA does not become '0', that is, the approval signal is not applied as shown in FIG. 4 (indicated by a dotted line) as shown in FIG. As disapproval signal ( ) And outputs a signal to the interrupt generator 500 and the data transmitter 600.

이에따라 상기 인터럽트 발생부(500)는 마지막 세번째의 인터럽트를 발생하고, 데이타 전송부(600)는 버퍼(800)로부터의 데이타를 더 이상 읽어오지 않게 되어 슬레이브로부터 마스터로의 데이타 전송이 종료된다.Accordingly, the interrupt generator 500 generates the last third interrupt, and the data transmitter 600 no longer reads the data from the buffer 800, thereby ending the data transfer from the slave to the master.

이때, 데이타 라인(SDA)이 클럭 라인(SCL)의 클럭이 '1'인 상태에서 '0'에서 '1'로 천이하는 종결조건은 상기 승인신호 검출부(400)에 의해 검출되는 비승인 신호()에 의해 판단할 수 있으므로 본 발명에서는 굳이 종결조건의 검출을 하지 않아도 된다.At this time, the termination condition that the data line SDA transitions from '0' to '1' while the clock of the clock line SCL is '1' is not approved by the acknowledgment signal detector 400. In the present invention, it is not necessary to detect the termination condition.

한편, 상태 버퍼(700)는 상기 인터럽트 발생부(500)로부터 출력되는 인터럽트를 순차적으로 저장함으로써 그 인터럽트 번호를 구별할 수 있게 된다.On the other hand, the status buffer 700 can distinguish the interrupt number by sequentially storing the interrupt output from the interrupt generator 500.

이상에서 설명한 바와 같이 본 발명에 의한 인터럽트 발생 장치는 I2C 버스상에서 슬레이브가 마스터로 데이타 전송시 인터럽트를 시작 조건에서 종결 조건이 발생할때까지 계속 처리하는 대신에, 필요한 시점에서 독립적으로 처리할 수 있도록 분리함으로써 슬레이브측의 인터럽트 처리 함수의 부담을 줄이게 되어 데이타 전송 효율을 향상시키는 효과가 있다.As described above, the interrupt generating apparatus according to the present invention can independently process the interrupt at the necessary time instead of continuing processing the interrupt until the termination condition occurs when the slave transmits data to the master on the I 2 C bus. By separating so as to reduce the burden on the interrupt processing function of the slave side, there is an effect of improving the data transfer efficiency.

Claims (5)

I2C 버스를 통해 마스터로부터 전송되는 시작 조건을 검출하는 시작 조건 검출부;A start condition detector for detecting a start condition transmitted from the master through an I 2 C bus; 상기 시작 조건 검출부의 출력에 따라 상기 I2C 버스를 통해 전송되는 어드레스를 미리 저장된 어드레스와 비교하여 그 결과를 출력하는 어드레스 비교부;An address comparison unit for comparing an address transmitted through the I 2 C bus with a pre-stored address according to the output of the start condition detector and outputting a result; 상기 어드레스 비교부의 어드레스 비교결과가 일치하면 클럭 라인의 클럭에 동기하여 승인신호를 발생하는 승인신호 발생부;An acknowledgment signal generator for generating an acknowledgment signal in synchronization with a clock of a clock line when an address comparison result of the address comparator is identical; 마스터로부터 전송되어진 승인신호를 클럭 라인의 클럭에 동기하여 검출하는 승인신호 검출부;An acknowledgment signal detector for detecting an acknowledgment signal transmitted from the master in synchronization with a clock of the clock line; 상기 어드레스 비교부의 출력에 의해 초기 인터럽트를 발생시키고, 상기 승인신호 검출부의 출력에 의해 이후의 인터럽트를 순차적으로 발생시키는 인터럽트 발생부;An interrupt generator which generates an initial interrupt by the output of the address comparator and sequentially generates a subsequent interrupt by the output of the acknowledgment signal detector; 상기 인터럽트 발생부로부터 출력되는 인터럽트에 번호를 부가하여 저장하는 상태 버퍼;A status buffer for adding and storing a number to an interrupt output from the interrupt generator; 상기 어드레스 비교부 및 승인신호 검출부의 출력에 의해 버퍼에 저장된 소정크기의 데이타를 읽어들여 데이타 라인으로 출력하는 데이타 전송부; 및A data transmission unit reading data of a predetermined size stored in a buffer by the output of the address comparison unit and the acknowledgment signal detector, and outputting the data to a data line; And 전송할 데이타를 저장하는 버퍼를 포함하여 구성됨을 특징으로 하는 I2C 버스의 인터럽트 발생 장치.An interrupt generating device for an I 2 C bus, comprising a buffer for storing data to be transmitted. 제 1 항에 있어서, 데이타 전송부는 쉬프트 레지스터로 구성됨을 특징으로 하는 I2C 버스의 인터럽트 발생 장치.The method of claim 1, wherein the data transfer portion of the interrupt-generating device I 2 C bus, characterized by consisting of a shift register. 제 1 항에 있어서, 데이타 전송부는 1바이씩의 데이타를 데이타 라인으로 출력하는 것을 특징으로 하는 I2C 버스의 인터럽트 발생 장치.2. The interrupt generator of an I 2 C bus according to claim 1, wherein the data transfer unit outputs data of each byte to a data line. 제 1 항에 있어서, 상기 어드레스 비교부는 어드레스에 이어서 전송되는 읽기/쓰기 제어 신호를 판별하여 송수신 조건을 검출함을 특징으로 하는 I2C 버스의 인터럽트 발생 장치.The method of claim 1 wherein said address comparison unit to determine which of the read / write control signal is then transmitted to the address I 2 C bus, it characterized in that the transmitting and receiving condition detecting the interrupt-generating device. 제 1 항에 있어서, 승인신호 검출부는 비승인 신호가 검출되면 종결조건으로 판단하는 것을 특징으로 하는 I2C 버스의 인터럽트 발생 장치.The method of claim 1, wherein the acknowledgment signal detector is interrupted apparatus of I 2 C bus, characterized in that for determining a termination condition when the non-acknowledgment signal detection.
KR1019960076482A 1996-12-30 1996-12-30 Interrupt Generator on the I²C Bus KR19980057209A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960076482A KR19980057209A (en) 1996-12-30 1996-12-30 Interrupt Generator on the I²C Bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960076482A KR19980057209A (en) 1996-12-30 1996-12-30 Interrupt Generator on the I²C Bus

Publications (1)

Publication Number Publication Date
KR19980057209A true KR19980057209A (en) 1998-09-25

Family

ID=66395879

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960076482A KR19980057209A (en) 1996-12-30 1996-12-30 Interrupt Generator on the I²C Bus

Country Status (1)

Country Link
KR (1) KR19980057209A (en)

Similar Documents

Publication Publication Date Title
US20080086578A1 (en) Integrated circuit device having send/receive macro for serial transfer bus
US5068785A (en) Bus control for small computer system interface with transfer indication preceding final word transfer and buffer empty indication preceding receipt acknowledgement
EP1901177B1 (en) Data processing apparatus, external storage apparatus, data processing system and data transmitting method
US20030074497A1 (en) Data processing apparatus, external storage apparatus, data processing system and data transmitting method
US5737633A (en) Serial data receiving device having a memory for storing a reception permit signal which enable or disable the device from hand-shaking with the transmitting device
JP4160068B2 (en) Digital programming interface between baseband processor and radio frequency integrated module
JP4012907B2 (en) Asynchronous transmission method and circuit thereof
KR19980057209A (en) Interrupt Generator on the I²C Bus
KR0184402B1 (en) Interrupt generating apparatus for i bus
KR100266963B1 (en) Method and apparatus for reducing latency rime on an interface by overlapping transmitted packets
KR0181596B1 (en) Data transmission device of 12c bus
KR19980057210A (en) Interrupt Generator on the I²C Bus
KR100202170B1 (en) Receiving method and its apparatus of data for serial interface
JP2004046891A (en) Data processing system, data processor, external device, and data transmission method
KR100209192B1 (en) Interrupt generating apparatus of i2c bus
KR100217819B1 (en) Iic bus using control method
KR100737904B1 (en) interface device between master/slave devices and method thereof
US5799158A (en) adapter for transferring blocks of data having a variable size to other adapters via a main system bus
EP0629954A1 (en) Adapter for transferring blocks of data having a variable length on a system bus
JP3867762B2 (en) Decryption device
JPH10207834A (en) Serial input/output circuit
KR100295683B1 (en) General call acknowledge apparatus and method for inter-integrated circuit
KR970010157B1 (en) Matching apparatus for transmitting sdlc/hdlc data frame to tokening controlling bus
JP2953878B2 (en) Data transfer system
JPH07319841A (en) Serial control device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee