KR102254255B1 - Device including single wire interface and data processing system having the same - Google Patents
Device including single wire interface and data processing system having the same Download PDFInfo
- Publication number
- KR102254255B1 KR102254255B1 KR1020150099858A KR20150099858A KR102254255B1 KR 102254255 B1 KR102254255 B1 KR 102254255B1 KR 1020150099858 A KR1020150099858 A KR 1020150099858A KR 20150099858 A KR20150099858 A KR 20150099858A KR 102254255 B1 KR102254255 B1 KR 102254255B1
- Authority
- KR
- South Korea
- Prior art keywords
- clock signal
- clock
- oversampling
- slave device
- frame
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4295—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
Abstract
슬레이브 장치와 통신할 수 있는 마스터 장치는 싱글 와이어를 통해 어드레스를 포함하는 명령 프레임과 데이터를 포함하는 데이터 프레임을 상기 슬레이브 장치와 주고받는 하나의 패드와, 클락 신호로부터 오버샘플링 클락 신호를 생성하고, 상기 오버샘플링 클락 신호의 클락 위상들 중에서 하나의 클락 위상을 선택하는 동기화 과정과, 상기 슬레이브 장치로부터 전송된 상기 데이터 프레임에 포함된 각 비트 값을 상기 동기화 과정에서 선택된 클락 위상과 동일한 위치에 존재하는 클락 위상을 이용하여 샘플링하는 샘플링 과정을 수행하는 처리 회로를 포함한다.The master device capable of communicating with the slave device generates an oversampling clock signal from a single pad and a clock signal that exchanges a command frame including an address and a data frame including data with the slave device through a single wire, The synchronization process of selecting one of the clock phases of the oversampling clock signal, and each bit value included in the data frame transmitted from the slave device is present at the same position as the clock phase selected in the synchronization process. And a processing circuit that performs a sampling process of sampling using a clock phase.
Description
본 발명의 개념에 따른 실시 예는 집적 회로에 관한 것으로, 특히 싱글 와이어 인터페이스를 이용하여 서로 통신할 수 있는 마스터 장치와 슬레이브 장치, 및 이들을 포함하는 데이터 처리 시스템에 관한 것이다.An embodiment according to the concept of the present invention relates to an integrated circuit, and more particularly, to a master device and a slave device capable of communicating with each other using a single wire interface, and a data processing system including the same.
전자통신(telecommunication) 또는 컴퓨터 과학(computer science)에서, 직렬 통신(serial communication)은 통신 채널 또는 컴퓨터 버스를 통해 한번에 한 비트 단위로 데이터를 전송하는 과정을 의미한다. 상기 직렬 통신은 여러 개의 병렬 채널들을 갖는 링크를 통해 동시에 여러 비트들을 전송하는 병렬 통신과 대조된다. 직렬 통신은 모든 장거리(long-haul) 통신과 대부분의 컴퓨터 네트워크들에서 사용된다.In telecommunication or computer science, serial communication refers to a process of transmitting data in units of one bit at a time through a communication channel or a computer bus. The serial communication contrasts with parallel communication, which transmits several bits at the same time over a link with several parallel channels. Serial communication is used in all long-haul communications and in most computer networks.
많은 통신 시스템들은 같은 인쇄 회로 기판(printed circuit board(PCB)) 위에서 두 개의 집적 회로들을 접속하기 위해 설계된다. 집적 회로는 많은 더 핀들을 포함할수록 더 비싸진다. 패키지에서 핀들의 개수를 줄이기 위해, 많은 집적 회로들은, 통신 속도가 중요하지 않을 때, 데이터를 전송하기 위해 직렬 버스를 사용한다. 이러한 저-비용(low-cost) 직렬 버스의 예들은 SPI(serial peripheral interface)와 I2C(inter-integrated circuit) 등을 포함한다.Many communication systems are designed to connect two integrated circuits on the same printed circuit board (PCB). An integrated circuit becomes more expensive the more pins it contains. To reduce the number of pins in the package, many integrated circuits use a serial bus to transfer data when communication speed is not critical. Examples of such low-cost serial buses include serial peripheral interface (SPI) and inter-integrated circuit (I2C).
SPI 버스는 짧은 거리 통신, 주로 임베디드 시스템들에서 사용되는 동기 직렬 통신 인터페이스(synchronous serial communication interface)이다. SPI는 3개의 핀들 또는 4개의 핀들을 사용할 수 있다. SPI는 3개의 핀들 또는 4핀들을 사용하므로, 핀들의 개수가 많고, 상기 핀들 각각에 접속된 출력 드라이버와 입력 버퍼가 존재하므로, 칩의 가격이 증가할 수 있다.The SPI bus is a synchronous serial communication interface used in short distance communication, mainly embedded systems. SPI can use 3 pins or 4 pins. Since the SPI uses 3 pins or 4 pins, the number of pins is large, and since there are output drivers and input buffers connected to each of the pins, the price of a chip may increase.
I2C는 필립스 반도체(Philips Semiconductor, 현재는 NXP Semiconductors)에 의해 발명된 멀티-마스터, 멀티-슬레이브, 싱글-엔디드(single-ended), 직렬 컴퓨터 버스이다. I2C는 마더보드, 임베디드 시스템 또는 이동 전화기 등에서 저속의 주변 기기들을 연결하기 위해 사용된다. I2C는 두 개의 양방향 오픈-드레인 라인들 (two bidirectional open-drain lines), 즉 저항들에 의해 풀업되는 직렬 데이터 라인(Serial Data Line(SDA))과 직렬 클락 라인(Serial Clock Line(SCL))을 사용한다. I2C는 접속된 두 장치들 사이에서 동기를 맞추기 위해 직렬 클락을 이용하여 직렬 데이터를 전송하므로 전력 소모가 크고, 저항을 이용하여 출력 커패시터를 충전하므로 작동 속도가 느릴 수 있다.I2C is a multi-master, multi-slave, single-ended, serial computer bus invented by Philips Semiconductor (now NXP Semiconductors). I2C is used to connect low-speed peripherals in motherboards, embedded systems, or mobile phones. I2C has two bidirectional open-drain lines, a serial data line (SDA) pulled up by resistors and a serial clock line (SCL). use. I2C uses a serial clock to transmit serial data to synchronize between two connected devices, so power consumption is large, and operation speed may be slow because the output capacitor is charged using a resistor.
본 발명이 이루고자 하는 기술적인 과제는 칩들 사이에서 데이터 전송을 위한 핀(또는 패드)의 개수를 하나로 줄여서 핀의 개수를 감소시키고, 상기 핀의 개수가 감소함에 따라 칩의 가격 경쟁력을 높이고, 상기 핀의 개수가 감소함에 따라 소모 전력을 감소시킬 수 있는 새로운 통신 프로토콜을 지원할 수 있는 장치와 이를 포함하는 데이터 처리 시스템을 제공하는 것이다.The technical problem to be achieved by the present invention is to reduce the number of pins (or pads) for data transmission between chips to one, thereby reducing the number of pins, and increasing the price competitiveness of the chip as the number of pins decreases. An apparatus capable of supporting a new communication protocol capable of reducing power consumption as the number of is reduced, and a data processing system including the same are provided.
본 발명의 실시 예에 따른, 슬레이브 장치와 통신할 수 있는 마스터 장치는 싱글 와이어를 통해 어드레스를 포함하는 명령 프레임과 데이터를 포함하는 데이터 프레임을 상기 슬레이브 장치와 주고받는 하나의 패드와, 클락 신호로부터 오버샘플링 클락 신호를 생성하고, 상기 오버샘플링 클락 신호의 클락 위상들 중에서 하나의 클락 위상을 선택하는 동기화 과정과, 상기 슬레이브 장치로부터 전송된 상기 데이터 프레임에 포함된 각 비트 값을 상기 동기화 과정에서 선택된 클락 위상과 동일한 위치에 존재하는 클락 위상을 이용하여 샘플링하는 샘플링 과정을 수행하는 처리 회로를 포함한다.According to an embodiment of the present invention, a master device capable of communicating with a slave device transmits a command frame including an address and a data frame including data through a single wire from one pad to and from the slave device, and a clock signal. A synchronization process of generating an oversampling clock signal and selecting one of the clock phases of the oversampling clock signal, and each bit value included in the data frame transmitted from the slave device are selected during the synchronization process. And a processing circuit that performs a sampling process of sampling by using a clock phase existing at the same position as the clock phase.
상기 명령 프레임과 상기 데이터 프레임 각각은 시작 비트 값과 정지 비트 값을 포함하고, 상기 처리 회로는 상기 시작 비트 값에 대해 상기 동기화 과정을 수행한다.Each of the command frame and the data frame includes a start bit value and a stop bit value, and the processing circuit performs the synchronization process on the start bit value.
상기 처리 회로는 적어도 두 개의 플립-플롭들을 포함하는 동기 검출 회로와, 데이터 처리 회로를 포함한다. 상기 동기 검출 회로는, 상기 적어도 두 개의 플립-플롭들을 이용하여, 상기 선택된 클락 위상과 관련된 클락 위상 선택 신호들을 상기 오버샘플링 클락 신호의 주기마다 생성하고, 상기 데이터 처리 회로는, 상기 오버샘플링 클락 신호의 주기마다, 상기 클락 위상 선택 신호들과 관련된 클락 위상을 이용하여 상기 데이터 프레임에 포함된 상기 각 비트 값을 샘플링한다.The processing circuit includes a synchronization detection circuit including at least two flip-flops, and a data processing circuit. The synchronization detection circuit generates clock phase selection signals related to the selected clock phase for each period of the oversampling clock signal using the at least two flip-flops, and the data processing circuit includes the oversampling clock signal Each of the bit values included in the data frame is sampled by using a clock phase associated with the clock phase selection signals at each period of.
실시 예에 따라, 상기 오버샘플링 클락 신호는 4x 오버샘플링 클락 신호일 수 있다. 실시 예에 따라, 상기 오버샘플링 클락 신호는 2x 오버샘플링 클락 신호일 수 있다.According to an embodiment, the oversampling clock signal may be a 4x oversampling clock signal. According to an embodiment, the oversampling clock signal may be a 2x oversampling clock signal.
상기 싱글 와이어는 상기 클락 신호를 상기 슬레이브 장치로 전송하는 클락 라인을 포함하지 않는다.The single wire does not include a clock line for transmitting the clock signal to the slave device.
상기 마스터 장치에서 사용되는 상기 클락 신호의 주파수는 상기 슬레이브 장치에서 사용되는 클락 신호의 주파수와 동일하다.The frequency of the clock signal used in the master device is the same as the frequency of the clock signal used in the slave device.
상기 마스터 장치는 풀-업 저항 제어 신호에 응답하여 전압 공급 라인과 상기 하나의 패드의 접속을 제어하는 풀-업 저항과, 상기 하나의 패드에 접속된 출력 드라이버를 더 포함한다.The master device further includes a pull-up resistor for controlling a connection between a voltage supply line and the one pad in response to a pull-up resistance control signal, and an output driver connected to the one pad.
상기 마스터 장치는 상기 명령 프레임에 포함된 정지 비트 값이 상기 출력 드라이버를 통해 상기 하나의 패드로 전송될 때, 상기 풀-업 저항 제어 신호를 활성화하는 제어 회로를 더 포함한다.The master device further includes a control circuit for activating the pull-up resistance control signal when a stop bit value included in the command frame is transmitted to the one pad through the output driver.
상기 마스터 장치는 패리티 비트를 포함하는 상기 명령 프레임을 생성하는 프레임 생성기를 더 포함한다.The master device further includes a frame generator for generating the command frame including a parity bit.
본 발명의 실시 예에 따른, 마스터 장치와 통신할 수 있는 슬레이브 장치는 싱글 와이어를 통해 어드레스를 포함하는 명령 프레임과 데이터를 포함하는 데이터 프레임을 상기 마스터 장치와 주고받는 하나의 패드와, 클락 신호로부터 오버샘플링 클락 신호를 생성하고, 상기 오버샘플링 클락 신호의 클락 위상들 중에서 하나의 클락 위상을 선택하고, 상기 마스터 장치로부터 전송된 상기 데이터 프레임에 포함된 각 비트 값을 선택된 클락 위상을 이용하여 샘플링하는 처리 회로를 포함한다. 상기 싱글 와이어는 상기 클락 신호를 전송하는 클락 라인을 포함하지 않는다.According to an embodiment of the present invention, a slave device capable of communicating with a master device transmits a command frame including an address and a data frame including data through a single wire from one pad to and from the master device and a clock signal. Generating an oversampling clock signal, selecting one of the clock phases of the oversampling clock signal, and sampling each bit value included in the data frame transmitted from the master device using the selected clock phase Includes a processing circuit. The single wire does not include a clock line for transmitting the clock signal.
상기 슬레이브 장치는 풀-업 저항 제어 신호에 응답하여 전압 공급 라인과 상기 하나의 패드의 접속을 제어하는 풀-업 저항과, 상기 하나의 패드에 접속된 출력 드라이버를 더 포함한다.The slave device further includes a pull-up resistor for controlling a connection between a voltage supply line and the one pad in response to a pull-up resistance control signal, and an output driver connected to the one pad.
본 발명의 실시 예에 따른, 데이터 처리 시스템은 하나의 제1패드를 포함하는 마스터 장치와, 하나의 제2패드와 상기 하나의 제2패드에 접속된 처리 회로를 포함하는 슬레이브 장치와, 상기 하나의 제1패드와 상기 하나의 제2패드 사이에 접속된 싱글 와이어를 포함하고, 상기 처리 회로는 클락 신호로부터 오버샘플링 클락 신호를 생성하고, 상기 오버샘플링 클락 신호의 클락 위상들 중에서 하나의 클락 위상을 선택하고, 상기 마스터 장치로부터 전송된 프레임에 포함된 각 비트 값을 선택된 클락 위상을 이용하여 샘플링한다.According to an embodiment of the present invention, a data processing system includes a master device including one first pad, a slave device including a second pad and a processing circuit connected to the one second pad, and the one A single wire connected between the first pad and the second pad of, and the processing circuit generates an oversampling clock signal from a clock signal, and one of the clock phases of the oversampling clock signal Then, each bit value included in the frame transmitted from the master device is sampled using the selected clock phase.
본 발명의 실시 예에 따른 마스터 장치 또는 슬레이브 장치는 싱글 와이어 인터페이스에 접속된 하나의 패드만을 포함하므로 패드의 개수가 하나로 감소하는 효과가 있다.Since the master device or the slave device according to an embodiment of the present invention includes only one pad connected to a single wire interface, the number of pads is reduced to one.
패드의 개수가 하나로 감소함에 따라, 상기 패드로 출력 데이터를 드라이빙하는 출력 드라이버의 개수와 상기 패드를 통해 입력된 입력 데이터를 처리하는 입력 버퍼의 개수도 줄일 수 있으므로, 전체적으로 다이 또는 칩의 사이즈가 감소하는 효과가 있다.As the number of pads decreases to one, the number of output drivers driving output data to the pads and the number of input buffers processing input data inputted through the pads can also be reduced, thus reducing the overall die or chip size. There is an effect.
패드의 개수가 하나로 감소함에 따라, 마스터 장치 또는 슬레이브 장치에서 소모되는 전력도 감소하는 효과가 있다.As the number of pads decreases to one, the power consumed by the master device or the slave device is also reduced.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 데이터 처리 시스템의 블록도이다.
도 2는 본 발명의 프로토콜에 따른 버스트 작동을 위한 명령 프레임 포맷의 실시 예이다.
도 3은 본 발명의 프로토콜에 따른 랜덤 작동을 위한 명령 프레임 포맷의 실시 예이다.
도 4는 본 발명의 프로토콜에 따른 데이터 프레임 포맷의 실시 예이다.
도 5는 도 2, 도 3, 또는 도 4에 도시된 프레임의 시작 필드(start field)와 이에 대한 설명이다.
도 6은 도 2, 도 3, 또는 도 4에 도시된 프레임의 정지 필드(stop field)와 이에 대한 설명이다.
도 7은 도 2, 도 3, 또는 도 4에 도시된 프레임의 모드 필드(mode field)와 이에 대한 설명이다.
도 8은 도 2 또는 도 3에 도시된 프레임의 방향 필드(direction field)와 이에 대한 설명이다.
도 9는 도 2 또는 도 3에 도시된 프레임의 랜덤 필드(random field)와 이에 대한 설명이다.
도 10은 도 2 또는 도 3에 도시된 프레임의 어드레스 필드(address field)와 이에 대한 설명이다.
도 11은 도 2에 도시된 프레임의 버스트 필드(burst field)와 이에 대한 설명이다.
도 12는 도 2에 도시된 프레임의 버스트 길이(burst length field)와 이에 대한 설명이다.
도 13은 본 발명의 실시 예에 따라 4x 오버샘플링 클락 신호를 이용하여 수행되는 동기화 과정(synchronization process)과 샘플링(sampling) 과정을 설명하기 위한 신호들의 타이밍 도이다.
도 14는 도 1에 도시된 슬레이브 장치에 포함된 제2처리 회로의 실시 예를 나타내는 블록도이다.
도 15는 도 14에 도시된 동기 검출 회로에 포함된 동기화 회로의 실시 예를 나타내는 블록도이다.
도 16은 도 14에 도시된 동기 검출 회로에 포함되고 4x 오버샘플링을 이용하여 동기화 과정을 수행하는 유한 상태 기계(finite-state machine(FSM))의 상태 도 (state diagram)이다.
도 17은 도 14에 도시된 동기 검출 회로에 포함되고 4x 오버샘플링을 이용하여 동기화 과정을 수행하는 FSM의 위상 카운트 작동을 설명하기 위한 상태 도이다.
도 18은 도 1에 도시된 슬레이브 장치에 포함된 제2처리 회로의 실시 예를 나타내는 블록도이다.
도 19는 도 18에 도시된 처리 회로에 포함된 2x 오버샘플링 클락 신호를 생성하는 클락 생성기의 실시 예를 나타낸다.
도 20은 도 18에 도시된 처리 회로에 포함된 2x 오버샘플링 클락 신호를 생성하는 클락 생성기의 실시 예를 나타낸다.
도 21은 도 18에 도시된 동기 검출 회로에 포함된 동기화 회로의 실시 예를 나타내는 블록도이다.
도 22는 본 발명의 실시 예에 따라 2x 오버샘플링 클락 신호를 이용하여 수행되는 동기화 과정과 샘플링 과정을 설명하기 위한 신호들의 타이밍 도이다.
도 23은 도 18에 도시된 동기 검출 회로에 포함되고 2x 오버샘플링을 이용하여 동기화 과정을 수행하는 FSM의 상태 도이다.
도 24는 도 18에 도시된 동기 검출 회로에 포함되고 2x 오버샘플링을 이용하여 동기화 과정을 수행하는 FSM의 위상 카운트 작동을 설명하기 위한 상태 도이다.
도 25는 4x 오버샘플링을 수행하는 장치에 포함된 동적 풀-업(dynamic pull-up) 저항을 제어하는 과정을 설명하기 위한 신호들의 타이밍 도이다.
도 26은 2x 오버샘플링을 수행하는 장치에 포함된 동적 풀-업 저항을 제어하는 과정을 설명하기 위한 신호들의 타이밍 도이다.
도 27은 패리티 비트를 포함하는 본 발명의 프로토콜에 따른 명령 프레임 포맷과 데이터 프레임 포맷을 나타낸다.
도 28은 패리티 인에이블 레지스터와 패리티 상태 레지스터를 포함하는 슬레이브 장치를 포함하는 데이터 처리 시스템의 블록도이다.
도 29는 패리티 인에이블 과정을 설명하기 위한 본 발명의 프로토콜에 따른 프레임 포맷의 실시 예이다.
도 30은 패리티 디스에이블 과정을 설명하기 위한 본 발명의 프로토콜에 따른 프레임 포맷의 실시 예이다.
도 31은 도 1에 도시된 마스터 장치가 도 1에 도시된 슬레이블 장치의 파워 모드를 제어하는 과정을 설명하는 타이밍 도이다.
도 32는 본 발명의 실시 예에 따른 클락 게이팅 회로를 나타낸다.
도 33은 도 32에 도시된 클락 게이팅 회로의 타이밍 도를 나타낸다.
도 34는 본 발명의 실시 예에 따른 데이터 처리 시스템의 블록도이다.
도 35는 본 발명의 실시 예에 따른 데이터 처리 시스템의 블록도이다. In order to more fully understand the drawings cited in the detailed description of the present invention, a detailed description of each drawing is provided.
1 is a block diagram of a data processing system according to an embodiment of the present invention.
2 is an embodiment of a command frame format for burst operation according to the protocol of the present invention.
3 is an embodiment of a command frame format for random operation according to the protocol of the present invention.
4 is an embodiment of a data frame format according to the protocol of the present invention.
5 is a start field of the frame shown in FIG. 2, 3, or 4 and a description thereof.
6 is a stop field of the frame shown in FIG. 2, 3, or 4 and a description thereof.
7 is a mode field of the frame shown in FIG. 2, 3, or 4 and a description thereof.
8 is a direction field of the frame shown in FIG. 2 or 3 and a description thereof.
9 is a random field of the frame shown in FIG. 2 or 3 and a description thereof.
10 is an address field of the frame shown in FIG. 2 or 3 and a description thereof.
11 is a burst field of the frame shown in FIG. 2 and a description thereof.
12 is a burst length field of the frame shown in FIG. 2 and a description thereof.
13 is a timing diagram of signals for explaining a synchronization process and a sampling process performed using a 4x oversampling clock signal according to an embodiment of the present invention.
14 is a block diagram illustrating an embodiment of a second processing circuit included in the slave device illustrated in FIG. 1.
15 is a block diagram illustrating an embodiment of a synchronization circuit included in the synchronization detection circuit shown in FIG. 14.
FIG. 16 is a state diagram of a finite-state machine (FSM) included in the synchronization detection circuit shown in FIG. 14 and performing a synchronization process using 4x oversampling.
FIG. 17 is a state diagram illustrating a phase count operation of an FSM included in the synchronization detection circuit shown in FIG. 14 and performing a synchronization process using 4x oversampling.
18 is a block diagram illustrating an embodiment of a second processing circuit included in the slave device illustrated in FIG. 1.
FIG. 19 shows an embodiment of a clock generator that generates a 2x oversampling clock signal included in the processing circuit shown in FIG. 18.
FIG. 20 shows an embodiment of a clock generator that generates a 2x oversampling clock signal included in the processing circuit shown in FIG. 18.
21 is a block diagram illustrating an embodiment of a synchronization circuit included in the synchronization detection circuit shown in FIG. 18.
22 is a timing diagram of signals for explaining a synchronization process and a sampling process performed using a 2x oversampling clock signal according to an embodiment of the present invention.
FIG. 23 is a state diagram of an FSM included in the synchronization detection circuit shown in FIG. 18 and performing a synchronization process using 2x oversampling.
FIG. 24 is a diagram illustrating a phase count operation of an FSM included in the synchronization detection circuit shown in FIG. 18 and performing a synchronization process using 2x oversampling.
25 is a timing diagram of signals for explaining a process of controlling a dynamic pull-up resistance included in an apparatus for performing 4x oversampling.
26 is a timing diagram of signals for explaining a process of controlling a dynamic pull-up resistance included in an apparatus for performing 2x oversampling.
27 shows a command frame format and a data frame format according to the protocol of the present invention including a parity bit.
28 is a block diagram of a data processing system including a slave device including a parity enable register and a parity status register.
29 is an embodiment of a frame format according to the protocol of the present invention for explaining a parity enable process.
30 is an embodiment of a frame format according to the protocol of the present invention for explaining a parity disable process.
FIG. 31 is a timing diagram illustrating a process in which the master device shown in FIG. 1 controls the power mode of the slave device shown in FIG. 1.
32 shows a clock gating circuit according to an embodiment of the present invention.
33 shows a timing diagram of the clock gating circuit shown in FIG. 32;
34 is a block diagram of a data processing system according to an embodiment of the present invention.
35 is a block diagram of a data processing system according to an embodiment of the present invention.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present invention disclosed in the present specification are exemplified only for the purpose of describing the embodiments according to the concept of the present invention, and the embodiments according to the concept of the present invention are It may be implemented in various forms and is not limited to the embodiments described herein.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Since the embodiments according to the concept of the present invention can apply various changes and have various forms, the embodiments will be illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosed forms, and includes all changes, equivalents, or substitutes included in the spirit and scope of the present invention.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1구성 요소는 제2구성 요소로 명명될 수 있고 유사하게 제2구성 요소는 제1구성 요소로도 명명될 수 있다.Terms such as first or second may be used to describe various constituent elements, but the constituent elements should not be limited by the terms. The terms are only for the purpose of distinguishing one component from other components, for example, without departing from the scope of the rights according to the concept of the present invention, the first component may be named as the second component and similarly the second component. The constituent element may also be referred to as a first constituent element.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" or "connected" to another component, it is understood that it is directly connected to or may be connected to the other component, but other components may exist in the middle. It should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle. Other expressions describing the relationship between components, such as "between" and "directly between" or "adjacent to" and "directly adjacent to" should be interpreted as well.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present specification are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described herein, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof, does not preclude in advance the possibility of the presence or addition.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms as defined in a commonly used dictionary should be construed as having a meaning consistent with the meaning of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in the present specification. Does not.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 실시 예에 따른 데이터 처리 시스템의 블록도이다. 도 1을 참조하면, 데이터 처리 시스템(100)은 싱글 와이어(single wire; 110)를 통해 본 발명의 실시 예에서 정의된 전송 프레임(SPEEDY)을 주고받을 수 있는 마스터 장치 (200)와 슬레이브 장치(300)를 포함할 수 있다.1 is a block diagram of a data processing system according to an embodiment of the present invention. Referring to FIG. 1, the
데이터 처리 시스템(100)은 마스터 장치(200)와 슬레이브 장치(300)로 클락 신호(TCLK)를 공급하는 클락 소스(130)를 더 포함할 수 있다. 싱글 와이어(110)는 클락 신호(TCLK)를 전송하는 클락 라인을 포함하지 않는다. 즉, 클락 소스(130)로부터 출력된 클락 신호(TCLK)는 싱글 와이어(110)와 독립적인 클락 라인(111)을 통해 슬레이브 장치(300)로 전송될 수 있다. 클락 소스(130)는 TCXO(temperature compensated crystal oscillator) 또는 크리스탈 오실레이터로 구현될 수 있으나 이에 한정되는 것은 아니다.The
마스터 장치(200)로 공급되는 클락 신호(TCLK)는 "마스터 클락 신호"라 하고, 슬레이브 장치(300)로 공급되는 클락 신호(TCLK)는 "슬레이브 클락 신호"라 한다. 즉, 마스터 클락 신호의 클락 소스(130)와 슬레이브 클락 신호의 클락 소스 (130)는 동일할 수 있다. 그러나 도 35에 도시된 바와 같이, 마스터 클락 신호 (MCLK)의 클락 소스(370)와 슬레이브 클락 신호(TCLK)의 클락 소스(370-1)는 서로 다를 수 있으나, 각 처리 회로(220과 320)로 공급되는 클락 신호(TCLK)의 주파수는 동일해야 한다.The clock signal TCLK supplied to the
예컨대, 데이터 처리 시스템(100)은 PC(personal computer) 또는 모바일 컴퓨팅 장치일 수 있다. 상기 모바일 컴퓨팅 장치는 랩탑 컴퓨터, 이동 전화기, 스마트폰, 태블릿(tablet) PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 모바일 인터넷 장치(mobile internet device(MID)), 웨어러블 (wearable) 컴퓨터, 사물 인터넷(internet of things(IoT)) 장치, 만물 인터넷 (internet of everything(IoE)) 장치, 드론(drone), 또는 e-북(e-book)으로 구현될 수 있다.For example, the
싱글 와이어(110)는 디지털 비트스트림(bitstream), 즉 비트들의 시퀀스 (sequence)를 전송할 수 있는 양방향(bidirectional) 직렬 버스를 의미할 수 있다.The
본 발명의 실시 예에 따라 정의된 프로토콜, 즉 어드레스를 전송하기 위한 명령 프레임(command frame)과 데이터를 전송하기 위한 데이터 프레임을 주고받을 수 있는 싱글 와이어(110)는 마스터 장치(200)의 하나의 제1패드(214)와 슬레이브 장치(300)의 하나의 제2패드(314) 사이에 접속될 수 있다. 여기서, 프레임은 디지털 데이터 전송 단위(digital data transmission unit)로서 비트들의 시퀀스 또는 심벌들을 포함할 수 있다. 예컨대, 싱글 와이어(110)는 전기적 전송 라인, 예컨대 PCB(printed circuit board) 기술을 이용하여 제조될 수 있는 마이크로스트립 (microstrip)으로 구현될 수 있으나 이에 한정되는 것은 아니다.A protocol defined according to an embodiment of the present invention, that is, a
본 발명의 실시 예에 따른 마스터 장치(200)는 I2C(inter-integrated circuit) 버스 인터페이싱 방법 또는 SPI(serial peripheral interface) 버스 인터페이싱 방법을 사용하는 종래의 마스터 장치에 비해 패드(pad)의 개수를 줄일 수 있다. 또한, 본 발명의 실시 예에 따른 슬레이브 장치(300)는 I2C 버스 인터페이싱 방법 또는 SPI 버스 인터페이싱 방법을 사용하는 종래의 슬레이브 장치에 비해 패드의 개수를 줄일 수 있다. 여기서, 패드는 접촉 패드(contact pad) 또는 핀(pin)을 의미할 수 있으나 이에 한정되는 것은 아니다.The
본 발명의 실시 예에 따른 싱글 와이어(110)는 I2C 버스 인터페이싱 방법과 SPI 버스 인터페이싱 방법과 달리 클락 신호(TCLK)를 전송하는 클락 라인을 포함하지 않는다.Unlike the I2C bus interfacing method and the SPI bus interfacing method, the
본 발명의 실시 예에 따른 장치(200 또는 300)가 다이(die)일 때, 다이(200 또는 300)에 구현되는 패드의 개수가 감소함에 따라, 다이(200 또는 300)의 크기는 감소하고, 다이(200 또는 300)에서 소모되는 전력도 감소하고, 다이(200 또는 300)를 제조하는 코스트(cost)도 감소하는 효과가 있다.When the
즉, 다이(200 또는 300)가 더 적은 실리콘(silicon) 면적에 구현될 수 있으므로, 다이(200 또는 300)의 가격 경쟁력이 증가하는 효과가 있다. 예컨대, 장치 (200 또는 300)는 집적 회로(IC), 시스템 온 칩(system on chip(SoC)) 또는 패키지 (package)로 구현될 수 있다.That is, since the
마스터 장치(200)는 슬레이브 장치(300)를 제어할 수 있는 컨트롤러 회로 또는 프로세서를 의미할 수 있다. 예컨대, 마스터 장치(200)는 베이스밴드 모뎀 프로세서 칩(baseband modem processor chip), 모뎀의 기능과 애플리케이션 프로세서(application processor(AP))의 기능을 함께 수행할 수 있는 칩, AP, 또는 모바일 AP로 구현될 수 있으나 이에 한정되는 것은 아니다.The
슬레이브 장치(300)는 무선 IC(radio frequency integrated circuit(RFIC)), 연결 칩(connectivity chip), 센서, 지문 인식(fingerprint recognition) 칩, 전력 관리 IC(power management IC), 전력 공급 모듈(power supply module), 디지털 디스플레이 인터페이스(digital display interface) 칩, 디스플레이 드라이버 (display driver) IC, 또는 터치 스크린 컨트롤러(touch screen controller)로 구현될 수 있으나 이에 한정되는 것은 아니다.The
예컨대, RFIC는 적어도 하나의 연결 칩을 포함할 수 있다. 예컨대, 연결 칩은 이동 통신을 위한 칩, WLAN(wireless local area network) 통신을 위한 칩, 블루투스 통신을 위한 칩, GNSS(global navigation satellite system) 통신을 위한 칩, FM(frequency modulation) 오디오 신호/비디오 신호를 처리하기 위한 칩, NFC (near field communication)을 위한 칩, 및/또는 Wi-Fi 통신을 위한 칩을 포함할 수 있으나 이에 한정되는 것을 아니다.For example, the RFIC may include at least one connection chip. For example, the connection chip is a chip for mobile communication, a chip for wireless local area network (WLAN) communication, a chip for Bluetooth communication, a chip for global navigation satellite system (GNSS) communication, and a frequency modulation (FM) audio signal/video. A chip for processing a signal, a chip for near field communication (NFC), and/or a chip for Wi-Fi communication may be included, but the present invention is not limited thereto.
마스터 장치(200)는 제1프레임 생성기(210), 제1출력 드라이버(212), 제1패드(214), 제1입력 버퍼(216), 제1처리 회로(220), 제1제어 회로(270), 및 제1풀-업 저항(271)을 포함할 수 있다.The
제1프레임 생성기(210)는, 제1제어 회로(270)의 제어에 따라, 어드레스를 전송하기 위한 명령 프레임을 생성할 수 있다. 본 발명의 실시 예에 따른 명령 프레임은 버스트(burst) 명령 프레임과 랜덤(random) 명령 프레임으로 분류될 수 있다.The
도 2는 본 발명의 프로토콜에 따른 버스트 작동을 위한 명령 프레임 포맷의 실시 예이다. 도 2를 참조하면, 버스트 작동(burst operation)을 위한 명령 프레임 포맷(CFFB)은 복수의 필드들(START, MODE, DIR(R/W), RANDOM, ADDRESS, BURST, BURST LENGTH, 및 STOP)을 포함할 수 있다. 각 필드(START, MODE, DIR(R/W), RANDOM, ADDRESS, BURST, BURST LENGTH, 및 STOP)의 기능과 설명은 도 5부터 도 12를 참조하여 상세히 설명될 것이다. 각 필드(START, MODE, DIR(R/W), RANDOM, ADDRESS, BURST, BURST LENGTH, 및 STOP)에 포함된 비트의 개수는 예시적인 것으로서, 본 발명의 기술적 사상이 각 필드(START, MODE, DIR(R/W), RANDOM, ADDRESS, BURST, BURST LENGTH, 및 STOP)에 포함된 비트의 개수에 한정되는 것은 아니다. 여기서, 비트(bit)는 2개의 값들(예컨대, 1(또는 로직 1) 또는 0(또는 로직 0)) 중에서 어느 하나의 값을 가질 수 있다. 이하, 비트의 값은 비트 값(bit value)이라 한다.2 is an embodiment of a command frame format for burst operation according to the protocol of the present invention. 2, a command frame format (CFFB) for a burst operation includes a plurality of fields (START, MODE, DIR(R/W), RANDOM, ADDRESS, BURST, BURST LENGTH, and STOP). Can include. Functions and descriptions of each field (START, MODE, DIR(R/W), RANDOM, ADDRESS, BURST, BURST LENGTH, and STOP) will be described in detail with reference to FIGS. 5 to 12. The number of bits included in each field (START, MODE, DIR(R/W), RANDOM, ADDRESS, BURST, BURST LENGTH, and STOP) is exemplary, and the technical idea of the present invention is based on each field (START, MODE, It is not limited to the number of bits included in DIR (R/W), RANDOM, ADDRESS, BURST, BURST LENGTH, and STOP). Here, a bit may have any one of two values (eg, 1 (or logic 1) or 0 (or logic 0)). Hereinafter, the value of a bit is referred to as a bit value.
도 3은 본 발명의 프로토콜에 따른 랜덤 작동을 위한 명령 프레임 포맷의 실시 예이다. 도 3을 참조하면, 랜덤 작동을 위한 명령 프레임 포맷(CFFR)은 복수의 필드들(START, MODE, DIR(R/W), RANDOM, ADDRESS, 및 STOP)을 포함할 수 있다. 각 필드(START, MODE, DIR(R/W), RANDOM, ADDRESS, 및 STOP)의 기능과 설명은 도 5부터 도 12를 참조하여 상세히 설명될 것이다. 각 필드(START, MODE, DIR(R/W), RANDOM, ADDRESS, 및 STOP)에 포함된 비트의 개수는 예시적인 것으로서, 본 발명의 기술적 사상이 각 필드(START, MODE, DIR(R/W), RANDOM, ADDRESS, 및 STOP)에 포함된 비트의 개수에 한정되는 것은 아니다.3 is an embodiment of a command frame format for random operation according to the protocol of the present invention. Referring to FIG. 3, a command frame format (CFFR) for random operation may include a plurality of fields (START, MODE, DIR (R/W), RANDOM, ADDRESS, and STOP). Functions and descriptions of each field (START, MODE, DIR(R/W), RANDOM, ADDRESS, and STOP) will be described in detail with reference to FIGS. 5 to 12. The number of bits included in each field (START, MODE, DIR (R/W), RANDOM, ADDRESS, and STOP) is exemplary, and the technical idea of the present invention is based on each field (START, MODE, DIR (R/W) ), RANDOM, ADDRESS, and STOP).
슬레이브 장치(300)에 제1데이터(DATA1)를 라이트하기 위해, 제1프레임 생성기(210)는 제1데이터(DATA1)를 포함하는 제1출력 프레임(ODATA1)을 생성할 수 있다.In order to write the first data DATA1 to the
도 4는 본 발명의 프로토콜에 따른 데이터 프레임 포맷의 실시 예이다. 도 4를 참조하면, 데이터 프레임 포맷(DFF)은 복수의 필드들(START, MODE, DATA 및 STOP)을 포함할 수 있다. 각 필드(START, MODE, DATA 및 STOP)의 기능과 설명은 도 5부터 도 12를 참조하여 상세히 설명될 것이다. 각 필드(START, MODE, DATA 및 STOP)에 포함된 비트의 개수는 예시적인 것으로서, 본 발명의 기술적 사상이 각 필드(START, MODE, DATA 및 STOP)에 포함된 비트의 개수에 한정되는 것은 아니다.4 is an embodiment of a data frame format according to the protocol of the present invention. Referring to FIG. 4, the data frame format DFF may include a plurality of fields (START, MODE, DATA, and STOP). The function and description of each field (START, MODE, DATA, and STOP) will be described in detail with reference to FIGS. 5 to 12. The number of bits included in each field (START, MODE, DATA, and STOP) is exemplary, and the technical idea of the present invention is not limited to the number of bits included in each field (START, MODE, DATA, and STOP). .
예컨대, 데이터 필드(DATA)는 8-비트, 16-비트, 22-비트, 또는 32-비트로 구현될 수 있으나, 데이터 필드(DATA)에 포함되는 비트의 개수는 구현 예들에 따라 다양하게 변경될 수 있다.For example, the data field DATA may be implemented as 8-bit, 16-bit, 22-bit, or 32-bit, but the number of bits included in the data field DATA may be variously changed according to implementation examples. have.
제1출력 드라이버(212)는, 제1출력 인에이블 신호(OEN1)에 응답하여, 제1출력 프레임(ODATA1, 예컨대 명령 프레임 또는 데이터 프레임)에 포함된 각 비트(또는 각 비트 값)를 제1패드(214)로 드라이빙할 수 있다. 제1패드(214)는 제1출력 프레임(ODATA1)을 전송 프레임(SPEEDY)으로서 싱글 와이어(110)로 출력할 수 있다.In response to the first output enable signal OEN1, the
제1입력 버퍼(216)는 슬레이브 장치(300)로부터 출력되고 제1패드(214)를 통해 입력된 전송 프레임(SPEEDY)을 버퍼링하고, 버퍼된 제1프레임(IDATA1)에 포함된 각 비트를 제1처리 회로(220)로 전송할 수 있다. 예컨대, 버퍼된 제1프레임 (IDATA1)은 슬레이브 장치(300)로부터 리드된 리드 데이터일 수 있다.The
버퍼된 제1프레임(IDATA1)을 처리할 때, 제1처리 회로(220)는 클락 신호 (TCLK)로부터 오버샘플링 클락 신호를 생성하고, 생성된 오버샘플링 클락 신호의 클락 위상들 중에서 하나의 클락 위상을 선택하고(예컨대, 동기화 과정에서), 상기 오버샘플링 클락 신호의 주기마다, 선택된 클락 위상과 동일한 위치에 존재하는 클락 위상을 이용하여, 버퍼된 제1프레임(IDATA1)에 포함된 각 비트 값을 샘플링할 수 있다.When processing the buffered first frame IDATA1, the
예컨대, 샘플링된 각 비트 값은 마스터 장치(200)에 의해 액세스될 수 있는 메모리 장치(미도시)에 저장될 수 있으나 이에 한정되는 것은 아니다. 상기 메모리 장치는 마스터 장치(200)의 내부 또는 외부에 구현될 수 있고, 상기 메모리 장치는 DRAM과 같은 휘발성 메모리 장치 또는 플래시-기반 메모리 장치와 같은 불휘발성 메모리 장치로 구현될 수 있다.For example, each sampled bit value may be stored in a memory device (not shown) that can be accessed by the
제1제어 회로(270)는 제1출력 드라이버(212)의 인에이블을 제어하는 제1출력 인에이블 신호(OEN1)와, 제1풀-업 저항(271)을 제어하는 제1풀-업 저항 인에이블 신호(PEN1)를 생성할 수 있다. 제1출력 인에이블 신호(OEN1)와 제1풀-업 저항 인에이블 신호(PEN1)의 인에이블/디스에이블 타이밍은 도 25 및/또는 도 26에 예시적으로 도시된 타이밍 도를 참조하여 상세히 설명될 것이다.The
제1제어 회로(270)는 제1풀-업 저항 인에이블 신호(PEN1)의 활성화 구간을 제어할 수 있는 제어 값들을 저장하는 레지스터(272)를 포함할 수 있다. 비록, 도 1에서는 레지스터(272)가 제1제어 회로(270) 내부에 도시되어 있으나, 레지스터 (272)는 제1제어 회로(270) 외부에 구현될 수 있다. 제1제어 회로(270)는 레지스터 (272)에 저장된 제어 값들을 이용하여 제1풀-업 저항 인에이블 신호(PEN1)의 활성화 구간을 제어할 수 있다.The
제1풀-업 저항(271)은, 제1풀-업 저항 인에이블 신호(PEN1)에 응답하여, 제1작동 전압(VDD1)을 공급하는 제1전압 라인(또는 제1전압 노드)과 제1패드(214) 사이에서 접속(connect) 또는 분리(disconnect)될 수 있다. 예컨대, 제1풀-업 저항 인에이블 신호(PEN1)가 활성화되면, 제1풀-업 저항(271)은 제1전압 라인과 제1패드 (214) 사이에 접속될 수 있다. 그러나, 제1풀-업 저항 인에이블 신호(PEN1)가 비활성화되면, 제1풀-업 저항(271)은 제1전압 라인과 제1패드(214)를 분리할 수 있다. 본 명세서에서 활성화(activation)는 로우 레벨(또는 로직 0)로부터 하이 레벨(또는 로직 1)로 천이하고 비활성화는 상기 하이 레벨로부터 상기 로우 레벨로 천이하는 것으로 정의될 수 있으나 실시 예에 따라 그 반대일 수도 있다.The first pull-up
슬레이브 장치(300)는 제2프레임 생성기(310), 제2출력 드라이버(312), 제2패드(314), 제2입력 버퍼(316), 제2처리 회로(320), 제2제어 회로(370), 및 제2풀-업 저항(371)을 포함할 수 있다.The
제2프레임 생성기(310)는, 제2제어 회로(370)의 제어에 따라, 에러 비트, 상태 비트, 또는 데이터를 전송하기 위한 데이터 프레임을 생성할 수 있다.The
슬레이브 장치(300)가 제2데이터(DATA2)를 마스터 장치(200)로 전송하기 위해, 제2프레임 생성기(310)는 제2데이터(DATA2)를 포함하는 제2출력 프레임 (ODATA2)을 생성할 수 있다. 예컨대, 제2데이터(DATA2)는 마스터 장치(200)의 관점에서 리드 데이터일 수 있으나 이에 한정되는 것은 아니다.In order for the
예컨대, 제2데이터(DATA2)는 마스터 장치(200)로부터 출력된 명령 프레임에 따라 슬레이브 장치(300)의 메모리 장치(미도시)로부터 리드된 데이터일 수 있다. 상기 메모리 장치는 휘발성 메모리 또는 불휘발성 메모리일 수 있고, 상기 메모리 장치는 슬레이브 장치(300)의 내부 또는 외부에 구현될 수 있고, 상기 메모리 장치는 슬레이브 장치(300)에 고정(fixed)될 수 있고 슬레이브 장치(300)로부터 떼어낼 수 있다(removable).For example, the second data DATA2 may be data read from a memory device (not shown) of the
제2출력 프레임(ODATA2)의 포맷은 도 4에 도시된 데이터 프레임 포맷(DFF)과 동일 또는 유사할 수 있다.The format of the second output frame ODATA2 may be the same as or similar to the data frame format DFF illustrated in FIG. 4.
제2출력 드라이버(312)는, 제2출력 인에이블 신호(OEN2)에 응답하여, 제2출력 프레임(ODATA2)에 포함된 각 비트(또는 각 비트 값)를 제2패드(314)로 드라이빙할 수 있다. 제2패드(314)는 제2출력 프레임(ODATA2)을 전송 프레임(SPEEDY)으로서 싱글 와이어(110)로 출력할 수 있다.The
제2입력 버퍼(316)는 마스터 장치(200)로부터 출력되고 제2패드(314)를 통해 입력된 전송 프레임(SPEEDY)을 버퍼링하고, 버퍼된 제2프레임(IDATA2)에 포함된 각 비트를 제2처리 회로(320)로 전송할 수 있다.The
제2처리 회로(320)는 슬레이브 클락 신호(TCLK)로부터 오버샘플링 클락 신호를 생성하고, 생성된 오버샘플링 클락 신호의 클락 위상들 중에서 하나의 클락 위상을 선택하고, 상기 오버샘플링 클락 신호의 주기마다, 선택된 클락 위상과 동일한 위치에 존재하는 클락 위상을 이용하여, 버퍼된 제2프레임(IDATA2)에 포함된 각 비트 값을 샘플링할 수 있다.The
제2처리 회로(320)에 의해 샘플된 데이터가 명령 프레임에 포함된 데이터(예컨대, 라이트 명령 또는 리드 명령)일 때, 제2처리 회로(320)는 상기 라이트 명령과 관련된 라이트 작동을 위한 라이트 제어 신호들 또는 상기 리드 명령과 관련된 리드 작동을 위한 리드 제어 신호들을 생성할 수 있다.When the data sampled by the
제2제어 회로(370)는 제2출력 드라이버(312)의 인에이블을 제어하는 제2출력 인에이블 신호(OEN2)와 제2풀-업 저항(371)을 제어하는 제2풀-업 저항 인에이블 신호(PEN2)를 생성할 수 있다. 제2출력 인에이블 신호(OEN2)와 제2풀-업 저항 인에이블 신호(PEN2)의 인에이블/디스에이블 타이밍을 도 25 및/또는 도 26을 참조하여 상세히 설명될 것이다.The
제2제어 회로(370)는 제2풀-업 저항 인에이블 신호(PEN2)의 활성화 구간을 제어할 수 있는 제어 값들을 저장하는 레지스터(372)를 포함할 수 있다. 비록, 도 1에서는 레지스터(372)가 제2제어 회로(370) 내부에 도시되어 있으나, 레지스터 (372)는 제2제어 회로(370) 외부에 구현될 수 있다. 제2제어 회로(370)는 레지스터 (372)에 저장된 제어 값들을 이용하여 제2풀-업 저항 인에이블 신호(PEN2)의 활성화 구간을 제어할 수 있다.The
제2풀-업 저항(371)은, 제2풀-업 저항 인에이블 신호(PEN2)에 응답하여, 제2작동 전압(VDD2)을 공급하는 제2전압 라인과 제2패드(314) 사이에서 접속 또는 분리될 수 있다. 예컨대, 제2풀-업 저항 인에이블 신호(PEN2)가 활성화되면, 제2풀-업 저항(371)은 제2전압 라인과 제2패드(314) 사이에 접속될 수 있다. 그러나, 제2풀-업 저항 인에이블 신호(PEN2)가 비활성화되면, 제2풀-업 저항(371)은 제2전압 라인과 제2패드(314)을 분리할 수 있다. 예컨대, 제1작동 전압(VDD1)의 레벨과 제2작동 전압(VDD2)의 레벨은 동일하거나 서로 다를 수 있다.The second pull-up
클락 소스(130)는 마스터 장치(200)와 슬레이브 장치(300)로 클락 신호 (TCLK)를 공급할 수 있다. 예컨대, 제1처리 회로(220)와 제2처리 회로(320) 각각은 동일한 주파수를 갖는 클락 신호(TCLK)를 이용하여 오버샘플링 클락 신호를 생성할 수 있다. 즉, 제1처리 회로(220)와 제2처리 회로(320) 각각이 동일한 주파수를 갖는 클락 신호(TCLK)를 소스 클락 신호로서 이용하므로, 제1처리 회로(220)와 제2처리 회로(320) 사이의 주파수 오프셋(frequency offset)은 제거될 수 있다.The
도 5는 도 2, 도 3, 또는 도 4에 도시된 프레임의 시작 필드(start field)와 이에 대한 설명이다. 도 5를 참조하면, 시작 필드(STRAT)의 시작 비트는 1-비트이고, 전송 프레임(SPEEDY)의 시작 필드(START)의 시작 비트 값이 "1"로부터 "0"으로 천이할 때, 데이터, 예컨대 전송 프레임(SPEEDY)의 전송이 시작됨을 지시한다. 여기서 "1"은 하이 레벨 또는 로직 "1"을 의미하고, "0"은 로우 레벨 또는 로직 "0"을 의미한다.5 is a start field of the frame shown in FIG. 2, 3, or 4 and a description thereof. Referring to FIG. 5, the start bit of the start field STRAT is 1-bit, and when the start bit value of the start field START of the transmission frame SPEEDY transitions from "1" to "0", data, For example, it indicates that transmission of a transmission frame (SPEEDY) is started. Here, “1” means a high level or logic “1”, and “0” means a low level or logic “0”.
도 6은 도 2, 도 3, 또는 도 4에 도시된 프레임의 정지 필드(stop field)와 이에 대한 설명이다. 도 6을 참조하면, 정지 필드(STOP)의 정지 비트는 1-비트이고, 전송 프레임(SPEEDY)의 정지 필드(STOP)의 정지 비트 값이 1일 때, 데이터, 예컨대 전송 프레임(SPEEDY)의 전송이 정지됨을 지시한다. 또한, 전송 프레임 (SPEEDY)의 정지 필드(STOP)의 정지 비트 값이 "1"을 유지할 때, 데이터, 예컨대 전송 프레임(SPEEDY)의 전송이 정지됨을 지시한다. 예컨대, 정지 필드(STOP)의 정지 비트의 바로 앞의 비트의 비트 값은 "0" 또는 "1"일 수 있다.6 is a stop field of the frame shown in FIG. 2, 3, or 4 and a description thereof. 6, when the stop bit of the stop field (STOP) is 1-bit and the stop bit value of the stop field (STOP) of a transmission frame (SPEEDY) is 1, data, for example, transmission of a transmission frame (SPEEDY) Indicates that this is to be stopped. Further, when the stop bit value of the stop field STOP of the transmission frame SPEEDY maintains "1", it indicates that transmission of data, for example, the transmission frame SPEEDY is stopped. For example, the bit value of the bit immediately preceding the stop bit of the stop field STOP may be "0" or "1".
비록, 도 5와 도 6에서 오버샘플링 클락 신호가 4xCLK일 경우가 도시되어 있으나 이는 예시적인 것에 불과하다.Although, the case where the oversampling clock signal is 4xCLK is illustrated in FIGS. 5 and 6, this is only exemplary.
도 7은 도 2, 도 3, 또는 도 4에 도시된 프레임의 모드 필드(mode field)와 이에 대한 설명이다. 도 7을 참조하면, 모드 필드(MODE)의 모드 비트는 1-비트이고, 상기 모드 비트는 전송 프레임(SPEEDY)이 명령 페이즈(command phase)를 위한 명령 프레임인지 데이터 페이즈를 위한 데이터 프레임인지를 지시할 수 있다. 예컨대, 도 2 또는 도 3에 도시된 명령 프레임 포맷(CFFB 또는 CFFR)의 모드 필드 (MODE)의 모드 비트 값은 "0"으로 설정될 수 있고, 도 5에 도시된 데이터 프레임 포맷(DFF)의 모드 필드(MODE)의 모드 비트 값은 "1"로 설정될 수 있다.7 is a mode field of the frame shown in FIG. 2, 3, or 4 and a description thereof. Referring to FIG. 7, the mode bit of the mode field (MODE) is 1-bit, and the mode bit indicates whether the transmission frame SPEEDY is a command frame for a command phase or a data frame for a data phase. can do. For example, the mode bit value of the mode field (MODE) of the command frame format (CFFB or CFFR) shown in FIG. 2 or 3 may be set to “0”, and the data frame format (DFF) shown in FIG. The mode bit value of the mode field MODE may be set to "1".
도 8은 도 2 또는 도 3에 도시된 프레임의 방향 필드(direction field)와 이에 대한 설명이다. 도 8을 참조하면, 방향 필드(DIR(R/W))의 지시 비트는 1-비트이다. 예컨대, 리드 작동(READ)을 위해 방향 필드(DIR(R/W))의 지시 비트 값은 "0"으로 설정될 수 있고, 라이트 작동(WRITE)을 위해 방향 필드(DIR(R/W))의 지시 비트 값은 "1"로 설정될 수 있다.8 is a direction field of the frame shown in FIG. 2 or 3 and a description thereof. Referring to FIG. 8, the indication bit of the direction field DIR(R/W) is 1-bit. For example, the value of the indication bit of the direction field (DIR(R/W)) for read operation (READ) may be set to “0”, and the direction field (DIR(R/W)) for write operation (WRITE) The indication bit value of may be set to "1".
예컨대, 마스터 장치(200)에 의해 생성된 프레임이 명령 프레임이고 방향 필드(DIR(R/W))의 지시 비트 값이 "0"으로 설정되면, 슬레이브 장치(300)는 상기 프레임에 기초하여 방향 전환을 수행할 수 있다. 여기서, "방향 전환"은 리드 데이터를 포함하는 데이터 프레임을 마스터 장치(200)로 전송하기 위해 슬레이브 장치(300)에서 수행되는 작동 전환을 의미할 수 있다. 즉, 슬레이브 장치(300)는 명령 프레임을 수신하는 수신 모드로부터 데이터 프레임을 전송하는 전송 모드로 변경될 수 있다. 도 25와 도 26에 도시된 바와 같이, 방향 전환은 각 출력 인에이블 신호(OEN1과 OEN2)의 레벨에 따라 결정될 수 있다.For example, if the frame generated by the
그러나, 마스터 장치(200)에 의해 생성된 프레임이 명령 프레임이고 방향 필드(DIR(R/W))의 지시 비트 값이 "1"로 설정되면, 슬레이브 장치(300)는 상기 프레임에 기초하여 방향 전환을 수행하지 않는다. 즉, 슬레이브 장치(300)는 데이터 프레임을 수신하기 위해 수신 모드를 그대로 유지할 수 있다.However, if the frame generated by the
도 9는 도 2 또는 도 3에 도시된 프레임의 랜덤 필드(random field)와 이에 대한 설명이다. 도 9를 참조하면, 랜덤 필드(RANDOM)의 지시 비트는 1-비트이고, 랜덤 필드(RANDOM)의 지시 비트는 어드레스 필드(ADDRESS)의 어드레스 비트들(예컨대, 도 10의 ADDRESS[8:0])이 랜덤 어드레스인지 버스트 어드레스인지를 지시할 수 있다. 도 2에 도시된 명령 프레임 포맷(CFFB)의 랜덤 필드(RANDOM)의 지시 비트 값은 "0"으로 설정될 수 있고, 도 3에 도시된 명령 프레임 포맷(CFFR)의 랜덤 필드 (RANDOM)의 지시 비트 값은 "1"로 설정될 수 있다.9 is a random field of the frame shown in FIG. 2 or 3 and a description thereof. Referring to FIG. 9, the indication bits of the random field RANDOM are 1-bit, and the indication bits of the random field RANDOM are address bits of the address field ADDRESS (eg, ADDRESS[8:0] in FIG. 10). ) May indicate whether it is a random address or a burst address. The indication bit value of the random field (RANDOM) of the command frame format (CFFB) shown in FIG. 2 may be set to “0”, and the indication of the random field (RANDOM) of the command frame format (CFFR) shown in FIG. 3 The bit value can be set to "1".
도 10은 도 2 또는 도 3에 도시된 프레임의 어드레스 필드(address field)와 이에 대한 설명이다. 도 10을 참조하면, 어드레스 필드(ADDRESS)의 어드레스 비트들은 9-비트들일 수 있다. 예컨대, 어드레스 비트들이 9-비트들일 때, 어드레스 공간들은 512개의 목적지들을 지원할 수 있다. 비록, 도 10에서는 어드레스 필드 (ADDRESS)의 어드레스 비트들의 개수가 9개로 도시되어 있으나 어드레스 필드 (ADDRESS)의 어드레스 비트들의 개수는 실시 예에 따라 다양하게 변경될 수 있다.10 is an address field of the frame shown in FIG. 2 or 3 and a description thereof. Referring to FIG. 10, address bits of the address field ADDRESS may be 9-bits. For example, when the address bits are 9-bits, the address spaces can support 512 destinations. Although the number of address bits in the address field ADDRESS is shown as 9 in FIG. 10, the number of address bits in the address field ADDRESS may be variously changed according to exemplary embodiments.
도 11은 도 2에 도시된 프레임의 버스트 필드(burst field)와 이에 대한 설명이다. 도 11을 참조하면, 버스트 필드(BURST)의 지시 비트들은 2-비트들이고, "00", "01". "10" 및 "11" 각각은 버스트 타입을 나타낼 수 있다. 예컨대, "00"은 고정된(FIXED) 버스트 타입으로서 고정된-어드레스 버스트를 나타내고, "01"은 증가(INCREMENT) 버스트 타입으로서 증가하는-어드레스 버스트를 나타내고, "10"은 확장(EXTENSION) 버스트 타입으로서 확장된 특별한 명령을 나타내고, "11"은 스트림(STREAM) 타입으로서 무한한 데이터를 나타내고, 마스터 장치(200)는 많은 데이터를 갖는 라이트 명령을 사용할 수 있다.11 is a burst field of the frame shown in FIG. 2 and a description thereof. Referring to FIG. 11, indication bits of the burst field BURST are 2-bits, and "00" and "01". Each of "10" and "11" may represent a burst type. For example, "00" represents a fixed-address burst as a FIXED burst type, "01" represents an increasing-address burst as an INCREMENT burst type, and "10" represents an EXTENSION burst. A special command extended as a type is indicated, and "11" indicates infinite data as a stream (STREAM) type, and the
도 12는 도 2에 도시된 프레임의 버스트 길이(burst length field)와 이에 대한 설명이다. 도 12를 참조하면, 버스트 길이(BURST LENGTH)의 지시 비트들 ([4:0])은 5-비트들이고, 데이터 전송의 개수를 나타낼 수 있다.12 is a burst length field of the frame shown in FIG. 2 and a description thereof. Referring to FIG. 12, indication bits ([4:0]) of the burst length BURST LENGTH are 5-bits, and may indicate the number of data transmissions.
도 13은 본 발명의 실시 예에 따라 4x 오버샘플링 클락 신호를 이용하여 수행되는 동기화 과정과 샘플링 과정을 설명하기 위한 신호들의 타이밍 도이고, 도 14는 도 1에 도시된 슬레이브 장치에 포함된 제2처리 회로의 실시 예를 나타내는 블록도이다.13 is a timing diagram of signals for explaining a synchronization process and a sampling process performed using a 4x oversampling clock signal according to an embodiment of the present invention, and FIG. 14 is a second diagram included in the slave device shown in FIG. It is a block diagram showing an embodiment of a processing circuit.
도 1부터 도 14를 참조하면, 인에이블 신호 생성기(327-1)와 마스크 회로 (327-2)를 제외하면 슬레이브 장치(300)의 제2처리 회로(320)의 구조와 작동은 마스터 장치(200)의 제1처리 회로(220)의 구조와 작동과 동일 또는 유사하다고 가정한다. 도 13과 도 14는 4x 오버샘플링 과정을 도시한다.Referring to FIGS. 1 to 14, except for the enable signal generator 327-1 and the mask circuit 327-2, the structure and operation of the
인에이블 신호 생성기(327-1)는 전송 프레임(SPEEDY)을 이용하여 인에이블 신호(EN)를 생성할 수 있다. 마스크 회로(327-2)는 인에이블 신호(EN)를 이용하여 클락 신호(TCLK)의 전송을 제어할 수 있다. 예컨대, 마스크 회로(327-2)는 논리곱 게이트로 구현될 수 있으나 이에 한정되는 것은 아니다. 즉, 슬레이브 장치(300)가 슬립 상태에 있을 때, 인에이블 신호 생성기(327-1)는 로우 레벨을 갖는 인에이블 신호(EN)를 생성할 수 있으므로, 마스크 회로(327-2)는 클락 신호(TCLK)의 전송을 차단할 수 있다. 인에이블 신호 생성기(327-1)의 구조와 작동은 도 32를 참조하여 상세히 설명될 것이다.The enable signal generator 327-1 may generate the enable signal EN by using the transmission frame SPEEDY. The mask circuit 327-2 may control transmission of the clock signal TCLK using the enable signal EN. For example, the mask circuit 327-2 may be implemented as an AND gate, but is not limited thereto. That is, when the
비록, 도 14에서는 로우 파워 작동을 위해 클락 신호(TCLK)의 전송을 제어할 수 있는 인에이블 신호 생성기(327-1)와 마스크 회로(327-2)가 도시되어 있으나, 실시 예에 따라 인에이블 신호 생성기(327-1)와 마스크 회로(327-2)는 클락 신호 (TCLK)의 주파수보다 낮은 주파수를 갖는 클락 신호(TCLK')를 생성할 수 있는 주파수 제어 회로로 대체될 수 있다. 예컨대, 상기 주파수 제어 회로는, 슬레이브 장치 (300)가 슬립 상태에 있을 때, 전송 프레임(SPEEDY)을 이용하여 클락 신호 (TCLK)의 주파수보다 낮은 주파수를 갖는 클락 신호(TCLK')를 생성할 수 있다.Although, in FIG. 14, an enable signal generator 327-1 and a mask circuit 327-2 capable of controlling transmission of the clock signal TCLK for low power operation are shown, the enable signal generator 327-2 is shown. The signal generator 327-1 and the mask circuit 327-2 may be replaced with a frequency control circuit capable of generating a clock signal TCLK' having a frequency lower than that of the clock signal TCLK. For example, when the
싱글 와이어(110)를 통해 송신 장치(200 또는 300)로부터 전송된 전송 프레임(SPEEDY)은 클락 신호(TCLK)를 포함하지 않는 비동기(asynchronous) 신호들이므로, 수신 장치(300 또는 200)는 전송 프레임(SPEEDY)에 대해 동기화 과정 (synchronization process)과 오버샘플링 과정(oversampling process)을 수행할 수 있는 처리 회로(320 또는 220)를 포함할 수 있다. 예컨대, 처리 회로(320 또는 220)는 전송 프레임(SPEEDY; 예컨대, 명령 프레임 또는 데이터 프레임)마다 동기화 과정을 새롭게 수행할 수 있다.Since the transmission frame SPEEDY transmitted from the
마스터 장치(200)에서 사용되는 마스터 오버샘플링 클락 신호(M_4xCLK)의 위상과 슬레이브 장치(300)에서 사용되는 슬레이브 오버샘플링 클락 신호(S_4xCLK)의 위상 사이에서 위상 차이(경우에 따라, 최악의 위상 차이)가 발생했을 때, 도 13의 (a)와 (b) 각각은 두 개의 오버 샘플링 클락 신호들(M_4xCLK과 S_4xCLK) 사이에서 동기를 어떻게 검출하고 어느 시점에서 샘플링해야 데이터, 즉 전송 프레임 (SPEEDY)에 포함된 각 비트 값을 안전하게 샘플링할 수 있는지를 나타낸다.The phase difference between the phase of the master oversampling clock signal (M_4xCLK) used in the
각 처리 회로(220 또는 320)는 데이터, 예컨대 전송 프레임(SPEEDY)에 포함된 각 비트 값을 정확하게 샘플링하기 위해 다음과 같은 조건들을 만족해야 한다.Each
첫째, 각 오버샘플링 클락 신호(M_4xCLK와 S_4xCLK)는 동일한 주파수를 갖는 클락 신호(TCLK)에 기초하여 생성되고, 각 오버샘플링 클락 신호(M_4xCLK와 S_4xCLK)의 주파수는 서로 동일해야 한다. 즉, 각 오버샘플링 클락 신호(M_4xCLK와 S_4xCLK)의 주파수가 동일하면, 주파수 오프셋 문제는 발생하지 않는다.First, each oversampling clock signal M_4xCLK and S_4xCLK is generated based on a clock signal TCLK having the same frequency, and the frequencies of each oversampling clock signal M_4xCLK and S_4xCLK must be the same. That is, if the frequencies of each of the oversampling clock signals M_4xCLK and S_4xCLK are the same, the frequency offset problem does not occur.
둘째, 위상 오프셋(phase offset)과 지터(jitter)로부터 데이터, 예컨대 전송 프레임(SPEEDY)에 포함된 각 비트 값을 정확하게 샘플링하기 위해, 각 처리 회로(220 또는 320)는 상기 각 비트 값의 중앙(center)을 샘플링하면 안전하게 상기 각 비트 값을 샘플링할 수 있다. 예컨대, 도 13의 (a)와 (b) 각각에 도시된 바와 같이, 각 샘플링 영역(SR)의 각 상승 에지(rising edge 또는 positive edge)에서 각 비트 값을 샘플링하면 상기 각 비트 값은 안전하게 샘플링될 수 있다.Second, in order to accurately sample data, for example, each bit value included in a transmission frame (SPEEDY) from a phase offset and jitter, each
셋째, 각 처리 회로(220 또는 320)는 전송 프레임(SPEEDY)의 시작 필드 (STRAT)의 시작 비트 값을 이용하여 전송 프레임(SPEEDY)의 시작을 명확하게 식별하고, 전송 프레임(SPEEDY)에 대한 동기화 과정을 수행할 수 있다.Third, each
예컨대, 슬레이브 장치(300)에 대한 라이트 작동 시에, 제2처리 회로(320)는 마스터 장치(200)로부터 출력된 프레임들(예컨대, 명령 프레임과 데이터 프레임) 각각에 포함된 시작 필드(STRAT)의 시작 비트 값을 이용하여 상기 프레임들 각각의 시작을 명확하게 식별하고, 상기 프레임들 각각에 대한 동기화 과정을 수행할 수 있다.For example, when a write operation for the
예컨대, 슬레이브 장치(300)에 대한 리드 작동 시에, 제2처리 회로(320)는 마스터 장치(200)로부터 출력된 명령 프레임에 포함된 시작 필드(STRAT)의 시작 비트 값을 이용하여 상기 명령 프레임의 시작을 명확하게 식별하고, 상기 명령 프레임에 대한 동기화 과정을 수행할 수 있다. 그 후에, 제1처리 회로(220)는 슬레이브 장치(300)로부터 출력된 데이터 프레임에 포함된 시작 필드(STRAT)의 시작 비트 값을 이용하여 상기 데이터 프레임의 시작을 명확하게 식별하고, 상기 데이터 프레임에 대한 동기화 과정을 수행할 수 있다. 즉, 각 처리 회로(220 또는 320)는 각 프레임의 시작을 명확하게 식별하고, 동기화 과정을 수행할 수 있다.For example, during a read operation for the
각 처리 회로(220 또는 320)는, 동기화 과정을 통해, 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 4개의 클락 위상들(P1~P4) 중에서 하나의 클락 위상(예컨대, 도 13의 (a)의 경우 1(CASE1)에서는 두 번째 클락 위상(P2) 또는 도 13의 (b)의 경우 2(CASE2)에는 세 번째 클락 위상(P3))을 선택하고, 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 주기마다, 선택된 클락 위상(예컨대, 경우 1(CASE1)에서는 두 번째 클락 위상(P2) 또는 2(CASE2)에는 세 번째 클락 위상(P3)과 동일한 위치에 존재하는 클락 위상)을 이용하여 전송 프레임(SPEEDY)에 포함된 각 비트 값을 안전하고 정확하게 샘플링할 수 있다.Each
각 처리 회로(220 또는 320)는 전송 프레임(SPEEDY)마다 동기화 과정을 새롭게 수행할 수 있다. 따라서, 각 처리 회로(220 또는 320)는 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 4개의 클락 위상들(P1~P4) 중에서 하나의 클락 위상을 전송 프레임(SPEEDY)마다 새롭게 선택할 수 있다.Each
실시 예에 따라, 각 처리 회로(220 또는 320)는 강력한(robust) 동기화 과정을 위해 데이터 페이즈(data phase)를 변경할 수 있다. 데이터 페이즈를 변경하는 예들은 다음과 같다.Depending on the embodiment, each
실시 예에 따라, 마스터 장치(200)가 마스터 클락 신호(TCLK 또는 정상 상태 (NORMAL)에서 TCLK')의 각 상승 에지에 동기된 각 데이터(즉, 전송 프레임(SPEEDY)에 포함된 각 비트 값)를 슬레이브 장치(300)로 전송하면, 제2처리 회로(320)는 슬레이브 클락 신호(TCLK 또는 정상 상태(NORMAL)에서 TCLK')의 각 상승 에지를 이용하여 상기 각 데이터(즉, 전송 프레임(SPEEDY)에 포함된 상기 각 비트 값)를 샘플링할 수 있다. 샘플링을 위해, 슬레이브 4x 오버샘플링 클락 신호 (S_4xCLK)가 사용될 수 있다.Depending on the embodiment, the
실시 예에 따라, 마스터 클락 신호(TCLK)의 주파수와 슬레이브 클락 신호 (TCLK)의 주파수가 동일하고, 마스터 장치(200)와 슬레이브 장치(300) 사이의 거리 (예컨대, PCB의 배선 길이)가 짧고, 마스터 장치(200)로부터 슬레이브 장치(300)로 전송되는 전송 프레임(SPEEDY)의 전송 속도가 느릴 때, 마스터 장치(200)는 마스터 클락 신호(TCLK)의 각 상승 에지에 동기된 각 데이터(즉, 전송 프레임(SPEEDY)에 포함된 각 비트 값)를 슬레이브 장치(300)로 전송하면, 제2처리 회로(320)는 슬레이브 클락 신호(TCLK)의 각 하강 에지(falling edge 또는 negative edge)를 이용하여 상기 각 데이터(즉, 전송 프레임(SPEEDY)에 포함된 상기 각 비트 값)를 샘플링할 수 있다. 샘플링을 위해, 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)가 사용될 수 있다.Depending on the embodiment, the frequency of the master clock signal TCLK and the frequency of the slave clock signal TCLK are the same, and the distance between the
예컨대, 각 처리 회로(220 또는 320)는 데이터 페이즈를 변경할 수 있는 정보를 저장하는 프로그램 가능한 메모리(예컨대, 도 14의 329)를 포함할 수 있다. 예컨대, 상기 프로그램 가능한 메모리는 각 제어 회로(270 또는 370)에 의해 프로그램될 수 있는 레지스터로 구현될 수 있으나 이에 한정되는 것은 아니다.For example, each
도 13의 (a)와 도 14를 참조하면, 제2처리 회로(320)의 실시 예에 따른 제2처리 회로(320A)는 클락 생성기(322A), 동기 검출 회로(324A), 및 제2데이터 처리 회로(328)를 포함할 수 있다. 제2처리 회로(320A)는 레지스터(329)를 더 포함할 수 있다. 예컨대, 레지스터(329)는 데이터 페이즈를 제어할 수 있는 제1정보와 동기 검출 회로(324A)의 동기화 온/오프를 제어할 수 있는 제2정보를 포함할 수 있다. 상술한 바와 같이, 상기 제1정보는 샘플링을 위한 클락 신호 또는 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 에지를 선택할 수 있는 정보일 수 있고, 상기 제2정보는 동기화 과정의 온/오프를 제어할 수 있는 정보일 수 있다. 상기 각 정보는 하나 또는 그 이상의 디지털 신호들을 포함할 수 있다.13A and 14, the
동기 검출 회로(324A)가 온(on) 되면, 동기 검출 회로(324A)는 동기화 과정을 수행하고, 동기 검출 회로(324A)가 오프(off) 되면, 동기 검출 회로(324A)는 동기화 과정을 수행하지 않는다. 예컨대, 동기 검출 회로(324A)가 오프(off) 되면, 전송 프레임(SPEEDY)은 제2데이터 처리 회로(328)로 그대로 전송될 수 있다.When the
클락 생성기(322A)는 마스크 회로(327-2)로부터 출력된 슬레이브 클락 신호 (TCLK')를 이용하여 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)를 생성할 수 있다. 도 13의 (a)와 (b)에 도시된 바와 같이, 슬레이브 4x 오버샘플링 클락 신호 (S_4xCLK)는 주기마다 4개의 클락 위상들(P1~P4)을 포함할 수 있다. 실시 예에 따라, 제2처리 회로(320A)는 인에이블 신호 생성기(327-1)와 마스크 회로(327-2)를 더 포함할 수 있다. 인에이블 신호 생성기(327-1)와 마스크 회로(327-2)의 작동은 도 31부터 도 33을 참조하여 상세히 설명될 것이다.The
동기 검출 회로(324A)는, 전송 프레임(SPEEDY)에 포함된 각 비트 값을 샘플링하기 위해, 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 4개의 클락 위상들 (P1~P4) 중에서 어느 하나의 클락 위상을 주기마다 선택할 수 있다. 또한, 동기 검출 회로(324A)는 유효 지시 신호(VALID), 데이터(DDATA), 및 위상 카운트(PCNT)를 제2데이터 처리 회로(328)로 전송할 수 있다. 예컨대, 데이터(DDATA)는 전송 프레임(SPEEDY)과 동일할 수 있다.
동기 검출 회로(324A)는 동기 회로(324-1)와 유한 상태 기계(finite-state machine(FSM); 324-2)를 포함할 수 있다. 동기 검출 회로(324A)는 레지스터(324-3)를 더 포함할 수 있다. 레지스터(324-3)는 에러 정보 또는 타임 아웃 정보를 저장할 수 있다.The
도 15는 도 14에 도시된 동기 검출 회로에 포함된 동기 회로의 실시 예를 나타내는 블록도이다.15 is a block diagram illustrating an embodiment of a synchronization circuit included in the synchronization detection circuit shown in FIG. 14.
도 13의 (a)부터 도 15를 참조하면, 동기 회로(324-1)는 안정된 샘플링을 위해 복수의 플립-플롭들(326-1과 326-2)을 포함할 수 있다. 제1플립-플롭(326-1)은, 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)에 응답하여, 전송 프레임(SPEEDY)에 포함된 각 비트 값을 샘플링할 수 있다. 제2플립-플롭(326-2)은, 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)에 응답하여, 제1플립-플롭(326-1)으로부터 출력된 각 비트 값을 샘플링하고, 샘플링된 각 비트 값(SD0=DDATA)을 출력할 수 있다. 복수의 플립-플롭들(326-1과 326-2)은 샘플링 회로를 구성할 수 있다.13A to 15, the synchronization circuit 324-1 may include a plurality of flip-flops 326-1 and 326-2 for stable sampling. The first flip-flop 326-1 may sample each bit value included in the transmission frame SPEEDY in response to the slave 4x oversampling clock signal S_4xCLK. The second flip-flop 326-2 samples each bit value output from the first flip-flop 326-1 in response to the slave 4x oversampling clock signal S_4xCLK, and each sampled bit value (SD0=DDATA) can be output. The plurality of flip-flops 326-1 and 326-2 may constitute a sampling circuit.
도 16은 도 14에 도시된 동기 검출 회로에 포함되고 4x 오버샘플링을 이용하여 동기화 과정(synchronization process)을 수행하는 유한 상태 기계(finite-state machine(FSM))의 상태 도(state diagram)이고, 도 17은 도 14에 도시된 동기 검출 회로에 포함되고 4x 오버샘플링을 이용하여 동기화 과정을 수행하는 FSM의 위상 카운트 작동을 설명하기 위한 상태 도이다.FIG. 16 is a state diagram of a finite-state machine (FSM) included in the synchronization detection circuit shown in FIG. 14 and performing a synchronization process using 4x oversampling, FIG. 17 is a state diagram illustrating a phase count operation of an FSM included in the synchronization detection circuit shown in FIG. 14 and performing a synchronization process using 4x oversampling.
도 13의 (a)부터 도 17을 참조하면, FSM(324-2)은, 동기 회로(324-1)에 의해 샘플링된 데이터(SD0=DDATA), 수신 인에이블 신호(RxEN), 및 프레임 종료 신호 (EndFrame)를 이용하여, 유효 지시 신호(VALID)와 위상 카운트(PCNT)를 생성할 수 있다.13A to 17, the FSM 324-2 includes data sampled by the synchronization circuit 324-1 (SD0=DDATA), a reception enable signal RxEN, and a frame end. Using the signal (EndFrame), it is possible to generate a valid indication signal (VALID) and a phase count (PCNT).
예컨대, 도 14에 도시된 바와 같이 슬레이브 장치(300)가 수신 모드일 때 수신 인에이블 신호(RxEN)는 "1"로 활성화되고, 슬레이브 장치(300)가 송신 모드일 때 수신 인에이블 신호(RxEN)는 "0"으로 비활성화된다고 가정한다. 또한, 전송 프레임(SPEEDY)의 전송이 종료되지 않았을 때 프레임 종료 신호(EndFrame)는 "0"으로 비활성화되고, 전송 프레임(SPEEDY)의 전송이 종료되었을 때 프레임 종료 신호 (EndFrame)는 "1"로 활성화된다고 가정한다. 위상 카운트(PCNT)는, 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 주기마다, 각 클락 위상(P1-P4)의 상승 에지에 응답하여 4, 3, 2, 1 순서로 다운-카운트(down-count) 된다고 가정한다. 그러나, 실시 예에 따라, 위상 카운트(PCNT)는, 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 주기마다, 각 클락 위상(P1-P4)의 상승 에지에 응답하여 1, 2, 3, 및 4 순서로 업-카운트(up-count) 될 수도 있다.For example, as shown in FIG. 14, when the
예컨대, 동기 회로(324-1)는, 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 첫 번째 클락 위상(P1)의 상승 에지를 이용하여, 시작 필드(START)의 시작 비트 값을 샘플링하고, 샘플된 비트 값(SD0=0)을 출력한다. 샘플된 비트 값(SD0)이 "0"이므로, 첫 번째 클락 위상(P1)의 상승 에지는 동기화 검출 영역(SDR)에 포함된다.For example, the synchronization circuit 324-1 samples the start bit value of the start field START by using the rising edge of the first clock phase P1 of the slave 4x oversampling clock signal S_4xCLK, and the sampled Outputs the bit value (SD0=0). Since the sampled bit value SD0 is "0", the rising edge of the first clock phase P1 is included in the synchronization detection area SDR.
즉, 동기 회로(324-1)는 동기화 검출 영역(SDR)에서 동기화 작동을 수행할 수 있다. 도 13의 (a)와 (b)에서 THRESHOLD는 "0"을 검출할 수 있는 값을 의미할 수 있다.That is, the synchronization circuit 324-1 may perform a synchronization operation in the synchronization detection area SDR. In FIGS. 13A and 13B, THRESHOLD may mean a value capable of detecting “0”.
아이들 상태(IDLE)의 FSM(324-2)은, 첫 번째 클락 위상(P1)에서 샘플된 비트 값(SD0=0)과 활성화된 수신 인에이블 신호(RxEN=1)와 에 응답하여, 동기화 진행 상태(SYNC)로 천이(transition)할 수 있다. 이때, FSM(324-2)은 첫 번째 클락 위상 (P1)의 상승 에지를 카운트하고 위상 카운트(PCNT)로서 "4"를 출력할 수 있다.The FSM 324-2 in the idle state (IDLE) proceeds in synchronization in response to the bit value (SD0=0) sampled in the first clock phase (P1) and the activated receive enable signal (RxEN=1). It can transition to the state (SYNC). At this time, the FSM 324-2 may count the rising edge of the first clock phase P1 and output “4” as the phase count PCNT.
동기화 진행 상태(SYNC)에서, 에러 또는 글리치(glitch)에 의해 활성화된 수신 인에이블 신호(RxEN)가 "0"으로 천이하거나 샘플된 비트 값(SD0)이 "1"로 천이하면, FSM(324-2)은 동기화 진행 상태(SYNC)로부터 아이들 상태(IDLE)로 천이하고 에러 신호(ERROR)를 생성할 수 있다. 에러 신호(ERROR)에 해당하는 비트 값은 레지스터(324-3)에 저장될 수 있다.In the synchronization progress state (SYNC), when the receive enable signal (RxEN) activated by an error or glitch transitions to "0" or the sampled bit value (SD0) transitions to "1", the FSM 324 -2) may transition from the synchronization progress state (SYNC) to the idle state (IDLE) and generate an error signal (ERROR). The bit value corresponding to the error signal ERROR may be stored in the register 324-3.
동기화 진행 상태(SYNC)에서, 동기 회로(324-1)는, 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 두 번째 클락 위상(P2)의 상승 에지를 이용하여, 시작 필드 (START)의 시작 비트 값을 샘플링하고, 샘플된 비트 값(SD0=0)을 출력할 수 있다. 즉, 동기화 진행 상태(SYNC)에서, FSM(324-2)은, 두 번째 클락 위상(P2)의 상승 에지에서 샘플된 비트 값(SD0=0)과 활성화된 수신 인에이블 신호(RxEN=1)에 응답하여, 동기화 완료 상태(SYNC_DONE)로 천이할 수 있다. 즉, 첫 번째 클락 위상(P1)의 상승 에지에서 샘플된 비트 값(SD0=0)과 두 번째 클락 위상(P2)의 상승 에지에서 샘플된 비트 값(SD0=0)이 모두 "0"일 때, FSM(324-2)은 동기화 진행 상태(SYNC)로부터 동기화 완료 상태(SYNC_DONE)로 천이할 수 있다. 이때, FSM(324-2)은 두 번째 클락 위상(P2)의 상승 에지를 카운트하고 위상 카운트(PCNT)로서 "3"를 출력할 수 있다. 예컨대, 위상 카운트(PCNT)로서 "3"이 출력될 때, FSM(324-2)은 활성화된 유효 지시 신호(VALID)를 생성할 수 있다.In the synchronization progress state (SYNC), the synchronization circuit 324-1 uses the rising edge of the second clock phase (P2) of the slave 4x oversampling clock signal (S_4xCLK), the start bit value of the start field (START). May be sampled, and a sampled bit value (SD0=0) may be output. That is, in the synchronization progress state (SYNC), the FSM 324-2, the bit value sampled at the rising edge of the second clock phase (P2) (SD0 = 0) and the activated receive enable signal (RxEN = 1) In response to, it is possible to transition to the synchronization complete state (SYNC_DONE). That is, when the bit value sampled at the rising edge of the first clock phase (P1) (SD0=0) and the bit value sampled at the rising edge of the second clock phase (P2) are “0” , The FSM 324-2 may transition from a synchronization progress state (SYNC) to a synchronization completion state (SYNC_DONE). At this time, the FSM 324-2 may count the rising edge of the second clock phase P2 and output "3" as the phase count PCNT. For example, when "3" is output as the phase count PCNT, the FSM 324-2 may generate an activated valid indication signal VALID.
FSM(324-2)은 세 번째 클락 위상(P3)의 상승 에지를 카운트하고 위상 카운트(PCNT)로서 "2"를 출력할 수 있고, 네 번째 클락 위상(P4)의 상승 에지를 카운트하고 위상 카운트(PCNT)로서 "1"를 출력할 수 있다. 예컨대, FSM(324-2)은, 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 주기마다, 현재 클락 위상이 4개의 클락 위상들(P1-P4) 중에서 몇 번째 클락 위상인지를 지시하는 위상 카운트(PCNT)를 생성할 수 있다.The FSM 324-2 can count the rising edge of the third clock phase (P3) and output "2" as the phase count (PCNT), and count the rising edge of the fourth clock phase (P4) and count the phase. "1" can be output as (PCNT). For example, the FSM 324-2, for each period of the slave 4x oversampling clock signal S_4xCLK, is a phase count (PCNT) indicating which clock phase is the current clock phase among the four clock phases P1-P4. ) Can be created.
또한, FSM(324-2)은, 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 주기마다, 두 번째 클락 위상(P2)이 전송 프레임(SPEEDY)에 포함된 각 비트 값을 샘플링을 위한 클락 위상임을 지시하는 활성화된 유효 지시 신호(VALID)를 생성할 수 있다.In addition, the FSM 324-2 indicates that the second clock phase P2 is a clock phase for sampling each bit value included in the transmission frame SPEEDY for each period of the slave 4x oversampling clock signal S_4xCLK. It is possible to generate an activated valid indication signal VALID.
제2데이터 처리 회로(328)는 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK), 유효 지시 신호(VALID), 데이터(DDATA), 및 위상 카운트(PCNT)를 수신하고, 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 주기마다 두 번째 클락 위상(P2)의 상승 에지를 이용하여 데이터(DDATA)에 포함된 각 비트 값(예컨대, D7과 D6)을 샘플링할 수 있다. 예컨대, 유효 지시 신호(VALID)는 위상 카운트(PCNT)가 "3"일 때마다 활성화된 펄스 형태를 가질 수 있으나 이에 한정되는 것은 아니다.The second
수신 인에이블 신호(RxEN)가 "1"이 아닐 때(!RxEN) 또는 전송 프레임 (SPEEDY)의 수신이 완료되었을 때, FSM(324-2)의 상태는 동기화 완료 상태 (SYNC_DONE)로부터 아이들(IDLE)로 천이할 수 있다. 또한, 수신 인에이블 신호 (RxEN)가 "1"이 아닐 때(!RxEN), 전송 프레임(SPEEDY)의 수신이 완료되었을 때, 또는 에러가 발생했을 때, FSM(324-2)은 위상 카운트 상태(PHASE COUNT)로부터 아이들(IDLE)로 천이할 수 있다.When the reception enable signal (RxEN) is not "1" (!RxEN) or when the reception of the transmission frame (SPEEDY) is completed, the status of the FSM 324-2 is set to idle (IDLE) from the synchronization completion status (SYNC_DONE). ). In addition, when the reception enable signal (RxEN) is not "1" (!RxEN), when the reception of the transmission frame (SPEEDY) is completed, or when an error occurs, the FSM 324-2 is in a phase count state. You can transition from (PHASE COUNT) to IDLE.
제2데이터 처리 회로(328)는 동기 회로(324-1)로부터 출력된 데이터 (DDATA=SPEEDY)에 포함된 각 비트 값을 슬레이브 4x 오버샘플링 클락 신호 (S_4xCLK)의 두 번째 클락 위상(P2)마다 샘플링하고, 샘플링 결과에 따라 라이트 작동 또는 리드 작동을 위한 제어 신호들을 생성할 수 있다.The second
도 13의 (a)의 경우 1(CASE1)은, 슬레이브 4x 오버샘플링 클락 신호 (S_4xCLK)의 위상이 가장 빠를 때(예컨대, 마스터 4x 오버샘플링 클락 신호 (M_4xCLK)의 위상과 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 위상의 차이가 가장 작을 때), 복수의 클락 위상들(P1-P4) 중에서 어느 하나의 클락 위상(예컨대, P2)을 선택하는 과정을 설명하기 위한 타이밍 도이다.In the case of (a) of FIG. 13, 1 (CASE1) is when the phase of the slave 4x oversampling clock signal (S_4xCLK) is the fastest (e.g., the phase of the master 4x oversampling clock signal (M_4xCLK) and the slave 4x oversampling clock signal (When the difference in phase of S_4xCLK is the smallest), this is a timing diagram for explaining a process of selecting any one clock phase (eg, P2) from among a plurality of clock phases P1-P4.
동기 회로(234-1)는, 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 주기마다, 4개의 클락 위상들(P1-P4) 중에서 두 번째 클락 위상(P2)을 선택하고, 선택 결과에 상응하는 활성화된 유효 지시 신호(VALID)를 제2데이터 처리 회로(328)로 출력할 수 있다.The synchronization circuit 234-1 selects a second clock phase P2 from among four clock phases P1-P4 for each period of the slave 4x oversampling clock signal S_4xCLK, and activates corresponding to the selection result. The valid indication signal VALID may be output to the second
도 13의 (b)의 경우 2(CASE2)는, 슬레이브 4x 오버샘플링 클락 신호 (S_4xCLK)의 위상이 가장 느릴 때(예컨대, 마스터 4x 오버샘플링 클락 신호 (M_4xCLK)의 위상과 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 위상의 차이가 가장 클 때), 복수의 클락 위상들(P1-P4) 중에서 어느 하나의 클락 위상(예컨대, P3)을 선택하는 과정을 설명하기 위한 타이밍 도이다.In the case of (b) of FIG. 13, 2 (CASE2) is when the phase of the slave 4x oversampling clock signal (S_4xCLK) is the slowest (e.g., the phase of the master 4x oversampling clock signal (M_4xCLK) and the slave 4x oversampling clock signal (When the phase difference of S_4xCLK is the largest), a timing diagram for explaining a process of selecting any one clock phase (eg, P3) from among a plurality of clock phases P1-P4.
동기 회로(324-1)는, 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 첫 번째 클락 위상(P1)의 상승 에지를 이용하여, 시작 필드(START)의 시작 비트 값을 샘플링하고, 샘플된 비트 값(SD0=1)을 출력한다고 가정한다. 이때 샘플된 비트 값(SD0)이 "0"이 아니므로, 첫 번째 클락 위상(P1)의 상승 에지는 동기화 검출 영역(SDR)에 포함되지 않는다. FSM(324-2)은 첫 번째 클락 위상(P1)의 상승 에지를 카운트하고 위상 카운트(PCNT)를 출력하지 않을 수 있으나 이에 한정되는 것은 아니다. 즉, 샘플된 비트 값(SD0)이 "0"일 때, 위상 카운트(PCNT)는 출력될 수 있으나 위상 카운트(PCNT)의 출력 타이밍을 실시 예에 따라 다양하게 변경될 수 있다.The synchronization circuit 324-1 samples the start bit value of the start field START by using the rising edge of the first clock phase P1 of the slave 4x oversampling clock signal S_4xCLK, and the sampled bit value. Assume that (SD0=1) is output. At this time, since the sampled bit value SD0 is not "0", the rising edge of the first clock phase P1 is not included in the synchronization detection area SDR. The FSM 324-2 may count the rising edge of the first clock phase P1 and may not output the phase count PCNT, but is not limited thereto. That is, when the sampled bit value SD0 is "0", the phase count PCNT may be output, but the output timing of the phase count PCNT may be variously changed according to exemplary embodiments.
동기 회로(324-1)는, 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 두 번째 클락 위상(P2)의 상승 에지를 이용하여, 시작 필드(START)의 시작 비트 값을 샘플링하고, 샘플된 비트 값(SD0=0)을 출력할 수 있다. 이때 샘플된 비트 값(SD0)이 "0"이므로, 두 번째 클락 위상(P2)의 상승 에지는 동기화 검출 영역(SDR)에 포함된다.The synchronization circuit 324-1 samples the start bit value of the start field START by using the rising edge of the second clock phase P2 of the slave 4x oversampling clock signal S_4xCLK, and the sampled bit value. (SD0=0) can be output. At this time, since the sampled bit value SD0 is "0", the rising edge of the second clock phase P2 is included in the synchronization detection area SDR.
아이들 상태(IDLE)의 FSM(324-2)은, 두 번째 클락 위상(P2)에서 샘플된 비트 값(SD0=0)과 활성화된 수신 인에이블 신호(RxEN=1)에 응답하여, 동기화 진행 상태 (SYNC)로 천이할 수 있다. 이때, FSM(324-2)은 두 번째 클락 위상(P2)의 상승 에지를 카운트하고 위상 카운트(PCNT)로서 "4"를 출력할 수 있다.The FSM 324-2 in the idle state (IDLE) is in response to the bit value (SD0=0) sampled in the second clock phase (P2) and the activated receive enable signal (RxEN=1), and the synchronization is in progress. Transition to (SYNC) is possible. At this time, the FSM 324-2 may count the rising edge of the second clock phase P2 and output "4" as the phase count PCNT.
동기화 진행 상태(SYNC)에서, 에러 또는 글리치에 의해 활성화된 수신 인에이블 신호(RxEN)가 "0"으로 천이하거나 샘플된 비트 값(SD0)이 "1"로 천이하면, FSM(324-2)은 동기화 진행 상태(SYNC)로부터 아이들 상태(IDLE)로 천이하고 에러 신호(ERROR)를 생성할 수 있다. 에러 신호(ERROR)에 해당하는 비트 값은 레지스터 (324-3)에 저장될 수 있다.In the synchronization progress state (SYNC), if the receive enable signal (RxEN) activated by an error or glitch transitions to "0" or the sampled bit value (SD0) transitions to "1", FSM (324-2) May transition from the synchronization progress state (SYNC) to the idle state (IDLE) and generate an error signal (ERROR). The bit value corresponding to the error signal ERROR may be stored in the register 324-3.
동기화 진행 상태(SYNC)에서, 동기 회로(324-1)는, 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 세 번째 클락 위상(P3)의 상승 에지를 이용하여, 시작 필드 (START)의 시작 비트 값을 샘플링하고, 샘플된 비트 값(SD0=0)을 출력할 수 있다. 즉, 동기화 진행 상태(SYNC)에서, FSM(324-2)은, 세 번째 클락 위상(P3)의 상승 에지에서 샘플된 비트 값(SD0=0)과 활성화된 수신 인에이블 신호(RxEN=1)에 응답하여, 동기화 완료 상태(SYNC_DONE)로 천이할 수 있다. 즉, 두 번째 클락 위상(P2)의 상승 에지에서 샘플된 비트 값(SD0=0)과 세 번째 클락 위상(P3)의 상승 에지에서 샘플된 비트 값(SD0=0)이 모두 "0"일 때, FSM(324-2)은 동기화 진행 상태(SYNC)로부터 동기화 완료 상태(SYNC_DONE)로 천이할 수 있다. 이때, FSM(324-2)은 세 번째 클락 위상(P3)의 상승 에지를 카운트하고 위상 카운트(PCNT)로서 "3"를 출력할 수 있다. 예컨대, 위상 카운트(PCNT)로서 "3"이 출력될 때, FSM(324-2)은 활성화된 유효 지시 신호(VALID)를 생성할 수 있다.In the synchronization progress state (SYNC), the synchronization circuit 324-1 uses the rising edge of the third clock phase (P3) of the slave 4x oversampling clock signal (S_4xCLK), the start bit value of the start field (START). May be sampled, and a sampled bit value (SD0=0) may be output. That is, in the synchronization progress state (SYNC), the FSM 324-2, the bit value sampled at the rising edge of the third clock phase (P3) (SD0 = 0) and the activated receive enable signal (RxEN = 1) In response to, it is possible to transition to the synchronization complete state (SYNC_DONE). That is, when the bit value sampled at the rising edge of the second clock phase (P2) (SD0=0) and the bit value sampled at the rising edge of the third clock phase (P3) are “0” , The FSM 324-2 may transition from a synchronization progress state (SYNC) to a synchronization completion state (SYNC_DONE). In this case, the FSM 324-2 may count the rising edge of the third clock phase P3 and output “3” as the phase count PCNT. For example, when "3" is output as the phase count PCNT, the FSM 324-2 may generate an activated valid indication signal VALID.
FSM(324-2)은 네 번째 클락 위상(P4)의 상승 에지를 카운트하고 위상 카운트(PCNT)로서 "2"를 출력할 수 있다. 예컨대, FSM(324-2)은, 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 주기마다, 현재 클락 위상이 4개의 클락 위상들(P1-P4) 중에서 몇 번째 클락 위상인지를 지시하는 위상 카운트(PCNT)를 생성할 수 있다.The FSM 324-2 may count the rising edge of the fourth clock phase P4 and output "2" as the phase count PCNT. For example, the FSM 324-2, for each period of the slave 4x oversampling clock signal S_4xCLK, is a phase count (PCNT) indicating which clock phase is the current clock phase among the four clock phases P1-P4. ) Can be created.
또한, FSM(324-2)은, 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 주기마다, 세 번째 클락 위상(P3)이 전송 프레임(SPEEDY)에 포함된 각 비트 값을 샘플링을 위한 클락 위상임을 지시하는 활성화된 유효 지시 신호(VALID)를 생성할 수 있다.In addition, the FSM 324-2 indicates that the third clock phase P3 is a clock phase for sampling each bit value included in the transmission frame SPEEDY for each period of the slave 4x oversampling clock signal S_4xCLK. It is possible to generate an activated valid indication signal VALID.
제2데이터 처리 회로(328)는 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK), 유효 지시 신호(VALID), 데이터(DDATA), 및 위상 카운트(PCNT)를 수신하고, 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 주기마다 세 번째 클락 위상(P3)의 상승 에지를 이용하여 데이터(DDATA)에 포함된 각 비트 값(예컨대, D7과 D6)을 샘플링할 수 있다. 예컨대, 유효 지시 신호(VALID)는 위상 카운트(PCNT)가 "3"일 때마다 활성화된 펄스 형태를 가질 수 있으나 이에 한정되는 것은 아니다.The second
수신 인에이블 신호(RxEN)가 "1"이 아닐 때(!RxEN) 또는 전송 프레임 (SPEEDY)의 수신이 완료되었을 때, FSM(324-2)의 상태는 동기화 완료 상태 (SYNC_DONE)로부터 아이들(IDLE)로 천이할 수 있다. 또한, 수신 인에이블 신호 (RxEN)가 "1"이 아닐 때(!RxEN), 전송 프레임(SPEEDY)의 수신이 완료되었을 때, 또는 에러가 발생했을 때, FSM(324-2)은 위상 카운트 상태(PHASE COUNT)로부터 아이들(IDLE)로 천이할 수 있다.When the reception enable signal (RxEN) is not "1" (!RxEN) or when the reception of the transmission frame (SPEEDY) is completed, the status of the FSM 324-2 is set to idle (IDLE) from the synchronization completion status (SYNC_DONE). ). In addition, when the reception enable signal (RxEN) is not "1" (!RxEN), when the reception of the transmission frame (SPEEDY) is completed, or when an error occurs, the FSM 324-2 is in a phase count state. You can transition from (PHASE COUNT) to IDLE.
제2데이터 처리 회로(328)는 동기 회로(324-1)로부터 출력된 데이터 (DDATA=SPEEDY)에 포함된 각 비트 값을 슬레이브 4x 오버샘플링 클락 신호(S_4xCLK)의 세 번째 클락 위상(P3)마다 샘플링하고, 샘플링 결과에 따라 라이트 작동 또는 리드 작동을 위한 제어 신호들을 생성할 수 있다.The second
동기 회로(234-1)는, 4x 오버샘플링 클락 신호(S_4xCLK)의 주기마다, 4개의 클락 위상들(P1-P4) 중에서 세 번째 클락 위상(P3)을 선택하고, 선택 결과에 해당하는 유효 지시 신호(VALID)를 제2데이터 처리 회로(328)로 출력할 수 있다.The synchronization circuit 234-1 selects the third clock phase P3 from the four clock phases P1-P4 for each period of the 4x oversampling clock signal S_4xCLK, and a valid indication corresponding to the selection result The signal VALID may be output to the second
제2데이터 처리 회로(328)는, 4x 오버샘플링 클락 신호(S_4xCLK)의 주기마다, 유효 지시 신호(VALID)와 위상 카운트(PCNT)에 기초하여 4개의 클락 위상들 (P1-P4) 중에서 세 번째 클락 위상(P3)을 이용하여 프레임에 포함된 각 비트 값에 대한 샘플링을 수행할 수 있다.The second
도 18은 도 1에 도시된 슬레이브 장치에 포함된 제2처리 회로의 실시 예를 나타내는 블록도이다.18 is a block diagram illustrating an embodiment of a second processing circuit included in the slave device illustrated in FIG. 1.
도 1의 제2처리 회로(320)의 실시 예에 따른 도 18의 제2처리 회로(320B)는 클락 생성기(322B), 동기 검출 회로(324B), 및 제2데이터 처리 회로(328)를 포함할 수 있다. 제2처리 회로(320A)는 레지스터(329)를 더 포함할 수 있다. 예컨대, 레지스터(329)는 데이터 페이즈를 제어할 수 있는 제1정보와 동기 검출 회로(324B)의 온/오프를 제어할 수 있는 제2정보를 포함할 수 있다. 상술한 바와 같이, 상기 제1정보는 샘플링 에지를 선택할 수 있는 정보일 수 있고, 상기 제2정보는 동기화 과정의 온/오프를 제어할 수 있는 정보일 수 있다.The
클락 생성기(322B)는 마스크 회로(327-2)로부터 출력된 슬레이브 클락 신호 (TCLK')를 이용하여 슬레이브 2x 오버샘플링 클락 신호(S_2xCLK)를 생성할 수 있다. 실시 예에 따라, 제2처리 회로(320B)는 인에이블 신호 생성기(327-1)와 마스크 회로(327-2)를 더 포함할 수 있다. 인에이블 신호 생성기(327-1)와 마스크 회로(327-2)의 작동은 도 31부터 도 33을 참조하여 상세히 설명될 것이다.The
도 19는 도 18에 도시된 제2처리 회로에 포함된 슬레이브 2x 오버샘플링 클락 신호를 생성하는 클락 생성기의 실시 예를 나타낸다. 도 19를 참조하면, 클락 생성기(322B)는 지연 회로(331)와 배타 논리합(exclusive OR(XOR)) 회로(333)를 포함할 수 있다. 지연 회로(331)는 슬레이브 클락 신호(TCLK')를 지연시킬 수 있다. 예컨대, 지연 회로(331)는 지연 버퍼로 구현될 수 있으나 이에 한정되는 것은 아니다. XOR 회로(333)는 슬레이브 클락 신호(TCLK')와 지연 회로(331)로부터 출력된 지연 클락 신호(dCLK)를 XOR 연산하고, 슬레이브 2x 오버샘플링 클락 신호 (S_2xCLK)를 생성할 수 있다.19 illustrates an embodiment of a clock generator that generates a slave 2x oversampling clock signal included in the second processing circuit illustrated in FIG. 18. Referring to FIG. 19, the
도 20은 도 18에 도시된 제2처리 회로에 포함된 슬레이브 2x 오버샘플링 클락 신호를 생성하는 클락 생성기의 실시 예를 나타낸다. 도 20을 참조하면, 클락 생성기(322B)는 플립-플롭(341), 인버터(343), 및 부정 배타 논리합(exclusive NOR (XNOR)) 회로(345)를 포함할 수 있다.FIG. 20 shows an embodiment of a clock generator that generates a slave 2x oversampling clock signal included in the second processing circuit illustrated in FIG. 18. Referring to FIG. 20, the
인버터(343)의 출력 신호는 플립-플롭(341)의 입력 신호로서 공급(또는 피드백)되고, XNOR 회로(345)의 출력 신호(S_2xCLK)는 플립-플롭(341)의 클락 신호로서 공급된다. 인버터(343)는 플립-플롭(341)의 출력 신호를 반전한다. XNOR 회로(345)는 인버터(343)의 출력 신호와 슬레이브 클락 신호(TCLK')를 XNOR 연산하고, 슬레이브 2x 오버샘플링 클락 신호(S_2xCLK)를 생성할 수 있다.The output signal of the
동기 검출 회로(324B)는, 전송 프레임(SPEEDY)에 포함된 각 비트 값을 샘플링하기 위해, 슬레이브 2x 오버샘플링 클락 신호(S_2xCLK)의 2개의 클락 위상들 중에서 어느 하나의 클락 위상을 선택할 수 있다. 동기 검출 회로(324B)는 유효 지시 신호(VALID), 데이터(DDATA), 및 위상 카운트(PCNT)를 제2데이터 처리 회로(328)로 전송할 수 있다.The
동기 검출 회로(324B)는 동기 회로(324-1B)와 FSM(324-2B)를 포함할 수 있다. 동기 검출 회로(324B)는 레지스터(324-3B)를 더 포함할 수 있다. 레지스터 (324-3B)는 에러 정보 또는 타임 아웃 정보를 저장할 수 있다.The
도 21은 도 18에 도시된 동기 검출 회로에 포함된 동기 회로의 실시 예를 나타내는 블록도이다. 동기 회로(324-1B)는 지연 회로(351)와 2개의 동기 장치들 (synchronizers; 353과 355)을 포함할 수 있다.21 is a block diagram illustrating an embodiment of a synchronization circuit included in the synchronization detection circuit shown in FIG. 18. The synchronization circuit 324-1B may include a
지연 회로(351)는 전송 프레임(SPEEDY)을 지연시킬 수 있다. 예컨대, 지연 회로(351)는 지연 버퍼로 구현될 수 있으나 이에 한정되는 것은 아니다.The
제1동기 장치(353)는 제1플립-플롭(353-1)과 제2플립-플롭(353-2)을 포함할 수 있다. 제1플립-플롭(353-1)은 슬레이브 2x 오버샘플링 클락 신호(S_2xCLK)에 응답하여 전송 프레임(SPEEDY)을 래치(또는 샘플링)할 수 있다. 제2플립-플롭(353-2)은 슬레이브 2x 오버샘플링 클락 신호(S_2xCLK)에 응답하여 제1플립-플롭(353-1)의 출력 신호를 래치하고, 데이터(SD0)를 출력할 수 있다.The first
제2동기 장치(355)는 제3플립-플롭(355-1)과 제4플립-플롭(355-2)을 포함할 수 있다. 제3플립-플롭(355-1)은 슬레이브 2x 오버샘플링 클락 신호(S_2xCLK)에 응답하여 지연 회로(351)의 출력 신호(dSPEEDY)를 래치(또는 샘플링)할 수 있다. 제4플립-플롭(355-2)은 슬레이브 2x 오버샘플링 클락 신호(S_2xCLK)에 응답하여 제3플립-플롭(355-1)의 출력 신호를 래치하고, 데이터(SD1)를 출력할 수 있다.The second
도 22는 본 발명의 실시 예에 따라 슬레이브 2x 오버샘플링 클락 신호를 이용하여 수행되는 동기화 과정을 설명하기 위한 신호들의 타이밍 도이다. 도 18부터 도 22를 참조하면, 클락 생성기(322B)는 55%의 듀티 사이클과 45%의 듀티 사이클을 갖는 슬레이브 2x 오버샘플링 클락 신호(S_2xCLK)를 주기적으로 생성할 수 있다고 가정하나 이에 한정되는 것은 아니다.22 is a timing diagram of signals for explaining a synchronization process performed using a slave 2x oversampling clock signal according to an embodiment of the present invention. 18 to 22, it is assumed that the
도 23은 도 18에 도시된 동기 검출 회로에 포함되고 슬레이브 2x 오버샘플링을 이용하여 동기화 과정을 수행하는 FSM의 상태 도이고, 도 24는 도 18에 도시된 동기 검출 회로에 포함되고 슬레이브 2x 오버샘플링을 이용하여 동기화 과정을 수행하는 FSM의 위상 카운트 작동을 설명하기 위한 상태 도이다.FIG. 23 is a state diagram of an FSM included in the synchronization detection circuit shown in FIG. 18 and performing a synchronization process using slave 2x oversampling, and FIG. 24 is a slave 2x oversampling included in the synchronization detection circuit shown in FIG. It is a state diagram for explaining the phase count operation of the FSM performing the synchronization process by using.
도 18부터 도 24를 참조하면, FSM(324-2B)은, 동기 회로(324-1B)에 의해 샘플링된 데이터(DDATA=SD0과 SD1), 수신 인에이블 신호(RxEN), 및 프레임 종료 신호 (EndFrame)를 이용하여, 유효 지시 신호(VALID)와 위상 카운트(PCNT)를 생성할 수 있다.18 to 24, the FSM 324-2B includes data sampled by the synchronization circuit 324-1B (DDATA=SD0 and SD1), a reception enable signal RxEN, and a frame end signal ( EndFrame) can be used to generate a valid indication signal (VALID) and a phase count (PCNT).
예컨대, 슬레이브 장치(300)가 수신 모드일 때 수신 인에이블 신호(RxEN)는 "1"로 활성화되고, 슬레이브 장치(300)가 송신 모드일 때 수신 인에이블 신호 (RxEN)는 "0"로 비활성화된다고 가정한다. 또한, 전송 프레임(SPEEDY)의 수신이 종료되지 않았을 때 프레임 종료 신호(EndFrame)는 "0"으로 비활성화되고, 전송 프레임(SPEEDY)의 수신이 종료되었을 때 프레임 종료 신호(EndFrame)는 "1"으로 활성화된다고 가정한다. 위상 카운트(PCNT)는 2x 오버샘플링 클락 신호(S_2xCLK)의 주기마다 2, 1 순서로 다운-카운트 된다고 가정하나, 실시 예에 따라 위상 카운트 (PCNT)는 2x 오버샘플링 클락 신호(S_2xCLK)의 주기마다 1, 2 순서로 업-카운트 될 수도 있다.For example, when the
예컨대, 동기 회로(324-1B)는, 슬레이브 2x 오버샘플링 클락 신호(S_2xCLK)의 두 번째 클락 위상을 이용하여, 시작 필드(START)의 시작 비트 값을 샘플링하고, 샘플된 비트 값들(SD0=0과 SD1=0)을 출력한다.For example, the synchronization circuit 324-1B samples the start bit value of the start field START using the second clock phase of the slave 2x oversampling clock signal S_2xCLK, and samples the sampled bit values (SD0=0). And SD1=0).
아이들 상태(IDLE)의 FSM(324-2B)은, 활성화된 수신 인에이블 신호(RxEN=1)와 두 번째 클락 위상의 상승 에지에서 샘플된 비트 값들(SD0=0과 SD1=0)에 응답하여, 동기화 완료 상태(SYNC_DONE)로 천이할 수 있다.The FSM 324-2B in the idle state (IDLE) responds to the activated receive enable signal (RxEN=1) and the bit values sampled at the rising edge of the second clock phase (SD0=0 and SD1=0). , Can transition to the synchronization complete state (SYNC_DONE).
그러나, 아이들 상태(IDLE)의 FSM(324-2B)은, 활성화된 수신 인에이블 신호 (RxEN=1)와 두 번째 클락 위상의 상승 에지에서 샘플된 비트 값들(SD0=0과 SD1=1)에 응답하여, 동기화 진행 상태(SYNC)로 천이할 수 있다.However, the FSM 324-2B in the idle state (IDLE) is based on the activated receive enable signal (RxEN=1) and the bit values sampled at the rising edge of the second clock phase (SD0=0 and SD1=1). In response, it may transition to a synchronization progress state (SYNC).
동기화 진행 상태(SYNC)에서, 에러 또는 글리치에 의해 활성화된 수신 인에이블 신호(RxEN)가 비활성화로 천이하거나 샘플된 비트 값(SD0)이 "1"로 천이할 때, FSM(324-2B)은 동기화 진행 상태(SYNC)로부터 아이들 상태(IDLE)로 천이하고 에러 신호(ERROR)를 생성할 수 있다. 에러 신호(ERROR)에 해당하는 비트는 레지스터(324-3B)에 저장될 수 있다.In the synchronization progress state (SYNC), when the receive enable signal (RxEN) activated by an error or glitch transitions to inactive or the sampled bit value (SD0) transitions to "1", the FSM 324-2B It is possible to transition from the synchronization progress state (SYNC) to the idle state (IDLE) and generate an error signal (ERROR). Bits corresponding to the error signal ERROR may be stored in the register 324-3B.
그러나, 동기화 진행 상태(SYNC)에서, 활성화된 수신 인에이블 신호(RxEN)가 유지되고 샘플된 비트 값들(SD0과 SD1) 각각이 "0"일 때, FSM(324-2B)은 동기화 진행 상태(SYNC)로부터 동기화 완료 상태(SYNC_DONE)로 천이할 수 있다.However, in the synchronization progress state (SYNC), when the activated receive enable signal RxEN is maintained and each of the sampled bit values (SD0 and SD1) is "0", the FSM 324-2B is in the synchronization progress state ( SYNC) can transition to the synchronization complete state (SYNC_DONE).
FSM(324-2b)은, 슬레이브 2x 오버샘플링 클락 신호(S_2xCLK)의 주기마다, 두 번째 클락 위상이 전송 프레임(SPEEDY)에 포함된 각 비트 값을 샘플링을 위한 클락 위상임을 지시하는 활성화된 유효 지시 신호(VALID)를 생성할 수 있다.The FSM 324-2b is an activated valid indication indicating that the second clock phase is a clock phase for sampling each bit value included in the transmission frame SPEEDY, for each period of the slave 2x oversampling clock signal S_2xCLK. A signal (VALID) can be generated.
제2데이터 처리 회로(328)는 슬레이브 2x 오버샘플링 클락 신호(S_2xCLK), 유효 지시 신호(VALID), 데이터(DDATA), 및 위상 카운트(PCNT)를 수신하고, 데이터 (DDATA)에 포함된 각 비트 값을 슬레이브 2x 오버샘플링 클락 신호(S_2xCLK)의 두 번째 클락 위상을 이용하여 샘플링할 수 있다. 제2데이터 처리 회로(328)는 동기 회로(324-1B)로부터 출력된 데이터(DDATA)에 포함된 각 비트 값을 슬레이브 2x 오버샘플링 클락 신호(S_2xCLK)의 두 번째 클락 위상을 이용하여 샘플링하고, 샘플링 결과에 따라 라이트 작동 또는 리드 작동을 위한 제어 신호들을 생성할 수 있다.The second
도 25는 4x 오버샘플링을 수행하는 장치에 포함된 동적 풀-업(dynamic pull-up) 저항을 제어하는 과정을 설명하기 위한 신호들의 타이밍 도이다.25 is a timing diagram of signals for explaining a process of controlling a dynamic pull-up resistance included in an apparatus for performing 4x oversampling.
전송 프레임(SPEEDY)이 싱글 와이어(110)를 통해 전송될 때, 전력 소모와 빠른 천이(transition)를 위해 각 풀-업 저항(271과 371)은 각 패드(214와 314)와 각 전압 라인을 분리할 수 있다. 즉, 각 풀-업 저항(271과 371)은 디스에이블된다. 그러나, 정지 필드(STOP)의 정지 비트가 싱글 와이어(110)를 통해 전송되는 동안, 풀-업 저항(271 또는 371)은 동적으로 제어될 수 있다.When the transmission frame (SPEEDY) is transmitted through a
마스터 장치(200)와 슬레이브 장치(300)가 동시에 싱글 와이어(110)를 구동 (drive)하면, 마스터 장치(200)와 슬레이브 장치(300) 각각의 에너지 손실이 크고 각 패드(214와 314)가 손상될 수 있다. 또한, 마스터 장치(200)와 슬레이브 장치(300) 모두가 싱글 와이어(110)를 구동하지 않으면, 싱글 와이어(110)를 통해 큰 쇼트 전류(short current)가 흐를 수 있고, 이에 따라 에너지 손실이 크고 마스터 장치(200)와 슬레이브 장치(300)는 불안정한 상태로 될 수 있다. 따라서, 방향 전환을 위해 풀-업 저항(271 또는 371)의 인에이블 또는 디스에이블은 제어되어야 한다.When the
마스터 장치(200)로부터 출력된 최종 데이터, 예컨대, 정지 필드(STOP) 직전 필드에 포함된 비트들 중에서 마지막 비트의 비트 값이 "0"일 때, 제1기간(I)에서 제1출력 인에이블 제어 신호(OEN1)는 활성화 상태이므로, 제1출력 드라이버(212)는 정지 비트(ODATA1)를 제1패드(214)로 강하게 드라이빙할 수 있다. 이에 따라, 전송 프레임(SPEEDY)에 포함된 정지 비트의 상승 시간(rising time)은 감소할 수 있다.When the last data output from the
제1기간(I)이 시작될 때, 제1풀-업 저항 제어 신호(PEN1)는 활성화된다. 따라서, 제1풀-업 저항(271)이 인에이블되므로, 제1작동 전압(VDD1)은 제1풀-업 저항 (271)과 제1패드(214)를 통해 싱글 와이어(110)로 공급될 수 있다. 예컨대, 인에이블된 제1풀-업 저항(271)의 저항값은 45㏀일 수 있으나 이에 한정되는 것은 아니다.When the first period I starts, the first pull-up resistance control signal PEN1 is activated. Therefore, since the first pull-up
제4기간(Ⅳ)이 시작될 때, 제2출력 인에이블 제어 신호(OEN2)는 활성화되므로, 제2출력 드라이버(312)는 제2패드(314)를 통해 싱글 와이어(110)로 비트 값을 전송할 수 있다.When the fourth period (IV) starts, the second output enable control signal OEN2 is activated, so the
도 25에 도시된 바와 같이, 제1기간(I)은 마스터 장치(200)로부터 출력된 전송 프레임(SPEEDY)이 싱글 와이어(110)를 통해 슬레이브 장치(300)로 전송되는 제1전송 기간(TxDATA)을 의미할 수 있다.As shown in FIG. 25, the first period (I) is a first transmission period (TxDATA) in which a transmission frame (SPEEDY) output from the
제2기간(Ⅱ)과 제3기간(Ⅲ)은, 출력 인에이블 신호들(OEN1과 OEN2) 모두가 비활성화된 상태에서, 제1풀-업 저항(271)에 의해 싱글 와이어(110)가 제1작동 전압(VDD1)으로 풀-업되고 있는 풀-업 기간(PULL-UP)을 의미할 수 있다.In the second period (II) and the third period (III), when all of the output enable signals OEN1 and OEN2 are deactivated, the
제4기간(Ⅳ)은 슬레이브 장치(300)로부터 출력된 전송 프레임(SPEEDY)이 싱글 와이어(110)를 통해 마스터 장치(200)로 전송되는 제2전송 기간(RxDATA)을 의미할 수 있다.The fourth period IV may mean a second transmission period RxDATA in which the transmission frame SPEEDY output from the
도 25에 도시된 바와 같이, 제1풀-업 저항 제어 신호(PEN1)의 활성화 기간은 안정된 방향 전환을 위해 가변적으로 제어될 수 있다. 예컨대, 제1제어 회로(270)는 제1풀-업 저항 제어 신호(PEN1)의 활성화 기간을 제어할 수 있다. 상기 활성화 기간을 제어할 수 있는 정보는 레지스터(272)에 설정 또는 프로그램될 수 있다. 방향 전환 타이밍은 각 출력 인에이블 제어 신호(OEN1와 OEN2)의 활성화 타이밍과 비활성화 타이밍에 의해 제어될 수 있다.As shown in FIG. 25, the activation period of the first pull-up resistance control signal PEN1 may be variably controlled for stable direction change. For example, the
제1전송 기간(TxDATA)은 제1출력 인에이블 제어 신호(OEN1)의 비활성화 시점에 의해 결정되고, 제1전송 기간(TxDATA) 동안 제1출력 드라이버(212)는 제1패드 (214)를 통해 싱글 와이어(110)를 제1방향으로 구동할 수 있다. 제2전송 기간 (RxDATA)은 제2출력 인에이블 제어 신호(OEN2)의 활성화 시점에 의해 결정되고, 제2출력 드라이버(312)는 제2패드(314)를 통해 싱글 와이어(110)를 제2방향으로 구동할 수 있다. 예컨대, 제1방향과 제2방향은 서로 반대 방향일 수 있다.The first transmission period TxDATA is determined by a deactivation point of the first output enable control signal OEN1, and during the first transmission period TxDATA, the
도 26은 2x 오버샘플링을 수행하는 장치에 포함된 동적 풀-업 저항을 제어하는 과정을 설명하기 위한 신호들의 타이밍 도이다.26 is a timing diagram of signals for explaining a process of controlling a dynamic pull-up resistance included in an apparatus for performing 2x oversampling.
제1기간(i)이 시작될 때, 제1풀-업 저항 제어 신호(PEN1)는 활성화된다. 따라서, 제1풀-업 저항(271)이 인에이블되므로, 제1작동 전압(VDD1)은 제1풀-업 저항 (271)과 제1패드(214)를 통해 싱글 와이어(110)로 공급될 수 있다.When the first period i starts, the first pull-up resistance control signal PEN1 is activated. Therefore, since the first pull-up
제1기간(i)에서 제1출력 드라이버(212)는 정지 비트 "1"을 제1패드(214)를 통해 싱글 와이어(110)로 드라이빙 한다. 제2기간(ⅱ)이 시작될 때, 제1출력 인에이블 신호(OEN1)는 비활성화된다. In the first period i, the
제3기간(①)에서 제2출력 인에이블 신호(OEN2)는 활성화되고, 제4기간(②)이 시작될 때, 제2출력 프레임(ODATA2)의 시작 비트는 "1"로부터 "0"으로 천이한다.In the third period (①), the second output enable signal OEN2 is activated, and when the fourth period (②) starts, the start bit of the second output frame ODATA2 transitions from "1" to "0". do.
도 26에 도시된 바와 같이, 제1풀-업 저항 제어 신호(PEN1)의 활성화 기간은 안정된 방향 전환을 위해 가변적으로 제어될 수 있다. 예컨대, 제1제어 회로(270)는 제1풀-업 저항 제어 신호(PEN1)의 활성화 기간을 제어할 수 있다. 상기 활성화 기간을 제어할 수 있는 정보는 레지스터(272)에 설정 또는 프로그램될 수 있다.As shown in FIG. 26, the activation period of the first pull-up resistance control signal PEN1 may be variably controlled for stable direction change. For example, the
도 25와 도 26에서, 제1풀-업 저항 제어 신호(PEN1)가 가변되는 범위는 빗금으로 표시되어 있다.In FIGS. 25 and 26, a range in which the first pull-up resistance control signal PEN1 is varied is indicated by hatching.
에러 검출 방법들은 다음과 같다.The error detection methods are as follows.
첫째, 도 14와 도 16을 참조하면, 동기화 진행 상태(SYNC)에서, 에러 또는 글리치에 의해 제2처리 회로(320)가 기능 불량(malfunction)으로 되는 것을 방지하지 위해 데이터(SD0)가 "1"로 검출되거나 수신 인에이블 신호(RxEN)가 "0"으로 검출되면, FSM(324-2)은 에러 신호(ERROR)를 에러 상태 레지스터(324-3)에 설정(또는 프로그램)하고 아이들 상태(IDLE)로 천이할 수 있다. 또한, 동기화가 실패했을 때, FSM(324-2)는 정지 필드(STOP)의 비트 값이 "1"인지를 확인하고, 에러 신호(ERROR)를 에러 상태 레지스터(324-3)에 설정(또는 프로그램)하고 아이들 상태(IDLE)로 천이할 수 있다.First, referring to FIGS. 14 and 16, in order to prevent the
둘째, 제2컨트롤러(370)는 예외적인 상황에서 싱글 와이어(110)를 통해 주고받는 프레임들 사이의 충돌을 방지하기 위해 마스터 장치(200)로부터 출력된 명령 프레임에 응답할 수 있는 최대 응답 시간(또는 최대 타임아웃 시간)을 제한할 수 있다. 상기 최대 응답 시간은 제2컨트롤러(370)에 의해 액세스될 수 있는 레지스터 (372)에 저장될 수 있고, 상기 최대 응답 시간은 제2컨트롤러(370)에 의해 레지스터(372)에 설정(또는 프로그램)될 수 있다.Second, the
슬레이브 장치(300)가 최대 응답 시간(또는 최대 타임아웃 시간) 내에 응답을 하지 못하는 경우, 제2컨트롤러(370)는 제2인에이블 제어 신호(OEN2)에 대한 제어권을 해제할 수 있다. 즉, 제2컨트롤러(370)는 비활성화된 제2인에이블 제어 신호(OEN2)를 생성할 수 있다. 제2컨트롤러(370)에 의해 제2인에이블 제어 신호 (OEN2)에 대한 제어권이 해제되었으므로, 마스터 장치(200)는 슬레이브 장치(300)의 상태를 판단할 수 없다. 따라서, 마스터 장치(200)는 레지스터(372)에 설정된 정보를 얻기 위한 명령 프레임을 슬레이브 장치(300)로 전송할 수 있다.When the
셋째, 마스터 장치(200)는 에러 검출을 위해 명령 프레임 또는 데이터 프레임에 패리티 비트(parity bit)를 추가할 수 있다. 패리티 비트를 추가하는 방법은 도 27을 참조하여 설명될 것이다.Third, the
도 27은 패리티 비트를 포함하는 본 발명의 프로토콜에 따른 명령 프레임 포맷과 데이터 프레임 포맷을 나타낸다. 패리티 비트 또는 체크 비트(check bit)는 이진 코드(binary code)의 스트링(string)의 마지막(end)에 추가되는 비트로서 상기 스트링에 포함된 값 "1"의 개수가 홀수인지 짝수인지를 나타낸다. 패리티 비트들은 에러 검출 코드(error detecting code)의 가장 간단한 형태로서 사용된다. 패리티 비트는 짝수 패리티 비트와 홀수 패리티 비트로 분류된다.27 shows a command frame format and a data frame format according to the protocol of the present invention including a parity bit. A parity bit or a check bit is a bit added to the end of a string of a binary code and indicates whether the number of values "1" included in the string is odd or even. Parity bits are used as the simplest form of error detecting code. Parity bits are classified into even parity bits and odd parity bits.
짝수 패리티 비트는 스트링에 포함된 전체 비트들에서 "1"의 개수가 짝수가 되도록 패리티 비트를 결정하는 것이고, 홀수 패리티 비트는 스트링에 포함된 전체 비트들 중에서 "1"의 개수가 홀수가 되도록 패리티 비트를 결정하는 것이다.The even parity bit determines the parity bit so that the number of "1s" is an even number among all bits included in the string, and the odd parity bit is the parity so that the number of "1" is odd among all the bits included in the string. It is to determine the beat.
실시 예에 따라, 마스터 장치(200)는 프레임(예컨대, 명령 프레임 또는 데이터 프레임)에 짝수 패리티 비트 또는 홀수 패리티 비트를 추가할 수 있다. 예컨대, 마스터 장치(200)의 제1프레임 생성기(210)는, 제1제어 회로(270)의 제어에 따라, 프레임(예컨대, 명령 프레임 또는 데이터 프레임)에 짝수 패리티 비트 또는 홀수 패리티 비트를 추가할 수 있다.According to an embodiment, the
슬레이브 장치(300)의 제2처리 회로(320)는 마스터 장치(200)로부터 전송된 프레임에 포함된 패리티 비트를 이용하여 상기 프레임의 오류를 검출하고, 검출 결과를 레지스터에 저장할 수 있다. 예컨대, 슬레이브 장치(300)는 수신된 프레임에서 오류가 검출되면 검출 결과를 마스터 장치(200)로 전송할 수 있고, 마스터 장치 (200)는 상기 검출 결과에 응답하여 상기 프레임을 슬레이브 장치(300)로 다시 전송할 수 있다.The
비록, 도 27의 (a)부터 (d)에서, 패리티 비트를 포함하는 패리티 비트 필드 (PARITY)가 각 프레임 포맷(FR1~FR4)의 정지 필드(STOP)의 바로 앞에 추가된 실시 예가 도시되어 있으나, 실시 예에 따라 패리티 비트 필드(PARITY)는 각 프레임 포맷(FR1~FR4)에서 다양한 위치에 추가될 수 있다. 예컨대, 패리티 비트는 1-비트일 수 있으나 이에 한정되는 것은 아니다.Although, in (a) to (d) of FIG. 27, an embodiment in which a parity bit field (PARITY) including a parity bit is added immediately before the stop field (STOP) of each frame format (FR1 to FR4) is shown. , According to an embodiment, the parity bit field PARITY may be added at various positions in each frame format FR1 to FR4. For example, the parity bit may be 1-bit, but is not limited thereto.
도 27의 (a)는 패리티 비트 필드(PARITY)를 포함하는 데이터 프레임 포맷 (FR1)을 나타내고, 도 27의 (b)는 패리티 비트 필드(PARITY)를 포함하는 버스트 명령 프레임 포맷(FR2)을 나타내고, 도 27의 (c)는 패리티 비트 필드(PARITY)를 포함하는 랜덤 명령 프레임 포맷(FR3)을 나타내고, 도 27의 (d)는 패리티 비트 필드 (PARITY)를 포함하는 명령 프레임(특별한 명령) 포맷(FR4)을 나타낸다.FIG. 27A shows a data frame format FR1 including a parity bit field PARITY, and FIG. 27B shows a burst command frame format FR2 including a parity bit field PARITY. , FIG. 27(c) shows a random command frame format (FR3) including a parity bit field (PARITY), and FIG. 27(d) is a command frame (special command) format including a parity bit field (PARITY). (FR4).
도 27의 (d)를 참조하면, 어드레스 필드(ADDRESS)에 포함된 비트들이 모두 "1"일 때, 슬레이브 장치(300)는 현재의 작동(예컨대, 라이트 작동 또는 리드 작동)을 중지하거나 리셋(reset)할 수 있다. 따라서, 슬레이브 장치(300)는 잘못된 명령을 수행하지 않을 수 있다.Referring to FIG. 27D, when all bits included in the address field ADDRESS are "1", the
비록, 도 27의 (d)에서는 어드레스 필드(ADDRESS)에 포함된 비트들이 모두 "1"인 실시 예가 도시되어 있으나, 어드레스 필드(ADDRESS)에 포함된 비트들이 장치들(200과 300) 사이에서 미리 정의된 특정한 비트들(또는 특정한 패턴)로 설정되면, 슬레이브 장치(300)는, 상기 미리 정의된 특정한 비트들에 응답하여, 현재의 작동을 중지하거나 리셋할 수 있다.Although, in (d) of FIG. 27, an embodiment in which the bits included in the address field ADDRESS are all "1" is shown, the bits included in the address field ADDRESS are previously When set to specific defined bits (or specific pattern), the
또한, 마스터 장치(200)가 비정상적인 프레임(예컨대, 도 2, 도 3, 도 4에 도시된 프레임 포맷에 맞지 않는 프레임)을 슬레이브 장치(300)로 전송하면, 슬레이브 장치(300)는 상기 비정상적인 프레임에 응답하여 현재의 작동을 중지하거나 리셋할 수 있다.In addition, when the
도 28은 패리티 인에이블 레지스터와 패리티 상태 레지스터를 포함하는 슬레이브 장치를 포함하는 데이터 처리 시스템의 블록도이다. 도 1과 도 28을 참조하면, 슬레이브 장치(300)는 도 1에 도시된 구성 요소들(310, 312, 314, 316, 320, 370, 및 371) 이외에 패리티 인에이블 레지스터(381)와 패리티 상태 레지스터(383)를 더 포함할 수 있다.28 is a block diagram of a data processing system including a slave device including a parity enable register and a parity status register. 1 and 28, the
도 29는 패리티 인에이블 과정을 설명하기 위한 본 발명의 프로토콜에 따른 프레임 포맷의 실시 예이다. 이때, 패리티 인에이블 레지스터(381)와 패리티 상태 레지스터(383)는 동일한 레지스터라고 가정하나 이에 한정되는 것은 아니다.29 is an embodiment of a frame format according to the protocol of the present invention for explaining a parity enable process. In this case, the parity enable
도 28과 도 29의 (a)를 참조하면, 마스터 장치(200)는 패리티 인에이블 레지스터(381)에 인에이블을 위한 비트를 라이트하기 위한 라이트 프레임, 즉 라이트 명령 프레임을 싱글 와이어(110)를 통해 슬레이브 장치(300)로 출력할 수 있다. 예컨대, 패리티 인에이블 레지스터(381)는 어드레스 필드(ADDRESS)에 포함된 비트들에 의해 결정될 수 있다.Referring to FIGS. 28 and 29A, the
도 28과 도 29의 (b)를 참조하면, 마스터 장치(200)는 패리티 인에이블 레지스터(381)에 인에이블을 위한 비트들(22'b0000000000000000000001)을 라이트하기 위해 데이터 프레임을 싱글 와이어(110)를 통해 슬레이브 장치(300)로 출력할 수 있다. 따라서, 패리티 인에이블 레지스터(381)에는 인에이블을 위한 비트들 (22'b0000000000000000000001)이 저장될 수 있다.Referring to FIGS. 28 and 29B, the
도 28과 도 29의 (c)를 참조하면, 마스터 장치(200)는 패리티 상태 레지스터 (383)에 저장된 비트들(22'b0000000000000000000001)을 리드하기 위한 명령 프레임, 예컨대 패리티 필드(PARITY)를 포함하는 리드 명령 프레임을 싱글 와이어(110)를 통해 슬레이브 장치(300)로 출력할 수 있다. 슬레이브 장치(300)는, 상기 리드 명령 프레임에 응답하여, 패리티 상태 레지스터 (383)에 저장된 비트들 (22'b0000000000000000000001)을 리드하고, 리드된 비트들 (22'b0000000000000000000001)을 포함하는 데이터 프레임, 예컨대, 패리티 필드 (PARITY)를 포함하는 리드 데이터 프레임을 마스터 장치(200)로 전송할 수 있다.28 and 29(c), the
도 30은 패리티 디스에이블 과정을 설명하기 위한 본 발명의 프로토콜에 따른 프레임 포맷의 실시 예이다. 이때, 패리티 인에이블 레지스터(381)와 패리티 상태 레지스터(383)는 동일한 레지스터라고 가정하나 이에 한정되는 것은 아니다.30 is an embodiment of a frame format according to the protocol of the present invention for explaining a parity disable process. In this case, the parity enable
도 28과 도 30의 (a)를 참조하면, 마스터 장치(200)는 패리티 인에이블 레지스터(381)에 디스에이블을 위한 비트를 라이트하기 위한 라이트 프레임, 즉 라이트 명령 프레임을 싱글 와이어(110)를 통해 슬레이브 장치(300)로 출력할 수 있다. 예컨대, 패리티 인에이블 레지스터(381)는 어드레스 필드(ADDRESS)에 포함된 비트들에 의해 결정될 수 있다.Referring to FIGS. 28 and 30A, the
도 28과 도 30의 (b)를 참조하면, 마스터 장치(200)는 패리티 인에이블 레지스터(381)에 디스에이블을 위한 비트들(22'b0000000000000000000000)을 라이트하기 위해 데이터 프레임을 싱글 와이어(110)를 통해 슬레이브 장치(300)로 출력할 수 있다. 따라서, 패리티 인에이블 레지스터(381)에는 디스에이블을 위한 비트들 (22'b0000000000000000000001)이 저장될 수 있다.Referring to FIGS. 28 and 30B, the
도 28과 도 30의 (c)를 참조하면, 마스터 장치(200)는 패리티 상태 레지스터 (383)에 저장된 비트들(22'b0000000000000000000001)을 리드하기 위한 명령 프레임, 예컨대 패리티 필드(PARITY)를 포함하는 리드 명령 프레임을 싱글 와이어(110)를 통해 슬레이브 장치(300)로 출력할 수 있다. 슬레이브 장치(300)는, 상기 리드 명령 프레임에 응답하여, 패리티 상태 레지스터 (383)에 저장된 비트들 (22'b0000000000000000000001)을 리드하고, 리드된 비트들 (22'b0000000000000000000001)을 포함하는 데이터 프레임, 예컨대, 패리티 필드 (PARITY)를 포함하는 리드 데이터 프레임을 마스터 장치(200)로 전송할 수 있다.28 and 30(c), the
도 31은 도 1에 도시된 마스터 장치가 도 1에 도시된 슬레이블 장치의 파워 모드를 제어하는 과정을 설명하는 타이밍 도이다.FIG. 31 is a timing diagram illustrating a process in which the master device shown in FIG. 1 controls the power mode of the slave device shown in FIG. 1.
도 1, 도 14, 도 18, 및 도 31을 참조하면, 데이터 처리 시스템(100)이 부트 (boot)될 때, 슬레이브 장치(300)는 저전력 작동을 위해 슬립 상태(SLEEP)로 작동할 수 있다. 도 31에 예시적으로 도시된 바와 같이, 슬레이브 장치(300)가 슬립 상태(SLEEP)에서 작동할 때, 마스크 회로(327-2)는 로우 레벨을 갖는 인에이블 신호(EN)에 응답하여 클락 신호(TCLK)의 전송을 차단할 수 있다.1, 14, 18, and 31, when the
인에이블 신호 생성기(327-1)는, 제2패드(314)를 통해 입력된 신호, 예컨대 전송 프레임(SPEEDY)에 포함된 신호에 기초하여, 인에이블 신호(EN)의 활성화 또는 비활성화를 제어할 수 있다. 예컨대, 인에이블 신호 생성기(327-1)는, 제2패드 (314)를 통해 입력된 신호의 상승 에지를 검출하고, 검출 결과에 따라 하이 레벨을 갖는 인에이블 신호(EN)를 생성할 수 있다. 마스크 회로(327-2)는, 하이 레벨을 갖는 인에이블 신호(EN)에 응답하여, 클락 신호(TCLK)를 출력 클락 신호(TCLK')로서 출력할 수 있다. 따라서, 슬레이브 장치(300)는 슬립 상태(SLEEP)로부터 정상 상태 (NORMAL)로 변경될 수 있으므로, 슬레이브 장치(300)는 웨이크업될 수 있다.The enable signal generator 327-1 may control activation or deactivation of the enable signal EN based on a signal input through the
예컨대, 마스터 장치(200)는 슬립 상태(SLEEP)에 있는 슬레이브 장치(300)를 웨이크업 상태(또는 웨이크업 모드)로 변경하기 위해 웨이크업 신호(WUS)를 슬레이브 장치(300)로 전송할 수 있다.For example, the
마스터 장치(200)는 정상 상태(NORMAL)에 있는 슬레이브 장치(300)를 슬립 상태(SLEEP)로 변경하기 위해 명령(예컨대, 슬립 상태를 위한 명령(CSM))을 슬레이브 장치(300)로 전송할 수 있다. 슬립 상태를 위한 명령(CSM)은 전송 프레임 (SPEEDY)으로서 마스터 장치(200)로부터 슬레이브 장치(300)로 전송될 수 있다. 예컨대, 인에이블 신호 생성기(327-1)는, 슬립 상태를 위한 명령(SPEEDY=CSM)을 이용하여, 로우 레벨을 갖는 인에이블 신호(EN)를 생성할 수 있다. 따라서, 마스크 회로(327-2)는 클락 신호(TCLK)가 클락 생성기(322A 또는 322B)로 공급되는 것을 차단할 수 있다. 클락 신호(TCLK)의 공급이 차단됨에 따라, 슬레이브 장치(300)에서 소모되는 전력은 감소될 수 있다.The
상술한 바와 같이, 마스터 장치(200)는 슬레이브 장치(300)를 슬립 상태 (SLEEP) 또는 정상 상태(NORMAL)로 작동시킬 수 있는 신호, 예컨대 전송 프레임 (SPEEDY)을 싱글 와이어(110)를 통해 슬레이브 장치(300)로 전송할 수 있다. 예컨대, 슬립 상태(SLEEP)는 아이들 상태를 포함할 수 있고, 정상 상태(NORMAL)는 웨이크-업 상태를 포함할 수 있다.As described above, the
도 32는 본 발명의 실시 예에 따른 클락 게이팅 회로를 나타내고, 도 33은 도 32에 도시된 클락 게이팅 회로의 타이밍 도를 나타낸다. 도 1, 도 14, 도 18, 도 31, 도 32, 및 도 33을 참조하면, 마스터 장치(200)는 슬레이브 장치(300)의 상태를 슬립 상태(SLEEP)로 제어하기 위해 POR(power on reset) 신호를 사용하거나 슬립 레지스터(327-3)에 슬립 상태를 위한 슬립 명령(SLEEP_CMD)을 라이트할 수 있다. 실시 예에 따라, 슬립 상태를 위한 명령(SLEEP_CMD)은 전송 프레임(SPEEDY)을 통해 인에이블 신호 생성기(327-1)로 전송될 수 있다.32 shows a clock gating circuit according to an embodiment of the present invention, and FIG. 33 shows a timing diagram of the clock gating circuit shown in FIG. 32. 1, 14, 18, 31, 32, and 33, the
예컨대, POR 신호가 하이 레벨로 천이하면, 각 플립 플롭(327-3, 327-6, 및 327-7)은 하이 레벨을 갖는 출력 신호(Q)를 래치할 수 있다. 따라서, 인버터(327-4)는 로우 레벨을 갖는 출력 신호(즉, 인에이블 신호(EN))를 출력하므로, 마스크 회로(327-2)는 클락 신호(TCLK)의 전송을 차단할 수 있다.For example, when the POR signal transitions to the high level, each flip-flop 327-3, 327-6, and 327-7 may latch the output signal Q having the high level. Accordingly, since the inverter 327-4 outputs an output signal having a low level (ie, the enable signal EN), the mask circuit 327-2 may block transmission of the clock signal TCLK.
슬레이브 장치(300)가 정상 상태(NORMAL)일 때, 즉, 인에이블 신호(EN)가 하이 레벨일 때, 마스크 회로(327-2)는 클락 신호(TCLK)를 출력 클락 신호(TCLK')로 출력할 수 있다.When the
슬레이브 장치(300)의 상태를 정상 상태(NORMAL)로부터 슬립 상태(SLEEP)로 변경하기 위해, 마스터 장치(200)는 슬립 명령(SLEEP_CMD)을 슬레이브 장치(300)로 전송할 수 있다. 예컨대, 슬립 명령(SLEEP_CMD)은 전송 프레임(SPEEDY)으로 전송될 수 있다. 슬립 상태(SLEEP)에서, 인에이블 신호 생성기(327-1)는 로우 레벨을 갖는 인에이블 신호(EN)를 생성하고, 마스크 회로(327-2)는 클락 신호(TCLK)의 전송을 차단할 수 있다.In order to change the state of the
슬레이브 장치(300)의 상태를 슬립 상태(SLEEP)로부터 정상 상태(NORMAL)로 변경하기 위해, 마스터 장치(200)는 정상 상태 명령(CMD)을 슬레이브 장치(300)로 전송할 수 있다. 예컨대, 정상 상태 명령(CMD)은 전송 프레임(SPEEDY)으로 전송될 수 있다. 전송 프레임(SPEEDY)이 "1"로 될 때, 인에이블 신호 생성기(327-1)는 하이 레벨을 갖는 인에이블 신호(EN)를 생성하고, 마스크 회로(327-2)는 클락 신호(TCLK)를 출력 클락 신호(TCLK')로서 출력할 수 있다. 제1시점(T1)에서 슬레이브 장치(300)의 상태는 정상 상태(NORMAL)로부터 슬립 상태(SLEEP)로 변경될 수 있고, 제2시점(T2)에서 슬레이브 장치(300)의 상태는 슬립 상태(SLEEP)로부터 정상 상태(NORMAL)로 변경될 수 있다.In order to change the state of the
도 34는 본 발명의 실시 예에 따른 데이터 처리 시스템의 블록도이다. 도 1과 도 34를 참조하면, 마스터 장치(200-1)는 각 슬레이브 장치(300-1~300-8)를 제어할 수 있는 프로세서를 의미할 수 있다. 마스터 장치(200-1)와 각 슬레이브 장치 (300-1~300-8) 사이에는 서로 독립적인 싱글 와이어가 접속될 수 있다. 상술한 같이, 마스터 장치(200-1)는 베이스밴드 모뎀 프로세서 칩, 모뎀의 기능과 AP의 기능을 함께 수행할 수 있는 칩, AP 또는 모바일 AP로 구현될 수 있으나 이에 한정되는 것은 아니다.34 is a block diagram of a data processing system according to an embodiment of the present invention. 1 and 34, the master device 200-1 may mean a processor capable of controlling each of the slave devices 300-1 to 300-8. Single wires independent of each other may be connected between the master device 200-1 and each of the slave devices 300-1 to 300-8. As described above, the master device 200-1 may be implemented as a baseband modem processor chip, a chip capable of performing both a modem function and an AP function, an AP, or a mobile AP, but is not limited thereto.
슬레이브 장치들은 RFIC(300-1), PMIC(300-2), 전력 공급 모듈(300-3), 제2RFIC(300-4), 센서(300-5), 지문 인식 칩(300-6), 터치 스크린 컨트롤러(300-7), 및 DDI(digital display interface 또는 display driver IC) 칩(300-8)을 포함할 수 있다. RFIC(300-1)는 적어도 하나의 연결 칩을 포함할 수 있다. 예컨대, 연결 칩은 이동 통신을 위한 칩, WLAN 통신을 위한 칩, 블루투스 통신을 위한 칩, GNSS 통신을 위한 칩, FM 오디오/비디오를 처리하기 위한 칩, NFC, 및/또는 Wi-Fi 통신을 위한 칩을 포함할 수 있으나 이에 한정되는 것을 아니다.The slave devices are RFIC (300-1), PMIC (300-2), power supply module (300-3), second RFIC (300-4), sensor (300-5), fingerprint identification chip (300-6), A touch screen controller 300-7 and a digital display interface or display driver IC (DDI) chip 300-8 may be included. The RFIC 300-1 may include at least one connection chip. For example, the connection chip is a chip for mobile communication, a chip for WLAN communication, a chip for Bluetooth communication, a chip for GNSS communication, a chip for processing FM audio/video, NFC, and/or for Wi-Fi communication. It may include a chip, but is not limited thereto.
도 35는 본 발명의 실시 예에 따른 데이터 처리 시스템의 블록도이다. 도 1과 도 35를 참조하면, 데이터 처리 시스템(100-2)은 마스터 장치(200A), 슬레이브 장치(300), 제1클락 소스(370) 및 제2클락 소스(370-1)를 포함할 수 있다. 제1클락 소스(370)는 제1주파수를 갖는 제1클락 신호(MCLK)를 생성하고, 제2클락 소스(370-1)는 제2주파수를 갖는 제2클락 신호(TCLK)를 생성한다고 가정한다.35 is a block diagram of a data processing system according to an embodiment of the present invention. 1 and 35, the data processing system 100-2 may include a
마스터 장치(200A)의 위상 동기 루프(phase locked loop(PLL); 280)는 제1클락 신호(MCLK)를 수신하고, 제2주파수를 갖는 제2클락 신호(TCLK)를 생성할 수 있다. 즉, PLL(280)은 슬레이브 장치(300)의 제2처리 회로(320)로 공급되는 제2클락 신호(TCLK)와 동일한 주파수를 갖는 제2클락 신호(TCLK)를 생성하고, 제2클락 신호 (TCLK)를 제1처리 회로(220)로 공급할 수 있다.The phase locked loop (PLL) 280 of the
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.The present invention has been described with reference to the embodiments shown in the drawings, but these are only exemplary, and those of ordinary skill in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention should be determined by the technical idea of the attached registration claims.
100, 100-1, 100-2: 데이터 처리 시스템
110: 싱글 와이어
200, 200A: 마스터 장치
210: 제1프레임 생성기
212: 제1출력 드라이버
214: 제1패드
216: 제1입력 버퍼
220: 제1처리 회로
270: 제1제어 회로
271: 제1풀-업 저항
300: 슬레이브 장치
310: 제2프레임 생성기
312: 제2출력 드라이버
314: 제2패드
316: 제2입력 버퍼
320: 제2처리 회로100, 100-1, 100-2: data processing system
110: single wire
200, 200A: master device
210: first frame generator
212: first output driver
214: first pad
216: first input buffer
220: first processing circuit
270: first control circuit
271: first pull-up resistance
300: slave device
310: second frame generator
312: second output driver
314: second pad
316: second input buffer
320: second processing circuit
Claims (20)
싱글 와이어를 통해 어드레스를 포함하는 명령 프레임과 데이터를 포함하는 데이터 프레임을 상기 슬레이브 장치와 주고받는 하나의 패드; 및
클락 신호로부터 오버샘플링 클락 신호를 생성하고, 상기 오버샘플링 클락 신호의 클락 위상들 중에서 하나의 클락 위상을 선택하는 동기화 과정과, 상기 슬레이브 장치로부터 전송된 상기 데이터 프레임에 포함된 각 비트 값을 상기 동기화 과정에서 선택된 클락 위상과 동일한 위치에 존재하는 클락 위상을 이용하여 샘플링하는 샘플링 과정을 수행하는 처리 회로를 포함하는 마스터 장치.In a master device capable of communicating with a slave device,
A single pad for transmitting and receiving a command frame including an address and a data frame including data to and from the slave device through a single wire; And
A synchronization process of generating an oversampling clock signal from a clock signal, selecting one of the clock phases of the oversampling clock signal, and synchronizing each bit value included in the data frame transmitted from the slave device. A master device comprising a processing circuit that performs a sampling process for sampling by using a clock phase present at the same position as the clock phase selected in the process.
상기 명령 프레임과 상기 데이터 프레임 각각은 시작 비트 값과 정지 비트 값을 포함하고,
상기 처리 회로는 상기 시작 비트 값에 대해 상기 동기화 과정을 수행하는 마스터 장치.The method of claim 1,
Each of the command frame and the data frame includes a start bit value and a stop bit value,
The processing circuit is a master device that performs the synchronization process on the start bit value.
적어도 두 개의 플립-플롭들을 포함하는 동기 검출 회로; 및
데이터 처리 회로를 포함하고,
상기 동기 검출 회로는, 상기 적어도 두 개의 플립-플롭들을 이용하여, 상기 선택된 클락 위상과 관련된 클락 위상 선택 신호들을 상기 오버샘플링 클락 신호의 주기마다 생성하고,
상기 데이터 처리 회로는, 상기 오버샘플링 클락 신호의 주기마다, 상기 클락 위상 선택 신호들과 관련된 클락 위상을 이용하여 상기 데이터 프레임에 포함된 상기 각 비트 값을 샘플링하는 마스터 장치.The method of claim 1, wherein the processing circuit,
A synchronization detection circuit including at least two flip-flops; And
Including data processing circuitry,
The synchronization detection circuit, using the at least two flip-flops, generates clock phase selection signals related to the selected clock phase for each period of the oversampling clock signal,
The data processing circuit, for each period of the oversampling clock signal, samples each bit value included in the data frame by using a clock phase associated with the clock phase selection signals.
상기 오버샘플링 클락 신호는 4x 오버샘플링 클락 신호인 마스터 장치.The method of claim 3,
The oversampling clock signal is a 4x oversampling clock signal.
상기 오버샘플링 클락 신호는 2x 오버샘플링 클락 신호인 마스터 장치.The method of claim 3,
The oversampling clock signal is a 2x oversampling clock signal.
상기 싱글 와이어는 상기 클락 신호를 상기 슬레이브 장치로 전송하는 클락 라인을 포함하지 않는 마스터 장치. The method of claim 1,
The single wire does not include a clock line for transmitting the clock signal to the slave device.
상기 마스터 장치에서 사용되는 상기 클락 신호의 주파수는 상기 슬레이브 장치에서 사용되는 클락 신호의 주파수와 동일한 마스터 장치.The method of claim 1,
The frequency of the clock signal used in the master device is the same as the frequency of the clock signal used in the slave device.
풀-업 저항 제어 신호에 응답하여 전압 공급 라인과 상기 하나의 패드의 접속을 제어하는 풀-업 저항; 및
상기 하나의 패드에 접속된 출력 드라이버를 더 포함하는 마스터 장치.The method of claim 1, wherein the master device,
A pull-up resistor for controlling a connection between a voltage supply line and the one pad in response to a pull-up resistor control signal; And
Master device further comprising an output driver connected to the one pad.
상기 명령 프레임에 포함된 정지 비트 값이 상기 출력 드라이버를 통해 상기 하나의 패드로 전송될 때, 상기 풀-업 저항 제어 신호를 활성화하는 제어 회로를 더 포함하는 마스터 장치.The method of claim 8, wherein the master device,
And a control circuit for activating the pull-up resistance control signal when a stop bit value included in the command frame is transmitted to the one pad through the output driver.
패리티 비트를 포함하는 상기 명령 프레임을 생성하는 프레임 생성기를 더 포함하는 마스터 장치.The method of claim 1, wherein the master device,
The master device further comprises a frame generator for generating the command frame including a parity bit.
싱글 와이어를 통해 어드레스를 포함하는 명령 프레임과 데이터를 포함하는 데이터 프레임을 상기 마스터 장치와 주고받는 하나의 패드; 및
클락 신호로부터 오버샘플링 클락 신호를 생성하고, 상기 오버샘플링 클락 신호의 클락 위상들 중에서 하나의 클락 위상을 선택하고, 상기 마스터 장치로부터 전송된 상기 데이터 프레임에 포함된 각 비트 값을 선택된 클락 위상을 이용하여 샘플링하는 처리 회로를 포함하는 슬레이브 장치.In the slave device that can communicate with the master device,
A single pad for transmitting and receiving a command frame including an address and a data frame including data to and from the master device through a single wire; And
Generate an oversampling clock signal from a clock signal, select one of the clock phases of the oversampling clock signal, and use the selected clock phase for each bit value included in the data frame transmitted from the master device. A slave device including a processing circuit for sampling and sampling.
적어도 두 개의 플립-플롭들을 포함하는 동기 검출 회로; 및
데이터 처리 회로를 포함하고,
상기 동기 검출 회로는, 상기 적어도 두 개의 플립-플롭들을 이용하여, 상기 하나의 클락 위상과 관련된 클락 위상 선택 신호들을 상기 오버샘플링 클락 신호의 주기마다 생성하고,
상기 데이터 처리 회로는, 상기 오버샘플링 클락 신호의 주기마다, 상기 클락 위상 선택 신호들과 관련된 상기 하나의 클락 위상을 이용하여 상기 데이터 프레임에 포함된 상기 각 비트 값을 샘플링하는 슬레이브 장치.The method of claim 11, wherein the processing circuit,
A synchronization detection circuit including at least two flip-flops; And
Including data processing circuitry,
The synchronization detection circuit, using the at least two flip-flops, generates clock phase selection signals related to the one clock phase for each period of the oversampling clock signal,
The data processing circuit, for each period of the oversampling clock signal, samples each bit value included in the data frame by using the one clock phase related to the clock phase selection signals.
상기 오버샘플링 클락 신호는 4x 오버샘플링 클락 신호인 슬레이브 장치.The method of claim 12,
The oversampling clock signal is a 4x oversampling clock signal.
상기 오버샘플링 클락 신호는 2x 오버샘플링 클락 신호인 슬레이브 장치.The method of claim 12,
The oversampling clock signal is a 2x oversampling clock signal.
상기 싱글 와이어는 상기 클락 신호를 전송하는 클락 라인을 포함하지 않는 슬레이브 장치.The method of claim 11,
The single wire is a slave device that does not include a clock line for transmitting the clock signal.
상기 슬레이브 장치에서 사용되는 상기 클락 신호의 주파수는 상기 마스터 장치에서 사용되는 클락 신호의 주파수와 동일한 슬레이브 장치.The method of claim 11,
The frequency of the clock signal used in the slave device is the same as the frequency of the clock signal used in the master device.
풀-업 저항 제어 신호에 응답하여 전압 공급 라인과 상기 하나의 패드의 접속을 제어하는 풀-업 저항; 및
상기 하나의 패드에 접속된 출력 드라이버를 더 포함하는 슬레이브 장치.The method of claim 11, wherein the slave device,
A pull-up resistor for controlling a connection between a voltage supply line and the one pad in response to a pull-up resistor control signal; And
The slave device further comprising an output driver connected to the one pad.
상기 명령 프레임에 포함된 정지 비트 값이 상기 출력 드라이버를 통해 상기 하나의 패드로 전송될 때, 상기 풀-업 저항 제어 신호를 활성화하는 제어 회로를 더 포함하는 슬레이브 장치.The method of claim 17, wherein the slave device,
And a control circuit for activating the pull-up resistance control signal when a stop bit value included in the command frame is transmitted to the one pad through the output driver.
하나의 제2패드와 상기 하나의 제2패드에 접속된 처리 회로를 포함하는 슬레이브 장치; 및
상기 하나의 제1패드와 상기 하나의 제2패드 사이에 접속된 싱글 와이어를 포함하고,
상기 처리 회로는 클락 신호로부터 오버샘플링 클락 신호를 생성하고, 상기 오버샘플링 클락 신호의 클락 위상들 중에서 하나의 클락 위상을 선택하고, 상기 마스터 장치로부터 전송된 프레임에 포함된 각 비트 값을 선택된 클락 위상을 이용하여 샘플링하는 데이터 처리 시스템.A master device including one first pad;
A slave device including one second pad and a processing circuit connected to the one second pad; And
Including a single wire connected between the one first pad and the one second pad,
The processing circuit generates an oversampling clock signal from a clock signal, selects one of the clock phases of the oversampling clock signal, and selects each bit value included in the frame transmitted from the master device. A data processing system that samples by using.
풀-업 저항 제어 신호에 응답하여 전압 공급 라인과 상기 하나의 패드의 접속을 제어하는 풀-업 저항; 및
상기 하나의 패드에 접속된 출력 드라이버를 더 포함하는 데이터 처리 시스템.The method of claim 19, wherein the slave device,
A pull-up resistor for controlling a connection between a voltage supply line and the one pad in response to a pull-up resistor control signal; And
A data processing system further comprising an output driver connected to the one pad.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/072,470 US9755821B2 (en) | 2015-04-02 | 2016-03-17 | Device including single wire interface and data processing system including the same |
US15/677,202 US9882711B1 (en) | 2015-04-02 | 2017-08-15 | Device including single wire interface and data processing system including the same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562141924P | 2015-04-02 | 2015-04-02 | |
US62/141,924 | 2015-04-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160118902A KR20160118902A (en) | 2016-10-12 |
KR102254255B1 true KR102254255B1 (en) | 2021-05-21 |
Family
ID=57173491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150099858A KR102254255B1 (en) | 2015-04-02 | 2015-07-14 | Device including single wire interface and data processing system having the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102254255B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210115278A (en) | 2020-03-12 | 2021-09-27 | 주식회사 실리콘웍스 | Data communication method in display device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130322461A1 (en) | 2012-06-01 | 2013-12-05 | Research In Motion Limited | Multiformat digital audio interface |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6178161B1 (en) * | 1997-10-31 | 2001-01-23 | Nortel Networks Corporation | Communications methods and apparatus |
-
2015
- 2015-07-14 KR KR1020150099858A patent/KR102254255B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130322461A1 (en) | 2012-06-01 | 2013-12-05 | Research In Motion Limited | Multiformat digital audio interface |
Also Published As
Publication number | Publication date |
---|---|
KR20160118902A (en) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9882711B1 (en) | Device including single wire interface and data processing system including the same | |
KR102328014B1 (en) | Device including single wire interface and data processing system having the same | |
US10241953B2 (en) | Dynamic data-link selection over common physical interface | |
EP2619907B1 (en) | Incorporating an independent logic block in a system-on-a-chip | |
CN110018975B (en) | Mobile device and interface method thereof | |
KR102450296B1 (en) | Device including digital interface with mixture of synchronous and asynchronous communication, digital processing system including the same, and method of digital processing performed by the same | |
US9575552B2 (en) | Device, method and system for operation of a low power PHY with a PCIe protocol stack | |
US20200008144A1 (en) | Link speed control systems for power optimization | |
JP2017528946A (en) | System and method for inter-chip communication | |
US11249932B2 (en) | Device, apparatus and system to reduce current leakage during differential communications | |
US11513584B2 (en) | Method and apparatus to save power in USB repeaters/re-timers | |
EP3275156B1 (en) | Apparatus, system and method for sharing physical layer logic across multiple protocols | |
US11520727B2 (en) | Sideband signaling in a peripheral component interconnect (PCI) express (PCIE) link | |
KR102254255B1 (en) | Device including single wire interface and data processing system having the same | |
US20190042521A1 (en) | Asymmetrical embedded universal serial bus (eusb) link | |
JP6596901B2 (en) | Data transfer control device and electronic device using the same | |
WO2023159415A1 (en) | Adaptive low-power signaling to enable link signal error recovery without increased link clock rates |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right |