KR20050107159A - 시스템의 직렬 인터페이스 버스를 위한 버스 컨트롤러 - Google Patents

시스템의 직렬 인터페이스 버스를 위한 버스 컨트롤러 Download PDF

Info

Publication number
KR20050107159A
KR20050107159A KR1020040032392A KR20040032392A KR20050107159A KR 20050107159 A KR20050107159 A KR 20050107159A KR 1020040032392 A KR1020040032392 A KR 1020040032392A KR 20040032392 A KR20040032392 A KR 20040032392A KR 20050107159 A KR20050107159 A KR 20050107159A
Authority
KR
South Korea
Prior art keywords
unit
data
input
control
bus
Prior art date
Application number
KR1020040032392A
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 KR1020040032392A priority Critical patent/KR20050107159A/ko
Publication of KR20050107159A publication Critical patent/KR20050107159A/ko

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60JWINDOWS, WINDSCREENS, NON-FIXED ROOFS, DOORS, OR SIMILAR DEVICES FOR VEHICLES; REMOVABLE EXTERNAL PROTECTIVE COVERINGS SPECIALLY ADAPTED FOR VEHICLES
    • B60J3/00Antiglare equipment associated with windows or windscreens; Sun visors for vehicles
    • B60J3/06Antiglare equipment associated with windows or windscreens; Sun visors for vehicles using polarising effect
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60JWINDOWS, WINDSCREENS, NON-FIXED ROOFS, DOORS, OR SIMILAR DEVICES FOR VEHICLES; REMOVABLE EXTERNAL PROTECTIVE COVERINGS SPECIALLY ADAPTED FOR VEHICLES
    • B60J3/00Antiglare equipment associated with windows or windscreens; Sun visors for vehicles
    • B60J3/02Antiglare equipment associated with windows or windscreens; Sun visors for vehicles adjustable in position
    • B60J3/0204Sun visors
    • B60J3/0213Sun visors characterised by the mounting means

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 발명은 I2C/SM 버스와 같이 마스터와 슬레이브 관계 구조에 있는 버스의 입력포트 제어시 입력포트를 통해 들어온 데이터에 대한 비트 단위의 업데이트를 통해 입력신호의 처리 시간을 단축시키고, 입력 포트 선택 레지스터를 두어 우선적으로 처리할 필요가 있는 입력포트를 우선적으로 처리하므로써 효율적인 입력포트 제어가 이루어지는 버스 컨트롤러를 제공하기 위한 것으로서, 다수의 슬레이브 장치의 입출력 단자를 연결하는 입출력 확장부; 슬레이브 장치와의 동작 주파수를 생성하는 직렬 클럭(SCL) 발생부; 슬레이브 장치에 데이터를 쓰기(write)하거나 슬레이브 장치로부터 데이터를 읽어(read)오는 직렬 데이터(SDA) 발생부; SCL 주파수 제어, 프로토콜 제어, 관련 인터럽트 제어에 관련된 제어동작을 수행하는 직렬 버스 제어부; 및 시스템의 전반적인 제어를 수행하는 주 제어부와의 인터페이스를 담당하는 SFR(Special Function Register)부로 구성되며, 상기 SFR부는 SDA 발생부를 통해 수신한 데이터를 저장하는 저장부와 수신된 데이터의 포트를 지정하는 저장부를 포함하여 구성된다.

Description

시스템의 직렬 인터페이스 버스를 위한 버스 컨트롤러{BUS controller for serial interface of system}
본 발명은 시스템의 버스 컨트롤러에 관한 것으로서, 더욱 상세하게는 다수의 슬레이브 장치와 통신이 가능한 직렬 버스 컨트롤러에 관한 것이다.
종래의 시스템에서는 각종 입출력 장치(I/O:Input/Output)의 제어를 위해서 입출력 장치 개수에 해당하는 신호선과 전원선이 필요하였다. 이를 줄이기 위해 기존의 직렬 인터페이스 프로토콜인 I2C(아이 스퀘어 씨: Inter Integrated Circuit) 또는 SM(SmartMedia) 버스 등을 사용하여 입출력 제어에 필요한 신호선을 SCL, SDA 두 라인으로 공통으로 사용한다.
본 발명에서는 직렬 버스 중 일반적으로 사용되고 있는 I2C 버스를 예로 들어 설명하기로 한다.
상기 I2C는 데이터를 직렬로 전송하기 위한 직렬 데이터 전송(SDA: serial data) 라인과 클럭 전송을 위한 직렬 클럭(SCL:serial clock) 라인으로 구성되며, I2C 버스에 접속된 장치들은 마스터와 슬레이브 관계로 상호 동작한다.
도 1을 참조하여 종래의 I2C 버스 컨트롤러의 구성을 설명하기로 한다.
종래의 I2C 버스 컨트롤러(20)는 다수의 슬레이브 장치(31, 32)와의 동작 주파수를 생성하는 SCL 발생부(22)와, 슬레이브 장치에 데이터를 쓰기(write)하거나 슬레이브 장치로부터 데이터를 읽어(read)오는 SDA 발생부(23)와, I2C 제어부(20)의 전반적인 제어(SCL 주파수 제어, 프로토콜 제어, 관련 인터럽트 제어)와 제어부(11)와의 인터페이스를 담당하는 SFR(Special Function Register)부(21)로 구성된다.
상기 제어부(11)에는 I2C를 지원하는 입출력장치들의 제어를 위해 I2C 또는 SM 버스의 프로토콜을 만족하는 I2C 컨트롤러의 기능이 내장되어야 한다. 이러한 I2C 컨트롤러를 이용해서 I2C 버스 또는 SM 버스 상의 입출력장치들에 1 바이트(8비트) 크기의 데이터를 단순히 쓰거나 읽는 동작만을 수행한다.
도 2를 참조하여 I2C 버스의 기본 프로토콜을 설명하기로 한다.
I2C 제어부(마스터)(20)에 의해서 동작의 기준신호인 SCL이 생성되며, I2C 제어부(20)는 슬레이브 장치(31,32)로부터 데이터를 읽어오거나 쓰는 동작을 할 수 있다.
도 2에 도시된 바와 같이, 프로토콜은 데이터의 전송을 위해서 시작 조건(start condition)에 의해 전송을 시작하고 정지 조건(stop condition)에 의해서 전송이 멈추게 되며, 9번째 비트의 SCL에서 해당 슬레이브 장치는 전송 가능 여부에 따라 ACK(low)/NACK(high) 신호를 마스터인 I2C 제어부(20)에 전달하게 된다.
I2C의 경우 동작속도는 모드에 따라서 스탠다드 모드시 0∼100khz/bit, 패스트 모드시 400khz/bit, 하이 스피드 모드시 3.4Mhz/bit이다.
또한, SDA로 전송되는 직렬 데이터의 포맷은 각 9비트이며, 이중 8비트는 데이터이고 1비트는 에크(acknowledge)신호로 구성된다. 에크신호를 포함한 데이터의 송수신이 완료되면 I2C 장치들은 SCL을 로우 레벨로 유지하여 I2C 버스의 사이클 진행을 대기한다.
각 장치들 내부적으로 해당되는 인터럽트 등의 수행을 통해 이들 데이터의 처리 및 다음 사이클의 데이터 송수신 작업을 준비한다. 이것이 완료되면 SCL에 해당되는 클럭을 인가하여 다음 사이클을 진행한다.
I2C 버스의 기본 사이클은 어드레스 필드와 데이터 필드로 구분하고 있다. I2C 버스의 송수신 시작부터 1 사이클 동안을 슬레이브 어드레스 필드로 규정하며, 이후 정지조건의 발생시까지 N개의 사이클을 데이터 필드로 규정한다.
그런데, I2C를 이용하여 입력 장치의 제어를 하는 경우 SCL 클럭에 따라 비트 단위로 데이터를 입력받아 ACK/NACK에 대해 바이트 단위로 처리하기 때문에 입력포트로부터 입력된 신호에 대해 SCL 클럭의 1∼8 주기만큼의 시간 차이에 해당하는 처리 시간의 손실을 가질수 밖에 없게 되고, 입력포트에 대한 우선순위도 고정되어 있어 적절한 제어가 불가능하다.
따라서 본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로서, I2C 버스 또는 SM 버스와 같이 마스터와 슬레이브 관계 구조에 있는 버스의 입력포트 제어시 입력포트를 통해 들어온 데이터에 대한 비트 단위의 업데이트를 통해 입력신호의 처리 시간을 단축시키고, 입력 포트 선택 레지스터를 두어 우선적으로 처리할 필요가 있는 입력포트를 우선적으로 처리하므로써 효율적인 입력포트 제어가 이루어지는 버스 컨트롤러를 제공하는데 목적이 있다.
이러한 목적을 달성하기 위한 본 발명에 따른 시스템의 직렬 인터페이스 버스를 위한 버스 컨트롤러는, 시스템의 직렬 인터페이스로 구성된 버스 제어부에 있어서, 다수의 슬레이브 장치의 입출력 단자를 연결하는 입출력 확장부; 슬레이브 장치와의 동작 주파수를 생성하는 직렬 클럭(SCL) 발생부; 슬레이브 장치에 데이터를 쓰기(write)하거나 슬레이브 장치로부터 데이터를 읽어(read)오는 직렬 데이터(SDA) 발생부; SCL 주파수 제어, 프로토콜 제어, 관련 인터럽트 제어에 관련된 제어동작을 수행하는 직렬 버스 제어부; 및 시스템의 전반적인 제어를 수행하는 주 제어부와의 인터페이스를 담당하는 SFR(Special Function Register)부로 구성되며, 상기 SFR부는 SDA 발생부를 통해 수신한 데이터를 저장하는 저장부와 수신된 데이터의 포트를 지정하는 저장부를 포함한다.
상기 SFR부는 입력 신호에 대한 인터럽트 처리가 필요한 신호 수신시 인터럽트 발생 신호를 생성하는 인터럽트 발생부를 더 포함하는 특징이 있다.
또한 상기 SFR부는 SDA 발생부를 통해 수신한 데이터를 매 직렬 클럭(SCL)마다 입력 포트당 한번씩 데이터를 저장하는 특징이 있다.
또한, 슬레이브 장치로부터 ACK/NACK 신호를 수신하기 전에 받은 데이터는 추후 수신하게 되는 ACK/NACK 신호에 따라 사용되거나 폐기되는 특징이 있다.
이하, 본 발명이 속하는 분야에 통상의 지식을 지닌자가 본 발명을 용이하게 실시할 수 있도록 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
도 3은 본 발명의 바람직한 실시예에 따른 I2C 제어부에 관한 구성도이다.
I2C 버스 컨트롤러(100)는 다수의 슬레이브 장치의 입출력 단자를 연결하는 I/O EXPANDER(200)와, 슬레이브 장치와의 동작 주파수를 생성하는 SCL 발생부(122)와, 슬레이브 장치에 데이터를 쓰기(write)하거나 슬레이브 장치로부터 데이터를 읽어(read)오는 SDA 발생부(123)와, I2C 제어부(120)의 전반적인 제어(SCL 주파수 제어, 프로토콜 제어, 관련 인터럽트 제어)와 제어부(110)와의 인터페이스를 담당하는 SFR(Special Function Register)부(121)로 구성된다.
본 발명에서는 I2C/SM 버스를 이용한 입출력 포트 신호제어를 위해, I2C/SM 버스 프로토콜을 지원하는 I/O EXPANDER(200)를 사용하고, 이 I/O EXPANDER(200)에 다수의 입출력 장치들이 연결된다.
한편, 300으로 표기된 확장된 SFR부를 통해 상기 SFR부(121)를 상세히 살펴보면, 입력포트를 통해 수신된 데이터에 대한 비트 단위의 업데이트를 할 수 있도록 SDA 발생부(123)로 수신된 데이터를 저장하는 입력 SDA 저장 레지스터와, 입력 포트를 선택하여 우선적으로 처리가 되어야 할 데이터의 경우 해당 포트를 선택할 수 있도록 하기 위한 입력 포트 선택 레지스터를 더 포함하고 있다.
또한, 입력 신호에 대한 인터럽트 처리가 필요한 경우를 위해, 인터럽트 발생 신호를 생성하는 인터럽트 발생회로를 더 포함할 수 있다.
인터럽트 발생회로의 구성은 입력 SDA 저장 레지스터의 데이터를 이용하면 이용하여 구성할 수 있다.
상기와 같이 구성된 상태에서 실제로 슬레이브 장치로부터 데이터가 수신되는 과정을 타이밍도를 이용하여 설명하기로 한다.
도 4는 본 발명을 구현하기 위한 I2C 버스의 변경된 프로토콜에 관한 타이밍도이다.
도 4를 참조하면, I2C 제어부(마스터)(120)에 의해서 동작의 기준신호인 SCL이 생성되며, I2C 제어부(120)의 SDA 발생부(123)는 슬레이브 장치들(I/O_0∼I/O_7)로부터 수신되는 데이터를 I/O EXPANDER(200)를 통해 비트단위로 수신하고, 이 데이터는 SFR부(121)의 입력 SDA 저장 레지스터에 저장된다.
이때 입력 SDA 저장 레지스터에 저장되는 데이터의 위치는 입력 포트 선택 레지스터에 지정된 포트의 위치와 일치되어야 한다.
이후, 데이터의 전송을 위해서 시작 조건(start condition)에 의해 전송을 시작하고, 9번째 비트의 SCL에서 해당 슬레이브 장치는 전송 가능 여부에 따라 ACK(low)/NACK(high) 신호를 마스터인 I2C 제어부(120)에 전달하게 된다.
이후 상기 과정은 데이터가 있는 동안 동일하게 진행되며, 정지 조건(stop condition)에 의해서 전송이 멈추게 된다.
보통 사용되는 I2C의 SCL 주기는 2.5∼10μ정도이므로 최대 70μs의 업데이트 주기를 단축시키는 효과가 있다.
I2C 프로토콜의 특성상 입력되는 SDA 신호는 최상위 비트 MSB(Most Significant Bit)부터 최하위 비트 LSB(Last Significant Bit)로 입력되어지므로 우선적으로 처리가 필요한 신호에 대해 입력 포트 선택 레지스터를 통해 입력포트의 순서를 정할 수 있다.
이상 본 발명의 바람직한 실시예에 대해 상세히 기술되었지만, 본 발명이 속하는 기술분야에 있어서 통상의 지식을 가진 사람이라면, 첨부된 청구 범위에 정의된 본 발명의 기술적 사상 및 범위를 벗어나지 않으면서 본 발명을 여러 가지로 변형 또는 변경하여 실시할 수 있음을 알 수 있을 것이다. 따라서 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.
이상 설명한 바와 같이, 본 발명에 따르면 매 클럭마다 데이터를 업데이트할 수 있으므로 종래의 바이트 단위(8비트)로 업데이트 되던 주기보다 7비트 단축되므로 전체적인 신호 처리에 있어서 신속함을 제공하는 효과가 있다.
또한 입력포트 선택 레지스터를 이용하여 유동적으로 입력포트를 선택하여 입력신호에 대한 인터럽트를 발생시키므로써 입력 포트 신호 처리를 보다 효과적으로 제어할 수 있는 효과가 있다.
도 1은 종래의 I2C 제어부와 슬레이브 장치들간의 연결 구성도,
도 2는 종래 I2C 버스의 기본 프로토콜에 관한 타이밍도,
도 3은 본 발명의 바람직한 실시예에 따른 I2C 제어부에 관한 구성도,
도 4는 본 발명을 구현하기 위한 I2C 버스의 변경된 프로토콜에 관한 타이밍도.
<도면의 주요 부분에 대한 부호 설명>
100 : I2C 버스 컨트롤러 110 : 제어부
120 : I2C 제어부 121 : SFR부
122 : SCL 발생부 123 : SDA 발생부
200 : I/O EXPANDER 300 : 확장된 SFR부

