KR100285956B1 - 고속직렬버스에연결된동기식및비동기식장치의제어시스템과제어방법 - Google Patents

고속직렬버스에연결된동기식및비동기식장치의제어시스템과제어방법 Download PDF

Info

Publication number
KR100285956B1
KR100285956B1 KR1019980025470A KR19980025470A KR100285956B1 KR 100285956 B1 KR100285956 B1 KR 100285956B1 KR 1019980025470 A KR1019980025470 A KR 1019980025470A KR 19980025470 A KR19980025470 A KR 19980025470A KR 100285956 B1 KR100285956 B1 KR 100285956B1
Authority
KR
South Korea
Prior art keywords
microcontroller
area
request
serial bus
speed serial
Prior art date
Application number
KR1019980025470A
Other languages
English (en)
Other versions
KR20000004082A (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 KR1019980025470A priority Critical patent/KR100285956B1/ko
Priority to US09/342,830 priority patent/US6510484B1/en
Publication of KR20000004082A publication Critical patent/KR20000004082A/ko
Application granted granted Critical
Publication of KR100285956B1 publication Critical patent/KR100285956B1/ko

Links

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
    • 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
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol

Abstract

본 발명은 고속 직렬 버스에 연결된 동기식 및 비동기식 장치의 제어 장치 및 방법을 제공한다. 본원 발명은 응용 소프트웨어로부터의 요청 및 그 응답을 처리함으로써 고속 직렬 버스에 연결된 동기식 및 비동기식 장치를 제어하는 장치에 있어서, 고속 직렬 버스에 연결된 장치에 대한 정보를 저장하는 공유 메모리와, 상기 고속 직렬 버스에 연결되고 상기 공유 메모리와 통신하며 상기 고속 직렬 버스에 연결된 장치를 제어하는 마이크로 제어기와, 상기 응용 소프트웨어에서 발생한 요청과 상기 동기식 및 비동기식 장치로부터의 응답을 상기 공유 메모리를 이용하여 상기 마이크로 제어기와 통신함으로써 처리하는 마이크로 제어기 장치 드라이버와, 상기 고속 직렬 버스에 연결되고 상기 마이크로 제어기의 제어를 받는 비동기식 장치인 복수의 마스터 장치와, 상기 고속 직렬 버스에 연결되고 상기 마이크로 제어기의 제어를 받는 동기식 장치인 복수의 슬레이브 장치를 구비함을 특징으로 한다.

Description

고속 직렬 버스에 연결된 동기식 및 비동기식 장치의 제어 장치 및 방법{APPARATUS AND METHOD FOR CONTROLLING SYNCHRONOUS AND ASYNCHRONOUS DEVICES CONNECTED TO HIGH SPEED SERIAL BUS }
본 발명은 고속 직렬 버스에 연결된 동기식 장치와 비동기식 장치의 제어 장치 및 제어 방법에 관한 것으로서, 더욱 상세하게는 고속 직렬 버스에 연결된 비동기식 마스터 장치와 동기식 슬레이브 장치의 요청·응답에 대한 분석 및 공통의 인터페이스를 제공하는 제어 장치 및 제어 방법에 관한 것이다.
고속 직렬 버스(Inter-IC: I2C) 시스템은 마이크로 컨트롤러와 주변 컨트롤러를 조합한 구성을 갖는다. 이러한 시스템에서, 클록 주파수를 제어하고 버스 라인 상에서의 신호 트랜스퍼(transfer)를 제어하는 장치가 마스터 장치이고, 마스터 장치에 의해 제어되는 장치가 슬레이브 장치이다. 마스터 장치는 슬레이브 장치에 신호를 전송하거나 슬레이브 장치로부터 신호를 수신하고, 혹은 2개의 슬레이브(그 중 하나는 송신기, 다른 하나는 수신기)간의 신호 트랜스퍼를 제어한다. 몇 개의 슬레이브에 추가하여 고속 직렬 버스에 대해 몇 개의 마스터를 결합함으로써 멀티마스터 시스템을 구성할 수도 있다.
도 1은 이러한 종래의 슬레이브 장치의 제어 장치 구성도이다. 도 1에 도시된 바와 같이, 종래의 고속 직렬 버스에 연결된 장치 제어를 위한 시스템은 소프트웨어부와 하드웨어부로 구성된다. 소프웨어부는 응용 소프트웨어 블록(100) 및 마이크로 제어기 장치 드라이버(110)를 포함하고, 하드웨어부는 중앙 처리 장치(130), 시스템 메모리(140), 공유 메모리(150), 마이크로 제어기(160) 및 복수의 슬레이브(Slave) 장치(180,…,190) 등을 포함한다. 시스템 메모리(140)와 공유 메모리(150)는 시스템 버스(120)를 통해 중앙 처리 장치(130)에 연결되어 있다. 응용 소프트웨어 블록(100)이 슬레이브 장치를 제어하기 위한 요청을 발생하면, 마이크로 제어기 장치 드라이버(110)는 마이크로 제어기(160)를 구동시킨다. 마이크로 제어기(160)는 공유 메모리(150) 및 고속 직렬 버스(120)에 연결되며, 공유 메모리에 입력된 슬레이브 장치에 대한 요청을 받아 슬레이브 장치를 제어한다. 공유 메모리(140)는 마이크로 제어기(160)에 관련한 정보 저장 영역, 고속 직렬 버스에 연결된 슬레이브 장치에 관련한 슬레이브 제어 영역, 슬레이브 명령 영역 및 슬레이브 응답 영역을 갖는다.
이어서, 고속 직렬 버스 상에서 슬레이브 장치를 제어하는 방법에 대해 설명한다. 응용 소프트웨어 블럭(100)이 고속 직렬 버스(170)에 연결된 슬레이브 장치(180,…,190)를 제어할 것을 요청하면 마이크로 제어기(160)는 슬레이브 장치에 엑세스하기 위한 동작을 실행한다(device open). 그러면 마이크로 제어기는 응용 소프트웨어 블록에 의해 제어되도록 요구된 슬레이브 장치를 엑세스하여 요청을 실행한다(device write). 이러한 요청에 대해 슬레이브 장치로부터 응답이 있으면 이 슬레이브 장치에 대해 응답 처리(device read)한 후, 엑세스 종료(device close)한다.
그러나 이러한 종래 기술에 의한 슬레이브 장치 제어 장치는 슬레이브 장치만을 고려하여 처리하기 때문에 마스터 장치에 대한 처리를 할 수 없고, 그에 따라 마스터 장치를 제어하기 위한 인터페이스를 구현하였다. 이는 마스터 장치의 제어 장치를 별도로 전술한 슬레이브 장치의 제어 장치와 유사하게 구성해야 한다는 것을 의미한다. 예컨대, 응용 소프트웨어 블록(100)에서 마스터 장치에 대한 요청이 발생하면 도 1에 도시하지 않았지만 마스터 장치 제어 전용 마이크로 제어기와 그 장치 드라이버 및 관련 주변 장치를 필요로 하였다. 또한 응용 소프트웨어 블록에서도 마스터 장치에 대해 별도의 제어를 고려하는 문제점이 있었다.
따라서 본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 창안된 것으로서, 비동기식인 마스터 장치와 동기식인 슬레이브 장치의 요청·응답에 대한 분석 및 공통의 인터페이스를 제공하는 제어 장치 및 방법의 제공을 목적으로 한다.
또한, 본 발명은 응용 소프트웨어의 요청을 분석하여 마스터 장치와 슬레이브 장치에 대해서 요청을 분리하여 처리하는 것을 목적으로 한다.
또, 본 발명은 마이크로 제어기에서 발생한 응답을 분석하여 마스터 장치와 슬레이브 장치에 대해서 응답을 분리하여 처리하는 것을 목적으로 한다.
도 1 은 종래 기술에 의한 동기식 장치의 제어 장치 구조도이다.
도 2 는 본 발명에 의한 동기식 및 비동기식 장치의 제어 장치 구조도이다.
도 3 은 본 발명에 의한 고속 직렬 버스에 연결된 장치의 요청 처리 흐름도이다.
도 4 는 본 발명에 의한 고속 직렬 버스에 연결된 장치의 응답 처리 흐름도이다.
〈도면의 주요 부분에 대한 부호의 설명〉
100 : 응용 소프트웨어 110 : 마이크로 제어기 장치 드라이버
120 : 시스템 버스 130 : 중앙 연산 장치
140 : 시스템 메모리 150 : 공유 메모리
152 : 마이크로 제어기 정보 저장 영역
154 : 슬레이브 장치 제어 영역 156 : 슬레이브 장치 명령 영역
158 : 슬레이브 장치 응답 영역 160 : 마이크로 제어기
170 : 고속 직렬 버스 180, 190 : 슬레이브 장치
200 : 응용 소프트웨어 210 : 마이크로 제어기 장치 드라이버
220 : 시스템 버스 230 : 중앙 연산 장치
240 : 시스템 메모리 250 : 마이크로 제어기
260 : 공유 메모리 262 : 마이크로 제어기 정보 저장 영역
264 : 슬레이브 장치 제어 영역 266 : 마스터 장치 제어 영역
268 : 슬레이브 장치 명령 영역 270 : 고속 직렬 버스
272 : 마스터 장치 명령 영역 274 : 슬레이브 장치 응답 영역
276 : 마스터 장치 응답 영역 280, 290 : 슬레이브 장치
300, 310 : 마스터 장치
상기 목적을 달성하기 위하여 본 발명은 응용 소프트웨어로부터 요청 및 그 응답을 처리함으로써 고속 직렬 버스에 연결된 동기식 및 비동기식 장치를 제어하는 장치에 있어서, 고속 직렬 버스에 연결된 장치에 대한 정보를 저장하는 공유 메모리와, 상기 고속 직렬 버스에 연결되고 상기 공유 메모리와 통신하며 상기 고속 직렬 버스에 연결된 장치를 제어하는 마이크로 제어기와, 상기 응용 소프트웨어에서 발생한 요청과 상기 동기식 및 비동기식 장치로부터의 응답을 상기 공유 메모리를 이용하여 상기 마이크로 제어기와 통신함으로써 마이크로 제어기 장치 드라이버와, 상기 고속 직렬 버스에 연결되고 상기 마이크로 제어기의 제어를 받는 비동기식 장치인 복수의 마스터 장치와, 상기 고속 직렬 버스에 연결되고 상기 마이크로 제어기의 제어를 받는 동기식 장치인 복수의 슬레이브 장치를 구비함을 특징으로 한다.
또한, 본 발명은 고속 직렬 버스에 연결된 동기식 및 비동기식 장치를 공통의 인터페이스로 제어하는 방법에 있어서, 응용 소프트웨어에서 고속 직렬 버스에 연결된 동기식 및 비동기식 장치에 대한 요청을 발생하는 단계와, 상기 요청을 동기식 및 비동기식 장치에 대해 구분하여 처리하는 요청 처리 단계와, 상기 요청 처리 단계 후, 상기 동기식 및 비동기식 장치들의 응답을 구분하여 응용 소프트웨어에 대해 처리하는 응답 처리 단계를 포함함을 특징으로 한다.
본 발명의 또 다른 목적과 장점은 도면을 참조한 이하의 발명의 상세한 설명으로부터 보다 명백해질 것이다.
이하 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명에서 구체적인 구성 소자 등과 같은 특정 사항들이 나타나고 잇는데 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들이 본 발명의 범위 내에서 소정의 변형이나 혹은 변경이 이루어질 수 있음은 이 기술 분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다.
또한, 잘 알려진 직렬 고속 버스(I2C)의 특징 및 기능들은 본 발명을 모호하지 않게 하기 위해 상세히 설명하지 않으며, 동일 용어에 대해서는 설명 및 이해의 편의상 영문 이니셜 또는 국어 해석용어를 병용한다.
도 2는 본 발명에 의한 동기식 및 비동기식 장치의 제어 장치의 구조도이다. 본 발명에 의한 제어 장치는, 마이크로 제어기 장치 드라이버를 통해 슬레이브 장치 및 마스터 장치를 모두 제어할 수 있다. 이 동기식 및 비동기식 장치의 제어 장치는 공유 메모리(260), 마이크로 제어기(250), 마이크로 제어기 장치 드라이버(210), 복수의 마스터 장치(300,…,310) 및 복수의 슬레이브 장치(280,…,290)를 포함한다. 마이크로 제어기 장치 드라이버(210)는 상기 응용 소프트웨어에서 발생한 요청과 상기 동기식 및 비동기식 장치로부터의 응답을 상기 공유 메모리를 이용하여 상기 마이크로 제어기와 통신한다. 본 발명의 제어 장치는 응용 소프트웨어 블록(200)에서 고속 직렬 버스 장치에 대한 요청이 발생하면, 응용 소프트웨어의 요청을 분석하여 이 요청이 마스터 장치에 대한 것인지 또는 슬레이브 장치에 대한 것인지를 판별하고, 또한 고속 직렬 버스 장치(300, 310, 280, 290)로부터의 응답이 있으면, 이 응답이 마스터 장치에 대한 것인지 또는 슬레이브 장치에 대한 것인지를 판별한다. 본 발명의 시스템은 이러한 판별에 기초하여 공유 메모리의 고속 직렬 버스 장치에 관련한 해당 메모리 영역을 제어함으로써, 하나의 마이크로 제어기 장치 드라이버를 통해, 비동기식 장치인 마스터 장치와 동기식 장치인 슬레이브 장치를 제어할 수 있게 된다. 마스터 장치(280, 290)와 슬레이브 장치(300, 310)는 고속 직렬 버스에 연결되어 마이크로 제어기의 제어를 받는다. 마이크로 제어기(250)는 고속 직렬 버스(270) 및 공유 메모리(260)에 연결되고, 고속 직렬 버스 장치에 대한 요청 및 응답을 처리한다. 이들 고속 직렬 버스 장치(300, 310, 280, 290)에 대한 요청 및 응답은 마이크로 제어기와 마이크로 제어기 장치 드라이버와의 사이에서 공유 메모리(240)를 이용하여 이루어진다. 이 공유 메모리(260)에는 마이크로 제어기에 관한 정보 영역과 마스터 장치와 슬레이브 장치에 대한 각각의 요청/응답을 위한 고유의 영역을 갖는다.
공유 메모리(260)의 고유 영역은 마이크로 제어기의 정보를 저장하는 영역(262); 슬레이브 장치의 제어 신호 정보를 저장하는 영역(264); 마스터 장치의 제어 신호 정보를 저장하는 영역(266); 슬레이브 장치의 명령 신호 정보를 저장하는 영역(268); 마스터 장치의 명령 신호 정보를 저장하는 영역(272); 슬레이브 장치의 응답 신호 정보를 저장하는 영역(274); 및 마스터 장치의 응답 신호 정보를 저장하는 영역(276)을 포함한다. 슬레이브 장치 제어 영역(264), 슬레이브 장치 명령 영역(268) 및 슬레이브 장치 응답 영역(274)은 슬레이브 장치(280, 290)에 관련한 요청 및 응답을 처리하는 경우 사용되고, 마스터 장치 제어 영역(264), 마스터 장치 명령 영역(268) 및 마스터 장치 응답 영역(274)은 마스터 장치(300, 310)에 관련한 요청 및 응답을 처리하는 경우 사용된다.
도 3은 본 발명에 의한 고속 직렬 버스 장치에 대한 요청의 처리를 나타내는 흐름도이다.
도 2 및 도 3을 참조하면, 응용 소프트웨어 블록(200)에서 고속 직렬 버스 장치에 대한 요청을 발생하면(단계 400), 단계 410에서 요청을 버퍼링하는 버퍼가 비어 있는지를 조사한다. 버퍼가 비어 있으면, 단계 415에서 에러 처리하고 복귀한다. 단계 410에서 요청 버퍼가 비어 있지 않으면, 단계 420에서 버퍼에 저장되어 있는 요청이 마스터 장치 또는 슬레이브 장치에 대한 것인지를 판단한다. 이러한 판단은 요청 버퍼에 저장되어 있는 요청에 포함되어 있는 고속 직렬 버스 장치의 어드레스를 이용하여 가능하다. 단계 420에서, 요청이 마스터 장치에 대한 것으로 판단되면, 마스터 장치의 요청을 나타내는 비트를 1로 세트한다. 이어서 단계 430에서는, 마이크로 제어기 장치 드라이버(210)에 관련하여 공유 메모리의 마스터 장치 제어 영역에 있는 제어 비트 예컨대, ready 비트, go 비트 및 ok 비트를 세트/리셋하고, 마이크로 제어기 장치 드라이버의 타겟 메모리를 공유 메모리(260)의 마스터 장치 명령 영역(272)의 어드레스로 설정한다.
또한, 단계 420에서 요청이 슬레이브 장치에 대한 것으로 판단되면, 단계 425에서 마스터 장치의 요청을 나타내는 비트를 0으로 리셋하여, 요청이 슬레이브 장치에 대한 것임을 나타낸다. 이어서 단계 435에서는, 마이크로 제어기 장치 드라이버(210)에 관련하여 공유 메모리의 슬레이브 장치 제어 영역(264)에 있는 제어 비트 예컨대, ready 비트, go 비트 및 ok 비트를 세트/리셋하고, 마이크로 제어기 장치 드라이버의 타겟 메모리를 공유 메모리(260)의 슬레이브 장치 명령 영역(268)의 어드레스로 설정하고, 단계 450으로 진행한다.
단계 450에서, 마이크로 제어기 장치 드라이버(210)의 해당 장치에 관한 ready 비트에 해당하는 공유 메모리(260)의 ready 비트가 일정 시간 동안 세트되는 지를 조사한다. 공유 메모리(260)의 해당 장치 제어 영역의 ready 비트가 일정 시간 세트되지 않으면, 단계 455에서 에러 처리하고 복귀한다. 단계 450에서, 공유 메모리(260)의 ready 비트가 일정 시간내에 세트되면, 해당 요청을 마이크로 제어기가 받을 준비가 되어 있다는 것을 나타낸다. 그러면, 단계 460에서 공유 메모리의 ready 비트를 리셋하고, 요청 버퍼의 내용을 공유 메모리의 타겟 어드레스 영역으로 라이트한 후, 마이크로 제어기가 요청을 실행할 수 있도록 공유 메모리의 해당 장치 제어 영역의 go 비트를 세트한다. 단계 470에서 상기 마이크로 제어기 장치 드라이버(210)의 ready 비트가 세트되면, 마이크로 제어기가 고속 직렬 버스 장치에 대한 요청을 처리하였다는 것을 나타내며 이어서, 요청에 대한 실행 상태를 성공 상태로 하고 복귀한다.
도 4는 본 발명에 의한 고속 직렬 버스 장치로부터의 응답의 처리를 나타내는 흐름도이다.
도 2를 참조하면, 응용 소프트웨어 블록(200)에서 발생한 고속 직렬 버스 장치에 대한 요청에 대해 마스터 장치(280, 290)와 슬레이브 장치(300, 310)로부터 응답이 발생하면, 이 응답은 고속 직렬 버스(270)를 통해 마이크로 제어기(250)에 전송된다. 그러면, 마이크로 제어기(250)에서 고속 직렬 버스 장치의 응답을 마이크로 제어기 장치 드라이버(210)에 인터럽트 방식으로 전달한다.
도 4를 참조하면, 마이크로 제어기로부터 인터럽트가 발생하면, 대기 상태에 있던 마이크로 제어기 장치 드라이버의 인터럽트 관리자가 호출된다. 그러면, 단계 510에서 공유 메모리(260)의 슬레이브 장치 제어 영역(264)에 있는 인터럽트 신호가 세트되어 있는 지를 판단한다. 상기 슬레이브 장치에 관한 인터럽트 신호가 세트되어 있으면, 단계 520에서 마이크로 제어기(250) 응답 영역의 주소를 슬레이브 장치의 응답 영역의 주소로 설정하여 마이크로 제어기의 응답 영역을 해당 장치의 응답 영역으로 설정하고 단계 530으로 진행한다.
단계 510에서 공유 메모리의 슬레이브 장치 제어 영역에 있는 인터럽트 신호가 세트되어 있지 않으면, 단계 515에서 다시 마스터 장치 제어 영역(266)에 있는 인터럽트 신호가 세트되어 있는 지를 판단한다. 이 인터럽트 신호가 세트되어 있지 않으면, 에러 처리하고 복귀한다. 단계 515에서 마스터 장치에 관한 입터럽트 신호가 세트되어 있으면, 단계 525에서 마이크로 제어기(250) 응답 영역의 주소를 마스터 장치의 응답 영역의 주소로 설정하여 마이크로 제어기 응답 영역을 해당 장치의 응답 영역으로 설정하고 단계 530으로 진행한다.
단계 530에서는, 공유 메모리의 해당 고속 직렬 버스 장치의 제어 영역의 인터럽트 비트를 리셋하고 인터럽트 승인 비트를 세트하며, 단계 540으로 진행한다. 단계 540에서는 마이크로 제어기의 응답 영역의 내용을 큐 방식으로 운영되는 시스템 버퍼로 전송하고 복귀한다.
상기의 설명에서 본 발명을 도면을 중심으로 예를 들어 설명하고 한정하였지만, 본 분야의 통상의 지식을 가진 자에게는 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 변화와 변경이 가능함이 명백할 것이다.
따라서, 본 발명은 명세서에서 언급된 특별한 형태로 한정되는 것이 아닌 것으로 이해되어야 하며, 오히려 본 발명은 첨부된 청구범위에 의해 정의된, 본 발명의 기술적 사상과 범위 내에 있는 모든 변형물, 균등물 및 대체물을 포함하는 것으로 이해되어야 한다.
상기한 바와 같이 동작하는 본 발명은, 응용 소프트웨어에서 비동기식 장치인 마스터 장치, 동기식 장치인 슬레이브 장치를 제어하기 위해 공통된 인터페이스를 이용할 수 있고, 하나의 마이크로 제어기 장치 드라이버를 통하여 각 장치에 대한 요청과 각 장치로부터의 응답을 처리할 수 있고, 또한 응용 소프트웨어 블록에서도 마스터 장치에 대해 별도의 제어를 고려할 필요가 없어진다.
또한, 본 발명에 의하면, 마스터 장치가 동작중일 때에도 슬레이브 장치에 명령을 보낼 수 있고 그 반대로도 할 수 있어 처리 속도가 높아진다.

Claims (5)

  1. 응용 소프트웨어로부터 요청 및 그 응답을 처리함으로써 고속 직렬 버스에 연결된 동기식 및 비동기식 장치를 제어하는 장치에 있어서,
    고속 직렬 버스에 연결된 장치에 대한 정보를 저장하는 공유 메모리와,
    상기 고속 직렬 버스에 연결되고 상기 공유 메모리와 통신하며 상기 고속 직렬 버스에 연결된 장치를 제어하는 마이크로 제어기와,
    상기 응용 소프트웨어에서 발생한 요청과 상기 동기식 및 비동기식 장치로부터의 응답을 상기 공유 메모리를 이용하여 상기 마이크로 제어기와 통신함으로써 마이크로 제어기 장치 드라이버와,
    상기 고속 직렬 버스에 연결되고 상기 마이크로 제어기의 제어를 받는 비동기식 장치인 복수의 마스터 장치와,
    상기 고속 직렬 버스에 연결되고 상기 마이크로 제어기의 제어를 받는 동기식 장치인 복수의 슬레이브 장치를 구비함을 특징으로 하는 동기식 및 비동기식 장치의 제어 장치.
  2. 제1항에 있어서, 상기 공유 메모리는
    상기 마이크로 제어기의 정보를 저장하는 영역과,
    상기 슬레이브 장치의 제어 신호 정보를 저장하는 영역과,
    상기 마스터 장치의 제어 신호 정보를 저장하는 영역과,
    상기 슬레이브 장치의 명령 신호 정보를 저장하는 영역과,
    상기 마스터 장치의 명령 신호 정보를 저장하는 영역과,
    상기 슬레이브 장치의 응답 신호 정보를 저장하는 영역과,
    상기 마스터 장치의 응답 신호 정보를 저장하는 영역을 구비함을 특징으로 하는 동기식 및 비동기식 장치의 제어 장치.
  3. 고속 직렬 버스에 연결된 동기식 및 비동기식 장치를 공통의 인터페이스로 제어하는 방법에 있어서,
    응용 소프트웨어에서 고속 직렬 버스에 연결된 동기식 및 비동기식 장치에 대한 요청을 발생하는 단계와,
    상기 요청을 동기식 및 비동기식 장치에 대해 구분하여 처리하는 요청 처리 단계와,
    상기 요청 처리 단계 후, 상기 동기식 및 비동기식 장치들의 응답을 구분하여 응용 소프트웨어에 대해 처리하는 응답 처리 단계를 포함함을 특징으로 하는 동기식 및 비동기식 장치의 제어 방법.
  4. 제3항에 있어서, 상기 요청 처리 단계는,
    상기 요청을 버퍼링하는 버퍼가 비었는지를 조사하는 버퍼 조사 단계와,
    상기 버퍼가 비어있으면 에러 처리 후 복귀하는 단계와,
    상기 버퍼가 비어있지 않으면 버퍼의 내용을 조사하여 마스터 장치에 관한 요청 또는 슬레이브 장치에 관한 요청인지를 조사하는 장치 조사 단계와,
    상기 장치 조사 단계에서 마스터 장치에 관한 요청으로 판단되면 해당 마스터 장치의 주소를 공유 메모리의 마스터 장치 명령 영역의 주소로 설정하는 단계와,
    상기 장치 조사 단계에 의해 슬레이브 장치에 관한 요청이면 해당 슬레이브 장치의 주소를 공유 메모리의 슬레이브 장치 명령 영역의 주소로 설정하는 단계와,
    상기 공유 메모리내의 장치 준비 상태를 나타내는 신호가 일정 시간 이내에 세트되는지를 조사하는 장치 준비 상태 조사 단계와,
    상기 장치 준비 상태 조사 단계에서 준비 상태를 나타내는 신호가 세트되지 않으면 마이크로 제어기가 준비되어 있지 않으므로 에러 처리하고 종료하는 단계와,
    상기 준비 상태 조사 단계에 의한 준비 상태를 나타내는 신호가 세트되면 마이크로 제어기가 상기 요청을 처리했으므로 실행 상태를 성공 상태로 표시하고 복구하는 단계를 포함함을 특징으로 하는 동기식 및 비동기식 장치의 제어 방법.
  5. 제3항에 있어서, 상기 응답 처리 단계는,
    마이크로 제어기로부터 인터럽트가 발생하면 대기 상태에 있던 마이크로 제어기 장치 드라이버의 인터럽트 관리자를 호출하는 단계와,
    공유 메모리의 슬레이브 제어 신호 저장 영역과 마스터 제어 신호 저장 영역의 인터럽트 신호를 조사하여 신호가 세트되어 있는 곳이 없으면 복귀하는 단계와,
    인터럽트 신호가 세트되어 있는 곳이 있으면 마이크로 제어기의 응답 영역을 해당하는 장치의 응답 영역으로 설정하는 단계와,
    공유 메모리의 해당 장치의 제어 영역의 인터럽트 비트를 리셋하고 인터럽트 승인 신호를 세트하는 단계와,
    마이크로 제어기 응답 영역의 내용을 큐 방식으로 운영되는 시스템 버퍼에 복사하고 복귀하는 단계를 포함함을 특징으로 하는 동기식 및 비동기식 장치의 제어 방법.
KR1019980025470A 1998-06-30 1998-06-30 고속직렬버스에연결된동기식및비동기식장치의제어시스템과제어방법 KR100285956B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019980025470A KR100285956B1 (ko) 1998-06-30 1998-06-30 고속직렬버스에연결된동기식및비동기식장치의제어시스템과제어방법
US09/342,830 US6510484B1 (en) 1998-06-30 1999-06-28 Technique for controlling synchronous devices and asynchronous devices connected to an inter-integrated circuit bus (I2C bus)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980025470A KR100285956B1 (ko) 1998-06-30 1998-06-30 고속직렬버스에연결된동기식및비동기식장치의제어시스템과제어방법

Publications (2)

Publication Number Publication Date
KR20000004082A KR20000004082A (ko) 2000-01-25
KR100285956B1 true KR100285956B1 (ko) 2001-04-16

Family

ID=19541892

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980025470A KR100285956B1 (ko) 1998-06-30 1998-06-30 고속직렬버스에연결된동기식및비동기식장치의제어시스템과제어방법

Country Status (2)

Country Link
US (1) US6510484B1 (ko)
KR (1) KR100285956B1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000278654A (ja) * 1999-03-26 2000-10-06 Sony Corp 音声及び/または映像信号の伝送システム、その送信装置、及びその受信装置
US6668300B1 (en) * 2000-09-14 2003-12-23 Bae Systems Information And Electronic Systems Integration Inc. Computer device having multiple linked parallel busses and associated method
US6799233B1 (en) * 2001-06-29 2004-09-28 Koninklijke Philips Electronics N.V. Generalized I2C slave transmitter/receiver state machine
US7334233B2 (en) * 2003-04-28 2008-02-19 International Business Machines Corporation Method and apparatus for multiple slaves to receive data from multiple masters in a data processing system
US7334234B2 (en) * 2003-04-28 2008-02-19 International Business Machines Corporation Method and apparatus for transferring data to virtual devices behind a bus expander
GB2422697A (en) * 2003-04-30 2006-08-02 Agilent Technologies Inc Serial communication between master and slave devices
US7231467B2 (en) 2003-11-17 2007-06-12 Agere Systems Inc. Method and apparatus for providing an inter integrated circuit interface with an expanded address range and efficient priority-based data throughput
KR20050076924A (ko) * 2004-01-26 2005-07-29 삼성전자주식회사 양방향 통신이 가능한 i2c 통신시스템 및 그 방법
EP1574921B1 (en) * 2004-03-11 2012-12-12 Omron Corporation Synchronous controller
US7962721B1 (en) * 2004-05-04 2011-06-14 Oracle America, Inc. Method and apparatus for management of bus transactions relating to shared resources
JP2007172363A (ja) * 2005-12-22 2007-07-05 Fujitsu Ltd I2cバスのデータ伝送装置、及びその方法、並びにi2cバスのデータ伝送プログラム
US7636796B2 (en) * 2006-09-15 2009-12-22 Microsoft Corporation Smart interconnect for modular multi-component embedded devices
US7890690B2 (en) * 2007-06-07 2011-02-15 International Business Machines Corporation System and method for dual-ported flash memory
JP5030698B2 (ja) * 2007-07-24 2012-09-19 株式会社リコー 半導体装置及びノイズ低減方法
DE102008062865B4 (de) * 2008-05-30 2016-09-22 Continental Teves Ag & Co. Ohg Serial-Peripheral-Interface-Schnittstelle mit verminderter Verbindungsleitungsanzahl
US8995333B2 (en) * 2009-07-29 2015-03-31 Qualcomm Incorporated Synchronous interface for multi-radio coexistence manager
CN103530249B (zh) * 2012-07-06 2016-08-03 鸿富锦精密工业(深圳)有限公司 内部整合电路总线传输系统及其传输方法
US9910819B2 (en) * 2013-03-11 2018-03-06 Microchip Technology Incorporated Two-wire serial interface and protocol
DE102013210968B3 (de) * 2013-06-12 2014-07-31 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur seriellen Datenübertragung zwischen einem Basismodul und einem ersten Erweiterungsmodul
KR101708719B1 (ko) * 2016-04-28 2017-02-21 (주)이즈미디어 테이블 틸팅 확인 장치 및 확인 방법

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5199106A (en) 1986-09-19 1993-03-30 International Business Machines Corporation Input output interface controller connecting a synchronous bus to an asynchronous bus and methods for performing operations on the bus
EP0606102A1 (en) 1986-09-19 1994-07-13 International Business Machines Corporation An input output interface controller connecting a synchronous bus to an asynchronous bus and methods for performing operations on the buses
US5293603A (en) 1991-06-04 1994-03-08 Intel Corporation Cache subsystem for microprocessor based computer system with synchronous and asynchronous data path
JPH0561951A (ja) 1991-08-30 1993-03-12 Fujitsu Ltd イメージ処理装置
US5309567A (en) 1992-01-24 1994-05-03 C-Cube Microsystems Structure and method for an asynchronous communication protocol between master and slave processors
JP3411300B2 (ja) 1992-02-18 2003-05-26 株式会社日立製作所 情報処理装置
DE69327825T2 (de) 1992-08-10 2000-10-12 Lucent Technologies Inc Funkübertragungssystem und Funkbasisstation zur Verwendung in einem derartigen System
JPH0844665A (ja) 1994-07-14 1996-02-16 Fujitsu Ltd 複数のデータ転送サイズ及びプロトコルをサポートするバス
US5615404A (en) 1994-10-31 1997-03-25 Intel Corporation System having independently addressable bus interfaces coupled to serially connected multi-ported signal distributors generating and maintaining frame based polling schedule favoring isochronous peripherals
US5835785A (en) 1994-11-14 1998-11-10 Motorola, Inc. Multiplexed three line synchronous/full-duplex asychronous data bus and method therefor
US5793996A (en) 1995-05-03 1998-08-11 Apple Computer, Inc. Bridge for interconnecting a computer system bus, an expansion bus and a video frame buffer
US5682484A (en) 1995-11-20 1997-10-28 Advanced Micro Devices, Inc. System and method for transferring data streams simultaneously on multiple buses in a computer system
US5774680A (en) 1995-12-11 1998-06-30 Compaq Computer Corporation Interfacing direct memory access devices to a non-ISA bus
US5857083A (en) 1996-06-07 1999-01-05 Yamaha Corporation Bus interfacing device for interfacing a secondary peripheral bus with a system having a host CPU and a primary peripheral bus
US5748918A (en) 1996-06-28 1998-05-05 Intel Corporation Method and apparatus for supporting two subtractive decode agents on the same bus in a computer system
US5832246A (en) 1996-12-03 1998-11-03 Toshiba America Information Systems, Inc. Virtualization of the ISA bus on PCI with the existence of a PCI to ISA bridge
KR100224965B1 (ko) * 1997-07-10 1999-10-15 윤종용 다층 구조의 아이2씨 버스를 이용한 진단/제어 시스템
US5878237A (en) 1997-07-11 1999-03-02 Compaq Computer Corp. Apparatus, method and system for a comuter CPU and memory to PCI bridge having a pluarlity of physical PCI buses

Also Published As

Publication number Publication date
US6510484B1 (en) 2003-01-21
KR20000004082A (ko) 2000-01-25

Similar Documents

Publication Publication Date Title
KR100285956B1 (ko) 고속직렬버스에연결된동기식및비동기식장치의제어시스템과제어방법
US4792896A (en) Storage controller emulator providing transparent resource sharing in a computer system
US5274795A (en) Peripheral I/O bus and programmable bus interface for computer data acquisition
EP2062147B1 (en) Method and apparatus for conditional broadcast of barrier operations
US6105080A (en) Host adapter DMA controller with automated host reply capability
JP3600536B2 (ja) 書き込みデータの破壊を制限する方法及びシステムとpciバス・システム
JPH0731586B2 (ja) ディスプレイ・アダプタ・インターフェース装置及び方法
US5408612A (en) Microprocessor system for selectively accessing a processor internal register when the processor has control of the bus and partial address identifying the register
KR920002830B1 (ko) 다이렉트 메모리 액세스 제어장치
JPS61150054A (ja) データ処理装置
KR980010803A (ko) 직접 메모리 엑세스 동작을 위해 출력 주변장치를 프리챠징하는 방법
US5748909A (en) Interface board and instruction processing device without a local CPU
KR100259585B1 (ko) 디엠에이 콘트롤러
JP2595808B2 (ja) 分散処理用メモリ装置
EP0439594B1 (en) Device for interfacing a main processor bus connected to a main processor to a peripheral bus having a number of peripheral devices connected thereto
JP2679440B2 (ja) 情報処理装置
JP2589205B2 (ja) 通信制御システム
JPH0756844A (ja) システムメモリを有するバスをベースにしたコンピュータシステムに使用するためのマスタバスマスタおよびバスをベースにしたコンピュータシステム
JPH08166919A (ja) 異種プロトコルの複数システム間の入出力装置共用システム
KR101192285B1 (ko) 통신시스템에서 모듈간 인터페이스 장치 및 방법
JPS63155254A (ja) 情報処理装置
KR0170595B1 (ko) 고속 병렬 컴퓨터에서 크로스바 네트웍 라우터의 송신부에 대한 소프트웨어 애뮬레이션 방법
JPH07175661A (ja) ユーザプログラムロード方式
JPH065521B2 (ja) メツセージ・バツフア・システム
JPH10307802A (ja) 並列計算機におけるマルチバッファ制御によるデータ転送装置

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121228

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20131230

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20141223

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20151229

Year of fee payment: 16

LAPS Lapse due to unpaid annual fee