KR20140123713A - 직렬 인터페이스를 통한 디바이스 접근 장치 및 그 방법 - Google Patents

직렬 인터페이스를 통한 디바이스 접근 장치 및 그 방법 Download PDF

Info

Publication number
KR20140123713A
KR20140123713A KR1020130040871A KR20130040871A KR20140123713A KR 20140123713 A KR20140123713 A KR 20140123713A KR 1020130040871 A KR1020130040871 A KR 1020130040871A KR 20130040871 A KR20130040871 A KR 20130040871A KR 20140123713 A KR20140123713 A KR 20140123713A
Authority
KR
South Korea
Prior art keywords
address
processing unit
serial interface
slave
group
Prior art date
Application number
KR1020130040871A
Other languages
English (en)
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 KR1020130040871A priority Critical patent/KR20140123713A/ko
Publication of KR20140123713A publication Critical patent/KR20140123713A/ko

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

Abstract

직렬 인터페이스를 통한 디바이스 접근 장치는 하나의 마스터에 직렬 인터페이스를 통해 연결된 복수의 슬레이브 디바이스를 그룹 디바이스 어드레스를 사용하여 적어도 하나의 슬레이브 디바이스에 동시 접근하여 마스터로부터의 명령에 따라 읽기 및 쓰기 접속 명령을 처리한다.

Description

