KR102257417B1 - 디바이스들의 멀티-디바이스 동기화를 위한 인코딩 - Google Patents

디바이스들의 멀티-디바이스 동기화를 위한 인코딩 Download PDF

Info

Publication number
KR102257417B1
KR102257417B1 KR1020197013375A KR20197013375A KR102257417B1 KR 102257417 B1 KR102257417 B1 KR 102257417B1 KR 1020197013375 A KR1020197013375 A KR 1020197013375A KR 20197013375 A KR20197013375 A KR 20197013375A KR 102257417 B1 KR102257417 B1 KR 102257417B1
Authority
KR
South Korea
Prior art keywords
devices
communication bus
shared communication
encoded
bus
Prior art date
Application number
KR1020197013375A
Other languages
English (en)
Other versions
KR20190065389A (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 KR20190065389A publication Critical patent/KR20190065389A/ko
Application granted granted Critical
Publication of KR102257417B1 publication Critical patent/KR102257417B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
    • H04L12/4135Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD) using bit-wise arbitration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • 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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/409Mechanical coupling
    • G06F13/4095Mechanical coupling in incremental bus architectures, e.g. bus stacks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40143Bus networks involving priority mechanisms

Abstract

분산된 네트워크 시스템은 통신 프로토콜에 따라 동작하는 공유된 통신 버스 및 상기 버스에 결합된 복수의 디바이스들을 포함할 수 있다. 통신 프로토콜에 따라, 하나 이상의 복수의 디바이스들이 상기 버스 상에서 데이터를 능동적으로 송신할 때, 상기 버스를 통해 복수의 디바이스들 사이에서 양방향 통신이 확립되고, 상기 복수의 디바이스들 각각이 상기 공유된 통신 버스의 버스 상태를 모니터링하여 데이터 경합을 피하고 상기 버스를 통해 인코딩된 심볼들 및 상기 인코딩된 심볼들을 포함하는 인코딩된 메시지들의 수신을 동기화하고, 상기 복수의 디바이스들 중 각각의 능동적 송신 디바이스가 상기 버스 상태를 그러한 능동적 송신 디바이스의 원하는 상태와 비교하여 상기 버스에 관하여 상기 복수의 디바이스들 중 능동적 송신 디바이스들 사이에서의 우선 순위를 결정하도록, 상기 복수의 디바이스들 각각은 상기 버스를 통해 데이터를 수신한다.

Description

디바이스들의 멀티-디바이스 동기화를 위한 인코딩
본 발명은 일반적으로 무선 전화 및 미디어 플레이어와 같은 개인용 오디오 디바이스를 비제한적으로 포함하는 오디오 시스템을 위한 회로들에 관한 것으로, 보다 구체적으로는 오디오 시스템 내에서 오디오 디바이스들의 분산된 네트워크들의 제어, 응답, 및/또는 상태 머신 동기화에 관한 것이다.
모바일/셀룰러 전화, 무선 전화, mp3 플레이어, 및 기타 소비자 오디오 디바이스와 같은 무선 전화들을 포함하는 개인용 오디오 디바이스들이 널리 사용되고 있다. 이러한 개인용 오디오 디바이스들은 한 쌍의 헤드폰들 또는 하나 이상의 스피커들을 구동하기 위한 회로들을 포함할 수 있다. 이러한 회로는 종종 오디오 출력 신호를 헤드폰들 또는 스피커들로 보내기 위한 전력 증폭기를 포함하는 스피커 드라이버를 포함한다.
소비자 및 전문 오디오 장비 모두에서, 상이한 오디오 채널들 사이에서 동작 응답이 일치해야 하는 경우가 종종 있다. 예를 들어, 이러한 오디오 시스템의 요건은 데이터 경로 그룹 지연 및 이벤트(예를 들면, 인터럽트, 디바이스 오류 등)에 대한 음향 응답이 모든 오디오 채널들에 걸쳐 일치해야 하며, 최소한 이러한 응답들이 제어되고 결정론적이어야 된다.
그러나, 그러한 디바이스들에서는 때대로, 다중 증폭기들 및 다중 데이터 경로들이 복수의 스피커들을 구동하는데 사용될 수 있다. 거의 대부분에서, 이러한 증폭기들의 배치는 스피커들 자체에 국한될 수 있으며, 이러한 것은, 증폭기들이 서로 근접하지 않을 수 있으며 하나의 증폭기가 하나 이상의 다른 증폭기들에 의해 관측되지 않는 로컬 오류 이벤트에 놓이게 될 수 있다는 것을 의미한다. 예로서, 증폭기들을 수용하고 있는 주 인쇄 회로 기판에 대한 배터리 연결은 증폭기들과 대칭이 아닐 수 있는데, 이러한 것은, 하나의 증폭기와 배터리 공급 장치 사이의 직렬 기생 손실이 다른 증폭기와 배터리 공급 장치에서보다 더 많을 수 있다는 것을 의미한다. 배터리로부터 동등한 양의 전력이 각 증폭기에 의해 소비되는 경우, 하나의 증폭기에서의 로컬 공급 전압은 다른 증폭기에서보다 낮게 될 수 있다. 이러한 전력 소비의 불균형은, 하나의 증폭기가 저전압 오류 조건에 응답해야 하지만 다른 증폭기는 그 오류 조건을 관측할 수 없는 조건을 생성할 수 있다.
휴대용 배터리 전력 공급 디바이스에서 흔히 이러한 저전압 조건에 대한 증폭기의 응답은 증폭기의 볼륨을 줄이는 것이될 수 있고, 그에 따라 시스템의 나머지 부분에 대한 배터리의 공급 전압을 보존하기 위해 증폭기의 전류 소비를 줄이게된다. 그러나 이러한 오디오 감쇄가 한 채널에서 수행되지만 다른 채널에서는 수행되지 않으면, 바람직하지 않은 음향 효과를 갖게될 수 있으며 이는 최종 사용자에게 부정적인 경험을 야기시킨다. 설명하자면 인간의 청력은 오디오의 변화에 종종 매우 민감하다. 이러한 민감성은 인간으로 하여금 소스의 방향, 소스에 대한 대략적 거리, 사운드가 물체에서 반사하였는지 여부, 예상되는 사운드에서의 다양한 이상 및 변경 사항들의 식별과 같은 것들을 분간할 수 있게 한다. 양쪽 귀들은 전형적으로 이러한 과정의 일부로서 활용되어 사운드의 입체적인 특성을 가져온다. 따라서 효과적인 청각 과정은 사운드의 "이미지"를 생성시킨다.
미디어 재생의 경우, 사운드가 두뇌에 의해 해석되는 방식의 이점을 취하기 위해 오디오 신호는 종종 의도적으로 조작된다. 이러한 의도적인 오디오 조작은 멀티-채널 사운드에 특히 적용된다. 멀티-채널 사운드의 경우, 이러한 의도적인 오디오 조작이 효과적이고 재현 가능하게 되도록 하기 위해, 특정 시스템 레벨 파라미터들이 알려질 필요가 있고 일정하고 결정론적이 될 필요가 있다. 전자 오디오 구성 요소들이 더욱 소형화됨에 따라 이들은 또한 말단 시스템에서 더 많이 분산되는 경향이 있다. 그러나, 이러한 분산된 아키텍처로 인해, 채널 간 위상 및 진폭과 같은 결정론적 요건들이 변화하지 않고, 그에 따라 오디오 디바이스들에 대한 멀티 디바이스 동기화와 같은 오디오 시스템의 주요 결정론적 관계들을 보장하기 위해 추가적인 접근이 필요하게 된다.
증폭기들 사이의 응답 차이들을 완화하기 위한 제어 포트 기록(control port writes)과 함께 인터럽트 기반 방식과 같은 소프트웨어 접근법을 활용하는 데는 한계가 있다. 이러한 접근법은 제어 포트 마스터 디바이스가: (1) 인터럽트들을 모니터링하고, (2) 제어 포트 판독을 가급적 필요로 하는 상이한 오류 조건들 사이를 구별할 수 있어야 하며, (3) 오류 조건에 대한 응답을 결정하고, (4) 그후 다른 증폭기(들)와 정보를 교환할 것을 요구한다. 조건이 지속적으로 변화하면, 이러한 접근법은 개발자 및 소프트웨어 리소스들에 부담이될 수 있으며, 오류 상태를 적절하게 처리할 수 있는 적절한 응답 시간을 여전히 갖지 못할 수 있다.
불확정적인 그룹 지연들(또는 채널 간 위상 시프트들)과 같은 다른 일치하지 않은 거동이 또한 바람직하지 않은 음향 효과를 생성할 수도 있다. 제어된 방식에서, 신호 위상을 진폭 및 주파수 시프팅과 함께 조작하는 것이 사운드 방향성(sound localization), 미미킹 잔향(mimicking reverberation), 가상 서라운드 사운드 등과 같은 음향 효과를 생성하기 위해 사용될 수 있다. 그러나 시스템이 분산된 디바이스 네트워크의 체계적인 거동에 대해 충분히 제어하지 못할 때, 하드웨어 시스템은 시스템의 멀티-채널 음향 성능과 상호 작용할 수 있으며 또한 자체 시스템의 바람직하지 않은 음향 효과를 생성할 수 있다.
그룹 지연들 또는 시스템 레벨 응답들의 제어된 일치는 오디오 출력을 제어하는 목적으로도 중요할뿐만 아니라 디바이스들 사이의 신호 타이밍이 원하는 기능의 핵심 부분이 되는 모니터링 시스템에도 중요하다. 예를 들어, 신호의 타이밍이 중요한 근접 검출 또는 제스처 식별과 같은 초음파 애플리케이션들에서, 초음파 마이크로폰들에 연결된 아날로그-디지털 변환기들의 분산 네트워크는 동기화될 필요가 있다. 이러한 동기화 없이는, 검출 알고리즘들은 적절히 응답하기에 충분한 유효 데이터를 확보하지 못할 수도 있다.
본 개시 내용의 설명에 따라, 분산된 디바이스 네트워크 사이에서의 동기화 기능에 대한 기존의 접근법과 관련된 하나 이상의 단점들 및 문제점들이 감소되거나 제거될 수 있다.
본 개시 내용의 실시예들에 따라, 분산된 네트워크 시스템은 통신 프로토콜에 따라 동작하는 공유된 통신 버스 및 상기 공유된 통신 버스에 결합된 복수의 디바이스들을 포함할 수 있다.
통신 프로토콜에 따라, 하나 이상의 복수의 디바이스들이 공유된 통신 버스 상에서 데이터를 능동적으로 송신할 때, 공유된 통신 버스를 통해 복수의 디바이스들 사이에서 양방향 통신이 확립되고, 상기 복수의 디바이스들 각각이 상기 공유된 통신 버스의 버스 상태를 모니터링하여 데이터 경합을 피하고 상기 공유된 통신 버스를 통해 인코딩된 심볼들 및 상기 인코딩된 심볼들을 포함하는 인코딩된 메시지들의 수신을 동기화하고, 상기 복수의 디바이스들 중 각각의 능동적 송신 디바이스가 상기 버스 상태를 그러한 능동적 송신 디바이스의 원하는 상태와 비교하여 상기 공유된 통신 버스에 관하여 상기 복수의 디바이스들 중 능동적 송신 디바이스들 사이에서의 우선 순위를 결정하도록, 상기 복수의 디바이스들 각각은 상기 공유된 통신 버스를 통해 데이터를 수신한다.
본 개시 내용의 이들 및 다른 실시예들에 따라, 분산된 네트워크 시스템은 통신 프로토콜에 따라 동작하는 공유된 통신 버스 및 상기 공유된 통신 버스에 결합된 복수의 디바이스들을 포함할 수 있다. 통신 프로토콜에 따라, 상기 공유된 통신 버스를 통한 인코딩된 메시지의 수신에 응답하여, 상기 복수의 디바이스들 각각은 상기 인코딩된 메시지와 연관된 변수를 나타내는 복수의 인코딩된 심볼들을 포함하는 인코딩된 페이로드를 상기 공유된 통신 버스에 송신하며, 상기 복수의 디바이스들 중 적어도 하나의 디바이스는 상기 변수의 최대 값을 결정하기 위해 상기 공유된 통신 버스를 모니터링한다.
본 개시 내용의 이들 및 다른 실시예들에 따라, 분산된 네트워크 시스템은 통신 프로토콜에 따라 동작하는 공유된 통신 버스 및 상기 공유된 통신 버스에 결합된 복수의 디바이스들을 포함할 수 있으며, 여기에서 상기 통신 프로토콜에 따라 상기 복수의 디바이스들에 의해 상기 공유된 통신 버스로 송신되는 인코딩된 메시지들 각각은 상기 복수의 디바이스들이 상기 공유된 통신 버스 상에서 인코딩된 메시지들을 송신하기 위한 대역폭을 공유할 수 있게 하도록 복수의 인코딩된 심볼들을 포함하는 데이터 구조를 포함한다.
본 개시 내용의 이들 및 다른 실시예들에 따라, 분산된 네트워크 시스템은 통신 프로토콜에 따라 동작하는 공유된 통신 버스 및 상기 공유된 통신 버스에 결합된 복수의 디바이스들을 포함할 수 있으며, 여기에서 상기 디바이스들 각각은 상기 공유된 통신 버스의 전압의 전기적 전이(electrical transition)를 일으킴으로써 상기 공유된 통신 버스를 유휴 상태(idle state)로부터 웨이크(wake)하도록 구성된다.
본 개시 내용의 이들 및 다른 실시예들에 따라, 분산된 네트워크 시스템은 통신 프로토콜에 따라 동작하는 공유된 통신 버스 및 상기 공유된 통신 버스에 결합된 복수의 디바이스들을 포함할 수 있으며, 여기에서 상기 디바이스들 각각은, 상기 공유된 통신 버스 상의 다른 디바이스들이 상기 인코딩된 동기화 심볼과 연관된 상기 공유된 통신 버스의 전압의 전기적 전이의 검출에 기초하여 상기 다른 디바이스들 내부의 각각의 동기화 클록을 동기화하도록 상기 공유된 통신 버스 상에서 인코딩된 동기화 심볼을 송신함으로써, 상기 공유된 통신 버스를 유휴 상태로부터 웨이크하도록 구성된다.
본 개시 내용의 이들 및 다른 실시예들에 따라, 한 방법은, 복수의 디바이스들이 각각 결합되는 공유된 통신 버스에 대한 통신 프로토콜에 따라 분산된 네트워크 시스템의 복수의 디바이스들을 동작시키는 단계로서, 상기 통신 프로토콜에 따라:
(i) 상기 복수의 디바이스들 중 하나 이상이 상기 공유된 통신 버스 상에서 데이터를 능동적으로 송신할 때, 상기 복수의 디바이스들 각각은 양방향 통신이 상기 공유된 통신 버스를 통해 상기 복수의 디바이스들 사이에서 확립되도록 상기 공유된 통신 버스를 통해 데이터를 수신하고;
(ii) 상기 복수의 디바이스들 각각은 상기 공유된 통신 버스의 버스 상태를 모니터링하여 데이터 경합을 피하고 상기 공유된 통신 버스를 통한 인코딩된 심볼들 및 상기 인코딩된 심볼들을 포함하는 인코딩된 메시지들의 수신을 동기화하고;
(iii) 상기 복수의 디바이스들 중 각각의 능동적으로 송신하는 디바이스는 상기 버스 상태를 그러한 능동적으로 송신하는 디바이스의 원하는 상태와 비교하여 상기 공유된 통신 버스에 관하여 상기 복수의 디바이스들 중 능동적으로 송신하는 디바이스들 사이에서의 우선 순위를 결정하도록 하는, 상기 복수의 디바이스들을 동작시키는 단계를 포함할 수 있다.
본 개시 내용의 이들 및 다른 실시예들에 따라, 한 방법은, 복수의 디바이스들이 각각 결합되는 공유된 통신 버스에 대한 통신 프로토콜에 따라 분산된 네트워크 시스템의 복수의 디바이스들을 동작시키는 단계로서, 상기 통신 프로토콜에 따라 상기 공유된 통신 버스를 통한 인코딩된 메시지의 수신에 응답하여,
(i) 상기 복수의 디바이스들 각각이 상기 인코딩된 메시지와 연관된 변수를 나타내는 복수의 인코딩된 심볼들을 포함하는 인코딩된 페이로드를 상기 공유된 통신 버스로 송신하고,
(ii) 상기 복수의 디바이스들 중 적어도 하나의 디바이스가 상기 변수의 최대 값을 결정하기 위해 상기 공유된 통신 버스를 모니터링하도록 하는, 상기 복수의 디바이스들을 동작시키는 단계를 포함할 수 있다.
본 개시 내용의 이들 및 다른 실시예들에 따라, 한 방법은, 복수의 디바이스들이 각각 결합되는 공유된 통신 버스에 대한 통신 프로토콜에 따라 분산된 네트워크 시스템의 복수의 디바이스들을 동작시키는 단계로서, 상기 통신 프로토콜에 따라 상기 복수의 디바이스들에 의해 상기 공유된 통신 버스로 송신되는 인코딩된 메시지들 각각은 상기 복수의 디바이스들이 상기 공유된 통신 버스 상에서 인코딩된 메시지들을 송신하기 위한 대역폭을 공유할 수 있게 하도록 복수의 인코딩된 심볼들을 포함하는 데이터 구조를 포함하도록 하는, 상기 복수의 디바이스들을 동작시키는 단계를 포함할 수 있다.
본 개시 내용의 이들 및 다른 실시예들에 따라, 한 방법은, 복수의 디바이스들이 각각 결합되는 공유된 통신 버스에 대한 통신 프로토콜에 따라 분산된 네트워크 시스템의 복수의 디바이스들을 동작시키는 단계로서, 상기 통신 프로토콜에 따라, 상기 디바이스들 각각이 상기 공유된 통신 버스의 전압의 전기적 전이를 일으킴으로써 상기 공유된 통신 버스를 유휴 상태로부터 웨이크하도록 구성되게 하는, 상기 복수의 디바이스들을 동작시키는 단계를 포함할 수 있다.
본 개시 내용의 이들 및 다른 실시예들에 따라, 한 방법은, 복수의 디바이스들이 각각 결합되는 공유된 통신 버스에 대한 통신 프로토콜에 따라 분산된 네트워크 시스템의 복수의 디바이스들을 동작시키는 단계로서, 상기 통신 프로토콜에 따라, 상기 디바이스들 각각이 상기 공유된 통신 버스 상에서 인코딩된 동기화 심볼을 송신함으로써 상기 공유된 통신 버스를 유휴 상태로부터 웨이크하도록 구성되어, 상기 공유된 통신 버스 상의 다른 디바이스들이 상기 인코딩된 동기화 심볼과 연관된 상기 공유된 통신 버스의 전압의 전기적 전이의 검출에 기초하여 상기 다른 디바이스들 내부의 각각의 동기화 클록을 동기화하도록 하는, 상기 복수의 디바이스들을 동작시키는 단계를 포함할 수 있다.
본 개시 내용의 기술적 장점들은 본 명세서에 포함된 도면, 상세한 설명 및 청구 범위로부터 당업자에게 쉽게 명백하게 될 것이다. 상기 실시예들의 목적들 및 장점들은 적어도 청구 범위에서 특별히 지적된 요소들, 특징들 및 조합들에 의해 실현되고 달성될 것이다.
전술한 일반적인 설명과 다음의 상세한 설명은 모두 예시적이고 설명적인 것이며 본 명세서에 개시된 청구 범위를 제한하지 않는다는 것을 이해해야 한다.
본 발명의 실시예들과 그 이점들에 대한 더욱 완전한 이해는 첨부된 도면과 관련하여 취해진 다음의 설명을 참조함으로써 얻어질 수 있으며, 여기에서 동일한 도면 부호들은 동일한 특징들을 나타낸다.
도 1은 본 개시 내용의 실시예들에 따라 예시적인 개인용 오디오 디바이스를 도시한다.
도 2는 본 개시 내용의 실시예들에 따라 개인용 오디오 디바이스의 예시적인 오디오 집적 회로의 선택된 구성 요소들의 블록도를 도시한다.
도 3은 본 개시 내용의 실시예들에 따라 개인용 오디오 디바이스의 오디오 집적 회로의 예시적인 오디오 신호 경로의 선택된 구성 요소들의 블록도를 도시한다.
도 4는 본 개시 내용의 실시예들에 따라 통신 버스를 통해 서로 결합된 디바이스들의 분산된 네트워크의 선택된 구성 요소들의 블록도를 도시한다.
도 5는 본 발명의 실시예들에 따라 디바이스의 선택된 구성 요소들의 블록도를 도시한다.
도 6은 본 개시 내용의 실시예들에 따라 송수신기의 선택된 구성 요소들의 블록도를 도시한다.
도 7은 본 개시 내용의 실시예들에 따라 공유된 통신 버스의 통신 프로토콜의 인코딩 방식을 예시하는 일련의 타이밍도를 도시한다.
도 8은 본 개시 내용의 실시예들에 따라 2 개의 디바이스들이 동일한 시간에 인코딩된 메시지들을 통신하려고 시도하는 예시적인 가상적인 상황을 예시하는 타이밍도를 도시한다.
도 9는 본 개시 내용의 실시예들에 따라 4 개의 디바이스들이 각각의 디바이스에 의해 수신된 메시지에 응답하여 인코딩된 페이로드들을 통신하려고 시도하는 예시적인 가상적인 상황을 예시하는 타이밍도를 도시한다.
도 10a 및 도 10b 각각은 본 개시 내용의 실시예들에 따라 디바이스 우선 순위 필드들을 이용하는 예시적인 메시지 포맷들을 도시한다.
본 명세서에 개시된 멀티-디바이스 동기화 접근법은, 디바이스들의 네트워크 내의 다중의 분산된 디바이스들이 서로의 동작 상태 및 구성을 인식하게 하고, 분산된 디바이스들을 포함하는 시스템에 대한 낮은 영향 및 낮은 복잡성을 유지하면서 시스템 상에서 단일 디바이스로서 효과적으로 수행하게 한다. 멀티-디바이스 동기화는 그 동작들이 동기화되어야 하는 디바이스들에 대해 구속 상태를 유지할 수 있다.
도 1은 본 개시 내용의 실시예들에 따라 예시적인 개인용 오디오 디바이스(1)를 도시한다. 도 1은 한 쌍의 이어버드 스피커들(8A 및 8B)의 형태로 헤드셋(3)에 결합된 개인용 오디오 디바이스(1)를 나타낸다. 도 1에 도시된 헤드셋(3)은 단지 예일뿐이며, 개인용 오디오 디바이스(1)는 제한 없이, 헤드폰, 이어폰, 인-이어 이어폰(in-ear earphones), 및 외부 스피커를 포함하는 다양한 오디오 송수신기와 관련하여 사용될 수 있다는 것을 이해해야 한다. 플러그(4)는 개인용 오디오 디바이스(1)의 전기 단자에 대한 헤드셋(3)의 연결을 제공할 수 있다. 개인용 오디오 디바이스(1)는 디스플레이를 사용자에게 제공할 수 있으며 터치 스크린(2)을 사용하여 사용자 입력을 수신할 수 있거나, 또는 표준 액정 디스플레이(LCD)가 개인용 오디오 디바이스(1)의 앞면(face) 및/또는 측면 상에 배치된 다양한 버튼, 슬라이더 및/또는 다이얼과 조합될 수 있다. 도 1에 또한 도시된 바와 같이, 개인용 오디오 디바이스(1)는 헤드셋(3) 및/또는 다른 오디오 송수신기로의 송신을 위한 아날로그 오디오 신호를 생성하기 위해 오디오 집적 회로(IC)(9)를 포함할 수 있다.
도 2는 본 개시 내용의 실시예들에 따라 개인용 오디오 디바이스의 예시적인 오디오 집적 회로(9)의 선택된 구성 요소들의 블록도를 도시한다. 도 2에 도시된 바와 같이, 마이크로 제어기 코어(18)는 디지털 오디오 입력 신호들(DIG_IN_L 및 DIG_IN_R)을 다중 오디오 신호 경로들(12)(예를 들면, 오디오 신호 경로들(12a, 12b, 12c, 및 12d))에 공급할 수 있으며, 이들 각각은 오디오 스피커 또는 헤드폰과 같은 트랜스듀서를 구동하도록 그 자신의 아날로그 출력 신호(예를 들면, VOUTLL, VOUTLH, VOUTRL, 및 VOUTRH)를 생성할 수 있다. 예를 들어, 아날로그 출력 신호 VOUTLL은 좌측의 저주파 스피커(예를 들면, 우퍼)를 구동할 수 있으며, 아날로그 출력 신호VOUTLH는 좌측 고주파 스피커(예를 들면, 트위터)를 구동할 수 있으며, 아날로그 출력 신호 VOUTRL은 우측 저주파 스피커(예를 들면, 우퍼)를 구동할 수 있고, 아날로그 출력 신호 VOUTRH는 우측 고주파 스피커(예를 들면, 트위터)를 구동할 수 있다. 또한, 도 2에 도시된 바와 같이, 그리고 더욱 상세히 후술되는 바와 같이, 오디오 신호 경로들(12a, 12b, 12c, 및 12d)의 구성 요소들은 이러한 구성 요소들 사이에서의 제어 및/또는 상태 정보를 통신하기 위해 공유된 통신 버스(20)에 통신 가능하게 결합될 수 있다.
도 3은 본 개시 내용의 실시예들에 따라, 개인용 오디오 디바이스(1)의 오디오 집적 회로(9)의 예시적인 오디오 신호 경로(12)의 선택된 구성 요소들의 블록도를 도시한다. 오디오 신호 경로(12)는 도 2에 도시된 오디오 신호 경로들(12a, 12b, 12c, 및/또는 12d)을 구현하는데 사용될 수 있다. 도 3에 도시된 바와 같이, 디지털-아날로그 변환기(DAC)(14)는 디지털 오디오 입력 신호(DIG_IN)(예를 들면, DIG_IN_L 또는 DIG_IN_R)을 수신할 수 있고 디지털 오디오 입력 신호를 아날로그 신호(VIN)로 변환할 수 있다. DAC(14)는 증폭기(16)의 입력(22)에서 아날로그 신호(VIN)를 수신할 수 있는 증폭기(16)에 아날로그 신호(VIN)를 공급할 수 있으며, 오디오 입력 신호(VIN)를 증폭 또는 감쇠하여 증폭기(16)의 출력(24)에서 오디오 출력 신호(VOUT)(예를 들면, VOUTLL, VOUTLH, VOUTRL, 및 VOUTRH)를 제공할 수 있고, 이는 스피커, 헤드폰 변환기, 라인 레벨 신호 출력, 및/또는 다른 적절한 출력을 동작시킬 수 있다. 일부 실시예들에서, DAC(14)는 증폭기(16)의 필수 구성 요소일 수 있다. 도 2에 도시된 바와 같이, 증폭기(16)는 또한, 증폭기(16) 및 공유된 통신 버스에 결합된 복수의 다른 디바이스들(예를 들면, 다른 오디오 채널들을 위한 증폭기들)을 결합하도록 구성된 공유된 통신 버스(예를 들면, 공유된 통신 버스(20)) 상에서 통신 프로토콜에 따라 데이터를 능동적으로 송신하기 위한 송신기(26)와, 상기 공유된 통신 버스를 통해 상기 공유된 통신 버스에 결합된 다른 디바이스들 중 적어도 하나로부터 데이터를 수신하기 위한 수신기(28)를 포함할 수 있다. 일부 실시예들에서, 송신기(26) 및 수신기(28)는 단일 기능 유닛으로 결합될 수 있어 증폭기(16)의 단일 핀 만이 통신 버스(20)에 결합될 수 있다.
도 2 및 도 3은 오디오 IC(9)가 개인용 오디오 디바이스 내에 상주한다는 것을 고려하지만, 여기에서 설명된 시스템 및 방법은 또한 개인용 오디오 디바이스 이외의 전기/전자 시스템들 및 디바이스들에 적용될 수 있으며, 개인용 오디오 디바이스, 자동차, 건물 ,또는 다른 구조보다 더 큰 컴퓨팅 디바이스에서 사용하기 위한 오디오 시스템들을 포함할 수 있다.
도 4는 본 개시 내용의 실시예들에 따라, 통신 버스(44)(예를 들면, 도 2에 도시된 통신 버스(20)를 구현할 수 있음)를 통해 함께 결합된 디바이스들(42)의 분산된 네트워크(40)의 선택된 구성 요소들의 블록도를 도시한다. 일부 실시예들에서, 디바이스들(42)은 도 2 및 도 3에 도시된 바와 같이, 다중 오디오 신호 경로들(12)의 증폭기들(16)을 포함할 수 있다. 다른 실시예들에서, 디바이스들(42)은 코더-디코더, DAC, 아날로그-디지털 변환기(ADC), 또는 센서(예를 들면, 마이크로폰 또는 사운드 압력 센서)와 같은 오디오 신호 경로의 다른 구성 요소들을 포함할 수 있다. 또 다른 실시예들에서, 디바이스들(42)은 (예를 들면, 근접 검출을 위한) 초음파 시스템과 같은 오디오 시스템 이외의 시스템의 구성 요소일 수 있으며, 여기에서 각각의 디바이스(42)는 초음파 신호 또는 햅틱 시스템을 출력 또는 구동하며, 햅틱 시스템에서 각각의 디바이스(42)는 햅틱 신호를 출력 또는 구동한다. 이들 및 다른 실시예들에서, 분배된 시스템(40)의 모든 디바이스들(42)은 동종일 수 있다(예를 들면, 모든 디바이스들(42)은 오디오 증폭기들을 포함할 수 있고, 모든 디바이스들(42)은 코더-디코더들을 포함할 수 있고, 모든 디바이스들(42)은 DAC들을 포함할 수 있고, 모든 디바이스들(42)은 ADC들을 포함할 수 있고, 모든 디바이스들(42)은 센서들을 포함할 수 있는 등이다). 따라서, 각각의 디바이스(42)는 적절한 출력 신호(예를 들면, 오디오, 초음파, 또는 햅틱 신호)를 구동하기 위한 출력(48)을 가질 수 있다.
도 4에 도시된 바와 같이, 디바이스들(42)은 공유된 통신 버스(44)와 양방향으로 통신하기 위한 핀들(46)을 포함할 수 있다. 공유된 통신 버스(44)는 임의의 적합한 통신 버스를 포함할 수 있다. 일부 실시예들에서, 공유된 통신 버스(44)는 단일 전기 와이어 또는 노드를 포함할 수 있다.
도 4는 4 개의 디바이스들(42)을 갖는 분산된 네트워크(40)를 도시하지만, 본 개시 내용과 일치하는 다른 실시예들은 임의의 수의 디바이스들(42)을 포함할 수 있다.
도 5는 본 개시 내용의 실시예들에 따라 디바이스(42)의 선택된 구성 요소들의 블록도를 도시한다. 도 5에 도시된 바와 같이, 디바이스(42)는 송수신기(52), 상태 머신(54), 및 신호 프로세서(56)를 포함할 수 있다.
송수신기(52)는 핀(46)을 통해 공유된 통신 버스(44)에 연결될 수 있다. 동작시, 송수신기(52)는 공유된 통신 버스(44) 상에서 통신 프로토콜에 따라 데이터를 능동적으로 송신하도록 구성될 수 있고, 또한 다른 디바이스들(42) 중 적어도 하나로부터 공유된 통신 버스(44)를 통해 데이터를 수신하도록 구성될 수도 있다. 송수신기(52)에 대한 예시적인 구현이 도 6에 도시되어 있으며, 이하에서 더 상세하게 설명된다.
상태 머신(54)은, 자신의 디바이스(42)의 각각의 상태 정보를 유지하고, 출력(48)에서 출력 신호를 생성하도록 신호 프로세서(56)를 제어하기 위해 송수신기(52) 및 공유된 통신 버스(44)를 통해 다른 디바이스들로부터 수신하는 그러한 각각의 상태 정보 및 데이터에 따라 동작하도록 구성된 임의의 시스템, 디바이스, 또는 장치를 포함하도록 구성될 수 있다. 신호 프로세서(56)는 상태 머신(54)으로부터의 하나 이상의 제어 신호들에 기초하여, 입력 신호 상에서의 처리(예를 들면, 이득, 감쇠, 필터링 등의 애플리케이션)을 수행하여, 출력(48)으로 출력 신호를 발생키신다.
도 5에 도시된 바와 같이, 상태 머신(54)은 디바이스(42) 내부의 내부 동기화 클록(CLK)에 동기화될 수 있다. 일부 실시예들에서, 그러한 동기화 클록(CLK)은 알려진 주파수 허용 오차를 갖는 오버 샘플링된 동기화 클록을 포함할 수 있다. 각각의 디바이스(42)에서 그 각각의 상태 머신(54)은, 공유된 통신 버스(44)의 버스 상태를 모니터링하고 그러한 디바이스에 의해 인코딩된 심볼들 및 인코딩된 메시지들의 공유된 통신 버스(44)로의 송신을 동기화하기 위해 오버 샘플링된 동기화 클록(CLK)에 동기화될 수 있으며, 이에 대해서는 본 개시 내용의 다른 부분에서 더욱 상세하게 설명된다.
또한, 그러한 디바이스(42)에 국부적으로 발생하는 각각의 상태 정보 및/또는 이벤트에 기초하여, 상태 머신(54)은 송수신기(50) 및 공유된 통신 버스(44)를 통해 다른 디바이스들(42)로 데이터를 송신할 수 있다. 이러한 데이터에는 제한 없이 다음 성분들이 포함될 수 있다: (1) 오디오 출력 경로 그룹 지연 매칭 정보, (2) 데이터 및 오디오 모니터링 그룹 지연 매칭 정보, (3) 동기화된 파워 업 및 파워 다운 정보, (4) 동기화된 디지털 볼륨 또는 이득 변화 정보, (5) 각각의 상태 정보, (6) 분산된 네트워크(40)를 포함하는 시스템의 디바이스(42)의 구성 변화에 관한 정보, (7) 로컬 에러 검출 및/또는 그에 대한 로컬 응답에 관한 정보, (8) 디바이스 제어 및/또는 상태 정보, (9) 임의의 신호 프로세싱의 제어 및/또는 상태에 관한 정보, 및 (10) 디바이스(42)의 알고리즘 파라미터들에 관한 정보. 따라서, 일반적으로 말해서, 공유된 통신 버스(44) 상에서 통신되는 데이터는 분산된 네트워크(40)에 관한 상태 정보, 데이터를 송신한 디바이스(42)에 관한 상태 정보, 및 디바이스들(42)을 제어하기 위한 제어 파라미터 중 적어도 하나를 포함할 수 있다.
또한, 상태 머신(54)은 상기 설명된 통신 프로토콜에 따라 동작하도록 디바이스(42)의 상태를 유지하도록 구성될 수 있다. 이러한 통신 프로토콜의 예가 하기에 더욱 상세히 설명된다. 본 명세서에 설명된 멀티 디바이스 동기화 접근법에 따라, 공유된 통신 버스(44) 상의 모든 데이터 통신들은 서로 동기화되도록 디바이스들(42) 사이에서 직접적으로 이루어지며, 모든 필요한 논리(logic) 및 결정은 그러한 동기화된 디바이스들(42) 내에서 구속 상태를 유지하도록 이루어지고, 이러한 것은 동기화 또는 데이터가 중재 또는 디바이스 관리의 목적으로 호스트 프로세서로 다시 라우팅될 필요가 없음을 의미한다. 따라서, 디바이스들 사이의 이러한 동기화는 에러 조건들과 같이 디바이스들 사이에 정보를 공유할 때 일어날 수 있는 어떠한 바람직하지 않은 음향 거동의 효과를 최소화하기 위해 빠른 속도 및 낮은 응답 지연으로 발생할 수 있다. 예를 들어, 호스트 프로세서로의 통지 및 분산된 네트워크(40) 내의 다른 디바이스들(42)에 대한 구성의 변경을 필요로 하는 이벤트가 하나의 디바이스(42) 상에서 발생할 수 있다. 그러나, 호스트 프로세서가 구성 변경에 관한 정보를 다른 디바이스들(42)로 분배하도록 요구되는 기존의 접근법들과는 달리, 상기 이벤트를 경험하는 디바이스(42)는 공유된 통신 버스(44)를 통해 그 관련 정보를 통신할 수 있다. 다른 디바이스(42)는 호스트 프로세서로 하여금 각각의 디바이스(42)를 개별적으로 재구성하도록 요구하는 대신 공유된 통신 버스(44)를 통해 통신되는 정보에 기초하여 그러한 정보를 수신하고 응답(예를 들면, 그들 자신의 내부 상태 정보 및/또는 그들의 각각의 출력 신호들을 변경)할 수 있다. 제 1 디바이스(42) 상에서 이벤트를 일으키는 조건이 더 이상 존재하지 않게 되면, 다른 3 개의 디바이스들(42)은 공유된 통신 버스(44)를 통해 다시 통지될 수 있고, 정상 동작이 재개될 수 있다.
도 6은 본 개시 내용의 실시예들에 따라 예시적인 송수신기(52)의 선택된 구성 요소들의 블록도를 도시한다. 도 6에 도시된 바와 같이, 송수신기(52)는 버퍼(60 및 62), 저항기(66), 플립-플롭(70, 72, 74, 및 76), 및 논리 XOR 게이트(78)를 포함할 수 있으며, 이들 모두는 도 6에 도시된 바와 같이 배열된다. 플립-플롭(70, 72, 74, 및 76) 및 XOR 게이트(78)는 송수신기(52)에 통합된 것으로 도시되어 있지만, 일부 실시예들에서 플립-플롭(70, 72, 74 및 76) 및 XOR 게이트(78)는 상태 머신(54)에 통합될 수도 있다. 또한, 플립-플롭(70, 72, 74, 및 76)이 D 플립-플롭으로 도시되었지만, 도시된 D 플립-플롭 대신에 클록 신호(예를 들면, CLK)의 에지 전이(edge transition) 상에서 클록된 임의의 적합한 플립-플롭들이 사용될 수 있다.
버퍼(60)는 출력 신호(OUT)를 공유된 통신 버스(44)로 구동(drive)할 수 있고, 출력 신호를 구동하기 위해 버퍼(60)를 인에이블하기 위한 인에이블 신호에 의해 제어될 수 있다. 도 6에 도시된 바와 같이, 인에이블 신호(ENABLE) 및 출력 신호(OUT)는 디바이스(42) 내부의 클록 신호(CLK)의 에지(예를 들면, 상승 에지)에서 클록된 각각의 플립-플롭들(70 및 72)로부터 구동될 수 있다. 분산된 네트워크(40)에서, 각각의 디바이스(42)는 그 자신의 내부 클록 신호를 유지할 수 있다. 버퍼(62)는 입력 신호(IN)를 내부적으로 송수신기(52)로 구동할 수 있고, 또한 저항기(66)와 연결하여 전압 레벨의 전이들 사이에서 공유된 통신 버스(44) 상의 전압 레벨(예를 들면, 논리 하이 또는 논리 로우)을 유지하는 위크 키퍼(weak keeper)를 형성하도록 동작할 수 있다. 예를 들어, 공유된 통신 버스(44)에 결합된 모든 디바이스들(42)의 버퍼들(62)의 효과적인 구동(driving)은 버퍼(60)보다 약하게 될 수 있어, 버퍼(60)에 의한 전이 출력은 버퍼(62) 및 저항기(66)에 의해 각각의 디바이스(42)에서 형성된 위크 키퍼들(weak keepers)에 의해 유지된 값을 극복할 것이다.
플립-플롭들(74 및 76)은 내부 클록 신호(CLK)의 에지(예를 들면, 상승 에지) 상에서 클록된 싱크로나이저를 형성할 수 있어, 공유된 통신 버스(44) 상의 전압 레벨의 어떠한 토글(toggle)도 내부 클록 신호(CLK)의 적어도 두 주기 동안 그 출력 버퍼(60)의 상태를 변화시키지 않을 수 있다.
XOR 게이트(78)는 플립-플롭(76)의 출력을 수신하고 입력으로서 입력 신호(IN)를 수신하며, 웨이크 신호(WAKE)를 구동할 수 있다. 전술한 바와 같이, 내부 클록 신호(CLK)는 전력을 절약하기 위해 파워 다운될 수 있다. 이러한 웨이크 신호(WAKE)는 상태 머신(54)에 의해 사용되어, 내부 클록 신호(CLK)가 전력을 절약하기 위해 파워 다운된 후에 공유된 통신 버스(44)의 전기적 전이에 응답하여 내부 클록 신호(CLK)를 웨이크(wake)할 수 있다.
전술한 바와 같이 디바이스(42)의 분산된 네트워크(40)를 이용함에 있어서, 각각의 디바이스(42)는 NRZ(non-return-to-zero) 펄스 길이 변조 방식에 따라 공유된 통신 버스(44) 상에 데이터를 인코딩(또한 공유된 통신 버스(44) 상에 데이터를 디코딩)할 수 있으며, 상기 방식에서 공유된 통신 버스(44) 상에 존재하는 전압의 전압 레벨 전이들 사이에서 길이를 변조함으로써 정보가 송신되고, 각각의 디바이스(42)의 송수신기(52)의 위크 키퍼는 하나 이상의 디바이스들(42)에 의해 상기 공유된 통신 버스(44) 상으로 구동되는 전압 레벨 전이들 사이에서 공유된 통신 버스(44) 상의 전압 레벨을 유지한다. 이러한 방식은, 디바이스들(42)의 상이한 위상의 내부 클록 신호들(CLK)로 인한 공유된 통신 버스(44) 상의 전기적 충돌이 존재하지 않도록 보장할 수 있고, 그리고 간단한 중재 방식, 즉 유선 논리 OR을 허용할 수 있으며, 여기에서 디바이스(42)에 의해 송신되고 공유된 통신 버스(44) 상의 전압 레벨의 전이들 사이에서 더 짧은 지속 기간에 의해 표현되는 인코딩된 심볼(예를 들면, 논리 "1")이 또 다른 디바이스(42)에 의해 송신되고 공유된 통신 버스(44) 상의 전압 레벨의 전이들 사이에서 더 긴 지속 기간에 의해 표현되는 인코딩된 심볼(예를 들면, 논리 "0")보다 우선 순위를 가질 것이다.
도 7은 본 개시 내용의 실시예들에 따라 공유된 통신 버스(44)의 통신 프로토콜의 예시적인 인코딩 방식을 나타내는 일련의 타이밍도를 도시한다. 도 7에서, 각 타이밍 다이어그램의 수직 라인 세그먼트들은 공유된 통신 버스(44) 상에 존재하는 전압 레벨의 전이를 나타낸다. 따라서,도 7은 논리 1, 논리 0, SYNC 심볼, 및 SYNC_LONG 심볼의 4 개의 심볼들에 대한 펄스-길이 인코딩 방식을 나타낸다. 예를 들어, 논리 1을 공유된 통신 버스(44)로 송신하기 위해, 송신 디바이스(42)는 공유된 통신 버스(44)의 전압 레벨의 연속적인 전이들이 지속 기간 t1에서 일어나도록 공유된 통신 버스(44)를 구동하려고 시도할 수 있다. 다른 예로서, 논리 0을 공유된 통신 버스(44)로 송신하기 위해, 송신 디바이스(42)는 공유된 통신 버스(44)의 전압 레벨의 연속적인 전이들이 지속 기간 t1보다 실질적으로 더 긴 시간인 지속 기간 t0에서 일어나도록 공유된 통신 버스(44)를 구동하려고 시도할 수 있다. 따라서, 공유된 통신 버스(44)를 모니터링함으로써, 특히 공유된 통신 버스(44) 상의 전압 레벨의 연속적인 전이들 사이의 시간들을 모니터링함으로써, 디바이스(42)는 공유된 통신 버스(44) 상에서 다른 디바이스들(42)에 의해 통신되는 심볼들을 결정할 수 있다. 또한, 그러한 인코딩 방식은 그 특성상 우선 순위 인코딩 방식이 되는데, 이는 제 2 디바이스(42)가 논리 0 심볼을 통신하려고 시도하는 것과 동시에 제 1 디바이스(42)가 논리 1 심볼을 통신하면, 제 1 디바이스(42)는 지속 기간 t1이 지속 기간 t2 전에 만료하여 논리 0 심볼의 통신이 제 2 디바이스(42)에 의해 시도되더라도 그 전에 논리 1 심볼의 통신이 공유된 통신 버스(44) 상에서 디바이스(42)에 의해 검출될 것이기 때문에 우선 순위를 갖게 될 것이라는 점에서 그렇다.
펄스-길이 인코딩 방식 때문에, 논리 1 및 논리 0을 넘어서는 추가적인 심볼들이 통신될 수 있다. 예를 들어, 디바이스(42)는 공유된 통신 버스(44)의 전압 레벨의 연속적인 전이들이 지속 기간 t2보다 실질적으로 더 긴 시간인 지속 기간 t3에서 일어나도록 공유된 통신 버스(44)를 구동함으로써 심볼 SYNC를 공유된 통신 버스(44)로 송신할 수 있다. 또 다른 예로서, 디바이스(42)는 공유된 통신 버스(44)의 전압 레벨의 연속적인 전이들이 지속 기간 t3보다 실질적으로 더 긴 시간인 지속 기간 t4에서 일어나도록 공유된 통신 버스(44)를 구동함으로써 심볼 SYNC_LONG를 공유된 통신 버스(44)로 송신할 수 있다. 이러한 동기화 심볼들 SYNC 및 SYNC_LONG 중 하나 또는 둘 모두는 공유된 통신 버스(44) 상에서 인코딩된 동기 심볼들(예를 들면, SYNC 또는 SYNC_LONG)을 송신함으로써 유휴 상태로부터 공유된 통신 버스(44)를 웨이크하기 위해 디바이스(42)에 의해 통신될 수 있으며, 그로써 공유된 통신 버스(44) 상에서 다른 디바이스들(42)은 인코딩된 동기화 심볼의 송신에 의해 야기된 공유된 통신 버스(44)의 전압의 전기적 전이의 검출에 기초하여 그들 각각의 클록들(CLK)을 동기화시킨다. 예를 들어, 제 1 디바이스(42)가 공유된 통신 버스(44) 상에서 메시지를 송신하기를 원할 때, 적절한 시간에 공유된 통신 버스(44)의 전압 레벨을 전이시킴으로써 인코딩된 동기화 심볼(예를 들면, SYNC 또는 SYNC_LONG)을 공유된 통신 버스(44)로 통신할 수 있다. 인코딩된 동기화 심볼의 수신에 응답하여(그리고 공유된 통신 버스(44)의 전압 레벨의 전이들이 일어날 때에 기초하여), 각각의 다른 디바이스(42)는 인코딩된 동기화 심볼의 타이밍에 기초하여 그 자신의 내부 클록을 동기화할 수 있으며, 그에 따라 제 1 디바이스(42)와 동기하여 공유된 통신 버스(44) 로의 송신 및 그에 대한 모니터링을 동기화할 수 있다. 따라서, 하나 이상의 인코딩된 동기화 심볼들의 통신을 통하여, 공유된 통신 버스(44)를 통한 데이터의 송신 및 수신은 디바이스들(42) 외부의 임의의 동기화 클록과 독립적일 수 있고, 디바이스들(42) 내부의 동기화 클록들(CLK)에만 의존할 수 있다.
또한, 전술한 심볼 레벨 인코딩 방식에 따라, 통신 프로토콜은 또한 메시지 레벨 인코딩 방식을 가능하게 할 수 있다. 예를 들면, 도 8은 본 개시 내용의 실시예들에 따라 2 개의 디바이스들(42)이 동일한 시간에 인코딩된 메시지들을 통신하려고 하는 예시적인 가상적인 상황을 나타내는 타이밍도를 도시한다. 이러한 가정에서, 제 1 디바이스(42)는 "1110"으로서 이진 인코딩된 메시지를 통신하려고 시도할 수 있고, 제 2 디바이스(42)는 "1101"로서 이진 인코딩된 메시지를 통신하려고 시도할 수 있다. 본 명세서에 설명된 심볼 레벨 인코딩 방식으로 인해, 두 디바이스들(42)은 그들 각각의 인코딩된 메시지들의 각각의 처음 두 심볼들을 공유된 통신 버스(44)로 성공적으로 통신할 것이다. 즉, 두 디바이스들(42)은 도 8에 도시된 시간 ta, tb, 및 tc에서 공유된 통신 버스(44) 상에서 전압 레벨의 전이들을 구동할 것이다. 그러나, 제 1 디바이스(42)는 그 메시지의 제 3 심볼이 논리 1인 것을 나타내도록 시간 td에서 전이를 구동할 것이고, 그와 달리 그 메시지의 제 3 심볼이 논리 0인 것을 나타내도록 시간 te에서 전이를 구동했을 제 2 디바이스(42)보다 우선 순위를 취한다. 따라서, 제 2 디바이스(42)가 공유된 통신 버스(44)로 송신하고 이를 모니터링할 수 있기 때문에, 시간 te 이전에 공유된 통신 버스(44) 상에서 전이가 일어난 것을 모니터링할 때, 제 2 디바이스(42)의 상태 머신(54)은 그 각각의 메시지의 심볼들을 통신하려는 시도를 멈출게 될 수 있는데, 이는 그러한 모니터링이 제 2 디바이스(42)의 상태 머신(54)에 다른 디바이스(예를 들면, 제 1 디바이스(42))에 의해 통신된 메시지가 그 자신의 메시지에 대해 우선 순위를 갖는다는 것을 지시할 것이기 때문이다. 다른 한편으로, 제 1 디바이스(42)의 상태 머신(54)에 의해 수행되는 공유된 통신 버스(44)의 모니터링은 시간 td에서 다른 디바이스(42)로부터의 메시지가 아직 그 자신의 메시지보다 우선 순위를 갖는 것은 없다고 결정할 것이고, 그 메시지와 연관된 심볼들을 공유된 통신 버스(44)에 송신하는 것을 지속할 것이고, 따라서 그 메시지의 제 4 심볼이 논리 0임을 나타내도록 시간 tf에서 전이를 구동할 것이다. 따라서, 공유된 통신 버스(44) 상에서 송신되는 인코딩된 심볼들 및 인코딩된 메시지들은 최상위 비트(most-significant bit) 우선 순위 인코딩 방식에 따라 인코딩된다.
따라서, 통신 프로토콜 및 이러한 통신 프로토콜에 의해 정의된 인코딩 방식에 따라, 디바이스들(42)의 하나 이상이 공유된 통신 버스(44) 상에서 데이터를 능동적으로 송신할 때, 각각의 디바이스(42)(송신 디바이스들(42)을 포함)는 양방향 통신이 상기 공유된 통신 버스(44)를 통해 디바이스들(42) 사이에서 확립되도록 공유된 통신 버스(44)를 통해 데이터를 수신한다. 또한, 공유된 통신 버스(44)를 통해 데이터를 수신하는 것과 관련하여, 각각의 디바이스(42)는 공유된 통신 버스(44)의 버스 상태를 모니터링하여 데이터 경쟁을 피하고 공유된 통신 버스(44)를 통한 인코딩된 심볼 및 이러한 인코딩된 심볼을 포함하는 인코딩된 메시지의 수신을 동기화한다. 또한, 각각의 능동적 송신 디바이스(42)는 상기 버스 상태와 그러한 능동적 송신 디바이스(42)의 원하는 상태를 비교하여 공유된 통신 버스(44)에 대해 능동적 송신 디바이스들(42) 사이에서 우선 순위를 결정할 수 있다.
본 개시 내용의 이들 및 다른 실시예들에서, 공유된 통신 버스(44)를 통한 인코딩된 메시지의 수신에 응답하여, 공유된 통신 버스(44) 상의 각각의 디바이스(42)는 인코딩된 메시지와 연관된 변수를 나타내는 복수의 인코딩된 심볼들을 포함하는 인코딩된 페이로드를 공유된 통신 버스에 송신할 수 있다. 적어도 하나의 디바이스(42)는 공유된 통신 버스(44)를 모니터링하여 상기 변수의 최대 값을 결정할 수 있다. 일부 실시예들에서, 적어도 하나의 디바이스(42)는 최상위 비트 우선 순위 인코딩 방식에 따라 상기 변수의 최대 값을 결정할 수 있다. 예를 들어, 도 9는 본 개시 내용의 실시예들에 따라 4 개의 디바이스들(42)이 각각의 디바이스(42)에 의해 공유된 통신 버스(44)를 통해 수신된 메시지에 응답하여 인코딩된 페이로드들을 통신하려고 하는 예시적인 가상적인 상황을 예시하는 타이밍도를 도시한다. 특정 예로서, 디바이스(42)는 디바이스들(42) 각각에 제공된 공급 전압을 동기화하기 위해 메시지(예를 들면, 전술한 바와 같이 공유된 통신 버스(44) 상에서 통신되는 다른 메시지들보다 우선 순위를 갖는 메시지)를 통신할 수 있으며, 여기에서 각각의 디바이스(42)는 그 자신의 공급 전압을 인코딩하는 페이로드를 갖는 메시지에 응답할 수 있으며, 적어도 하나의 디바이스(42)는 최상위 비트 우선 순위 인코딩 방식에 따라 상기 응답들의 최대 값을 결정할 수 있다. 그러한 공급 전압들이 0 V에서 10 V 사이인 경우, 0.025 V의 전압 입도(voltage granularity)가 인코딩된다고 가정할 때 9 비트 인코딩 방식이 사용되어여 그러한 전압들을 나타낼 수 있다(예를 들면, 이진 0 0000 0000은 0 V를 나타내고, 이진 1 1001 0000은 10 V를 나타낸다). 도 9의 가정에서, 제 1 디바이스(42)는 9.75 V(1 1000 0110)의 공급 전압을 갖고, 제 2 디바이스(42)는 9.50 V(1 0111 1100)의 공급 전압을 가지며, 제 3 디바이스(42)는 9.70 V(1 1000 0100)를 가지며, 제 4 디바이스(42)는 9.00 V(1 0110 1000)의 공급 전압을 갖는다. 각각의 디바이스(42)가 그 응답 페이로드를 송신함에 따라, 각 디바이스(42)의 상태 머신(54)은 그 디바이스 자신의 상태(예를 들면, 그 자신의 페이로드에 따라 공유된 통신 버스(44) 상에서 전이를 구동할 수 있는 타이밍)를 모니터링할 수 있음은 물론, 공유된 통신 버스(44)의 상태를 모니터링하여 다른 디바이스의 페이로드가 그보다 우선 순위를 가짐에 따라 그 자신의 페이로드 송신을 중단해야 할지를 결정할 수 있다. 따라서, 최상위 비트 우선 순위 인코딩 방식을 적용하면, 각각의 디바이스(42)는 그들 각각의 최상위 비트들(논리 1)을 인코딩하는 전이를 성공적으로 구동할 수 있다. 그러나, 그들 각각의 제 2 최상위 비트들(논리 0)을 구동하려고 시도할 때, 제 2 디바이스(42) 및 제 4 디바이스(42)의 상태 머신(54)은 공유된 통신 버스(44)를 모니터링한 결과로서, 제 1 디바이스(42) 및 제 3 디바이스(42)에 의해 구동된 논리 1 심볼을 인코딩하는 전이가 논리 0 심볼을 인코딩하기 위해 그들 자신의 전이를 구동하기 전에 수신되고, 따라서 그들 자신의 각각의 페이로드에 따라 전이를 구동하는 것을 중단할 수 있다를 것을 결정할 수 있다. 또한, 제 1 디바이스(42)의 페이로드는, 제 1 디바이스(42)의 페이로드의 제 8 최상위 비트가 논리 1 심볼이고 제 3 디바이스(42)의 페이로드의 제 8 최상위 비트가 논리 0 심볼이 됨에 따라(제 1 디바이스(42) 및 제 3 디바이스(42) 각각의 7 개의 최상위 비트들은 동일함) 제 3 디바이스(42)의 페이로드보다 우선 순위를 가질 것이다.
이들 및 다른 실시예들에서, 하나 이상의 인코딩된 메시지들은 디바이스들(42)이 공유된 통신 버스(44) 상에서 인코딩된 메시지들을 송신하기 위한 대역폭을 공유할 수 있도록 복수의 인코딩된 심볼들을 포함하는 데이터 구조를 각각 포함할 수 있다. 예를 들어, 이러한 데이터 구조는 디바이스들(42) 사이에서 메시지를 송신하기 위해 다른 디바이스들(42)보다 우선 순위를 갖는 디바이스들(42)을 확립하는 디바이스 우선 순위 필드를 포함할 수 있다. 또한, 디바이스들(42)의 상태 머신들(54)은 디바이스(42)가 공유된 통신 버스(44) 상에서 전체 메시지를 송신할 수 있을 때, 그 디바이스의 우선 순위가 하나 이상의 다른 디바이스들(42)에 대해 감소되어 후속 시간에 다른 디바이스들(42) 중 하나가 최근에 송신한 디바이스(42)보다 우선 순위를 갖도록 구성될 수 있다. 예를 들어, 디바이스(42)가 메시지를 송신할 때, 그 각각의 상태 머신(54)은 그 디바이스 우선 순위 값을 감소할 수 있으며, 그래서 그 디바이스 우선 순위 값이 그러한 디바이스(42)로부터의 장래의 메시지 송신들 내에서 통신된다. 추가적으로 또는 대안으로, 디바이스(42)가 메시지를 송신하려고 시도하지만 다른 디바이스(42)가 더 높은 우선 순위로 인해 송신할 수 있을 때, 메시지 송신을 성공적으로 시도하지 못한 디바이스(42)의 상태 머신(54)은 그 디바이스 우선 순위 값을 증가하고 그러한 디바이스 우선 순위 값은 그러한 디바이스(42)로부터의 장래의 메시지 송신들 내에서 통신된다.
도 10a 및 도 10b는 본 개시 내용의 실시예들에 따라 디바이스 우선 순위 필드들을 이용하는 예시적인 메시지 포맷들을 도시한다. 도 10a에서, 디바이스 우선 순위 필드(82)는 메시지 유형 필드(80) 다음에 첨부될 수 있으며, 상기 기술된 최상위 비트 인코딩 방식에 따라, 디바이스 우선 순위 필드(82)는 동일한 메시지 유형을 송신하려 시도하는 복수의 디바이스들(42) 중 하나에 우선 순위를 제공하도록 사용될 수 있다. 도 10b에서, 디바이스 우선 순위 필드(92)는 메시지 유형 필드(90) 이전에 첨부될 수 있으며, 그래서 상기 기술된 최상위 비트 인코딩 방식에 따라, 디바이스 우선 순위 필드(92)는 메시지 유형과 상관없이 공유된 통신 버스(44)로 송신하려 시도하는 복수의 디바이스들(42) 중 하나에 우선 순위를 제공하도록 사용될 수 있다.
본 명세서에 사용된 바와 같이, 둘 이상의 요소들이 서로 "결합된" 것으로 언급될 때, 그러한 용어는 그러한 둘 이상의 요소들이 간접적으로 또는 직접적으로 또는 개재 요소들의 여부와 상관없이 적용 가능한 것으로서 전자 통신 또는 기계적 통신 상태에 있음을 나타낸다.
본 개시 내용은 당업자가 이해할 수 있는 본 명세서의 예시적인 실시예에 대한 모든 변화, 대체, 변형, 변경, 및 수정을 망라한다. 유사하게, 바람직한 것으로서, 첨부된 청구범위는 당업자가 이해할 수 있는 본 명세서의 예시적인 실시예에 대한 모든 변화, 대체, 변형, 변경, 및 수정을 망라한다. 또한, 특정 기능을 수행하도록 적응되거나, 배열되거나, 할 수 있거나, 구성되거나, 할 수 있게 되거나, 동작 가능하거나, 또는 동작하는 장치 또는 시스템, 또는 장치 또는 시스템의 구성요소에 대한 첨부된 청구범위에서의 참조는, 그 장치, 시스템, 또는 구성성분이 적응되고, 배열되고, 할 수 있고, 구성되고, 할 수 있게 되고, 동작 가능하고, 동작하는 한, 그 장치, 시스템, 또는 구성성분, 또는 그 특정 기능이 활성화되거나, 턴 온되거나, 또는 잠금해제되는 것과는 무관하게 그 장치, 시스템, 또는 구성요소를 망라한다.
본 명세서에 인용된 모든 예들 및 조건부 표현은 독자가 본 발명과 기술을 발전시키기 위해 발명자에 의해 기여된 개념을 이해하는 데 도움이 되도록 교수적인 목적으로 의도된 것이며, 그와 같이 특정하게 인용된 예들 및 조건들에 대한 제한은 없는 것으로 해석된다. 본 발명의 실시예들이 상세히 설명되었지만, 본 개시 내용의 사상 및 범위를 벗어나지 않으면서 다양한 변화, 대체 및 변경이 이루어질 수 있음을 이해해야 한다.

Claims (34)

  1. 분산된 네트워크 시스템에 있어서:
    통신 프로토콜에 따라 동작하는 공유된 통신 버스; 및
    상기 공유된 통신 버스에 결합된 복수의 디바이스들을 포함하며,
    상기 통신 프로토콜에 따라:
    상기 복수의 디바이스들 중 둘 이상이 상기 공유된 통신 버스 상에서 데이터를 동시에 능동적으로 송신할 때, 상기 복수의 디바이스들 각각은 양방향 통신이 상기 공유된 통신 버스를 통해 상기 복수의 디바이스들 사이에서 확립되도록 상기 공유된 통신 버스를 통해 데이터를 수신하고;
    상기 복수의 디바이스들 각각은 상기 공유된 통신 버스의 버스 상태를 모니터링하여 데이터 경합을 피하고 상기 공유된 통신 버스를 통해 인코딩된 심볼들 및 인코딩된 심볼들을 포함하는 인코딩된 메시지들의 수신을 동기화하고;
    상기 복수의 디바이스들 중 각각의 능동적으로 송신하는 디바이스는 상기 버스 상태를 그러한 능동적으로 송신하는 디바이스의 원하는 상태와 비교하여 상기 공유된 통신 버스에 관하여 상기 복수의 디바이스들의 능동적으로 송신하는 디바이스들 사이에서의 우선 순위를 결정하는, 분산된 네트워크 시스템.
  2. 제1항에 있어서, 상기 공유된 통신 버스는 단일 전기 노드인, 분산된 네트워크 시스템.
  3. 제1항에 있어서, 상기 공유된 통신 버스를 통한 데이터의 송신 및 수신은 상기 복수의 디바이스들 외부의 어떠한 동기화 신호와도 무관한, 분산된 네트워크 시스템.
  4. 제1항에 있어서, 상기 복수의 디바이스들 각각은:
    알려진 주파수 허용 오차를 갖는 오버 샘플링된 동기화 클록; 및
    상기 버스 상태를 모니터링하고 상기 디바이스에 의한 상기 공유된 통신 버스로의 인코딩된 심볼들 및 인코딩된 메시지들의 송신을 동기화하기 위해 상기 오버 샘플링된 동기화 클록에 동기화된 상태 머신을 포함하는, 분산된 네트워크 시스템.
  5. 제4항에 있어서, 상기 복수의 디바이스들 각각은:
    전기 에너지를 보존하도록 그 오버 샘플링된 동기화 클록을 비활성화하며(disable);
    상기 공유된 통신 버스 상의 전기적 전이에 응답하여 그 오버 샘플링된 동기화 클록을 웨이크(wake)하도록 구성되는, 분산된 네트워크 시스템.
  6. 제1항에 있어서, 상기 공유된 통신 버스 상에서 송신되는 인코딩된 심볼들 및 인코딩된 메시지들은 최상위 비트(most-significant bit) 우선 순위 인코딩 방식에 따라 인코딩되는, 분산된 네트워크 시스템.
  7. 제1항에 있어서, 인코딩된 심볼들은 상기 공유된 통신 버스의 전압의 전기적 전이들 사이의 시간 지속 기간에 기초하여 인코딩되는, 분산된 네트워크 시스템.
  8. 제1항에 있어서, 상기 공유된 통신 버스를 통한 인코딩된 메시지의 수신에 응답하여:
    상기 복수의 디바이스들 각각이 상기 인코딩된 메시지와 연관된 변수를 나타내는 복수의 인코딩된 심볼들을 포함하는 인코딩된 페이로드를 상기 공유된 통신 버스로 동시에 송신하고;
    상기 복수의 디바이스들 중 적어도 하나의 디바이스가 상기 변수의 최대 값을 결정하기 위해 상기 공유된 통신 버스를 모니터링하는, 분산된 네트워크 시스템.
  9. 제8항에 있어서, 상기 적어도 하나의 디바이스는 최상위 비트 우선 순위 인코딩 방식에 따라 상기 변수의 최대 값을 결정하는, 분산된 네트워크 시스템.
  10. 제1항에 있어서, 인코딩된 메시지는 상기 복수의 디바이스들이 상기 공유된 통신 버스 상에서 인코딩된 메시지들을 송신하기 위한 대역폭을 공유할 수 있게 하도록 복수의 인코딩된 심볼들을 포함하는 데이터 구조를 포함하는, 분산된 네트워크 시스템.
  11. 제1항에 있어서, 상기 디바이스들 각각은 상기 공유된 통신 버스의 전압의 전기적 전이를 일으킴으로써 상기 공유된 통신 버스를 유휴 상태로부터 웨이크하도록 구성되는, 분산된 네트워크 시스템.
  12. 제1항에 있어서, 상기 디바이스들 각각은 상기 공유된 통신 버스 상에서 인코딩된 동기화 심볼을 송신함으로써 상기 공유된 통신 버스를 유휴 상태로부터 웨이크하도록 구성되어, 상기 공유된 통신 버스 상의 다른 디바이스들이 상기 인코딩된 동기화 심볼과 연관된 상기 공유된 통신 버스의 전압의 전기적 전이의 검출에 기초하여 상기 다른 디바이스들 내부의 각각의 동기화 클록들을 동기화하는, 분산된 네트워크 시스템.
  13. 분산된 네트워크 시스템에 있어서:
    통신 프로토콜에 따라 동작하는 공유된 통신 버스; 및
    상기 공유된 통신 버스에 결합된 복수의 디바이스들을 포함하며,
    상기 통신 프로토콜에 따라, 상기 공유된 통신 버스의 인코딩된 메시지의 수신에 응답하여:
    상기 복수의 디바이스들 각각이 상기 인코딩된 메시지와 연관된 변수를 나타내는 복수의 인코딩된 심볼들을 포함하는 인코딩된 페이로드를 상기 공유된 통신 버스로 동시에 송신하고;
    상기 복수의 디바이스들 중 적어도 하나의 디바이스가 상기 변수의 최대 값을 결정하기 위해 상기 공유된 통신 버스를 모니터링하는, 분산된 네트워크 시스템.
  14. 제13항에 있어서, 상기 적어도 하나의 디바이스는 최상위 비트 우선 순위 인코딩 방식에 따라 상기 변수의 최대 값을 결정하는, 분산된 네트워크 시스템.
  15. 분산된 네트워크 시스템에 있어서:
    통신 프로토콜에 따라 동작하는 공유된 통신 버스; 및
    상기 공유된 통신 버스에 결합된 복수의 디바이스들을 포함하며,
    상기 통신 프로토콜에 따라, 상기 복수의 디바이스들에 의해 상기 공유된 통신 버스로 송신되는 인코딩된 메시지들 각각은 복수의 인코딩된 심볼들을 포함하는 데이터 구조를 포함하고, 상기 인코딩된 심볼들은 상기 복수의 디바이스들이 상기 공유된 통신 버스 상에서 인코딩된 메시지들을 송신하기 위한 대역폭을 공유할 수 있게 하는, 분산된 네트워크 시스템.
  16. 분산된 네트워크 시스템에 있어서:
    통신 프로토콜에 따라 동작하는 공유된 통신 버스; 및
    상기 공유된 통신 버스에 결합된 복수의 디바이스들을 포함하며,
    상기 디바이스들 각각은 상기 공유된 통신 버스 상에서 인코딩된 동기화 심볼을 송신함으로써 상기 공유된 통신 버스를 유휴 상태로부터 웨이크하도록 구성되어, 상기 공유된 통신 버스 상의 다른 디바이스들이 상기 공유된 통신 버스 상에서 상기 인코딩된 동기화 심볼의 전기적 전이의 검출에 기초하여 상기 다른 디바이스들 내부의 각각의 동기화 클록들을 동기화하는, 분산된 네트워크 시스템.
  17. 복수의 디바이스들이 각각 결합되는 공유된 통신 버스에 대한 통신 프로토콜에 따라 분산된 네트워크 시스템의 복수의 디바이스들을 동작시키는 단계로서, 상기 통신 프로토콜에 따라:
    상기 복수의 디바이스들 중 둘 이상이 상기 공유된 통신 버스 상에서 데이터를 동시에 능동적으로 송신할 때, 상기 복수의 디바이스들 각각은 양방향 통신이 상기 공유된 통신 버스를 통해 상기 복수의 디바이스들 사이에서 확립되도록 상기 공유된 통신 버스를 통해 데이터를 수신하고;
    상기 복수의 디바이스들 각각은 상기 공유된 통신 버스의 버스 상태를 모니터링하여 데이터 경합을 피하고 상기 공유된 통신 버스를 통한 인코딩된 심볼들 및 상기 인코딩된 심볼들을 포함하는 인코딩된 메시지들의 수신을 동기화하고;
    상기 복수의 디바이스들 중 각각의 능동적으로 송신하는 디바이스는 상기 버스 상태를 그러한 능동적으로 송신하는 디바이스의 원하는 상태와 비교하여 상기 공유된 통신 버스에 관하여 상기 복수의 디바이스들 중 능동적으로 송신하는 디바이스들 사이에서의 우선 순위를 결정하도록 하는, 상기 복수의 디바이스들을 동작시키는 단계를 포함하는, 방법.
  18. 제17항에 있어서, 상기 공유된 통신 버스는 단일 전기 노드인, 방법.
  19. 제17항에 있어서, 상기 공유된 통신 버스를 통한 데이터의 송신 및 수신이 상기 복수의 디바이스들 외부의 어떠한 동기화 신호와도 무관하도록 상기 복수의 디바이스들을 동작시키는 단계를 더 포함하는, 방법.
  20. 제17항에 있어서, 상기 버스 상태를 모니터링하고 디바이스에 의한 인코딩된 심볼들 및 인코딩된 메시지들의 상기 공유된 통신 버스로의 송신을 동기화하기 위해, 알려진 주파수 허용 오차를 갖는 각각의 디바이스의 오버 샘플링된 동기화 클록으로 상기 복수의 디바이스들의 각각의 디바이스의 상태 머신을 동기화하기 위해 상기 복수의 디바이스들을 동작시키는 단계를 더 포함하는, 방법.
  21. 제20항에 있어서, 상기 복수의 디바이스들 각각이:
    전기 에너지를 보존하도록 그 오버 샘플링된 동기화 클록을 비활성화하며;
    상기 공유된 통신 버스 상의 전기적 전이에 응답하여 그 오버 샘플링된 동기화 클록을 웨이크하도록 구성되게 하도록,
    상기 복수의 디바이스들을 동작시키는 단계를 더 포함하는, 방법.
  22. 제17항에 있어서, 최상위 비트 우선 순위 인코딩 방식에 따라 상기 공유된 통신 버스 상에서 송신되는 인코딩된 심볼들 및 인코딩된 메시지들을 인코딩하는 단계를 더 포함하는, 방법.
  23. 제17항에 있어서, 상기 공유된 통신 버스의 전압의 전기적 전이들 사이의 시간 지속 기간에 기초하여 인코딩된 심볼들을 인코딩하는 단계를 더 포함하는, 방법.
  24. 제17항에 있어서, 상기 공유된 통신 버스를 통한 인코딩된 메시지의 수신에 응답하여:
    상기 복수의 디바이스들 각각이 상기 인코딩된 메시지와 연관된 변수를 나타내는 복수의 인코딩된 심볼들을 포함하는 인코딩된 페이로드를 상기 공유된 통신 버스로 동시에 송신하고;
    상기 복수의 디바이스들 중 적어도 하나의 디바이스가 상기 변수의 최대 값을 결정하기 위해 상기 공유된 통신 버스를 모니터링하도록,
    상기 복수의 디바이스들을 동작시키는 단계를 더 포함하는, 방법.
  25. 제24항에 있어서, 상기 적어도 하나의 디바이스가 최상위 비트 우선 순위 인코딩 방식에 따라 상기 변수의 최대 값을 결정하도록 상기 복수의 디바이스들을 동작시키는 단계를 더 포함하는, 방법.
  26. 제17항에 있어서, 인코딩된 메시지는 상기 복수의 디바이스들이 상기 공유된 통신 버스 상에서 인코딩된 메시지들을 송신하기 위한 대역폭을 공유할 수 있게 하도록 복수의 인코딩된 심볼들을 포함하는 데이터 구조를 포함하는, 방법.
  27. 제17항에 있어서, 상기 디바이스들 각각이 상기 공유된 통신 버스의 전압의 전기적 전이를 일으킴으로써 상기 공유된 통신 버스를 유휴 상태로부터 웨이크하도록 구성되게 하도록, 상기 복수의 디바이스들을 동작시키는 단계를 더 포함하는, 방법.
  28. 제17항에 있어서, 상기 디바이스들 각각이 상기 공유된 통신 버스 상에서 인코딩된 동기화 심볼을 송신함으로써 상기 공유된 통신 버스를 유휴 상태로부터 웨이크하도록 구성되어, 상기 공유된 통신 버스 상의 다른 디바이스들이 상기 인코딩된 동기화 심볼과 연관된 상기 공유된 통신 버스의 전압의 전기적 전이의 검출에 기초하여 상기 다른 디바이스들 내부의 각각의 동기화 클록들을 동기화하도록, 상기 복수의 디바이스들을 동작시키는 단계를 더 포함하는, 방법.
  29. 복수의 디바이스들이 각각 결합되는 공유된 통신 버스에 대한 통신 프로토콜에 따라 분산된 네트워크 시스템의 복수의 디바이스들을 동작시키는 단계로서, 상기 통신 프로토콜에 따라 상기 공유된 통신 버스를 통한 인코딩된 메시지의 수신에 응답하여:
    상기 복수의 디바이스들 각각이 상기 인코딩된 메시지와 연관된 변수를 나타내는 복수의 인코딩된 심볼들을 포함하는 인코딩된 페이로드를 상기 공유된 통신 버스로 동시에 송신하고;
    상기 복수의 디바이스들 중 적어도 하나의 디바이스가 상기 변수의 최대 값을 결정하기 위해 상기 공유된 통신 버스를 모니터링하도록, 상기 복수의 디바이스들을 동작시키는 단계를 포함하는, 방법.
  30. 제29항에 있어서, 상기 적어도 하나의 디바이스가 최상위 비트 우선 순위 인코딩 방식에 따라 상기 변수의 최대 값을 결정하도록 상기 복수의 디바이스들을 동작시키는 단계를 더 포함하는, 방법.
  31. 복수의 디바이스들이 각각 결합되는 공유된 통신 버스에 대한 통신 프로토콜에 따라 분산된 네트워크 시스템의 복수의 디바이스들을 동작시키는 단계로서, 상기 통신 프로토콜에 따라 상기 복수의 디바이스들에 의해 상기 공유된 통신 버스로 송신되는 인코딩된 메시지들 각각이 복수의 인코딩된 심볼들을 포함하는 데이터 구조를 포함하도록 상기 복수의 디바이스들을 동작시키는 단계를 포함하고, 상기 인코딩된 심볼들은 상기 복수의 디바이스들이 상기 공유된 통신 버스 상에서 인코딩된 메시지들을 송신하기 위한 대역폭을 공유할 수 있게 하는, 방법.
  32. 복수의 디바이스들이 각각 결합되는 공유된 통신 버스에 대한 통신 프로토콜에 따라 분산된 네트워크 시스템의 복수의 디바이스들을 동작시키는 단계로서, 상기 통신 프로토콜에 따라, 상기 디바이스들 각각은 상기 공유된 통신 버스 상에서 인코딩된 동기화 심볼을 송신함으로써 상기 공유된 통신 버스를 유휴 상태로부터 웨이크하도록 구성되어, 상기 공유된 통신 버스 상의 다른 디바이스들이 상기 공유된 통신 버스 상에서 상기 인코딩된 동기화 심볼의 전기적 전이의 검출에 기초하여 상기 다른 디바이스들 내부의 각각의 동기화 클록들을 동기화하는, 상기 복수의 디바이스들을 동작시키는 단계를 포함하는, 방법.
  33. 삭제
  34. 삭제
KR1020197013375A 2016-10-12 2017-09-20 디바이스들의 멀티-디바이스 동기화를 위한 인코딩 KR102257417B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/291,670 2016-10-12
US15/291,670 US10635619B2 (en) 2016-10-12 2016-10-12 Encoding for multi-device synchronization of devices
PCT/US2017/052484 WO2018071147A1 (en) 2016-10-12 2017-09-20 Encoding for multi-device synchronization of devices

Publications (2)

Publication Number Publication Date
KR20190065389A KR20190065389A (ko) 2019-06-11
KR102257417B1 true KR102257417B1 (ko) 2021-05-31

Family

ID=58486720

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197013375A KR102257417B1 (ko) 2016-10-12 2017-09-20 디바이스들의 멀티-디바이스 동기화를 위한 인코딩

Country Status (5)

Country Link
US (1) US10635619B2 (ko)
KR (1) KR102257417B1 (ko)
CN (1) CN109964455B (ko)
GB (2) GB2554960A (ko)
WO (1) WO2018071147A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190229734A1 (en) * 2018-01-24 2019-07-25 Microsemi Soc Corp. Vertical resistor buffered multiplexer buskeeper
US10714180B2 (en) 2018-02-01 2020-07-14 Microsemi Soc Corp. Hybrid configuration memory cell
US11469919B2 (en) * 2020-09-17 2022-10-11 Analog Devices International Unlimited Company Bidirectional communication circuit and a method for operating a bidirectional communication circuit
US11742005B2 (en) 2021-03-08 2023-08-29 Microchip Technology Incorporated Selectively cross-coupled inverters, and related devices, systems, and methods

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4450572A (en) 1982-05-07 1984-05-22 Digital Equipment Corporation Interface for serial data communications link
DE3546664C3 (de) * 1985-02-22 1995-10-26 Bosch Gmbh Robert Verfahren zum Betreiben einer Datenverarbeitungsanlage
US5404538A (en) 1992-10-28 1995-04-04 International Business Machines Corporation Method and apparatus for multilevel bus arbitration
JPH06244644A (ja) 1993-02-15 1994-09-02 Pioneer Electron Corp カーオーディオシステムにおけるミュート装置
DE69632289T2 (de) 1995-07-25 2005-05-19 Jin-Young Cho Verteiltes serielles schiedsverfahren
US6208263B1 (en) 1998-07-28 2001-03-27 Honeywell International Inc. Multiple value multiple owner message class
US6728892B1 (en) 1999-09-15 2004-04-27 Koninklijke Philips Electronics N.V. Method for conserving power in a can microcontroller and a can microcontroller that implements this method
DE19945614C1 (de) 1999-09-23 2000-12-28 Bosch Gmbh Robert Verfahren zur Datenübertragung zwischen einem Steuergerät für Rückhalteeinrichtungen und Sensoren
US6888819B1 (en) 2000-10-04 2005-05-03 Yitran Communications Ltd. Media access control utilizing synchronization signaling
US7333504B2 (en) 2001-03-08 2008-02-19 Honeywell International Inc. Simultaneous serial transmission of messages with data field arbitration
US7290161B2 (en) 2003-03-24 2007-10-30 Intel Corporation Reducing CPU and bus power when running in power-save modes
EP2439885B1 (en) * 2010-10-08 2013-06-26 Honeywell International Inc. Method for digital communication between a plurality of nodes connected by a serial field bus and corresponding system, in particular a field control system or field surveillance system
JP5541234B2 (ja) 2011-06-08 2014-07-09 株式会社デンソー トランシーバ
US9710419B2 (en) * 2012-05-31 2017-07-18 Sonova Ag System and method for master-slave data transmission based on a flexible serial bus for use in hearing devices
US9479275B2 (en) * 2012-06-01 2016-10-25 Blackberry Limited Multiformat digital audio interface
WO2014031829A2 (en) * 2012-08-23 2014-02-27 Interdigital Patent Holdings, Inc. Method and apparatus for performing device-to-device discovery
US9904652B2 (en) * 2013-11-14 2018-02-27 Qualcomm Incorporated System and method of sending data via additional secondary data lines on a bus

Also Published As

Publication number Publication date
GB2554960A (en) 2018-04-18
CN109964455A (zh) 2019-07-02
US20180101495A1 (en) 2018-04-12
CN109964455B (zh) 2022-05-17
US10635619B2 (en) 2020-04-28
GB201702539D0 (en) 2017-04-05
KR20190065389A (ko) 2019-06-11
GB2571013B (en) 2022-02-09
WO2018071147A1 (en) 2018-04-19
GB201905240D0 (en) 2019-05-29
GB2571013A (en) 2019-08-14

Similar Documents

Publication Publication Date Title
KR102257417B1 (ko) 디바이스들의 멀티-디바이스 동기화를 위한 인코딩
KR102390518B1 (ko) 디바이스의 다중 디바이스 동기화
US20200219522A1 (en) Data transfer
KR101840620B1 (ko) 광학 매체에 대한 저전력 모드 신호 브릿지
US9009379B1 (en) Communicating with MIPI-compliant devices using non-MIPI interfaces
KR101543193B1 (ko) 블루투스 저에너지 표준을 사용한 오디오 전달
JP5180377B2 (ja) 受信機において送信信号を受信するための方法および装置
EP2055008B1 (en) Low output skew double data rate serial encoder
CN104396179B (zh) 用于听觉设备的基于灵活的串行总线的主从数据传输的系统和方法
KR102656961B1 (ko) 동적 히스테리시스 회로
US10218535B2 (en) Low power bidirectional bus
US20220383882A1 (en) Data transfer
US11656668B2 (en) Peripheral electronic devices having synchronized operating modes
US10027514B2 (en) Transmitting signals between modules
WO2017177362A1 (zh) 一种无线可配置闪存
WO2019134660A1 (zh) 状态转换处理方法及相关设备
EP3624356B1 (en) Wireless headset and signal transmission method for the same
US7680069B2 (en) PCM type interface
JPWO2018051622A1 (ja) 送信装置、およびシステム

Legal Events

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