KR20080087588A - 멀티 프로토콜 씨리얼 인터페이스 장치 및 그에 따른soc 장치 - Google Patents

멀티 프로토콜 씨리얼 인터페이스 장치 및 그에 따른soc 장치 Download PDF

Info

Publication number
KR20080087588A
KR20080087588A KR1020070030049A KR20070030049A KR20080087588A KR 20080087588 A KR20080087588 A KR 20080087588A KR 1020070030049 A KR1020070030049 A KR 1020070030049A KR 20070030049 A KR20070030049 A KR 20070030049A KR 20080087588 A KR20080087588 A KR 20080087588A
Authority
KR
South Korea
Prior art keywords
data
mpsi
buffer memory
information
processing unit
Prior art date
Application number
KR1020070030049A
Other languages
English (en)
Other versions
KR100881191B1 (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 KR1020070030049A priority Critical patent/KR100881191B1/ko
Priority to US12/052,346 priority patent/US7979611B2/en
Publication of KR20080087588A publication Critical patent/KR20080087588A/ko
Application granted granted Critical
Publication of KR100881191B1 publication Critical patent/KR100881191B1/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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/38Information transfer, e.g. on bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 발명에 따른 멀티 프토토콜 씨리얼 인터페이스 장치는 요구된 MPSI의 종류 정보를 받고, 그에 따라서 제어 순서 또는 이용되는 데이터의 형태 및 입출력 시점 등을 조절하는 제어부, 요구된 MPSI에 따른 데이터를 만들기 위해 필요한 정보를 버퍼 메모리에서 추출하고 해당 데이터를 만들어 출력하거나, 외부에서 전송된 데이터를 분석하여 정보 데이터를 버퍼 메모리로 전송하는 데이터 생성 및 처리부를 구비한다. 상기 데이터 생성 및 처리부는 요구된 MPSI에 따라, 버퍼 메모리에서 추출된 정보를 이용하여 패킷 형태의 데이터를 생성 및 출력하거나 또는 2진 비트 형태의 데이터를 출력한다. 본 발명에 따른 멀티 프로토콜 씨리얼 인터페이스 장치는 각각의 프로토콜에 맞는 데이터를 생성 및 수신 처리함으로써, 하나의 멀티 프로토콜 씨리얼 인터페이스 장치를 모든 종류의 프로토콜에 맞춰 사용할 수 있는 장점이 있다.

Description

멀티 프로토콜 씨리얼 인터페이스 장치 및 그에 따른 SOC 장치{Apparatus for Multi Protocol Serial Interface and System On Chip thereof}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1a는 다수개의 MPSI를 포함하는 일반적인 MPSI 블록을 나타내는 도면이다.
도 1b는 도 1a의 MPSI 블록의 일 배치 예를 나타내는 도면이다.
도 1c는 도 1a의 MPSI 블록의 다른 배치 예를 나타내는 도면이다.
도 2는 본 발명이 이용되는 SOC 장치를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 MPSI 장치를 나타내는 도면이다.
도 4a는 UART에서 사용하는 데이터 형태를 나타내는 도면이다.
도 4b는 SPI, 및 PCM에서 사용하는 데이터 형태를 나타내는 도면이다.
도 4c는 AC97등에서 사용하는 패킷 데이터를 나타내는 도면이다.
도 4d는 IrDA에서 사용하는 데이터 형태를 나타내는 도면이다.
도 5는 도 3의 데이터 생성 및 처리부를 상세히 나타내는 도면이다.
도 6은 본 발명의 다른 실시예에 따른 MPSI 블록을 나타내는 도면이다.
**도면의 주요부분에 대한 부호의 설명**
101: MPSI 블록
105: MPSI(Multi Protocol Serial Interface)
141: UART(Universal Asynchronous Receiver and Transmitter)
143: I2S(I square S)
201: SOC(System On Chip)
225: 메모리 컨트롤러(MC: Memory Controller)
230: 데이터 버스(Data bus)
240: DMA(Direct Memory Access)
310: 버퍼 메모리(Buffer Memory)
311: 송신 버퍼 메모리
313: 수신 버퍼 메모리
330: 제어부
331: 인터페이스 버스부(I/F bus unit)
333: DMA 및 인터럽트 제어부(DMA/Interrupt controller)
335: 특수 기능 레지스터(SFRs: Special Fuction Registers)
337: 타이밍 발생기(Timing Generator)
339: 유한 상태 기계(FSM: Finite State Machine)
350: 데이터 생성 및 처리부
351: 송신 데이터 생성부
353: 수신 데이터 처리부
360: 직렬 및 비직렬 변환기
361: 직렬 변환기(Serializer)
361: 비직렬 변환기(Deserializer)
370: 비트 처리부
510, 520: 파서(parser)
513: 패킷 생성부(packet generation unit)
515, 523: 병합기 및 분배기
521: 패킷 복구부(packet recover unit)
534, 535: 비트 부호화부
544, 545: 비트 복호화부
본 발명은 멀티 프로토콜 씨리얼 인터페이스 장치에 관한 것으로서, 특히 다양한 종류의 프로토콜에서 사용하는 데이터들을 모두 생성 및 수신 할 수 있는 멀티 프로토콜 씨리얼 인터페이스 장치에 관한 것이다.
멀티 프로토콜 씨리얼 인터페이스 장치란, 여러 가지 프로토콜(multi protocol)에 따른 데이터들을 2개의 서로 다른 장치 사이에서 송수신하기 위한 장치이다. 이하에서, 멀티 프로토콜 씨리얼 인터페이스를 'MPSI'라 한다.
인터페이스를 위한 프로토콜은 (i) 클럭에 동기화 또는 비동기화 되는지, (ii) 한번에 전송하는 비트들의 길이(bit width)가 얼마인지, (iii) 에러 정정(Error correct)을 수행하는지, (iv) 스트로브 신호(strobe signal)를 인가받는지 등의 여부에 따라서 매우 다양하게 존재한다.
널리 이용되는 UART는 7 또는 8 비트의 데이터를 연속하여 전송하며, 추종되는 특정 전압 레벨이 논리 하이에서 논리 로우로 변화하면, 상기 변화를 감지하여 데이터 전송을 시작한다. 그리고, 연속된 비트들의 마지막에는 정지 비트(Stop bit)를 포함시켜, 데이터 전송이 끝났음을 알린다.
PCM, 및 SPI는 클럭에 동기화되어 데이터의 송수신이 이뤄지며, 2진수로 이루어진 데이터들 직접 송수신한다.
AC 97은 패킷 형태의 데이터를 이용하여 데이터들을 송수신한다.
종래의 MPSI 장치는 프로토콜의 종류에 따라서 각자 개별적으로 설계 되었다. 또한, 하나의 블록에 여러개의 MPSI 장치를 포함시켜, 서로 다른 프로토콜들의 데이터가 각각 인터페이스 될 수 있도록 설계하였다.
도 1a는 다수개의 MPSI를 포함하는 일반적인 MPSI 블록을 나타내는 도면이다.
도 1a를 참조하면, 1개의 MPSI블록은 다수개의 MPSI 장치들을 포함한다. 도 1a에서는 4개의 MPSI 장치가 탑재된 경우를 도시하였다.
도 1b는 도 1a의 MPSI 블록의 일 배치예를 나타내는 도면이다.
도 1b를 참조하면, 4개의 MPSI 장치들(141, 142, 143, 144)을 포함하는 MPSI 블록(131)은, 2개는 UART(141, 142)를 구비하고 I2S(143) 한 개, 및 AC97(144) 한 개를 구비한다.
도 1c는 도 1a의 MPSI 블록의 다른 배치 예를 나타내는 도면이다.
도 1c를 참조하면, 4개의 MPSI 장치들(171, 172, 173, 174)을 포함하는 MPSI 블록(161)은, 1개의 PCM(171), 1개의 URAT(172), 및 2개의 I2S(173, 174)를 구비한다.
도 1b의 경우, UART를 3개 이용하고자 하는 것이 불가능하며, 도 1b의 MPSI 블록(131)에 포함된 프로토콜 이외의 프로토콜을 이용하여 인터페이스를 하는 것이 불가능하다. 즉, PCM, IrDA, 또는 SPI 등에서는 인터페이스 할 수 없는 것이다.
도 1c의 경우, UART를 2개 또는 그 이상 이용하고자 하는 것이 불가능하며, 도 1c의 MPSI 블록9161)에 포함된 프로토콜 이외의 프로토콜을 이용하여 인터페이스 하는 것이 불가능하다. 또한, PCM(171), 및 한 개의 I2S(173)를 이용하여 인터페이스 할 경우는, UART(172) 및 또 다른 한 개의 I2S(173)는 이용되지 않으므로, 칩의 이용 효율이 떨어진다.
상술한 바와 같이, 종래의 다수개의 MPSI 장치들을 구비하는 MPSI 블록(또는 SOC)은 설계 시에 최초로 구비된 프로토콜에서만 인터페이스 할 수 있다. 따라서, 최초 구비된 프로토콜 이외의 다른 프로토콜을 이용한 인터페이스는 수행할 없다. 또한, 동작하지 않고 있는 MPSI 장치들이 존재하므로, 전체 MPSI 블록의 이용 효율의 떨어지게 되는 단점이 있다.
본 발명이 이루고자하는 기술적 과제는 사용자가 요구하는 프로토콜에 따라 서 유연하게 이용할 수 있는 멀티 프로토콜 씨리얼 인터페이스 장치를 제공하는데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는 사용자가 요구하는 프로토콜에 따라 유연하게 이용할 수 있는 시스템 온 칩 장치를 제공하는데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는 하나의 버퍼 메모리를 다수개의 멀티 프로토콜 씨리얼 인터페이스 장치들이 공유함으로써, 버퍼 메모리의 크기를 줄일 수 있는 시스템 온 칩 장치를 제공하는데 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 멀티 프로토콜 씨리얼 인터페이스 장치는 제어부 및 데이터 생성 및 처리부를 구비한다.
제어부는 요구된 MPSI 종류의 정보를 받고, 그에 따라서 제어 순서, 또는 요구되는 데이터의 형태 및 입출력 시점 등을 조절한다.
데이터 생성 및 처리부는 버퍼 메모리로부터 요구된 MPSI에 따른 데이터를 만들기 위하여 필요한 정보를 추출하고 해당 데이터를 만들어 출력하거나, 외부에서 전송된 데이터를 분석하여 추출한 정보 데이터를 버퍼 메모리로 전송한다.
데이터 생성 및 처리부는 요구된 MPSI 종류에 따라, 버퍼 메모리에서 추출된 정보를 이용하여 패킷 형태의 데이터를 생성 및 출력하거나, 2진 비트 형태의 데이터를 출력한다.
바람직하게, 데이터 생성 및 처리부는 MPSI 종류에 따라서, 외부에서 전송된 데이터를 버퍼 메모리부, 및 제어부에서 각각 필요로 하는 데이터로 분류하여 전송 한다.
본 발명의 다른 실시예에 따른 시스템 온 칩 장치는 다수개의 MPSI 장치들을 구비한다.
각각의 MPSI 장치는 제어부 및 데이터 생성 및 처리부를 구비한다.
제어부는 요구된 MPSI의 종류 정보를 받고, 그에 따라서 제어 순서, 또는 요구되는 데이터의 형태 및 입출력 시점 등을 조절한다.
데이터 생성 및 처리부는 요구된 MPSI에 따른 데이터를 만들기 위해 필요한 정보를 버퍼 메모리로부터 추출하고 해당 데이터를 만들어 출력하거나, 외부에서 전송된 데이터를 분석하여 추출한 정보 데이터를 버퍼 메모리로 전송하는 데이터 생성 및 처리부를 구비한다.
데이터 생성 및 처리부는 요구된 MPSI 종류에 따라, 추출된 정보를 이용하여 패킷 형태의 데이터를 생성 및 출력하거나 또는 2진 비트 형태의 데이터를 출력한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명이 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 2는 본 발명이 이용되는 SOC 장치를 나타내는 도면이다.
도 2를 참조하면, 인터페이스를 위한 SOC(System On Chip) 장치(201)는 CPU(220), 메모리 컨트롤러(MC: Memory Controller)(225), DMA(Direct Memory Access)(240), MPSI 블록(245) 및 데이터 버스(230)를 구비한다.
CPU(220)는 시스템 온 칩(201)의 전체 동작을 제어하는 중앙 처리 장치이다. 따라서, 칩 내부에 구비되는 모든 IP 블록(Intellectual Property block)들은 모두 CPU(220)의 제어를 받는다.
메모리 컨트롤러(225)는 외부 메모리(210)로의 데이터 입출력을 제어한다.
DMA(240)는 데이터 전송이 CPU(220)를 통하지 않고 메모리와 IP 블록 사이에서 직접 이뤄질 수 있도록 하기 위한 장치이다.
MPSI 블록(245)은 다수개의 MPSI 장치들을 구비한다.
이하의 도 3 내지 도 6에서, MPSI 블록에 구비되는 각각의 MPSI 장치 및 MPSI 블록을 구비하는 시스템 온 칩 장치에 대하여 상술한다.
도 3은 본 발명의 일 실시예에 따른 MPSI 장치를 나타내는 도면이다.
도 3을 참조하면 본 발명의 일 실시예에 따른 MPSI 장치(300)는 제어부(330) , 및 데이터 생성 및 처리부(350)를 구비한다. 그리고, 버퍼 메모리(310), 직렬 및 비직렬 변환기(360), 또는 비트 처리부(370)를 더 구비할 수 있다.
제어부(330)는 요구된 MPSI 종류의 정보를 받고, 그에 따라 제어 순서 또는 인터페이스 되는 데이터의 형태 및 입출력 시점 등을 조절한다.
제어부(330)는 인터페이스 버스 부(I/F bus unit)(331) DMA 및 인터럽트 제어부(DMA/Interupt controller)(333), 특수 기능 레지스터(SFRs: Special Function Register)(335), 유한 상태 기계(FSM: Finite State Machine)(339), 및 타이밍 발생기(Timing Generator)(337)를 구비한다.
인터페이스 버스 부(331)는 범용 온 칩 버스(on chip bus)와의 인터페이스를 위한 범용 버스이다.
DMA 및 인터럽트 제어부(333)는 DMA(240)의 동작을 제어하고, 인터럽트 요청이 발생하면, 인터럽트 발생을 고려하여 데이터 처리 순서를 조절한다.
특수 기능 레지스터(335)는 외부의 CPU(220)으로부터 일정 MPSI로 동작할 것을 요청받는다. 상기 요청은 기계적으로 이뤄진다. 예를 들어, 특수 기능 레지스터(335)의 0번째 번지에, 001이 저장되면, UART로 동작하고, 010이 저장되는 I2S로 동작하고, 011이면 AC97로 동작하는 것으로 인식한다.
특수 기능 레지스터(335)는 요구된 MPSI의 종류에 따라서, 요구된 MPSI가 이용하는 데이터의 생성, 또는 데이터의 입출력 시점 등을 소프트웨어 적으로 제어한다. 예를 들어, 패킷 형태의 데이터를 사용하는 AC97이 요구되면, 특수 기능 레지스터(335)는 유한 상태 기계(339) 및 타이밍 발생기(337)의 제어를 통하여 AC97에서 이용하는 패킷 데이터를 생성시키고, 생성된 데이터의 송수신 시점을 결정하게 된다. 그리고, 클럭에 동기화되는 2진 데이터를 이용하는 SPI가 요구되면, 비트 복호화부(373)에서 받아들인 정보 데이터를 버퍼 메모리(310)에 전송하도록 제어한다. 이때, SPI는 패킷 데이터 형태의 데이터를 이용하지 않으므로, 수신 데이터 처리부(353)에서는 패킷 데이터를 생성하지 않는다.
여기서, 특수 기능 레지스터(335)는 범용으로 이용되며, 세팅(setting) 조건 을 사용자가 프로토콜마다 별도로 설정해놓게 된다.
유한 상태 기계(339)는 특수 기능 레지스터(335)에서 출력되는 제어신호에 응답하여, 멀티 프로토콜 씨리얼 인터페이스 장치 내에 구비되는 IP 블록들(315, 350, 361 등)의 동작 상태 변화를 조절한다. 유한 상태 기계(339)는 간단한 수준에서의 상태 로직(state logic)으로, 특수 기능 레지스터(335)로부터 입력되는 제어 신호에 응답하는 각 IP 블록들의 행동 순서를 state로 표시해 놓는다. 즉, A 라는 조건이 들어오면, 해당 IP 블록이 어떻게 동작하는지를 결정하는 것이다.
예를 들어, 패킷 형태의 데이터를 이용하는 AC97이 요구되면, 특수 기능 레지스터(335)는 패킷 데이터 형성을 유한 상태 기계(339)에 명령한다. 그러면, 유한 상태 기계(339)는 그에 응답하여, 송신 데이터 생성부(351)를 활성화시켜 패킷 데이터가 생성되도록 하는 것이다.
타이밍 발생기(337)는 클럭 신호를 발생시키며, 데이터의 송수신 시점, 또는 처리 시점을 조절한다.
버퍼 메모리(310)는 송 수신되는 데이터를 저장한다. 송신되는 데이터는 송신 버퍼 메모리(311)에 저장되고, 수신되는데 필요한 메모리는 수신 버퍼 메모리(313)에 저장되어 있다.
데이터 생성 및 처리부(350)는 데이터 송신 시, 요구된 MPSI에 따른 데이터를 만들기 위해 필요한 정보를 송신 버퍼 메모리(311) 또는 유한 상태 기계(339)에서 추출한다. 그리고, 해당 데이터를 만들어서 비트 처리부(370)로 출력한다.
데이터 수신 시, 데이터 생성 및 처리부(350)는 외부에서 전송된 데이터를 비트 처리부(370)를 통하여 입력받는다. 그리고, 입력된 데이터를 분석하여 추출한 정보 데이터를 수신 버퍼 메모리(310)에 저장하고, 상태 데이터는 제어부(330)로 전송한다. 여기서, 정보 데이터는 실제 정보로 이용되는 데이터를 뜻하며, 상태 데이터는 정보 데이터의 상태(입출력 시점, 에러 발생 유무 등)를 나타내기 위한 데이터를 뜻한다. 데이터 생성 및 처리부(350)에 대하여는 이하의 도 5에서 상세히 설명한다.
직렬 및 비직렬 변환기(360)는 직렬 변환기(361) 및 비직렬 변환기(363)를 구비한다.
그리고, 비트 처리부(370)는 비트 부호화부(371) 및 비트 복호화부(373)를 구비한다. 비트 부호화부(371)에서 출력되는 신호 및 비트 복호화부(373)로 입력되는 신호는 실제 씨리얼 인터페이스 통신 시 이용되는 신호로, MPSI 장치(300) 외부에서 입력되거나, 외부로 출력되게 된다.
직렬 변환기(361)는 송신 데이터 생성부(351)에서 생성되어 병렬적으로 출력되는 데이터들을 입력받고, 이를 직렬로 변환하여 출력한다.
비트 부호화부(371)는 버퍼 메모리에 저장된 데이터를 요구된 MPSI가 사용하는 방식으로 변환하여 출력한다. 데이터 신호의 전송에 있어서, '0'을 나타내는 신호는 논리 로우 레벨의 신호, '1'을 나타내는 신호는 논리 하이 레벨의 신호가 일반적이다. 그러나 그 이외에도 여러 가지 방법이 존재한다. '0'이면 피크 펄스(peak pulse)를 발생시키지 않고 '1'이면 피크 펄스(peak pulse)를 발생시키는 방식, '1'이면 논리 레벨을 천이(transition)시키고, '0'이면 기존의 논리 레벨을 유지시키는 방식 등이 존재한다.
예를 들어, 버퍼 메모리는 '0'을 나타내는 신호는 논리 로우 레벨의 신호, '1'을 나타내는 신호는 논리 하이 레벨로 저장하고 있다. 그리고, 요구된 MPSI가 '1'이면 논리 레벨을 천이(transition)시키고, '0'이면 기존의 논리 레벨을 유지시키는 방식(SPI가 이용하는 방식)이라고 하자. 그러면, 비트 부호화부(371)는 버퍼 메모리에서 출력된 데이터 신호를 SPI가 이용하는 데이터 신호 형태로 변환하여 출력하는 것이다.
비트 복호화부(373)는 서로 다른 형태로 전송되는 0 및 1 신호들을 입력받고, 버퍼 메모리(310)가 저장하는 데이터 형태로 변환하여 출력한다. 상술한 바와 같이, '0'을 나타내는 신호는 논리 로우 레벨의 신호, '1'을 나타내는 신호는 논리 하이 레벨의 신호가 일반적이다. 그러나 그 이외에도 여러 가지 방법이 존재한다. '0'이면 피크 펄스(peak pulse)를 발생시키지 않고 '1'이면 피크 펄스(peak pulse)를 발생시키는 방식, '1'이면 논리 레벨을 천이(transition)시키고, '0'이면 기존의 논리 레벨을 유지시키는 방식 등이 존재한다. 비트 복호화부(373)는 상술한 다양한 방식의 데이터들을 입력받고, 각각의 신호들을 분석하여 버퍼 메모리(310)가 저장하는 비트 데이터로 변환하여 출력하게 되는 것이다.
비직렬 변환기(363)는 직렬로 입력되는 데이터를 일정 비트씩 또는 일정 바이트씩 잘라서 병렬로 출력한다. 예를 들어, 192byte의 데이터가 직렬로 전송되었으면, 이를 32byte씩 나눠서 6개의 데이터를 병렬로 출력한다.
도 4a는 UART에서 사용하는 데이터 형태를 나타내는 도면이다.
도 4a를 참조하면, UART는 특정 스트로브(strobe) 신호가 논리 하이 레벨에서 논리 로우 레벨로 변화하면, 상기 상태 천이(transition)를 감지하여 데이터 전송을 시작한다. UART는 7 또는 8 비트 단위의 데이터(401)를 전송하게 되며, 마지막에는 끝났음을 알리는 stop bit(403)를 포함시킨다. 요구된 MPSI가 UART인 경우, 직렬 변환기(361)는 전송된 데이터를 독출하고, 이를 송수신부를 통하여 버퍼 메모리(331)에 저장하게 된다. UART는 패킷 형태의 데이터를 이용하지 않으므로, 데이터 생성 및 처리부(350)는 활성화되지 않는다.
도 4b는 SPI, 및 PCM에서 사용하는 데이터 형태를 나타내는 도면이다.
도 4b를 참조하면, SPI 및 PCM은 클럭에 동기화되어 데이터를 전송한다. 즉, 클락 신호의 일정 구간마다 데이터 신호를 1비트씩 전송하게 된다.
도 4c는 AC97등에서 사용하는 패킷 데이터를 나타내는 도면이다.
도 4c를 참조하면, AC97은 패킷 형태의 데이터를 이용한다. 패킷 형태의 데이터는 헤더(421) 및 페이로드 데이터(423)를 포함한다. 헤더(421)는 페이로드(423)에 포함된 데이터가 무엇인지를 알린다. 예를 들어, 페이로드(423)에 포함된 데이터가 로드 시간 정보이면, 헤더(421)는 '로드 시간 정보가 시작 된다'는 내용을 포함하게 되는 것이다. 또한, 페이로드(423)의 형태(type)나, 패킷 데이터의 부가 정보를 담고 있다. 즉, 헤더(421)는 페이로드의 길이 정보를 포함할 수 있으며, ECC(Error Correction Code), 또는 CRC의 일부 영역을 포함할 수 도 있다.
패킷 데이터를 이용하는 MPSI가 요구되면, 데이터 발생 및 처리부(350)는 활성화되어, 패킷 데이터를 생성하거나 패킷 데이터를 각각의 서로 다른 부분들(헤 더, 페이로드, CRC(미도시), ECC(미도시) 등)로 잘라서 제어부 또는 버퍼 메모리로 전송한다.
도 4d는 IrDA에서 사용하는 데이터 형태를 나타내는 도면이다.
도 4d를 참조하면, IrDA는 논리 하이 레벨 신호가 전송되면, 피크 신호를 출력한다. 상술한 바와 같이, 비트 처리부(370) 내에 구비되는 비트 복호화부(373)는 도 4d에서와 같은 신호를 전송받고, 이를 버퍼 메모리가 저장하는 데이터 형태로 변환하여 출력한다.
상술한 도 4a 내지 도 4d를 포함하여, 이외의 도시되지 않은 MPSI 종류(I2S 등)에서 이용하는 데이터 형태는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어서 자명하다 할 것이다. 따라서, 본 발명에 따른 MPSI 장치(300)는 요구된 MPSI에 따라서 특수 기능 레지스터(335) 및 유한 상태 기계(339)를 프로그래밍 하고, 그에 따라 데이터 생성 및 처리부(350)에서 패킷 데이터를 생성 및 수신 처리 함으로써, 요구된 프로토콜에 맞춰 MPSI의 동작을 유연하게 변화시킬 수 있다.
도 5는 도 3의 데이터 생성 및 처리부를 상세히 나타내는 도면이다.
데이터 생성 및 처리부(350)는 패킷 형태의 데이터를 이용하는 MPSI가 요구되면 활성화된다. 데이터 생성 및 처리부(350)가 활성화되어, 패킷 데이터에 필요한 헤더, CRC, 또는 ECC를 만드는지 여부는 특수 기능 레지스터(335) 및 유한 상태 기계(339)의 제어에 따른다.
먼저, 송신 측의 동작부터 설명한다.
패킷 생성부(513)는 버퍼 메모리(310)에 저장된 정보 데이터들 또는 제어부의 특수 기능 레지스터(335)에 저장된 상태 데이터들 중, 각각의 헤더, 페이로드, CRC, 또는 ECC(Error Correction Code) 등을 만들기 위하여 필요한 데이터들을 추출한다. 추출된 데이터를 이용하여, 각각의 헤더, 페이로드, CRC, 또는 ECC(Error Correction Code) 등을 만든다. 그리고, 만들어진 헤더, 페이로드, CRC, 또는 ECC(Error Correction Code)를 일정 순서로 정렬하여 패킷 데이터를 만든다. 여기서, 패킷 데이터의 일반적인 순서는 헤더, ECC, 페이로드, CRC 순서가 된다. 이와의 다른 순서가 될 수 도 있음은 자명하다.
페이로드 데이터는 실제 정보 데이터이다. CRC는 전송된 데이터에 에러가 발생한 경우 이를 검출하기 위하여 이용되며, 또한 페이로드 데이터가 끝났음을 알린다. ECC는 패킷 데이터에서 발생한 에러에 관한 정보를 가진 부분으로, 에러가 발생한 데이터를 복구하는데 이용된다. 그리고, 만들어진 패킷 데이터들을 분배기(515)로 출력한다. 여기서, 패킷 생성부(513)는 일정 단위의 비트 또는 바이트로 된 데이터들을 병렬로 출력한다. 예를 들어, 상기 만들어진 패킷 데이터들의 총 합이 320 바이트이고, 32바이트씩 나뉘어 전송한다면, 10개의 신호를 병렬 출력하게 된다. 여기서, 몇 개의 신호를 동시에 병렬 출력하는지는 구비된 신호선의 개수(N)에 따라 달라질 수 있다.
분배기(515)는 N 개의 신호선을 통하여 병렬 전송된 신호들을 일정 묶음으로 나뉘어 각각의 직렬화기로 전송한다. 도 5에서는 2개의 직렬화기(531, 532)를 구비하는 경우를 도시하였다. 따라서, 분배기(515)는 N 개의 신호들을 2개의 묶음으로 나누어, 각각의 직렬화기(531, 532)로 N/2개의 병렬신호를 출력하게 된다.
직렬 변환기(361)는 다수개의 직렬화기(531, 532)를 구비할 수 있다. 그리고, 비직렬 변환기(360)는 다수개의 비직렬화기(541, 542)를 구비할 수 있다. 여기서, 송신 측 및 수신 측에 각각 2개의 직렬화기(531, 532) 및 2개의 비직렬화기(541, 542)가 구비된 경우를 도시하였다. 각각의 직렬화기(531, 532)는 분배기(515)에서 병렬로 출력된 데이터들을 직렬로 변환하여 출력한다.
다수개의 직렬화기들(531, 532)은 각각 다수개의 비트 부호화기들(534, 535)과 연결된다.
여기서, 출력 신호선(561)과 입력 신호선(561)은 공유될 수도 있다.
이하, 수신 측의 동작을 설명한다.
병합기(523)는 2개의 비직렬화기(541, 542)에서 각각 전송된 N/2개의 신호들을 병합하여 N 개의 신호들을 출력한다.
패킷 복구부(521)는 전송된 패킷 데이터들을 전송받고, 헤더, ECC, 페이로드, CRC 등의 각각의 부분을 나눈다. 각각의 헤더, ECC, 페이로드, CRC 등의 데이터를 분석하여, 정보 데이터와 상태 데이터를 추출한다. 그리고, 추출된 정보 데이터 및 상태 데이터들을 제어부(330) 또는 버퍼 메모리(310)로 전송한다.
또한 패킷 복구부(521)는 페이로드에서 추출된 순수한 정보 데이터를 버퍼 메모리가 저장하는 형태에 맞게 재배치하여 버퍼 메모리(313)로 전송한다. 헤더, ECC, 또는 CRC 등은 에러 검출, 에러의 정정 또는 유실된 정보 데이터의 복구 등을 위하여 제어부(330)의 특수 기능 레지스터(SFR)(335)로 전송된다.
본 발명에 따른 멀티 프로토콜 씨리얼 인터페이스 장치의 데이터 생성 및 처리부(350)는 별도의 파서(510,520)를 구비하도록 설계될 수 있다.
즉, 송신 측의 데이터 생성 및 처리부(350)는 파서(510), 패킷 생성부(513), 및 분배기(515)를 구비한다. 그리고, 수신 측의 데이터 생성 및 처리부(350)는 파서(520), 패킷 복구부(521), 및 병합기(523)를 구비한다.
먼저, 송신 측의 동작 및 구성을 설명한다.
파서(510)는 버퍼 메모리(310)에 저장된 데이터들 중, 각각의 헤더, 페이로드, CRC, 또는 ECC(Error Correction Code) 등을 만들기 위하여 필요한 데이터들을 추출한다. 그리고, 추출된 데이터를 패킷 생성부(513)로 전송한다.
패킷 생성부(513)는 파서(510)에서 추출된 데이터를 이용하여, 각각의 헤더, 페이로드, CRC, 또는 ECC(Error Correction Code) 등을 만든다. 여기서, 헤더, 페이로드, CRC, 또는 ECC(Error Correction Code) 등은 위에서 상술한 바와 동일하다. 그리고, 만들어진 헤더, 페이로드, CRC, 또는 ECC(Error Correction Code) 등을 일정 순서로 배열하여 패킷 데이터를 만든다.
패킷 데이터는 분배기(515)로 전송되며, 분배기(515( 역할 및 동작은 상술한 바와 같으므로, 생략한다.
이하, 수신 측의 동작을 설명한다.
병합기(523)의 역할 및 구성은 상술한 바와 동일하다.
패킷 복구부(521)는 전송된 패킷 데이터들을 전송받고, 헤더, ECC, 페이로드, CRC 등의 각각의 부분을 나눈다. 각각의 헤더, ECC, 페이로드, CRC 등의 데이 터를 분석하여, 정보 데이터와 상태 데이터를 추출한다. 그리고, 추출된 데이터들을 제어부(330) 또는 파서(520)로 전송한다. 헤더, ECC, 또는 CRC 등은 에러 검출, 에러의 정정 또는 유실된 정보 데이터의 복구 등을 위하여 제어부(330)의 특수 기능 레지스터(SFR)(339)로 전송되는 것이다.
파서(520)는 페이로드에서 추출된 순수한 정보 데이터를 버퍼 메모리가 저장하는 형태에 맞게 재배치하여 버퍼 메모리(313)로 전송한다.
도 6은 본 발명의 다른 실시예에 따른 MPSI 블록을 나타내는 도면이다.
도 6을 참조하면, 버퍼 메모리(610)는 다수개의 MPSI들이 공유하는 형태로 구비될 수 있다.
다수개의 MPSI들을 구비하는 시스템 온 칩(SOC)에 있어서, 동시에 이용되는 MPSI는 제한적이다. 따라서, 5개의 MPSI를 구비하는 시스템 온 칩(SOC)에 있어서, 동시에 4개의 MPSI가 이용되는 것이 일반적이라면, 4개의 MPSI가 이용할 수 있는 용량의 버퍼 메모리를 공통적으로 구비하는 것이다.
여기서, 각각의 MPSI는 도 3의 본 발명의 일 실시예에 따른 MPSI가 된다. 도 6과 같이, 버퍼 메모리를 공유시킴으로써, 버퍼 메모리의 용량을 감소시킬 수 있다. 버퍼 메모리 용량의 감소는 전체 칩 면적의 감소를 가져온다.
본 발명의 실시예에 따른 정상적인 좌우변환 디스플레이가 가능한 디스플레이 방법은 앞서 설명된 디스플레이 장치와 그 기술적 사상이 동일하다. 그러므로 당업자라면 앞서의 설명으로부터 본 발명에 따른 디스플레이 방법에 대하여 이해할 수 있을 것이므로 이에 대한 자세한 설명은 생략된다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 멀티 프로토콜 씨리얼 인터페이스 장치는 각각의 프로토콜에 맞는 데이터를 생성 및 수신 처리함으로써, 하나의 멀티 프로토콜 씨리얼 인터페이스 장치를 모든 종류의 프로토콜에 맞춰 사용할 수 있는 장점이 있다.
또한, 본 발명에 따른 다수개의 멀티 프로토콜 씨리얼 인터페이스들을 구비하는 SOC는 불필요한 IP를 제거하여 이용 효율을 높일 수 있는 장점이 있다.

Claims (26)

  1. 요구된 MPSI의 종류 정보를 받고, 그에 따라서 제어 순서 또는 이용되는 데이터의 형태 및 입출력 시점 등을 조절하는 제어부;
    상기 요구된 MPSI에 따른 데이터의 생성에 필요한 정보를 버퍼 메모리로부터 추출하고 해당 데이터를 만들어 출력하거나, 외부에서 전송된 데이터에서 추출한 정보 데이터를 상기 버퍼 메모리로 전송하는 데이터 생성 및 처리부를 구비하며,
    상기 데이터 생성 및 처리부는
    상기 요구된 MPSI에 따라, 상기 버퍼 메모리에서 추출된 정보를 이용하여 패킷 형태의 데이터를 생성 및 출력하거나 또는 2진 비트 형태의 데이터를 출력하는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  2. 제1항에 있어서, 상기 데이터 생성 및 처리부는
    상기 요구된 MPSI에 따라서, 상기 외부에서 전송된 데이터에서 정보 데이터 및 상태 데이터를 추출하고 이를 상기 버퍼 메모리 또는 상기 제어부로 출력하는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  3. 제2항에 있어서, 상기 데이터 생성 및 처리부는
    상기 요구된 MPSI에 따라서, 상기 버퍼 메모리 또는 상기 제어부로부터 추출된 정보를 이용하여 패킷 형태의 데이터를 생성 및 출력하거나, 2진 비트 형태의 데이터를 출력하는 송신 데이터 생성부; 및
    상기 요구된 MPSI에 따라서, 상기 외부에서 전송된 데이터를 전송받고 이를 상태 데이터 및 정보 데이터로 분류하여 상기 버퍼 메모리 또는 상기 제어부로 전송하거나, 또는 2진 비트 형태의 데이터를 출력하는 수신 데이터 처리부를 구비하는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  4. 제3항에 있어서,
    상기 송신 데이터 생성부는
    상기 버퍼 메모리 또는 상기 제어부에서 페이로드, 헤더, CRC, 또는 ECC 등을 생성하기 위해 필요한 정보를 추출하고, 상기 추출된 정보를 이용해 페이로드, 헤더, CRC, 또는 ECC 등을 각각 생성하는 패킷 생성부를 구비하는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  5. 제4항에 있어서,
    상기 수신 데이터 처리부는
    상기 외부에서 전송된 데이터를 페이로드, 헤더, CRC, 또는 ECC 등의 서로 다른 각각의 부분으로 분리하고, 상기 분리된 데이터로부터 정보 데이터 및 상태 데이터를 추출하여 상기 제어부 또는 상기 버퍼 메모리로 출력하는 패킷 복구부를 구비하는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  6. 제5항에 있어서, 상기 송신 데이터 생성부 및 수신 데이터 처리부는
    상기 요구되는 MPSI가 패킷 형태의 데이터를 이용하는 MPSI이면, 활성화되는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  7. 제4항에 있어서,
    상기 패킷 생성부는
    상기 페이로드, 헤더, CRC, 또는 ECC 등을 일정 순서로 배열하여 패킷 데이터로 만들고 N의 신호선들을 통하여 병렬 출력하며,
    상기 송신 데이터 생성부는
    상기 패킷 생성부 출력되는 신호들을 M개의 묶음으로 나누어 병렬 출력하는 분배기를 더 구비하는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  8. 제5항에 있어서, 상기 수신 데이터 처리부는
    상기 외부에서 M 개의 묶음으로 나누어 전송되는 N 개의 데이터들을 병합하여 상기 패킷 복구부로 전송하는 병합기를 더 구비하는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  9. 제6항에 있어서, 상기 패킷 데이터 생성부는
    상기 요구된 MPSI가 패킷 형태의 데이터를 이용하지 않으면, 활성화되지 않고 입력된 데이터를 통과시키는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페 이스 장치.
  10. 제3항에 있어서,
    상기 데이터 생성 및 처리부는
    UART, I2S, PCM, SPI, AC97, IrDA, 또는 I2C 등에서의 요구되는 데이터 형태를 모두 생성 또는 송신 할 수 있으며,
    상기 데이터 생성 및 처리부는
    UART, I2S, PCM, SPI, AC97, IrDA, 또는 I2C 등에서 이용되는 데이터를 전송받고, 이를 정보 데이터와 상태 데이터를 나누어 전송하거나, 수신 할 수 있는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  11. 제7항에 있어서, 상기 멀티 프로토콜 씨리얼 인터페이스 장치는
    상기 데이터 생성 및 처리부에서 병렬로 출력되는 데이터들을 직렬 변환하여 출력하거나, 상기 외부에서 전송되는 데이터를 병렬로 상기 데이터 생성 및 처리부로 출력하는 직렬 및 비직렬 변환기를 더 구비하는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  12. 제11항에 있어서,
    상기 직렬 및 비직렬 변환기는
    상기 분배기에서 병렬로 출력되는 상기 N/M 개의 데이터들을 직렬 신호로 변 환하여 출력하는 M 개의 직렬화기; 및
    상기 외부에서 직렬로 수신되는 데이터들을 N/M 개의 병렬 신호로 출력하는 M 개의 비직렬화기를 구비하는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  13. 제2항에 있어서, 상기 멀티 프로토콜 씨리얼 인터페이스 장치는
    상기 데이터 생성 및 처리부에서 출력되는 데이터를 상기 요구된 MPSI에서 이용하는 데이터로 변환하거나, 상기 외부에서 전송된 데이터를 상기 버퍼 메모리가 저장하는 데이터로 변환하는 비트 처리부를 더 구비하는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  14. 제2항에 있어서, 상기 제어부는
    외부의 CPU로부터 일정 MPSI로의 동작이 요구되면, 그에 응답해 상기 요구된 MPSI가 이용하는 데이터의 생성, 입출력 등을 소프트웨어 적으로 조절하는 특수 기능 레지스터; 및
    상기 특수 기능 레지스터에서 출력되는 제어 신호에 응답하여, 상기 멀티 프로토콜 씨리얼 인터페이스 장치 내에 구비되는 IP 블록들의 상태 변화를 조절하는 유한 상태 기계를 구비하는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  15. 제14항에 있어서, 상기 제어부는
    외부에 구비된 DMA를 제어하거나 인터럽트 요청에 응답하여 인터럽트 동작을 제어하는 DMA 및 인터럽트 제어부; 및
    클럭 신호를 발생시키며, 상기 데이터 생성 및 처리부에서의 일정 동작 시점을 조절하는 타이밍 발생기를 더 구비하는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  16. 제2항에 있어서, 상기 멀티 프로토콜 씨리얼 인터페이스 장치는
    상기 제어부의 조절에 따라서, 상기 외부에서 전송된 데이터들을 저장하거나, 데이터 송신을 위하여 이미 저장되었던 데이터를 출력하는 버퍼 메모리를 더 구비하는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  17. 제16항에 있어서, 상기 버퍼 메모리는
    FIFO 메모리로 이뤄진 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  18. 제3항에 있어서, 상기 송신 데이터 생성부는
    상기 버퍼 메모리 또는 상기 제어부에서 페이로드, 헤더, CRC, 또는 ECC 등을 생성하기 위해 필요한 정보를 추출하는 송신 파서; 및
    상기 파서에서 추출된 정보를 이용해 페이로드, 헤더, CRC, 또는 ECC 등을 각각 생성하고, 이를 정렬시켜 패킷 데이터를 출력하는 패킷 생성부를 구비하는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  19. 제18항에 있어서, 상기 수신 데이터 처리부는
    상기 외부에서 전송된 데이터를 페이로드, 헤더, CRC, 또는 ECC 등의 서로 다른 각각의 부분으로 분리하고, 상기 분리된 데이터로부터 정보 데이터 및 상태 데이터를 각각 추출하여 상기 제어부 또는 파서로 출력하는 패킷 복구부; 및
    상기 추출된 정보 데이터를 상기 버퍼 메모리에 저장되는 형태에 맞게 재배치하여 상기 버퍼 메모리로 출력하는 수신 파서를 구비하는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  20. 제18항에 있어서, 상기 패킷 생성부는
    상기 페이로드, 헤더, CRC, 또는 ECC 등을 일정 순서로 배열하여 패킷 데이터로 만들고 N의 신호선들을 통하여 병렬 출력하며,
    상기 송신 데이터 생성부는
    상기 패킷 생성부 출력되는 신호들을 M개의 묶음으로 나누어 병렬 출력하는 분배기를 더 구비하는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  21. 제19항에 있어서, 상기 수신 데이터 처리부는
    상기 외부에서 M 개의 묶음으로 나누어 전송되는 N 개의 데이터들을 병합하 여 상기 패킷 복구부로 전송하는 병합기를 더 구비하는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  22. 다수개의 멀티 프로토콜 씨리얼 인터페이스 장치들을 구비하는 시스템 온 칩 장치에 있어서,
    상기 다수개의 멀티 프로토콜 씨리얼 인터페이스 장치 각각은
    요구된 MPSI의 종류 정보를 받고, 그에 따라서 제어 순서, 또는 이용되는 데이터의 형태 및 입출력 시점 등을 조절하는 제어부;
    상기 요구된 MPSI에 따른 데이터를 만들기 위해 필요한 정보를 버퍼 메모리에서 추출하고 해당 데이터를 만들어 출력하거나, 외부에서 전송된 데이터에서 추출한 정보 데이터를 상기 버퍼 메모리로 전송하는 데이터 생성 및 처리부를 구비하며,
    상기 데이터 생성 및 처리부는
    상기 요구된 MPSI 종류에 따라, 상기 추출된 정보를 이용하여 패킷 형태의 데이터를 생성 및 출력하거나 또는 2진 비트 형태의 데이터를 출력하는 것을 특징으로 하는 시스템 온 칩 장치.
  23. 제22항에 있어서, 상기 데이터 생성 및 처리부는
    상기 요구된 MPSI에 따라서, 상기 외부에서 전송된 데이터를 분석하여 정보 데이터 및 상태 데이터를 추출하고, 이를 상기 버퍼 메모리 또는 상기 제어부로 출 력하는 것을 특징으로 하는 멀티 프로토콜 씨리얼 인터페이스 장치.
  24. 제23항에 있어서,
    상기 데이터 생성 및 처리부는
    상기 요구된 MPSI에 따라서, 상기 버퍼 메모리로부터 추출된 정보를 이용하여 패킷 형태의 데이터를 생성 및 출력하거나 2진 비트 형태의 데이터를 출력하는 송신 데이터 생성부; 및
    상기 요구된 MPSI에 따라서, 상기 외부에서 전송된 데이터를 전송받고 이를 상태 데이터 및 정보 데이터로 분류하여 상기 버퍼 메모리 또는 상기 제어부로 전송하거나, 또는 2진 비트 형태의 데이터를 출력하는 수신 데이터 처리부를 구비하며,
    상기 송신 데이터 생성부는
    상기 버퍼 메모리 또는 상기 제어부에서 페이로드, 헤더, CRC, 또는 ECC 등을 생성하기 위해 필요한 정보를 추출하고, 상기 추출된 정보를 이용해 페이로드, 헤더, CRC, 또는 ECC 등을 각각 생성하는 패킷 생성부를 구비하는 것을 특징으로 하는 시스템 온 칩 장치.
  25. 제23항에 있어서, 상기 시스템 온 칩 장치는
    외부 메모리의 입출력을 제어하는 메모리 컨트롤러;
    칩 내부의 전체 동작을 제어하는 CPU; 및
    데이터의 이동 통로가 되는 데이터 버스를 더 구비하는 것을 특징으로 하는 시스템 온 칩 장치.
  26. 다수개의 멀티 프로토콜 씨리얼 인터페이스 장치들을 구비하는 시스템 온 칩 장치에 있어서,
    다수개의 멀티 프로토콜 씨리얼 인터페이스 장치들; 및
    상기 멀티 프로토콜 씨리얼 인터페이스 장치들이 공통으로 이용하도록 구비된 공유 버퍼 메모리를 구비하며,
    상기 다수개의 멀티 프로토콜 씨리얼 인터페이스 장치 각각은
    요구된 MPSI의 종류 정보를 받고, 그에 따라서 제어 순서, 또는 이용되는 데이터의 형태 및 입출력 시점 등을 조절하는 제어부;
    상기 요구된 MPSI에 따른 데이터를 만들기 위해 필요한 정보를 상기 버퍼 메모리에서 추출하고 해당 데이터를 만들어 출력하거나, 외부에서 전송된 데이터에서 추출된 정보 데이터를 상기 버퍼 메모리로 전송하는 데이터 생성 및 처리부를 구비하며,
    상기 데이터 생성 및 처리부는
    상기 요구된 MPSI 종류에 따라, 상기 추출된 정보를 이용하여 패킷 형태의 데이터를 생성 및 출력하거나 또는 2진 비트 형태의 데이터를 출력하는 것을 특징으로 하는 것을 특징으로 하는 시스템 온 칩 장치.
KR1020070030049A 2007-03-27 2007-03-27 멀티 프로토콜 씨리얼 인터페이스 장치 및 그에 따른soc 장치 KR100881191B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070030049A KR100881191B1 (ko) 2007-03-27 2007-03-27 멀티 프로토콜 씨리얼 인터페이스 장치 및 그에 따른soc 장치
US12/052,346 US7979611B2 (en) 2007-03-27 2008-03-20 Multi-protocol serial interface apparatus and system-on-chip apparatus including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070030049A KR100881191B1 (ko) 2007-03-27 2007-03-27 멀티 프로토콜 씨리얼 인터페이스 장치 및 그에 따른soc 장치

Publications (2)

Publication Number Publication Date
KR20080087588A true KR20080087588A (ko) 2008-10-01
KR100881191B1 KR100881191B1 (ko) 2009-02-05

Family

ID=39796257

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070030049A KR100881191B1 (ko) 2007-03-27 2007-03-27 멀티 프로토콜 씨리얼 인터페이스 장치 및 그에 따른soc 장치

Country Status (2)

Country Link
US (1) US7979611B2 (ko)
KR (1) KR100881191B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150001593A (ko) * 2013-06-27 2015-01-06 삼성전자주식회사 범용 직렬 인터페이스 및 이를 포함하는 반도체 장치
KR20150039142A (ko) * 2015-02-16 2015-04-09 주식회사 이노와이어리스 시스템 성능 향상을 위한 제어 로직을 구비한 직렬 주변기기 인터페이스 및 그 구동 방법
CN103078849B (zh) * 2012-12-27 2015-09-30 中国航空工业集团公司第六三一研究所 多路串行接口协议切换转发方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2945396A1 (fr) * 2009-05-07 2010-11-12 St Microelectronics Grenoble 2 Procede et dispositif d'analyse de la propagation de transactions dans un reseau multi-protocoles d'un systeme sur puce
DE102010030211A1 (de) * 2010-06-17 2011-12-22 Continental Teves Ag & Co. Ohg Gerät und Verfahren zur Fehlererkennung und Fehlerkorrektur in Bussystemen
KR101993626B1 (ko) 2012-12-11 2019-06-28 삼성전자 주식회사 특수 기능 레지스터를 포함하는 시스템 온 칩 및 그 동작 방법
CN103077139B (zh) * 2013-02-01 2016-05-11 威盛电子股份有限公司 使用内部集成电路总线的集成电路及其控制方法
US9311261B2 (en) * 2013-06-27 2016-04-12 Samsung Electronics Co., Ltd. Universal serial interface and semiconductor device including the same
US9842071B2 (en) 2014-11-11 2017-12-12 Microchip Technology Incorporated Multi-channel I2S transmit control system and method
US10097203B2 (en) * 2015-11-12 2018-10-09 Nvidia Corporation Lane-striped computation of packet CRC to maintain burst error properties
KR20180043451A (ko) * 2016-10-19 2018-04-30 삼성전자주식회사 컴퓨팅 시스템 및 그것의 동작 방법
CN110915180B (zh) * 2017-05-16 2022-06-28 瑞典爱立信有限公司 低时延媒体摄取系统、设备和方法
US10630315B2 (en) * 2017-09-29 2020-04-21 Intel Corporation Technologies for applying a redundancy encoding scheme to segmented network packets
CN109523972A (zh) * 2018-12-24 2019-03-26 惠科股份有限公司 阵列基板及显示面板
CN111628920B (zh) * 2020-05-28 2022-01-28 上海辰瞻医疗科技有限公司 多个串行接口设备间的相互通信方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6834295B2 (en) * 2000-02-24 2004-12-21 Pts Corporation Methods and apparatus for providing bit-reversal and multicast functions utilizing DMA controller
US6865235B2 (en) * 2001-03-06 2005-03-08 Agere Systems Inc. Multi-protocol modulator
JP2002318783A (ja) 2001-04-23 2002-10-31 Denso Corp マルチプロトコル型シリアル通信装置及びマイクロコンピュータ
KR20030024260A (ko) * 2001-09-17 2003-03-26 주식회사 플레넷 전력선을 이용한 통신망의 서브넷과, 그러한 서브넷의창설방법과, 그러한 서브넷에 연결되는 전기전자응용기기및, 그러한 전기전자응용기기에 이용되는 통신모듈
WO2004006540A2 (en) * 2002-07-08 2004-01-15 Globespanvirata Incorporated System and method for packet transmission from fragmented buffer
KR20040057914A (ko) * 2002-12-23 2004-07-02 한국전자통신연구원 제어 프로토콜 변환 장치 및 그 방법
ITVA20030022A1 (it) 2003-07-07 2005-01-08 St Microelectronics Srl Metodo di generazione di un segnale di abilitazione in una memoria multi-protocollo e relativo dispositivo di memoria.
US20070220499A1 (en) * 2003-07-23 2007-09-20 Silicon Laboratories Inc. USB tool stick with multiple processors
US7412588B2 (en) * 2003-07-25 2008-08-12 International Business Machines Corporation Network processor system on chip with bridge coupling protocol converting multiprocessor macro core local bus to peripheral interfaces coupled system bus
KR100647370B1 (ko) * 2004-04-20 2006-11-23 주식회사 하이닉스반도체 멀티 프로토콜 시리얼 인터페이스 시스템
JP4483535B2 (ja) * 2004-11-05 2010-06-16 株式会社日立製作所 ネットワーク装置
US20060149870A1 (en) * 2004-12-30 2006-07-06 Randall Sears Parallel to USB bridge controller
US7567567B2 (en) * 2005-04-05 2009-07-28 Sun Microsystems, Inc. Network system including packet classification for partitioned resources
US7437616B2 (en) * 2005-12-15 2008-10-14 Atmel Corporation Dual CPU on-chip-debug low-gate-count architecture with real-time-data tracing

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103078849B (zh) * 2012-12-27 2015-09-30 中国航空工业集团公司第六三一研究所 多路串行接口协议切换转发方法
KR20150001593A (ko) * 2013-06-27 2015-01-06 삼성전자주식회사 범용 직렬 인터페이스 및 이를 포함하는 반도체 장치
KR20150039142A (ko) * 2015-02-16 2015-04-09 주식회사 이노와이어리스 시스템 성능 향상을 위한 제어 로직을 구비한 직렬 주변기기 인터페이스 및 그 구동 방법

Also Published As

Publication number Publication date
US20080244120A1 (en) 2008-10-02
KR100881191B1 (ko) 2009-02-05
US7979611B2 (en) 2011-07-12

Similar Documents

Publication Publication Date Title
KR100881191B1 (ko) 멀티 프로토콜 씨리얼 인터페이스 장치 및 그에 따른soc 장치
US7079528B2 (en) Data communication method
US20100027559A1 (en) Transmission device and data extended transmission method
EP1825382B1 (en) Low protocol, high speed serial transfer for intra-board or inter-board data communication
US7493423B2 (en) Data transfer control device and electronic instrument
JP5252292B2 (ja) インタフェース装置及び電子装置
JP2004520778A (ja) スキュー耐性のないデータグループを有するパラレルデータ通信
CN103490997A (zh) 为分组报头提供前缀
US20100138573A1 (en) System including transmitter and receiver
KR102516027B1 (ko) 헤더 처리 장치, 프로세서 및 전자장치
EP1656777A1 (en) Auto realignment of multiple serial byte-lanes
JP2004537871A (ja) 高性能ネットワーク・スイッチ
EP2127145B1 (en) Mechanism for channel synchronization
JP2002521917A (ja) 高速シリアルデータ通信システム
CN111147522A (zh) 多通道RocketIO协议与FC协议实时转换方法
CN101039323B (zh) 多速率多协议比特流处理器
US11729030B2 (en) De-skew circuit, de-skew method, and receiver
CN113726693B (zh) 一种fpga片间低速并行异步通信方法及通信系统
CN111970499B (zh) 一种基于rgif vdma的多路3g-sdi光端机数据解复用方法
US11388103B2 (en) Multi-chip system and data transmission method thereof
CN117897697A (zh) 用于芯片到芯片接口的按需分组化
EP3671720B1 (en) Real-time on-chip data transfer system
CN111367850A (zh) 一种fpga和mcu之间的快速通信方法
US9268725B2 (en) Data transferring apparatus and data transferring method
US20240168710A1 (en) Method and apparatus for eliminating inter-link skew in high- speed serial data communications

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: 20130102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee