KR100584583B1 - Serial bus control device and method - Google Patents
Serial bus control device and method Download PDFInfo
- Publication number
- KR100584583B1 KR100584583B1 KR1020030079166A KR20030079166A KR100584583B1 KR 100584583 B1 KR100584583 B1 KR 100584583B1 KR 1020030079166 A KR1020030079166 A KR 1020030079166A KR 20030079166 A KR20030079166 A KR 20030079166A KR 100584583 B1 KR100584583 B1 KR 100584583B1
- Authority
- KR
- South Korea
- Prior art keywords
- nth
- predetermined
- main processor
- device data
- serial bus
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
직렬 버스 제어 장치 및 방법이 개시된다. 이 장치는 제1 내지 제n 슬레이브 디바이스들에서 각각 생성된 제1 내지 제n 디바이스 데이터들을 수신하여 저장하는 링 버퍼, 제1 내지 제n 슬레이브 디바이스들 중 소정 슬레이브 디바이스에 대한 메인 프로세서의 액세스 요구에 의해, 메인 프로세서로부터 수신된 프로세스 데이터 또는 소정 슬레이브 디바이스에서 수신된 소정 디바이스 데이터를 저장하는 직접 엑세스 버퍼 및 링 버퍼 및 직접 엑세스 버퍼와 제1 내지 제n 슬레이브 디바이스들 사이에서 제1 내지 제n 데이터들 또는 프로세스 데이터를 송수신하는 인터페이스 제어부를 구비하는 것을 특징으로 한다. 따라서, 본 발명에 따르면, 메인 프로세서의 슬레이브 디바이스들에 대한 접근 요구가 없어도, 메인 프로세서와 슬레이브 디바이스들 사이에 위치한 직렬 버스 제어장치에 슬레이브 디바이스들에 대한 데이터를 주기적으로 저장하도록 함으로써, 직렬 버스의 제어에 관련된 메인 프로세서의 작업을 줄이고 소프트웨어의 구조를 단순화 할 수 있다.A serial bus control apparatus and method are disclosed. The apparatus includes a ring buffer for receiving and storing first to nth device data generated by the first to nth slave devices, respectively, and an access request of a main processor to a predetermined slave device among the first to nth slave devices. Thereby, the first to nth data between the direct access buffer and the ring buffer and the direct access buffer and the first to nth slave devices for storing the process data received from the main processor or the predetermined device data received at the predetermined slave device. Or an interface controller for transmitting and receiving process data. Therefore, according to the present invention, even if there is no request for access to the slave devices of the main processor, by periodically storing the data for the slave devices in the serial bus controller located between the main processor and the slave devices, It can reduce the work of the main processor involved in the control and simplify the structure of the software.
Description
도 1은 직렬 버스 제어 장치가 메인 프로세서와 복수의 슬레이브 디바이스들 과 함께 연결된 상태를 나타내는 블록도이다. 1 is a block diagram illustrating a state in which a serial bus control apparatus is connected with a main processor and a plurality of slave devices.
도 2는 본 발명에 의한 직렬 버스 제어 장치를 설명하기 위한 일 실시예의 블록도이다.Figure 2 is a block diagram of one embodiment for explaining a serial bus control apparatus according to the present invention.
도 3은 도 2에 도시된 링 버퍼를 설명하기 위한 일 실시예의 블록도이다. 3 is a block diagram of an embodiment for describing the ring buffer shown in FIG. 2.
도 4는 본 발명에 의한 직렬 버스 제어 방법을 설명하기 위한 일 실시예의 플로차트이다. 4 is a flowchart of an embodiment for explaining a serial bus control method according to the present invention.
〈도면의 주요 부호에 대한 간단한 설명〉<Brief description of the major symbols in the drawings>
100: 메인 프로세서 120: 직렬버스 제어 장치100: main processor 120: serial bus control unit
140 내지 146: 제1 내지 제n 슬레이브 디바이스 200: 링 버퍼140 to 146: first to nth slave device 200: ring buffer
220: 직접 액세스 버퍼 240: 인터페이스 제어부220: direct access buffer 240: interface control unit
300 내지 304: 제1 내지 제n 슬롯 320: 링 버퍼 제어부300 to 304: first to n-th slot 320: ring buffer control unit
본 발명은 마스터 장치의 신호선 제어에 따라 버스 동작이 수행되어 데이터를 교환하는 직렬 버스 제어에 관한 것으로, 보다 상세하게는 복수의 슬레이브 디바이스에 대한 데이터들을 메인 프로세서의 제어에 상관없이 자동으로 소정 저장공간에 주기적으로 저장하도록 하여 메인 프로세서의 작업을 줄이는 직렬 버스 제어 장치 및 방법에 관한 것이다.The present invention relates to a serial bus control for exchanging data by performing a bus operation according to a signal line control of a master device. More particularly, the present invention relates to data storage for a plurality of slave devices regardless of the control of the main processor. The present invention relates to a serial bus control apparatus and method for reducing the work of the main processor by periodically storing the data.
도 1은 직렬 버스 제어 장치가 메인 프로세서와 복수의 슬레이브 디바이스들과 함께 연결된 상태를 나타내는 블록도이다. 종래의 직렬 버스 제어 장치(120)는 신호선을 버스 프로토콜(bus protocol)에 맞춰 제어하며, 비트 단위로 전송하는 역할을 담당하는 버스 인터페이스 제어부(미도시)와 메인 프로세서(100)가 전송할 데이터를 저장하거나 버스 인터페이스 제어부가 복수의 슬레이브 디바이스들(140 내지 146)로부터 제공받는 데이터를 저장하는 버퍼(미도시)로 구성된다. 예를 들면, I2C(Inter-Integrated Circuit)버스는 두 개의 신호선을 사용하여 다수의 슬레이브 디바이스들과 통신이 가능한 직렬버스로서 구현이 간단하여 널리 사용되고 있다.1 is a block diagram illustrating a state in which a serial bus control apparatus is connected with a main processor and a plurality of slave devices. The conventional serial
종래의 메인 프로세서(100), 직렬버스 제어장치(120) 및 복수의 슬레이브 디바이스들(140 내지 146) 사이의 동작을 설명하면 다음과 같다. 메인 프로세서(100)가 슬레이브 디바이스들(140 내지 146) 중 소정 슬레이브 디바이스의 데이터를 읽으려면, 먼저 직렬버스 제어장치(120)에 소정 슬레이브 디바이스의 어드레스와 동작 종류 및 길이 등을 설정하고, 읽기 동작을 수행하도록 직렬버스 제어장치(120)에 명령을 내린다. 그 후에, 메인 프로세서(100)는 소정 슬레이브 디바이스로부터 직렬버스를 통해 소정 슬레이브 디바이스의 데이터 전송이 완료되었다는 인터럽트 를 직렬버스 제어장치(120)로부터 제공받으면, 직렬버스 제어장치(120)에 저장된 소정 데이터를 읽어들인다. 반대로, 메인 프로세서(100)가 소정 슬레이브 디바이스에 데이터를 보내려면, 마찬가지로 직렬버스 제어장치(120)에 소정 슬레이브 디바이스의 어드레스와 동작 종류 및 길이 등을 설정하고, 전송할 데이터를 직렬버스 제어장치(120)의 버퍼에 저장하고, 직렬버스 제어장치(120)에 쓰기 명령을 내린다. 그 후에, 직렬버스 제어장치(120)는 저장된 데이터를 소정 슬레이브 디바이스로 전송한다. 데이터가 직렬 버스를 통해 소정 슬레이브 디바이스로의 전송이 완료되면, 직렬버스 제어장치(120)는 데이터가 전송되었다는 인터럽트를 메인 프로세서(100)로 전송한다. 슬레이브 디바이스들(140 내지 146)은 스스로 다른 슬레이브 디바이스로 데이터를 보내거나 다른 슬레이브 디바이스에서 데이터를 읽어 올 수 없다. 따라서, 슬레이브 디바이스들 간의 데이터 전송을 위해 직렬버스 제어장치(120)가 필요하다. 메인 프로세서(100)가 직렬 버스에 연결된 슬레이브 디바이스들에 접근하려 할 때는 마스터 기능을 가진 직렬버스 제어장치(120)를 통하여 접근하여야 한다. 메인 프로세서(100)가 직렬버스 제어장치(120)에 명령을 내린 후 결과를 얻기까지 걸리는 시간은 길다. 즉, 메인 프로세서(100)의 동작속도에 비하여 직렬버스 제어장치(120)의 동작속도가 느리기 때문에, 메인 프로세서(100)는 오랜 시간 동안 직렬버스 제어장치(120)의 동작 완료를 기다려야 하는 문제점이 있다. The operation between the conventional
또한, 직렬버스 제어장치(120)는 인터럽트를 사용하여 메인 프로세서(100)에 동작 완료를 알리게 되므로, 한 번의 동작 명령에 의해 한 번의 인터럽트 루틴을 처리해야 하며 두 번 이상의 작업 전환이 필요하게 되므로 메인 프로세서(100)의 작업 부담을 가중시키는 문제점이 있다.In addition, since the
본 발명이 이루고자 하는 기술적 과제는, 메인 프로세서의 슬레이브 디바이스들에 대한 접근 요구가 없어도, 메인 프로세서와 슬레이브 디바이스들 사이에 위치한 직렬 버스 제어장치에 슬레이브 디바이스들에 대한 데이터를 주기적으로 저장하도록 하는 직렬버스 제어장치를 제공하는데 있다.The technical problem to be achieved by the present invention is to serially store data for the slave devices periodically in the serial bus controller located between the main processor and the slave devices, even if there is no request for access to the slave devices of the main processor. To provide a control device.
본 발명이 이루고자 하는 다른 기술적 과제는, 메인 프로세서의 슬레이브 디바이스들에 대한 접근 요구가 없어도, 메인 프로세서와 슬레이브 디바이스들 사이에 위치한 직렬 버스 제어장치에 슬레이브 디바이스들에 대한 데이터를 주기적으로 저장하도록 하는 직렬버스 제어방법을 제공하는데 있다.Another technical problem to be solved by the present invention is to serially store data for slave devices periodically in a serial bus controller located between the main processor and the slave devices, even without requiring access to slave devices of the main processor. To provide a bus control method.
상기의 과제를 이루기 위해, 본 발명에 따른 직렬버스 제어장치는 제1 내지 제n 슬레이브 디바이스들에서 각각 생성된 제1 내지 제n 디바이스 데이터들을 수신하여 저장하는 링 버퍼, 제1 내지 제n 슬레이브 디바이스들 중 소정 슬레이브 디바이스에 대한 메인 프로세서의 액세스 요구에 의해, 메인 프로세서로부터 수신된 프로세스 데이터 또는 소정 슬레이브 디바이스에서 수신된 소정 디바이스 데이터를 저장하는 직접 엑세스 버퍼 및 링 버퍼 및 직접 엑세스 버퍼와 제1 내지 제n 슬레이브 디바이스들 사이에서 제1 내지 제n 데이터들 또는 프로세스 데이터를 송수신하는 인터페이스 제어부로 구성됨이 바람직하다.In order to achieve the above object, the serial bus controller according to the present invention is a ring buffer for receiving and storing the first to n-th device data generated in each of the first to n-th slave devices, the first to n-th slave device The direct access buffer and the ring buffer and the direct access buffer and the first to the first to store the process data received from the main processor or the predetermined device data received from the predetermined slave device by the request of the main processor access to the predetermined slave device among these; The interface controller may be configured to transmit and receive the first to nth data or process data between the n slave devices.
상기의 다른 과제를 이루기 위해, 본 발명에 따른 직렬버스 제어방법은 제1 내지 제n 슬레이브 디바이스들에서 각각 생성된 제1 내지 제n 디바이스 데이터들 중 제k(여기서, k는 1 보다 크거나 같고, n보다 작거나 같은 양의 정수) 데이터를 수신하여 링 버퍼에 저장하는 단계, 소정 주기 내에서 제1 내지 제n 디바이스 데이터들이 링 버퍼에 모두 저장되었는가를 판단하는 단계, 소정 주기 내에서 제1 내지 제n 디바이스 데이터들이 링 버퍼에 모두 저장되었다고 판단되면, 소정 주기가 경과하였는가를 판단하는 단계 및 소정 주기가 경과하였다고 판단되면, 링 버퍼에 제1 내지 제n 디바이스 데이터들의 저장이 요구되는가를 판단하는 단계를 구비하고, 메인 프로세서가 링 버퍼에 저장된 제1 내지 제n 디바이스 데이터들을 필요에 따라 액세스하는 것을 특징으로 한다.In order to achieve the above object, the serial bus control method according to the present invention is k of the first to n-th device data generated in the first to n-th slave devices respectively, where k is greater than or equal to 1 receiving a positive integer less than or equal to n) and storing the data in a ring buffer; determining whether all of the first to nth device data are stored in the ring buffer within a predetermined period; If it is determined that all of the n-th device data are stored in the ring buffer, determining whether a predetermined period has elapsed, and if it is determined that the predetermined period has elapsed, determining whether storage of the first to n-th device data is required in the ring buffer. And accessing the first to nth device data stored in the ring buffer as needed by the main processor. Shall be.
이하, 본 발명에 의한 직렬버스 제어장치를 첨부된 도면을 참조하여 다음과 같이 설명한다.Hereinafter, a serial bus control apparatus according to the present invention will be described with reference to the accompanying drawings.
도 2는 본 발명에 의한 직렬 버스 제어장치를 설명하기 위한 일 실시예의 블록도로서, 링 버퍼(200), 직접 액세스 버퍼(220) 및 인터페이스 제어부(240)로 구성된다.2 is a block diagram of an embodiment for explaining a serial bus control apparatus according to the present invention, and includes a
링 버퍼(200)는 제1 내지 제n 슬레이브 디바이스들(140 내지 146)에서 각각 생성된 제1 내지 제n 디바이스 데이터들을 인터페이스 제어부(240)로부터 수신하여 저장한다. 링 버퍼(200)는 수신된 제1 내지 제n 디바이스 데이터들 중 소정 디바이스 데이터에 대한 액세스를 메인 프로세서(100)로부터 입력단자 IN1을 통해 요구받아서, 소정 디바이스 데이터를 출력단자 OUT1을 통해 메인 프로세서(100)로 출력한다.The
도 3은 도 2에 도시된 링 버퍼(200)를 설명하기 위한 일 실시예(200A)의 블록도로서, 제1 내지 제n 슬롯들(300 내지 304) 및 링 버퍼 제어부(320)로 구성된다.FIG. 3 is a block diagram of an
제1 내지 제n 슬롯들(300 내지 304)은 상태 레지스터(Status Register), 디바이스 어드레스 레지스터(Device Address Register) 및 디바이스 데이터 저장공간 등을 각각 구비한다. 상태 레지스터는 통신상태, 디바이스 데이터 저장공간의 길이 및 슬롯의 업데이트 여부 등을 기록한다. 디바이스 어드레스 레지스터는 슬롯과 통신할 소정 슬레이브 디바이스의 어드레스를 저장한다. 디바이스 데이터 저장공간은소정 슬레이브 디바이스로부터 수신된 디바이스 데이터가 저장되는 저장 공간으로, 디바이스 데이터 저장공간에 저장된 디바이스 데이터가 메인 프로세서(100)로부터 액세스되어 메인 프로세서(100)로 출력된다. 제1 내지 제n 슬롯들(300 내지 304)은 링 버퍼 제어부(320)의 제어에 의해, 주기적으로 제1 내지 제n 슬레이브 디바이스들로부터 제공된 제1 내지 제n 디바이스 데이터들을 순차적으로 저장한다.The first to
링 버퍼 제어부(320)는 소정 주기마다 제1 내지 제n 슬롯들(300 내지 304)이 제1 내지 제n 슬레이브 디바이스들(140 내지 146)로부터 순차적으로 제1 내지 제n 디바이스 데이터들을 저장하도록 제어한다. 즉, 링 버퍼 제어부(320)는 설정된 소정 주기마다 제1 내지 제n 슬롯들(300 내지 304)이 제1 내지 제n 슬레이브 디바이스들(140 내지 146)과 순차적으로 통신하여, 제1 내지 제n 디바이스 데이터들을 각각의 슬롯에 저장하도록 제어한다. 소정 주기는 링 버퍼 제어부(320)가 제1 내지 제n 슬롯들(300 내지 304)에 제1 내지 제n 디바이스 데이터들을 각각 저장할 수 있 을 만큼의 상당한 시간 이상이 되도록 설정한다.The
직접 액세스 버퍼(220)는 제1 내지 제n 슬레이브 디바이스들(140 내지 146) 중 소정 슬레이브 디바이스에 대한 메인 프로세서(100)의 액세스 요구에 의해, 메인 프로세서(100)로부터 수신된 프로세스 데이터 또는 소정 슬레이브 디바이스에서 수신된 소정 디바이스 데이터를 저장한다. 제1 내지 제n 슬레이브 디바이스들 중 소정 슬레이브 디바이스에 대하여 쓰기(write) 명령을 수행하기 위해, 메인 프로세서(100)는 소정 슬레이브 디바이스에 대한 쓰기 명령의 대상이 되는 데이터인 프로세스 데이터를 직접 액세스 버퍼(220)로 전송한다. 전송된 프로세스 데이터는 입력단자 IN1을 통해 입력되어 직접 액세스 버퍼(220)에 저장되었다가 메인 프로세서(100)의 쓰기 명령에 의해 인터페이스 제어부(240)를 통해 소정 슬레이브 디바이스로 전송된다. 제1 내지 제n 슬레이브 디바이스들 중 소정 슬레이브 디바이스에 대하여 읽기(read) 명령을 수행하기 위해, 메인 프로세서(100)는 입력단자 IN1을 통해 직접 액세스 버퍼(220)에 읽기 명령을 내린다. 직접 액세스 버퍼(220)는 소정 슬레이브 디바이스로부터 메인 프로세서(100)가 요구한 소정 디바이스 데이터를 수신하고, 수신이 완료된 소정 디바이스 데이터를 출력단자 OUT1을 통해 메인 프로세서(100)로 전송한다. The
인터페이스 제어부(240)는 링 버퍼(200) 및 직접 엑세스 버퍼(220)와 제1 내지 제n 슬레이브 디바이스들(140 내지 146) 사이에서 제1 내지 제n 데이터들 또는 프로세스 데이터를 송수신한다. 인터페이스 제어부(240)는 제1 내지 제n 슬레이브 디바이스들(140 내지 146)로부터 입력단자 IN2을 통해 주기적으로 수신된 제1 내지 제n 디바이스 데이터들을 링 버퍼(200)에 저장하도록 인터페이스 한다. 또한, 인터페이스 제어부(240)는 직접 엑세스 버퍼(220)에 저장된 프로세스 데이터를 입력받아서, 프로세스 데이터를 출력단자 OUT2를 통해 소정 슬레이브 디바이스로 전송하도록 인터페이스 한다.The
이하, 본 발명에 의한 직렬버스 제어방법을 첨부된 도면을 참조하여 다음과 같이 설명한다.Hereinafter, a serial bus control method according to the present invention will be described with reference to the accompanying drawings.
도 4는 본 발명에 의한 직렬 버스 제어방법을 설명하기 위한 일 실시예의 플로차트로서, 슬레이브 디바이스들의 디바이스 데이터들을 주기적으로 링 버퍼에 저장하고, 저장된 디바이스 데이터들을 메인 프로세서에서 필요에 따라 액세스하는 단계(제500 ~ 제514 단계들)로 이루어진다.FIG. 4 is a flowchart illustrating an example of a method of controlling a serial bus according to an embodiment of the present invention, in which device data of slave devices are periodically stored in a ring buffer, and the stored device data is accessed in a main processor as needed. 500 to 514 steps).
먼저, 제1 내지 제n 슬레이브 디바이스들에서 각각 생성된 제1 내지 제n 디바이스 데이터들 중 제k(여기서, k는 1 보다 크거나 같고, n보다 작거나 같은 양의 정수) 디바이스 데이터를 수신하여 링 버퍼(200)에 저장한다(제500 단계). First, k-th (where k is a positive integer greater than or equal to 1 and less than or equal to n) of the first to n-th device data generated by the first to n-th slave devices, respectively, The
제500 단계 후에, 메인 프로세서(100)로부터 제1 내지 제n 슬레이브 디바이스들(140 내지 146) 중 소정 슬레이브 디바이스에 대한 액세스가 요구되는가를 판단한다(제502 단계). 소정 슬레이브 디바이스에 대한 액세스 요구는 메인 프로세서(100)에서 링 버퍼(200)에 저장된 제1 내지 제n 디바이스 데이터들 중 어느 하나에 대해 액세스를 요구하는 것이 아니라, 직접 액세스 버퍼(220)를 통해 소정 슬레이브 디바이스에 대한 현재의 디바이스 데이터에 대해 액세스를 요구하는 것을 의미한다. After
만일, 메인 프로세서(100)로부터 제1 내지 제n 슬레이브 디바이스들(140 내지 146) 중 소정 슬레이브 디바이스에 대한 액세스가 요구되지 않는다고 판단되면, 제506 단계로 진행한다If it is determined from the
그러나, 메인 프로세서(100)로부터 소정 슬레이브 디바이스에 대한 액세스가 요구된다고 판단되면, 메인 프로세서(100)로부터 수신된 프로세스 데이터 또는 소정 슬레이브 디바이스에서 수신된 소정 디바이스 데이터를 직접 액세스 버퍼(220)에 저장한다(제504 단계). 메인 프로세서(100)로부터 프로세스 데이터가 수신되어 직접 액세스 버퍼(220)에 저장되어 있다가, 메인 프로세서(100)의 쓰기 명령에 의해 프로세스 데이터가 소정 슬레이브 디바이스로 전송된다. 한편, 메인 프로세서(100)의 읽기 명령에 의해 소정 슬레이브 디바이스로부터 수신된 소정 디바이스 데이터가 직접 액세스 버퍼(220)에 저장되어 있다가, 메인 프로세서(100)로 소정 디바이스 데이터가 전송된다. However, when it is determined that access to a predetermined slave device is required from the
제502 또는 제504 단계 후에, 소정 주기 내에서 제1 내지 제n 디바이스 데이터들이 링 버퍼(200)에 모두 저장되었는가를 판단한다(제506 단계). 소정 주기는 제1 내지 제n 디바이스 데이터들을 링 버퍼(200)에 각각 저장할 수 있을 만큼의 상당한 시간 이상이 되도록 설정한다. 만일, 소정 주기 내에서 제1 내지 제n 디바이스 데이터들 중 어느 하나 이상이 링 버퍼(200)에 저장되지 않았다고 판단되면, 제500 단계로 진행한다. 즉, 소정 주기 내에서 제1 내지 제n 디바이스 데이터들 중 어느 하나 이상이 링 버퍼(200)에 저장되지 않았다고 판단되면, 소정 주기 내에 링 버퍼(200)에 저장되지 아니한 나머지 디바이스 데이터들을 저장하기 위한 단계들( 제500 내지 제504단계)을 반복적으로 수행한다. 즉, 전술한 제500 단계 내지 제504 단계를 n회에 걸쳐서 반복함으로써, 소정 주기 내에 제1 내지 제n 디바이스 데이터들을 링 버퍼(200)에 저장하도록 한다. After
그러나, 소정 주기 내에서 제1 내지 제n 디바이스 데이터들이 링 버퍼(200)에 모두 저장되었다고 판단되면, 소정 주기가 경과하였는가를 판단한다(제508 단계). However, if it is determined that all of the first to nth device data are stored in the
만일, 소정 주기가 경과하였다고 판단되면, 링 버퍼(200)에 제1 내지 제n 디바이스 데이터들의 저장이 요구되는가를 판단한다(제510 단계). 제1 내지 제n 디바이스 데이터들의 저장 요구는 링 버퍼(200)에 새로운 이전 소정 주기에 저장된 제1 내지 제n 디바이스 데이터들에 대해 업데이트가 요구되는가를 판단함으로써 결정된다. 링 버퍼(200)에 제1 내지 제n 디바이스 데이터들의 저장이 요구되지 않는다면, 즉, 제1 내지 제n 디바이스 데이터들의 업데이트가 요구되지 않는다면 전술한 단계들을 종료한다. 그러나, 링 버퍼(200)에 제1 내지 제n 디바이스 데이터들의 저장이 요구된다면, 제1 내지 제n 디바이스 데이터들의 업데이트를 위해 제500 단계로 진행한다.If it is determined that the predetermined period has elapsed, it is determined whether the
한편, 제508 단계에서 소정 주기가 경과하지 않았다고 판단되면, 메인 프로세서(100)로부터 제1 내지 제n 슬레이브 디바이스들(140 내지 146) 중 소정 슬레이브 디바이스에 대한 액세스가 요구되는가를 판단한다(제512 단계). 제502 단계에서 기술한 바와 같이, 소정 슬레이브 디바이스에 대한 액세스 요구는 메인 프로세서(100)에서 링 버퍼(200)에 저장된 제1 내지 제n 디바이스 데이터들 중 어 느 하나에 대해 액세스를 요구하는 것이 아니라, 직접 액세스 버퍼(220)를 통해 소정 슬레이브 디바이스에 대한 현재의 디바이스 데이터에 대해 액세스를 요구하는 것을 의미한다. On the other hand, if it is determined in
만일, 메인 프로세서(100)로부터 제1 내지 제n 슬레이브 디바이스들(140 내지 146) 중 소정 슬레이브 디바이스에 대한 액세스가 요구되지 않는다고 판단되면, 제508 단계로 진행하여, 제508 단계 및 이 후의 단계를 수행한다. If it is determined from the
그러나, 메인 프로세서(100)로부터 소정 슬레이브 디바이스에 대한 액세스가 요구된다고 판단되면, 메인 프로세서(100)로부터 수신된 프로세스 데이터 또는 소정 슬레이브 디바이스에서 수신된 소정 디바이스 데이터를 직접 액세스 버퍼(220)에 저장하고 제508 단계로 다시 진행한다(제514 단계). 제504 단계에서 기술된 바와 같이, 직접 액세스 버퍼(220)에 저장된 소정 디바이스 데이터는 메인 프로세서(100)로 전송된다. 또한, 직접 액세스 버퍼(220)에 저장된 프로세스 데이터는 소정 슬레이브 디바이스로 전송된다. However, when it is determined that access to a predetermined slave device is required from the
이상에서 설명한 바와 같이, 본 발명에 의한 직렬 버스 제어장치 및 방법은 메인 프로세서의 슬레이브 디바이스들에 대한 접근 요구가 없어도, 메인 프로세서와 슬레이브 디바이스들 사이에 위치한 직렬 버스 제어장치에 슬레이브 디바이스들에 대한 데이터를 주기적으로 저장하도록 함으로써, 직렬 버스의 제어에 관련된 메인 프로세서의 작업을 줄이고 소프트웨어의 구조를 단순화시키는 효과가 있다.As described above, the serial bus control apparatus and method according to the present invention does not require access to the slave devices of the main processor, but the data for the slave devices in the serial bus controller located between the main processor and the slave devices. By periodically storing the, it is possible to reduce the work of the main processor related to the control of the serial bus and to simplify the structure of the software.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030079166A KR100584583B1 (en) | 2003-11-10 | 2003-11-10 | Serial bus control device and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030079166A KR100584583B1 (en) | 2003-11-10 | 2003-11-10 | Serial bus control device and method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050045195A KR20050045195A (en) | 2005-05-17 |
KR100584583B1 true KR100584583B1 (en) | 2006-05-30 |
Family
ID=37244919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030079166A Expired - Fee Related KR100584583B1 (en) | 2003-11-10 | 2003-11-10 | Serial bus control device and method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100584583B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101709210B1 (en) * | 2011-01-07 | 2017-02-22 | 콘티넨탈 오토모티브 시스템 주식회사 | Interface method bt means of ring buffer |
-
2003
- 2003-11-10 KR KR1020030079166A patent/KR100584583B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR20050045195A (en) | 2005-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7035956B2 (en) | Transmission control circuit, reception control circuit, communications control circuit, and communications control unit | |
KR20060052936A (en) | Prefetch Control in Data Processing Systems | |
KR20070039120A (en) | Method and apparatus for accessing data in message memory of communication components | |
KR100981461B1 (en) | Method for controlling access to data in message memory of communication chip by communication chip and message manager | |
US6275498B1 (en) | Extended PHY addressing | |
JP3651573B2 (en) | Control method for factory automation system, central controller for factory automation system | |
KR100584583B1 (en) | Serial bus control device and method | |
US5404137A (en) | High speed transition signalling communication system | |
KR100229897B1 (en) | Timing Mode Selection Device According to Direct Memory Access Transmission Method | |
JP4119582B2 (en) | Transfer control method and information processing apparatus | |
JP3930990B2 (en) | Computer system with interface between memory and peripheral device and method for selecting a communication parameter set | |
KR100361511B1 (en) | Multi-Function Serial Communication Interface Device | |
JPH10289196A (en) | Computer and transfer method for peripheral device control data in computer | |
JPS60142768A (en) | Data transfer device | |
JPH05334232A (en) | Dma transfer controller | |
KR100295683B1 (en) | General call acknowledge apparatus and method for inter-integrated circuit | |
JP2006304011A (en) | Interface circuit | |
KR100244681B1 (en) | Robot multi-motor control system and communication method of the system | |
JP4854598B2 (en) | Data transfer control device | |
JPH11249713A (en) | Master station unit for remote input and output device | |
JP3505540B2 (en) | Data transfer device | |
KR100962306B1 (en) | Bidirectional Data Communication Device of Embedded System and Its Method | |
KR20050107159A (en) | Bus controller for serial interface of system | |
KR20230119306A (en) | Memory access method | |
JPH11184827A (en) | Master slave device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20031110 |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20051114 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20060428 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20060523 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20060524 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20090429 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20100429 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20110428 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20120427 Start annual number: 7 End annual number: 7 |
|
FPAY | Annual fee payment |
Payment date: 20130429 Year of fee payment: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20130429 Start annual number: 8 End annual number: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140429 Year of fee payment: 9 |
|
PR1001 | Payment of annual fee |
Payment date: 20140429 Start annual number: 9 End annual number: 9 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20160409 |