직렬 인터페이스를 통한 디바이스 접근 장치 및 그 방법{APPARATUS AND METHOD FOR ACCESSING OF DIVICE THROUGH SERIAL INTERFACE}
본 발명은 직렬 인터페이스를 통한 디바이스 접근 장치 및 그 방법에 관한 것으로, 특히 I2C(inter integrated circuit) 프로토콜 기반의 직렬 인터페이스에 연결된 다수의 슬레이브 디바이스들 중 동일한 디바이스 어드레스를 가지거나 동일 기능 및 동일 레지스터 특성을 가지는 슬레이브 디바이스들의 내부 레지스터로의 동시 접근을 위한 장치 및 그 방법에 관한 것이다.
일반적으로 고성능 처리 마이크로프로세서에는 저속의 주변 디바이스들과의 통신을 위하여 I2C 프로토콜과 같은 저속 직렬 버스 인터페이스를 이용한다.
I2C 인터페이스는 로컬 버스라고 불리는 여러 개의 데이터 전송 가닥과 이를 제어하기 위한 제어 신호들로 이루어진 병렬 버스 인터페이스와는 다르게 하나의 단방향성의 클록선과 양방향성 데이터선으로 구성된 직렬 버스 규격이다. I2C 인터페이스는 주로 하나의 I2C 마스터에 고유의 디바이스 어드레스(device address)를 가진 복수의 I2C 슬레이브 디바이스들을 I2C 마스터에서 제공되는 SCL(serial clock)이라 주로 불리는 클록선과 SDA(serial data)라고 불리는 양방향성의 데이터선을 이용하여 버스 형식으로 연결하고, I2C 프로토콜에 맞추어 통신이 이루어진다.
I2C 슬레이브 디바이스들은 각각의 고유한 디바이스 어드레스를 가지며, I2C 마스터에서, 데이터선을 통해 전송하는 정보 중 디바이스 어드레스 부분의 정보에 의해, 클록선과 데이터선을 통해 연결된 여러 개의 I2C 슬레이브 디바이스 중 해당 디바이스 어드레스를 가진 I2C 슬레이브 디바이스와의 선별적인 데이터 송수신이 가능하다.
디바이스 어드레스는 디바이스에 따라서 제작사에 의해 정해지기도 하고, 디바이스의 외부 핀을 이용하여 지정할 수도 있다. 핀 수가 적은 패키지 형식의 디바이스이라면 어드레스의 상위 비트는 내부적으로 고정되고 하위 비트만 외부로 연결된 핀을 이용하여 지정해 주는 경우가 일반적이다.
디바이스 어드레스의 상위 비트가 동일한 디바이스를 하나의 직렬 버스에 여러 개 연결해야 할 경우 외부 핀을 이용하여 디바이스 어드레스의 하위 비트를 다르게 설정함으로써 I2C 마스터에서 동일 디바이스들에 대하여 구분된 접속을 가능하게 해준다.
이와 같이, 동일 특성의 여러 슬레이브 디바이스가 하나의 I2C 마스터에 연결되어 있는 경우, 해당 슬레이브 디바이스들에 대하여 디바이스 내 레지스터를 읽기 또는 쓰기 접속해야 하며, 이 경우에 I2C 프로토콜에 기반한 데이터 송수신 동작을 접속하고자 하는 슬레이브 디바이스의 수만큼 반복해야 한다. 예를 들면 보드 내에서 온도 센싱을 위해 분포되어 있는 온도 센서들의 임계치 설정 또는 센싱된 온도 값을 주기적으로 읽어오기 위한 작업 등의 처리를 위해서는 상위 프로세서가 I2C 인터페이스를 통하여 접속해야 하는 온도 센서 디바이스의 수만큼 온도 센서 디바이스에 할당된 디바이스 어드레스를 변환해가며 온도 센서 디바이스의 내부 레지스터 접속 작업을 반복해야 한다.
이와 같은 저속 직렬 인터페이스를 통한 반복적 작업은 상위 프로세서의 성능을 저하시키는 요인이 될 수 있으므로, 상위 프로세서에서 저속 직렬 인터페이스를 통해 수행되는 반복적인 동작을 줄임으로써 성능을 개선시켜줄 방법이 필요하다.
또한 SFP(small form factor pluggable) 광 트랜시버 모듈같이 모듈 내에 트랜시버의 특성을 저장하기 위한 고유의 디바이스 어드레스를 가진 직렬 이이피롬(EEPROM)을 내장한 디바이스들이 있다. 이들 직렬 이이피롬은 I2C 버스 방식을 이용하나 어드레스를 지정하기 위한 핀들이 트랜시버 모듈 외부로 나와 있지 않고 내부에 고정되어 있다. 이와 같은 경우에 복수의 광 트랜시버 모듈이 하나의 마스터에 연결되어야 할 경우에는 각 광 트랜시버 모듈들의 디바이스 어드레스가 동일하므로(예를 들면, SFP의 경우 디바이스 어드레스는 2b1010000임), I2C 프로토콜을 이용하여 충돌 없는 통신을 하기 위해서는 디바이스 어드레스 외에 트랜시버 모듈을 구분하여 접속을 처리해주기 위한 방법이 필요하다.
본 발명이 해결하고자 하는 기술적 과제는 동일 특성의 슬레이브 디바이스가 하나의 마스터에 연결되어 있는 경우, 마스터에서의 반복적 접속 동작을 줄이고 동일 디바이스 어드레스가 할당된 복수의 슬레이브 디바이스들을 하나의 마스터에서 처리할 수 있는 직렬 인터페이스를 통한 디바이스 접근 장치 및 그 방법을 제공하는 것이다.
본 발명의 한 실시 예에 따르면, 디바이스 접근 장치가 하나의 마스터에 직렬 인터페이스를 통해 연결된 복수의 슬레이브 디바이스에 접근하는 방법이 제공된다. 직렬 인터페이스를 통한 디바이스 접근 방법은 상기 마스터로부터 명령을 수행할 디바이스 어드레스를 수신하는 단계, 수신된 디바이스 어드레스가 등록된 그룹 디바이스 어드레스와 일치하는지 판단하는 단계, 그리고 상기 수신된 디바이스 어드레스가 등록된 그룹 디바이스 어드레스와 일치하는 경우에, 상기 수신된 디바이스 어드레스를 가진 적어도 하나의 슬레이브 디바이스에 동시 접근하여 상기 마스터로부터의 명령에 따라 읽기 및 쓰기 접속 명령을 처리하는 단계를 포함한다.
본 발명의 실시 예에 의하면, I2C 마스터에서 반복적 루틴을 통해 순차적으로 이루어져야 하는 접속 작업을 그룹 디바이스 어드레스를 사용하여 디바이스 접근 장치를 통해 동시 또는 순차적 접속 처리를 하고, 그 결과를 한 번에 I2C 마스터에 알려 줌으로써 저속 직렬 인터페이스를 통한 I2C 마스터에서의 통신 효율성을 높일 수 있다.
또한 독립된 디바이스 어드레스를 가진 슬레이브 디바이스들과 그룹 디바이스 어드레스를 가진 슬레이브 디바이스들을 하나의 I2C 마스터를 통해 함께 접속할 수 있다.
도 1은 본 발명의 실시 예에 따른 직렬 인터페이스를 통한 디바이스 접근 장치를 나타낸 도면이다.
도 2 및 도 3은 각각 도 1에 도시된 디바이스 어드레스 검출부의 I2C 프로토콜에 따른 접속 처리 방법을 나타낸 흐름도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
이제 본 발명의 실시 예에 따른 직렬 인터페이스를 통한 디바이스 접근 장치 및 그 방법에 대하여 도면을 참고로 하여 상세하게 설명한다.
도 1은 본 발명의 실시 예에 따른 직렬 인터페이스를 통한 디바이스 접근 장치를 나타낸 도면이다.
도 1을 참고하면, 직렬 인터페이스를 통한 디바이스 접근 장치(앞으로, 편의상 "디바이스 접근 장치"라 함)(200)는 마스터 인터페이스 처리부(100) 및 복수의 슬레이브 디바이스(301, 302, 303, 4101, 4102, …, 410N) 사이에 연결되어 있으며, 동일 어드레스 값의 슬레이브 디바이스의 내부 레지스터로 동시 접근 기능을 수행한다. 마스터 인터페이스 처리부(100)는 그룹 어드레스 관리부(500)와 연결되어 있다.
복수의 슬레이브 디바이스(301, 302, 303, 4101, 4102, …, 410N)는 각각 디바이스 어드레스를 가진다. 복수의 슬레이브 디바이스(301, 302, 303, 4101, 4102, …, 410N)는 기능이나 특성 및 디바이스 어드레스에 따라서 슬레이브 디바이스 그룹을 형성할 수 있다.
그룹 어드레스 관리부(500)는 복수의 슬레이브 디바이스(301, 302, 303, 4101, 4102, …, 410N)를 동일한 기능이나 특성을 제공하는 슬레이브 디바이스들 또는 동일한 디바이스 어드레스를 가진 슬레이브 디바이스를 슬레이브 디바이스 그룹으로 형성한다. 그룹 어드레스 관리부(500)는 슬레이브 디바이스 그룹에 별도의 그룹 디바이스 어드레스를 할당한다. 즉, 슬레이브 디바이스 그룹의 그룹 디바이스 어드레스는 복수의 슬레이브 디바이스(301, 302, 303, 4101, 4102, …, 410N)의 디바이스 어드레스와 구별된다. 동일한 디바이스 어드레스를 가진 슬레이브 디바이스가 하나의 슬레이브 디바이스 그룹으로 형성될 때, 슬레이브 디바이스 그룹의 디바이스 어드레스를 공통 디바이스 어드레스라 한다. 슬레이브 디바이스 그룹에는 별도의 그룹 디바이스 어드레스가 할당된다.
그룹 어드레스 관리부(500)는 슬레이브 디바이스 그룹과 해당 그룹의 그룹 디바이스 어드레스와의 매핑 정보를 마스터 인터페이스 처리부(100)를 통해서 디바이스 접근 장치(200)의 디바이스 어드레스 검출부(210)로 등록하고, 디바이스 어드레스 검출부(210)에 등록된 매핑 정보를 해지한다. 예를 들어, 도 1에 도시한 바와 같이, 슬레이브 디바이스(301, 302, 303)는 각각의 디바이스 어드레스를 가질 수 있다. 슬레이브 디바이스(4101, 4102, …, 410N)는 동일한 디바이스 어드레스를 가질 수 있다. 이때 각각의 디바이스 어드레스를 가지는 슬레이브 디바이스(301, 302, 303)를 통칭하여 슬레이브 디바이스(300)로 표기한다. 이 경우, 그룹 어드레스 관리부(500)는 슬레이브 디바이스(300) 중에서 동일한 기능이나 특성에 의해 슬레이브 디바이스(302, 303)를 하나의 슬레이브 디바이스 그룹(310)을 형성하고, 동일한 디바이스 어드레스를 가지는 슬레이브 디바이스(4101, 4102, …, 410N)를 또 다른 하나의 슬레이브 디바이스 그룹(400)을 형성할 수 있다.
마스터 인터페이스 처리부(100)는 상위 프로세서에서 수행되는 명령들을 입력으로 받아 I2C 프로토콜 기반으로 슬레이브 디바이스들(300, 400)에 대하여 내부 레지스터 읽기 또는 쓰기 접속을 수행한다.
마스터 인터페이스 처리부(100)는 직렬 인터페이스 처리부(110) 및 병렬 인터페이스 처리부(120)를 포함한다.
직렬 인터페이스 처리부(110)는 SCL(serial clock)선과 SDA(serial data)선을 이용한 I2C 프로토콜의 마스터 기능을 수행한다. 직렬 인터페이스 처리부(110)는 I2C 마스터이다.
병렬 인터페이스 처리부(120)는 디바이스 접근 장치(200)의 내부에 존재하는 내부 레지스터(230, 240, 250)로의 접속 기능을 제공한다. 병렬 인터페이스 처리부(120)는 로컬 버스라 불리는 복수의 데이터 버스를 통해서 디바이스 접근 장치(200)의 내부 레지스터(230, 240, 250) 및 디바이스 어드레스 검출부(210)에 연결되어 있으며 디바이스 접근 장치(200)의 내부 레지스터(230, 240, 250) 및 디바이스 어드레스 검출부(210)를 제어하기 위한 제어 신호들을 제공한다. 또한 마스터 인터페이스 처리부(100)는 그룹 어드레스 관리부(500)와 디바이스 어드레스 검출부(210) 사이에서 인터페이스 역할을 한다. 그룹 어드레스 관리부(500)에서 디바이스 어드레스 검출부(210)로의 등록/해지를 위한 접근 인터페이스는 직렬 인터페이스 처리부(110)가 될 수도 있고, 병렬 인터페이스 처리부(120)가 될 수도 있다. 직렬 인터페이스 처리부(110)를 통해 그룹 어드레스 관리부(500)가 디바이스 어드레스 검출부(210)에 접근할 경우 디바이스 어드레스 검출부(210) 내 등록/해지를 위한 내부 저장 공간(레지스터들)에 고유의 디바이스 어드레스가 할당되고, 병렬 인터페이스 처리부(120)를 통해 접근할 경우에는 디바이스 어드레스 검출부(201) 내 등록/해지를 위한 내부 저장 공간에 로컬 버스 어드레스가 할당된다.
디바이스 접근 장치(200)는 디바이스 어드레스 검출부(210), 그룹 어드레스 처리부(220), 쓰기 정보 레지스터(230), 디바이스 지정 레지스터(240), 읽기 정보 레지스터(250) 및 복수의 로컬 직렬 인터페이스 처리부(260, 2701, 2702, …, 270N)를 포함한다.
디바이스 어드레스 검출부(210)에는 슬레이브 디바이스 그룹(310, 400)의 그룹 디바이스 어드레스가 직렬 인터페이스 처리부(110) 또는 병렬 인터페이스 처리부(120)를 통하여 초기화 시 또는 운용 중에 등록된다.
또한 디바이스 어드레스 검출부(210)는 직렬 인터페이스 처리부(110)로부터 입력되는 디바이스 어드레스가 등록된 그룹 디바이스 어드레스인지를 검출하고, 입력되는 디바이스 어드레스가 등록된 그룹 디바이스 어드레스인 경우에 해당 슬레이브 디바이스로의 접근 처리를 수행한다.
그룹 어드레스 처리부(220)는 검출된 그룹 디바이스 어드레스에 따라서 해당 로컬 직렬 인터페이스 처리부(260, 2701, 2702, …, 270N)로 처리 명령을 전달하고, 필요 시 처리 결과를 병렬 인터페이스 처리부(120)로 전달할 수 있다.
쓰기 정보 레지스터(230)는 그룹 디바이스 어드레스 비트에 이어오는 읽기/쓰기(read/write) 비트가 I2C 프로토콜의 쓰기 명령인 경우 슬레이브 디바이스의 내부 레지스터 어드레스와 쓰여질 데이터 정보를 직렬 인터페이스 처리부(110)로부터 I2C 인터페이스 신호 비트를 통해 수신하여 저장한다.
디바이스 지정 레지스터(240)는 접속 명령 수행 시 공통 디바이스 어드레스를 가진 슬레이브 디바이스 그룹(400) 중 접속할 슬레이브 디바이스를 구분한다.
읽기 정보 레지스터(250)는 그룹 디바이스 어드레스 비트에 이어오는 읽기/쓰기 비트가 I2C 프로토콜의 읽기 명령인 경우 슬레이브 디바이스의 내부 레지스터 어드레스 및 슬레이브 디바이스의 내부 레지스터로부터 읽은 데이터들을 취합하여 저장한다.
로컬 직렬 인터페이스 처리부(260, 2701, 2702, …, 270N)는 슬레이브 디바이스(300, 4101, 4102, …, 410N)에 각각 연결되며 로컬 I2C 프로토콜 기능을 처리한다.
구체적으로, 로컬 직렬 인터페이스 처리부(260)는 독립된 디바이스 어드레스를 가진 슬레이브 디바이스(300)와 SCL선과 SDA선을 통해서 연결되어 I2C 프로토콜 기능을 처리한다. 이때 마스터 처리부 인터페이스(100)에서 디바이스 어드레스 검출부(210)로 연결된 SDA선과 SCL선은 기본적으로 바이패스(bypass)되어 로컬 직렬 인터페이스 처리부(210)로 연결되며, 로컬 직렬 인터페이스 처리부(210)에서도 독립된 디바이스 어드레스를 가진 슬레이브 디바이스(300)로 바이패스되어 연결된다.
로컬 직렬 인터페이스 처리부(2701, 2702, …, 270N)는 각각 독립된 SCL선과 SDA선을 통해서 공통 디바이스 어드레스를 가진 슬레이브 디바이스 그룹(400)의 슬레이브 디바이스(4101, 4102, …, 410N)과 일대일로 연결되어 I2C 프로토콜 기능을 처리한다. I2C 프로토콜 규격은 7비트, 10비트 어드레스 체계를 지원하나, 본 발명의 실시 예에서는 설명의 편의를 위해 7비트 어드레스에 기반하여 기술한다.
슬레이브 디바이스(300)는 고유의 디바이스 어드레스를 가지는 디바이스(301, 302, 303)로, 전체 7비트의 디바이스 어드레스는 고정된 값의 비트들과 외부의 핀으로 가변 할 수 있는 비트들로 구성될 수 있다. 이 중 슬레이브 디바이스 그룹(310)은 슬레이브 디바이스(302, 303)의 디바이스 어드레스의 상위 비트가 동일하고 하위 비트가 서로 달라 하위 비트의 값으로 슬레이브 디바이스(302, 303)를 구분할 수 있는 특성을 지닌 디바이스 그룹이다. 슬레이브 디바이스 그룹(310)에 속한 슬레이브 디바이스(302, 303)의 디바이스 어드레스는 상위 비트 필드와 하위 비트 필드를 포함한다. 상위 비트 필드의 값은 서로 동일한 값을 가지며 동일한 값의 상위 비트는 동일한 내부 레지스터 맵(map)을 가지는 것을 나타낸다. 하위 비트는 외부 핀을 통해 입력된 값을 가진다. 따라서, 슬레이브 디바이스 그룹(310)에 속한 슬레이브 디바이스(302, 303)는 디바이스 어드레스의 하위 비트 필드의 값에 의해 구분된다. 도 1에서는 디바이스 어드레스의 하위 비트를 구분해주기 위해 3개의 외부 핀(A2, A1, A0)을 이용하여 가변 값을 설정할 수 있는 일 예를 도시하였다.
슬레이브 디바이스(302, 303)는 공통된 상위 4비트의 고유 어드레스를 가지고 외부 핀(A2, A1, A0)으로부터 입력된 하위 3비트로 구분될 수 있다. LM75AIM이라는 디바이스의 어드레스를 예를 들면, 해당 디바이스는 "1001A2A1A0"로 디바이스 어드레스가 할당되므로 슬레이브 디바이스(302)의 디바이스 어드레스는 "1001001", 슬레이브 디바이스(303)의 디바이스 어드레스는 "1001010"이 될 수 있다. 그리고 슬레이브 디바이스(302, 303)를 포함한 슬레이브 디바이스 그룹(310)의 디바이스 어드레스는 "1001000"으로 설정될 수 있다.
슬레이브 디바이스 그룹(400)은 동일한 디바이스 어드레스를 가지는 슬레이브 디바이스(4101, 4102, …, 410N)로 구성된 그룹으로서, 슬레이브 디바이스(4101, 4102, …, 410N)에서 디바이스 어드레스 비트에 대하여 외부로 가변 할 수 있는 핀들을 제공하지 않는 디바이스들이다. 이와 같이, 공통 디바이스 어드레스를 가진 슬레이브 디바이스 그룹(400) 내에 속한 슬레이브 디바이스(4101, 4102, …, 410N)는 독립된 SCL선과 SDA선을 통해서 로컬 직렬 인터페이스 처리부(2701, 2702, …, 270N)와 각각 연결된다.
도 2 및 도 3은 각각 도 1에 도시된 디바이스 어드레스 검출부의 I2C 프로토콜에 따른 접속 처리 방법을 나타낸 흐름도이다.
도 2를 참고하면, I2C 마스터인 직렬 인터페이스 처리부(110)는 SCL선 및 SDA선을 통해 시작 신호를 송신하고, 이어 디바이스 어드레스 및 읽기/쓰기 명령 비트를 송신한다.
디바이스 어드레스 검출부(210)는 직렬 인터페이스 처리부(110)로부터 시작 신호를 수신하고(S202), 이어서 디바이스 어드레스와 읽기/쓰기 명령 비트를 수신한다(S204).
디바이스 어드레스 검출부(210)는 등록된 그룹 디바이스 중에서 수신된 디바이스 어드레스와 일치하는 그룹 디바이스 어드레스가 있는지 비교한다(S206).
디바이스 어드레스 검출부(210)는 수신된 디바이스 어드레스와 일치되는 그룹 디바이스 어드레스가 없으면 아무런 동작도 수행하지 않는다.
한편, 디바이스 어드레스 검출부(210)는 수신된 디바이스 어드레스와 일치되는 그룹 디바이스 어드레스가 있으면, 슬레이브 확인(Acknowledge, ACK) 신호를 직렬 인터페이스 처리부(110)로 송신한다(S208).
수신한 읽기/쓰기 명령 비트가 쓰기 명령인 경우, 직렬 인터페이스 처리부(110)는 I2C 프로토콜에 따라 다음 정보로 쓰고자 하는 슬레이브 디바이스 내의 레지스터 어드레스와 쓰고자 하는 쓰기 데이터를 차례대로 송신한다.
디바이스 어드레스 검출부(210)는 수신한 읽기/쓰기 명령 비트가 쓰기 명령인 경우(S210), 직렬 인터페이스 처리부(110)로부터 쓰고자 하는 슬레이브 디바이스 내의 레지스터 어드레스를 수신하여 해당 레지스터 어드레스를 쓰기 정보 레지스터(230)에 저장한 후(S212), 레지스터 어드레스의 수신을 확인하는 슬레이브 ACK 신호를 직렬 인터페이스 처리부(110)로 송신한다(S214).
다음, 디바이스 어드레스 검출부(210)는 입력되는 레지스터 쓰기용 데이터를 직렬 인터페이스 처리부(110)로부터 수신하여 쓰기 데이터를 쓰기 정보 레지스터(230)에 저장한 후(S216), 쓰기 데이터의 수신을 확인하는 슬레이브 ACK 신호를 직렬 인터페이스 처리부(110)로 송신한다(S218).
디바이스 어드레스 검출부(210)는 직렬 인터페이스 처리부(110)로부터 정지(Stop) 신호를 수신하면(S220), 쓰기 정보 레지스터(230)에 저장된 정보와 제어 정보에 따라 그룹 어드레스 처리부(220)를 제어한다(S222). 제어 정보는 직렬 인터페이스 처리부(110)로부터 수신된 쓰기 명령을 포함할 수 있다.
한편, 수신한 읽기/쓰기 명령 비트가 읽기 명령인 경우, 직렬 인터페이스 처리부(110)는 I2C 프로토콜에 따라 다음 정보로 읽어야 할 슬레이브 디바이스 내의 레지스터 어드레스를 송신한다.
도 3을 참고하면, 디바이스 어드레스 검출부(210)는 직렬 인터페이스 처리부(110)로부터 읽어야 할 슬레이브 디바이스 내의 레지스터 어드레스를 수신하여 해당 레지스터 어드레스를 읽기 정보 레지스터(250)에 저장한 후(S302), 레지스터 어드레스의 수신을 확인하는 슬레이브 ACK 신호를 직렬 인터페이스 처리부(110)로 송신한다(S304).
다음, 디바이스 어드레스 검출부(210)는 I2C 프로토콜에 따라 다음 정보로 실제 슬레이브 디바이스에서 읽은 정보가 아닌, 상위 프로세서와 디바이스 접근 장치(200)와 상호 약속된 임의의 읽기 확인 데이터를 직렬 인터페이스 처리부(110)로 송신한다(S306).
직렬 인터페이스 처리부(110)는 디바이스 어드레스 검출부(210)로부터 읽기 확인 데이터를 수신하고, 읽기 확인 데이터의 수신을 확인하는 마스터 ACK 신호를 디바이스 어드레스 검출부(210)로 송신한다.
디바이스 어드레스 검출부(210)는 직렬 인터페이스 처리부(110)로부터 마스터 ACK 신호를 수신한다(S308).
다음, 디바이스 어드레스 검출부(210)는 직렬 인터페이스 처리부(110)로부터 정지 신호를 수신하면(S310), 읽기 정보 레지스터(250)에 저장되어 있는 정보와 제어 정보에 따라 그룹 어드레스 처리부(220)를 제어한다(S312).
이와 같이 디바이스 어드레스 검출부(210)의 운용 플로우에 따르는 I2C 프로토콜 기반 직렬 인터페이스를 통한 디바이스 접근 장치(200)는 입력되는 디바이스 어드레스에 따라 세 가지로 구분하여 동작할 수 있다. 첫째는 독립된 디바이스 어드레스를 가진 단독의 슬레이브 디바이스에 대한 접속 처리 방법이다. 둘째는 독립된 각각의 디바이스 어드레스를 가진 슬레이브 디바이스 그룹의 슬레이브 디바이스들에 대한 반복적 접속 처리 방법이다. 마지막으로 공통 디바이스 어드레스를 가진 슬레이브 디바이스 그룹의 슬레이브 디바이스들에 대한 접속 처리 방법이다.
그러면 직렬 인터페이스 처리부(110)에서 독립된 디바이스 어드레스를 가진 단독의 슬레이브 디바이스에 대한 접속 처리 방법에 대하여 자세하게 설명한다.
직렬 인터페이스 처리부(110)에서 슬레이브 디바이스(302)에 대한 읽기/쓰기 접속을 가정하고 설명하며, 슬레이브 디바이스(302)의 디바이스 어드레스는 "1001001"이고, 슬레이브 디바이스 그룹(310)의 그룹 디바이스 어드레스는 "1001000"인 것으로 가정한다.
직렬 인터페이스 처리부(110)는 SCL선 및 SDA선을 통해 시작 신호를 송신하고 이어 디바이스 어드레스 "1001001" 및 읽기/쓰기 명령 비트를 송신한다. 이때 직렬 인터페이스 처리부(110)에서 송신한 디바이스 어드레스는 그룹 디바이스 어드레스가 아닌 슬레이브 디바이스(302)의 디바이스 어드레스 "1001001"이므로, 디바이스 어드레스 검출부(210)에서는 매칭되는 그룹 디바이스 어드레스가 아니므로 아무 동작을 수행하지 않는다. 하지만 SCL선 및 SDA선은 바이패스되어 I2C 버스를 통해 슬레이브 디바이스(301, 302, 303)와 연결되므로, 슬레이브 디바이스(302)는 직렬 인터페이스 처리부(110)에서 보낸 디바이스 어드레스 "1001001"이 자기에게 할당된 디바이스 어드레스인지 확인할 수 있다.
슬레이브 디바이스(302)는 직렬 인터페이스 처리부(110)에서 보낸 디바이스 어드레스 "1001001"이 자기에게 할당된 디바이스 어드레스인 것으로 확인되면 I2C 프로토콜 절차에 따라 접속 처리를 수행하며, 이때 I2C 프로토콜 절차에 따라 슬레이브 디바이스(302)나 직렬 인터페이스 처리부(110)로부터 생성되는 ACK 신호를 읽기/쓰기 명령 비트에 따라 전송 방향이 설정됨으로써, 직렬 인터페이스 처리부(110)와 슬레이브 디바이스(302)간 직접적인 I2C 프로토콜 통신이 이루어질 수 있다.
다음으로, 독립된 디바이스 어드레스를 슬레이브 디바이스 그룹(310)의 슬레이브 디바이스(302, 303)에 대한 반복적 접속 처리 방법에 대하여 자세하게 설명한다.
직렬 인터페이스 처리부(110)에서 슬레이브 디바이스 그룹(310)의 슬레이브 디바이스(302, 303)에 대한 읽기/쓰기 접속을 가정하고 설명하며, 슬레이브 디바이스(302)의 디바이스 어드레스는 "1001001"이고, 슬레이브 디바이스(303)의 디바이스 어드레스는 "1001010"이고 슬레이브 디바이스 그룹(310)의 그룹 디바이스 어드레스는 "1001000"인 것으로 가정한다.
두 슬레이브 디바이스(302, 303)에 대하여 읽기/쓰기 접속이 필요할 경우, 일반적인 I2C 버스를 이용할 경우 먼저 직렬 인터페이스 처리부(110)에서 슬레이브 디바이스(302)에 대한 디바이스 어드레스 "1001001"을 송신한 후 레지스터 접속 절차를 수행한 후, 슬레이브 디바이스(303)에 대한 디바이스 어드레스 "1001010"을 송신한 후 레지스터 접속 절차를 반복적으로 수행해야 한다. 본 발명의 실시 예에 따르면, 이러한 절차를 디바이스 접근 장치(200)를 이용하여 슬레이브 디바이스(302, 303)를 하나의 슬레이브 디바이스 그룹(310)으로 묶고 슬레이브 디바이스 그룹(310)에 할당된 그룹 디바이스 어드레스 "1001000"을 사용하여 읽기/쓰기 접속 동작을 처리함으로써, 반복적 동작 과정을 줄인다.
직렬 인터페이스 처리부(110)는 SCL선 및 SDA선을 통해 시작 신호를 송신하고 이어서 디바이스 어드레스 "1001000" 및 읽기/쓰기 명령 비트를 송신한다.
디바이스 어드레스 검출부(210)는 직렬 인터페이스 처리부(110)로부터 송신된 시작 신호를 수신한 후, 디바이스 어드레스 "1001000"과 읽기/쓰기 명령 비트를 수신한다.
디바이스 어드레스 검출부(210)는 등록된 그룹 디바이스 어드레스 중에 수신된 디바이스 어드레스 "1001000"과 일치하는 그룹 디바이스 어드레스가 있는지 확인하고, 일치하는 그룹 디바이스 어드레스가 있는 경우에 슬레이브 ACK 신호를 직렬 인터페이스 처리부(110)로 송신한다.
디바이스 어드레스 검출부(210)는 수신된 명령 비트가 쓰기인 경우, I2C 프로토콜 절차에 따라 직렬 인터페이스 처리부(110)로부터 쓰고자 하는 디바이스 내부 레지스터 어드레스를 수신하여 쓰기 정보 레지스터(230)에 저장한 후 슬레이브 ACK 신호를 직렬 인터페이스 처리부(110)로 송신한다. 이어서 디바이스 어드레스 검출부(210)는 직렬 인터페이스 처리부(110)로부터 쓰고자 하는 데이터 정보를 수신하여 쓰고자 하는 데이터 정보를 쓰기 정보 레지스터(230)에 저장한 후 슬레이브 ACK 신호를 직렬 인터페이스 처리부(110)로 송신한다.
디바이스 어드레스 검출부(210)는 직렬 인터페이스 처리부(110)로부터 정지 신호를 수신하면, 그룹 디바이스 어드레스 "1001000"과 쓰기 명령이 입력되었음을 그룹 어드레스 처리부(220)로 알려준다.
그룹 어드레스 처리부(220)에서는 입력된 그룹 디바이스 어드레스 "1001000"과 쓰기 명령을 기준으로 접속되어야 할 슬레이브 디바이스가 슬레이브 디바이스(302, 303)임을 인지하고, 쓰기 정보 레지스터(230)에 저장된 쓰고자 하는 슬레이브 디바이스의 내부 레지스터 어드레스 및 데이터 값을 읽어와 이를 바탕으로 로컬 직렬 인터페이스 처리부(260)에 해당 정보를 전달한다. 이때 로컬 직렬 인터페이스 처리부(260)에는 슬레이브 디바이스들(301, 302, 303)이 버스 형식으로 연결되어 있으므로, 그룹 어드레스 처리부(220)에서 슬레이브 디바이스 그룹(310)에 속한 개별 슬레이브 디바이스(302, 303)에 대하여 개별 디바이스 어드레스 "1001001" 및 "1001010"을 사용하여 순차적으로 I2C 프로토콜 쓰기 동작을 수행하도록 슬레이브 디바이스(302, 303)를 제어한다.
로컬 직렬 인터페이스 처리부(260)는 입력된 그룹 디바이스 어드레스 "1001000", 레지스터 어드레스, 쓰고자 하는 데이터 값 등의 정보를 바탕으로 I2C 프로토콜 마스터 기능을 통하여 슬레이브 디바이스(302, 303)와 통신을 통해 쓰기 기능을 수행한다. 로컬 직렬 인터페이스 처리부(260)는 쓰기 기능을 수행하고 나면, 그 결과(예를 들면 정상적으로 쓰여졌음)를 그룹 어드레스 처리부(220)로 통보하고, 그룹 어드레스 처리부(220)는 필요 시 그 결과를 병렬 인터페이스 처리부(120)로 통보할 수 있다.
한편, 독립된 디바이스 어드레스를 가진 슬레이브 디바이스(302, 303)가 하나의 SCL선 및 SDA선으로 이루어진 버스 형식이 아닌 공통 디바이스 어드레스를 가진 슬레이브 디바이스 그룹(400)의 슬레이브 디바이스(4101, 4102, …, 410N)와 같이 독립된 SCL선 및 SDA선으로 각각의 로컬 직렬 인터페이스 처리부와 연결될 수도 있다. 이 경우, 각 슬레이브 디바이스(302, 303)에 연결된 개별 로컬 인터페이스 처리부를 통한 I2C 프로토콜 쓰기 동작을 독립적으로 수행할 수 있다.
한편, 디바이스 어드레스 검출부(210)는 수신된 명령 비트가 읽기인 경우, I2C 프로토콜 절차에 따라 직렬 인터페이스 처리부(110)로부터 읽고자 하는 슬레이브 디바이스의 내부 레지스터 어드레스 값을 수신하여 읽기 정보 레지스터(250)에 저장하고, 슬레이브 ACK 신호를 직렬 인터페이스 처리부(110)로 송신한다. 다음, 디바이스 어드레스 검출부(210)는 사전 약속된 임의의 데이터 정보인 읽기 확인 데이터를 직렬 인터페이스 처리부(110)로 송신한다.
디바이스 어드레스 검출부(210)는 직렬 인터페이스 처리부(110)로부터 읽기 확인 데이터에 대한 ACK 신호의 수신을 확인한다.
디바이스 어드레스 검출부(210)는 직렬 인터페이스 처리부(110)로부터 읽기 확인 데이터에 대한 ACK 신호를 수신하고 나서, 직렬 인터페이스 처리부(110)로부터 정지 신호를 수신하면, 그룹 어드레스 처리부(220)로 그룹 레지스터 어드레스 "1001000"와 읽기 명령이 입력되었음을 그룹 어드레스 처리부(220)로 알려준다.
그룹 어드레스 처리부(220)에서는 입력된 그룹 레지스터 어드레스 "1001000"과 읽기 명령을 바탕으로 접속되어야 할 디바이스가 그룹 디바이스 어드레스 "1001000"을 가진 슬레이브 디바이스(302, 303)임을 인지하고, 읽기 정보 레지스터(250)에 저장된 읽어야 할 레지스터 어드레스 값을 읽어와 이를 바탕으로 로컬 직렬 인터페이스 처리부(260)에 해당 정보를 전달한다. 이때 그룹 어드레스 처리부(220)는 슬레이브 디바이스 그룹(310)에 속한 개별 슬레이브 디바이스(302, 303)에 대하여 개별 디바이스 어드레스 "1001001" 및 "1001010"을 사용하여 순차적으로 I2C 프로토콜 읽기 동작을 수행하도록 슬레이브 디바이스(302, 303)를 제어한다.
앞에서 언급한 것처럼, 독립된 디바이스 어드레스를 가진 슬레이브 디바이스(302, 303)가 독립된 SCL선 및 SDA선으로 각각의 로컬 직렬 인터페이스 처리부와 연결될 수도 있으며, 이 경우에 슬레이브 디바이스(302, 303)는 각각 해당 로컬 인터페이스 처리부로의 동시 접속을 통해서 I2C 프로토콜 읽기 동작을 수행할 수 있다.
로컬 인터페이스 처리부(260)는 입력된 디바이스 어드레스 "1001000", 디바이스 내부 레지스터 어드레스 값을 바탕으로 I2C 프로토콜 마스터 기능을 통하여 슬레이브 디바이스(302, 303)와 통신을 통해 읽기 기능을 수행한다. 이때 읽혀진 슬레이브 디바이스 내부 레지스터 정보는 읽기 정보 레지스터(250)에 각 슬레이브 디바이스(302, 303)와 일대일로 매핑되어 독립적으로 할당된 구역에 저장될 수 있다.
슬레이브 디바이스(302, 303)의 읽기 과정이 끝나면 슬레이브 디바이스(302, 303)에 대한 읽기 접속 처리 결과를 저장하고 읽기 접속 처리 결과를 그룹 어드레스 처리부(220)로 통보한다. 그룹 어드레스 처리부(220)는 읽기 접속 결과를 병렬 인터페이스 처리부(120)로 인터럽터를 통하여 읽기가 완료되었음을 알려 준다. 그러면, 병렬 인터페이스부(120)는 로컬 버스를 통해 읽어 가게 하거나, 병렬 인터페이스 처리부(120)는 직렬 인터페이스 처리부(110)로 읽기 명령을 내린 후 특정 시간이 흐른 뒤 읽기 정보 레지스터(250)를 읽어갈 수 있다.
마지막으로, 그룹 디바이스 어드레스를 가진 슬레이브 디바이스 그룹(400)의 슬레이브 디바이스(4101, 4102, …, 410N)에 대한 접속 처리 방법을 자세하게 설명한다. 이때 슬레이브 디바이스(4101, 4102, …, 410N)의 공통 디바이스 어드레스는 "1010000"이며, 슬레이브 디바이스 그룹(400)의 그룹 디바이스 어드레스 또한 "1010000"인 것으로 가정한다.
공통 디바이스 어드레스 "1010000"을 가진 슬레이브 디바이스(4101, 4102, …, 410N)에 접속하기 위한 절차는 다음과 같다.
접속을 하기 위해서는 먼저 병렬 인터페이스 처리부(120)를 통하여 각 슬레이브 디바이스(4101, 4102, …, 410N)와 일대일로 비트 매핑되는 디바이스 지정 레지스터(240)의 레지스터 필드에 접속하고자 하는 슬레이브 디바이스에 해당하는 비트들을 설정한다. 최소 하나의 비트부터 최대 슬레이브 디바이스 그룹(400)에 속한 모든 슬레이브 디바이스(4101, 4102, …, 410N)에 해당하는 비트들의 설정이 가능하다. 설명의 편의상 디바이스 지정 레지스터(240)의 레지스터 필드에 모든 슬레이브 디바이스(4101, 4102, …, 410N)에 해당하는 비트들이 설정되었다고 가정한다.
디바이스 지정 레지스터(240)의 레지스터 필드에 슬레이브 디바이스(4101, 4102, …, 410N)에 해당하는 비트들의 설정이 완료되면, 직렬 인터페이스 처리부(110)는 I2C 프로토콜에 맞추어 그룹 디바이스 어드레스 "1010000"을 송신하고, 이어서 읽기/쓰기 명령 비트를 송신한다.
디바이스 어드레스 검출부(210)는 직렬 인터페이스 처리부(110)로부터 그룹 디바이스 어드레스 "1010000"을 수신하면, 등록된 그룹 디바이스 어드레스 중에 수신된 그룹 디바이스 어드레스 "1010000"과 일치하는 그룹 디바이스 어드레스가 있는지 확인하고, 일치하는 그룹 디바이스 어드레스가 있는 경우에 슬레이브 ACK 신호를 직렬 인터페이스 처리부(110)로 송신한다.
디바이스 어드레스 검출부(210)는 수신된 명령 비트가 쓰기인 경우, I2C 프로토콜 절차에 따라 직렬 인터페이스 처리부(110)로부터 쓰고자 하는 디바이스의 내부 레지스터 어드레스를 수신하여 쓰기 정보 레지스터(230)에 저장한 후 슬레이브 ACK 신호를 직렬 인터페이스 처리부(110)로 송신한다. 이어서 디바이스 어드레스 검출부(210)는 직렬 인터페이스 처리부(110)로부터 쓰고자 하는 데이터 정보를 수신하여 쓰고자 하는 데이터 정보를 쓰기 정보 레지스터(230)에 저장한 후 슬레이브 ACK 신호를 직렬 인터페이스 처리부(110)로 송신한다.
디바이스 어드레스 검출부(210)는 직렬 인터페이스 처리부(110)로부터 정지 신호를 수신하면, 그룹 디바이스 어드레스 "1010000"과 쓰기 명령이 입력되었음을 그룹 어드레스 처리부(220)로 알려준다.
그룹 어드레스 처리부(220)는 입력된 쓰기 접속 명령을 수행하기 위해, 접속되어야 할 슬레이브 디바이스가 그룹 디바이스 어드레스 "1010000"을 가진 슬레이브 디바이스(4101, 4102, …, 410N)의 그룹 디바이스 어드레스임을 인지하고, 쓰기 정보 레지스터(230)에 저장된 쓰고자 하는 레지스터 어드레스, 쓰고자 하는 데이터 값 및 디바이스 지정 레지스터(240)의 레지스터 필드 값을 읽어온다. 그룹 어드레스 처리부(220)는 읽어온 정보를 바탕으로 로컬 직렬 인터페이스 처리부(2701, 2702, …, 270N) 중 디바이스 지정 레지스터(240)에 지정된 슬레이브 디바이스(4101, 4102, …, 410N)에 연결된 로컬 직렬 인터페이스 처리부(2701, 2702, …, 270N)로 쓰기 접속을 위한 관련 정보를 전달한다.
각 로컬 직렬 인터페이스 처리부(2701, 2702, …, 270N)는 입력된 슬레이브 디바이스의 내부 레지스터 어드레스 및 쓰고자 하는 데이터 값 등의 정보를 바탕으로 독립적으로 연결된 SCL선 및 SDA선을 통하여 I2C 프로토콜 마스터 기능을 수행하여 연결된 슬레이브 디바이스(4101, 4102, …, 410N)와의 통신을 통해 쓰기 접속 기능을 처리한다.
로컬 직렬 인터페이스 처리부(2701, 2702, …, 270N)는 슬레이브 디바이스(4101, 4102, …, 410N)와의 통신을 통해 쓰기 접속 기능을 수행한 후 그 결과를 그룹 어드레스 처리부(220)로 통보하고, 그룹 어드레스 처리부(220)는 로컬 직렬 인터페이스 처리부(2701, 2702, …, 270N)의 처리 결과를 취합하여 필요 시 처리 결과를 병렬 인터페이스 처리부(120)로 통보할 수 있다.
한편, 디바이스 어드레스 검출부(210)는 수신된 명령 비트가 읽기인 경우, I2C 프로토콜 절차에 따라 I2C 프로토콜 절차에 따라 직렬 인터페이스 처리부(110)로부터 읽고자 하는 슬레이브 디바이스의 내부 레지스터 어드레스 값을 수신하여 읽기 정보 레지스터(250)에 저장하고, 슬레이브 ACK 신호를 직렬 인터페이스 처리부(110)로 송신한다. 다음, 디바이스 어드레스 검출부(210)는 사전 약속된 임의의 데이터 정보인 읽기 확인 데이터를 직렬 인터페이스 처리부(110)로 송신한다.
디바이스 어드레스 검출부(210)는 직렬 인터페이스 처리부(110)로부터 읽기 확인 데이터에 대한 ACK 신호의 수신을 확인한다.
디바이스 어드레스 검출부(210)는 직렬 인터페이스 처리부(110)로부터 읽기 확인 데이터에 대한 ACK 신호를 수신하고 나서, 직렬 인터페이스 처리부(110)로부터 정지 신호를 수신하면, 그룹 어드레스 처리부(220)로 그룹 레지스터 어드레스 "1010000"와 쓰기 명령이 입력되었음을 그룹 어드레스 처리부(220)로 알려준다.
그룹 어드레스 처리부(220)에서는 입력된 그룹 레지스터 어드레스 "1010000"과 읽기 명령을 바탕으로 접속되어야 할 디바이스가 그룹 디바이스 어드레스 "1010000"을 가진 슬레이브 디바이스(4101, 4102, …, 410N)임을 인지하고, 읽기 정보 레지스터(250)에 저장된 읽어야 할 레지스터 어드레스 값과 디바이스 지정 레지스터(240)의 레지스터 필드 값을 읽어온다. 그룹 어드레스 처리부(220)는 읽어온 정보를 바탕으로 로컬 직렬 인터페이스 처리부(2701, 2702, …, 270N) 중 디바이스 지정 레지스터(240)에 지정된 슬레이브 디바이스(4101, 4102, …, 410N)에 연결된 로컬 직렬 인터페이스 처리부(2701, 2702, …, 270N)로 읽기 접속을 위한 관련 정보를 전달한다.
각 로컬 직렬 인터페이스 처리부(2701, 2702, …, 270N)는 입력된 슬레이브 디바이스의 내부 레지스터 어드레스를 바탕으로 독립적으로 연결된 SCL선 및 SDA선을 통하여 I2C 프로토콜 마스터 기능을 수행하여 연결된 슬레이브 디바이스(4101, 4102, …, 410N)와의 통신을 통해 읽기 접속 기능을 처리한다.
로컬 직렬 인터페이스 처리부(2701, 2702, …, 270N)는 슬레이브 디바이스(4101, 4102, …, 410N)와의 통신을 통해 읽기 접속 기능을 수행한 후 그 결과를 그룹 어드레스 처리부(220)로 통보하고, 그룹 어드레스 처리부(220)는 로컬 직렬 인터페이스 처리부(2701, 2702, …, 270N)의 처리 결과를 취합하여 필요 시 처리 결과를 병렬 인터페이스 처리부(120)로 통보할 수 있다. 이때 읽혀진 슬레이브 디바이스(4101, 4102, …, 410N)의 레지스터 정보는 읽기 정보 레지스터(250)내에 각 슬레이브 디바이스(4101, 4102, …, 410N)와 일대일로 매핑되어 독립적으로 할당된 구역에 쓰여질 수 있다.
또한 슬레이브 디바이스(4101, 4102, …, 410N)의 읽기 과정이 끝나면 정상적으로 처리되었는지에 대한 결과 또한 저장하고 그룹 어드레스 처리부(220)로 통보한다. 그룹 어드레스 처리부(220)는 처리 결과를 병렬 인터페이스 처리부(120)로 인터럽터를 통하여 알려 줄 수 있으며, 병렬 인터페이스 처리부(120)에서 직렬 인터페이스 처리부(110)로 읽기 명령을 내린 후 일정한 시간이 흐른 후 자동으로 읽기 정보 레지스터(250)를 읽어갈 수도 있다.
본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 본 발명의 실시 예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시 예의 기재로부터 본 발명이 속하는 기술 분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다.

