KR20010054137A - 시스템 효율을 향상시키는 버스 제어방법 - Google Patents

시스템 효율을 향상시키는 버스 제어방법 Download PDF

Info

Publication number
KR20010054137A
KR20010054137A KR1019990054790A KR19990054790A KR20010054137A KR 20010054137 A KR20010054137 A KR 20010054137A KR 1019990054790 A KR1019990054790 A KR 1019990054790A KR 19990054790 A KR19990054790 A KR 19990054790A KR 20010054137 A KR20010054137 A KR 20010054137A
Authority
KR
South Korea
Prior art keywords
register
data
fifo
bus
transmitting
Prior art date
Application number
KR1019990054790A
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 KR1019990054790A priority Critical patent/KR20010054137A/ko
Publication of KR20010054137A publication Critical patent/KR20010054137A/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
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

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

시스템 효율을 향상시키는 버스 제어 방법이 개시된다. 본 발명은 버스 상의 데이터를 송수신을 제어하는 버스 콘트롤러에 있어서, FIFO 레지스터 내에 저장되는 일정량의 데이터를 상기 버스로 전송한 뒤 인터럽트를 발생하되, 상기 일정량의 데이터는 32 비트 단위로 전송되어 1 바이트씩 데이터 전송후에 인터럽트 발생으로 인한 기다림 시간을 줄일 수 있는 것을 특징으로 하는 버스 컨트롤러의 버스 제어 방법이다. 따라서, 본 발명의 버스 라인 제어 방법은 데이터 송수신시 버스 컨트롤러에서 32 비트 단위의 데이터를 FIFO 레지스터에 저장했다가 처리하므로 시스템 효율이 종래에 비하여 향상된다.

Description

시스템 효율을 향상시키는 버스 제어 방법{Bus control method capable of improving system efficiency}
본 발명은 반도체 집적 회로에 관한 것으로서, 특히 시스템 효율을 향상시키는 버스 제어 방법에 관한 것이다.
시스템에 내장되는 각종 디바이스들은 버스를 통하여 서로 연결되고 상호 동작된다. 이러한 버스 시스템으로는 12C 버스 시스템이 있는 데, 이는 필립스(Philips)에서 개발한 것이다.
12C 버스 시스템의 특징은 첫번째로 단지 2개의 와이어(wire), 즉 시리얼 데이터 라인 SDL과 시리얼 클럭 라인 SCL 만을 사용한다는 데 있다. 두 번째로는 12C 버스에 연결되는 모든 디바이스들을 고유의 어드레스들을 갖고 있어서 소프트웨어적으로 어드레싱 가능하다는 데 있다. 세 번째로는 데이터 송수신시 항상 마스터-슬레이브(master-slave) 관계가 존재한다. 그리고, 네 번째로는 12C 버스에 연결되는 각각의 디바이스는 12C 버스 시스템에 영향을 주지 않으면서 제거되거나 추가될 수 있다.
도 1은 종래의 12C 버스 시스템에서 데이터 전송 방법을 나타내는 도면이다. 이를 참조하면, 마스터와 슬레이브와의 데이터 전송 시, 데이터 전송 시작 신호 S, 슬레이브 어드레스, 독출/기입 모드 신호 R/W, 데이터 전송 응답(acknowledge) 신호 A, 데이터, 데이터 전송 정지 신호 P의 순서로 데이터 전송을 처리한다. 이 때 전송되는 데이터의 량이 클 경우 데이터를 바이트 단위로 분할하여, 데이터 전송 응답 신호 A와 분할된 데이터를 수차례 반복해서 데이터를 전송하게 된다. 그리고, 마스터에서 슬레이브로 데이터를 전송하는 경우에 독출/기입 신호(R/W)는 기입 모드로 셋팅되고 슬레이브에서 마스터로 데이터를 전송하는 경우에는 독출 모드로 셋팅된다.
이와 같은 데이터 전송 방법은 데이터 응답 신호 A가 발생될 때 마다 12C 버스 콘트롤러는 인터럽트(interrupt)를 발생시키게 된다. 이것은 버스를 통하여 데이터를 보내거나 받을 때 마다 마스터 등의 상위레벨 디바이스에게 인터럽트로서 이를 알려주기 위한 것이다. 그리하여, 데이터 미싱(missing)없이 데이터 전송을 수행하게 된다.
그런데, 전송될 데이터 양이 많아 데이터 분할되는 경우에는 분할된 데이터를 보낼 때 마다 인터럽트가 발생된다. 이로 인하여 데이터 전송 속도가 저하될 수있다.
따라서, 데이터 전송 속도 저하를 방지할 수 있는 버스 제어 방법이 필요하다.
본 발명의 목적은 버스 라인 상의 데이터 전송 속도 저하를 방지하여 시스템 효율을 향상시킬 수 있는 버스 제어 방법을 제공하는 것이다.
본 발명의 상세한 설명에서 사용되는 도면을 보다 충분히 이해하기 위하여, 각 도면의 간단한 설명이 제공된다.
도 1은 종래의 버스 시스템 구조를 나타내는 도면이다.
도 2는 본 발명의 일실시예에 따른 버스 시스템 구조를 나타내는 도면이다.
상기 목적을 달성하기 위하여 본 발명은 버스 상의 데이터를 송수신을 제어하는 버스 콘트롤러에 있어서, FIFO 레지스터 내에 저장되는 일정량의 데이터를 상기 버스로 전송한 뒤 인터럽트를 발생하되, 상기 일정량의 데이터는 32 비트 단위로 전송되어 1 바이트씩 데이터 전송후에 인터럽트 발생으로 인한 기다림 시간을 줄일 수 있는 것을 특징으로 하는 버스 컨트롤러의 버스 제어 방법이다.
이와 같은 본 발명의 버스 라인 제어 방법은 데이터 송수신시 버스 컨트롤러에서 32 비트 단위의 데이터를 FIFO 레지스터에 저장했다가 처리하므로 시스템 효율이 종래에 비하여 향상된다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 대하여, 동일한 참조부호는 동일한 부재임을 나타낸다.
도 2는 본 발명의 일실시예에 따른 버스 콘트롤러를 나타내는 도면이다. 도 2의 버스 콘트롤러(2)에는 시리얼 클럭 제어부(3), 데이터 제어부(4), 시리얼 클럭프리스케일러(5), 시프트 버퍼 레지스터(6), 내부 레지스터부(10) 및 어드레스 디코더(20)를 포함한다. 시리얼 클럭 제어부(2) 및 데이터 제어부(4)는 버스 상에서 상호 교환되는 SCL 및 SDL을 송수신하고, 시리얼 클럭 프리스케일러(5)는 SCL 주파수를 결정한다. 내부 레지스터부(10)에는 SCL 주파수를 저장하는 프리스케일러 레지스터(11), 수신완료, 송신완료, FIFO 엠프티(empty), FIFO 풀(FIFO full), 응답 등을 나타내는 인터럽트 레지스터(12), 송신 모드, 수신 모드, 응답 인에이블, 데이터 전송 시작, 정지, 비지(busy), 연속, 리셋 등을 제어하는 제어 레지스터(13), 카운터 레지스터(14), 버퍼 레지스터(15), FIFO 엠프티(empty), 풀(full), 플러시(flush) 등을 제어하는 FIFO 제어 레지스터(16), 송수신하고자 하는 어드레스를 저장하는 FIFO 송/수신 레지스터(17) 및 FIFO 레지스터(18) 등을 구비한다. 시프트 버퍼 레지스터(6)는 버스를 통해 송수신되는 데이터(data[3:0])를 시프트하여 SDL로 보내거나 수신한다. FIFO 레지스터(18)는 32비트로 구성되는 것이 바람직하다.
이와 같은 버스 콘트롤러는 다음과 같이 동작된다.
먼저, 마스터에서 슬레이브로 데이터를 전송하는 경우를 살펴보면, 마스터에서 데이터 전송 시작을 위한 신호들(예컨대, 도 1의 데이터 전송 시작 신호 S 등)을 셋팅하고 오퍼레이션을 시작한다. 마스터에서 발생된 데이터를 보내고자 하는 슬레이브의 어드레스(addr[21:0])를 버스 콘트롤러(2)로 전송하고 해당 어드레스(addr[21:0])는 버스 콘트롤러(2)의 어드레스 디코더(20)를 통하여 버퍼 레지스터에 기입된다. 이 후 버스 콘트롤러(2)는 슬레이브 어드레스를 버스로 보낸다. 슬레이브 어드레스(addr[21:0])에 대한 응답신호가 있으면 슬레이브로 전송해야 하는 데이터 바이트 수는 카운터 레지스터에 저장되고 데이터는 피포(FIFO)에 저장된다. 반면, 일정 시간 안에 슬레이브 어드레스(addr[21:0])에 대한 응답신호가 없으면 버스 콘트롤러(2)는 정지 신호(도 1의 P)를 발생하여 데이터 전송을 중단시킨다.
카운터 레지스터에 저장된 값이 다운 카운팅 되어 "0"이 되면 버스 콘트롤러(2)는 데이터 전송 완료 신호들을 셋팅하여 슬레이브로부터의 응답신호에 대하여 정지 신호( 도 1의 P)를 보내고 인터럽트를 발생하여 데이터 전송을 완료한다. 여기에서 종래에는 1 바이트씩 데이터를 전송한 후에 인터럽트를 발생시키는 것에 반하여 본 실시예에서는 FIFO 레지스터(18)에 저장된 32비트 단위의 데이터을 전송한 후에 인터럽트를 발생하므로 종래에 비하여 시스템 효율 저하가 방지된다.
여기에서, 보내고자 하는 데이터 량이 FIFO의 크기보다 클 경우에는 콘트롤 레지스터에 연속 비트(continuous bit)를 설정하여 이를 셋팅해서 FIFO에 저장된 데이터 이외에 보내고자 하는 다른 데이터가 더 있음을 나타낸다. 그리하여 FIFO에 있는 데이터를 다 전송한 후에도 콘트롤 레지스터 내 연속 비트가 셋팅되어 있으면 정지 신호를 발생하지 않고 FIFO 엠프티(empty) 인터럽트를 발생시킨다.
다음에, 마스터가 슬레이브로부터 데이터를 전송받을 경우를 살펴보면, 마스터로부터 슬레이브로 데이터를 전송하는 경우와 마찬가지로, 마스터에서 데이터 전송 시작을 위한 신호들을 셋팅하고 오퍼레이션을 시작한다. 마스터에서 발생된 데이터를 받고자 하는 슬레이브의 어드레스(addr[21:0])를 버스 콘트롤러(2)로 전송하고 해당 어드레스(addr[21:0])는 버스 콘트롤러(2)의 어드레스 디코더(20)를 통하여 버퍼 레지스터에 기입된다. 이 후 버스 콘트롤러(2)는 슬레이브 어드레스를 버스로 보낸다. 슬레이브 어드레스(addr[21:0])에 대한 응답신호가 있으면 슬레이브로부터 받을 데이터 바이트 수는 카운터 레지스터에 저장되고 카운터 레지스터의 값이 하나씩 다운 카운팅되면서 데이터는 1 바이트(byte)씩 피포(FIFO)에 저장되고 이에 대한 응답 신호가 발생된다. 반면, 일정 시간 안에 슬레이브 어드레스(addr[21:0])에 대한 응답신호가 없으면 버스 콘트롤러(2)는 자동적으로 정지 신호(도 1의 P)를 발생하여 데이터 전송을 중단시킨다.
카운터 레지스터에 저장된 값이 다운 카운팅 되어 "0"이 되면 버스 콘트롤러(2)는 데이터 전송 완료 신호들을 셋팅하여 슬레이브로부터의 응답신호를 기다리지 않고 정지 신호( 도 1의 P)를 보내고 인터럽트를 발생하여 데이터 전송을 완료한다.
여기에서도, 받고자 하는 데이터 량이 FIFO의 크기보다 클 경우에는 콘트롤 레지스터에 연속 비트(continuous bit)를 셋팅한다. 전송받은 데이터로 FIFO가 다 찼을 때에 연속 비트가 리셋되어 있으면 데이터 수신을 완료하고 연속 비트가 아직도 셋팅되어 있으면 FIFO 풀 인터럽트(FIFO full interrupt)를 발생한다. FIFO 풀 인터럽트가 발생하면 마스터가 전송받을 데이터를 다 수신한 후에 시리얼 클럭을 구동할 수 있게 된다. 이때에도 보내지는 데이터는 FIFO 레지스터(18)에 저장된 32 비트 단위의 데이터이므로 종래의 1 바이트씩 보내지고 인터럽트가 발생되는 것에 비하여 시스템 효율이 저하되지 않는다.
본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 본 발명의 버스 라인 제어 방법은 데이터 송수신시 버스 컨트롤러에서 32 비트 단위의 데이터를 FIFO 레지스터에 저장했다가 처리하므로 시스템 효율이 종래에 비하여 향상된다.

Claims (1)

  1. 버스 상의 데이터를 송수신을 제어하는 버스 콘트롤러에 있어서,
    FIFO 레지스터 내에 저장되는 일정량의 데이터를 상기 버스로 전송한 뒤 인터럽트를 발생하되, 상기 일정량의 데이터는 32 비트 단위로 전송되어 1 바이트씩 데이터 전송후에 인터럽트 발생으로 인한 기다림 시간을 줄일 수 있는 것을 특징으로 하는 버스 컨트롤러의 버스 제어 방법.
KR1019990054790A 1999-12-03 1999-12-03 시스템 효율을 향상시키는 버스 제어방법 KR20010054137A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990054790A KR20010054137A (ko) 1999-12-03 1999-12-03 시스템 효율을 향상시키는 버스 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990054790A KR20010054137A (ko) 1999-12-03 1999-12-03 시스템 효율을 향상시키는 버스 제어방법

Publications (1)

Publication Number Publication Date
KR20010054137A true KR20010054137A (ko) 2001-07-02

Family

ID=19623455

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990054790A KR20010054137A (ko) 1999-12-03 1999-12-03 시스템 효율을 향상시키는 버스 제어방법

Country Status (1)

Country Link
KR (1) KR20010054137A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113590520A (zh) * 2021-06-15 2021-11-02 珠海一微半导体股份有限公司 Spi系统自动写入数据的控制方法及spi系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113590520A (zh) * 2021-06-15 2021-11-02 珠海一微半导体股份有限公司 Spi系统自动写入数据的控制方法及spi系统
CN113590520B (zh) * 2021-06-15 2024-05-03 珠海一微半导体股份有限公司 Spi系统自动写入数据的控制方法及spi系统

Similar Documents

Publication Publication Date Title
EP0239937B1 (en) Serial communications controller
EP0009678B1 (en) Computer input/output apparatus
EP1428131B1 (en) Multiple channel interface for communications between devices
US7089338B1 (en) Method and apparatus for interrupt signaling in a communication network
CN1551592B (zh) 数据传输控制装置、电子设备及数据传输控制方法
US20080086578A1 (en) Integrated circuit device having send/receive macro for serial transfer bus
EP0105688A2 (en) Line support processor for data transfer system
JP2519860B2 (ja) バ―ストデ―タ転送装置および方法
US5159684A (en) Data communication interface integrated circuit with data-echoing and non-echoing communication modes
US5896549A (en) System for selecting between internal and external DMA request where ASP generates internal request is determined by at least one bit position within configuration register
JPH0497472A (ja) 半導体集積回路装置
KR100375233B1 (ko) 전송될 데이터 길이 값에 따라 전송 모드가 유동적으로변환되는 직접 메모리 억세스 컨트롤러
US4365296A (en) System for controlling the duration of the time interval between blocks of data in a computer-to-computer communication system
KR20010054137A (ko) 시스템 효율을 향상시키는 버스 제어방법
AU8100287A (en) Data transfer system having transfer discrimination circuit
KR20010013137A (ko) 통신 dma 장치
US5812878A (en) System for DMA transfer wherein controller waits before execution of next instruction until a counter counts down from a value loaded by said controller
KR100633742B1 (ko) 주변 장치로부터 데이터 전송 크기를 자동으로 갱신하는직접 메모리 액세스 제어 장치 및 방법
KR100546085B1 (ko) 직접 메모리 액세스를 이용한 직렬 포트 데이터 및 상태의 압축 및 복원
KR20070102823A (ko) I2c 프로토콜에서의 어드레스 제어 장치
EP0289771A2 (en) Dual microprocessor control system
JP2560476B2 (ja) 通信制御装置
JPH1188381A (ja) 通信システム、usbファンクションデバイス、通信システム制御方法および通信状況表示プログラムを記録した媒体
CN117033292A (zh) 基于apb总线控制的i2c中断方法
KR100299572B1 (ko) 버스트모드버스를탑재한마이크로프로세서와주변장치간인터페이스장치

Legal Events

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