Claims (4)

  1. 시스템의 직렬 인터페이스로 구성된 버스 제어부에 있어서,
    다수의 슬레이브 장치의 입출력 단자를 연결하는 입출력 확장부;
    슬레이브 장치와의 동작 주파수를 생성하는 직렬 클럭(SCL) 발생부;
    슬레이브 장치에 데이터를 쓰기(write)하거나 슬레이브 장치로부터 데이터를 읽어(read)오는 직렬 데이터(SDA) 발생부;
    SCL 주파수 제어, 프로토콜 제어, 관련 인터럽트 제어에 관련된 제어동작을 수행하는 직렬 버스 제어부; 및
    시스템의 전반적인 제어를 수행하는 주 제어부와의 인터페이스를 담당하는 SFR(Special Function Register)부로 구성되며,
    상기 SFR부는 SDA 발생부를 통해 수신한 데이터를 저장하는 저장부와 수신된 데이터의 포트를 지정하는 저장부를 포함하는 것을 특징으로 하는 시스템의 직렬 인터페이스 버스를 위한 버스 컨트롤러.
  2. 제 1항에 있어서, 상기 SFR부는
    입력 신호에 대한 인터럽트 처리가 필요한 신호 수신시 인터럽트 발생 신호를 생성하는 인터럽트 발생부를 더 포함하는 것을 특징으로 하는 시스템의 직렬 인터페이스 버스를 위한 버스 컨트롤러.
  3. 제 1항에 있어서, 상기 SFR부는
    SDA 발생부를 통해 수신한 데이터를 매 직렬 클럭(SCL)마다 입력 포트당 한번씩 데이터를 저장하는 것을 특징으로 하는 시스템의 직렬 인터페이스 버스를 위한 버스 컨트롤러.
  4. 제 1항에 있어서, 슬레이브 장치로부터 ACK/NACK 신호를 수신하기 전에 받은 데이터는 추후 수신하게 되는 ACK/NACK 신호에 따라 사용되거나 폐기되는 것을 특징으로 하는 시스템의 직렬 인터페이스 버스를 위한 버스 컨트롤러.
KR1020040032392A 2004-05-07 2004-05-07 시스템의 직렬 인터페이스 버스를 위한 버스 컨트롤러 KR20050107159A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040032392A KR20050107159A (ko) 2004-05-07 2004-05-07 시스템의 직렬 인터페이스 버스를 위한 버스 컨트롤러

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040032392A KR20050107159A (ko) 2004-05-07 2004-05-07 시스템의 직렬 인터페이스 버스를 위한 버스 컨트롤러

Publications (1)

Publication Number Publication Date
KR20050107159A true KR20050107159A (ko) 2005-11-11

Family

ID=37283804

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040032392A KR20050107159A (ko) 2004-05-07 2004-05-07 시스템의 직렬 인터페이스 버스를 위한 버스 컨트롤러

Country Status (1)

Country Link
KR (1) KR20050107159A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10055321B2 (en) 2015-06-04 2018-08-21 Samsung Electronics Co., Ltd. Storage device, main board in which the storage device is embedded, and self-diagnosis method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10055321B2 (en) 2015-06-04 2018-08-21 Samsung Electronics Co., Ltd. Storage device, main board in which the storage device is embedded, and self-diagnosis method thereof

Similar Documents

Publication Publication Date Title
US7529862B2 (en) System for providing access of multiple data buffers to a data retaining and processing device
KR101269781B1 (ko) 반도체 장치 및 데이터 처리 시스템
CN102339267B (zh) I2c地址转换
US5640602A (en) Transferring digital data in units of 2 bytes to increase utilization of a 2-byte-wide bus
JP2005128747A (ja) シリアル転送バス用の送受信マクロを有する集積回路装置
US20190356412A1 (en) Fast termination of multilane double data rate transactions
JP2005250681A (ja) データ転送メモリ及びモジュール
JP2778222B2 (ja) 半導体集積回路装置
WO2005057400A1 (ja) 電子装置、その制御方法、ホスト装置及びその制御方法
KR20040076730A (ko) 고속의 무선 통신에 적합한 하이브리드형 직렬 데이터전송 장치 및 그 방법
JPH10116187A (ja) マイクロコンピュータ
JP4160068B2 (ja) ベースバンドプロセッサと無線周波数集積モジュールとの間のデジタルプログラミングインターフェース
KR20050046932A (ko) i2C 버스를 이용한 슬레이브 장치들의 상태 검사 시스템
KR20050107159A (ko) 시스템의 직렬 인터페이스 버스를 위한 버스 컨트롤러
US6978391B2 (en) Asynchronous bus interface circuit, method of controlling the circuit, microcomputer, and device controlling method
JP2009130684A (ja) 制御信号通信方法、光トランシーバ装置
CN114880270B (zh) Spi设备及其数据传输方法
JP2009163531A (ja) 割り込み管理機構およびマイクロコンピュータ
KR100295683B1 (ko) 인터아이씨의 제너럴콜 어크날리지장치및 방법
US11797421B2 (en) Semiconductor apparatus and debug system
CN111522387B (zh) 电压同步控制电路及包含其的电压读取控制***
JP2004334551A (ja) シリアル通信システム及びシリアル通信用ローカル端末
KR0184402B1 (ko) I₂c 버스의 인터럽트 발생 장치
JP2021150732A (ja) マスタスレーブ通信システム、電子デバイス、マスタスレーブ通信システムの制御方法、電子デバイスの制御方法
KR19980069931A (ko) 시리얼 입출력 회로 및 시리얼 버스 인터페이스 회로

Legal Events

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