Claims (1)

  1. 디바이스 접근 장치가 하나의 마스터에 직렬 인터페이스를 통해 연결된 복수의 슬레이브 디바이스에 접근하는 방법으로서,
    상기 마스터로부터 명령을 수행할 디바이스 어드레스를 수신하는 단계,
    수신된 디바이스 어드레스가 등록된 그룹 디바이스 어드레스와 일치하는지 판단하는 단계, 그리고
    상기 수신된 디바이스 어드레스가 등록된 그룹 디바이스 어드레스와 일치하는 경우에, 상기 수신된 디바이스 어드레스를 가진 적어도 하나의 슬레이브 디바이스에 동시 접근하여 상기 마스터로부터의 명령에 따라 읽기 및 쓰기 접속 명령을 처리하는 단계
    를 포함하는 직렬 인터페이스를 통한 디바이스 접근 방법.
KR1020130040871A 2013-04-15 2013-04-15 직렬 인터페이스를 통한 디바이스 접근 장치 및 그 방법 KR20140123713A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130040871A KR20140123713A (ko) 2013-04-15 2013-04-15 직렬 인터페이스를 통한 디바이스 접근 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130040871A KR20140123713A (ko) 2013-04-15 2013-04-15 직렬 인터페이스를 통한 디바이스 접근 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR20140123713A true KR20140123713A (ko) 2014-10-23

Family

ID=51994252

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130040871A KR20140123713A (ko) 2013-04-15 2013-04-15 직렬 인터페이스를 통한 디바이스 접근 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR20140123713A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150039142A (ko) * 2015-02-16 2015-04-09 주식회사 이노와이어리스 시스템 성능 향상을 위한 제어 로직을 구비한 직렬 주변기기 인터페이스 및 그 구동 방법
KR101673943B1 (ko) * 2016-07-07 2016-11-08 주식회사 올피아 유무선 통신방식을 이용한 통합 스마트기기 인터페이스 시스템 및 그 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150039142A (ko) * 2015-02-16 2015-04-09 주식회사 이노와이어리스 시스템 성능 향상을 위한 제어 로직을 구비한 직렬 주변기기 인터페이스 및 그 구동 방법
KR101673943B1 (ko) * 2016-07-07 2016-11-08 주식회사 올피아 유무선 통신방식을 이용한 통합 스마트기기 인터페이스 시스템 및 그 방법

Similar Documents

Publication Publication Date Title
US7565470B2 (en) Serial bus device with address assignment by master device
US8667204B2 (en) Method to differentiate identical devices on a two-wire interface
US7715450B2 (en) Sideband bus setting system and method thereof
CN108139997A (zh) 通信系统、设备、主设备、从设备、通信系统控制方法和程序
CN104199796B (zh) Iic通信方法以及实现iic通信的嵌入式系统
KR101711698B1 (ko) 데이터 처리 방법, 및 데이터 처리 장치
US20110153884A1 (en) Storage system provided with function for detecting write completion
JP7086705B2 (ja) インターフェース回路および電子機器
EP2388960A1 (en) Intelligent bus address self-configuration in a multi-module system
KR20140078161A (ko) Pci 익스프레스 스위치 및 이를 이용한 컴퓨터 시스템
CN105786736A (zh) 一种多芯片级联的方法、芯片和装置
US9639489B2 (en) I/O device sharing system and I/O device sharing method
CN103488600A (zh) 通用从机同步串行接口电路
US6185651B1 (en) SCSI bus extender utilizing tagged queuing in a multi-initiator environment
JP2008547099A (ja) メモリチャネル上の応答のスケジューリング
KR20140123713A (ko) 직렬 인터페이스를 통한 디바이스 접근 장치 및 그 방법
US10095643B2 (en) Direct memory access control device for at least one computing unit having a working memory
CN105630727A (zh) 多SoC节点之间的访问方法、装置和系统
CN114996184B (zh) 兼容实现spi或i2c从机的接口模块及数据传输方法
KR20160147373A (ko) 광 신호를 이용한 sata 호스트 버스 어댑터 및 sata 저장소 연결 방법
KR101260313B1 (ko) 전자장치 및 그 데이터 송수신방법과, 슬레이브 장치 및복수의 장치 간의 통신방법
US20100205334A1 (en) Device wire adapter and communication control method to perform data transfer between wireless USB host and wired USB device
US8713205B2 (en) Data transfer device and data transfer method
KR20070102823A (ko) I2c 프로토콜에서의 어드레스 제어 장치
CN100456273C (zh) PCI-Express通信系统及其通信方法

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination