KR20160128430A - 양방향 동기화/제어 워드 라인을 갖는 직렬 시간 분할 멀티플렉싱된 버스 - Google Patents

양방향 동기화/제어 워드 라인을 갖는 직렬 시간 분할 멀티플렉싱된 버스 Download PDF

Info

Publication number
KR20160128430A
KR20160128430A KR1020167029731A KR20167029731A KR20160128430A KR 20160128430 A KR20160128430 A KR 20160128430A KR 1020167029731 A KR1020167029731 A KR 1020167029731A KR 20167029731 A KR20167029731 A KR 20167029731A KR 20160128430 A KR20160128430 A KR 20160128430A
Authority
KR
South Korea
Prior art keywords
bus
synchronization
transmission
tdm
control signals
Prior art date
Application number
KR1020167029731A
Other languages
English (en)
Other versions
KR101790484B1 (ko
Inventor
지롱 탕
코스로 모하마드 라비
매튜 데이비드 시엔코
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20160128430A publication Critical patent/KR20160128430A/ko
Application granted granted Critical
Publication of KR101790484B1 publication Critical patent/KR101790484B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0644External master-clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0652Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/048Speed or phase control by synchronisation signals using the properties of error detecting or error correcting codes, e.g. parity as synchronisation signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

일 피처는 오디오 코더-디코더 (코덱) 서브시스템 (즉, 원격 노드) 와 오디오 프로세싱 서브시스템 (즉, 로컬 노드) 를 상호접속하는 직렬 시간 분할 멀티플렉싱된 버스의 동기화와 관련된다. 제어 신호들은 오디오 프로세싱 시스템으로부터 오디오 코덱 서비스시스템으로 버스의 양방향 송신 라인을 따라 송신된다. 오디오 프로세싱 서브시스템은 제어 신호들이 송신될 때 내부 상태 머신 위상 카운트를 추적한다. 오디오 코덱 서브시스템은 또한, 신호들이 수신될 때 내부 상태 머신 위상 카운트를 추적한다. 오디오 프로세싱 서브시스템에 의한 제어 신호들의 송신은, 오디오 코덱 서브시스템이, 오디오 프로세싱 서브시스템이 동기화를 검증하기 위해 사용하는, 오디오 프로세싱 서브시스템으로 동기화 표시자 신호를 역 송신하는 것을 허용하기 위해 위상 카운트에 기초하여 시간의 고정된 간격에 대해 주기적으로 일시정지 또는 중단된다. 이것은, 예를 들어 120 위상 카운트 마다 한번 수행될 수도 있다.

Description

양방향 동기화/제어 워드 라인을 갖는 직렬 시간 분할 멀티플렉싱된 버스{SERIAL TIME-DIVISION-MULTIPLEXED BUS WITH BIDIRECTIONAL SYNCHRONIZATION/CONTROL WORD LINE}
관련 출원들에 대한 상호 참조
이 출원은 2014 년 3 월 27 일에 미국 특허청 (USPTO) 에 출원된 U.S. 정규 특허 출원 제 14/227,235 호에 대해 우선권을 주장한다.
다양한 피처들은 직렬 시간 분할 멀티플렉싱된 (TDM) 버스 시스템들에 관한 것이고, 특히 무선 컴퓨팅 디바이스들과 함께 사용하기 위한 오디오 TDM 버스 시스템들에 관한 것이다.
기술에서의 진보들은 더 작고 더 강력한 모바일 또는 무선 컴퓨팅 디바이스들, 예컨대 모바일 전화기들, 개인용 디지털 보조기들 및 테블릿 컴퓨터들을 야기하고 있다. 모바일 전화기들 및 테블릿 컴퓨터들은 무선 네트워크들을 통해 음성 및 데이터 패킷들을 통신할 수 있다. 또한, 많은 무선 디바이스들은 디지털 스틸 카메라들, 디지털 비디오 카메라들, 디지털 레코더들 및 오디오 파일 플레이어들과 같은 통합된 컴포넌트 디바이스들을 포함한다. 또한, 무선 디바이스들은 웹 브라우저 어플리케이션들 또는 다른 소프트웨어 어플리케이션들을 제공하기 위해 실행가능한 명령들을 프로세싱할 수 있다.
오디오 프로세싱과 관련되는 한에 있어서는, 무선 디바이스들이 오디오 코더/디코더 (CODEC)(코덱) 서브시스템 및 별도의 오디오 프로세싱 서브시스템을 포함할 수 있다. 오디오 코덱 서브시스템은, 예를 들어 하나 이상의 코덱들, 마이크로폰들 (MIC들), 헤드폰 인터페이스 (HPH I/F), 및 하나 이상의 스피커들을 포함할 수도 있다. 오디오 코덱 서브시스템은, 무선 디바이스의 다른 컴포넌트들에 차례로 접속되는, 오디오 프로세싱 서브시스템으로부터 오디오 데이터를 수신한다. 버스는 오디오 코덱 서브시스템과 오디오 프로세싱 서브시스템, 예컨대 직렬 저전력 칩간 미디어 버스 (SLIMbus) 또는 다른 직렬 시간 분할 멀티플렉싱된 (TDM) 버스 시스템 사이에 제공될 수도 있다. 오디오 코덱 서브시스템 및 오디오 프로세싱 서브시스템은 서로와 동기될 필요가 있는 상태 머신들로 간주될 수도 있다. 현재의 디바이스들에 있어서, 동기화는 통상적으로 패킷 프레이밍 등을 포함하는 상당한 대응 소프트웨어 오버헤드로 버스의 모든 클록 상에서 수행된다.
이에 따라, 무선 디바이스들과 함께 사용하기 위한 개선된 TDM 버스를 제공하기 위한 필요성이 존재한다.
일 양태에 있어서, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스에 접속된 제 1 디바이스에 의해 동작가능한 그 버스를 제어하기 위한 방법은, 버스에 또한 접속된 제 2 디바이스에 버스의 양방향 송신 라인을 따라 제어 신호들을 송신하는 단계; 양방향 송신 라인을 따라 제 2 디바이스에 제어 신호들이 송신될 때 제 1 디바이스의 위상 카운트를 추적하는 단계; 제 1 디바이스가 양방향 송신 라인을 따라 제 2 디바이스로부터 동기화 표시자를 획득하는 것을 허용하기 위해 위상 카운트에 기초하여 제어 신호들의 송신을 일시적으로 중단하는 단계; 및 제 1 디바이스에 의해 송신이 일시적으로 중단되는 동안 제 2 디바이스로부터 동기화 표시자 신호가 획득되는지 여부에 기초하여 제 1 및 제 2 디바이스들의 동기화를 검증하는 단계를 포함한다.
다른 양태에 있어서, 양방향 송신 라인을 갖는 직렬 시간 분할 멀티플렉싱된 (TDM) 버스에 커플링된 제 1 디바이스의 프로세싱 회로는, 제 2 디바이스에 양방향 송신 라인을 따라 제어 신호들을 송신하고; 양방향 송신 라인을 따라 제 2 디바이스에 제어 신호들이 송신될 때 위상 카운트를 추적하고; 제 1 디바이스가 양방향 송신 라인을 따라 제 2 디바이스로부터 동기화 표시자를 획득하는 것을 허용하기 위해 위상 카운트에 기초하여 제어 신호들의 송신을 일시적으로 중단하며; 그리고 송신이 일시적으로 중단되는 동안 제 2 디바이스로부터 동기화 표시자 신호가 획득되는지 여부에 기초하여 제 2 디바이스와의 동기화를 검증하도록 구성된다.
또 다른 양태에 있어서, 디바이스는, 버스에 접속된 제 2 상태 머신에 버스의 양방향 송신 라인을 따라 제어 신호들을 송신하는 수단; 양방향 송신 라인을 따라 제 2 상태 머신에 제어 신호들이 송신될 때 제 1 상태 머신의 위상 카운트를 추적하는 수단; 제 1 디바이스가 양방향 송신 라인을 따라 제 2 상태 머신으로부터 동기화 표시자를 획득하는 것을 허용하기 위해 위상 카운트에 기초하여 제어 신호들의 송신을 일시적으로 중단하는 수단; 및 제 1 상태 머신에 의해 송신이 일시적으로 중단되는 동안 제 2 상태 머신으로부터 동기화 표시자 신호가 획득되는지 여부에 기초하여 제 1 및 제 2 상태 머신들의 동기화를 검증하는 수단을 포함한다.
또 다른 양태에 있어서, 프로세서 판독가능 저장 매체는 하나 이상의 명령들을 갖고, 하나 이상의 명령들은, 적어도 하나의 프로세싱 회로에 의해 실행될 때, 적어도 하나의 프로세싱 회로로 하여금, 제 1 디바이스로부터 제 2 디바이스로 직렬 시간 분할 멀티플렉싱된 (TDM) 버스의 양방향 송신 라인을 따라 제어 신호들을 송신하게 하고, 양방향 송신 라인을 따라 제 2 디바이스에 제어 신호들이 송신될 때 제 1 디바이스의 위상 카운트를 추적하게 하고; 제 1 디바이스가 양방향 송신 라인을 따라 제 2 디바이스로부터 동기화 표시자를 획득하는 것을 허용하기 위해 위상 카운트에 기초하여 제어 신호들의 송신을 일시적으로 중단하게 하며; 그리고 제 1 디바이스에 의해 송신이 일시적으로 중단되는 동안 제 2 디바이스로부터의 동기화 표시자 신호의 수신에 기초하여 제 1 및 제 2 디바이스들의 동기화를 검증하게 한다.
도 1 은 예시적인 예에 따른 모바일 통신 디바이스의 컴퓨팅 플랫폼 프로세싱 시스템을 도시한다.
도 2 는 함께 사용하기 위해 선택되는 컴포넌트들과 함께, 오디오 프로세싱 서브시스템 및 오디오 코덱 서브시스템을 포함하는, 도 1 의 예시적인 프로세싱 시스템의 오디오 프로세싱 모듈을 도시한다.
도 3 은 도 2 의 오디오 프로세싱 모듈과 함께 사용하기 위한 예시적인 직렬 TDM 버스를 도시한다.
도 4 는 도 2 의 오디오 프로세싱 모듈과 함께 사용하기 위한 직렬 TDM 버스 동기화의 개요를 제공한다.
도 5 는 도 2 의 오디오 프로세싱 모듈의 예시적인 동기화 컴포넌트들을 도시한다.
도 6 은 도 2 의 오디오 프로세싱 모듈과 함께 사용하기 위한 예시적인 타이밍 신호들을 도시한다.
도 7 은 도 2 의 오디오 프로세싱 모듈과 함께 사용하기 위한 예시적인 사이클 리던던시 체크 (CRC) 디바이스를 도시한다.
도 8 은 오디오 프로세싱 모듈 내에서 사용하기 위한 도 7 의 예시적인 CRC 컴포넌트들을 도시한다.
도 9 는 도 2 의 오디오 코덱 서브시스템 내에서 사용하기 위한 예시적인 역직렬화기 컴포넌트들 및 디지털-아날로그 (DAC) 컴포넌트들을 도시한다.
도 10 은 도 2 의 오디오 프로세싱 서브시스템 내에서 사용하기 위한 예시적인 직렬화기 컴포넌트들 및 아날로그-디지털 (ADC) 컴포넌트들을 도시한다.
도 11 은 TDM 버스 동기화에서 사용하기 위한 예시적인 로컬 노드 상태 머신을 도시하며, 로컬 노드는 오디오 프로세싱 서브시스템일 수도 있다.
도 12 는 도 11 의 로컬 노드 상태 머신 디바이스에 의해 동작가능한 절차들을 도시한다.
도 13 은 도 11 의 로컬 노드 상태 머신에 의해 동작가능한 절차들을 추가로 도시한다.
도 14 는 도 11 의 로컬 노드 상태 머신 디바이스에 의해 동작가능한 부가 절차들을 도시한다.
도 15 는 TDM 버스 동기화에서 사용하기 위한 예시적인 원격 노드 상태 머신 디바이스를 도시하며, 원격 노드는 오디오 코덱 서브시스템일 수도 있다.
도 16 은 도 15 의 원격 노드 상태 머신 디바이스에 의해 동작가능한 절차들을 도시한다.
도 17 은 도 1 내지 도 16 의 디바이스들 및 시스템들의 컴포넌트들이 통합될 수도 있는 예시적인 프로세싱 시스템을 도시한다.
다음의 기재에서, 특정 상세들은 개시물의 다양한 양태들의 철저한 이해를 제공하기 위해 주어진다. 하지만, 당업자는 이들 특정 상세들 없이도 양태들이 실시될 수도 있다는 것을 이해할 것이다. 예를 들어, 회로들은 불필요한 상세로 양태들을 모호하게 하는 것을 회피하기 위해 블록 다이어그램들로 나타낼 수도 있다. 다른 경우들에서, 잘 알려진 회로들, 구조들 및 기법들은 개시물의 양태들을 모호하게 하지 않도록 하기 위해 상세하게 나타내지 않을 수도 있다.
단어 "예시적인" 은 본 명세서에서 "예, 예증, 또는 예시로서 작용하는" 을 의미하도록 사용된다. 본 명세에서 "예시적인" 으로서 기재된 임의의 구현 또는 양태가 반드시 개시물의 다른 양태들 보다 바람직하거나 이로운 것으로 해석되지 않는다. 마찬가지로, 용어 "양태들" 은 개시물의 모든 양태들이 논의된 피처, 이점 또는 동작의 모드를 포함하는 것을 필요로 하지 않는다.
개요
몇몇 신규 피처들은 직렬 TDM 버스와 함께 사용하기 위한 디바이스들 및 방법들에 관련된다. 신규 피처들은, 버스에 접속된 하나 이상의 디바이스들 또는 상태 머신들, 예컨대 오디오 프로세싱 서브시스템들 및 오디오 코덱 서브시스템들의 상태 머신들에 사용될 수도 있지만, 광범위의 시스템들, 장치 및 디바이스들에 그리고 다양한 목적들을 달성하기 위해 적용가능하다.
일 양태에 있어서, 제어 신호들은 오디오 프로세싱 서브시스템 (즉, 로컬 노드) 으로부터 오디오 코덱 서브시스템 (즉, 원격 노드) 의 상태 머신으로 TDM 버스의 양방향 송신 라인을 따라 송신된다. 본 명세서에서, 특히 라인이 SYNC 신호들 및 제어 워드들 (CW들) 을 송신하기 위해 제공되는 본 예들에서는, 양방향 송신 라인이 양방향 SYNC/CW 라인으로서 또한 지칭될 수도 있다. 로컬 노드는 제어 신호들이 원격 노드로 송신될 때 그 상태 머신의 위상 카운트를 추적한다. 원격 노드는 또한 제어 신호들이 수신될 때 그 자신의 상태 머신의 위상 카운트를 추적한다. 위상 카운트는, 예를 들어 양방향 송신 라인을 통해 송신되고 있는 제어 신호들의 비트 카운트일 수도 있다. 로컬 노드에 의한 제어 신호들의 송신은 원격 노드가 동기화 표시자 신호 (예를 들어, SYNC 신호) 를 로컬 노드로 역 전송하는 것을 허용하기 위해 시간의 간격 (예를 들어, 1 클록 사이클) 동안 일시적으로 중단되거나 일시정지된다. 이것은 원격 노드의 상태 머신의 N 위상 카운트들 마다 한 번 수행되며, 여기서 N 은 예를 들어, 120 일 수도 있다.
로컬 노드는 그 후 로컬 노드에 의한 송신이 일시적으로 중단될 때의 간격 동안 SYNC 신호의 수신에 기초하여 동기화를 검증한다. 이와 관련하여, 로컬 노드는, 송신이 일시적으로 중단되는 동안의 간격 동안 로컬 노드에 의해 SYNC 신호가 수신되는 경우 버스가 적절히 동기되는 (즉, 로컬 및 원격 노느들이 동기되는) 것을 검출한다. 대조적으로, 로컬 노드는, 송신이 일시적으로 중단되는 동안의 간격 동안 SYNC 신호가 수신되지 않는 경우 버스가 동기되지 않은 (즉, 2 개의 노드들이 동기로부터 벗어나는) 것을 검출한다. 이러한 방식으로, 로컬 및 원격 노드 상태 머신들의 양자가 동일한 위상 카운트에 있는 한, 원격 노드는 로컬 노드가 송신을 일시중단했을 때의 시간의 간격 동안 동기화 표시자 신호를 송신할 것이다. 이로써 로컬 노드는 SYNC 신호를 수신하고 버스가 적절히 동기되는 것을 검증할 것이다. 로컬 및 원격 노드들의 상태 머신들이 동기화로부터 이탈하고 더 이상 동일한 위상 카운트에 있지 않은 경우, 원격 노드는 로컬 노드가 송신을 일시중단했을 때의 시간의 간격 동안 SYNC 신호를 송신하지 않을 것이다. 이로써 로컬 노드는 그 간격 동안 SYNC 신호를 수신하지 않을 것이고 이로써 동기화의 결여를 검출할 것이다. 그러한 경우, 로컬 노드는 버스가 재동기되고 데이터가 재송신되어야 하는 것을 표시하기 위해 인터럽트 또는 다른 적절한 신호를 생성한다. 이러한 방식으로, 버스 동기화는 로컬 및 원격 노드들의 상태 머신들의 위상들에 기초하여 수행된다. 버스 시스템은 루프의 지속기간이 카운트들의 미리 결정된 수에 대응하는 지연 록 루프 (DLL) 를 효과적으로 동작한다.
SYNC 신호는, 로컬 노드에 의한 송신이 중단되었을 때의 간격 동안 로컬 노드에 의한 수신을 위해 양방향 송신 라인을 통해 원격 노드에 의해 신뢰성있게 송신될 수 있는 임의의 적절한 신호일 수도 있다. 예를 들어, SYNC 신호는 단일 펄스 또는 펄스들의 미리 결정된 시퀀스일 수 있다. 일부 예들에서, 원격 노드는 그 위상을 나타내는 디지털 값을 송신하였을 수도 있지만 그러한 것이 필요하지는 않다. 본 명세서에 기재된 다양한 예들에서, SYNC 신호가 예상될 때의 시간의 간격 동안 로컬 노드에 의한 신호의 수신 결여는 동기화의 결여를 표시하는 것으로 여겨진다. 이에 따라, 그러한 시간의 간격 동안 양방향 송신 라인 상에서 로컬 노드에 의해 검출가능한 신호가 수신되는 한, 이에 의해 동기화가 검증된다.
사이클릭 리던던시 체크 (CRC) 는 양방향 송신 라인 상에서 송신된 제어 워드들의 송신 문제들을 검출하기 위해 로컬 노드 내에서 및 원격 노드 내에서 모두 사용될 수도 있다. 로컬 및 원격 상태 머신들의 위상들이 동기되지 않고 및/또는 CRC 가 실패하는 경우, 버스의 재동기화 및 데이터의 재송신을 트리거하기 위해 인터럽트가 발행될 수 있다. 전용 버스 클록을 사용하기 보다는, 마스터 시스템 클록이 버스의 DLL 을 설정하기 위해 파워 업 훈련 사이클 또는 학습 모드와 함께 사용될 수도 있다. 다른 이점들 중에서, 본 명세서에 기재된 예시적인 직렬 TDM 버스 시스템들의 적어도 일부는, 적은 또는 최소 핀 카운트들, 적은 또는 최소 하드웨어 (HW), 낮은 레이턴시 및 지터, 낮은 전력 소모 및 에러 탄력성 (error-resiliency) 을 제공한다. "기성 (off-the-shelf)" 버스 보다는 "전매 (proprietary) 버스의 사용이 시장에서의 제품의 어태치 레이트 (attach rate) 를 제어하는 것을 돕는다. 일부 예들에서, 버스는 버스의 수신측 상에 백 개 미만의 게이트들을 사용하면서 비트 레이트들이 4.9 MHz 이상인 .18 μm (미크론) 상보형 금속 산화물 반도체 (CMOS) 기술 (또는 유사한 플랫폼들) 로 구현된다. 본 명세서에 기재된 다양한 예시적인 예들에 있어서, 직렬 TDM 버스는 고 비트 레이트 (예를 들어, 4.9 메가헤르쯔 (MHz)) 로 디바이스의 오디오 프로세싱 서브시스템에 디바이스의 오디오 코덱 서브시스템을 접속하기 위해 저비용 모바일 디바이스들 (예컨대, 테블릿 컴퓨터들 또는 스마트폰들) 에서의 사용을 위해 제공된다. 일부 예들에서, 버스는, 6 개의 라인들 또는 레인들: 오디오 프로세싱 서브시스템으로부터 코덱 서브시스템으로의 2 개의 고 대역폭 오디오 데이터 송신 라인들; 코덱 서브시스템으로부터 오디오 프로세싱 서브시스템으로의 2 개의 고 대역폭 오디오 데이터 수신 라인들; 저 대역폭 양방향 SYNC/제어 워드 (CW) 라인; 및 클록 (CLK) 라인을 갖는다. 양방향 SYNC/CW 라인은 양방향 송신 라인이고; 모든 다른 라인들은 일방향성이다. 데이터 및 제어 신호 무결성은 데이터 패킷 프레이밍이 적거나 없는 소프트웨어 보다는 하드웨어를 통해 주로 모니터링된다. 이것은, 상태 머신 동기화 결여의 검출을 허용하기 위해 수신측 (예를 들어, 오디오 코덱) 이 주기적으로 그 위상 (또는 비트) 카운트의 표시자를 송신측 (예를 들어, 오디오 프로세싱 서브시스템) 으로 전송하는, 버스의 대향측들 상의 상태 머신들 사이에서 위상내 동작을 보장하기 위해 양방향 SYNC/CW 라인을 사용함으로써 달성된다. 즉, 동기화는 고대역폭 오디오 데이터에 대해 대역외에서 수행된다.
예시적인 하드웨어 환경 및 절차들
도 1 은 다양한 신규 피처들이 이용될 수도 있는 일 예에 따른 모바일 통신 디바이스의 무선 컴퓨팅 플랫폼 프로세싱 시스템 (100) 의 예시적인 아키텍처를 도시한다. 시스템 (100) 은 Qualcomm Incorporated 에 의해 제조된 Snapdragon™프로세서와 같은 시스템 온 칩 (SoC) 프로세서의 일부에 대응하거나 그 일부를 형성할 수도 있는, 메인 프로세싱 회로 (102) 를 포함한다. 이 예에서, 프로세싱 회로 (102) 는 3G/4G 모뎀 (104), WiFi 컴포넌트 (106), 글로벌 포지셔닝 시스템 (GPS) 컴포넌트 (108), Bluetooth™ (BT) 무선 서브시스템 (110) 및 접속 프로세서 (112) 를 포함한다. 프로세싱 회로 (102) 는, 이 예에서, 보안 디지털 (SD) 카드들, 유니버설 직렬 버스 (USB) 스틱들 등과 같은, 외부 모듈들 및 디바이스들 (120) 과 함께 사용하기 위한 주변 디바이스/인터페이스 컴포넌트 (118) 을 갖는 주변/외부 디바이스 서브시스템을 포함한 다양한 다른 시스템들, 서브시스템들, 모듈들 및 컴포넌트들에 상호접속들 및 외부 메모리 저장 모듈 (114) 을 통해 접속된다. 시스템 (100) 은 또한, 온도 보상 수정 발전기들 (TCXO들), 위상 록 루프들 (PLL들), 클록 생성기들, 배터리 충전 회로 및 전력 관리자, 및 배터리 모니터 및 플랫폼 리소스/전력 관리자 (별도로 도시되지 않음) 를 포함할 수도 있는 전력/클록 모듈 (122) 를 포함한다. 어플리케이션 프로세싱 서브시스템 (130) 은, 주문형 집적 회로 (ASIC) 와 같은, 어플리케이션 프로세서 (133) 및 캐시 (131) 를 포함할 수도 있다. 활성 디바이스/센서 모듈 (132) 은 활성 디바이스들, 센서들, 및 저전력 센서 플랫폼을 포함할 수도 있다. 멀티스펙트럼 멀티뷰 이미지 신호 프로세서 (ISP)(138) 는 디스플레이들의 보정/최적화/향상을 위해 제공된다. ISP (138) 는 또한 다양한 멀티미디어 프로세서들 및 가속기들을 포함할 수도 있다. 메모리 저장 모듈 (140) 은 온칩 메모리 스토리지 (142), 어플리케이션 데이터 무버 (144) 및 그래픽스 프로세서 유닛 상의 범용 컴퓨팅 (GPGPU)(146) 을 포함한다. 디스플레이 모듈 (148) 은 디스플레이 프로세서 제어기 및 디스플레이 드라이버/터치 스크린 제어기 및 패널 컴포넌트 (별도로 나타내지 않음) 을 포함할 수도 있다. 보안 서브시스템 (154) 이 또한 제공된다.
또한, 하나 이상의 마이크로폰들 (MIC들), 스피커들 (SPKR) 및 헤드폰 인터페이스 (HPH I/F) 에 대한 접속들을 제공하는, 오디오 코덱 서브시스템 (160) 및 오디오 프로세싱 서브시스템 (158) 을 포함하는 오디오 프로세싱 모듈 또는 시스템 (156) 이 제공된다. 헤드폰 (164) 은 별도이고 외부 디바이스이기 때문에 팬텀 라인들로 나타낸다. 직렬 TDM 버스 (166) 는 오디오 프로세싱 서브시스템 (158) 및 오디오 코덱 서브시스템 (160) 을 상호접속한다.
오디오 프로세싱 서브시스템 (158) 을 포함하는 시스템 (100) 의 컴포넌트들의 일부는, 별도로 나타내지 않은 이동국 모뎀 (MSM) 의 부분을 형성한다. 오디오 코덱 서브시스템 (160) 을 포함하는 시스템 (100) 의 다른 컴포넌트들은 마찬가지로 별도로 나타내지 않은 전력 관리 집적 회로 (PMIC) 의 부분을 형성한다. 이로써, 성능 또는 비용의 이유로, 코덱 서브시스템 (160) 은 오디오 프로세싱 서브시스템 (158) 과는 별개이고, 이 2 개의 컴포넌트들을 접속하기 위해 버스 (166) 가 제공된다. 다양한 다른 내부 버스 라인들 또는 접속 라인들이 다양한 서브시스템들 또는 모듈들을 상호접속하기 위해 시스템 (100) 내에 나타나 있다는 것을 또한 유의한다. 간결 및 명료함을 위해, 다양한 서브시스템들 또는 모듈들 중에 또는 사이에 이러한 다른 접속 라인들 또는 버스들은 나타내지 않는다. 도 1 은 무선 컴퓨팅 플랫폼 내에 채용될 수도 있는 모든 컴포넌트들 또는 서브컴포넌트들을 도시하기 위해 의도된 것이 아니라 단지 예시적인 하드웨어 환경의 선택된 피처들을 나타내기 위해서만 의도되는 것을 이해해야 한다.
도 2 는 무선 컴퓨팅 플랫폼 프로세싱 시스템 (200) 의 예를 도시하며, 여기에서는 단지 몇몇 선택된 컴포넌트들만이 나타나 있다. 오디오 코덱 서브시스템 (260) 및 오디오 프로세싱 서브시스템 (258) 은 다시 직렬 TDM 버스 (266) 에 의해 상호접속된다. 도면에 나타낸 다른 컴포넌트들은 헤드폰 (264)(팬텀 라인들로 다시 나타냄), 저전력 센서 플랫폼 (236), BT 서브시스템 (210), 보안 서브시스템 (254), 및 주변 디바이스 서브시스템 (216) 을 포함한다. 도면은 또한, 디지털 멀티미디어 헤드폰 인터페이스 (270), 주파수 변조 (FM) 디지털 오디오 브로드캐스트 (DAB)-디지털 하이브리드 브로드캐스트 (DHB) 서브시스템 (272), 및 SLIMbus (276) 및 별도의 NOC 버스 (278) 를 상호접속하는, SLIMbus 네트워크 온 칩 (NOC)/브리지 (274) 를 포함한, 도 2 에 나타내지 않은 몇몇 컴포넌트들을 나타낸다.
직렬 TDM 버스 (266) 는 낮은 또는 최소 핀 카운트 및 낮은 또는 최소 HW 로 멀티 채널 실시간 오디오 인터페이스로서 구성될 수도 있다. 본 명세서에 기재된 적어도 일부 예들에서, 직렬 TDM 오디오 인터페이스 버스 (266) 는 DAC 트래픽의 4 개의 채널들에 4.8 MSPS (mega-samples per second) @ 2 비트/샘플 (예를 들어, 9.6 Mbps (mega-bits per second)) 의 샘플링 주파수 (FS); 5 비트의 제어 워드; 18 비트의 벅 레귤레이터 (Buck-Regulator) 및 4 개의 전하 펌프 제어를 제공하도록 구성된다. 직렬 TDM 버스 (266) 는 ADC 트래픽의 4 개의 채널들에 4.8 MSPS 및 2 비트/샘플 (예를 들어, 9.6Mbps) 를 제공한다. 전력 소비는 링크 에러 검출/통지로 활성 (~10mW); 대기 (1mW 미만) 및 전원 차단 (~5uW) 일 수도 있다. 이들은 단지 예시적인 값들이다.
도 3 은 오디오 프로세싱 서브시스템 (358) 의 로컬 노드 (380)(MSM 의 부분을 형성할 수도 있음) 및 오디오 코덱 서브시스템 (360) 의 원격 노드 (382)(PMIC 의 일부를 형성할 수도 있음) 를 상호접속하는 직렬 TDM 버스 (366) 의 컴포넌트들을 도시하는, 오디오 프로세싱 모듈 (356) 의 예를 도시한다. TDM 버스의 컴포넌트들은 컴포넌트들을 강조하기 위해 실선들로 나타내며, 반면 다른 컴포넌트들은 팬텀 라인들로 나타낸다. 이러한 특정 예에 있어서, TDM 버스 (366) 는 한쌍의 일방향 "순방향" 송신 라인들 또는 레인들 (384 및 386), 한쌍의 일방향 "역방향" 송신 라인들 또는 레인들 (388 및 390) 을 포함한다. 양방향 SYNC/CW 라인 또는 레인 (392) 는 또한 클록 (CLK) 라인 (394) 과 함께 제공된다. TDM 버스의 6 개의 라인들의 각각은 또한 입력 및 출력 단자들에서 앰프들 또는 다른 적절한 디바이스들을 포함한다. 특히, TX0 라인 (384) 은 적절한 단자들을 통해 입력/출력 (I/O) 앰프들 (306 및 308) 에 접속된다. TX1 라인 (386) 은 적절한 단자들을 통해 앰프들 (310 및 312) 에 접속된다. RXO 라인 (388) 은 적절한 단자들을 통해 앰프들 (314 및 316) 에 접속된다. RX1 라인 (390) 은 적절한 단자들을 통해 앰프들 (318 및 320) 에 접속된다. 양방향 SYNC/CW 라인 (392) 은 로컬 노드로부터 원격 노드로 제어 워드들을 송신하기 위해 절절한 단자들을 통해 앰프들 (302 및 304) 에 접속된다. 양방향 SYNC/CW 라인은 또한, 원격 노드로부터 로컬 노드로 SYNC 신호를 송신하기 위해 앰프들 (322 및 324) 에 동일한 단자들을 통해 접속된다. 앰프 (302) 는 제어 신호 (303) 을 수신하고 앰프 (342) 는 제어 신호 (325) 를 수신한다는 것을 유의한다. 하기에서 설명될 바와 같이, 제어 신호들은 방향 (DIR) 제어 신호들이며, 이는 양방향 SYNC/CW 라인 (392) 이 선택되거나 변경되는 것을 허용한다. 이것은 하기에서 더욱 상세하게 기재될 것이다. 도 3 의 예에서, 클록은 입력 라인 (398) 을 통해 시스템 CLK 소스 (396)(예를 들어, 19.2 MHz) 로부터 도출된다. 클록 신호는, (도시되지 않은 접속 라인을 통해) 로컬 노드 (380) 로 피드되고 그 후 I/O 앰프들 (326 및 328) 에 커플링된 클록 (CLK) 라인 (394) 를 통해 원격 노드 (382) 에 릴레이된다.
일 예에 있어서, TDM 버스 (366) 는 (시스템 CLK 소스 (396) 을 통해) 19.2 MHz 호스트 클록을 사용하여 시스템 동기 인터페이스를 제공하며 다음의 신호들을 채용한다: 오디오 코덱 서브시스템 (360) 의 오디오 프로세서 데이터를 DAC들 (이 특정 도면에는 나타내지 않음) 에 전달하기 위한 TX[1:0]; 오디오 코덱 서브시스템으로부터 오디오 프로세싱 서브시스템에 ADC 데이터를 전달하기 위한 RX[1:0]; 로컬 및 원격 노드들의 직렬화기/역직렬화기 컴포넌트들 (또한 이 특정 도면에는 나타내지 않음) 을 동기화하기 위한 SYNC; 오디오 코덱 서브시스템에 오디오 프로세싱 서브시스템으로부터의 제어 신호들의 전달을 위한 CW; 및 인터페이스 클록을 제공하기 위한 CLK. 이러한 구성에 의해, 로컬 노드 (380)(또는 그 부분들) 은 오디오 프로세싱 서브시스템 (358) 의 상태 머신으로서 간주될 수도 있다. 원격 노드 (382)(또는 그 부분들) 은 오디오 코덱 서브시스템 (360) 의 상태 머신으로서 간주될 수도 있다.
도 4 는 도 1 내지 도 3 의 직렬 TDM 버스의 동기화의 개요를 제공하며, 여기서 오디오 프로세싱 서브시스템 로컬 노드에 의해 수행되는 동작들 (400) 은 좌측에 나타내고, 오디오 코덱 서브시스템 원격 노드에 의해 수행되는 동작들 (402) 은 우측에 나타낸다. 단계 (404) 에서 시작하여, 로컬 노드는 로컬 노드 상태 머신의 대응 위상 카운트를 추적하는 동안 및 다양한 별도의 고 데이터 레이트 일방향 데이터 라인들 상에서 오디오 데이터를 송신/수신하는 동안 위에서 언급된 양방향 SYNC/CW 라인을 따라 원격 노드에 제어 신호들 (예를 들어, 제어 워드들 (CW들)) 을 송신한다. CW 신호들 및 대응 데이터의 원격 노드로의 송신은 쇄선 라인 (406) 을 통해 나타낸다. 동시에, 단계 (408) 에서, 오디오 코덱 서브시스템의 원격 노드는 원격 노드의 대응 상태 머신 위상 카운트를 추적하는 동안 및 별도의 일방향 데이터 라인들 상에서 오디오 데이터를 수신/송신하면서 양방향 SYNC/CW 라인을 따라 CW 제어 신호들을 수신한다.
단계 (410) 에서, 원격 노드는 동기화를 검증하기 위해 로컬 노드에 양방향 라인 상의 동기화 표시자 (SYNC) 신호를 주기적으로 송신한다. 예를 들어, 원격 노드는 120 단계들 또는 비트들 마다 한번 (또는 임의의 다른 적절한 수의 단계들 N 을 사용하여) SYNC 신호를 송신할 수도 있다. 동시에, 단계 (414) 에서, 로컬 노드는 원격 노드로부터 SYNC 신호를 수신하기 위해 양방향 SYNC/CW 라인 상에서 그 제어 신호들의 송신을 일시정지 또는 중단한다. 이로써, 원격 노드가 120 위상 카운트 마다 동기화 표시자 신호를 송신하도록 프로그램되는 경우, 로컬 노드도 마찬가지로 120 페이즈 카운트 마다 제어 신호들의 송신을 중단하도록 프로그램된다. 로컬 및 원격 상태 머신들이 동기화에 있다고 가정하면, 로컬 노드는 그 제어 신호 송신들이 일시정지되는 동안 SYNC 신호를 수신할 것이고 이로써 동기화가 검증될 것이다. 그렇지 않으면, 로컬 노드는 그 제어 신호 송신들이 일시정지되는 동안 SYNC 신호를 수신하지 않을 것이고 이로써 동기화가 검증되지 않을 것이다. 이것은, 단계 (416) 에 의해 나타나 있으며, 이는 동기화 표시자가 수신되는 경우, TDM 버스가 동기되고; 그렇지 않으면 버스가 동기되지 않은 것으로 여겨진다. 도 4 에 나타내지는 않았지만, 버스가 동기된 것이 발견된다고 가정하면, 그 후 로컬 노드는 양방향 SYNC/CW 라인을 통해 원격 노드로의 제어 신호들의 송신을 재개한다. 그렇지 않으면, 버스를 재동기시키고 데이터를 재송신하기 위해 버스가 상주하는 시스템을 트리거하도록 에러 인터럽트가 생성된다.
도 5 는 로컬 노드 (예를 들어, 오디오 프로세싱 서브시스템)(558) 및 원격 노드 (예를 들어, 오디오 코덱 서브시스템)(560) 의 선택된 컴포넌트들, 특히 동기화를 제어하는데 그리고 초기 학습 모드를 제공하기 위해 사용하기 위한 컴포넌트들을 도시한다. 도 5 의 예에서, 앰프들 (502 및 504) 은 양방향 SYNC/CW 라인의 로컬 노드 종단에 접속되고; 반면 앰프들 (506 및 508) 는 양방향 SYNC/CW 라인의 원격 노드 종단에 접속된다. 도면은 또한 클록 (CLK) 라인 (594) 및 그 대응 송신 및 수신 앰프들 (596 및 598) 을 도시한다. 클록 신호는 입력 라인 (512) 을 따라 초기에 수신되며 19.2 MHz 신호일 수도 있다. 클록 (CLK) 신호는 로컬 노드의 동기화 및 타이밍 디코더 (514) 에 그리고 원격 노드의 대응 동기화 및 타이밍 디코더 (516) 에 피드된다. 로컬 노드의 동기화 및 타이밍 디코더 (514) 는 로컬 노드의 상태 머신 위상들을 카운트하거나 추적한다 (여기서, 상태 머신은 동기화 및 타이밍 디코더 (514) 의 다양한 상태들에 대응할 수도 있다). 로컬 노드의 동기화 및 타이밍 디코더 (516) 는 원격 노드의 상태 머신 위상들을 카운트하거나 추적한다 (여기서, 상태 머신은 동기화 및 타이밍 디코더 (516) 의 다양한 상태들에 대응할 수도 있다). 이와 관련하여, CW 데이터가 로컬 노드로부터 원격 노드로 양방향 SYNC/CW 라인 (592) 을 따라 송신될 때, 동기화 및 타이밍 디코더 (514) 및 동기화 및 타이밍 디코더 (516) 의 상태들이 변화한다.
원격 노드의 위상 카운트가 미리 결정된 레벨 (예를 들어, 120 카운트) 에 도달할 때, 동기화 및 타이밍 디코더 (516) 는 양방향 SYNC/CW 라인 (592) 을 따라 SYNC 신호 (528) 을 송신하기 위해 앰프 (506) 에 적절한 제어 신호를 포워딩하는, SYNC/CW 방향 제어기 (524) 에 방향 (DIR) 신호를 전송한다. SYNC 신호는, 위상 검출기 (530) 에 피드되는, REMOTE_SYNC 신호 (522) 로서 로컬 노드의 앰프 (502) 에 의해 수신된다. 동시에, 로컬 노드의 동기화 및 타이밍 디코더 (514) 는 그 위상 카운트를 추적하고, 로컬 노드의 위상 카운트가 동일한 미리 결정된 값에 도달할 때, 동기화 및 타이밍 디코더 (514) 는 라인 (534) 를 따라 LOCAL_SYNC 신호를 위상 검출기에 전송한다. 위상 검출기 (530) 가 REMOTE_SYNC 신호를 수신하는 동일한 간격 (예를 들어, 클록 사이클) 동안 LOCAL_SYNC 신호를 수신한다고 가정하면, 로컬 및 원격 노드들은 동기되어 있다고 여겨진다. LOCK 스테이터스 신호 (532) 는 노드들이 동기되어 있는지 여부를 표시하기 위해 출력된다. LOCK 신호는 노드들이 동기되어 있지 않은 경우 TDM 버스를 리셋하는 상위 레벨 컴포넌트들 (도 5 에 도시되지 않음) 로 라우팅된다.
SYNC 신호가 원격 노드로부터 로컬 노드로 전송되지 않은 동안의 간격 동안, CW 신호들은 원격 노드의 다른 컴포넌트들을 프로세싱하기 위해 앰프들 (504 및 508) 을 통해 양방향 SYNC/CW 라인 (592) 을 따라 전송된다. 이와 관련하여, 앰프 (504) 는, 원격 노드의 앰프 (506) 에 의해 수신된 DIR 신호와 유사하지만 그의 역인, (도시되지 않은 제어 컴포넌트들로부터) DIR 신호 (505) 를 수신한다. 즉, 원격 노드의 DIR 신호가 원격 노드는 그 SYNC 신호를 송신하여야 하는 것을 표시할 때, 로컬 노드의 DIR 신호는 반대 상태로 있어서 어떠한 CW 신호들도 동시에 송신되지 않는다. 또한, (로컬 및 원격 노드들의) 동기화 및 타이밍 디코더들의 양자는 도시되지 않은 다른 컴포넌트들로부터 각각 입력 라인들 (538 및 540) 을 따라 프로세싱을 위해 부가 신호들을 수신할 수도 있다는 것을 유의한다.
도 6 은 도 5 의 컴포넌트들에 의해 생성되고 프로세싱될 수도 있는 예시적인 동기화 타이밍 신호들을 도시한다. 클록 신호 (600) 는, 다른 관련 신호들이 도면에서 편리하게 도시되도록 신호들이 절단되는 것을 표시하기 위해 브레이크들로 나타낸다. 원격 노드 방향 (DIR) 신호 (602) 가 나타나 있으며, 이는 양방향 버스 라인의 방향의 반전을 수용하기 위해 원격 노드의 N 사이클들 또는 위상 카운트들 마다 적어도 하나의 클록 사이클에 대해 ON (603) 설정된다 (여기서, N 은 예를 들어 120 이거나 다른 적절한 미리 결정된 시간의 간격들에 의해서임). 제어 워드 신호들 (604) 는 버스 라인들의 방향이 스위칭되는 클록 사이클 (605) 동안 이외의 임의의 시간에서 로컬 노드로부터 원격 노드로 송신될 수 있다. 일 예에서, 제어 워드의 클록 사이클들은 CW0, CW1, CW3 및 CW4 등이며, 이는 그 후 클록 사이클 (605) 다음에 반복된다. 클록 사이클 (605) 동안, 위에서 언급된 REMOTE_SYNC 신호 (606) 은 일 클록 사이클에 대해 ON (607) 설정된다. 동시에, 로컬 및 원격 노드들이 동기된다고 가정하면, LOCAL_SYNC 신호 (608) 가 또한 일 클록 사이클에 대해 ON (609) 설정된다. 원격 노드 DIR 신호가 또한 ON (603) 설정될 때의 시간의 간격 동안 REMOTE_SYNC 및 LOCAL_SYNC 신호들의 양자가 ON 이라고 가정하면, 적절한 동기화 또는 위상 록이 (로컬 노드의 위상 검출기에 의해) 이로써 검출되고 LOCK 스테이터스 검출 시간 신호 (610) 은 적절한 록이 검출된 것을 표시하기 위해 611 에서 설정된다. 그렇지 않으면, 록 스테이터스는 록이 아님을 표시하게 되고 버스가 리셋될 필요가 있게 된다.
도 5 로 잠시 돌아가면, (약 50 클록 사이클들 만큼 적게 지속할 수 있는) 초기 학습 모드 또는 훈련 사이클 동안, 학습 모드 신호 (518) 가 (도시되지 않은 상위 레벨 제어기로부터) 로컬 및 원격 노드들의 양자에 인가된다. 로컬 노드에 있어서, 학습 모드 신호는 라인 (534) 을 따라 LOCAL_SYNC 신호들 및 내부 라인 (522) 을 통해 양방향 SYNC/CW 라인 (592) 로부터 REMOTE_SYNC 신호들을 또한 수신하는, 멀티플렉서 (MUX)(520) 를 제어하기 위해 인가된다. MUX 의 출력은 디코더를 선택적으로 리셋하기 위해 동기화 및 타이밍 디코더 (514) 의 RESET 입력에 인가된다. 원격 노드에 있어서, 학습 모드 신호는 원격 노드 앰프 (506) 를 제어하는, SYNC/CW 방향 제어 컴포넌트 (524) 에 인가된다. 일 예에서, 학습 모드의 개시 시, 원격 노드의 SYNC/CW 방향 제어기 (524) 는 REMOTE_SYNC 신호들로서 신호들을 수신하는, 로컬 노드에 양방향 SYNC/CW 라인 (592) 을 따라 원격 노드의 동기화 및 타이밍 디코더 (516) 에 의해 생성된 하나 이상의 SYNC 신호들 (528) 을 전송하도록 앰프 (506) 을 제어한다. MUX (520) 의 동작의 효과는 결국 REMOTE_SYNC 및 LOCAL_SYNC 의 양자 모두가 활성일 때 동기화 및 타이밍 디코더 (514) 가 리셋되게 하는 것이다. 이러한 방식으로, 동기화 및 타이밍 디코더 (514) 는, 학습 모드가 완료되는 시간에, 동기화 및 타이밍 디코더 (516) 와 초기에 동기되도록 "훈련"된다. 그런 후에, 로컬 노드의 위상 검출기 (532) 가 노드들이 동기된 상태를 유지하는 것을 검증하기 위해 LOCAL_SYNC 및 REMOTE_SYNC 신호들을 모니터링하는 것을 계속하는 동안 TDM 버스를 통해 데이터가 송신되고 제어 워드가 전송된다. 이로써, 직렬 TDM 버스 시스템의 로컬 및 원격 노드들은 데이터의 송신 전에 DLL 을 설정하도록 학습 사이클 또는 학습 모드를 채용하는 DLL 로서 효과적으로 기능한다.
도 7 은 로컬 노드에 의해 송신된 제어 워드들과의 가능한 문제들을 검출하기 위해 로컬 및 원격 노드들에 통합될 수도 있는 CRC 계산기 (700) 를 도시한다. CRC 컴포넌트 (700) 는, 나타낸 바와 같이 배열된, XOR 디바이스들 (706) 및 D-플립 플롭들 (DFF들) 의 세트와 함께, 착신 제어 워드 (CW) 비트 스트림 라인 (703) 을 따라 래치 (702) 를 포함한다. 라인 (703) 을 따라 수신된 입력 CW 비트 스트림은 DFF들을 통해 라우팅되고 그 후 XOR 디바이스들 (706) 을 사용하여 새로운 착신 비트 스트림들로 XOR 하기 위해 피드백 라인 (708) 을 따라 역 라우팅된다. 결과들은 래치 (702) 에서 유지되며, 래치의 출력 (710) 은 CW 비트스트림에 대해 CRC 를 제공한다.
도 8 은 로컬 노드 (858) 및 원격 노드 (860) 내에 통합된 예시적인 CRC 계산기들 (800 및 802) 를 나타낸다. 도 8 의 컴포넌트들의 일부는 소정의 피처들을 강조하도록 실선들로 나타내고 다른 것들은 팬텀 라인들로 나타낸다. 이 예에서, CW 비트스트림 (801) 은 앰프 (825)(또는 다른 적절한 입력 디바이스) 를 통해 수신되고 (도 7 에서와 같이 구성될 수도 있는) CRC 계산기 (802) 로 라우팅되는 양방향 SYNC/CW 라인 (892) 을 따라 로컬 노드로부터 원격 노드로 전송된다. 출력 CRC 값은, CRC 값이 CW 비트스트림에서 에러를 표시하는지를 결정하는, CRC 매치 검출기 (870) 로 피드된다. CRC 에러가 발생된 경우, error_flag (872) 는 ON 설정되며, 이는 데이터의 재송신 및 버스의 재동기화를 트리거하기 위해 다른 제어 컴포넌트들 (미도시) 에 의해 사용될 수도 있다. 이미 설명된 바와 같이, 라인 (892) 은 양방향성이고 그 방향은, 앰프 (또는 다른 적절한 디바이스)(827) 가 라인 (892) 를 따라 SYNC 신호를 로컬 노드에 송신하도록 제어하는 SYNC/CW 방향 제어기 (824) 에 의해 원격 노드 측 상에서 제어된다. SYNC 신호는 다른 컴포넌트들 (이 도면에는 도시되지 않음) 에 의한 프로세싱을 위해 앰프 (823) 에 의해 수신된다.
도 8 의 예에서, 로컬 노드는 또한, 양방향 SYNC/CW 라인 (892) 에 접속된 출력 앰프 (822) 를 제어하는 SYNC/CW 방향 제어 컴포넌트 (829) 를 포함한다. 또한, 로컬 노드는 CRC 체크를 수행하기 위해 직렬화기 (810) 로부터 CW 비트스트림 (801) 을 수신하는, 그 자신의 CRC 계산기 (800) 를 포함한다. CRC 계산기 (800) 의 출력은 직렬화기 (810) 로 직접 피드되어서 직렬화기가 임의의 CRC 에러들을 어드레싱할 수 있다. 직렬화기 (810) 는 또한, 직렬화기가 CW 비트스트림을 생성하는, 등급 데이터 (884)(예를 들어, Class_H0, Class_H1) 뿐만 아니라, 다른 컴포넌트들로부터 RX 데이터 (880) 및 TX 데이터 (882) 의 병렬 세트들을 수신하는 것을 유의한다. 일 예에서: 4 개의 RX_GAIN 라인들은 RX_Gain0, RX_Gain1, RX_Gain2 및 RX_Gain3 에 대응하고; 4 개의 TX_GAIN 라인들은 TX_Gain0, TX_Gain1, TX_Gain2 및 TX_Gain3 에 대응하며; 그리고 4 개의 등급 제어 라인들은 Class_H0, Class_H1, Class_H2, 및 Class_H3 에 대응한다. 원격 노드의 역직렬화기 (804) 는 나타낸 바와 같이, CRC 매치 검출기 (870) 의 출력에 의해 인에이블되는, 래치 (815) 에서의 래치를 위해 착신 CW 비트스트림을 역직렬화하며, 그 후 나타낸 바와 같이, 다양한 RX, TX, 및 등급 데이터 신호들 (881, 883 및 885) 로서 데이터가 출력된다. 도 8 에 나타낸 다른 컴포넌트들은 로컬 노드의 동기화 및 타이밍 디코더 (814) 및 원격 노드의 그 대응 컴포넌트 (816) 를 포함한다. 클록 신호 (898) 를 제공하는 시스템 클록 소스 (896) 는 또한, 그 대향 종단들에서 앰프들 (826 및 828) 을 갖는 클록 (CLK) 라인 (894) 과 함께 나타낸다.
도 9 는 로컬 노드 (예를 들어, 오디오 프로세싱 서브시스템) 으로부터 수신된 디지털 오디오 데이터 패이로드들 및 제어 신호들을 역직렬화하고 프로세싱하는 것과 관련된 원격 노드 (예를 들어, 오디오 코덱 서브시스템) 의 선택된 컴포넌트들 (982) 을 도시한다. 착신 디지털 데이터는 데이터를 역직렬화기들 (904 및 906) 로 포워딩하는 RX 물리 (PHY) 계층 컴포넌트 (902) 에 의해 일방향 버스 라인들 RXO 및 RX1 (988 및 990) 을 따라 직렬 형태로 수신된다. 동시에, 제어 신호들은 제어 워드 시간 디멀티플렉서 (DEMUX)(910) 뿐만 아니라 2 개의 역직렬화기들로 제어 신호들을 포워딩하는, 동기화 및 타이밍 디코더 (908) 에 의해 양방향 SYNC/CW 라인 (992) 을 따라 수신된다. 역직렬화기들 (904 및 906) 으로부터 역직렬화된 디지털 데이터는 4 개의 DAC들 (912, 914, 916 및 918) 의 세트로 라우팅되고, 이들은 외부 헤드폰과 같은 디바이스들로 (도시되지 않은 출력 라인들을 따라) 라우팅하기 위해 디지털 데이털 데이터를 아날로그 신호들로 변환한다. DAC들은 또한 나타낸 바와 같이 제어 입력으로서 제어 워드 신호들의 부분들을 수신한다는 것을 유의한다. 벅 레귤레이터 및 전하 펌프 컴포넌트 (912) 가 또한 나타나 있으며, 이는 표시된 바와 같이, 제어 워드 신호들의 일부를 수신한다. 컴포넌트 (912) 는, 예를 들어 팬텀 화살표에 의해 나타낸 바와 같이 다른 컴포넌트들로의 출력을 위해 (도시되지 않은 라인들을 따라) 버스의 전력 소스로부터 수신된 전압들을 스텝 업 또는 스텝 다운하기 위해 채용될 수도 있다.
도 10 은 직렬화된 데이터로서 원격 노드 (예를 들어, 오디오 코덱 서브시스템) 에 송신하기 위해 입력 아날로그 신호들을 디지털 페이로드들로 변환하는 것과 관련된 로컬 노드 (예를 들어, 오디오 프로세싱 서브시스템) 의 선택된 컴포넌트들 (1080) 를 도시한다. 착신 아날로그 데이터는 한쌍의 직렬화기들 (1010 및 1012) 로 라우팅하기 위해 ADC들 (1002, 1004, 1006 및 1008) 의 세트를 통해 입력 라인들 (미도시) 로부터 수신된다. 직렬화기들은 동기화 및 타이밍 디코더 (1014) 의 제어 하에서 동작하며, 이는 직렬화기들에 제어 신호들을 제공하고 또한 양방향 SYNC/CW 라인 (1092) 상에서 송신을 위해 제어 워드들을 제공한다. 직렬화된 데이터는 TXO 및 TXO 라인들 (1084 및 1086) 을 따라 각각 원격 노드로 송신을 위해 TX PHY 계층 컴포넌트 (1016) 으로 직렬화기들로부터 라우팅된다.
예시적인 장치, 시스템들 및 방법들
도 11 은 원격 노드 상태 머신 디바이스 (1105) 로 직렬 TDM 버스 (1102) 를 통해 접속된 예시적인 로컬 노드 상태 머신 장치 또는 디바이스 (1100) 를 도시한다. 버스는 적어도 하나의 양방향 송신 라인 (1192), 하나 이상의 일방향 데이터 라인들 (1106) 및 클록 라인 (1194) 을 갖는다. 양방향 송신 라인 (1192) 은, 상대적으로 고 송신 레이트/고 대역폭 라인들인, 일방향 라인들 (1106) 에 비해 상대적으로 저 송신 레이트/저 대역폭 라인이다. 로컬 노드 상태 머신 디바이스 (1100) 는 다양한 기능들 또는 프로세스들을 제어 또는 수행하도록 구성된 프로세싱 회로 (1108) 를 포함한다. 이 예에서, 프로세싱 회로 (1108) 는 양방향 송신 라인 (1192) 을 따라 원격 노드 디바이스 (1105) 로의 제어 신호들의 송신을 제어하도록 구성된 제어 신호 송신 제어기 (1110) 를 포함한다. 위상 카운트 추적 제어기 (1112) 는, 제어 신호들이 양방향 송신 라인을 따라 원격 디바이스에 송신될 때 위상 카운트를 추적하도록 구성된다. 제어 신호 송신 중단/일시중단 제어기 (1114) 는 양방향 송신 라인을 따라 원격 디바이스로부터 동기화 표시자 신호를 수신하기 위해 위상 카운트에 기초하여 제어 신호들의 송신을 일시적으로 일시중단 또는 중단하도록 구성된다. 동기화 검증 제어기 (1116) 는 송신이 일시적으로 중단되는 동안 원격 디바이스로부터 동기화 표시자 신호의 수신에 기초하여 원격 디바이스와의 동기화를 검증하도록 구성된다. 동기화 검증 제어기 (1116) 는 또한, 송신이 일시적으로 중단되는 동안 로컬 디바이스에 의해 동기화 표시자 신호가 수신되는 경우 로컬 및 원격 디바이스들이 동기되는 것을 검출하고; 그리고 송신이 일시적으로 중단되는 동안 로컬 디바이스에 의해 동기화 표시자 신호가 수신되지 않은 경우 로컬 및 원격 디바이스들이 동기되지 않은 것을 검출하도록 구성된다.
게다가, 본 예에서, 로컬 노드 (1100) 의 프로세싱 회로 (1108) 는, 동기화 검증 제어기 (1116) 에 의한 동기화 결여의 검출 시 동기화 에러 표시자를 생성하거나 그렇지 않으면 발생하도록 구성된 동기화 에러 표시자 컴포넌트 (1117) 를 포함한다. 데이터 송신/수신 제어기 (1118) 는, 양방향 송신 라인 (1192) 을 따라 제어 신호의 송신과 동시에 버스의 일방향 데이터 송신 라인(들)(1106) 을 따라 원격 디바이스로의 데이터 신호들의 송신을 제어하도록 구성된다. CRC 제어기 (1120) 는, 제어 워드들과의 데이터 송신 문제가 있는지 여부를 검출하기 위해 양방향 송신 라인을 통해 송신될 제어 워드들 상에서 CRC 를 제어 또는 수행하고, 제어 워드들과의 데이터 송신 문제의 검출 시, CRC 에러 표시자를 생성하거나 그렇지 않으면 발생한다. 시스템 클록 입력 (1122) 은 클록 라인 (1194) 을 따라 원격 노드로 송신될 수도 있는, 시스템 클록 신호를 획득하도록 구성된다 (본 명세서에서, "획득하는" 은 예를 들어, 임의의 다른 적절한 대응 액션들을 생성, 취득, 수신, 취출 또는 수행하는 것을 넓게 커버한다). 학습 모드 제어기 (1124) 는, 데이터 신호들의 송신 전에 원격 노드와 로컬 노드를 초기에 동기시키기 위해, 즉 버스를 통한 데이터의 송신 전에 로컬 노드와 연관된 DLL 컴포넌트들을 설정하기 위해 학습 모드 또는 훈련 사이클을 수행 또는 제어하도록 구성된다.
도 12 는 도 11 의 제 1 (로컬 노드) 디바이스 또는 직렬 TDM 버스와 함께 사용하기 위한 다른 적절하게 장착된 디바이스들에 의해 수행될 수도 있는 방법들 또는 절차들 (1200) 을 도시한다. 1202 에서, 로컬 노드 (제 1) 디바이스는 직렬 TDM 버스에 또한 접속된 원격 노드 (제 2) 디바이스로 버스의 양방향 송신 라인을 따라 제어 신호들을 송신한다. 단계 (1204) 에서, 로컬 노드 (제 1) 디바이스는 양방향 송신 라인을 따라 원격 노드에 제어 신호들이 송신될 때 로컬 노드 (제 1) 디바이스의 위상 카운트를 추적한다. 단계 (1206) 에서, 로컬 노드 (제 ) 디바이스는, 로컬 노드 (제 1) 디바이스가 양방향 송신 라인을 따라 원격 노드 (제 2) 디바이스로부터 동기화 표시자 신호를 수신 또는 획득하는 것을 허용하기 위해 위상 카운트에 기초하여 제어 신호들의 송신을 일시적으로 중단한다. 단계 (1208) 에서, 로컬 노드 (제 1) 디바이스는, 송신이 로컬 노드 (제 1) 디바이스에 의해 일시적으로 중단되는 동안 원격 노드 (제 2) 디바이스로부터 동기화 표시 신호가 획득되는지 여부에 기초하여 로컬 노드 (제 1) 및 원격 노드 (제 2) 디바이스들의 동기화를 검증한다.
도 13 은 제 1 (로컬 노드) 디바이스가 직렬 TDM 버스에 접속된 오디오 프로세싱 서브시스템 (또는 다른 적절하게 장착된 디바이스) 인 시스템에 의해 수행될 수도 있는 방법들 또는 절차들 (1300) 을 도시한다. 이 예에서, 제 2 (원격 노드) 디바이스는 오디오 코덱 서브시스템 (또는 다른 적절하게 장착된 디바이스) 이다. 오디오 프로세싱 서브시스템 및 오디오 코덱 서브시스템의 양자는 개별 상태 머신들을 포함한다. 단계 (1302) 에서, 오디오 프로세싱 서브시스템은 오디오 프로세싱 서브시스템 상태 머신으로부터 오디오 코덱 서브시스템 상태 머신으로 TDM 버스의 상대적으로 저 레이트의 양방향 SYNC/CW 송신 라인을 따라 제어 워드 (CW) 를 송신한다. 단계 (1302) 에서, 오디오 프로세싱 서브시스템은 CW 신호들이 송신될 때 오디오 프로세싱 서브시스템 상태 머신의 위상 카운트 (예를 들어, 비트 카운트) 를 추적한다. 단계 (1306) 에서, 오디오 프로세싱 서브시스템은 양방향 SYNC/CW 라인 레이트보다 실질적으로 더 큰 레이트로 오디오 프로세싱 서브시스템과 오디오 코덱 서브시스템 사이에서 TDM 버스의 일방향 송신 라인들의 세트를 따라 비프레임 오디오 데이터 신호들을 동시에 송신한다. 단계 (1308) 에서, 오디오 프로세싱 서브시스템은, 오디오 프로세싱 서브시스템이 오디오 코덱 상태 머신으로부터 동기화 표시자 신호 (예를 들어, SYNC) 를 수신하는 것을 허용하기 위해 양방향 SYNC/CW 라인 상에서 CW 신호들의 송신을 주기적으로 중단하거나 일시정지한다 (예를 들어, 120 비트 또는 스텝들 마다 한번). 단계 (1310) 에서, 오디오 프로세싱 서브시스템은, 송신이 일시적으로 중단되고 그 후 CW 신호들의 송신을 재개하는 동안, 동기화 표시자 신호 (SYNC) 신호가 오디오 프로세싱 서브시스템에 의해 수신되거나 그렇지 않으면 획득되는 경우, 동기화를 확인한다. 단계 (1312) 에서, 오디오 프로세싱 서브시스템은 송신이 일시적으로 중단되는 동안 오디오 프로세싱 서브시스템에 의해 동기화 표시자 신호 (SYNC) 신호가 수신되지 않는 경우 동기화 결여를 대신 검출하고, 그 경우, 오디오 프로세싱 서브시스템은 버스가 재동기되어야 하고 데이터가 재송신되어야 하는 것을 표시하기 위해 에러 표시자를 발생 또는 생성한다.
도 14 는 직렬 TDM 버스에 접속된 오디오 프로세싱 서브시스템 (또는 다른 적절하게 장착된 디바이스) 에 의해 수행될 수도 있는 부가 방법들 또는 절차들 (1400) 을 도시한다. 단계 (1402) 에서, 오디오 프로세싱 서브시스템 (예를 들어, 로컬 노드) 는 TDM 버스를 통해 송신하기 위해 시스템 클록 신호를 수신하거나 획득한다. 단계 (1404) 에서, 오디오 프로세싱 서브시스템은 데이터의 송신 전에 로컬 및 원격 노드들과 연관된 DLL 을 설정하는 것에 의해 로컬 및 원격 노드를 초기에 동기시키기 위해 학습 모드/훈련 사이클을 수행하거나 채용한다. 단계 (1406) 에서, 오디오 프로세싱 서브시스템은 그 후, 양방향 SYNC/CW 송신 라인들 따라 CW 신호들을 원격 노드에 송신하고 동시에 원격 노드와 위상 록 루프를 유지하면서 일방향 라인들을 따라 오디오 데이터 신호들을 송신한다. 단계 (1408) 에서, 오디오 프로세싱 서브시스템은 제어 워드들과 데이터 송신 문제가 있는지 여부를 검출하기 위해 제어 워드들 상에서 사이클릭 리던던시 체크 (CRC) 를 동시에 수행하고, 제어 워드들과의 데이터 송신 문제의 검출 시, 오디오 프로세싱 서브시스템들은 버스가 재동기되고 데이터가 재송신되어야 하는 것을 표시하는 CRC 에러 표시자를 발생 또는 생성한다.
도 15 는 TDM 버스 (1502) 를 통해 원격 노드 상태 머신 디바이스 (1500) 에 접속된 예시적인 원격 노드 상태 머신 장치 또는 디바이스 (1505) 를 도시한다. 선행의 예들에서와 같이, 버스는 적어도 하나의 양방향 송신 라인 (1592), 하나 이상의 일방향 데이터 라인들 (1506), 및 클록 라인 (1594) 을 갖는다. 원격 노드 상태 머신 디바이스 (1505) 는 다양한 기능들 또는 프로세스들을 제어 또는 수행하도록 구성된 프로세싱 회로 (1508) 를 포함한다. 이 예에서, 프로세싱 회로 (1508) 는 로컬 노드 디바이스 (1500) 로부터 양방향 송신 라인 (1592) 을 따라 제어 신호들의 수신 (또는 획득) 을 제어하도록 구성된 제어 신호 수신 제어기 (1510) 을 포함한다. 위상 카운트 추적 제어기 (1512) 는 양방향 송신 라인 상에서 원격 디바이스로부터 제어 신호들이 수신될 때 위상 카운트를 추적하도록 구성된다. 동기화 표시자 신호 송신 제어기 (1514) 는 위상 카운트에 기초하여 결정된 시간에 양방향 송신 라인을 따라 원격 노드로 동기화 표시자 신호 (SYNC) 를 송신하도록 구성된다. 이미 설명된 바와 같이, 로컬 노드는 SYNC 신호를 사용하여 동기화를 검출하고 동기화 결여가 검출되는 경우 데이터의 재동기화 및 재송신을 트리거한다.
또한 추가로, 이 예에서, 원격 노드 (1505) 의 프로세싱 회로 (1508) 은 양방향 송신 라인 (1592) 을 따라 제어 신호들의 수신과 동시에 버스의 일방향 데이터 송신 라인(들)(1506) 의 적어도 일부를 따라 원격 디바이스로의 데이터 신호들의 송신을 제어하도록 구성된 데이터 송신/수신 제어기 (1518) 를 포함한다. CRC 제어기 (1520) 는 제어 워드들과의 데이터 송신 문제가 있는지 여부를 검출하기 위해 양방향 송신 라인을 통해 수신된 제어 워드들 상에서 CRC 를 제어 또는 수행하고, 제어 워드들과의 데이터 송신 문제의 검출 시, CRC 에러 표시자를 생성하거나 그렇지 않으면 발생하도록 구성된다. 클록 라인 입력 (1522) 은 클록 라인 (1594) 을 통해 시스템 클록 신호를 수신하도록 구성된다. 학습 모드 제어기 (1524) 는 데이터 신호들의 수신/송신 전에 초기에 로컬 노드와 원격 노드를 동기시키기 위해 훈련 사이클 또는 학습 모드를 수행 또는 제어하도록 구성된다.
도 16 은 도 15 의 제 2 (원격 노드) 디바이스 또는 직렬 TDM 버스와 함께 사용하기 위해 적절하게 장착된 디바이스들에 의해 수행될 수도 있는 방법들 또는 절차들 (1600) 을 도시한다. 단계 (1602) 에서, 원격 노드 (제 2) 디바이스는 버스에 또한 접속된 로컬 노드 (제 1) 디바이스로부터 버스의 양방향 송신 라인을 따라 제어 신호들을 수신 (또는 그렇지 않으면 획득) 한다. 단계 (1604) 에서, 원격 노드 (제 2) 디바이스는 양방향 송신 라인을 따라 로컬 노드 (제 1) 디바이스로부터 제어 신호들이 수신될 때 원격 노드 (제 2) 디바이스의 위상 카운트를 추적한다. 단계 (1606) 에서, 원격 노드 (제 2) 디바이스는 주기적으로 또는 요구에 따라 (또는 디바이스 프로그래밍을 겪음), 양방향 송신 라인을 따라 로컬 노드 (제 1) 디바이스로 위상 카운트를 송신한다. 단계 (1608) 에서, 원격 노드 (제 2) 디바이스는 제 1 디바이스에 의해 버스가 리셋되거나 재시작되지 않으면 로컬 노드 (제 1) 디바이스로부터 양방향 송신 라인을 따라 제어 신호들을 수신하거나 또는 그렇지 않으면 획득하는 것을 재개한다.
도 17 은 도 1 내지 도 16 의 컴포넌트들 및 방법들이 구현될 수도 있는 전체 시스템 또는 장치 (1700) 를 도시한다. 개시물의 다양한 양태들에 따라, 엘리먼트, 또는 엘리먼트의 임의의 부분, 또는 엘리먼트들의 임의의 조합이 도 1 의 전체 프로세서 플랫폼과 같은 하나 이상의 프로세싱 회로들 (1704) 을 포함하는 프로세싱 시스템 (1714) 로 구현될 수도 있다. 예를 들어, 장치 (1700) 는 모바일 통신 시스템의 사용자 장비 (UE) 일 수도 있다. 프로세싱 회로들 (1704) 의 예들은, 마이크로프로세서들, 마이크로제어기들, 디지털 신호 프로세서들 (DSP들), 필드 프로그램가능 게이트 어레이들 (FPGA들), 프로그램가능 로직 디바이스들 (PLD들), 상태 머신들, 게이트형 로직, 이산 하드웨어 회로들, 및 본 개시물 전체에 걸쳐 기재된 다양한 기능을 수행하도록 구성된 다른 적절한 하드웨어를 포함한다. 즉, 장치 (1700) 에서 사용되는 바와 같이, 프로세싱 회로들 (1704) 는, TDM 버스를 동기시키기 위한 프로세스들과 같은, 도 4, 도 12 내지 도 14 및/또는 도 16 에 도시되고 위에 기재된 프로세스들 중 어느 하나 이상을 구현하기 위해 사용될 수도 있다. 특히, 프로세싱 회로 (1704) 는, 제 2 디바이스로 양방향 송신 라인을 따라 제어 신호들을 송신하고; 양방향 송신 라인을 따라 제 2 디바이스로 제어신호들이 송신될 때 위상 카운트를 추적하고; 제 1 디바이스가 양방향 송신 라인을 따라 제 2 디바이스로부터 동기화 표시자 신호를 수신하거나 그렇지 않으면 획득하는 것을 허용하기 위해 위상 카운트에 기초하여 제어 신호들의 송신을 일시적으로 중단하고; 그리고 송신이 일시적으로 중단되는 동안 제 2 디바이스로부터 동기화 표시자 신호가 획득되는지 여부에 기초하여 제 2 디바이스와의 동기화를 검증하도록 구성될 수도 있다.
이 예에서, 프로세싱 시스템 (1714) 은, 위에서 언급된 직렬 TDM 버스와는 별개일 수 있는, 버스 (1702) 로 일반적으로 나타내는 버스 아키텍처로 구현될 수도 있다. 버스 (1702) 는 전체 설계 제약들 및 프로세싱 시스템 (1714) 의 특정 어플리케이션에 의존하여 임의의 수의 상호접속 버스들 및 브리지들을 포함할 수도 있다. 버스 (1702) 는 하나 이상의 프로세싱 회로들 (일반적으로 프로세싱 회로들 (1704) 로 나타냄), 메모리 저장 디바이스 (1705), 및 프로세서 판독가능 매체 또는 컴퓨터 판독가능 매체 (일반적으로 프로세서 판독가능 (1706) 으로 나타냄) 를 포함한 다양한 회로들을 링크한다. 버스 (1702) 는 또한 다양한 다른 회로들, 예컨대 타이밍 소스들, 주변장치들, 전압 레귤레이터들 및 전력 관리 회로들을 링크할 수도 있으며, 이들은 종래에 잘 알려져 있고 이에 따라 더이상 설명되지 않을 것이다. 버스 인터페이스 (1708) 는 버스 (1702) 와 송수신기 (1710) 사이에 인터페이스를 제공한다. 송수신기 (1710) 는 송신 매체를 통해 다양한 다른 장치와 통신하는 수단을 제공한다. 장치의 본질에 의존하여, 사용자 인터페이스 (1712)(예를 들어, 키패드, 디스플레이, 스피커, 마이크로폰, 조이스틱) 가 또한 제공될 수도 있다.
프로세서 또는 프로세싱 회로 (1704) 는 프로세서 판독가능 매체 (1706) 상에 저장된 소프트웨어의 실행을 포함한, 일반적인 프로세싱 및 버스 (1702) 를 관리하는 것을 담당한다. 소프트웨어는, 프로세서 (1704) 에 의해 실행될 때, 프로세싱 시스템 (1714) 으로 하여금 임의의 특정 장치에 대해 본 명세서에 기재된 다양한 기능들을 수행하게 한다. 프로세서 판독가능 매체 (1706) 는 또한 소프트웨어를 실행할 때 프로세서 (1704) 에 의해 조종되는 데이터를 저장하기 위해 사용될 수도 있다. 특히, 프로세서 판독가능 저장 매체 (1706) 는, 프로세싱 회로 (1704) 에 의해 실행될 때, 프로세싱 회로 (1704) 로 하여금, 제 1 디바이스로부터 제 2 디바이스로 직렬 TDM 버스의 양방향 송신 라인을 따라 제어 신호들을 송신하게 하고; 양방향 송신 라인을 따라 제 2 디바이스로 제어 신호들이 송신될 때 제 1 디바이스의 위상 카운트를 추적하게 하고; 제 1 디바이스가 양방향 송신 라인을 따라 제 2 디바이스로부터 동기화 표시자 신호를 수신하는 것을 허용하도록 위상 카운트에 기초하여 제어 신호들의 송신을 일시적으로 중단하게 하며; 그리고 제 1 디바이스에 의해 송신이 일시적으로 중단되는 동안 제 2 디바이스로부터 동기화 표시자 신호의 수신에 기초하여 제 1 및 제 2 디바이스들의 동기화를 검증하게 하는 하나 이상의 명령들을 가질 수도 있다.
프로세싱 시스템에서의 하나 이상의 프로세서들 (1704) 는 소프트웨어를 실행할 수도 있다. 소프트웨어는, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 디스크립션 언어 또는 다른 것으로 지칭되든, 명령들, 명령들 세트, 코드, 코드 세그먼트들, 프로그램 코드, 프로그램들, 서브프로그램들, 소프트웨어 모듈들, 어플리케이션들, 소프트웨어 어플리케이션들, 소프트웨어 패키지들, 루틴들, 서브루틴들, 오브젝트들, 실행가능물들, 실행의 스레드들, 절차들, 기능들 등을 의미하도록 넓게 해석될 것이다. 프로세서는 필요한 태스크들을 수행할 수도 있다. 코드 세그먼트는 절차, 기능, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패키지, 클래스, 또는 명령들, 데이터 구조들, 또는 프로그램 스테이트먼트들의 임의의 조합을 나타낼 수도 있다. 코드 세그먼트는 정보, 데이터, 아규먼트들, 파라미터들, 또는 메모리 컨텐츠들을 패스 및/또는 수신하는 것에 의해 다른 코드 세그먼트 또는 하드웨어 회로에 커플링될 수도 있다. 정보, 아규먼트들, 파라미터들, 데이터 등은 메모리 공유, 메시지 패싱, 토큰 패싱, 네트워크 송신 등을 포함한 임의의 적절한 수단을 통해 패스되거나, 포워드되거나 또는 송신될 수도 있다.
소프트웨어는 컴퓨터 판독가능 또는 프로세서 판독가능 매체 (1706) 에 상주할 수도 있다. 언급된 바와 같이, 프로세서 판독가능 매체 (1706) 는 비일시적 프로세서 판독가능 매체일 수도 있다. 비일시적 프로세서 판독가능 매체는, 예시로서, 자기 저장 디바이스 (예를 들어, 하드 디스크, 플로피 디스크, 자기 스트립), 광학 디스크 (예를 들어, 컴팩 디스크 (CD) 또는 디지털 다기능 디스크 (DVD)), 스마트 카드, 플래시 메모리 디바이스 (예를 들어, 카드, 스틱, 또는 키 드라이브), RAM, ROM, 프로그램가능 ROM (PROM), 소거가능 PROM (EPROM), 전기적 소거가능 PROM (EEPROM), 레지스터, 탈착가능 디스크, 하드 디스크, CD-ROM, 및 컴퓨터에 의해 액세스되고 판독될 수도 있는 소프트웨어 및/또는 명령들을 저장하는 임의의 다른 적절한 매체를 포함한다. 용어들 "머신 판독가능 매체", "컴퓨터 판독가능 매체", 및/또는 "프로세서 판독가능 매체" 는, 한정되지는 않지만, 비일시적 매체들, 예컨대 포터블 또는 고정 저장 디바이스들, 광학 저장 디바이스들, 및 명령(들) 및/또는 데이터를 저장, 포함, 또는 반송할 수 있는 다양한 다른 매체들을 포함할 수도 있다. 따라서, 본 명세서에 기재된 다양한 방법들은 "머신 판독가능 매체", "컴퓨터 판독가능 매체", 및/또는 "프로세서 판독가능 매체" 에 저장되고 하나 이상의 프로세서들, 머신들 및/또는 디바이스들에 의해 실행될 수도 있는 명령들 및/또는 데이터에 의해 전부 또는 부분적으로 구현될 수도 있다. 프로세서 판독가능 매체는 또한, 예시로서, 반송파, 송신 라인, 및 컴퓨터에 의해 액세스되고 판독될 수도 있는 소프트웨어 및/또는 명령들을 송신하기 위한 임의의 다른 적절한 매체를 포함할 수도 있다. 프로세서 판독가능 매체 (1706) 는 프로세싱 시스템 (1714) 에 상주할 수도 있고, 프로세싱 시스템 (1714) 외부에 있을 수도 있고, 또는 프로세싱 시스템 (1714) 을 포함한 다중 엔티티들에 걸쳐 분산될 수도 있다. 프로세서 판독가능 매체 (1706) 은 컴퓨터 프로그램 제품에서 구현될 수도 있다. 예시로서, 컴퓨터 프로그램 제품은 패키징 재료들에서 프로세서 판독가능 매체를 포함할 수도 있다. 당업자는 전체 시스템에 부과된 전체 설계 제약들 및 특정 어플리케이션에 의존하여 본 개시물에 제시된 기재된 기능을 구현하는 최상의 방법을 알 것이다.
도면들에 도시된 컴포넌트들, 단계들, 피처들, 및/또는 기능들 중 하나 이상은 단일 컴포넌트, 단계, 피처 또는 기능으로 재배열되고 및/또는 결합될 수도 있고, 또는 몇몇 컴포넌트들, 단계들 또는 기능들에서 구현될 수도 있다. 부가 엘리먼트들, 컴포넌트들, 단계들, 및/또는 기능들이 또한 발명으로부터 벗어나지 않으면서 부가될 수도 있다. 도면들에 도시된 장치, 디바이스들, 및/또는 컴포넌트들은 도면들에 기재된 방법들, 피처들, 또는 단계들 중 하나 이상을 수행하도록 구성될 수도 있다. 본 명세서에 기재된 알고리즘들은 효율적으로 소프트웨어에서 구현되고 및/또는 하드웨어에서 실시될 수도 있다.
본 명세서에 개시된 예들과 관련하여 기재된 다양한 예시적인 로직 블록들, 모듈들, 회로들, 엘리먼트들, 및/또는 컴포넌트들은, 본 명세서에 기재된 기능들을 수행하도록 설계된 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA), 또는 다른 프로그램가능 로직 컴포넌트, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트, 또는 그 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로 프로세서는 임의의 종래 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 컴포넌트들의 조합, 예를 들어 DSP 및 마이크로프로세서의 조합, 다수의 마이크로프로세서들, DSP 코어와 협력하는 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로서 구현될 수도 있다.
따라서, 개시물의 일 양태에 있어서, 예를 들어 도 11 및 도 15 에 도시된 프로세싱 회로들은 도 4, 도 12 내지 도 14, 및/또는 도 16 에 기재된 알고리즘들, 방법들, 및/또는 단계들을 수행하기 위해 특별히 설계되고 및/또는 하드-와이어되는 특수 프로세서 (예를 들어, ASIC) 일 수도 있다. 따라서, 그러한 특수 프로세서 (예를 들어, ASIC) 는 도 4, 도 12 내지 도 14 및/또는 도 16 에 기재된 알고리즘들, 방법들 및/또는 단계들을 실행하기 위한 수단의 일 예일 수도 있다. 프로세서 판독가능 저장 매체는 특수 프로세서 (예를 들어, ASIC) 에 의해 실행될 때 특수 프로세서로 하여금 본 명세서에 기재된 알고리즘들, 방법들, 및/또는 단계들을 수행하게 하는 명령들을 저장할 수도 있다.
또한, 본 개시물의 양태들은 플로우챠트, 플로우 다이어그램, 구조 다이어그램, 또는 블록 다이어그램으로서 도시되는 프로세스로서 본 명세서에 기재될 수도 있다는 것을 유의한다. 플로우챠트가 동작들을 순차적 프로세스로서 기재할 수도 있지만, 많은 동작들이 병렬로 또는 동시에 수행될 수 있다. 부가적으로, 동작들의 순서는 재배열될 수도 있다. 프로세스는 그 동작들이 완료될 때 종료된다. 프로세스는 방법, 기능, 절차, 서브루틴, 서브프로그램 등에 대응할 수도 있다. 프로세스가 기능에 대응할 때, 그 종료는 호출 기능 또는 메인 기능으로의 기능의 복귀에 대응한다.
당업자는 본 명세서에 기재된 양태들과 관련하여 기재된 다양한 예시적인 논리 블록들, 모듈들, 회로들 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합들로서 구현될 수도 있다는 것을 더 알게 될 것이다. 이러한 하드웨어 및 소프트웨어의 상호교환 가능성을 명백하게 예시하기 위해서, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들은 일반적으로 그 기능의 관하여 위에서 기재되었다. 그러한 기능이 하드웨어로서 구현될지 또는 소프트웨어로서 구현될지는 전체 시스템에 부과된 설계 제약들 및 특정 어플리케이션에 의존한다.
본 명세서에 기재된 발명의 다양한 피처들은 발명으로부터 벗어나지 않으면서 상이한 시스템들에서 구현될 수 있다. 개시물의 상기 양태들은 단지 예들일 뿐이고 발명을 제한하는 것으로 해석되지 않아야 하는 것을 유의해야 한다. 본 개시물의 양태들의 기재는 예시적인 것으로 의도되며 청구항들의 범위를 한정하려는 것으로 의도되지 않는다. 이로써, 본 교시들은 장치들의 다른 타입들에 쉽게 적용될 수 있고 많은 대안들, 수정들, 및 변형들이 당업자에게 자명할 것이다.

Claims (30)

  1. 직렬 시간 분할 멀티플렉싱된 (TDM) 버스에 접속된 제 1 디바이스에 의해 동작가능한 상기 버스를 제어하기 위한 방법으로서,
    상기 버스에 또한 접속된 제 2 디바이스에 상기 버스의 양방향 송신 라인을 따라 제어 신호들을 송신하는 단계;
    상기 양방향 송신 라인을 따라 상기 제 2 디바이스에 상기 제어 신호들이 송신될 때 상기 제 1 디바이스의 위상 카운트를 추적하는 단계;
    상기 제 1 디바이스가 상기 양방향 송신 라인을 따라 상기 제 2 디바이스로부터 동기화 표시자 신호를 획득하는 것을 허용하기 위해 상기 위상 카운트에 기초하여 상기 제어 신호들의 송신을 일시적으로 중단하는 단계; 및
    상기 제 1 디바이스에 의해 송신이 일시적으로 중단되는 동안 상기 제 2 디바이스로부터 동기화 표시자 신호가 획득되는지 여부에 기초하여 상기 제 1 및 제 2 디바이스들의 동기화를 검증하는 단계를 포함하는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스를 제어하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 제 1 및 제 2 디바이스들의 동기화를 검증하는 단계는,
    송신이 일시적으로 중단되는 동안 상기 제 1 디바이스에 의해 동기화 표시자 신호가 획득되는 경우 상기 제 1 및 제 2 디바이스들이 동기되는 것을 확인하는 단계; 및
    송신이 일시적으로 중단되는 동안 상기 제 1 디바이스에 의해 동기화 표시자 신호가 획득되지 않은 경우 상기 제 1 및 제 2 디바이스들이 동기되지 않은 것을 검출하는 단계를 포함하는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스를 제어하기 위한 방법.
  3. 제 2 항에 있어서,
    동기화 결여의 검출 시, 동기화 에러 표시자가 발생되는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스를 제어하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 제 1 디바이스의 위상 카운트는 상기 제 2 디바이스에 상기 양방향 송신 라인을 따라 상기 제 1 디바이스에 의해 송신된 비트들의 시퀀스에 대응하는 비트 카운트인, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스를 제어하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 제 1 디바이스가 동기화 표시자 신호를 획득하는 것을 허용하기 위해 상기 제어 신호들의 송신을 일시적으로 중단하는 단계는, 상기 제 1 디바이스의 위상 카운트에 기초하여 주기적으로 수행되는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스를 제어하기 위한 방법.
  6. 제 5 항에 있어서,
    상기 제어 신호들의 송신을 일시적으로 중단하는 단계는, 상기 제 1 디바이스의 위상 카운트가 미리 결정된 수에 도달할 때 수행되는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스를 제어하기 위한 방법.
  7. 제 1 항에 있어서,
    양방향 직렬 데이터 송신 라인을 따라 상기 제어 신호들을 송신하는 단계는 제어 워드들을 송신하는 단계를 포함하는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스를 제어하기 위한 방법.
  8. 제 7 항에 있어서,
    상기 제어 워드들과의 데이터 송신 문제가 있는지 여부를 검출하기 위해 상기 제어 워드들 상에서 사이클릭 리던던시 체크 (CRC) 를 수행하는 단계, 및 상기 제어 워드들과의 데이터 송신 문제의 검출 시, CRC 에러 표시자를 발생하는 단계를 더 포함하는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스를 제어하기 위한 방법.
  9. 제 1 항에 있어서,
    상기 양방향 송신 라인을 따른 상기 제어 신호들의 송신과 동시에 상기 버스의 적어도 하나의 일방향 데이터 송신 라인을 따라 상기 제 2 디바이스에 데이터를 송신하는 단계를 더 포함하는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스를 제어하기 위한 방법.
  10. 제 9 항에 있어서,
    데이터의 송신 전에 상기 제 2 디바이스와 상기 제 1 디바이스를 초기에 동기시키기 위해 학습 모드 훈련 사이클을 수행하는 단계를 더 포함하는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스를 제어하기 위한 방법.
  11. 제 10 항에 있어서,
    상기 제 1 디바이스는 오디오 프로세서 서브시스템을 포함하고, 상기 제 2 디바이스는 코더-디코더 (코덱)(CODEC) 서브시스템을 포함하며, 상기 제 2 디바이스에 송신된 데이터는 비프레임 직렬 오디오 데이터를 포함하는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스를 제어하기 위한 방법.
  12. 제 10 항에 있어서,
    데이터는 상기 양방향 송신 라인을 통해 제어 신호들이 송신되는 레이트 보다 실질적으로 더 큰 레이트로 상기 적어도 하나의 일방향 데이터 송신 라인을 따라 송신되는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스를 제어하기 위한 방법.
  13. 제 1 항에 있어서,
    상기 양방향 송신 라인을 따른 상기 제어 신호들의 송신과 동시에 상기 버스의 적어도 하나의 일방향 데이터 송신 라인을 따라 상기 제 2 디바이스로부터 데이터를 획득하는 단계를 더 포함하는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스를 제어하기 위한 방법.
  14. 제 13 항에 있어서,
    상기 제 1 디바이스는 오디오 프로세서 서브시스템을 포함하고 상기 제 2 디바이스는 코덱 서브시스템을 포함하며, 상기 제 2 디바이스로부터 획득된 데이터는 비프레임 직렬 오디오 데이터를 포함하는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스를 제어하기 위한 방법.
  15. 제 1 항에 있어서,
    상기 제 1 디바이스는 상태 머신을 포함하고 상기 제 2 디바이스는 상태 머신을 포함하는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스를 제어하기 위한 방법.
  16. 양방향 송신 라인을 갖는 직렬 시간 분할 멀티플렉싱된 (TDM) 버스에 커플링된 제 1 디바이스로서,
    상기 제 1 디바이스는 프로세싱 회로를 포함하고,
    상기 프로세싱 회로는,
    상기 양방향 송신 라인을 따라 제 2 디바이스에 제어 신호들을 송신하고;
    상기 양방향 송신 라인을 따라 상기 제 2 디바이스에 상기 제어 신호들이 송신될 때 위상 카운트를 추적하고;
    상기 제 1 디바이스가 상기 양방향 송신 라인을 따라 상기 제 2 디바이스로부터 동기화 표시자 신호를 획득하는 것을 허용하기 위해 상기 위상 카운트에 기초하여 상기 제어 신호들의 송신을 일시적으로 중단하며; 그리고
    송신이 일시적으로 중단되는 동안 상기 제 2 디바이스로부터 동기화 표시자 신호가 획득되는지 여부에 기초하여 상기 제 2 디바이스와의 동기화를 검증하도록 구성되는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스에 커플링된 제 1 디바이스.
  17. 제 16 항에 있어서,
    상기 프로세싱 회로는 또한, 동기화 결여의 검출 시, 동기화 에러 표시자를 발생하도록 구성되는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스에 커플링된 제 1 디바이스.
  18. 제 16 항에 있어서,
    상기 프로세싱 회로는 또한, 상기 양방향 송신 라인을 따른 상기 제어 신호들의 송신과 동시에 상기 TDM 버스의 하나 이상의 일방향 데이터 송신 라인들을 따라 상기 제 2 디바이스로의 데이터 신호들의 송신을 제어하도록 구성되는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스에 커플링된 제 1 디바이스.
  19. 제 18 항에 있어서,
    상기 프로세싱 회로는 또한, 데이터 신호들의 송신 전에 상기 제 2 디바이스와 상기 제 1 디바이스를 초기에 동기시키기 위해 학습 모드 훈련 사이클을 수행하도록 구성되는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스에 커플링된 제 1 디바이스.
  20. 제 16 항에 있어서,
    상기 프로세싱 회로는 또한, 제어 워드들과의 데이터 송신 문제가 있는지 여부를 검출하기 위해 상기 양방향 송신 라인을 통해 송신되는 상기 제어 워드들 상에서 사이클릭 리던던시 체크 (CRC) 를 수행하도록 구성되는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스에 커플링된 제 1 디바이스.
  21. 제 16 항에 있어서,
    상기 프로세싱 회로는 또한, 상기 TDM 버스의 별도의 일방향 클록 라인을 따라 상기 제 2 디바이스로의 송신을 위해 시스템 클록 신호를 획득하도록 구성되는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스에 커플링된 제 1 디바이스.
  22. 제 16 항에 있어서,
    상기 프로세싱 회로는 상태 머신으로서 동작하도록 구성되는, 직렬 시간 분할 멀티플렉싱된 (TDM) 버스에 커플링된 제 1 디바이스.
  23. 버스에 또한 접속된 제 2 상태 머신에 상기 버스의 양방향 송신 라인을 따라 제어 신호들을 송신하는 수단;
    상기 양방향 송신 라인을 따라 상기 제 2 상태 머신에 상기 제어 신호들이 송신될 때 제 1 상태 머신의 위상 카운트를 추적하는 수단;
    제 1 디바이스가 상기 양방향 송신 라인을 따라 상기 제 2 상태 머신으로부터 동기화 표시자 신호를 획득하는 것을 허용하기 위해 상기 위상 카운트에 기초하여 상기 제어 신호들의 송신을 일시적으로 중단하는 수단; 및
    상기 제 1 상태 머신에 의해 상기 송신이 일시적으로 중단되는 동안 상기 제 2 상태 머신으로부터 동기화 표시자 신호가 획득되는지 여부에 기초하여 상기 제 1 및 제 2 상태 머신들의 동기화를 검증하는 수단을 포함하는, 디바이스.
  24. 제 23 항에 있어서,
    제 1 및 제 2 디바이스들의 동기화를 검증하는 수단은,
    송신이 일시적으로 중단되는 동안 상기 제 1 디바이스에 의해 동기화 표시자 신호가 획득되는 경우 상기 제 1 및 제 2 디바이스들이 동기되는 것을 확인하는 수단; 및
    송신이 일시적으로 중단되는 동안 상기 제 1 디바이스에 의해 동기화 표시자 신호가 획득되지 않은 경우 상기 제 1 및 제 2 디바이스들이 동기되지 않은 것을 검출하는 수단을 포함하는, 디바이스.
  25. 제 24 항에 있어서,
    동기화 결여의 검출 시 동기화 에러 표시자를 발생하는 수단을 더 포함하는, 디바이스.
  26. 제 23 항에 있어서,
    상기 양방향 송신 라인을 따른 상기 제어 신호들의 송신과 동시에 TDM 버스의 하나 이상의 일방향 데이터 송신 라인들을 따라 제 2 디바이스로의 데이터 신호들의 송신을 제어하는 수단을 더 포함하는, 디바이스.
  27. 하나 이상의 명령들을 갖는 프로세서 판독가능 저장 매체로서,
    상기 하나 이상의 명령들은, 적어도 하나의 프로세싱 회로에 의해 실행될 때, 상기 적어도 하나의 프로세싱 회로로 하여금,
    제 1 디바이스로부터 제 2 디바이스로 직렬 시간 분할 멀티플렉싱된 (TDM) 버스의 양방향 송신 라인을 따라 제어 신호들을 송신하게 하고,
    상기 양방향 송신 라인을 따라 상기 제 2 디바이스에 상기 제어 신호들이 송신될 때 제 1 디바이스의 위상 카운트를 추적하게 하고;
    상기 제 1 디바이스가 상기 양방향 송신 라인을 따라 상기 제 2 디바이스로부터 동기화 표시자 신호를 획득하는 것을 허용하기 위해 상기 위상 카운트에 기초하여 상기 제어 신호들의 송신을 일시적으로 중단하게 하며; 그리고
    상기 제 1 디바이스에 의해 송신이 일시적으로 중단되는 동안 상기 제 2 디바이스로부터의 동기화 표시자 신호의 수신에 기초하여 상기 제 1 및 제 2 디바이스들의 동기화를 검증하게 하는, 프로세서 판독가능 저장 매체.
  28. 제 27 항에 있어서,
    상기 프로세서 판독가능 저장 매체는, 적어도 하나의 프로세싱 회로에 의해 실행될 때, 상기 적어도 하나의 프로세싱 회로로 하여금,
    송신이 일시적으로 중단되는 동안 상기 제 1 디바이스에 의해 동기화 표시자 신호가 획득되는 경우 상기 제 1 및 제 2 디바이스들이 동기되는 것을 확인하는 것; 및
    송신이 일시적으로 중단되는 동안 상기 제 1 디바이스에 의해 동기화 표시자 신호가 획득되지 않은 경우 상기 제 1 및 제 2 디바이스들이 동기되지 않은 것을 검출하는 것에 의해,
    상기 적어도 하나의 프로세싱 회로로 하여금 상기 제 1 및 제 2 디바이스들의 동기화를 검증하게 하는 하나 이상의 명령들을 더 포함하는, 프로세서 판독가능 저장 매체.
  29. 제 28 항에 있어서,
    상기 프로세서 판독가능 저장 매체는, 적어도 하나의 프로세싱 회로에 의해 실행될 때, 상기 적어도 하나의 프로세싱 회로로 하여금, 동기화 결여의 검출 시 동기화 에러 표시자를 발생하게 하는 하나 이상의 명령들을 더 포함하는, 프로세서 판독가능 저장 매체.
  30. 제 27 항에 있어서,
    상기 프로세서 판독가능 저장 매체는, 적어도 하나의 프로세싱 회로에 의해 실행될 때, 상기 적어도 하나의 프로세싱 회로로 하여금, 상기 양방향 송신 라인을 따른 상기 제어 신호들의 송신과 동시에 상기 TDM 버스의 하나 이상의 일방향 데이터 송신 라인들을 따라 상기 제 1 디바이스로부터 상기 제 2 디바이스로의 데이터 신호들의 송신을 제어하게 하는 하나 이상의 명령들을 더 포함하는, 프로세서 판독가능 저장 매체.
KR1020167029731A 2014-03-27 2015-03-27 양방향 동기화/제어 워드 라인을 갖는 직렬 시간 분할 멀티플렉싱된 버스 KR101790484B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/227,235 2014-03-27
US14/227,235 US9369272B2 (en) 2014-03-27 2014-03-27 Serial time-division-multiplexed bus with bidirectional synchronization/control word line
PCT/US2015/023122 WO2015148992A1 (en) 2014-03-27 2015-03-27 Serial time-division-multiplexed bus with bidirectional synchronization/control word line

Publications (2)

Publication Number Publication Date
KR20160128430A true KR20160128430A (ko) 2016-11-07
KR101790484B1 KR101790484B1 (ko) 2017-10-25

Family

ID=52823874

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167029731A KR101790484B1 (ko) 2014-03-27 2015-03-27 양방향 동기화/제어 워드 라인을 갖는 직렬 시간 분할 멀티플렉싱된 버스

Country Status (6)

Country Link
US (1) US9369272B2 (ko)
EP (1) EP3123347A1 (ko)
JP (1) JP6240791B2 (ko)
KR (1) KR101790484B1 (ko)
CN (1) CN106133712B (ko)
WO (1) WO2015148992A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9461601B2 (en) 2013-05-20 2016-10-04 Maxim Integrated Products, Inc. Multichannel digital audio interface
KR102287396B1 (ko) * 2014-10-21 2021-08-06 삼성전자주식회사 시스템 온 패키지 모듈과 이를 포함하는 모바일 컴퓨팅 장치
US10423567B2 (en) 2016-02-01 2019-09-24 Qualcomm Incorporated Unidirectional clock signaling in a high-speed serial link
US10159053B2 (en) * 2016-02-02 2018-12-18 Qualcomm Incorporated Low-latency low-uncertainty timer synchronization mechanism across multiple devices
US10901936B2 (en) * 2016-07-21 2021-01-26 International Business Machines Corporation Staged power on/off sequence at the I/O phy level in an interchip interface
US11271773B2 (en) * 2017-06-14 2022-03-08 Renesas Electronics America Inc. Arrangement and method for connecting various integrated circuits in an automotive control system
US20190005974A1 (en) * 2017-06-28 2019-01-03 Qualcomm Incorporated Alignment of bi-directional multi-stream multi-rate i2s audio transmitted between integrated circuits
US11706273B2 (en) * 2019-02-25 2023-07-18 Ams Ag Host communication circuit, client communication circuit, communication system, sound reproducing device and communication method
EP3726393B1 (en) * 2019-04-15 2023-05-31 ams AG Host communication circuit, client communication circuit, communication system, sound reproducing device and communication method
CN110096831B (zh) * 2019-05-10 2021-08-13 核芯互联科技(青岛)有限公司 数模混合仿真中链接节点插入装置
US11259164B2 (en) * 2020-02-27 2022-02-22 Shure Acquisition Holdings, Inc. Low overhead control channel for wireless audio systems
CN112491528A (zh) * 2020-11-20 2021-03-12 武汉光迅信息技术有限公司 一种通信时钟同步恢复的方法和装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2203615B (en) * 1987-02-20 1991-06-19 Plessey Co Plc Time division multiplexed signalling
JPH0230256A (ja) * 1988-07-20 1990-01-31 Toshiba Corp 双方向シリアル通信方式
JPH11306096A (ja) * 1998-04-22 1999-11-05 Canon Inc シリアル通信装置および方法並びにシリアル通信制御プログラムを記録した記録媒体
US6434650B1 (en) 1998-10-21 2002-08-13 Intel Corporation Apparatus and method for multiplexing bi-directional data onto a low pin count bus between a host CPU and co-processor
JP2000293485A (ja) 1999-04-08 2000-10-20 Matsushita Electric Ind Co Ltd 通信インターフェース
US6772251B1 (en) 2001-05-04 2004-08-03 Cypress Semiconductor Corporation Bit interleaved data serial interface
GB2432765B (en) 2005-11-26 2008-04-30 Wolfson Microelectronics Plc Audio device
US8542266B2 (en) 2007-05-21 2013-09-24 Polycom, Inc. Method and system for adapting a CP layout according to interaction between conferees
US8619821B2 (en) * 2011-03-25 2013-12-31 Invensense, Inc. System, apparatus, and method for time-division multiplexed communication
US9065674B2 (en) 2011-04-29 2015-06-23 Qualcomm Incorporated Multiple slimbus controllers for slimbus components
EP2856690B1 (en) 2012-06-01 2020-12-02 BlackBerry Limited Universal synchronization engine based on probabilistic methods for guarantee of lock in multiformat audio systems
EP2672393A1 (en) 2012-06-04 2013-12-11 Dialog Semiconductor B.V. Circuit and methods to use an audio interface to program a device within an audio stream

Also Published As

Publication number Publication date
KR101790484B1 (ko) 2017-10-25
EP3123347A1 (en) 2017-02-01
CN106133712B (zh) 2017-08-04
JP6240791B2 (ja) 2017-11-29
CN106133712A (zh) 2016-11-16
WO2015148992A1 (en) 2015-10-01
US9369272B2 (en) 2016-06-14
JP2017515198A (ja) 2017-06-08
US20150280904A1 (en) 2015-10-01

Similar Documents

Publication Publication Date Title
KR101790484B1 (ko) 양방향 동기화/제어 워드 라인을 갖는 직렬 시간 분할 멀티플렉싱된 버스
KR101616488B1 (ko) 차분 디코더
EP3412016B1 (en) Scalable, high-efficiency, high-speed serialized interconnect
US9979432B2 (en) Programmable distributed data processing in a serial link
US9735950B1 (en) Burst mode clock data recovery circuit for MIPI C-PHY receivers
KR101570610B1 (ko) 2-와이어 통신 프로토콜 엔진
KR20190039515A (ko) 원격 버스 활성화를 위한 시스템들 및 기술들
CN109643298B (zh) 用于同步链路的三倍数据率技术
US9678828B2 (en) Error detection capability over CCIe protocol
US20180027174A1 (en) Signaling camera configuration changes using metadata defined for a camera command set
EP2997485A1 (en) Media time based usb frame counter synchronization for wi-fi serial bus
US20200221362A1 (en) Communication systems with auxiliary master and auxiliary call support functionality
CN107623557B (zh) 与射频集成电路进行数字通信的基带集成电路及其设备
TW201904236A (zh) 串列匯流排中止之際的糾錯計算
US10003456B2 (en) Soundwire XL turnaround signaling
WO2023159415A1 (en) Adaptive low-power signaling to enable link signal error recovery without increased link clock rates
WO2023108461A1 (en) Dynamic display serial interface physical layer interface configuration change
KR102568225B1 (ko) 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법
CN108268087B (zh) 半导体装置、半导体系统和操作半导体装置的方法
Teixeira Framework for Media Oriented Transport Systems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant