KR100944892B1 - 버스 시스템 및 버스 인터페이스 - Google Patents

버스 시스템 및 버스 인터페이스 Download PDF

Info

Publication number
KR100944892B1
KR100944892B1 KR1020047004465A KR20047004465A KR100944892B1 KR 100944892 B1 KR100944892 B1 KR 100944892B1 KR 1020047004465 A KR1020047004465 A KR 1020047004465A KR 20047004465 A KR20047004465 A KR 20047004465A KR 100944892 B1 KR100944892 B1 KR 100944892B1
Authority
KR
South Korea
Prior art keywords
message
series
buffer
processor
bus interface
Prior art date
Application number
KR1020047004465A
Other languages
English (en)
Other versions
KR20040041628A (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 에스티 에릭슨 에스에이
Publication of KR20040041628A publication Critical patent/KR20040041628A/ko
Application granted granted Critical
Publication of KR100944892B1 publication Critical patent/KR100944892B1/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
    • 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
    • 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/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/426Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using an embedded synchronisation, e.g. Firewire bus, Fibre Channel bus, SSA bus

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)
  • Exchange Systems With Centralized Control (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 메시지를 전송하기 위해서 버스에 의해 연결된 제 1 스테이션(202) 및 제 2 스테이션(203, 204)을 포함하는 버스 시스템에 관한 것으로, 버스는 제 1 스테이션(202)이 미리 정해진 순서로 제 2 스테이션(203, 204)에 주기적으로 메시지를 송신하는 프로토콜에 따라서 동작하도록 설계되며, 제 1 스테이션(202)은 인터럽트 가능 프로세서(206), 버퍼(501, 502)를 포함하는 메모리 소자(208) 및 버스 인터페이스(207)를 포함하고, 인터럽트 가능 프로세서(206)는 복수의 메시지 속성의 시리즈를 생성하도록 동작될 수 있으며, 프로세서(206)는 복수의 메시지 속성의 시리즈 중 제 1 메시지 속성의 시리즈를 버퍼(501, 503)에 발행하고, 버스 인터페이스로부터 인터럽트 신호를 수신했을 때 복수의 메시지 속성의 시리즈 중 제 2 메시지 속성의 시리즈를 발행하도록 동작될 수 있고, 버퍼(501, 503)는 제 1 메시지 속성의 시리즈 및 제 2 메시지 속성의 시리즈를 저장하도록 프로세서(206)에 의해서 조정될 수 있는 저장 용량을 가지고 있으며, 버스 인터페이스(207)는 버퍼로부터 제 1 메시지 속성의 시리즈를 검색해서, 메시지 속성으로부터 제 1 메시지 속성의 시리즈를 생성하고, 제 2 스테이션에 상기 제 1 메시지 속성의 시리즈를 송신하며, 상기 인터럽트 신호를 상기 프로세서(206)에 송신하도록 동작될 수 있다.

Description

버스 시스템 및 버스 인터페이스{BUS SYSTEM AND BUS INTERFACE FOR CONNECTION TO A BUS}
본 발명은 메시지 전송을 위해서 버스에 의해 연결된 제 1 스테이션 및 제 2 스테이션을 포함하는 버스 시스템에 관한 것이며, 상기 버스는 제 1 스테이션이 정해진 순서로 제 2 스테이션에 주기적으로 메시지를 송신하는 프로토콜에 따라서 동작하도록 설계된다.
본 발명은 버스용 접속부, 복수의 메시지 속성의 시리즈를 인터럽트 가능 프로세서로부터 수신하기 위한 입력단 및 인터럽트 신호를 이 프로세서에 송신하기 위한 인터럽트 출력단을 포함하는 버스 인터페이스에 관한 것이기도 하다.
이러한 버스 시스템이 USB 사양에 개시되어 있다. USB 사양은 컴팩 컴퓨터사, 휴렛 팩커드사, 인텔사, 루슨트 테크놀로지사, 마이크로소프트사, NEC사 및 코닌클리즈케 필립스 일렉트로닉스 엔브이를 포함하는 회사의 그룹에 의해서 공포된 표준이다. 본 발명의 전체 개념에 관련된 USB의 다양한 측면이 아래에 개시된다. USB에 관한 다른 배경 정보는 본 발명에 참조로서 인용되는 USB 사양, 개정판2.0으 로부터 획득될 수 있다.
USB는 개인용 컴퓨터와 예컨대, 웹캠, 프린터, 스캐너, 마이크 및 키보드와 같은 다양한 주변기기 사이의 데이터 교환을 지원하도록 설계된 표준 버스이다. 따라서, USB는 RS-232C 직렬 포트, 병렬 포트 및 PS/2 인터페이스와 같은 현재의 인터페이스를 대체한다. 예컨대, USB OTG(USB On-The-Go)에서와 같은, USB의 추가 개발은 다른 장치가 개인용 컴퓨터를 대체하고 있는 버스 시스템을 목표로 하고 있다. 이러한 장치로는 예컨대 디지털 스틸 카메라, 비디오 카메라, PDA 또는 셀룰러 폰을 들 수 있다.
USB 시스템과 같은 버스 시스템에서, 전자 버스 스테이션은 버스를 통해서 서로 접속된다. 일반적으로 버스 스테이션은 데이터를 처리하거나 생성하고 데이터의 흐름을 제어하기 위해 프로세서 또는 컴퓨팅 시스템을 구비하고 있다. USB 스테이션은 호스트(예컨대, 개인용 컴퓨터) 및 디바이스(주변 기기)로 정의된다. 일반적으로 어떤 USB 시스템이든 하나의 호스트만이 존재한다. 호스트의 USB 인터페이스는 호스트 컨트롤러라고도 불린다. 호스트 컨트롤러는 하드웨어, 펌웨어 또는 소프트웨어의 조합으로 구현될 수 있다. USB 디바이스는 추가적인 부착 포인트 또는 기능부를 제공하여 시스템에 그러한 성능을 제공하는 허브로 정의된다. 디바이스는 티어드 스타(a tiered-star) 토폴로지를 통해서 호스트에 접속된다. 허브는 USB 디바이스의 착탈 여부를 표시한다. 호스트는 새롭게 부착된 USB 디바이스가 허브인지 아니면 기능부인지를 결정해서, 유일한 USB 어드레스를 USB 디바이스에 할당한다. 모든 USB 디바이스는 유일한 USB 어드레스를 사용해서 액세스된다. 각각의 디바이스는 호스트가 통신할 수 있는 하나 이상의 종점을 추가로 지원한다. 나머지 설명은 기능부로 결정된 USB 디바이스로 한정될 것이다.
USB는 폴링형 버스(a polled bus)이다. 호스트 컨트롤러가 모든 데이터의 전송을 개시한다. 대부분의 버스 트랜잭션은 3개까지의 패킷의 전송을 포함한다. 각각의 트랜잭션은 스케쥴링을 기반으로, 호스트 컨트롤러가 트랜잭션의 타입 및 방향, USB 디바이스 어드레스, 종점 번호를 나타내는 USB 패킷을 전송하면 개시된다. 이 패킷은 "토큰 패킷"이라고도 불린다. 주소 지정된 USB 디바이스는 적절한 어드레스 필드를 디코딩함으로써 자신을 선택한다. 주어진 트랜잭션에서, 데이터는 호스트로부터 디바이스로 혹은 디바이스로부터 호스트로 전송된다. 데이터 전송의 방향이 토큰 패킷에 명시된다. 트랜잭션의 소스는 데이터 패킷을 송신하거나 전송할 데이터가 없다는 것을 나타낸다. 일반적으로 전송처에서는 전송이 성공적인지 여부를 나타내는 핸드셰이크 패킷을 사용해서 응답한다.
USB 아키텍쳐는 (1) 등시성 전송(isochronous transfers) : 전형적으로 시간 관련 정보(time-relevant information)에 사용되는 호스트와 디바이스 사이의 주기적이고 연속적인 통신으로, 사전 협상된 지연을 가진 사전 협상된 USB 대역폭의 양을 차지한다. (2) 인터럽트 전송 : 전형적으로, 문자 또는 좌표와 같은 비동기식 데이터에 사용되는 저주파의 한정 지연(bounded latency) 통신으로 인간이 인지 가능한 에코 또는 피드백 응답 특성을 가지고 있다. (3) 벌크 전송 : 전형적으로 임의의 사용가능한 대역폭을 사용할 수 있고, 대역폭을 사용할 수 있을 때까지 지연될 수도 있는 비주기적인 라지 패킷 버스티(large-packet bursty) 통신과 같은 이상 3가지 타입의 전송을 포함한다.
호스트 및 디바이스라는 2가지 타입 모두의 버스 스테이션은 일반적으로, 데이터를 처리하거나 전송하기 위해 혹은 데이터의 흐름을 제어하기 위해 프로세서 또는 컴퓨팅 시스템을 포함한다. 위에 설명된 바에 따라서 그대로 USB 시스템을 구현하면, 한편으로는 프로세서와 호스트의 버스 인터페이스 사이의 통신에서, 다른 한편으로는 호스트의 버스 인터페이스와 디바이스 사이의 통신에서 심각한 통신 타이밍 문제를 유발할 수 있다. 이는 특히 등시성 전송과 관련된다. 실시간 데이터를 포함한 이들 전송에서, 호스트는 주기적으로 토큰 패킷을 USB 디바이스에 전송하며, 모든 토큰 패킷에 후속해서 호스트로부터 USB 디바이스로 또는 그 반대로 데이터 패킷의 전송이 이루어진다. 데이터의 실시간 특성으로 인해서, 호스트의 프로세서와 호스트의 버스 인터페이스 사이의 통신은 호스트의 버스 인터페이스와 USB 디바이스 사이의 통신과 일치되어야 하고, 일치되지 않는 경우에는 데이터는 손실된다.
미국 특허 제 6,145,045 호에 이러한 문제에 대한 부분적인 솔루션이 개시되어 있지만, 이는 비 등시성 전송 시의 USB 디바이스 내에서의 통신 타이밍 문제에 초점을 맞추고 있다. 이 특허에는 버스 인터페이스, 프로세서, 제 1 버퍼 및 제 2 버퍼를 포함한 버스 스테이션이 개시된다. 제 1 (마이크로)프레임 동안 프로세서는 제 1 버퍼와 통신하고(예컨대, 데이터의 판독 또는 기록), 반면에 버스는 제 2 버퍼 및 제 1 스테이션과 통신해서 제 2 버퍼로부터 제 2 스테이션으로 데이터를 송신하거나 혹은 제 2 스테이션으로부터 수신된 데이터를 제 2 버퍼에 기록한다. 제 1 (마이크로)프레임에 후속하는 제 2 (마이크로)프레임 동안, 프로세서는 제 2 버퍼와 통신하고(예컨대, 데이터의 판독 또는 기록), 반면에 버스는 제 1 버퍼 및 제 1 스테이션과 통신해서 제 1 버퍼로부터의 데이터를 제 2 스테이션으로 송신하거나 혹은 제 2 스테이션으로부터 수신된 데이터를 제 1 버퍼에 기록한다. 통상적으로 버스 인터페이스는 프로세서에 인터럽트하여 프로세서에게 새로운 정보를 버퍼 중 하나에 기록하거나 버퍼 중 하나로부터 정보를 판독해야 하는지를 통보한다.
일반적으로 USB 시스템에서, 상세하게는 USB OTG 시스템에서, 예컨대, 호스트와 같은 버스 스테이션 내의 버스 인터페이스는 광범위한 프로세서 및 컴퓨팅 시스템과 함께 동작할 수 있어야 한다. 그러나, 많은 프로세서가 비교적 긴 인터럽트 응답 시간을 가지고 있어서, 이들이 예컨대 호스트와 같은 버스 스테이션의 프로세서로서 사용되는 경우, 데이터 손실 및 오류를 유발할 것이다.
본 발명의 목적은 제 1 스테이션 및 제 2 스테이션을 포함하고 있는 버스 시스템의 제 1 스테이션 내에서, 프로세서와 버스 인터페이스 사이의 통신 타이밍의 유연성을 증가시키는 것이다.
이를 위해, 본 발명은 첫 단락에 설명된 바와 같은 버스 시스템을 제공하되, 이 버스 시스템에서,
제 1 스테이션은 인터럽트 가능 프로세서, 버퍼를 포함하는 메모리 소자 및 버스 인터페이스를 포함하고,
인터럽트 가능 프로세서는 복수의 메시지 속성의 시리즈를 생성하도록 동작될 수 있으며,
상기 프로세서는 또한 복수의 메시지 속성의 시리즈 중 제 1 메시지 속성의 시리즈를 상기 버퍼에 발행하고(issue), 버스 인터페이스로부터 인터럽트 신호를 수신했을 때 복수의 메시지 속성의 시리즈 중 제 2 메시지 속성의 시리즈를 발행하도록 동작될 수 있고,
상기 버퍼는 제 1 메시지 속성의 시리즈 및 제 2 메시지 속성의 시리즈를 저장하기에 적합하도록 프로세서에 의해서 조정될 수 있는 저장 용량을 가지고 있으며,
상기 버스 인터페이스는 상기 버퍼로부터 상기 제 1 메시지 속성의 시리즈를 검색해서 이 메시지 속성으로부터 제 1 메시지 시리즈를 생성하고, 제 2 스테이션에 제 1 메시지 시리즈를 송신하며, 인터럽트 신호를 프로세서에 송신하도록 동작될 수 있다.
동작시에, 제 1 스테이션 내의 프로세서는 제 2 스테이션에 정보를 실시간으로 제공할 필요가 있다. 이를 위해서, 상기 프로세서는 메시지 속성을 버스 인터페이스에 제공할 필요가 있다. 상기 버스 인터페이스는 이 메시지 속성으로부터 메시지를 생성해서 이를 제 2 스테이션에 송신한다.
종래의 접근 방안에서, 프로세서는 제 1 메시지 속성을 버스 인터페이스 또는 이 버스 인터페이스와 관련된 버퍼에 송신한다. 그리고, 버스 인터페이스는 필요에 따라, 버퍼에서 제 1 메시지 속성을 검색하고, 이 제 1 메시지 속성에서 제 1 메시지를 생성하며, 이 제 1 메시지를 제 2 스테이션에 송신한다. 버스 인터페이스가 제 2 메시지 속성을 필요로 하면, 인터럽트 신호를 상기 프로세서에 송신한다. 그 후에, 이 프로세서는 제 2 메시지 속성을 버퍼 또는 버스 인터페이스에 송신함으로써 응답할 것이다. 마지막으로, 이 버스 인터페이스는 필요에 따라서 버퍼로부터 이 제 2 메시지 속성을 검색하고, 이 제 2 메시지 속성으로부터 제 2 메시지를 생성해서 이 제 2 메시지를 제 2 스테이션에 송신한다.
프로세서로의 인터럽트 신호의 송신과 이 제 2 메시지 속성의 송신 사이에 긴 지연 시간이 존재한다면, 즉, 상기 프로세서가 긴 인터럽트 응답 시간을 가지고 있다면, 이 지연으로 인해서 결과적으로 이 제 2 메시지 속성이 버스 인터페이스에 상당히 늦게 도달하고, 데이터의 손실 및 오류를 발생시킬 것이다. 지연 시간이 길지 않다면, 이러한 프로세서는 버스 시스템에서 사용되기에 매우 적합할 것이다. 따라서, 종래의 접근 방안은 인터럽트 응답 시간에 관한 엄격한 요구 조건으로 인해서 프로세서의 선택을 제한한다.
이 프로세서가 버스 인터페이스로부터의 인터럽트 신호 수신시, 하나의 메시지의 메시지 속성 대신에 메시지 속성들의 시리즈를 발행할 수 있도록 함으로써, 이 프로세서는 충분한 응답 시간을 가지며, 긴 인터럽트 응답 시간의 단점이 극복된다. 이 프로세서가 버퍼의 저장 용량을 자신의 필요에 맞게 조정하게 함으로써, 버스 인터페이스는 매우 다양한 프로세서와 함께 동작할 수 있어서, 이러한 버퍼의 저장 용량이 불필요하게 크게 선택되지 않는 것을 보장한다. 그 결과로 나온 것이 짧은 메시지 속성의 시리즈 혹은 이 메시지 중 하나의 메시지 속성만을 저장하기 위한 작은 저장 용량을 가진 버퍼 및 필요할 때는 더 긴 메시지 속성의 시리즈를 저장하는 큰 저장 용량을 가진 버퍼이다. 이는 이 버스 시스템의 제 1 스테이션 내에서 이 프로세서와 버스 인터페이스 사이의 통신 타이밍의 유연성을 증가시킨다.
예컨대, 이 프로세서는 제 2 스테이션에 도달하는 데이터의 품질에 대해 이용가능한 정보, 예컨대, 검출된 에러의 수를 포함한 정보를 가질 수 있다. 이 품질이 일정 레벨 이하로 떨어지면, 프로세서는 이 버퍼의 저장 용량을 증가시키기로 결정할 수 있다. 또한, 작은 저장 용량을 가진 버퍼만이 필요하면, 이 메모리 소자 내의 다른 목적용 다른 버퍼에 더 많은 공간이 할당될 수 있다.
본 발명에 따른 버스 시스템의 실시예는
메모리 소자는 제 1 메시지 속성의 시리즈를 저장하는 제 1 버퍼와 제 2 메시지 속성의 시리즈를 저장하는 제 2 버퍼를 포함하고,
상기 버스 인터페이스는 상기 프로세서가 제 2 메시지 속성의 시리즈를 상기 제 2 버퍼에 발행하는 동안, 제 1 버퍼로부터 제 1 메시지 속성의 시리즈를 검색하도록 동작될 수 있다.
본 실시예의 동작시에, 버스 인터페이스를 통한 프로세서와 제 2 스테이션 사이의 통신의 다이렉트 체인은 존재하지 않는다. 제 1 메시지 속성의 시리즈는 프로세서와 제 1 버퍼 사이의 링크의 타이밍에 따라 제 1 버퍼로 송신된다. 그 후에, 제 2 메시지 속성의 시리즈가 프로세서와 제 2 버퍼 사이의 링크의 타이밍에 따라 제 2 버퍼로 송신된다. 동시에 이 버퍼는 제 1 버퍼에 저장된 제 1 메시지 속성의 시리즈로부터 생성된 메시지를 주기적으로 제 2 스테이션에 송신한다. 프로세서와 제 2 버퍼 사이의 링크의 타이밍에 대한 유일한 제한은 버스 인터페이스가 제 2 메시지 속성의 시리즈들로부터 메시지 속성을 검색하는 데 필요한 시간까지 제 2 메시지 속성의 시리즈의 전송이 완료되어야 한다는 점이다.
본 발명에 따른 버스 시스템의 다른 실시예는 메시지 속성이 타이밍 정보를 포함하고, 적용 가능하다면 페이로드(payload)도 포함하는 것을 특징으로 한다. 이런식으로, 이러한 프로세서의 개입없이 정확한 메시지의 타이밍을 결정하는 버스 인터페이스의 성능은 향상된다. 또한, 실시간 데이터를 포함하는 페이로드를 메시지 속성에 포함하는 것은 이 프로세서와 버스 인터페이스 사이의 통신을 간단하게 하며, 이는 페이로드를 제공하기 위해서 이들 사이에 추가 통신 링크를 추가할 필요가 없기 때문이다. 정확한 실시간 데이터를 정확한 메시지에 할당하는 데 버스 인터페이스에 의한 추가적인 프로세싱이 필요없다.
본 발명에 따른 버스 시스템의 다른 실시예는
버스 인터페이스가 제 2 스테이션으로부터 데이터 아이템을 가진 메시지를 주기적으로 수신하도록 동작될 수 있고,
버스 인터페이스가 이 수신된 메시지로부터 데이터 아이템을 추출하고, 수신된 메시지로부터 타이밍 정보를 추출하고, 상기 타이밍 정보를 버퍼에 저장된 제 1 메시지 속성의 시리즈로부터의 메시지 속성의 타이밍 정보와 비교해서, 상기 추출된 타이밍 정보가 버퍼에 저장된 제 1 메시지 속성의 시리즈 중 메시지 속성의 타이밍 정보와 일치하면 상기 추출된 데이터 아이템을 페이로드에 추가하고,
프로세서는 상기 버스 인터페이스로부터의 추가의 인터럽트 신호의 수신시, 버퍼에 저장된 제 1 메시지 속성의 시리즈로부터의 메시지 속성에서 페이로드를 검색하도록 동작될 수 있다.
본 실시예는 프로세서가 제 2 스테이션으로부터 실시간 데이터를 요구하는 상황에서 프로세서와 버스 인터페이스 사이의 통신을 간단하게 한다. 이런 상황에서, 프로세서는 바람직하게는 실제 페이로드없이 메시지 속성의 시리즈를 발행한다. 그러나, 이런 메시지 속성이 페이로드를 포함하는 것처럼, 이 버퍼 내에서는 메시지 속성의 시리즈가 저장된다. 이런식으로, 메시지 속성에 페이로드를 추가할 공간이 확보된다. 이 페이로드는 버스 인터페이스에 의해 추가된다. 버스 인터페이스는 검색된 메시지로부터 타이밍 정보를 추출해서 추출된 타이밍 정보를 메시지 속성 내의 타이밍 정보와 비교한다. 이들이 일치하면, 버스 인터페이스는 추출된 데이터 아이템을 페이로드로서 메시지 속성에 추가한다. 이 프로세서는 메시지 속성의 페이로드를 검색한다. 프로세서는 바람직하게는 버스 인터페이스로부터 다른 인터럽트 신호를 수신한 후에 페이로드를 검색한다. 따라서, 제 2 스테이션으로부터 프로세서로의 실시간 데이터의 전송을 용이하게 하기 위한 다른 방안은 불필요하다.
본 발명에 따른, 두번째 단락에서 정의된 버스 인터페이스에서
이 버스 인터페이스는 컨트롤러와 버퍼를 포함하는 메모리 소자를 포함하고,
이 버퍼는 프로세서에 의해 조정가능하고, 프로세서가 인터럽트 신호를 인터럽트 출력단을 통해서 수신한 후에, 프로세서로부터 수신된 복수의 메시지 속성의 시리즈 중 제 1 메시지 속성의 시리즈와 프로세서로부터 수신된 복수의 메시지 속성의 시리즈 중 제 2 메시지 속성의 시리즈를 저장하도록 일치된 저장 용량을 가지며,
버퍼로부터 제 1 메시지 속성의 시리즈를 검색하고, 위의 제 1 메시지 속성의 시리즈로부터 제 1 메시지 시리즈를 생성하고, 버스용 접속부에 위의 제 1 메시지 시리즈를 전송하고, 인터럽트 신호를 프로세서에 송신하도록 동작될 수 있다.
본 발명에 따른 버스 인터페이스의 실시예는
버스 인터페이스는 추가 버퍼를 포함하고,
이 추가 버퍼는 프로세서로부터 저장 용량 제어 아이템을 수신하도록 동작될 수 있고,
컨트롤러는 상기 추가 버퍼로부터 저장 용량 제어 아이템을 검색해서, 저장 용량 제어 아이템에 포함된 정보에 기초해서 저장 용량을 조정하도록 동작될 수 있는
것을 특징으로 한다.
이 실시예는 프로세서와 버스 인터페이스 사이의 통신을 간단하게 한다. 이 프로세서는 버스 인터페이스에 프로세서가 필요로 하는 저장 용량을 통지한다. 버스 인터페이스는 저장 용량의 동작 조정을 처리한다. 제 2 스테이션에 도달하는 실시간 데이터의 품질이 일정 레벨 이하로 내려갔다는 것을 프로세서가 검출한 경우에, 동작 중에 이러한 조정이 행해질 수 있다.
본 발명에 따른 이들 및 다른 측면은 이하 실시예를 참조로 더욱 자명해질 것이다.
도 1은 USB 사양, 개정판 2.0에 명시된 바와 같은 등시성 트랜잭션 포맷을 나타내는 도면,
도 2는 본 발명에 따른 버스 시스템을 도시하는 블록도,
도 3a는 데이터 송신용 트랜잭션을 도시하는 메시지도,
도 3b는 데이터 송신용 트랜잭션을 도시하는 메시지도,
도 4는 본 발명에 따른 버스 인터페이스를 도시하는 블록도,
도 5는 버스 시스템의 제 1 스테이션 내에서 컨트롤러와 프로세서 사이의 통신을 도시하는 블록도.
도면에서 동일한 부재는 동일한 참조 번호로 표시된다.
도 1은 USB 사양, 개정판 2.0에 명시된 등시성 트랜잭션 포맷을 도시한 도면이다. USB 내의 모든 통신은 호스트에 의해 개시된다. 모든 USB 디바이스는 유일한 USB 어드레스에 의해 액세스된다. 각각의 디바이스는 호스트가 통신할 수 있는 하나 이상의 종점을 추가로 지원한다.
USB는 USB 호스트와 USB 디바이스 사이의 기능적 데이터의 교환 및 제어를 지원한다. USB 데이터 전송은 호스트 소프트웨어와 USB 디바이스 상의 특정 종점 사이에서 이루어진다. USB 아키텍쳐는 세 가지 기본 타입의 전송을 포함한다.
등시성 전송(isochronous transfers) : 사전 협상된 대기시간을 가진 사전 협상된 양의 USB 대역폭을 차지하는 등시성 또는 스트리밍 실시간 데이터.
인터럽트 전송 : 인간이 인지가능한 에코 또는 피드백 응답 특성을 가진 문자 또는 좌표와 같은 비동기식 인터렉티브 데이터.
벌크 전송 : 비교적 대량으로 생성되거나 소비되며, 넓은 동적 허용범위 및 전송 제약(wide dynamic latitude and transmission constraints)을 가진 비동기식 블록 전송 데이터.
진행중인 트랜잭션이 없을 때, USB 시스템은 유휴 모드(101)이다. 데이터 전송을 포함하는 등시성 버스 트랜잭션은 셋업 스테이지(102)와 데이터 스테이지(103)의 2개의 스테이지를 가지고 있다. 데이터 전송을 포함하는 등시성 버스 트랜잭션은 예컨대, 토큰 패킷(104, 105) 및 데이터 패킷(106, 107)과 같은 2개의 서로 다른 패킷의 전송을 포함한다. 등시성 트랜잭션은 핸드셰이크 패킷이 전송되는 상태 기간(a Status phase) 또는 재시도 성능을 지원하지 않는다.
등시성 트랜잭션은 IN 전송 또는 OUT 전송으로 이루어진다. IN 전송의 경우에, USB 호스트는 IN 토큰(104)을 전송함으로써 트랜잭션을 개시할 것이다. IN 토큰(104)의 수신 시에, USB 디바이스는 데이터 패킷(106)으로 데이터를 반송할 것이다. 예컨대, 버스 에러로 인해서 IN 토큰(104)이 USB 디바이스에 의해 수신되지 않거나 혹은 손상된 상태로 수신되는 경우, USB 디바이스는 데이터 패킷(106)을 리턴하지 않을 것이다. 이러한 상황이 라인(108)으로 표시되어 있다. IN 전송이 완료된 이후에, USB 시스템은 유휴 모드(101)로 복귀한다.
OUT 전송의 경우에, USB 호스트는 OUT 토큰(105)을 전송함으로써 트랜잭션을 개시할 것이다. USB 호스트는 후속해서 데이터 패킷(107)으로 데이터를 전송할 것이다. OUT 전송이 완료된 이후에, USB 시스템은 유휴 모드(101)로 복귀한다.
도 2는 본 발명에 따른 버스 시스템을 도시한 블록도이다. 버스 시스템(201)은 USB 호스트로서 동작하는 제 1 스테이션(202), USB 디바이스로 동작하는 제 2 스테이션(203, 204)을 포함한다. 스테이션(202, 203, 204)은 버스 접속부(205)에 의해 연결된다. 제 1 스테이션(202)이 더 상세하게 도시된다. 이는 인터럽트 가능 프로세서(206) 및 버스 인터페이스(207)를 포함한다. 버스 인터페이스는 제 1 버퍼 및 제 2 버퍼를 포함하는 메모리 소자(208) 및 컨트롤러(209)를 포함한다. 메모리 소자(208)가 반드시 버스 인터페이스의 일부일 필요는 없다. 다른 방안의 장치로, 메모리 소자(208)는 제 1 스테이션(202) 내에 있으되 버스 인터페이스 외부에 위치할 수 있다. 프로세서(206)와 컨트롤러(209)는 모두 메모리 소자(208) 내의 제 1 및 제 2 버퍼에 액세스한다. 컨트롤러는 버스 접속부(205)에 연결된다. 또한, 컨트롤러(209)는 프로세서(206)로의 인터럽트 접속부(210)를 가지고 있다.
USB 호스트(202)와 USB 디바이스(203, 204) 사이의 등시성 통신은 제 1 버퍼 및 제 2 버퍼 내에서의 데이터의 이중 버퍼링에 의해 지원된다. 등시성 통신에서, 데이터는 USB 호스트로부터 USB 디바이스(203, 204)로, 또는 그 반대로 주기적으로 - 매 (마이크로)프레임마다 - 전송된다. 이는 등시성 데이터가 USB 호스트(202)에서 USB 디바이스(203, 204)로 전송되는 다음 실시예에 의해 설명된다.
N개의 (마이크로)프레임의 제 1 기간 동안, 제 1의 N개 메시지의 시리즈의 메시지 속성이 프로세서(206)에 의해서 제 1 버퍼에 기록된다. 이들 메시지 속성은 USB 프레임 번호 및 메시지의 페이로드를 포함한다. 제 1 기간에 바로 후속하는 N개의 (마이크로)프레임의 제 2 기간 동안, 컨트롤러(209)는 제 1 버퍼로부터 메시지 속성을 검색해서, 제 1의 N개 등시성 메시지의 시리즈를 전송한다. 같은 기간 동안, 인터럽트 출력단(210)을 통해서 컨트롤러(209)에 의해 전송된 인터럽트 신호에 의해 트리거되는 프로세서(206)는 제 2의 N개 메시지의 시리즈의 메시지 속성을 제 2 버퍼에 기록한다. 제 2 기간에 바로 후속하는 N개의 (마이크로)프레임의 제 3 기간 동안, 컨트롤러(209)는 제 2 버퍼에서 메시지 속성을 검색해서 제 2의 N개 등시성 메시지 시리즈를 전송한다. 같은 기간 동안, 인터럽트 출력단(210)을 통해서 컨트롤러(209)에 의해 전송된 인터럽트 신호에 의해 트리거되는 프로세서(206)는 제 3의 N개 메시지의 시리즈의 메시지 속성을 제 1 버퍼에 기록한다. 이 과정이 계속되는 추가적인 기간에, 컨트롤러(209)가 이전 기간에 프로세서(206)에 의해 기록된 N개의 메시지 속성의 시리즈를 하나의 버퍼에서 검색할 때마다, 인터럽트 출력단(210)을 통해서 컨트롤러(209)에 의해 전송된 인터럽트 신호에 의해서 트리거되는 프로세서(206)는 새로운 N개의 메시지 속성의 시리즈를 다른 버퍼에 기록한다.
각각의 기간의 지속 시간(N)은 프로세서(206)에 의해 조정될 수 있다. 이를 위해서, 프로세서(206)는 지속 시간(N)을 포함하는 제어 아이템을 제 3 데이터 버퍼에 기록한다. 이 데이터 버퍼는 메모리 소자(208)의 일부가 될 수 있고, 혹은 컨트롤러(209) 내의 레지스터가 될 수 있다. 제 3 버퍼에 저장된 지속 기간(N)에 따라서, 컨트롤러(209)는 제 1 버퍼 및 제 2 버퍼가 각각 정확하게 N개의 메시지 속성을 저장하도록 이들의 저장 용량을 조정한다.
예컨대, 제어 아이템에 기록된 N개의 값이 4라면, 프로세서는 프레임 번호 및 페이로드를 포함한 4개의 메시지 속성의 시리즈를 제 1 버퍼 또는 제 2 버퍼에 기록해야 한다. 프로세서(206)가 인터럽트 출력단(210)을 통해서 컨트롤러(209)에 의해 전송되는 인터럽트 신호에 응답해서, 4개의 메시지 속성의 시리즈를 기록하는 데 4밀리초가 걸린다. 같은 기간 동안, 컨트롤러는 이전의 메시지 속성의 시리즈로부터 4개의 등시성 메시지를 생성해서 다른 버퍼로 전송한다.
이런식으로, 컨트롤러(209)는 다양한 프로세서(206)와 동작할 수 있다. 상대적으로 긴 인터럽트 응답 시간을 가진 프로세서에서, N의 값은 상대적으로 클 것이다. 짧은 인터럽트 응답 시간을 가진 프로세서에서, N의 값은 상대적으로 작을 것이다. 최소 N의 값은 1이다.
도 3a는 데이터 전송의 트랜잭션을 도시하는 메시지 도이다. 이 메시지 도는 도 2의 시스템의 OUT 전송으로 이루어진 등시성 트랜잭션에 대한 동작을 나타낸다. 위에서 아래로 내려갈수록 시간(t)이 경과하는 것이다. 프로세서(206)와 메모리 소자(208) 내의 제 1 버퍼 사이의 정보 교환은 제 1 라인(301)과 제 2 라인(302) 사이의 화살표로 표시된다. 프로세서(206)와 메모리 소자(208) 내의 제 2 버퍼 사이의 정보 교환은 제 1 라인(301)과 제 3 라인(303) 사이의 화살표로 표시된다. 프로세서(206)와 버스 인터페이스(207) 사이의 정보 교환은 제 1 라인(301)과 제 4 라인(304) 사이의 화살표로 표시된다. 메모리 소자(208)의 제 1 버퍼와 버스 인터페이스(207) 사이의 정보 교환은 제 2 라인(302)과 제 4 라인(304) 사이의 화살표로 표시된다. 메모리 소자(208)의 제 2 버퍼와 버스 인터페이스(207) 사이의 정보 교환은 제 3 라인(303)과 제 4 라인(304) 사이의 화살표로 표시된다. 버스 인터페이스(207)와 제 2 스테이션(203, 204) 사이의 정보 교환은 제 4 라인(304)과 제 5 라인(305) 사이의 화살표로 표시된다.
제 1 기간(306) 동안, 프로세서(206)는 제 1 기록 액션(309)에서 제 1 메시지 속성의 시리즈를 제 1 버퍼에 기록한다. 이 제 1 메시지 속성의 시리즈는 2개의 등시성 USB 전송의 특성을 포함한다. 버스 인터페이스(207)는 후속해서 인터럽트 신호(310)를 프로세서(206)에 송신한다.
제 2 기간(307) 동안, 버스 인터페이스(207)는 제 1 버퍼에 저장된 제 1 메시지 속성의 시리즈로부터 제 1 등시성 USB 전송의 특성(311)을 검색한다. 제 1 USB (마이크로)프레임에서, 버스 인터페이스(207)는 OUT 토큰(312)을 제 2 스테이션(203, 204)에 송신한다. 데이터 패킷(313)이 OUT 토큰에 후속한다. 버스 인터페이스(207)는 제 1 버퍼에 저장된 제 1 메시지 속성의 시리즈로부터 제 2 등시성 USB 전송의 특성(314)을 검색한다. 제 2 USB (마이크로)프레임에서, 버스 인터페이스(207)는 현재 제 2 OUT 토큰(315)을 제 2 스테이션(203, 204)에 전송한다. 데이터 패킷(316)이 후속한다. 그 동안, 인터럽트 신호(310)에 응답해서, 프로세서(206)는 제 2 메시지 속성의 시리즈를 제 2 기록 액션(317)에서 제 2 버퍼에 기록한다. 이 제 2 메시지 속성은 2개의 등시성 USB 전송의 특성을 포함한다. 제 2 데이터 패킷(316)을 송신한 후에, 버스 인터페이스(207)는 제 2 인터럽트 신호(318)를 프로세서(206)에 송신한다.
제 3 기간(308) 동안, 버스 인터페이스(207)는 제 2 버퍼에 저장된 제 2 메시지 속성의 시리즈로부터 제 3 등시성 USB 전송의 특성(319)을 검색한다. 제 3 USB (마이크로)프레임에서, 버스 인터페이스(207)는 제 3 OUT 토큰(320)을 제 2 스테이션(203, 204)에 송신한다. 제 3 데이터 패킷(321)이 OUT 토큰에 후속한다. 버스 인터페이스(207)는 제 2 버퍼에 저장된 제 2 메시지 속성의 시리즈로부터 제 4 등시성 USB 전송의 특성(322)을 검색한다. 제 2 USB (마이크로)프레임에서, 버스 인터페이스(207)는 제 4 OUT 토큰(323)을 제 2 스테이션에 송신한다. 제 4 데이터 패킷(324)이 후속한다. 그 동안, 제 2 인터럽트 신호(318)에 응답해서, 프로세서(206)는 제 3 기록 액션(326) 동안, 제 3 메시지 속성의 시리즈를 제 1 버퍼에 기록한다. 제 3 메시지 속성의 시리즈는 2개의 등시성 USB 전송의 특성을 포함한다. 제 2 데이터 패킷(316)을 송신한 후에, 버스 인터페이스(207)는 제 3 인터럽트 신호(328)를 프로세서(206)에 송신한다.
제 1 버퍼 및 제 2 버퍼에 기록된 메시지 속성은 USB (마이크로)프레임 번호의 형태의 타이밍 정보 및 페이로드를 포함하며, 프레임 내에 있어야 할 실시간 데이터의 일부가 (마이크로)프레임 번호로 표시된다. 버스 인터페이스(207)는 실시간 데이터를 제공하기 위해서 프로세서(206)의 일부에 추가적인 액션을 요구하지 않고도 전송을 처리 할 수 있다. 이런식으로 실시간 데이터를 제공하기 위한 프로세서(206)와 버스 인터페이스(207) 사이에 추가적인 통신 링크를 필요로 하지 않기 때문에, 이들 사이의 통신이 간단하게 된다. 또한, 정확한 등시성 USB 전송에 정확한 실시간 데이터를 할당하는 데 버스 인터페이스에 의한 추가적인 프로세싱이 요구되지 않는다.
도 3a에 도시되고, 위에서 설명된 통신은 버스 시스템의 기능을 분명하기 위해 설계된 단순한 예이므로, 이 버스 시스템의 기능이 도시된 통신 및 도시되어 있는 순서에 한정되는 것이 아니라는 것이 분명할 것이다.
도 3b는 데이터 전송의 트랜잭션을 나타내는 메시지 도이다. 메시지 도는 IN 전송으로 이루어진 등시성 트랜잭션에 대한 도 2의 시스템의 동작을 나타낸다. 위에서 아래로 내려갈수록 시간(t)이 경과하는 것이다. 프로세서(206)와 메모리 소자(208) 내의 제 1 버퍼 사이의 정보 교환은 제 1 라인(301)과 제 2 라인(302) 사이의 화살표로 표시된다. 프로세서(206)와 메모리 소자(208) 내의 제 2 버퍼 사이의 정보 교환은 제 1 라인(301)과 제 3 라인(303) 사이의 화살표로 표시된다. 프로세서(206)와 버스 인터페이스(207) 사이의 정보 교환은 제 1 라인(301)과 제 4 라인(304) 사이의 화살표로 표시된다. 메모리 소자(208)의 제 1 버퍼와 버스 인터페이스(207) 사이의 정보 교환은 제 2 라인(302)과 제 4 라인(304) 사이의 화살표로 표시된다. 메모리 소자(208)의 제 2 버퍼와 버스 인터페이스(207) 사이의 정보 교환은 제 3 라인(303)과 제 4 라인(304) 사이의 화살표로 표시된다. 버스 인터페이스(207)와 제 2 스테이션(203, 204) 사이의 정보 교환은 제 4 라인(304)과 제 5 라인(305) 사이의 화살표로 표시된다.
제 1 기간(329) 동안, 프로세서(206)는 제 1 기록 액션(332)에서 제 1 메시지 속성의 시리즈를 제 1 버퍼에 기록한다. 이 제 1 메시지 속성의 시리즈는 2개의 등시성 USB 전송의 특성을 포함한다. 버스 인터페이스(207)는 후속해서 인터럽트 신호(333)를 프로세서(206)에 송신한다.
제 2 기간(330) 동안, 버스 인터페이스(207)는 제 1 버퍼에 저장된 제 1 메시지 속성의 시리즈로부터 제 1 등시성 USB 전송의 특성(334)을 검색한다. 제 1 USB (마이크로)프레임에서, 버스 인터페이스(207)는 IN 토큰(335)을 제 2 스테이션(203, 204)에 송신한다. 데이터 패킷(336)을 송신함으로써 주소 지정된 USB 디바이스는 IN 토큰(335)에 응답한다. 버스 인터페이스(207)의 제 1 기록 액션(337) 동안, 데이터 패킷(336) 내의 데이터는 제 1 버퍼에 저장된 제 1 메시지 속성의 시리즈로부터의 제 1 메시지 속성에 페이로드로서 추가된다. 버스 인터페이스(207)는 제 1 버퍼에 저장된 제 1 메시지 속성의 시리즈로부터 제 2 등시성 USB 전송의 특성(338)을 검색한다. 제 2 USB (마이크로)프레임에서, 버스 인터페이스(207)는 IN 토큰(339)을 제 2 스테이션(203, 204)에 송신한다. 데이터 패킷(340)을 송신함으로써 주소 지정된 USB 디바이스는 IN 토큰(339)에 응답한다. 버스 인터페이스(207)의 제 2 기록 액션(341) 동안, 데이터 패킷(340) 내의 데이터는 제 1 버퍼에 저장된 제 1 메시지 속성의 시리즈로부터의 제 2 메시지 속성에 페이로드로서 추가된다. 버스 인터페이스(207)는 현재 프로세서(206)에 제 2 인터럽트 신호(343)를 송신한다. 그 동안, 인터럽트 신호(333)에 응답해서, 프로세서(206)는 제 2 기록 액션(342) 동안 제 2 메시지 속성의 시리즈를 제 2 버퍼에 기록한다. 메시지 속성은 2개의 등시성 USB 전송의 특성을 포함한다.
제 3 기간 동안(331), 버스 인터페이스(207)는 제 2 버퍼에 저장된 제 2 메시지 속성의 시리즈로부터 제 3 등시성 USB 전송의 특성(344)을 검색한다. 제 3 USB (마이크로)프레임 동안, 버스 인터페이스(207)는 IN 토큰(345)을 제 2 스테이션(203, 204)에 송신한다. 데이터 패킷(346)을 송신함으로써 주소 지정된 USB 디바이스는 IN 토큰(345)에 응답한다. 버스 인터페이스(207)의 제 3 기록 액션(347) 동안, 데이터 패킷(346) 내의 데이터는 제 2 버퍼에 저장된 제 2 메시지 속성의 시리즈로부터의 제 1 메시지 속성에 페이로드로서 추가된다. 버스 인터페이스(207)는 제 2 버퍼에 저장된 제 2 메시지 속성의 시리즈로부터 제 4 등시성 USB 전송의 특성(348)을 검색한다. 제 2 USB (마이크로)프레임에서, 버스 인터페이스(207)는 IN 토큰(349)을 제 2 스테이션(203, 204)에 송신한다. 데이터 패킷(350)을 송신함으로써 주소 지정된 USB 디바이스는 IN 토큰(349)에 응답한다. 버스 인터페이스(207)의 제 4 기록 액션(351) 동안, 데이터 패킷(350) 내의 데이터는 제 1 버퍼에 저장된 제 2 메시지 속성의 시리즈로부터의 제 2 메시지 속성에 페이로드로서 추가된다. 버스 인터페이스(207)는 프로세서(206)에 제 2 인터럽트 신호(354)를 송신한다. 그 동안, 인터럽트 신호(333)에 응답해서, 프로세서(206)는 제 1 판독 액션(352) 동안 제 1 버퍼에 저장된 제 1 메시지 속성의 시리즈를 판독한다. 이들 메시지 속성은 현재 페이로드로서, 주소 지정된 USB 디바이스에 의해 송신된 데이터를 데이터 패킷(336, 340) 내에 포함한다. 프로세서(206)는 제 3 기록 액션(342) 동안 제 3 메시지 속성의 시리즈를 제 2 버퍼에 기록한다. 이 제 3 메시지 속성의 시리즈는 2개의 등시성 USB 전송의 특성을 포함한다.
도 3b에 도시되고, 위에서 설명된 통신은 버스 시스템의 기능을 분명하기 위 해 설계된 단순한 예이므로, 이 버스 시스템의 기능이 도시된 통신 및 도시되어 있는 순서에 한정되는 것이 아니라는 것이 분명할 것이다.
도 4는 본 발명에 따른 버스 인터페이스를 도시하는 블록도이다. 이 도면에 도시된 블록도는 버스 인터페이스 집적 회로의 블록도이다. 버스 인터페이스 집적 회로(401)는 두가지 역할을 한다. 이는 USB 디바이스로서 동작하는 버스 스테이션 및 USB 호스트로 동작하는 버스 스테이션의 역할이다. 이는 특히 USB OTG 장치에 유용하다. 이러한 USB OTG 장치는 예컨대, 디지털 스틸 카메라, 디지털 비디오 카메라, PDA 또는 오실로스코프가 될 수 있으며, 특정 동작 모드에서 이들은 USB를 통해서 예컨대, 대용량 저장 매체(예컨대, 하드 디스크 드라이브, 광 기록기 또는 고체 기록기(solid state recorder)), 프린터 또는 셀룰러 폰에 접속된다. 이런 동작 모드에서, USB OTG 장치는 USB 호스트로서 동작해야 한다. 다른 동작 모드에서, USB OTG는 USB를 통해서 예컨대, 개인용 컴퓨터에 접속된다. 이 동작 모드에서 USB OTG 장치는 USB 디바이스로서 동작해야 한다. USB OTG 장치의 버스 인터페이스 집적 회로가 동작하는 모드는 소프트웨어 식으로 결정되어서(software-determined), USB OTG 장치 내의 프로세서에 의해서 제어될 수 있다.
USB OTG 장치가 휴대형이라면, 버스 인터페이스 집적 회로는 예컨대 버스 트래픽이 낮거나 혹은 버스 트래픽이 전혀없는 기간 동안 특정 기능 블록을 셧다운하거나, 느린 클록 속도로 동작하는 사용가능한 저 전력 소비 모드를 포함하는 것이 바람직할 수 있다. 이러한 저 전력 소비 모드는, USB OTG 장치의 프로세서에 의해서 제어되어서 특정 또는 모든 기능 블록을 동작시키도록 혹은 버스 인터페이스 집 적 회로의 클록 속도를 증가시키도록 되돌려지는 소위 원격 웨이크 업(remote wake up) 기능을 포함함으로써 강화될 수 있다. 원격 웨이크 업 기능은 예컨대, 프로세서가 버스 트래픽의 증가를 예상하는 경우에 달성된다.
버스 인터페이스 집적 회로(401)는 프로세서로의 접속부(402), 버스 인터페이스 집적 회로(401)가 USB 호스트로 동작하는 경우의 USB로의 접속을 위한 접속부(403) 및 버스 인터페이스 집적 회로(401)가 USB 디바이스로 동작하는 경우의 USB로의 접속을 위한 접속부(404)를 포함한다. 실제 구현시에, 접속부(403, 404)는 동일한 I/O 단자를 공유할 수 있고, 반면에 내부 멀티플렉서는 버스 신호의 내부 라우팅을 관리한다는 점에 주목한다. 이러한 구현은 접속(403)이 동시에 사용되지 않는다는 것이 보장된 경우에 유익할 수 있다.
버스 인터페이스 집적 회로(401)는 호스트 디바이스 멀티플렉서(405), 타이밍 블록(406), 호스트 인터페이스(407), 디바이스 인터페이스(408), 호스트 컨트롤러(410), 호스트 메모리 소자(411), 디바이스 메모리 소자(412), 호스트 송수신기(413) 및 디바이스 송수신기(414)를 더 포함한다.
호스트 디바이스 멀티플렉서(405)는 프로세서 내의 접속부(402)에 접속된다. 프로세서 내에서의 버스 인터페이스 집적 회로(401)의 내부 라우팅은 바람직하게는 프로세서의 제어 하에서 결정된다. 버스 인터페이스 집적 회로(401)가 USB 호스트로 동작하는 경우, 호스트 디바이스 멀티플렉서(405)는 호스트 인터페이스(407)를 통해서, 호스트 컨트롤러(409)를 프로세서에 링크시킨다. 버스 인터페이스 집적 회로(401)가 USB 디바이스로서 동작하면, 호스트 디바이스 멀티플렉서는 디바이스 인터페이스(408)를 통해서 디바이스 컨트롤러(410)를 프로세서에 링크시킨다. 호스트 컨트롤러(409)는 호스트 송수신기(413)를 통해서 버스 접속부(403)에 액세스 한다. 디바이스 컨트롤러(410)는 디바이스 송수신기(414)를 통해서 버스 접속부(404)에 액세스한다.
호스트 메모리 소자(411)는 호스트 컨트롤러(409) 및 호스트 디바이스 멀티플렉서(405)를 통해서 프로세서에 의해서 액세스될 수 있다. 이는, 예컨대 프로세서에 의해 발행된 요청 속성을 저장하기 위해서, 그리고 호스트 컨트롤러(411)와 USB 디바이스 사이의 통신의 결과를 저장하기 위해서 사용될 수 있다.
디바이스 메모리 소자(412)는 디바이스 컨트롤러(410)에 의해서 및 호스트 디바이스 멀티플렉서(405)를 통해서 프로세서에 의해서 액세스될 수 있다. 이는 예컨대, 프로세서에 의해 생성되어서, USB 호스트에 송신될 데이터의 버퍼링에 사용될 수 있다.
버스 인터페이스 집적 회로와 다양한 프로세서 사이의 공동 작업을 지원하기 위해서, 호스트 메모리 소자(411) 및 디바이스 메모리 소자(412)는 직접 메모리 액세스(DMA) 모드 및 병렬 입출력 모드 모두로 프로세서에 액세스할 수 있어야 한다.
버스 인터페이스 집적 회로(401) 내의 프로세서와 메모리 소자 사이의 다양한 통신 방법을 지원하는 것이 유리하다. 이로써 더 폭넓게 프로세서를 선택할 수 있다. 예컨대, 더 복잡한 컴퓨팅 시스템은 DMA 동작을 지원할 것이다. 버스 인터페이스가 DMA 동작도 지원하면, 프로세서의 통신 오버헤드는 더 감소된다. 반면에 다소 덜 복잡한 버스 스테이션에서는, 프로세서는 모든 통신을 DMA 컨트롤러의 지 원없이 처리한다. 이런 상황에서, 버스 인터페이스는 병렬 입출력 모드의 버스 인터페이스와 프로세서 사이의 데이터 교환을 지원할 필요가 있다.
여기 설명된 실시예가 버스 인터페이스 집적 회로에 관한 것이지만, 도면에서 다른 블록 또는 블록의 그룹이 다른 집적 회로 또는 개별 부품에서 실시될 수 있다는 것이 당업자에게는 자명할 것이다. 따라서, 블록도로 표시된 버스 인터페이스에 관한 다른 실시예는 다양한 블록의 기능을 수행하는 복수의 집적 회로 및 개별 부품을 포함한다.
버스 시스템의 요구 조건에 따라서, 집적 회로로서 버스 인터페이스를 구현하는 것이 유익하다. 집적 회로로의 기능 집적은 구성 요소의 수를 감소시키고, 영역을 최소화시키며, 이로써 버스 인터페이스를 포함하는 버스 스테이션의 물리적인 크기를 감소시킬 것이다. 또한, 버스 인터페이스를 집적 회로로서 구현함으로써 전력 소비를 감소시킨다.
버스 시스템의 요구 조건에 따라서, 가능한 한 많은 표준 빌딩 블록을 사용해서 복수의 집적 회로 및 개별 전기 소자를 구비한 버스 인터페이스를 구현하는 것이 바람직하다. 이로써 버스 인터페이스의 가격을 감소시킨다.
도 5는 버스 시스템의 제 1 스테이션 내에서, 컨트롤러와 프로세서 사이의 통신을 도시하는 블록도이다. 이 블록도는 컨트롤러(209), 프로세서(206), 제 1 버퍼(501), 제 2 버퍼(502) 및 제 1 버퍼(501) 및 제 2 버퍼(502)의 저장 용량을 결정하는 제어 아이템을 저장하는 제 3 버퍼(503)를 도시한다. 프로세서(206)가 메시지 속성의 시리즈를 제 1 버퍼(501) 및 제 2 버퍼(502)에 기록하기 전에, 프로세서는 메시지 속성의 수인 값 N을 제 3 버퍼(503)에 기록한다. 컨트롤러(209)는 제 3 버퍼로부터 값 N을 검색하고, 이에 따라서 제 1 버퍼(501) 및 제 2 버퍼(502)의 저장 용량을 조정한다.
제 1 버퍼(501)에서, 504는 메시지 속성의 시리즈 중 제 1 메시지 속성의 위치를 나타내고, 505는 메시지 속성의 시리즈 중 제 2 메시지 속성의 위치를 나타내며, 506은 메시지 속성의 시리즈 중 마지막 메시지 속성의 위치를 나타내며, 507은 메시지 속성의 시리즈 중 N번째 메시지 속성의 위치를 나타낸다.
제 2 버퍼(502)에서, 508은 제 2 메시지 속성의 시리즈 중 제 1 메시지 속성의 위치를 나타내고, 509는 제 2 메시지 속성의 시리즈 중 제 2 메시지 속성의 위치를 나타내며, 510은 제 2 메시지 속성의 시리즈 중 마지막 메시지 속성의 위치를 나타내며, 511은 메시지 속성의 시리즈 중 N번째 메시지 속성의 위치를 나타낸다.
메시지 속성은 전송 기술자(transfer descriptor) 또는 헤더(512) 및 페이로드 또는 데이터(513)의 2 부분으로 나누어진다. OUT 전송의 경우에, 페이로드(513)는 USB 호스트로부터 주조 지정된 USB 디바이스로 송신되는 데이터 패킷에 포함될 데이터이다. IN 전송인 경우에, 페이로드(513)는 처음에 빈 스페이스이고, 이후에 주소 지정된 USB 디바이스에 의해 송신되는 데이터 패킷에 포함될 데이터로 채워진다. 전송 기술자는 트랜잭션의 결과를 저장하기 위해서 컨트롤러(209)에 의해 사용된다. 이 때문에, 프로세서(206) 및 컨트롤러(209)는 모두 제 1 버퍼(501) 및 제 2 버퍼(502)로의 판독 및 기록 액세스를 가져야 한다.
하기의 표는 전송 기술자의 포맷을 나타낸다. 도시된 포맷은 Byte0, Byte1,..., Byte7로 표시된 8바이트로 이루어진다. 각각의 바이트는 0, 1, ..., 7로 번호가 매겨진 8비트로 이루어진다.
Figure 112004012469651-pct00001
하기의 표는 위의 표의 파라미터의 의미를 나타낸다.
Figure 112004012469651-pct00002

Claims (15)

  1. 메시지를 전송하기 위해서 버스에 의해 연결된 제 1 스테이션 및 제 2 스테이션을 포함하는 버스 시스템에 있어서,
    상기 버스는 상기 제 1 스테이션이 미리 정해진 순서로 상기 제 2 스테이션에 주기적으로 메시지를 송신하는 프로토콜에 따라서 동작하도록 설계되고,
    상기 제 1 스테이션은 인터럽트 가능 프로세서, 버퍼를 포함하는 메모리 소자 및 버스 인터페이스를 포함하고,
    상기 인터럽트 가능 프로세서는 복수의 메시지 속성의 시리즈(plurality of series of message properties)를 생성하도록 동작될 수 있으며,
    상기 프로세서는 상기 복수의 메시지 속성의 시리즈 중 제 1 메시지 속성의 시리즈를 상기 버퍼에 발행하고(issue), 상기 버스 인터페이스로부터 인터럽트 신호를 수신하면 상기 복수의 메시지 속성의 시리즈 중 제 2 메시지 속성의 시리즈를 발행하도록 또한 동작될 수 있고,
    상기 버퍼는 상기 제 1 메시지 속성의 시리즈 및 상기 제 2 메시지 속성의 시리즈를 저장하도록 프로세서에 의해서 조정될 수 있는 저장 용량을 가지고 있으며,
    상기 버스 인터페이스는, 상기 버퍼로부터 상기 제 1 메시지 속성의 시리즈를 검색하고, 상기 제 1 메시지 속성의 시리즈로부터 제 1 메시지 시리즈를 생성하며, 상기 제 2 스테이션에 상기 생성된 제 1 메시지 시리즈를 송신하고, 상기 인터럽트 신호를 상기 프로세서에 송신하도록 동작될 수 있는
    버스 시스템.
  2. 제 1 항에 있어서,
    상기 메모리 소자는 상기 제 1 메시지 속성의 시리즈를 저장하기 위한 제 1 버퍼 및 상기 제 2 메시지 속성의 시리즈를 저장하기 위한 제 2 버퍼를 포함하고,
    상기 버스 인터페이스는 상기 제 1 버퍼로부터 상기 제 1 메시지 속성의 시리즈를 검색하도록 동작될 수 있고, 상기 프로세서는 상기 제 2 메시지 속성의 시리즈를 상기 제 2 버퍼로 발행하는
    버스 시스템.
  3. 제 1 항에 있어서,
    상기 메시지 속성은 타이밍 정보를 포함하는
    버스 시스템.
  4. 제 3 항에 있어서,
    상기 타이밍 정보는 프레임 번호를 포함하는
    버스 시스템.
  5. 제 3 항에 있어서,
    상기 메시지 속성은 페이로드(a payload)를 더 포함하는
    버스 시스템.
  6. 제 5 항에 있어서,
    상기 버스 인터페이스는 상기 제 2 스테이션으로부터 데이터 아이템을 가진 메시지를 주기적으로 수신하도록 동작될 수 있고,
    상기 버스 인터페이스는 상기 수신된 메시지로부터 상기 데이터 아이템을 추출하고, 상기 수신된 메시지로부터 타이밍 정보를 추출하며, 상기 수신된 메시지로부터의 상기 타이밍 정보와 상기 버퍼에 저장된 상기 제 1 메시지 속성의 시리즈로부터의 상기 메시지 속성의 타이밍 정보를 비교하고, 상기 추출된 타이밍 정보가 상기 버퍼에 저장된 상기 제 1 메시지 속성의 시리즈로부터의 상기 메시지 속성의 상기 타이밍 정보와 일치하면 상기 추출된 데이터 아이템을 상기 페이로드에 추가하도록 또한 동작될 수 있고,
    상기 프로세서는 상기 버스 인터페이스로부터 추가 인터럽트 신호를 수신하면, 상기 버퍼에 저장된 상기 제 1 메시지 속성의 시리즈로부터의 상기 메시지 속성에서 상기 페이로드를 검색하도록 동작될 수 있는
    버스 시스템.
  7. 제 1 항에 있어서,
    상기 버스 시스템은 USB 시스템인
    버스 시스템.
  8. 버스용 접속부, 복수의 메시지 속성의 시리즈를 인터럽트 가능 프로세서로부터 수신하기 위한 입력단 및 인터럽트 신호를 상기 프로세서에 송신하기 위한 인터럽트 출력단을 포함하는 버스 인터페이스에 있어서,
    상기 버스 인터페이스는 컨트롤러, 및 버퍼를 포함하는 메모리 소자를 포함하고,
    상기 버퍼는 상기 프로세서가 상기 인터럽트 출력단을 통해서 인터럽트 신호를 수신한 후에, 상기 프로세서로부터 수신된 상기 복수의 메시지 속성의 시리즈 중 제 1 메시지 속성의 시리즈와 상기 프로세서로부터 수신된 상기 복수의 메시지 속성의 시리즈 중 제 2 메시지 속성의 시리즈를 저장하도록 맞추어지고 상기 프로세서에 의해 조정가능한 저장 용량을 가지며,
    상기 컨트롤러는 상기 버퍼로부터 상기 제 1 메시지 속성의 시리즈를 검색하고, 상기 제 1 메시지 속성의 시리즈로부터 제 1 메시지 시리즈를 생성하며, 상기 버스용 접속부에 상기 생성된 제 1 메시지 시리즈를 송신하고, 상기 인터럽트 신호를 상기 프로세서에 송신하도록 동작될 수 있는
    버스 인터페이스.
  9. 제 8 항에 있어서,
    상기 메모리 소자는 상기 제 1 메시지 속성의 시리즈를 저장하는 제 1 버퍼와 상기 제 2 메시지 속성의 시리즈를 저장하는 제 2 버퍼를 포함하고,
    상기 컨트롤러는 상기 제 1 버퍼로부터 상기 제 1 메시지 속성의 시리즈를 검색하도록 동작될 수 있고, 상기 제 2 버퍼는 상기 프로세서로부터 상기 제 2 메시지 속성의 시리즈를 수신하는
    버스 인터페이스.
  10. 제 8 항에 있어서,
    상기 버스 인터페이스는 추가 버퍼를 포함하고,
    상기 추가 버퍼는 상기 프로세서로부터 저장 용량 제어 아이템을 수신하도록 동작될 수 있으며,
    상기 컨트롤러는 상기 추가 버퍼로부터 상기 저장 용량 제어 아이템을 검색하고, 상기 저장 용량 제어 아이템에 포함된 정보에 기초해서 상기 저장 용량을 조정하도록 동작될 수 있는
    버스 인터페이스.
  11. 제 8 항에 있어서,
    상기 메시지 속성은 메시지들의 타이밍 정보를 포함하는
    버스 인터페이스.
  12. 제 11 항에 있어서,
    상기 타이밍 정보는 프레임 번호를 포함하는
    버스 인터페이스.
  13. 제 11 항에 있어서,
    상기 메시지 속성은 상기 메시지의 페이로드를 더 포함하는
    버스 인터페이스.
  14. 제 13 항에 있어서,
    상기 컨트롤러는 상기 제 2 스테이션으로부터 데이터 아이템을 가진 메시지를 주기적으로 수신하도록 동작될 수 있고,
    상기 컨트롤러는 상기 수신된 메시지로부터 상기 데이터 아이템을 추출하고, 상기 수신된 메시지로부터 타이밍 정보를 추출하며, 상기 수신된 메시지로부터의 상기 타이밍 정보와 상기 버퍼에 저장된 상기 제 1 메시지 속성의 시리즈로부터의 상기 메시지 속성의 타이밍 정보를 비교하고, 상기 추출된 타이밍 정보가 상기 버퍼에 저장된 상기 제 1 메시지 속성의 시리즈로부터의 상기 메시지 속성의 상기 타이밍 정보와 일치하면 상기 추출된 데이터 아이템을 상기 페이로드에 추가하고, 상기 인터럽트 출력단을 통해서 추가 인터럽트 신호를 상기 프로세서에 송신해서 상기 추출된 데이터 아이템이 상기 페이로드에 추가되는 것을 상기 프로세서에 통보하는
    버스 인터페이스.
  15. 제 8 항에 있어서,
    상기 버스 인터페이스는 USB 인터페이스로서 동작할 수 있는
    버스 인터페이스.
KR1020047004465A 2001-09-28 2002-09-19 버스 시스템 및 버스 인터페이스 KR100944892B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SG0100196 2001-09-28
SGPCT/SG01/00196 2001-09-28
PCT/IB2002/003861 WO2003029998A1 (en) 2001-09-28 2002-09-19 Bus system and bus interface for connection to a bus

Publications (2)

Publication Number Publication Date
KR20040041628A KR20040041628A (ko) 2004-05-17
KR100944892B1 true KR100944892B1 (ko) 2010-03-03

Family

ID=20428995

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047004465A KR100944892B1 (ko) 2001-09-28 2002-09-19 버스 시스템 및 버스 인터페이스

Country Status (9)

Country Link
US (1) US7028111B2 (ko)
EP (1) EP1433071B1 (ko)
JP (1) JP4555902B2 (ko)
KR (1) KR100944892B1 (ko)
CN (1) CN1326057C (ko)
AT (1) ATE478380T1 (ko)
DE (1) DE60237379D1 (ko)
TW (1) TWI226547B (ko)
WO (1) WO2003029998A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7000057B1 (en) * 2002-02-11 2006-02-14 Cypress Semiconductor Corp. Method and apparatus for adding OTG dual role device capability to a USB peripheral
JP2004147251A (ja) * 2002-10-28 2004-05-20 Matsushita Electric Ind Co Ltd データ転送装置およびインタフェース制御半導体集積回路、ならびにプロトコル処理回路制御方法
JP4696199B2 (ja) * 2003-05-15 2011-06-08 エスティー‐エリクソン、ソシエテ、アノニム 転送ディスクリプタ用メモリを備えるusbホストコントローラ
JP3649227B2 (ja) * 2003-06-06 2005-05-18 セイコーエプソン株式会社 データ転送制御装置、電子機器及びデータ転送制御方法
TWI226551B (en) * 2003-10-28 2005-01-11 Prolific Technology Inc Multi-function wireless bridge for USB and associated system
ATE424004T1 (de) * 2004-06-15 2009-03-15 Nxp Bv Bus-controller zur datenübertragung
CN100416531C (zh) * 2004-08-30 2008-09-03 旺玖科技股份有限公司 多功能通用串行总线无线桥接装置及系统装置
DE102004057756B4 (de) 2004-11-30 2009-08-06 Advanced Micro Devices Inc., Sunnyvale USB-Steuerungseinrichtung mit OTG-Steuerungseinheit
US7606951B2 (en) * 2004-11-12 2009-10-20 Woodbridge Nancy G Memory reuse for multiple endpoints in USB device
US20060106962A1 (en) * 2004-11-17 2006-05-18 Woodbridge Nancy G USB On-The-Go implementation
CN101449252B (zh) * 2006-05-24 2011-10-05 罗伯特.博世有限公司 通信组件以及用于双向数据传输的方法
CN101136000B (zh) * 2006-09-01 2011-01-05 飞思卡尔半导体公司 实现sd主机/从属设备的应用处理器电路和电子设备
CN101227503B (zh) * 2008-01-29 2012-08-08 浙江大学 智能微小型地面机器人与无线传感器节点间的通信方法
US8136454B2 (en) 2009-05-01 2012-03-20 Norfolk Southern Corporation Battery-powered all-electric locomotive and related locomotive and train configurations
US9830298B2 (en) * 2013-05-15 2017-11-28 Qualcomm Incorporated Media time based USB frame counter synchronization for Wi-Fi serial bus
DE102016103928A1 (de) * 2016-03-04 2017-09-07 Eaton Electrical Ip Gmbh & Co. Kg Busanordnung und Verfahren zum Betreiben einer Busanordnung
CN106302061A (zh) * 2016-07-26 2017-01-04 北京润科通用技术有限公司 一种基于FlexRay总线的通信方法、装置及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974486A (en) * 1997-08-12 1999-10-26 Atmel Corporation Universal serial bus device controller comprising a FIFO associated with a plurality of endpoints and a memory for storing an identifier of a current endpoint
US6145045A (en) * 1998-01-07 2000-11-07 National Semiconductor Corporation System for sending and receiving data on a Universal Serial Bus (USB) using a memory shared among a number of end points

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185641B1 (en) * 1997-05-01 2001-02-06 Standard Microsystems Corp. Dynamically allocating space in RAM shared between multiple USB endpoints and USB host
JPH10313448A (ja) * 1997-05-13 1998-11-24 Mitsubishi Electric Corp 動画像送信装置および受信装置
JPH10336252A (ja) * 1997-05-30 1998-12-18 Toshiba Corp シリアルデータ転送制御装置およびシリアルデータ転送方法
JP3045985B2 (ja) * 1997-08-07 2000-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 接続確立方法、通信方法、状態変化伝達方法、状態変化実行方法、無線装置、無線デバイス、及びコンピュータ
JPH11234614A (ja) * 1998-02-19 1999-08-27 Matsushita Electric Ind Co Ltd ビデオサーバのアクセス管理方法およびビデオサーバ
CN1273903C (zh) * 1998-03-19 2006-09-06 韩旭 通用串行总线多功能转接控制器
JPH11328069A (ja) * 1998-05-19 1999-11-30 Sony Corp Usbインタフェース装置
JP2000137676A (ja) * 1998-10-30 2000-05-16 Nec Eng Ltd バッファ制御方式
JP2000332791A (ja) * 1999-05-24 2000-11-30 Matsushita Electric Ind Co Ltd 伝送装置、シリアルバス中距離光伝送装置およびシリアルバス中距離光伝送システム
US6477600B1 (en) * 1999-06-08 2002-11-05 Intel Corporation Apparatus and method for processing isochronous interrupts
JP2001100951A (ja) * 1999-09-27 2001-04-13 Canon Inc 情報処理システム及び情報処理方法
US6529988B1 (en) * 1999-10-28 2003-03-04 Matsushita Electrical Industrial Method and apparatus for compression of universal serial bus data transmission
US6757763B1 (en) * 2000-04-07 2004-06-29 Infineon Technologies North America Corpration Universal serial bus interfacing using FIFO buffers
US6745264B1 (en) * 2002-07-15 2004-06-01 Cypress Semiconductor Corp. Method and apparatus for configuring an interface controller wherein ping pong FIFO segments stores isochronous data and a single circular FIFO stores non-isochronous data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974486A (en) * 1997-08-12 1999-10-26 Atmel Corporation Universal serial bus device controller comprising a FIFO associated with a plurality of endpoints and a memory for storing an identifier of a current endpoint
US6145045A (en) * 1998-01-07 2000-11-07 National Semiconductor Corporation System for sending and receiving data on a Universal Serial Bus (USB) using a memory shared among a number of end points

Also Published As

Publication number Publication date
EP1433071B1 (en) 2010-08-18
JP4555902B2 (ja) 2010-10-06
CN1561492A (zh) 2005-01-05
US7028111B2 (en) 2006-04-11
JP2005527877A (ja) 2005-09-15
KR20040041628A (ko) 2004-05-17
WO2003029998A1 (en) 2003-04-10
ATE478380T1 (de) 2010-09-15
TWI226547B (en) 2005-01-11
DE60237379D1 (de) 2010-09-30
CN1326057C (zh) 2007-07-11
EP1433071A1 (en) 2004-06-30
US20030101311A1 (en) 2003-05-29

Similar Documents

Publication Publication Date Title
US11176068B2 (en) Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link
KR100944892B1 (ko) 버스 시스템 및 버스 인터페이스
US10331612B1 (en) Methods and apparatus for reduced-latency data transmission with an inter-processor communication link between independently operable processors
KR950703766A (ko) 호스트 지시 조합을 구비하는 장치(a device with host indication combination)
KR20000053380A (ko) 다양한 기능 모듈 접속용 포트 매니저 제어기
JP4452690B2 (ja) 電子装置、その制御方法、ホスト装置及びその制御方法
US7191262B2 (en) High-throughput UART interfaces
US7058747B2 (en) Bus system and bus interface for connection to a bus
JP3636158B2 (ja) データ転送制御装置及び電子機器
US7043589B2 (en) Bus system and bus interface
US6584536B1 (en) Bus transaction accelerator for multi-clock systems
JP2002176464A (ja) ネットワークインタフェース装置
JP4127071B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
EP1459191B1 (en) Communication bus system
CN118427137A (zh) 一种基于直接存储器访问dma的数据整序方法
JP2004054437A (ja) データ通信システム
JPS61256847A (ja) パケツト交換機
KR20040083274A (ko) 무선랜의 비디오 신호 처리장치 및 방법
JPH0681174B2 (ja) 通信制御装置

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130201

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140203

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150213

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160201

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170213

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee