KR20180056718A - 공유 버스 상의 다수의 동일한 디바이스들의 식별 - Google Patents
공유 버스 상의 다수의 동일한 디바이스들의 식별 Download PDFInfo
- Publication number
- KR20180056718A KR20180056718A KR1020187011094A KR20187011094A KR20180056718A KR 20180056718 A KR20180056718 A KR 20180056718A KR 1020187011094 A KR1020187011094 A KR 1020187011094A KR 20187011094 A KR20187011094 A KR 20187011094A KR 20180056718 A KR20180056718 A KR 20180056718A
- Authority
- KR
- South Korea
- Prior art keywords
- interface
- slave device
- slave
- shared bus
- slave devices
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/404—Coupling between buses using bus bridges with address mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- H04L61/2038—
-
- H04L61/2092—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5092—Address allocation by self-assignment, e.g. picking addresses at random and testing if they are already in use
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 Hardware Design (AREA)
- Small-Scale Networks (AREA)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
Abstract
복수의 다른 동일한 슬레이브 디바이스들과 버스를 공유하는 슬레이브 디바이스들에 대하여 자체 식별 시스템이 제공된다. 각각의 슬레이브 디바이스는 공유 버스와 별개이고 적어도 하나의 인접 슬레이브 디바이스에 커플링되는, 2 이상의 추가의 인터페이스들 (예컨대, 단일 라인) 을 포함할 수도 있다. 마스터 디바이스와 슬레이브 디바이스에 알려진 프로토콜은, 각각의 슬레이브 디바이스가 마스터 디바이스와 슬레이브 디바이스 간에 고유한 식별자를 명시적으로 송신할 필요 없이, 자신을 식별하게 하는데 사용된다. 복수의 슬레이브 디바이스들은 마스터 디바이스로부터의 하나 이상의 브로드캐스트들에 응답하여 선택적으로 구동되고 및/또는 약하게 풀 업 또는 풀 다운되는, 제 1 인터페이스와 제 2 인터페이스를 통해 데이지 체이닝된다. 그들의 제 1 및 제 2 인터페이스의 상태에 기초하여, 슬레이브 디바이스는 브로드캐스트에 응답할 수도 있고, 따라서 마스터 디바이스에 식별자를 암시적으로 제공한다.
Description
관련 출원에 대한 상호참조
본 출원은 2015 년 9 월 21 일자로 미국 특허 상표청에서 출원된 가출원 제 14/860,609 호를 우선권 주장하고 그 이점을 청구하며, 그 전체 내용은 참조에 의해 본원에 통합된다.
본 개시물은 공유 버스 상의 다수의 동일한 디바이스들을 동작시키는 것, 및 특히, 공유 버스에 커플링된 마스터 디바이스가 공유 버스 상의 다수의 동일한 디바이스들의 각각을 고유하게 식별하게 하는 자동-식별 기술들에 관한 것이다.
카메라 시스템들과 같은 일부 시스템들에서, 공유 버스 상의 다수의 동일한 디바이스들을 사용하는 것이 유리할 것이다. 그러나, 버스 상에 어드레싱될 때, 다수의 동일한 디바이스들을 서로 구별하기 위한 방법이 요구된다.
디바이스들을 고유하게 식별하는 하나의 접근방식은, 제작 동안 고유하거나 고정된 식별자로 각각의 디바이스를 구성하는 것일 수도 있다. 그러나, 그러한 접근 방식은 제작 프로세스에 비용들 및 추가 스텝을 부가하며, 따라서 바람직하지 않다.
식별자들을 디바이스들에 제공하기 위한 제 2 접근방식은 공유 버스를 제어하는 마스터 디바이스가 랜덤한 식별자들을 공유 버스에 커플링된 각각의 디바이스에 할당하게 하는 것일 수도 있다. 그러나, 랜덤한 식별자들의 사용 때문에, 이러한 접근 방식은 1 초과의 디바이스가 결국 동일한 식별자를 가지는 리스크를 가질 것이다.
그러므로, 공유 버스에 커플링된 동일한 디바이스들이 동작 동안 (즉, 제작 동안 고정되지 않은) 고유한 식별자들을 획득하기 위한 방법이 요구된다.
제 1 양태는 공유 버스 인터페이스 및 공유 버스 인터페이스에 커플링된 프로세싱 회로를 포함하는, 마스터 디바이스를 제공한다. 프로세싱 회로는: (a) 복수의 동일한 슬레이브 디바이스들이 커플링되는 공유 버스를 통해 제 1 브로드캐스트를 전송하는 것으로서, 제 1 브로드캐스트는 복수의 동일한 슬레이브 디바이스들 중 하나 이상의 자체 식별을 개시하는, 상기 제 1 브로드캐스트를 전송하고, (b) 제 1 브로드캐스트에 응답하여, 슬레이브 디바이스가 자체 식별한 것을 나타내는 응답을 공유 버스를 통해 슬레이브 디바이스로부터 수신하고, 및/또는 (c) 상기 복수의 동일한 슬레이브 디바이스들에서 모든 슬레이브 디바이스들이 자체 식별할 때까지 복수의 동일한 슬레이브 디바이스들의 각각을 고유하게 식별하기 위해, 공유 버스를 통해 하나 이상의 브로드캐스트들을 전송하는 것을 계속하도록 구성된다. 후속하여, 프로세싱 회로는 슬레이브 디바이스 리스트에서 제 1 슬레이브 디바이스와 연관된 대응하는 제 1 식별자를 사용하여 제 1 슬레이브 디바이스에 구체적으로 어드레싱된 공유 버스를 통해 통신을 전송할 수도 있다. 복수의 동일한 슬레이브 디바이스들 각각에 대한 고유한 식별자는 디바이스에 의해 각 슬레이브 디바이스에 명시적으로 제공되지 않는다. 예를 들어, 복수의 동일한 슬레이브 디바이스들에서 각각의 슬레이브 디바이스에 대한 고유한 식별자는 슬레이브 디바이스 내에 사전 구성되지 않는다. 추가로, 응답은 응답하는 슬레이브 디바이스에 대한 고유한 식별자를 암시적으로 표시하지만 식별자는 포함하지 않을 수도 있다.
일 구현에서, 디바이스는 공유 버스를 통해 브로드캐스트에 대한 어떤 응답도 수신되지 않을 때 모든 슬레이브 디바이스들이 식별되었음을 알 수도 있다. 다른 구현에서, 디바이스는 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스의 총 개수에 대한 사전 지식을 가질 수 있고, 디바이스는 복수의 동일한 슬레이브 디바이스의 총 수가 고유하게 식별된다면 하나 이상의 브로드캐스트들을 전송하는 것을 중단한다.
일 예에서, 제 1 브로드캐스트는 슬레이브 디바이스들의 데이지 체인 (daisy chain) 에서 제 1 슬레이브 디바이스를 식별하도록 복수의 동일한 슬레이브 디바이스들에 표시한다.
또 다른 예에서, 하나 이상의 브로드캐스트들 각각은 서로 별개일 수도 있고, 고유한 슬레이브 디바이스 식별자를 내포한다.
또 다른 예에서, 하나 이상의 브로드캐스트들 각각은 동일할 수도 있고, 고유한 슬레이브 디바이스 식별자를 내포하지 않는다.
일부 구현들에서, 단일 브로드캐스트는 2 개의 상이한 슬레이브 디바이스들로부터 2 개의 응답들을 초래할 수도 있고, 2 개의 상이한 슬레이브 디바이스들 각각은 응답들이 수신되는 순서에 기초하여 상이한 고유한 슬레이브 디바이스 식별자와 연관된다.
제 2 양태는 공유 버스 인터페이스, 공유 버스 인터페이스와 별개인 제 1 인터페이스 및 제 2 인터페이스, 및 공유 버스 인터페이스, 제 1 인터페이스 및 제 2 인터페이스에 커플링된 프로세싱 회로를 포함하는 슬레이브 디바이스를 제공한다. 상기 프로세싱 회로는: (a) 공유 버스 인터페이스를 통해 브로드캐스트를 수신하고, (b) 상기 브로드캐스트 및 상기 슬레이브 디바이스가 현재 식별자를 갖는지 여부에 따라 상기 제 1 인터페이스를 드라이브하고, (c) 디폴트 상태로부터의 상태의 변화에 대하여 상기 제 2 인터페이스를 센싱하고, (d) 상기 제 2 인터페이스의 상태 및 상기 슬레이브 디바이스가 현재의 식별자가 부족한 것에 기초하여, 상기 슬레이브 디바이스가 자체 식별해야 함을 확인하고, (e) 브로드캐스트에 의해 내포되거나 인접 슬레이브 디바이스로부터 획득된 정보와 구별되는 고유한 식별자를 상기 슬레이브 디바이스와 연관시키고, 및/또는 (f) 확인 응답으로 공유 버스를 통해 브로드캐스트에 응답하는 단계를 더 포함하는 것을 특징으로 하는 방법.
제 3 양태는 공유 버스, 마스터 디바이스, 및 하나 이상의 슬레이브 디바이스들을 포함하는 디바이스를 제공한다. 마스터 디바이스는 공유 버스에 커플링되고, 공유 버스를 통한 통신들을 제어하도록 구성될 수도 있다. 하나 이상의 슬레이브 디바이스들은 서로 동일할 수 있고 공유 버스에 커플링된다. 각각의 슬레이브 디바이스는 공유 버스와 별개인 제 1 인터페이스 및 제 2 인터페이스를 포함할 수도 있다. 1 초과의 슬레이브 디바이스가 존재하는 경우, 각각의 슬레이브 디바이스는 제 1 및/또는 제 2 인터페이스를 통해 적어도 하나의 다른 슬레이브 디바이스에 커플링되며;
마스터 디바이스는 (a) 공유 버스를 통해 제 1 브로드캐스트를 전송하고, (b) 슬레이브 디바이스가 자체 식별한 것을 나타내는 응답을 응답 슬레이브 디바이스로부터 수신하고, (c) 고유한 식별자로 상기 응답하는 슬레이브 디바이스를 식별하고, 및/또는 (d) 상기 복수의 슬레이브 디바이들에서 모든 슬레이브 디바이스들이 자체 식별할 때까지, 상기 공유 버스를 통해 추가 브로드캐스트들을 전송하는 것을 계속하고 상이한 슬레이브 디바이스들로부터 추가의 응답들을 수신하는 것에 의해, 복수의 슬레이브 디바이스들의 각각을 고유하게 식별하도록 구성된다.
제 1 브로드캐스트를 수신하면, 각 슬레이브 디바이스는 추가로: (a) 다른 슬레이브 디바이스의 제 2 인터페이스가 자신의 디폴트 상태와 상이한 상태로 구동되게 하도록 제 1 인터페이스를 구동하고; 그리고 (b) 디폴트 상태가 인접 슬레이브 디바이스에 의해 변경되었는지를 확인하기 위해 제 2 인터페이스를 센싱하도록 구성된다. 제 2 인터페이스가 구동되지 않는 제 1 슬레이브 디바이스만이 공유 버스를 통해 응답을 전송한다. 각각의 추가 슬레이브 디바이스는 제 2 인터페이스가 구동되는지 여부에 의존하여 공유 버스 상의 추가의 브로드캐스트에 응답하여 응답을 전송하며, 여기서 이미 식별된 슬레이브 디바이스들은 제 1 인터페이스를 구동하거나 플로팅한다.
다양한 특징들, 특성, 및 이점들은 도면들과 함께 취해질 경우에 하기에 기재된 상세한 설명으로부터 더 명백하게 될 수도 있으며, 도면들에 있어서 유사한 참조 부호들은 전반에 걸쳐 대응하게 식별한다.
도 1 은 공유 버스 (104) 에 커플링된 동일한 디바이스들이 자체 식별 프로세스를 사용하여 고유한 식별자들을 획득할 수도 있는, 예시적인 장치를 도시하는 블록 다이어그램이다.
도 2 는 베이스밴드 프로세서 및 이미지 센서를 가지고 이미지 데이터 버스 및 멀티-모드 제어 데이터 버스를 구현하는 예시적인 장치를 도시하는 블록 다이어그램이다.
(도 3a 및 도 3b 를 포함하는) 도 3 은 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들을 고유하게 식별하도록 구현될 수도 있는 자체 식별 프로세스를 도시한다.
도 4 는 슬레이브 디바이스들이 자체 식별하게 하도록 공유 버스에 커플링된 복수의 슬레이브 디바이스들과 마스터 디바이스 간에 구현될 수도 있는 예시적인 방법을 도시하는 흐름도이다.
도 5 는 (직렬로) 데이지 체이닝된 구성으로 동일한 슬레이브 디바이스들의 제 1 예시적인 배열을 도시한다.
도 6 은 (직렬로) 데이지 체이닝된 구성으로 동일한 슬레이브 디바이스들의 제 2 예시적인 배열을 도시한다.
도 7 는 (직렬로) 데이지 체이닝된 구성으로 동일한 슬레이브 디바이스들의 제 3 예시적인 배열을 도시한다.
도 8 은 (직렬로) 데이지 체이닝된 구성으로 동일한 슬레이브 디바이스들의 제 4 예시적인 배열을 도시한다.
도 9 는 데이지 체이닝된 구성으로 직렬로 커플링된 2 가지 타입의 슬레이브 디바이스들의 예시적인 배열을 도시한다.
도 10 은 별개의 데이지 체인 구성들로 커플링된 2 가지 타입의 슬레이브 디바이스들의 예시적인 배열을 도시한다.
(도 11a, 도 11b 및 도 11c 를 포함하는) 도 11 은 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들을 고유하게 식별하도록 구현될 수도 있는, 다른 예시적인 자체 식별 프로세스를 도시한다.
도 12 는 슬레이브 디바이스들이 자체 식별하게 하도록 공유 버스에 커플링된 복수의 슬레이브 디바이스들과 마스터 디바이스 간에 구현될 수도 있는 예시적인 방법을 도시하는 흐름도이다.
(도 13a 및 도 13b 를 포함하는) 도 13 은 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들을 고유하게 식별하도록 구현될 수도 있는 양방향 자체 식별 프로세스를 도시한다.
도 14 는 슬레이브 디바이스들이 자체 식별하게 하도록 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들과 마스터 디바이스 간에 구현될 수도 있는 예시적인 방법을 도시하는 흐름도이다.
도 15 는 복수의 동일한 슬레이브 디바이스들의 그리드 어레이 구성을 도시하며, 여기서 각각의 슬레이브 디바이스는 공유 버스 인터페이스로부터 분리된 4 개의 인터페이스들을 갖는다.
(도 16a, 도 16b 및 도 16c 를 포함하는) 도 16 은 2 차원 어레이에서 그리고 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들이 공유 버스 상의 마스터 디바이스에 자체 식별하게 하는 단방향 스캔 프로세스의 제 1 부분을 도시한다.
(도 17a, 도 17b 및 도 17c 를 포함하는) 도 17 은 2 차원 어레이에서 그리고 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들이 공유 버스 상의 마스터 디바이스에 자체 식별하게 하는 단방향 스캔 프로세스의 제 2 부분을 도시한다.
도 18 은 2 차원 어레이에서 그리고 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들이 공유 버스 상의 마스터 디바이스에 자체 식별하게 하는 양방향 스캔 프로세스의 제 1 부분을 도시한다.
도 19 는 2 차원 어레이에서 그리고 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들이 공유 버스 상의 마스터 디바이스에 자체 식별하게 하는 양방향 스캔 프로세스의 제 2 부분을 도시한다.
(도 20a 및 도 20b 를 포함하는) 도 20 은 2 차원 어레이에서 그리고 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들이 공유 버스 상의 마스터 디바이스에 자체 식별하게 하는 다른 단방향 스캔 프로세스를 도시한다.
도 21 은 복수의 동일한 슬레이브 디바이스들의 다른 그리드 어레이 구성을 도시하며, 여기서 각각의 슬레이브 디바이스는 공유 버스 인터페이스로부터 분리된 4 개의 비접촉 인터페이스들을 갖는다.
도 22 는 공유 버스 상의 복수의 동일한 디바이스들이 자체 식별을 용이하게 하도록 구성될 수도 있는, 예시적인 마스터 디바이스를 도시하는 블록 다이어그램이다.
도 23 은 하나 이상의 동일한 슬레이브 디바이스들에 의한 자체 식별을 용이하게 하도록 마스터 디바이스에서 동작가능할 수도 있는 방법을 도시한다.
도 24 는 공유 버스에 커플링된 복수의 동일한 디바이스들로부터 자신을 자체 식별하고 구별하도록 구성될 수도 있는, 예시적인 슬레이브 디바이스를 도시하는 블록 다이어그램이다.
도 25 는 자체 식별하기 위해 슬레이브 디바이스 상에 동작할 수도 있는 방법을 도시한다.
도 1 은 공유 버스 (104) 에 커플링된 동일한 디바이스들이 자체 식별 프로세스를 사용하여 고유한 식별자들을 획득할 수도 있는, 예시적인 장치를 도시하는 블록 다이어그램이다.
도 2 는 베이스밴드 프로세서 및 이미지 센서를 가지고 이미지 데이터 버스 및 멀티-모드 제어 데이터 버스를 구현하는 예시적인 장치를 도시하는 블록 다이어그램이다.
(도 3a 및 도 3b 를 포함하는) 도 3 은 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들을 고유하게 식별하도록 구현될 수도 있는 자체 식별 프로세스를 도시한다.
도 4 는 슬레이브 디바이스들이 자체 식별하게 하도록 공유 버스에 커플링된 복수의 슬레이브 디바이스들과 마스터 디바이스 간에 구현될 수도 있는 예시적인 방법을 도시하는 흐름도이다.
도 5 는 (직렬로) 데이지 체이닝된 구성으로 동일한 슬레이브 디바이스들의 제 1 예시적인 배열을 도시한다.
도 6 은 (직렬로) 데이지 체이닝된 구성으로 동일한 슬레이브 디바이스들의 제 2 예시적인 배열을 도시한다.
도 7 는 (직렬로) 데이지 체이닝된 구성으로 동일한 슬레이브 디바이스들의 제 3 예시적인 배열을 도시한다.
도 8 은 (직렬로) 데이지 체이닝된 구성으로 동일한 슬레이브 디바이스들의 제 4 예시적인 배열을 도시한다.
도 9 는 데이지 체이닝된 구성으로 직렬로 커플링된 2 가지 타입의 슬레이브 디바이스들의 예시적인 배열을 도시한다.
도 10 은 별개의 데이지 체인 구성들로 커플링된 2 가지 타입의 슬레이브 디바이스들의 예시적인 배열을 도시한다.
(도 11a, 도 11b 및 도 11c 를 포함하는) 도 11 은 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들을 고유하게 식별하도록 구현될 수도 있는, 다른 예시적인 자체 식별 프로세스를 도시한다.
도 12 는 슬레이브 디바이스들이 자체 식별하게 하도록 공유 버스에 커플링된 복수의 슬레이브 디바이스들과 마스터 디바이스 간에 구현될 수도 있는 예시적인 방법을 도시하는 흐름도이다.
(도 13a 및 도 13b 를 포함하는) 도 13 은 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들을 고유하게 식별하도록 구현될 수도 있는 양방향 자체 식별 프로세스를 도시한다.
도 14 는 슬레이브 디바이스들이 자체 식별하게 하도록 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들과 마스터 디바이스 간에 구현될 수도 있는 예시적인 방법을 도시하는 흐름도이다.
도 15 는 복수의 동일한 슬레이브 디바이스들의 그리드 어레이 구성을 도시하며, 여기서 각각의 슬레이브 디바이스는 공유 버스 인터페이스로부터 분리된 4 개의 인터페이스들을 갖는다.
(도 16a, 도 16b 및 도 16c 를 포함하는) 도 16 은 2 차원 어레이에서 그리고 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들이 공유 버스 상의 마스터 디바이스에 자체 식별하게 하는 단방향 스캔 프로세스의 제 1 부분을 도시한다.
(도 17a, 도 17b 및 도 17c 를 포함하는) 도 17 은 2 차원 어레이에서 그리고 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들이 공유 버스 상의 마스터 디바이스에 자체 식별하게 하는 단방향 스캔 프로세스의 제 2 부분을 도시한다.
도 18 은 2 차원 어레이에서 그리고 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들이 공유 버스 상의 마스터 디바이스에 자체 식별하게 하는 양방향 스캔 프로세스의 제 1 부분을 도시한다.
도 19 는 2 차원 어레이에서 그리고 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들이 공유 버스 상의 마스터 디바이스에 자체 식별하게 하는 양방향 스캔 프로세스의 제 2 부분을 도시한다.
(도 20a 및 도 20b 를 포함하는) 도 20 은 2 차원 어레이에서 그리고 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들이 공유 버스 상의 마스터 디바이스에 자체 식별하게 하는 다른 단방향 스캔 프로세스를 도시한다.
도 21 은 복수의 동일한 슬레이브 디바이스들의 다른 그리드 어레이 구성을 도시하며, 여기서 각각의 슬레이브 디바이스는 공유 버스 인터페이스로부터 분리된 4 개의 비접촉 인터페이스들을 갖는다.
도 22 는 공유 버스 상의 복수의 동일한 디바이스들이 자체 식별을 용이하게 하도록 구성될 수도 있는, 예시적인 마스터 디바이스를 도시하는 블록 다이어그램이다.
도 23 은 하나 이상의 동일한 슬레이브 디바이스들에 의한 자체 식별을 용이하게 하도록 마스터 디바이스에서 동작가능할 수도 있는 방법을 도시한다.
도 24 는 공유 버스에 커플링된 복수의 동일한 디바이스들로부터 자신을 자체 식별하고 구별하도록 구성될 수도 있는, 예시적인 슬레이브 디바이스를 도시하는 블록 다이어그램이다.
도 25 는 자체 식별하기 위해 슬레이브 디바이스 상에 동작할 수도 있는 방법을 도시한다.
다음의 설명에서, 실시형태들의 완전한 이해를 제공하기 위해 특정 세부사항들이 주어진다. 그러나, 실시형태들은 이러한 특정 세부사항이 없이 실시될 수도 있음이 당업자에 의해 이해될 것이다. 예를 들어, 회로들은, 그 실시형태들을 불필요한 세부사항으로 불명료하게 하는 것을 회피하기 위해 블록 다이어그램들로 도시될 수도 있다. 다른 예시들에 있어서, 잘 알려진 회로들, 구조들 및 기술들은 실시형태들을 불명료하게 하지 않도록 상세히 나타내지 않을 수도 있다.
다양한 특징들, 특성, 및 이점들은 도면들과 함께 취해질 경우에 하기에 기재된 상세한 설명으로부터 더 명백하게 될 수도 있으며, 도면들에 있어서 유사한 참조 부호들은 전반에 걸쳐 대응하게 식별한다.
개관
제 1 양태는 슬레이브 디바이스 식별자들을 공유 버스를 통해 명시적으로 송신할 필요 없이, 마스터 디바이스가 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들 간을 구별하기 위한 방식을 제공한다.
제 2 양태는 슬레이브 디바이스가 공유 버스에 모두 커플링된 복수의 동일한 디바이스들로부터 자신을 자체 식별하고 구별하기 위해 제공한다. 슬레이브 디바이스는 마스터 디바이스에 의해 특정 식별자가 할당되지 않고, 사전 구성된 고유한 식별자를 포함하지 않는다. 대신에, 슬레이브 디바이스는 공유 버스와 별개인 제 1 및 제 2 인터페이스들을 통해 다른 슬레이브 디바이스들에 커플링된다. 제 1 및 제 2 인터페이스들은 마스터 디바이스로부터의 수신된 브로드캐스트에 기초하여 그리고 또한 슬레이브 디바이스가 이미 자체 식별하였는지 여부에 기초하여 선택적으로 구동 (어서트) 되거나 센싱 (비-어서트) 된다.
제 3 양태는 데이지 체인 구성으로 복수의 슬레이브 디바이스를 배열하는 것을 제공하며, 여기서 각 슬레이브 디바이스는 각각의 슬레이브 디바이스가 자체-식별하도록 하기 위해 공유 버스를 통해 하나 이상의 브로드캐스트들에 응답하여 제 1 인터페이스 및/또는 제 2 인터페이스를 선택적으로 구동 (어서트) 또는 센싱 (디어서트) 하도록 구성된다. 자체 식별에서, 각 슬레이브 디바이스는 자신을, 마스터 디바이스에 의해 할당되거나 각 슬레이브 디바이스 내에 사전 구성된 식별자가 아닌, 고유한 자체 할당된 식별자와 연관시킬 수도 있다.
제 4 양태는 복수의 슬레이브 디바이스들을 그리드 구성으로 배열하는 것을 제공하며, 여기서 각각의 슬레이브 디바이스는 각각의 슬레이브 디바이스가 자체 식별하도록 하기 위해 공유 버스를 통한 하나 이상의 브로드캐스트들에 응답하여 제 1 인터페이스, 제 2 인터페이스, 제 3 인터페이스, 및/또는 제 4 인터페이스를 선택적으로 구동 (어서트) 또는 센싱 (디어서트) 하도록 구성된다. 자체 식별에서, 각 슬레이브 디바이스는 자신을, 마스터 디바이스에 의해 할당되거나 각 슬레이브 디바이스 내에 사전 구성된 식별자가 아닌, 고유한 자체 할당된 식별자와 연관시킬 수도 있다.
예시적인 동작 환경
도 1 은 공유 버스 (104) 에 커플링된 동일한 디바이스들이 자체 식별 프로세스를 사용하여 고유한 식별자들을 획득할 수도 있는, 예시적인 장치 (100) 를 도시하는 블록 다이어그램이다. 장치 (100) 는 복수의 동일한 디바이스들 (106) 이 커플링되는 공유 버스 (104) (예컨대, 2 라인 버스) 를 통해 통신들을 제어하는, 예컨대 마스터 디바이스 (102) 를 포함할 수도 있다. 일 예에서, 슬레이브 디바이스들 (106) 은 마스터 디바이스 (102) 에 의해 허용되고 및/또는 지시될 때에만 공유 버스 (104) 를 통해 통신할 수도 있다. 각각의 개별 슬레이브 디바이스 (106) 를 어드레싱하기 위해, 마스터 디바이스 (102) 는 각 슬레이브 디바이스 (106) 를 고유하게 식별해야 한다. 그러나, 슬레이브 디바이스들 (106) 은 동일할 수도 있고 및/또는 (예를 들어, 제작 동안 또는 사후 제작 스테이지 동안) 미리 고유한 및/또는 고정된 식별자가 제공되지 않을 수도 있다.
마스터 디바이스 (102) 및 슬레이브 디바이스들 (106) 은 (예를 들어, 디바이스 (100) 가 파워 온 되거나 리셋될 때) 초기화 스테이지 동안 자체 식별 또는 식별자 할당 프로세스를 구현하도록 구성될 수도 있다. 이러한 자체 식별 또는 식별자 할당 프로세스는 각각의 슬레이브 디바이스 (106) 가 마스터 디바이스 (102) 에 자신을 식별하게 하고, 따라서 마스터 디바이스가 각각의 슬레이브 디바이스를 고유하게 어드레싱하게 할 수도 있다. 이는 마스터 디바이스 (102) 가 각각의 슬레이브 디바이스 (106) 에 어드레스를 명시적으로 할당하지 않고 슬레이브 디바이스들의 각각이 고유한 식별자로 프리-프로비저닝되지 않고, 실행될 수도 있다.
도 2 는 베이스밴드 프로세서 (204) 및 이미지 센서 (206) 를 가지고 이미지 데이터 버스 (216) 및 멀티-모드 제어 데이터 버스 (208) 를 구현하는 예시적인 장치 (202) 를 도시하는 블록 다이어그램이다. 도 2 의 장치 (202) 는 도 1 의 장치 (102) 의 하나의 예시적인 구현일 수도 있다. 도 2 는 카메라 디바이스 내의 멀티-모드 제어 데이터 버스 (208) 를 도시하지만, 이러한 제어 데이터 버스 (208) 는 다양한 상이한 디바이스들 및/또는 시스템들에서 구현될 수도 있는 것이 명확해야만 한다. 이미지 데이터는 이미지 데이터 버스 (216) (예컨대, 고속 차동 DPHY 링크) 를 통해 이미지 센서 (206) 로부터 베이스밴드 프로세서 (204) 로 전송될 수도 있다. 일 예에서, 제어 데이터 버스 (208) 는 2 개의 와이어들, 즉 클록 라인 (SCL) 및 직렬 데이터 라인 (SDA) 을 포함하는 I2C-호환가능 버스일 수도 있다. 클록 라인 (SCL) 은 I2C 버스 (제어 데이터 버스 (108)) 에 걸쳐 모든 데이터 전송들을 동기화하기 위해 사용될 수도 있다. 데이터 라인 (SDA) 및 클록 라인 (SCL) 은 제어 데이터 버스 (208) 상에서 모든 디바이스들 (212, 214, 및 218) 에 커플링될 수도 있다. 이 예에 있어서, 제어 데이터는 제어 데이터 버스 (208) 를 통해 기저대역 프로세서 (204) 와 이미지 센서 (206) 뿐만 아니라 다른 주변 (슬레이브) 디바이스들 (218) 간에 교환될 수도 있다. 일부 구현들에서, 제어 데이터 버스 (208) 를 통한 동작 모드들은 카메라 애플리케이션에 사용될 때 카메라 제어 인터페이스 (CCI) 모드로 지칭될 수도 있다. 다른 예들에서, 제어 데이터 버스 (208) 는 하나의 와이어 또는 2 초과의 와이어들을 포함할 수도 있다.
본 명세서에서 사용되는 용어 "디바이스 식별자", "슬레이브 디바이스 식별자" 및 "SID" 는 공유 버스에 커플링된 슬레이브 디바이스에 대한 고유한 식별자를 지칭하기 위해 상호 교환적으로 사용될 수도 있다.
공유 버스에 커플링된 슬레이브 디바이스들의 자체 식별을 위한 제 1 예시적인 접근방식
(도 3a 및 도 3b 를 포함하는) 도 3 은 공유 버스 (301) 에 커플링된 복수의 동일한 슬레이브 디바이스들 (302, 304, 306, 308, 및 310) 을 고유하게 식별하도록 구현될 수도 있는 자체 식별 프로세스를 도시한다. 마스터 디바이스 (303) 는 또한 공유 버스 (301) 에 커플링되고, 공유 버스 (301) 를 통한 통신을 제어하는 역할을 하는 것에 유의한다.
각각의 슬레이브 디바이스 (302, 304, 306, 308, 및 310) 는 공유 버스 (301) 에 커플링하기 위해 사용되는 공유 버스 인터페이스 및 자체 식별 프로세스를 위해 슬레이브 디바이스들 (302, 304, 306, 308, 및 310) 에 의해 사용되는 ("E" 및 "W" 로 표시되는) 2 개의 인터페이스들을 포함할 수도 있다. "E" 및 "W" 인터페이스들의 각각은 단일 라인 인터페이스들일 수도 있다. 일부 구현들에서, "W" 및 "E" 인터페이스들 각각은 단방향 인터페이스들일 수도 있다. 일 예에서, 단방향 인터페이스는 그 슬레이브 디바이스에 의해 (예를 들어, 하이 또는 로우 상태로) 구동될 수 있거나 또는 디폴트 상태의 변화를 센싱할 수 있지만 (즉, 센싱 인터페이스는 약하게 풀 업 또는 풀 다운될 수도 있지만, 디폴트 상태로부터 다른 슬레이브 디바이스에 의해 구동될 수는 있다), 이들 양자는 아닌 인터페이스이다. 이 예에서, 도 3 에 도시된, "W" 인터페이스는 상이한 슬레이브 디바이스의 인접 "E" 인터페이스를 구동하는 역할을 할 수도 있다. 한편, "E" 인터페이스들은 단순히 그들의 상태가 디폴트 상태로부터 변화되고 있는지를 센싱할 수도 있다.
복수의 슬레이브 디바이스들 (302, 304, 306, 308, 및 310) 은, 제 1 디바이스에 대한 "W" 인터페이스가 제 2 디바이스에 대한 "E" 인터페이스에 커플링되는, 이들 2 개의 인터페이스들을 사용하여 서로 데이지 체이닝 (예컨대, 직렬로 커플링 또는 체인으로 커플링) 될 수도 있다. 따라서, 체인에서 제 1 및 최종 디바이스를 제외하고, 체인에서 각 슬레이브 디바이스는 다른 슬레이브 디바이스에 커플링된 "W" 인터페이스와 "E" 인터페이스를 갖는다. 일 예에서, "E" 인터페이스는 슬레이브 디바이스에 의해 디폴트 상태로 악하게 풀링된다 (예를 들어, 슬레이브 디바이스 내부의 회로에 의해 풀 업 또는 풀 다운된다). 각각의 슬레이브 디바이스의 "W" 인터페이스는 "E" 인터페이스의 디폴트 상태와 반대로 하이 또는 로우로 선택적으로 구동될 수도 있다 (즉, 플로팅하지 않음). 하나의 예에서, 데이지 체인 내의 슬레이브 디바이스들 중 어느 것도 "W" 인터페이스 또는 "E" 인터페이스를 통해 마스터 디바이스에 커플링되지 않는다.
공유 버스를 통한 하나 이상의 브로드캐스트들/커맨드들에 응답하여, 슬레이브 디바이스들은 모두가 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들로부터 자신을 자체 식별하고 구별하도록 구성될 수도 있다. 슬레이브 디바이스들에는 마스터 디바이스에 의해 특정 식별자가 할당되지 않고, 사전 구성된 고유한 식별자를 포함하지 않는다. 대신, 슬레이브 디바이스는 제 1 인터페이스 ("E" 인터페이스) 및 제 2 인터페이스 ("W" 인터페이스) 를 통해 다른 슬레이브 디바이스에 커플링된다. 제 1 및 제 2 인터페이스들은 마스터 디바이스로부터의 수신된 브로드캐스트에 기초하여 그리고 또한 슬레이브 디바이스가 이미 자체 식별하였는지 여부에 기초하여 선택적으로 구동 (어서트) 되거나 센싱된다. 자체 식별에서, 각 슬레이브 디바이스는 자신을, 마스터 디바이스에 의해 할당되거나 각 슬레이브 디바이스 내에 사전 구성된 식별자가 아닌, 고유한 자체 할당된 식별자와 연관시킬 수도 있다.
초기에, 마스터 디바이스 (303) 는 공유 버스 (301) 를 통해 "식별 #1" 브로드캐스트 (312) 를 전송할 수도 있다. 예를 들어, 그러한 "식별 #1" 브로드캐스트 (312) 는 마스터 디바이스 (303), 공유 버스 (301), 및/또는 슬레이브 디바이스들 (302, 304, 306, 308, 및 310) 을 포함하는 디바이스의 파워 업 또는 부트 업시에, 전송될 수도 있다. 이 시점에서, 그러한 브로드캐스트 또는 커맨드를 수신하면, 모든 슬레이브 디바이스들 (302, 304, 306, 308, 및 310) 은 그들의 "W" 인터페이스를 "E" 인터페이스에 대한 디폴트 상태와 반대의 상태로 구동시킨다. 예를 들어, 제 1 슬레이브 디바이스 (302) 의 "W" 인터페이스는 제 2 슬레이브 디바이스의 "E" 인터페이스를 디폴트 상태와 반대인 상태 (예를 들어, 하이 또는 로우) 로 세팅 또는 풀링하도록 (예를 들어, 하이 또는 로우로) 선택적으로 구동될 수도 있다. 결과적으로, 브로드캐스트/커맨드가 공유 버스 (301) 를 통해 수신될 때, 각각의 슬레이브 디바이스는 자신의 "E" 인터페이스의 상태가 디폴트 상태로부터 변화하거나 변화하지 않기 때문에 다른 슬레이브 디바이스에 커플링되는지 여부를 알고 있다.
슬레이브 디바이스들의 데이지 체인에서 제 1 슬레이브 디바이스 (302) (즉, "E" 인터페이스가 구동되지 않거나 디폴트 상태로부터 변화되지 않는 디바이스) 만이 공유 버스 (301) 를 통해 "확인응답" (Ack) (314) 으로 응답한다. 이 시점부터, 응답하는 제 1 슬레이브 디바이스 (302) 는 마스터 디바이스 (303) 와 제 1 슬레이브 디바이스 (302) 양자에 의해 공유 버스 (301) 를 통해 #1 로 식별된다. 다른 슬레이브 디바이스 중 어느 것도 "식별 #1" 브로드캐스트 (312) 에 응답하지 않는다.
다음으로, 마스터 디바이스 (303) 는 공유 버스 (301) 를 통해 "식별 #2" 브로드캐스트 (316) 를 전송한다. 제 1 슬레이브 디바이스 (302) 가 이미 #1 로 식별되었기 때문에, "식별 #2" 브로드캐스트 (316) 에 응답하지 않는 것을 알고 있고, 또한 자신의 "W" 인터페이스를 구동하지 않는다는 것 (예를 들어, "W" 인터페이스를 간단히 플로팅하거나 또는 반대 상태로 구동할 수도 있음) 을 알고 있다. "E" 인터페이스가 더 이상 구동되지 않는 제 2 슬레이브 디바이스 (304) 는 확인응답 (318) 을 전송함으로써 "식별 #2" 브로드캐스트에 응답한다. 이 시점부터, 응답하는 제 2 슬레이브 디바이스 (304) 는 공유 버스 (301) 를 통해 마스터 디바이스 (303) 에 의해 #2 로 식별될 수도 있다. 다른 슬레이브 디바이스들 (302, 306, 308 및 310) 중 어느 것도 "식별 #2" 브로드캐스트 (316) 에 응답하지 않는다.
다음으로, 마스터 디바이스 (303) 는 공유 버스 (301) 를 통해 "식별 #3"" 브로드캐스트 (320) 를 전송한다. 제 1 슬레이브 디바이스 (302) 및 제 2 슬레이브 디바이스 (304) 는 각각 #1 및 #2 로 이미 식별되었기 때문에, 이들은 "식별 #3" 브로드캐스트 (320) 에 응답하지 않는다는 것을 알고 있다. 제 1 슬레이브 디바이스 (302) 및 제 2 슬레이브 디바이스 (304) 는 이미 식별자를 가지기 때문에, 이들은 또한, "W" 인터페이스들을 구동하지 않는다는 것 (예를 들어, 그들의 W 인터페이스들은 단지 플로팅하거나 또는 반대 상태로 구동할 수도 있음) 을 알고 있다. "E" 인터페이스가 더 이상 구동되지 않는 제 3 슬레이브 디바이스 (306) 는 확인응답 (322) 을 전송함으로써 "식별 #3" 브로드캐스트 (320) 에 응답한다. 이 시점부터, 응답하는 제 3 슬레이브 디바이스 (303) 는 공유 버스 (301) 를 통해 마스터 디바이스 (303) 에 의해 #3 로 식별될 수도 있다. 다른 슬레이브 디바이스들 (302, 304, 308 및 310) 중 어느 것도 "식별 #3" 브로드캐스트 (320) 에 응답하지 않는다.
이 접근 방식에서, 마스터 디바이스 (303) 와 슬레이브 디바이스들 (302, 304, 306, 308 및 310) 사이에서 사용되는 프로토콜에서 정의되거나 사용가능한 고유한 식별 메시지들/커맨드들/브로드캐스트들 (예컨대, "식별 #1", "식별 #2", "식별 #3" 등) 의 수는 공유 버스에 커플링된 다수의 슬레이브 디바이스들을 수용하기에 충분해야 한다.
이 프로세스는 공유 버스 상의 모든 슬레이브 디바이스들이 식별될 때까지 계속된다. 예를 들어, 마스터 디바이스 (303) 는 공유 버스 (301) 를 통해 "식별 #N" 브로드캐스트 (324) 를 전송한다. 모든 다른 슬레이브 디바이스는 이미 식별되었기 때문에, "식별 #N" 브로드캐스트 (324) 에 응답하지 않는 것을 알고 있다. 따라서, 모든 다른 슬레이브 디바이스들은 그들의 "W" 인터페이스들을 구동하지 않는 것을 알고 있다. "E" 인터페이스가 더 이상 구동되지 않는 최종 슬레이브 디바이스 (310) 는 확인응답 (326) 을 전송함으로써 "식별 #N" 브로드캐스트 (324) 에 응답한다.
마스터 디바이스 (303) 가 (예를 들어, 이전 구성을 통해) 미리 이용가능한 슬레이브 디바이스들의 총 수에 대한 사전 지식을 가지는 구현들에서, 슬레이브 디바이스들을 식별하는 프로세스는 식별된 슬레이브 디바이스들의 수에 도달하면 중단될 수도 있다.
그러나, 마스터 디바이스 (303) 가 미리 슬레이브 디바이스들의 총 수를 알지 않는 구현들에서, 마스터 디바이스 (303) 는 모든 슬레이브 디바이스들이 식별되었기 때문에 어떤 슬레이브 디바이스도 응답하지 않는 "식별 #N+1" 브로드캐스트를 전송할 수도 있다 (이는 공유 버스 (301) 상에 N 개의 슬레이브 디바이스들이 있다고 가정한다). 마스터 디바이스 (303) 는 "식별 #N+1" 브로드캐스트에 대해 "확인응답" 을 수신하지 않기 때문에, 공유 버스 (301) 상의 모든 슬레이브 디바이스들이 식별되었음을 알고 있다.
대안적인 접근 방식에서, 디폴트 상태에 대한 풀-업 저항 또는 풀-다운 저항과 연관된 비용을 회피하기 위해, 인터페이스에서 약한 풀-업 또는 풀-다운의 사용이 회피될 수도 있다. 대신, 모든 슬레이브 디바이스들은 어떤 "식별" 브로드캐스트/커맨드가 발행되지 않는 동안 그들의 "W" 인터페이스를 제 1 상태 (예컨대, 로직 하이 또는 로우) 로 구동/어서트할 수도 있다. "식별" 브로드캐스트/커맨드가 공유 버스 (301) 를 통해 전송될 때, 이미 (이전에) 식별된 슬레이브 디바이스들은 그들의 "W" 인터페이스들을 제 1 논리 상태로 구동/어서트되는 것을 유지하는 반면, 식별되지 않은 슬레이브 디바이스들은 그들의 "W" 인터페이스들을 미리 정의된 주기 동안 (예를 들어, 그러한 주기는 사용된 프로토콜에 의해 정의될 수도 있음) 제 2 논리 상태 (즉, 제 1 논리 상태와 반대/별개임) 로 구동/어서트한다.
도 4 는 슬레이브 디바이스들이 자체 식별하게 하도록 공유 버스에 커플링된 복수의 슬레이브 디바이스들과 마스터 디바이스 간에 구현될 수도 있는 예시적인 방법을 도시하는 흐름도이다. 이 방법의 일 예가 도 3 에 도시된다. 복수의 슬레이브 디바이스들이 공유 버스에 커플링될 수도 있으며, 모든 슬레이브 디바이스들은 공유 버스와 별개인 제 1 및 제 2 인터페이스들 (예를 들어, 도 3 의 "W" 인터페이스 및 "E" 인터페이스) 를 포함하고, 슬레이브 디바이스들은 하나의 슬레이브 디바이스의 제 1 인터페이스로부터 다른 슬레이브 디바이스의 제 2 인터페이스로 데이지 체이닝된다 (402). 마스터 디바이스는 (예를 들어, 부트 업 또는 초기화 스테이지 동안) 공유 버스를 통해 식별 N 브로드캐스트를 전송할 수도 있다 (404). 도 3 에 이전에 도시된 바와 같이, 모든 이전에 식별되지 않은 슬레이브 디바이스들은 인접하는 슬레이브 디바이스의 제 2 인터페이스 (예를 들어, "E" 인터페이스) 가 디폴트 상태로부터 변화 (예를 들어, 디폴트 상태와 반대의 상태로 변화) 하게 하도록 그들의 제 1 인터페이스 (예컨대, "W" 인터페이스) 를 어서트/구동한다 (406). 제 2 인터페이스 ("E" 인터페이스) 가 어서트되지 않고 이전에 식별되지 않은 슬레이브 디바이스는 공유 버스를 통해 확인응답으로 응답한다 (408). 임의의 슬레이브 디바이스들이 응답하면, 마스터 디바이스에 의해 확인응답이 수신된다 (410). 마스터 디바이스는 그 후, 응답하는 슬레이브 디바이스를 N 식별자와 연관시키고 및/또는 슬레이브 디바이스 카운트를 증분시킬 수도 있다 (즉, N=N+1) (412). 이 프로세스는 어떤 확인응답도 슬레이브 디바이스로부터 수신되지 않을 때까지 (즉, 모든 슬레이브 디바이스들이 식별될 때까지) 계속된다.
대안적인 구현에서, 마스터 디바이스는 공유 버스에 커플링된 슬레이브 디바이스들의 총 수에 대한 사전 지식을 가질 수도 있다. 결과적으로, 단계 (412) 는 최종 확인응답이 수신될 때 (예를 들어, 수신된 확인응답들의 총 수가 슬레이브 디바이스들의 수와 동일하면) 마스터 디바이스가 단순히 식별 N 브로드캐스트들을 전송하는 것을 중단하도록 변경될 수도 있다.
도 5 는 (직렬로) 데이지 체이닝된 구성으로 동일한 슬레이브 디바이스들 (504) 의 제 1 예시적인 배열 (502) 을 도시한다. 예를 들어, 슬레이브 디바이스들은 디지털 카메라용 광학 센서들일 수 있고 그리드 패턴으로 배열될 수도 있다. 이 도면은, 슬레이브 디바이스들 (504) 의 그리드 내의 각각의 슬레이브 디바이스에 대한 제 1 인터페이스 ("W" 인터페이스) 및 제 2 인터페이스 ("E" 인터페이스) 가 어떻게 전기적으로 커플링될 수도 있는지를 도시한다.
도 6 은 (직렬로) 데이지 체이닝된 구성으로 동일한 슬레이브 디바이스들 (604) 의 제 2 예시적인 배열 (602) 을 도시한다. 예를 들어, 슬레이브 디바이스들은 디지털 카메라용 광학 센서들일 수 있고 그리드 패턴으로 배열될 수도 있다. 이 도면은, 슬레이브 디바이스들 (604) 의 그리드 내의 각각의 슬레이브 디바이스에 대한 제 1 인터페이스 ("W" 인터페이스) 및 제 2 인터페이스 ("E" 인터페이스) 가 어떻게 전기적으로 커플링될 수도 있는지를 도시한다.
도 7 은 (직렬로) 데이지 체이닝된 구성으로 동일한 슬레이브 디바이스들 (704) 의 제 3 예시적인 배열 (702) 을 도시한다. 예를 들어, 슬레이브 디바이스들은 디지털 카메라용 광학 센서들일 수 있고 그리드 패턴으로 배열될 수도 있다. 이 도면은, 슬레이브 디바이스들 (704) 의 그리드 내의 각각의 슬레이브 디바이스에 대한 제 1 인터페이스 ("W" 인터페이스) 및 제 2 인터페이스 ("E" 인터페이스) 가 어떻게 전기적으로 커플링될 수도 있는지를 도시한다.
도 8 은 (직렬로) 데이지 체이닝된 구성으로 동일한 슬레이브 디바이스들 (804) 의 제 4 예시적인 배열 (802) 을 도시한다. 예를 들어, 슬레이브 디바이스들은 디지털 카메라용 광학 센서들일 수 있고 그리드 패턴으로 배열될 수도 있다. 이 도면은, 슬레이브 디바이스들 (804) 의 그리드 내의 각각의 슬레이브 디바이스에 대한 제 1 인터페이스 ("W" 인터페이스) 및 제 2 인터페이스 ("E" 인터페이스) 가 어떻게 전기적으로 커플링될 수도 있는지를 도시한다.
도 9 는 데이지 체이닝된 구성으로 직렬로 커플링된 2 가지 타입의 슬레이브 디바이스들 (904 및 906) 의 예시적인 배열 (902) 을 도시한다. 예를 들어, 2 가지 타입의 슬레이브 디바이스들 (904 및 906) 은 디지털 카메라용 광학 센서들일 수 있고 그리드 패턴으로 배열될 수도 있다. 이 도면은, 슬레이브 디바이스들 (904 및 906) 의 그리드 내의 각각의 슬레이브 디바이스에 대한 제 1 인터페이스 ("W" 인터페이스) 및 제 2 인터페이스 ("E" 인터페이스) 가 어떻게 전기적으로 커플링될 수도 있는지를 도시한다. 상기 예에서, 별개의 타입의 슬레이브 디바이스들이 단일 체인으로 커플링된다.
도 10 은 별개의 데이지 체인 구성들로 커플링된 2 가지 타입의 슬레이브 디바이스들 (1004 및 1006) 의 예시적인 배열 (1002) 을 도시한다. 예를 들어, 2 가지 타입의 슬레이브 디바이스들 (1004 및 1006) 은 디지털 카메라용 광학 센서들일 수 있고 그리드 패턴으로 배열될 수도 있다. 이 도면은, 슬레이브 디바이스들 (1004) 의 그리드 내의 각각의 슬레이브 디바이스에 대한 제 1 인터페이스 ("W" 인터페이스) 및 제 2 인터페이스 ("E" 인터페이스) 가 어떻게 전기적으로 커플링될 수도 있는지를 도시한다. 유사하게, 제 2 타입의 슬레이브 디바이스들 (1006) 에서 각각의 슬레이브 디바이스에 대한 제 1 인터페이스 ("W" 인터페이스) 및 제 2 인터페이스 ("E" 인터페이스) 가 어떻게 전기적으로 커플링될 수도 있는지를 도시한다. 상기 예에서, 별개의 타입의 슬레이브 디바이스들이 분리된 체인들로 커플링된다.
또 다른 대안적인 구현들에서, "W" 인터페이스 및/또는 "E" 인터페이스는 단거리 무선 송신기 및 무선 수신기, 및 발광 다이오드 및/또는 광 센서와 같은 비접촉 인터페이스들일 수도 있다. 결과적으로, 슬레이브 디바이스들은 그들의 "W" 인터페이스들 및 "E" 인터페이스들을 통해 서로 통신 가능하게 커플링될 수도 있다.
공유 버스에 커플링된 슬레이브 디바이스들의 자체 식별을 위한 제 2 예시적인 접근방식
(도 11a 및 도 11b 를 포함하는) 도 11 은 공유 버스 (1101) 에 커플링된 복수의 동일한 슬레이브 디바이스들 (1102, 1104, 1106, 1108, 및 1110) 을 고유하게 식별하도록 구현될 수도 있는, 다른 예시적인 자체 식별 프로세스를 도시한다. 마스터 디바이스 (1103) 는 또한 공유 버스 (1101) 에 커플링되고, 공유 버스 (1101) 를 통한 통신을 제어하는 역할을 하는 것에 유의한다. 도 11 에 도시된 접근 방식은, 도 3 에 도시된 접근 방식에 대한 대안일 수도 있다.
도 3 에 도시된 제 1 접근 방식에서, 비교적 많은 수의 고유한 식별 메시지들/커맨드/브로드캐스트들 (예를 들어, "식별 #1", "식별 #2", "식별 #3 등") 이 마스터 디바이스 (303) 와 슬레이브 디바이스들 (302, 304, 306, 308 및 310) 간에 사용된 프로토콜에서 요구되는 것에 유의한다. 그러한 많은 수의 고유한 식별 메시지들/커맨드/브로드캐스트들은 자체 식별 프로세스의 성능을 저하시킬 수도 있으므로 바람직하지 않을 수도 있다.
공유 버스에 커플링된 슬레이브 디바이스들의 자체 식별을 달성하기 위해 더 적은 별개의 또는 고유한 메시지들, 커맨드들 및/또는 브로드캐스트들을 사용하는 대안적인 접근 방식이 여기에 제공된다. 이러한 접근 방식에서, 제 1 식별 커맨드/브로드캐스트는 슬레이브 디바이스들의 데이지 체인에서 제 1 슬레이브 디바이스를 식별하는데 사용되고, 롤 콜 (Roll Call) 커맨드/브로드캐스트의 하나 이상의 인스턴스들은 데이지 체인에서 모든 다른 슬레이브 디바이스들을 식별하는데 사용된다. 롤 콜 커맨드/브로드캐스트의 사용은 더 간단하고, 더 작고, 따라서 더 빠를 수도 있다; 하나의 커맨드는 단일 클록 펄스처럼 간단할 수 있다.
각각의 슬레이브 디바이스 (1102, 1104, 1106, 1108, 및 1110) 는 공유 버스 (1101) 에 커플링하기 위해 사용되는 버스 인터페이스, 및 자체 식별 프로세스를 위해 슬레이브 디바이스들 (1102, 1104, 1106, 1108, 및 1110) 에 의해 사용되는 ("E" 및 "W" 로 표시되는) 2 개의 인터페이스들을 포함할 수도 있다. 복수의 슬레이브 디바이스들 (1102, 1104, 1106, 1108, 및 1110) 은, 제 1 디바이스에 대한 "W" 인터페이스가 제 2 디바이스에 대한 "E" 인터페이스에 커플링되는, 이들 2 개의 인터페이스들을 사용하여 서로 데이지 체이닝 (예컨대, 직렬로 커플링 또는 체인으로 커플링) 될 수도 있다. 따라서, 체인에서 제 1 및 최종 디바이스를 제외하고, 체인에서 각 슬레이브 디바이스는 다른 슬레이브 디바이스에 커플링된 "W" 인터페이스와 "E" 인터페이스를 갖는다. 하나의 예에서, 데이지 체인 내의 슬레이브 디바이스들 중 어느 것도 "W" 인터페이스 또는 "E" 인터페이스를 통해 마스터 디바이스에 커플링되지 않는다.
일 예에서, "W" 인터페이스들 및 "E" 인터페이스들 각각은 단방향 인터페이스들일 수도 있다. 단방향 인터페이스는 일 방향에서 정보를 통신 및/또는 수신하는데 사용될 수도 있다. 일 예에서, 단방향 인터페이스는 그 슬레이브 디바이스에 의해 (예를 들어, 하이 또는 로우 상태로) 구동될 수도 있거나 또는 디폴트 상태로부터 변화를 센싱할 수 있지만 (즉, 센싱 인터페이스는 약하게 풀 업 또는 풀 다운될 수도 있지만, 다른 슬레이브 디바이스에 의해 디폴트 상태로부터 구동될 수 있다), 양자는 아닌 인터페이스이다.
도 11 에 도시된 예시적인 제 1 동작 모드 - 제 1 디바이스의 식별 - 에서, "W" 인터페이스들은 상이한 슬레이브 디바이스의 인접 "E" 인터페이스를 구동하는 역할을 할 수도 있다. 한편, "E" 인터페이스들은 그들의 상태가 디폴트 상태로부터 변화되고 있는지를 센싱할 수도 있다.
도 11 에 도시된 예시적인 제 2 동작 모드 - 롤 콜 브로드캐스트 - 에서, "W" 인터페이스들은 그러한 직렬 통신을 수신하도록 구성된 인접 "E" 인터페이스에 정보를 송신하기 위한 직렬 통신 버스로서 동작할 수도 있다. 예를 들어, 하나의 예시적인 구현에서, "W" 인터페이스와 "E" 인터페이스 간의 그러한 직렬 통신은 공유 버스 (1101) 로부터의 클록 신호를 이용할 수도 있고, 따라서 "W" 인터페이스와 "E" 인터페이스 간의 단일 라인을 통해 정보 (예컨대, 디바이스 식별자) 의 송신을 허용한다. 다른 예시적인 구현에서, "W" 인터페이스와 "E" 인터페이스 간의 그러한 직렬 통신은 내부 클록 카운터를 사용할 수도 있다. 이러한 접근 방식 일 버전의 하나의 예가 도 11c 에 도시되며, 여기서 공유 버스의 클록 라인 (1101a) 은 공유 버스 데이터 라인 (1101b) 을 통해 확인응답 응답들을 트리거하기 위해 슬레이브 디바이스에 의해 사용된다. 제 1 슬레이브 디바이스 (1102) 는, "E" 인터페이스의 내부의 약한 풀-업을 극복하고 제 1 슬레이브 디바이스 (1102) 가 슬레이브 디바이스들의 데이지 체인에서 제 1 슬레이브 디바이스인 것으로 나타내는, 로우로 풀링된 "E" 인터페이스를 가질 수도 있다.
초기에, 마스터 디바이스 (1103) 는 공유 버스 (1101) 를 통해 "식별 #1" 브로드캐스트 (1112) 를 전송할 수도 있다. 예를 들어, 그러한 "식별 #1" 브로드캐스트 (1112) 는 마스터 디바이스 (1103), 공유 버스 (1101), 및/또는 슬레이브 디바이스들 (1102, 1104, 1106, 1108, 및 1110) 을 포함하는 디바이스의 파워 업 또는 부트 업시에, 전송될 수도 있다. 이 시점에서, 모든 슬레이브 디바이스들 (1102, 1104, 1106, 1108, 및 1110) 은 그들의 "W" 인터페이스를 구동한다.
일 예에서, "식별 #1" 브로드캐스트 (1112) 는 슬레이브 디바이스들에서 제 1 동작 모드를 트리거한다. 상기 제 1 모드에서, "E" 인터페이스는 슬레이브 디바이스에 의해 디폴트 상태로 약하게 풀링 (예를 들어, 풀 업 또는 풀 다운) 될 수도 있다. 각각의 슬레이브 디바이스의 "W" 인터페이스는 "E" 인터페이스의 디폴트 상태와 반대로 하이 또는 로우로 선택적으로 구동될 수도 있다 (즉, 플로팅하지 않음). 그러므로, 제 1 슬레이브 디바이스의 "W" 인터페이스는 제 2 슬레이브 디바이스의 "E" 인터페이스를 디폴트 상태와 반대인 상태 (예를 들어, 하이 또는 로우) 로 세팅 또는 풀링하도록 (예를 들어, 하이 또는 로우로) 선택적으로 구동될 수도 있다. 결과적으로, "E" 인터페이스의 상태에 의해, 각 슬레이브 디바이스는 그 슬레이브 디바이스가 다른 슬레이브 디바이스에 커플링되는지 여부를 알고 있다.
슬레이브 디바이스들의 데이지 체인에서 제 1 슬레이브 디바이스 (1102) (즉, "E" 인터페이스가 구동되지 않는 디바이스) 만이 공유 버스 (1101) 를 통해 "확인응답" (Ack) (1114) 으로 응답한다. 제 1 슬레이브 디바이스 (1102) 는 또한, 이 시점으로부터 (예를 들어, 전원 사이클 또는 리셋까지) 식별자 #1 로 자체 식별한다. 공유 버스를 통해 "확인응답" (Ack) (1114) 을 수신한 마스터 디바이스는 자신의 슬레이브 디바이스 리스트에 식별자 #1 를 추가하는 것을 암시적으로 알고 있다. 이 시점부터, 응답하는 제 1 슬레이브 디바이스 (1102) 는 마스터 디바이스 (1103) 및 제 1 슬레이브 디바이스 (1102) 양자에 의해 공유 버스 (1101) 를 통해 #1 로 식별된다. 다른 슬레이브 디바이스들 중 어느 것도 "식별 #1" 브로드캐스트 (1112) 에 응답하지 않는다.
다음으로, 마스터 디바이스 (1103) 는 공유 버스 (1101) 를 통해 "롤 콜" 브로드캐스트 (1116) 를 전송한다. 일 예에서, "롤 콜 식별 #1" 브로드캐스트 (1112) 는 슬레이브 디바이스들에서 제 2 동작 모드를 트리거한다. 상기 제 2 모드에서, 이전에 식별된 슬레이브 디바이스(들) (예컨대, 식별자 또는 롤 콜 브로드캐스트에 대한 응답으로 확인응답을 전송한 슬레이브 디바이스들) 은 그들의 식별자를 (그들의 "W" 인터페이스를 통해) 인접 슬레이브 디바이스에 제공하며, 인접 슬레이브 디바이스는 그 식별자를 그들의 "E" 인터페이스를 통해 수신한다. 제 1 슬레이브 디바이스 (1102) 는 #1 로서 이미 식별되었기 때문에, 그 식별자를 그 "W" 인터페이스를 통해 순차적으로 전송하고 롤 콜 브로드캐스트 (1116) 에 응답하지 않는다는 것을 알고 있다. 다른 슬레이브 디바이스들 (1104, 1106, 1108, 및 1110) 중 어느 것도 아직 식별되지 않았기 때문에, 그들은 롤 콜 브로드캐스트에 응답하여 어떠한 정보도 전송하지 않거나 그들의 "W" 인터페이스들 (예컨대, 이들은 단지 플로팅할 수도 있다) 을 구동하지 않는다는 것을 알고 있다. 제 2 슬레이브 디바이스 (1104) 의 "E" 인터페이스는 제 1 슬레이브 디바이스 (1102) 로부터 식별자 #1 를 수신한다. 결과적으로, 제 2 슬레이브 디바이스 (1104) 는 식별자 #2 를 자신에게 할당 (예를 들어, 수신된 식별자를 증분) 하고, 확인응답 (1118) 을 전송함으로써 롤 콜 브로드캐스트에 응답한다. 이 시점부터, 응답하는 제 2 슬레이브 디바이스 (1104) 는 공유 버스 (1101) 를 통해 마스터 디바이스 (1103) 에 의해 #2 로 식별될 수도 있다. 마스터 디바이스 (1103) 는 제 2 슬레이브 디바이스 (1104) 가 식별자 #2 와 연관되는 것을 알고 있으며, 이는 그 리스트에서 오직 다른 식별자가 현재 #1 이기 때문인 것을 주목한다. 다른 슬레이브 디바이스들 (1102, 1106, 1108 및 1110) 중 어느 것도 "롤 콜" 브로드캐스트 (1116) 에 응답하지 않는다.
다음으로, 마스터 디바이스 (1103) 는 공유 버스 (1101) 를 통해 다른 "롤 콜" 브로드캐스트 (1120) 를 전송한다. 제 1 슬레이브 디바이스 (1102) 및 제 2 슬레이브 디바이스 (1104) 가 각각 #1 및 #2 로 이미 식별되었기 때문에, 이들은 자신의 "W" 인터페이스들을 통해 각각의 식별자들을 전송하지만 롤 콜 브로드캐스트 (1120) 에 응답하지 않는다 (즉, 공유 버스 (1101) 를 통해 확인응답을 전송한다) 는 것을 알고 있다. 다른 슬레이브 디바이스들 (1106, 1108, 및 1110) 중 어느 것도 아직 식별되지 않았기 때문에, 그들은 롤 콜 브로드캐스트 (1120) 에 응답하여 그들의 "W" 인터페이스들 (예컨대, 이들은 단지 플로팅할 수도 있다) 을 구동하지 않는다는 것을 알고 있다. 제 3 슬레이브 디바이스 (1106) 의 "E" 인터페이스는 제 2 슬레이브 디바이스 (1104) 로부터 식별자 #2 를 수신한다. 결과적으로, 제 3 슬레이브 디바이스 (1106) 는 식별자 #3 를 자신에게 할당 (예를 들어, 수신된 식별자를 증분) 하고, 확인응답 (1112) 을 전송함으로써 롤 콜 브로드캐스트에 응답한다. 이 시점부터, 응답하는 제 3 슬레이브 디바이스 (1106) 는 공유 버스 (1101) 를 통해 마스터 디바이스 (1103) 에 의해 #3 로 식별될 수도 있다. 마스터 디바이스 (1103) 는 제 2 슬레이브 디바이스 (1106) 가 식별자 #3 와 연관되는 것을 알고 있으며, 이는 그 리스트에서 이전 식별자가 현재 #2 이기 때문인 것을 주목한다. 다른 슬레이브 디바이스들 (1102, 1104, 1108 및 1110) 중 어느 것도 "롤 콜" 브로드캐스트 (1120) 에 응답하지 않는다.
이 프로세스는 공유 버스 상의 모든 슬레이브 디바이스들이 식별될 때까지 계속된다. 예를 들어, 마스터 디바이스 (1103) 는 공유 버스 (1101) 를 통해 다른 "롤 콜" 브로드캐스트 (1124) 를 전송한다. 최종 슬레이브 디바이스 (1110) 를 제외하고, 모든 다른 슬레이브 디바이스들 (1102, 1104, 1106 및 1108) 은 이미 식별되었고, 이들은 그들의 "W" 인터페이스들을 통해 각각의 식별자들을 전송하지만 롤 콜 브로드캐스트 (1120) 에 응답하지 않는다 (즉, 공유 버스 (1101) 를 통해 확인응답을 전송한다) 는 것을 알고 있다. 최종 슬레이브 디바이스 (1110) 는 그 "E" 인터페이스를 통해 이전 슬레이브 디바이스로부터 식별자 #N-1 를 수신한다. 결과적으로, 최종 슬레이브 디바이스 (1110) 는 식별자 #N 를 자신에게 할당하고, 확인응답 (1126) 을 전송함으로써 롤 콜 브로드캐스트 (1124) 에 응답한다. 이 시점부터, 응답하는 최종 슬레이브 디바이스 (1110) 는 공유 버스 (1101) 를 통해 마스터 디바이스 (1103) 에 의해 #N 로 식별될 수도 있다. 마스터 디바이스 (1103) 는 최종 슬레이브 디바이스 (1110) 가 식별자 #N 와 연관되는 것을 알고 있으며, 이는 그 리스트에서 이전 식별자가 현재 #N-1 이기 때문인 것을 주목한다. 다른 슬레이브 디바이스들 (1102, 1104, 1106 및 1108) 중 어느 것도 "롤 콜" 브로드캐스트 (1124) 에 응답하지 않는다.
마스터 디바이스는 모든 슬레이브 디바이스들이 식별되었기 때문에 어떤 슬레이브 디바이스도 응답하지 않는 최종 "롤 콜" 브로드캐스트를 전송할 수도 있다 (이는 공유 버스 (1101) 상에 N 개의 슬레이브 디바이스들이 있다고 가정한다). 마스터 디바이스 (1103) 는 최종 "롤 콜" 브로드캐스트에 대해 "확인응답" 을 수신하지 않기 때문에, 공유 버스 (1101) 상의 모든 슬레이브 디바이스들이 식별되었음을 알고 있다.
도 12 는 슬레이브 디바이스들이 자체 식별하게 하도록 공유 버스에 커플링된 복수의 슬레이브 디바이스들과 마스터 디바이스 간에 구현될 수도 있는 예시적인 방법을 도시하는 흐름도이다. 이 방법의 일 예가 도 11 에 도시된다. 복수의 슬레이브 디바이스들이 공유 버스에 커플링될 수도 있으며, 모든 슬레이브 디바이스들은 공유 버스와 별개인 제 1 및 제 2 인터페이스들 (예를 들어, 도 3 의 "W" 인터페이스 및 "E" 인터페이스) 를 포함하고, 슬레이브 디바이스들은 하나의 슬레이브 디바이스의 제 1 인터페이스로부터 다른 슬레이브 디바이스의 제 2 인터페이스로 데이지 체이닝된다 (1202). 마스터 디바이스는 (예를 들어, 부트 업 또는 초기화 스테이지 동안) 공유 버스를 통해 식별 #1 브로드캐스트를 전송할 수도 있다 (1204). 도 11 에 앞서 도시된 바와 같이, 모든 이전의 식별되지 않은 슬레이브 디바이스들은 인접하는 슬레이브 디바이스의 제 2 인터페이스 (예를 들어, "E" 인터페이스) 를 구동하기 위해 그들의 제 1 인터페이스 (예를 들어, "W" 인터페이스) 를 어서트한다 (1206). 제 2 인터페이스 ("E" 인터페이스) 가 어서트되지 않고 이전에 식별되지 않은 슬레이브 디바이스는 공유 버스를 통해 확인응답으로 응답한다 (1208).
마스터 디바이스는 응답하는 슬레이브 디바이스를 수신하여 식별자 #1 와 연관시킨다 (1210).
다음으로, 마스터 디바이스는 공유 버스를 통해 롤 콜 브로드캐스트를 전송할 수도 있다 (1212). 그러한 롤 콜 브로드캐스트에 응답하여, 오직 이전에 식별된 슬레이브 디바이스들만이 그들의 식별자를 제 1 인터페이스를 통해 제공한다 (1214). 제 2 인터페이스가 (예를 들어, 인접 슬레이브 디바이스로부터) 식별자를 수신하고 이전에 식별되지 않은 슬레이브 디바이스는, 공유 버스를 통해 확인응답으로 응답하고, 수신된 식별자+1 를 자신의 식별자로서 사용할 수도 있다 (1216).
마스터 디바이스가 롤 콜에 대한 확인응답을 수신한다면 (1218), 마스터 디바이스는 그 후, 응답하는 슬레이브 디바이스를 이전 식별자+1 와 연관시킨다 (1220). 따라서, 실제 식별자는 공유 버스를 통해 전송되지 않고, 암시적으로 전달된다.
이 프로세스는 어떤 확인응답도 슬레이브 디바이스로부터 수신되지 않을 때까지 (즉, 모든 슬레이브 디바이스들이 식별될 때까지) 계속된다.
공유 버스에 커플링된 슬레이브 디바이스들의 자체 식별을 위한 제 3 예시적인 접근방식
(도 13a 및 도 13b 를 포함하는) 도 13 은 공유 버스 (1301) 에 커플링된 복수의 동일한 슬레이브 디바이스들 (1302, 1304, 1306, 1308, 및 1310) 을 고유하게 식별하도록 구현될 수도 있는 양방향 자체 식별 프로세스를 도시한다. 마스터 디바이스 (1303) 는 또한 공유 버스 (1301) 에 커플링되고, 공유 버스 (1301) 를 통한 통신을 제어하는 역할을 하는 것에 유의한다. 이 접근방식에서, 공유 버스의 마스터 디바이스로부터의 단일 브로드캐스트는 2 개의 슬레이브 디바이스들을 식별하는데 사용된다.
도 3 에 도시된 제 1 접근 방식에서, 비교적 많은 수의 메시지들/커맨드들/브로드캐스트들이 마스터 디바이스에 의해 전송되어 슬레이브 디바이스들이 자체 식별하게 한다. 즉, 각 슬레이브 디바이스 (공유 버스에 커플링됨) 가 자체 식별하도록 하기 위해, 적어도 하나의 메시지가 공유 버스를 통해 마스터 디바이스에 의해 전송되어야 한다.
공유 버스에 커플링된 슬레이브 디바이스들의 총 수보다 적은 수의 메시지들, 커맨드들 및/또는 브로드캐스트들을 사용하는 대안적인 접근 방식이 여기에 제공된다. 이 접근 방식에서, 각각의 식별 메시지/커맨드/브로드캐스트는 데이지 체인 내의 2 개의 슬레이브 디바이스들을 식별하도록 허용할 수도 있다. 즉, 마스터 디바이스에 의해 송신된 메시지/커맨드/브로드캐스트를 각각 식별하기 위해, 2 개의 슬레이브 디바이스들이 자체 식별할 수도 있다. 결과적으로, 슬레이브 디바이스들의 자체 식별은 다른 접근 방식들에 비해 더 빨리 발생할 수도 있다.
각각의 슬레이브 디바이스 (1302, 1304, 1306, 1308, 및 1310) 는 공유 버스 (1301) 에 커플링하기 위해 사용되는 버스 인터페이스, 및 자체 식별 프로세스를 위해 슬레이브 디바이스들 (1302, 1304, 1306, 1308, 및 1310) 에 의해 사용되는 ("E" 및 "W" 로 표시되는) 2 개의 인터페이스들을 포함할 수도 있다. 복수의 슬레이브 디바이스들 (1302, 1304, 1306, 1308, 및 1310) 은, 제 1 디바이스에 대한 "W" 인터페이스가 제 2 디바이스에 대한 "E" 인터페이스에 커플링되는, 이들 2 개의 인터페이스들을 사용하여 서로 데이지 체이닝 (예컨대, 직렬로 커플링 또는 체인으로 커플링) 될 수도 있다. 따라서, 체인에서 제 1 및 최종 슬레이브 디바이스를 제외하고, 체인에서 각 슬레이브 디바이스는 다른 슬레이브 디바이스에 커플링된 "W" 인터페이스와 "E" 인터페이스를 갖는다.
일 예에서, "W" 인터페이스들 및 "E" 인터페이스들 각각은 양방향 인터페이스들일 수도 있다. 양방향 인터페이스는, 제 1 모드에서, 자신의 슬레이브 디바이스에 의해 (예를 들어, 하이 또는 로우 상태로) 구동될 수 있고, 제 2 모드에서, 디폴트 상태의 변화를 센싱할 수 있는 인터페이스일 수도 있다 (즉, 센싱 인터페이스는 약하게 풀 업 또는 풀 다운될 수도 있지만, 다른 슬레이브 디바이스에 의해 디폴트 상태로부터 구동될 수 있다). 도 13a 에 도시된 예에서, 제 1 스테이지 (1330) 에서, "W" 인터페이스들은 상이한 슬레이브 디바이스의 인접 "E" 인터페이스를 구동하는 역할을 할 수도 있다. 한편, "E" 인터페이스들은 단순히 그들의 상태가 디폴트 상태로부터 변화되고 있는지를 센싱할 수도 있다. 유사하게, 도 13a 에 도시된 것과 같이, 제 2 스테이지 (1332) 에서, "E" 인터페이스들은 상이한 슬레이브 디바이스의 인접 "W" 인터페이스를 구동하는 역할을 할 수도 있다. 한편, "W" 인터페이스들은 단순히 그들의 상태가 디폴트 상태로부터 변화되고 있는지를 센싱할 수도 있다.
일 예에서, "E" 인터페이스 및/또는 "W" 인터페이스는 슬레이브 디바이스에 의해 디폴트 상태로 약하게 풀링 (예를 들어, 풀 업/하이 또는 풀 다운/로우) 될 수도 있다. 제 1 방향에서, 각각의 슬레이브 디바이스의 "W" 인터페이스는 "E" 인터페이스의 디폴트 상태와 반대로 하이 또는 로우로 선택적으로 구동될 수도 있다 (즉, 플로팅하지 않음). 그러므로, 제 1 슬레이브 디바이스의 "W" 인터페이스는 제 2 슬레이브 디바이스의 "E" 인터페이스를 디폴트 상태와 반대인 상태 (예를 들어, 하이 또는 로우) 로 세팅 또는 풀링하도록 (예를 들어, 하이 또는 로우로) 선택적으로 구동될 수도 있다. 결과적으로, "E" 인터페이스의 상태에 의해, 각 슬레이브 디바이스는 그 슬레이브 디바이스가 다른 슬레이브 디바이스에 커플링되는지 여부를 알고 있다.
유사하게, 제 1 방향에서, 각각의 슬레이브 디바이스의 "E" 인터페이스는 "W" 인터페이스의 디폴트 상태와 반대로 하이 또는 로우로 선택적으로 구동될 수도 있다 (즉, 플로팅하지 않음). 그러므로, 제 1 슬레이브 디바이스의 "E" 인터페이스는 제 2 슬레이브 디바이스의 "W" 인터페이스를 디폴트 상태와 반대인 상태 (예를 들어, 하이 또는 로우) 로 세팅 또는 풀링하도록 (예를 들어, 하이 또는 로우로) 선택적으로 구동될 수도 있다. 결과적으로, "W" 인터페이스의 상태에 의해, 각 슬레이브 디바이스는 그 슬레이브 디바이스가 다른 슬레이브 디바이스에 커플링되는지 여부를 알고 있다.
초기에, 마스터 디바이스 (1303) 는 공유 버스 (1301) 를 통해 "양자의 방향들로부터 식별 #1" 브로드캐스트 (1312) 를 전송할 수도 있다. 예를 들어, 그러한 "양자의 방향들로부터 식별 #1" 브로드캐스트 (1312) 는 마스터 디바이스 (1303), 공유 버스 (1301), 및/또는 슬레이브 디바이스들 (1302, 1304, 1306, 1308, 및 1310) 을 포함하는 디바이스의 파워 업 또는 부트 업시에, 전송될 수도 있다. 제 1 슬레이브 디바이스 (1302) 를 식별하려고 하는 제 1 스테이지 (1330) 에서, 모든 슬레이브 디바이스 (1302, 1304, 1306, 1308 및 1310) 은 그들의 "W" 인터페이스를 구동하여 체인 내의 인접 슬레이브 디바이스들의 "E" 인터페이스가 그 디폴트 상태로 부터 변화하게 한다. 슬레이브 디바이스들의 데이지 체인에서 오직 제 1 슬레이브 디바이스 (1302) (즉, "E" 인터페이스가 디폴트 상태로부터 변화하지 않는 디바이스) 만이 식별자 #E1 로 자신을 식별하고, 공유 버스 (1301) 를 통해 "확인응답" (Ack) (1314) 으로 응답한다. 이 시점부터, 응답하는 제 1 슬레이브 디바이스 (1302) 는 마스터 디바이스 (1303) 와 제 1 슬레이브 디바이스 (1302) 양자에 의해 공유 버스 (1301) 를 통해 #E1 로 식별될 수도 있다. 이러한 제 1 디바이스 (1302) 는 슬레이브 디바이스들의 체인의 제 1 단부로서 식별된다.
공유 버스 (1301) 를 통한 제 1 슬레이브 디바이스로부터의 확인 응답 (Ack) (1314) 이 검출되면, 제 2 슬레이브 디바이스 (1310) 를 식별하려고 하는 제 2 스테이지 (1332) 가 시작할 수도 있다. 즉, 데이지 체인상의 모든 슬레이브 디바이스들은 공유 버스 (1301) 를 모니터링하고 있을 수 있고, Ack (1314) 가 공유 버스 (1301) 를 통해 전송되었다는 것을 검출하면, 이 슬레이브 디바이스들은 제 2 스테이지 (1332) 를 개시할 수도 있음을 알고 있다. 이 제 2 스테이지 (1314) 에서, 모든 슬레이브 디바이스들 (1302, 1304, 1306, 1308, 및 1310) 은 그들의 "W" 인터페이스를 구동하는 것을 중단하고, 모든 이전에 식별되지 않은 슬레이브 디바이스들은 그들의 "E" 인터페이스를 구동한다. 이러한 변화 (예를 들어, "W" 인터페이스를 구동하는 것을 중단하고 대신 "E" 인터페이스를 구동하는 것) 는, Ack (1314) 가 공유 버스 (1301) 를 통해 전송되었다는 것을 검출하면, 즉시 및/또는 자동적으로 발생할 수도 있음을 주목한다. 이로 인해 데이지 체인에 있는 인접 슬레이브 디바이스에 대한 "W" 인터페이스가 디폴트 상태로부터 변화할 수도 있다. 슬레이브 디바이스들의 데이지 체인에서 제 1 슬레이브 디바이스 (1310) (즉, "W" 인터페이스가 디폴트 상태로부터 변화하지 않는 디바이스) 만이 공유 버스 (1301) 를 통해 "확인응답" (Ack) (1316) 으로 응답한다. 이 시점부터, 응답하는 제 2 슬레이브 디바이스 (1310) 는 마스터 디바이스 (1303) 와 제 2 슬레이브 디바이스 (1310) 양자에 의해 공유 버스 (1301) 를 통해 #W1 로 식별될 수도 있다. 이러한 제 2 디바이스 (1310) 는 슬레이브 디바이스들의 체인의 제 2 단부로서 식별된다.
2 개의 확인 응답들 (1314 및 1316) 을 수신하면, 마스터 디바이스 (1303) 는 공유 버스 (1301) 를 통해 "양자의 방향들로부터 식별 #2" 브로드캐스트 (1318) 를 전송한다. 제 3 스테이지 (1334) 에서, 제 1 슬레이브 디바이스 (1302) 가 #E1 로서 이미 식별되었기 때문에, 제 1 슬레이브 디바이스 (1302) 및 제 2 슬레이브 디바이스 (1310) 는 "양자의 방향들로부터 식별 #2" 브로드캐스트 (1318) 에 응답하지 않는 것을 알고 있다. 제 1 슬레이브 디바이스 (1302) 가 이미 식별자를 가지기 때문에, 자신의 "W" 인터페이스를 구동하지 않는다는 것을 알고 있다 (예를 들어, "W" 인터페이스를 간단히 플로팅하거나 또는 디폴트 상태로 구동할 수도 있다). "E" 인터페이스가 더 이상 구동되지 않는 (또는 디폴트 상태로 유지되는) 제 3 슬레이브 디바이스 (1304) 는 확인응답 (Ack) (1320) 을 전송함으로써 "양자의 방향들로부터 식별 #2" 브로드캐스트 (1318) 에 응답한다. 이 시점부터, 응답하는 제 3 슬레이브 디바이스 (1304) 는 공유 버스 (1301) 를 통해 마스터 디바이스 (1303) 및 제 3 디바이스 (1304) 자신에 의해 #E2 로 식별될 수도 있다.
공유 버스 (1301) 를 통한 제 3 슬레이브 디바이스 (1304) 로부터의 확인 응답 (Ack) (1320) 이 검출되면, 제 4 슬레이브 디바이스 (1308) 를 식별하려고 하는 제 4 스테이지 (1336) 가 시작할 수도 있다. 제 4 스테이지 (1336) 에서, 모든 슬레이브 디바이스들은 그들의 "W" 인터페이스를 구동하는 것을 중단하고, 이전에 식별되지 않은 모든 슬레이브 디바이스 (1306 및 1308) 는 그들의 "E" 인터페이스를 구동한다. 이로 인해 데이지 체인에 있는 인접 슬레이브 디바이스에 대한 "W" 인터페이스가 디폴트 상태로부터 변화할 수도 있다. 슬레이브 디바이스들의 데이지 체인에서 제 4 슬레이브 디바이스 (1308) (즉, "W" 인터페이스가 디폴트 상태로부터 변화하지 않는 디바이스) 만이 공유 버스 (1301) 를 통해 "확인응답" (Ack) (1322) 으로 응답한다. 이 시점부터, 응답하는 제 4 슬레이브 디바이스 (1308) 는 마스터 디바이스 (1303) 와 제 4 슬레이브 디바이스 (1308) 양자에 의해 공유 버스 (1301) 를 통해 #W2 로 식별될 수도 있다.
이 프로세스는 공유 버스 상의 모든 슬레이브 디바이스들이 식별될 때까지 계속할 수도 있다.
마스터 디바이스가 슬레이브 디바이스들의 수에 대한 사전 지식을 가지지 않을 경우에, 마스터 디바이스는, 모든 슬레이브 디바이스들이 식별되었기 때문에 어떤 슬레이브 디바이스도 응답하지 않는, 최종 "양자의 방향들에서 식별 #N" 브로드캐스트를 전송할 수도 있음을 유의한다. 마스터 디바이스 (1303) 는 "양자의 방향들로부터 식별 #N" 브로드캐스트에 대해 "확인응답" 을 수신하지 않기 때문에, 공유 버스 (1301) 상의 모든 슬레이브 디바이스들이 식별되었음을 알고 있다. 홀수 개의 슬레이브 디바이스들이 데이지 체인으로 접속되는 경우, 마스터 디바이스 (1303) 는 체인의 중간에 위치한 슬레이브로부터 최종 "양자의 방향들에서 식별 #N" 커맨드에 대하여 오직 제 1 Ack 만을 수신한다.
도 14 는 슬레이브 디바이스들이 자체 식별하게 하도록 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들과 마스터 디바이스 간에 구현될 수도 있는 예시적인 방법을 도시하는 흐름도이다. 이 방법의 일 예가 도 13 에 도시된다. 복수의 슬레이브 디바이스들이 공유 버스에 커플링될 수도 있으며, 여기서 모든 슬레이브 디바이스들은 공유 버스와 별개인 제 1 인터페이스 및 제 2 인터페이스 (예를 들어, 도 3 의 "W" 인터페이스 및 "E" 인터페이스) 를 포함하고, 슬레이브 디바이스들은 하나의 슬레이브 디바이스의 제 1 인터페이스로부터 다른 슬레이브 디바이스의 제 2 인터페이스로 데이지 체이닝된다 (1402). 마스터 디바이스는 (예를 들어, 부트 업 또는 초기화 스테이지 동안) 공유 버스를 통해 "양자의 방향들로부터 식별 #1" 브로드캐스트를 전송할 수도 있다 (1404). 도 13 에 이전에 도시된 바와 같이, 모든 이전에 식별되지 않은 슬레이브 디바이스들은 인접하는 슬레이브 디바이스의 제 2 인터페이스 (예를 들어, "E" 인터페이스) 가 디폴트 상태로부터 변화하게 하도록 그들의 제 1 인터페이스 (예컨대, "W" 인터페이스) 를 구동한다 (1406). 제 2 인터페이스 ("E" 인터페이스) 가 어서트되지 않고 (예컨대 그 디폴트 상태로부터 변화되지 않고) 이전에 식별되지 않은 제 1 슬레이브 디바이스는, 식별자 #E1 로 자신을 식별하고, 공유 버스를 통해 제 1 확인응답으로 응답한다 (1408). 마스터 디바이스는 제 1 확인응답을 수신하고, 응답하는 슬레이브 디바이스를 식별자 #E1 와 연관시킨다 (1410).
확인응답이 모든 슬레이브 디바이스들에 의해 (공유 버스 상에서) 센싱된 후에, 모든 슬레이브 디바이스들은 제 1 인터페이스들 ("W" 인터페이스들) 을 구동하는 것을 중단하고, 모든 이전에 식별되지 않은 슬레이브 디바이스들은 인접하는 슬레이브 디바이스의 제 1 인터페이스 (예를 들어, "W" 인터페이스) 가 디폴트 상태로부터 변화하게 하도록 그들의 제 2 인터페이스들 (예컨대, "E" 인터페이스) 을 구동한다 (1412). 제 1 인터페이스 ("W" 인터페이스) 가 어서트되지 않고 (예컨대 그 디폴트 상태로부터 변화되지 않고) 이전에 식별되지 않은 제 2 슬레이브 디바이스는 식별자 #W1 로 자신을 식별하고, 공유 버스를 통해 제 2 확인응답으로 응답한다 (1414). 마스터 디바이스는 제 2 확인응답을 수신하고, 응답하는 제 2 슬레이브 디바이스를 식별자 #W1 와 연관시킨다 (1416).
마스터 디바이스는 어떤 확인응답도 수신되지 않거나 (데이지 체인에서 홀수 개의 슬레이브 디바이스들에 대하여) 오직 단일 확인응답만이 수신될 때까지, 고유한 식별자 브로드캐스트들로 (도 13 에 도시된 것과 같은) 상기 프로세스를 반복한다 (1420).
공유 버스에 커플링된 슬레이브 디바이스들의 자체 식별을 위한 제 4 예시적인 접근방식
도 15 는 복수의 동일한 슬레이브 디바이스들의 그리드 어레이 구성을 도시하며, 여기서 각각의 슬레이브 디바이스는 공유 버스 인터페이스로부터 분리된 4 개의 인터페이스들을 갖는다. 이러한 접근방식에서, 각 슬레이브 디바이스는 2 개의 인터페이스들 ("W" 및 "E") 대신 4 개의 인터페이스들 ("W", "E", "N" 및 "S") 을 포함하며, 이들은 2 개의 인터페이스들이 사용될 때보다 더 신속하게 슬레이브 디바이스들을 식별하게 할 수도 있다. 이 예시적인 그리드 구성 (1500) 에서, 복수의 슬레이브 디바이스들 (1502) 은 공유 버스 (도시되지 않음) 에, 그리고 또한 2 내지 4 개의 인터페이스들을 통해 서로에게 커플링될 수도 있다. 예를 들어, 제 1 슬레이브 디바이스 (1502a) 는 다른 슬레이브 디바이스들에 커플링된 "E" 인터페이스 및 "S" 인터페이스를 가질 수도 있다. 제 2 슬레이브 디바이스 (1502b) 는 다른 슬레이브 디바이스에 커플링된 "W" 인터페이스, "E" 인터페이스 및 "S" 인터페이스를 가질 수도 있다. 제 3 슬레이브 디바이스 (1502c) 는 다른 슬레이브 디바이스에 커플링된 "W" 인터페이스, "E" 인터페이스, "N" 인터페이스 및 "S" 인터페이스를 가질 수도 있다. 다양한 구현들에서, "W", "E", "N" 및 "S" 인터페이스들 각각은 단방향 인터페이스들 또는 양방향 인터페이스들일 수도 있다.
이러한 접근 방식에서, 슬레이브 디바이스들 간의 데이지 체이닝은 2 차원 (예를 들어, 그리드 패턴의 2 개 방향) 으로 수행될 수도 있음을 주목한다. 다른 구현들에서, 슬레이브 디바이스들의 3 차원 또는 n 차원 데이지 체이닝이 또한 구현될 수도 있다. 도 3, 도 11 및 도 13 에 도시된 다양한 기술들 및 접근 방식들 (또는 이들의 변형들/조합들) 은 슬레이브 디바이스들이 공유 버스를 제어하는 마스터 디바이스에 대해 자체 식별하도록, 슬레이브 디바이스들의 2 차원 그리드 구성 (1500) 상에 구현될 수도 있다.
(공유 버스에 부가하여) 슬레이브 디바이스 당 2 초과의 인터페이스의 사용은, 슬레이브 디바이스 구성, 패턴 또는 위치 구성의 더 빠르고 및/또는 더 정확한 식별을 생성하는 것을 허용할 수도 있다.
하나의 예시적인 구현에서, 마스터 디바이스는 이러한 그리드 구성 (1500) 에서 슬레이브 디바이스들의 총 개수 및 구조/배열을 사전에 알고 있을 수도 있다. 그러나, 슬레이브 디바이스들이 동일하기 때문에, 자체 식별 접근 방식은 각각의 슬레이브 디바이스가 고유한 식별자를 획득하게 하도록 수행된다.
도 21 은 복수의 동일한 슬레이브 디바이스들의 다른 그리드 어레이 구성을 도시하며, 여기서 각각의 슬레이브 디바이스는 공유 버스 인터페이스로부터 분리된 4 개의 비접촉 인터페이스들을 갖는다. 이러한 접근방식에서, 각 슬레이브 디바이스는 2 개의 인터페이스들 ("W" 및 "E") 대신 4 개의 비접촉 인터페이스들 ("W", "E", "N" 및 "S") 을 포함하며, 이들은 2 개의 인터페이스들이 사용될 때보다 더 신속하게 슬레이브 디바이스들을 식별하게 할 수도 있다. 이 예시적인 그리드 구성 (2100) 에서, 복수의 슬레이브 디바이스들 (2102) 은 공유 버스 (도시되지 않음) 에, 그리고 또한 2 내지 4 개의 인터페이스들 (예컨대, 단거리 라디오 또는 광 방사기들 및/또는 수신기들) 을 통해 서로에게 통신가능하게 커플링될 수도 있다. 일 예에서, 슬레이브 디바이스 (2102) 는 다른 슬레이브 디바이스들과 통신하기 위해 "W" 인터페이스 (2104), "E" 인터페이스 (2106), "N" 인터페이스 (2108) 및 "S" 인터페이스 (2110) 를 사용할 수도 있다. 다양한 구현들에서, "W", "E", "N" 및 "S" 인터페이스들 각각은 단방향 인터페이스들 또는 양방향 인터페이스들일 수도 있다.
제 1 접근 방식에 따라, 슬레이브 디바이스들의 2 차원 그리드 구성의 단방향 스캔들은 복수의 슬레이브 디바이스들이 자체 식별하게 하는데 사용될 수도 있다.
(도 16a, 도 16b 및 도 16c 를 포함하는) 도 16 은 2 차원 어레이에서 그리고 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들이 공유 버스 상의 마스터 디바이스에 자체 식별하게 하는 단방향 스캔 프로세스의 제 1 부분을 도시한다. 일 예에서, 도 15 의 슬레이브 디바이스들의 그리드 구성 (1500) 이 설명을 위해 사용될 수도 있다. 마스터 디바이스는 그리드의 각 컬럼을 따른 슬레이브 디바이스들이 복수의 스테이지들 (1602, 1604, 1606, 1608, 1610 및 1612) 에 걸쳐 "x1", "x2" ... "x6" 로 반복적으로 자신을 식별하도록, 하나 이상의 "E" 대 "W" 브로드캐스트들을 전송할 수도 있다. 각 컬럼에 따른 식별은 예컨대, 도 3 및 도 11 의 데이지 체인 접근 방식들과 유사할 수도 있다. 이 "E" 대 "W" 스캔을 통해, 각각의 슬레이브 디바이스는 (예를 들어, 컬럼 번호를 통해) 부분적으로 자신을 식별할 수도 있다.
(도 17a, 도 17b 및 도 17c 를 포함하는) 도 17 은 2 차원 어레이에서 그리고 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들이 공유 버스 상의 마스터 디바이스에 자체 식별하게 하는 단방향 스캔 프로세스의 제 2 부분을 도시한다. 상기 도면에서, 도 16 의 슬레이브 디바이스들은 지금부터 상이한 방향에서 스캔된다. 마스터 디바이스는 그리드의 각 로우를 따른 슬레이브 디바이스들이 복수의 스테이지들 (1702, 1704, 1706, 1708, 1710 및 1712) 에 걸쳐 "1y", "2y" ... "6y" 로 반복적으로 자신을 식별하도록, 하나 이상의 "N" 대 "S" 브로드캐스트들을 전송할 수도 있다. 각 컬럼에 따른 식별은 예컨대, 도 3 및 도 11 의 데이지 체인 접근 방식들과 유사할 수도 있다. 이 "N" 대 "S" 스캔을 통해, 각각의 슬레이브 디바이스는 (예를 들어, 로우 번호를 통해) 자신을 식별할 수도 있다. 도 16 에서 자신의 컬럼 번호를 식별하면, 각각의 슬레이브 디바이스는 지금부터 자신의 로우 번호를 발견하는 것에 의해 완전히 자신을 식별한다. 그러므로, 슬레이브 디바이스 식별자는 컬럼 번호와 로우 번호로 이루어질 수도 있다.
제 2 접근 방식에 따라, 슬레이브 디바이스들의 2 차원 그리드 구성의 양방향 스캔들은 복수의 슬레이브 디바이스들이 자체 식별하게 하는데 사용될 수도 있다.
도 18 은 2 차원 어레이에서 그리고 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들이 공유 버스 상의 마스터 디바이스에 자체 식별하게 하는 양방향 스캔 프로세스의 제 1 부분을 도시한다. 일 예에서, 도 15 의 슬레이브 디바이스들의 그리드 구성 (1500) 이 설명을 위해 사용될 수도 있다. 마스터 디바이스는 그리드의 각 컬럼을 따른 슬레이브 디바이스들이 복수의 양방향 스테이지들 (1802, 1804 및 1806) 에 걸쳐 "xe1", "xw1" ... "xe3", "xw3" 로 반복적으로 자신을 식별하도록, 하나 이상의 "E" 대 "W" 브로드캐스트들을 전송할 수도 있다. 각 컬럼에 따른 식별은 예컨대, 도 13 의 데이지 체인 접근 방식들과 유사할 수도 있다. 이 "E" 대 "W" 스캔을 통해, 각각의 슬레이브 디바이스는 (예를 들어, 컬럼 번호를 통해) 부분적으로 자신을 식별할 수도 있다.
도 19 는 2 차원 어레이에서 그리고 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들이 공유 버스 상의 마스터 디바이스에 자체 식별하게 하는 양방향 스캔 프로세스의 제 2 부분을 도시한다. 상기 도면에서, 도 18 의 슬레이브 디바이스들은 지금부터 상이한 방향에서 스캔된다. 마스터 디바이스는 그리드의 각 로우를 따른 슬레이브 디바이스들이 복수의 스테이지들 (1902, 1904 및 1906) 에 걸쳐 "n1y", "s1y" ... "n3y", "s3y" 로 반복적으로 자신을 식별하도록, 하나 이상의 "N" 대 "S" 브로드캐스트들을 전송할 수도 있다. 각 컬럼에 따른 식별은 예컨대, 도 13 의 데이지 체인 접근 방식들과 유사할 수도 있다. 이 "N" 대 "S" 스캔을 통해, 각각의 슬레이브 디바이스는 (예를 들어, 로우 번호를 통해) 자신을 식별할 수도 있다. 도 18 에서 자신의 컬럼 번호를 식별하면, 각각의 슬레이브 디바이스는 지금부터 자신의 로우 번호를 발견하는 것에 의해 완전히 자신을 식별한다. 그러므로, 슬레이브 디바이스 식별자는 컬럼 번호와 로우 번호로 이루어질 수도 있다.
따라서, 자체 식별 프로세스는 (예컨대, 각각의 슬레이브 디바이스가 자신의 식별자를 획득하도록) 그리드 구성 내의 각각의 슬레이브 디바이스가 자신을 식별하게 하는 기능을 한다.
일부 구현들에서, 마스터 디바이스는 그리드 구성 (1500) 내의 슬레이브 디바이스들의 수 및 그들의 정확한 위치들에 대한 사전 지식을 가질 수도 있다. 다른 구현들에서, 마스터 디바이스가 슬레이브 디바이스들의 구조를 알고 있는 한, 슬레이브 디바이스들의 핫-플러깅 (예컨대, 동적 삽입) 이 허용될 수도 있다.
또 다른 대안적인 접근 방식들에서, 도 16 및 도 17 및/또는 도 18 및 도 19 에 도시된 접근 방식들은 동시에 2 개의 방향들에서 스캐닝을 수행함으로써 더 효율적으로 구현될 수도 있다.
(도 20a 및 도 20b 를 포함하는) 도 20 은 2 차원 어레이에서 그리고 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들이 공유 버스 상의 마스터 디바이스에 자체 식별하게 하는 다른 단방향 스캔 프로세스를 도시한다. 일 예에서, 도 15 의 슬레이브 디바이스들의 그리드 구성 (1500) 이 설명을 위해 사용될 수도 있다. 상기 예에서, 도 16 및 도 17 에 도시된 단방향 접근방식들은 동시에 구현될 수도 있다. 그러나, 대안적인 접근방식은 도 18 및 도 19 에 도시된 접근방식들을 유사하게 조합할 수도 있다.
제 1 스테이지 (2002) 에서, 마스터 디바이스는 모든 "W" 인터페이스들 및 모든 "S" 인터페이스들이 (예를 들어, 모든 아직 식별되지 않은 슬레이브 디바이스들에 대해) 어서트되어, 대응하는 "E" 및 "N" 인터페이스들이 디폴트 상태로부터 변화하게 하는 "식별 #1 브로드캐스트/커맨드" 를 전송할 수도 있다. 슬레이브 디바이스들은 그들의 "E" 및 "N" 인터페이스들을 센싱하여 그들이 디폴트 상태에 있는지 여부를 결정할 수도 있다. "E" 인터페이스가 디폴트 상태에 있다면, 슬레이브 디바이스는 그것이 제 1 컬럼에 있음을 인식할 수도 있다. 그러한 슬레이브 디바이스들은 부분적으로 정의된 "?1" 의 식별자를 가질 수도 있으며, 여기서 "?" 는 후속 스캔에서 정의될 것이다. 유사하게, "N" 인터페이스가 디폴트 상태에 있다면, 슬레이브 디바이스는 그것이 제 1 로우에 있다는 것을 인식할 수도 있다. 그러한 슬레이브 디바이스들은 부분적으로 정의된 "1?" 의 식별자를 가질 수도 있으며, 여기서 "?" 는 후속 스캔에서 정의될 것이다. 양자의 "E" 및 "N" 인터페이스들이 디폴트 상태에 있다면, 슬레이브 디바이스는 "11" 로서 자신을 식별할 수도 있다.
제 2 스테이지 (2004) 에서, 마스터 디바이스는 모든 "W" 인터페이스들 및 모든 "S" 인터페이스들이 모든 아직 식별되지 않은 슬레이브 디바이스들에 대해 어서트되어, 대응하는 "E" 및 "N" 인터페이스들이 디폴트 상태로부터 변화하게 하는, "식별 #2 브로드캐스트/커맨드" 를 전송할 수도 있다. 이미 로우를 식별한 슬레이브 디바이스들의 경우 "S" 인터페이스들을 어서트하지 않고; 이미 컬럼을 식별한 슬레이브 디바이스들의 경우 "W" 인터페이스들을 어서트하지 않는다. 슬레이브 디바이스들은 다시 그들의 "E" 및 "N" 인터페이스들을 센싱하여 그들이 디폴트 상태에 있는지 여부를 결정할 수도 있다. "E" 인터페이스가 디폴트 상태에 있다면, 슬레이브 디바이스는 그것이 제 2 컬럼에 있음을 인식할 수도 있다. 그러한 슬레이브 디바이스들은 부분적으로 정의된 "?2" 의 식별자를 가질 수도 있으며, 여기서 "?" 는 후속 스캔에서 정의될 것이다. 유사하게, "N" 인터페이스가 디폴트 상태에 있다면, 슬레이브 디바이스는 그것이 제 2 로우에 있다는 것을 인식할 수도 있다. 그러한 슬레이브 디바이스들은 부분적으로 정의된 "2?" 의 식별자를 가질 수도 있으며, 여기서 "?" 는 후속 스캔에서 정의될 것이다. 양자의 "E" 및 "N" 인터페이스들이 디폴트 상태에 있다면, 슬레이브 디바이스는 "22" 로서 자신을 식별할 수도 있다. 슬레이브 디바이스가 이러한 방식으로 로우 및 컬럼 양자를 정의하기 때문에, 지금부터 자체 식별되고, 후속 식별 브로드캐스트들/커맨드들의 수신시 "W" 또는 "S" 인터페이스들을 어서트하지 않는다. 이 프로세스는 모든 슬레이브 디바이스들이 자체 식별할 때까지 제 3 스테이지 (2006), 제 4 스테이지 (2008), 제 5 스테이지 (2010), 및 제 6 스테이지 (2012) 를 통해 계속된다.
예시적인 마스터 디바이스와 마스터 디바이스에 동작하는 방법
도 22 는 공유 버스 상의 복수의 동일한 디바이스들의 자체 식별을 용이하게 하도록 구성될 수도 있는, 예시적인 마스터 디바이스 (2200) 를 도시하는 블록 다이어그램이다. 마스터 디바이스 (2200) 는 공유 버스 인터페이스 회로/기능/ 모듈 (2204) 및 메모리/저장 디바이스 (2206) 에 커플링된 프로세싱 회로, 기능, 모듈 및/또는 로직 (2202) 을 포함할 수도 있다. 공유 버스 인터페이스 회로/기능/ 모듈 (2204) 은 마스터 디바이스 (2200) 가 복수의 동일한 슬레이브 디바이스들이 커플링될 수도 있는, 멀티-라인 버스 (예를 들어, 2-라인 버스) 를 통해 통신하고 및/또는 통신들을 관리하게 할 수도 있다. 프로세싱 회로, 기능, 모듈 및/또는 로직 (2202) 은 마스터 디바이스가 공유 버스를 통해 통신들을 제어하게 하는 하나 이상의 공유 버스 제어 명령들 (2212) 을 구현하도록 구성될 수도 있는 공유 버스 제어 회로, 기능, 모듈 (2208) 을 포함할 수도 있다. 추가로, 프로세싱 회로, 기능, 모듈, 및/또는 로직 (2202) 은 공유 버스 상의 슬레이브 디바이스들이 자체 식별하게 하고 및/또는 공유 버스를 통해 자체 식별한 것을 마스터 디바이스에 통지하게 하는 하나 이상의 슬레이브 디바이스 식별 명령들 (2214) 을 구현하도록 구성된 슬레이브 디바이스 식별 회로, 기능 및/또는 모듈 (2210) 을 또한 포함할 수도 있다. 일 예에서, 마스터 디바이스 (2200) 에게 슬레이브 디바이스가 자체 식별했다는 것의 그러한 통지는 슬레이브 디바이스에 대한 명확한 식별자를 포함하지 않는다. 예를 들어, 통지는 공유 버스를 통해 전송된 브로드캐스트/커맨드에 응답하는 간단한 확인응답 (ack) 일 수도 있으며, 여기서 그러한 확인응답은 슬레이브 디바이스 식별자를 포함하지 않는다. 일 구현에서, 마스터 디바이스 및 슬레이브 디바이스는 도 3, 도 11 및/또는 도 13 에 도시된 바와 같이 미리 배열된 프로토콜을 사용하여, (예를 들어, 응답하는/확인응답하는 슬레이브 디바이스가 특정 브로드캐스트/커맨드에 의해 내포된 식별자를 취하는 것에 동의함으로써) 디바이스 식별자에 대해 암시적으로 동의할 수도 있다. 다른 구현에서, 마스터 디바이스는 슬레이브들의 수 및/또는 그들의 구성 또는 상대적인 배열에 대한 사전 지식을 가질 수도 있지만, 도 16, 도 17, 도 18 및/또는 도 19 에 도시된 것과 같은 프로토콜을 사용하여, 동일한 슬레이브 디바이스의 각각이 자체 식별에 의해 (즉, 다른 식별자들과 별개인) 고유한 식별자를 획득하게 할 수도 있다. 이는 마스터 디바이스가 공유 버스를 통해 이 고유한 식별자를 사용하여 슬레이브 디바이스들의 각각을 구체적으로 어드레싱하게 한다.
도 23 은 하나 이상의 동일한 슬레이브 디바이스들에 의한 자체 식별을 용이하게 하도록 마스터 디바이스에서 동작가능할 수도 있는 방법을 도시한다. 시작, 초기화 및/또는 부트업 시에, 마스터 디바이스는 복수의 동일한 슬레이브 디바이스들이 커플링된 공유 버스를 통해 제 1 브로드캐스트를 전송할 수도 있으며, 제 1 브로드캐스트는 복수의 동일한 슬레이브 디바이스들 중 하나 이상의 자체 식별을 개시/트리거한다 (2302). 제 1 브로드캐스트는 단순히 슬레이브 디바이스들이 자체 식별하는 것 (즉, 식별자를 슬레이브 디바이스에 구체적으로 할당하지 않고) 을 요청할 수도 있다. 각 슬레이브 디바이스에 대한 식별자는 마스터 디바이스에 의해 각 슬레이브 디바이스에 명시적으로 제공되지 않는다. 추가로, 각 슬레이브 디바이스에 대한 식별자는 슬레이브 디바이스 내에 사전 구성되지 않는다. 대신에, 제 1 브로드캐스트에 응답하여, 마스터 디바이스는 슬레이브 디바이스가 자체 식별한 것을 나타내는 응답을 공유 버스를 통해 슬레이브 디바이스로부터 수신할 수도 있다 (2304). 그 응답은 응답하는 슬레이브 디바이스에 대한 식별자를 명시적으로 제공하지 않을 수도 있음을 유의한다. 대신에, 식별자는 예를 들어, 응답들의 순서에 기초하여, 또는 어떤 브로드캐스트가 전송되는지에 기초하여 암시적일 수도 있다 (예를 들어, 식별 #1, 식별 #2, ... 식별 #n).
따라서, 응답은 단순히 확인응답 메시지일 수도 있으며, 명시적 식별자를 반드시 포함할 필요는 없을 수도 있다.
마스터 디바이스는 응답하는 슬레이브 디바이스와 연관된 슬레이브 디바이스 식별자를, 슬레이브 디바이스 리스트에 추가할 수도 있다 (2306). 마스터 디바이스는 복수의 동일한 슬레이브 디바이스들에서 모든 슬레이브 디바이스들이 자체 식별할 때까지, 복수의 동일한 슬레이브 디바이스 각각을 고유하게 식별하기 위해, 공유 버스를 통해 하나 이상의 브로드캐스트들을 전송하는 것을 계속할 수도 있다 (2308). 예를 들어, 브로드캐스트에 대한 응답이 수신되는 한, 마스터 디바이스는 버스에 커플링된 모든 슬레이브 디바이스들을 식별하기 위해 브로드캐스트들을 전송하는 것을 계속할 수도 있다. 마스터 디바이스는 공유 버스를 통해 브로드캐스트에 대한 어떤 응답도 수신되지 않을 때, 모든 슬레이브 디바이스들이 식별되었음을 알고 있다. 대안적으로, 마스터 디바이스가 공유 버스에 커플링된 슬레이브 디바이스의 총 수를 알고 있다면, 슬레이브 디바이스의 총 수와 동일한 수의 응답들을 수신하면 브로드캐스트들을 전송하는 것을 중단할 수도 있다.
후속하여, 마스터 디바이스는 리스트 내의 슬레이브 디바이스 식별자들을 사용하여 특정 슬레이브 디바이스로 구체적으로 어드레싱된 통신들을 전송할 수도 있다. 예를 들어, 마스터 디바이스는 제 1 슬레이브 디바이스와 연관된 슬레이브 디바이스 리스트 내의 대응하는 제 1 식별자를 사용하여 제 1 슬레이브 디바이스에 구체적으로 어드레싱된 공유 버스를 통해 통신을 전송할 수도 있다.
일부 구현들에서, 마스터 디바이스는 복수의 슬레이브 디바이스들에 의한 공유 버스로의 액세스를 제어할 수도 있다. 즉, 마스터 디바이스는 슬레이브 디바이스가 공유 버스를 통해 통신할 수도 있는지 여부를 결정하고 및/또는 슬레이브 디바이스가 공유 버스를 통해 통신할 수도 있을 때 슬레이브 디바이스에 지시할 수도 있다.
도 3 및 도 11 의 접근 방식들에 예시된 바와 같이, 제 1 브로드캐스트는 복수의 슬레이브 디바이스들에게 슬레이브 디바이스들의 데이지 체인 내의 제 1 슬레이브 디바이스를 식별하도록 표시할 수도 있다.
도 3 의 접근 방식에 도시된 바와 같이, 하나 이상의 브로드캐스트들 각각은 서로 구별될 수도 있고 식별자를 내포한다.
도 11 의 접근 방식에 도시된 바와 같이, 하나 이상의 브로드캐스트들 (예를 들어, 롤 콜) 각각은 동일하고 식별자를 내포하지 않는다.
도 13 의 접근 방식에 도시된 바와 같이, 단일 브로드캐스트는 2 개의 상이한 슬레이브 디바이스들로부터 2 개의 응답들을 초래할 수 있고, 2 개의 상이한 슬레이브 디바이스들 각각은 응답들이 수신되는 순서에 기초하여 상이한 식별자와 연관된다.
도 15, 도 16, 도 17, 도 18, 도 19 및 도 20 의 접근 방식들에 도시된 바와 같이, 슬레이브 디바이스 리스트는 복수의 슬레이브 디바이스 식별자들을 포함할 수도 있고, 복수의 슬레이브 디바이스들의 2 차원 배열을 나타낼 수도 있다.
도 15, 도 16, 도 17, 도 18, 도 19 및 도 20 의 접근 방식들에 도시된 바와 같이, 슬레이브 디바이스 리스트는 복수의 슬레이브 디바이스 식별자들을 포함할 수도 있고, 복수의 슬레이브 디바이스들의 n 차원 배열을 나타낼 수도 있다.
예시적인 슬레이브 디바이스와 슬레이브 디바이스에 동작하는 방법
도 24 는 공유 버스에 커플링된 복수의 동일한 디바이스들로부터 자신을 자체 식별하고 구별하도록 구성될 수도 있는, 예시적인 슬레이브 디바이스 (2400) 를 도시하는 블록 다이어그램이다. 슬레이브 디바이스 (2400) 는 공유 버스 인터페이스 회로/기능/ 모듈 (2404) 및 메모리/저장 디바이스 (2406) 에 커플링된 프로세싱 회로, 기능, 모듈 및/또는 로직 (2402) 을 포함할 수도 있다. 공유 버스 인터페이스 회로/기능/ 모듈 (2404) 은 슬레이브 디바이스 (2400) 가 마스터 디바이스의 제어 하에 멀티-라인 버스 (예를 들어, 2-라인 버스) 를 통해 통신하고 및/또는 통신들에 응답하게 할 수도 있다.
슬레이브 디바이스는 공유 버스 인터페이스 회로, 기능, 및/또는 모듈 (2404) 과 별개의 복수의 추가 인터페이스들 (2406, 2408, 2410, 및 2412) 을 포함할 수도 있다. 이러한 추가 인터페이스들은 슬레이브 디바이스들의 자체 식별의 목적들을 위해 슬레이브 디바이스를 (예컨대, 데이지 체인 또는 그리드 패턴에서의) 다른 슬레이브 디바이스들에 커플링하는데 특별히 사용되는 2, 3, 4, 5, 6 개 이상의 인터페이스들일 수도 있다. 이 예에서, 4 개의 인터페이스들 (2406, 2408, 2410 및 2412) 은 슬레이브 디바이스 (2400) 에 포함된다. 일 예에서, 인터페이스들의 각각은 단일 라인 인터페이스들일 수도 있음을 유의한다.
프로세싱 회로, 기능, 모듈 및/또는 로직 (2402) 은 공유 버스 인터페이스 회로, 기능, 및/또는 모듈 (2404) 을 공유하여, 공유 버스를 통해 구현된 프로토콜에 따라 통신들을 수신 및 송신하도록 구성될 수도 있는 공유 버스 통신 프로토콜 회로, 기능 및/또는 모듈 (2420) 을 포함할 수도 있다. 프로세싱 회로, 기능, 모듈 및/또는 로직 (2402) 은 또한, 복수의 인터페이스 회로들 (2406, 2408, 2410 및 2412) 을 사용하여 자체 식별을 수행하도록 구성된 자체 식별 회로, 기능 (2422) 을 포함할 수도 있다. 예를 들어, 자체 식별 회로, 기능 (2422) 은 도 3 내지 도 18 에 도시된 방법들, 단계들, 기능들 및/또는 접근 방식들 중 하나 이상을 수행할 수도 있다. 슬레이브 디바이스 (2400) 는 공유 버스를 통해 수신된 브로드캐스트 및 슬레이브 디바이스가 이미 자체 식별했는지 여부에 기초하여 각 인터페이스 회로들 (2406, 2408, 2410 및/또는 2412) 을 선택적으로 어서트/구동 또는 센싱할 수도 있다.
(공유 버스 인터페이스 회로, 기능 및/또는 모듈 (2404) 을 통해) 공유 버스를 통한 하나 이상의 브로드캐스트들의 수신에 기초하여, 슬레이브 디바이스 (2400) 는 자체 할당 또는 자체 선택된 식별자를 획득할 수도 있으며, 그 후에, 이를 메모리/저장 디바이스 (2414) 에 저장한다. 슬레이브 디바이스 식별자 (2428) 는 제작 중에 고유한 디바이스 식별자로 제공되지 않는다는 것을 유의한다. 대신에, 슬레이브 디바이스식별자 (2428) 는 슬레이브 디바이스 (2400) 의 각각의 부트업 또는 초기화 동안 (예를 들어, 마스터 디바이스, 공유 버스 및 슬레이브 디바이스를 포함하는 디바이스가 시작, 전력 사이클링, 또는 리셋할 때마다) 슬레이브 디바이스에 의해 자체 선택될 수도 있다.
슬레이브 디바이스 (2400) 로부터 마스터 디바이스로의 응답은 공유 버스를 통해 마스터 디바이스에 명시적으로 통신되지 않을 수도 있음을 유의한다. 대신에, 그러한 슬레이브 디바이스 식별자는 예를 들어, 상이한 슬레이브 디바이스들로부터의 응답들의 순서로, 또는 (예를 들어, 선행 브로드캐스트들이 식별자를 내포하는 경우) 선행하는 브로드캐스트(들) 에 기초하여, 암시적일 수도 있다.
메모리/저장 디바이스 (2414) 는 또한, 공유 버스를 통해 통신하도록 기능할 수도 있는 공유 버스 통신 명령들 (2424) 및 마스터 디바이스에 자체 식별을 수행하도록 기능할 수도 있는 자체 식별 명령들 (2426) 을 저장할 수도 있다.
도 25 는 자체 식별하기 위해 슬레이브 디바이스 상에 동작할 수도 있는 방법을 도시한다. 슬레이브 디바이스는 복수의 동일한 슬레이브 디바이스들이 커플링되는 공유 버스를 통해 브로드캐스트를 수신할 수도 있다 (2502). 일 예에서, 브로드캐스트는 슬레이브 디바이스들에 의해 수신중인 슬레이브 디바이스들이 자체 식별하는 것을 지원하기 위해 하나 이상의 동작들을 수행하는 것으로 이해되는 명시적인 자체 식별 브로드캐스트일 수도 있다. 그에 응답하여, 슬레이브 디바이스는 브로드캐스트 및 슬레이브 디바이스가 현재 식별자를 갖는지 여부에 기초하여, 공유 버스와 별개인 제 1 인터페이스를 구동할 수도 있다 (예를 들어, 제 2 인터페이스에 대한 디폴트 상태와는 상이한 상태를 선택적으로 풀 업 또는 풀 다운한다) (2504). 추가로, 슬레이브 디바이스는 디폴트 상태로부터의 상태 변화에 대하여 공유 버스와 별개인 제 2 인터페이스를 센싱할 수도 있다 (2506).
슬레이브 디바이스가 이미 현재 식별자를 갖는다면 (예를 들어, 마스터 디바이스에 대해 자체 식별했다면), 진행해야할 필요가 없다 (2508).
슬레이브 디바이스가 현재 식별자를 가지지 않으면, 슬레이브 디바이스는 제 2 인터페이스의 상태에 기초하여 공유 버스를 통해 응답해야만 하는지 여부를 결정할 수도 있다 (2510). 예를 들어, 도 3 에 도시 된 바와 같이, 제 2 인터페이스 (예를 들어, "E" 인터페이스) 가 디폴트 상태에서 유지되면, 이것은 슬레이브 디바이스가 응답을 전송해야만 함을 나타낼 수도 있다. 대안적으로, 도 11 에 도시된 바와 같이, 제 2 인터페이스 (예를 들어, "E" 인터페이스) 가 디폴트 상태와 상이한 상태로 구동된다면, 이것은 슬레이브 디바이스가 응답을 전송해야만 함을 나타낼 수도 있다.
슬레이브 디바이스가 응답해야만 한다고 확인하면, 슬레이브 디바이스는 브로드캐스트에 의해 내포되거나 인접 슬레이브 디바이스로부터 획득된 정보와 구별되는 고유한 식별자와 자신을 연관시킬 수도 있다 (2512). 예를 들어, 도 3 에 도시 된 바와 같이, 식별자는 특정 브로드캐스트 (예를 들어, "식별 #1", "식별 #2", 등) 에 의해 내포될 수도 있다. 대안적으로, 도 11 에 도시 된 바와 같이, 인접 슬레이브 디바이스는 자신의 식별자를 다른 슬레이브 디바이스에 제공하여 그 디바이스가 고유한 식별자를 선택하게 (예를 들어, 인접 슬레이브 디바이스에 대한 식별자를 하나씩 증분시키게) 할 수 있다.
그 후에, 슬레이브 디바이스는 공유 버스를 통해 브로드캐스트에 응답할 수도 있다 (2514). 예를 들어, 그러한 응답은 간단한 확인응답일 수도 있고, 슬레이브 디바이스에 대한 명시적 식별자를 포함하지 않을 수도 있다. 즉, 마스터 디바이스는 식별자 리스트에서 최종 식별자를 간단히 증분시킬 수도 있고, 이를 대응하는 슬레이브 디바이스에 대한 고유한 식별자로서 사용할 수도 있다 (슬레이브 디바이스가 동일하게 실행한다). 그러므로, 양자의 마스터 디바이스와 슬레이브 디바이스는, 그러한 식별자가 공유 버스를 통해 명시적으로 송신되지 않음에도 불구하고, 동일한 식별자를 사용한다. 결과적으로, 응답은 고유한 식별자를 암시적으로 표시한다.
슬레이브 디바이스는 임의의 추가의 브로드캐스트가 수신되는지 여부를 확인하기 위해 공유 버스를 모니터링할 수도 있다 (2516). 만약 그렇다면, 프로세스는 반복한다. 그렇지 않으면, 슬레이브 디바이스는 고유한 식별자로 어드레싱된 공유 버스를 통해 통신들을 수신하고 및/또는 응답할 수도 있다 (2518).
일 예에서, 고유한 식별자는 슬레이브 디바이스에 명시적으로 제공되지 않는다. 추가로, 고유한 식별자는 슬레이브 디바이스 내에 사전 구성되지 않을 수도 있다.
일 양태에서, 방법은: (a) 공유 버스를 통해 하나 이상의 브로드캐스트들을 수신하는 단계 및/또는 (b) 하나 이상의 브로드캐스트들 및 슬레이브 디바이스가 현재 식별자를 가지는지 여부에 기초하여 제 1 인터페이스 및/또는 제 2 인터페이스 상에서 선택적으로 구동하거나 센싱하는 단계를 더 포함할 수도 있다.
도면들에 도시된 컴포넌트들, 단계들, 특징들 및/또는 기능들 중 하나 이상은 단일 컴포넌트, 단계, 특징 또는 기능으로 재배열 및/또는 결합되거나, 또는 몇몇 컴포넌트들, 단계들, 또는 기능들로 구현될 수도 있다. 부가적인 엘리먼트들, 컴포넌트들, 단계들, 및/또는 기능들이 또한, 본원에 개시된 신규한 특징들로부터 일탈함 없이 부가될 수도 있다. 도면들에 도시된 장치들, 디바이스들, 및/또는 컴포넌트들은 도면들에 설명된 방법들, 특징들, 또는 단계들 중 하나 이상을 수행하도록 구성될 수도 있다. 본 명세서에서 설명된 신규한 알고리즘들은 또한 소프트웨어에서 효율적으로 구현되고/되거나 하드웨어에 내장될 수도 있다.
추가로, 실시형태들은 플로우 차트, 플로우 다이어그램, 구조 다이어그램, 또는 블록 다이어그램으로서 도시된 프로세스로서 설명될 수도 있음을 유의한다. 플로우 차트가 동작들을 순차적인 프로세스로서 기술할 수도 있지만, 동작들 중 다수는 병렬로 또는 동시에 수행될 수 있다. 부가적으로, 동작들의 순서가 재배열될 수도 있다. 프로세스는 그 동작들이 완료될 경우에 종료된다. 프로세스는 방법, 함수, 절차, 서브루틴, 서브프로그램 등에 대응할 수도 있다. 프로세스가 함수에 대응할 경우, 그 종료는 그 함수의 호출 함수 또는 메인 함수로의 반환에 대응한다.
더욱이, 저장 매체는 판독 전용 메모리 (ROM), 랜덤 액세스 메모리 (RAM), 자기 디스크 저장 매체들, 광학 저장 매체들, 플래시 메모리 디바이스들 및/또는 정보를 저장하기 위한 다른 머신-판독가능 매체들을 포함하여 데이터를 저장하기 위한 하나 이상의 디바이스들을 나타낼 수도 있다. 용어 "머신 판독가능 매체" 는 휴대용 또는 고정식 저장 디바이스들, 광학 저장 디바이스들, 무선 채널들, 및 명령(들) 및/또는 데이터를 저장, 포함, 또는 수록할 수 있는 다양한 다른 매체들을 포함하지만 이에 한정되지 않는다.
추가로, 실시형태들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 또는 이들의 임의의 조합일 수도 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드에서 구현되면, 필요한 작업들을 수행하는 프로그램 코드 또는 코드 세그먼트들은 저장 매체 또는 다른 스토리지(들)와 같은 머신 판독가능 매체에 저장될 수도 있다. 프로세서는 필요한 작업들을 수행할 수도 있다. 코드 세그먼트는 절차, 함수, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패키지, 클래스, 또는 명령들, 데이터 구조들, 또는 프로그램 상태문들의 임의의 조합을 나타낼 수도 있다. 코드 세그먼트는, 정보, 데이터, 인수들 (arguments), 파라미터들, 또는 메모리 컨텐츠를 전달 및/또는 수신함으로써 다른 코드 세그먼트 또는 하드웨어 회로에 커플링될 수도 있다. 정보, 인수들, 파라미터들, 데이터 등은 메모리 공유, 메시지 전달, 토큰 전달, 네트워크 송신 등을 포함하는 임의의 적절한 수단을 통해 전달되거나, 포워딩되거나, 또는 전송될 수도 있다.
본원에서 개시된 예들과 연계하여 설명된 여러가지 예증적인 논리 블록들, 모듈들, 및 회로들은 본원에서 개시된 기능들을 수행하도록 디자인된 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 반도체(ASIC), 필드 프로그래머블 게이트 어레이(FPGA) 또는 다른 프로그래머블 로직 컴포넌트, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 이들의 임의의 조합에 의해 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로, 그 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 컴포넌트들의 조합, 예를 들면, DSP와 마이크로프로세서의 조합, 다수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로 구현될 수도 있다.
본원에서 개시된 실시예들과 연계하여 설명된 방법들 또는 알고리즘들은, 하드웨어에서 직접적으로, 프로세서에 의해 실행가능한 소프트웨어 모듈에서, 또는 이들 양자의 조합에서, 프로세싱 유닛, 프로그래밍 명령들, 또는 다른 지령들의 형태로 구현될 수도 있으며, 단일의 디바이스 또는 복수의 디바이스들에 걸쳐 분산되어 포함될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 착탈가능 디스크, CD-ROM, 또는 당업계에 공지된 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독하고, 저장 매체로 정보를 저장할 수 있도록 프로세서에 커플링될 수도 있다. 대안에서, 저장 매체는 프로세서에 통합될 수도 있다.
당업자라면, 본원에서 개시된 실시형태들과 연계하여 설명된 여러 예증적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어 또는 이들 양자의 조합으로서 구현될 수도 있음을 또한 알 수 있을 것이다. 하드웨어 및 소프트웨어의 이러한 상호 교환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 그들의 기능적 관점에서 일반적으로 상술되었다. 그러한 기능이 하드웨어로 구현되는지 또는 소프트웨어로 구현되는지의 여부는 특정 애플리케이션 및 전체 시스템에 부과되는 설계 제약들에 따라 달라진다.
본 명세서에서 설명되는 발명의 다양한 특징들은 본 발명으로부터 벗어나는 일 없이 상이한 시스템들에서 구현될 수 있다. 앞서의 실시형태들은 단지 예들일 뿐이고 본 발명을 제한하는 것으로 해석되지 않음에 유의해야 한다. 실시형태들의 설명은 예증적인 것으로 의도된 것이며, 특허청구범위의 범위를 제한하는 것으로 의도된 것은 아니다. 이와 같이, 본 교시는 다른 타입들의 장치들에 쉽게 적용될 수 있으며, 많은 대안예들, 수정예들, 변경예들이 당업자에게는 명확할 것이다.
Claims (44)
- 디바이스로서,
공유 버스 인터페이스; 및
상기 공유 버스 인터페이스에 커플링된 프로세싱 회로를 포함하며,
상기 프로세싱 회로는,
복수의 동일한 슬레이브 디바이스들이 커플링되는 공유 버스를 통해 제 1 브로드캐스트를 전송하는 것으로서, 상기 제 1 브로드캐스트는 상기 복수의 동일한 슬레이브 디바이스들 중 하나 이상의 자체 식별을 개시하는, 상기 제 1 브로드캐스트를 전송하고,
상기 제 1 브로드캐스트에 응답하여, 슬레이브 디바이스가 자체 식별한 것을 나타내는 응답을 상기 공유 버스를 통해 슬레이브 디바이스로부터 수신하고, 그리고
상기 복수의 동일한 슬레이브 디바이스들에서 모든 슬레이브 디바이스들이 자체 식별할 때까지, 상기 복수의 동일한 슬레이브 디바이스들의 각각을 고유하게 식별하기 위해, 상기 공유 버스를 통해 하나 이상의 브로드캐스트들을 전송하는 것을 계속하도록
구성되는, 디바이스. - 제 1 항에 있어서,
상기 프로세싱 회로는 추가로,
슬레이브 디바이스 리스트에서, 제 1 슬레이브 디바이스와 연관된 대응하는 제 1 식별자를 사용하여 상기 제 1 슬레이브 디바이스에 구체적으로 어드레싱된 상기 공유 버스를 통해 통신을 전송하도록
구성되는, 디바이스. - 제 1 항에 있어서,
상기 복수의 동일한 슬레이브 디바이스들의 각각에 대한 고유한 식별자는 상기 디바이스에 의해 각 슬레이브 디바이스에 명시적으로 제공되지 않는, 디바이스. - 제 1 항에 있어서,
상기 디바이스는, 상기 공유 버스를 통해 브로드캐스트에 대한 어떤 응답도 수신되지 않을 경우, 모든 슬레이브 디바이스들이 식별되었음을 알고 있는, 디바이스. - 제 1 항에 있어서,
상기 디바이스는 상기 공유 버스에 커플링된 상기 복수의 동일한 슬레이브 디바이스의 총 개수에 대한 사전 지식을 가지고,
상기 디바이스는 상기 복수의 동일한 슬레이브 디바이스들의 총 수가 고유하게 식별된다면 상기 하나 이상의 브로드캐스트들을 전송하는 것을 중단하는, 디바이스. - 제 1 항에 있어서,
상기 복수의 동일한 슬레이브 디바이스들에서 각각의 슬레이브 디바이스에 대한 고유한 식별자는 상기 슬레이브 디바이스들 내에 사전 구성되지 않는, 디바이스. - 제 1 항에 있어서,
상기 응답은 응답하는 슬레이브 디바이스에 대한 고유한 식별자를 암시적으로 표시하지만, 상기 식별자를 포함하지는 않는, 디바이스. - 제 1 항에 있어서,
상기 프로세싱 회로는 추가로,
상기 복수의 동일한 슬레이브 디바이스들에 의해 공유되는 버스로의 액세스를 제어하도록
구성되는, 디바이스. - 제 1 항에 있어서,
상기 제 1 브로드캐스트는 슬레이브 디바이스들의 데이지 체인에서 제 1 슬레이브 디바이스를 식별하도록 상기 복수의 동일한 슬레이브 디바이스들에 표시하는, 디바이스. - 제 1 항에 있어서,
상기 하나 이상의 브로드캐스트들의 각각은 서로 별개이고, 고유한 슬레이브 디바이스 식별자를 내포하는, 디바이스. - 제 1 항에 있어서,
상기 하나 이상의 브로드캐스트들의 각각은 동일하고, 고유한 슬레이브 디바이스 식별자를 내포하지 않는, 디바이스. - 제 1 항에 있어서,
단일 브로드캐스트는 2 개의 상이한 슬레이브 디바이스들로부터 2 개의 응답들을 초래하고,
상기 2 개의 상이한 슬레이브 디바이스들의 각각은 상기 응답들이 수신되는 순서에 기초하여 상이한 고유한 슬레이브 디바이스 식별자와 연관되는, 디바이스. - 제 1 항에 있어서,
상기 프로세싱 회로는 추가로,
응답하는 슬레이브 디바이스와 연관된 슬레이브 디바이스 식별자를, 저장 디바이스에 저장된 슬레이브 디바이스 리스트에 추가하도록
구성되는, 디바이스. - 제 13 항에 있어서,
상기 슬레이브 디바이스 리스트는 복수의 고유한 슬레이브 디바이스 식별자들을 포함하고, 상기 복수의 슬레이브 디바이스들의 2 차원 배열을 표시하는, 디바이스. - 제 13 항에 있어서,
상기 슬레이브 디바이스 리스트는 복수의 고유한 슬레이브 디바이스 식별자들을 포함하고, 상기 복수의 슬레이브 디바이스들의 n 차원 배열을 표시하는, 디바이스. - 디바이스에서 동작하는 방법으로서,
복수의 동일한 슬레이브 디바이스들이 커플링되는 공유 버스를 통해 제 1 브로드캐스트를 전송하는 단계로서, 상기 제 1 브로드캐스트는 상기 복수의 동일한 슬레이브 디바이스들 중 하나 이상의 자체 식별을 개시하는, 상기 제 1 브로드캐스트를 전송하는 단계;
상기 제 1 브로드캐스트에 응답하여, 슬레이브 디바이스가 자체 식별한 것을 나타내는 응답을 상기 공유 버스를 통해 슬레이브 디바이스로부터 수신하는 단계; 및
상기 복수의 동일한 슬레이브 디바이스들에서 모든 슬레이브 디바이스들이 자체 식별할 때까지, 상기 복수의 동일한 슬레이브 디바이스들의 각각을 고유하게 식별하기 위해, 상기 공유 버스를 통해 하나 이상의 브로드캐스트들을 전송하는 것을 계속하는 단계를 포함하는, 디바이스에서 동작하는 방법. - 제 16 항에 있어서,
슬레이브 디바이스 리스트에서, 제 1 슬레이브 디바이스와 연관된 대응하는 제 1 식별자를 사용하여 상기 제 1 슬레이브 디바이스에 구체적으로 어드레싱된 상기 공유 버스를 통해 통신을 전송하는 단계를 더 포함하는, 디바이스에서 동작하는 방법. - 제 16 항에 있어서,
상기 복수의 동일한 슬레이브 디바이스들의 각각에 대한 고유한 식별자는 상기 디바이스에 의해 각 슬레이브 디바이스에 명시적으로 제공되지 않는, 디바이스에서 동작하는 방법. - 제 16 항에 있어서,
상기 디바이스는, 상기 공유 버스를 통해 브로드캐스트에 대한 어떤 응답도 수신되지 않을 경우, 모든 슬레이브 디바이스들이 식별되었음을 알고 있는, 디바이스에서 동작하는 방법. - 제 16 항에 있어서,
각각의 슬레이브 디바이스에 대한 고유한 슬레이브 디바이스 식별자는 상기 슬레이브 디바이스 내에 사전 구성되지 않는, 디바이스에서 동작하는 방법. - 제 16 항에 있어서,
상기 응답은 응답하는 슬레이브 디바이스에 대한 고유한 식별자를 암시적으로 표시하지만, 상기 고유한 식별자를 포함하지는 않는, 디바이스에서 동작하는 방법. - 제 16 항에 있어서,
프로세싱 회로는 추가로,
상기 복수의 동일한 슬레이브 디바이스들에 의해 공유되는 버스로의 액세스를 제어하도록
구성되는, 디바이스에서 동작하는 방법. - 슬레이브 디바이스로서,
공유 버스에 커플링하기 위한 공유 버스 인터페이스;
상기 공유 버스 인터페이스와 별개인, 제 1 인터페이스 및 제 2 인터페이스; 및
상기 공유 버스 인터페이스, 상기 제 1 인터페이스, 및 상기 제 2 인터페이스에 커플링된 프로세싱 회로를 포함하며,
상기 프로세싱 회로는,
공유 버스 인터페이스를 통해 브로드캐스트를 수신하고,
상기 브로드캐스트 및 상기 슬레이브 디바이스가 현재 식별자를 가지는지의 여부에 기초하여, 상기 제 1 인터페이스를 구동하고,
디폴트 상태로부터의 상태 변화에 대하여 상기 제 2 인터페이스를 센싱하고,
상기 제 2 인터페이스의 상태 및 상기 슬레이브 디바이스가 현재 식별자가 부족한 것에 기초하여, 상기 슬레이브 디바이스가 자체 식별해야만 하는 것을 확인하고,
상기 브로드캐스트에 의해 내포되거나 인접 슬레이브 디바이스로부터 획득된 정보와 구별되는 고유한 식별자를 상기 슬레이브 디바이스와 연관시키고, 그리고
확인응답으로 상기 공유 버스를 통해 상기 브로드캐스트에 응답하도록
구성되는, 슬레이브 디바이스. - 제 23 항에 있어서,
상기 제 1 인터페이스 및 상기 제 2 인터페이스는 하나 이상의 인접 슬레이브 디바이스들에 커플링하기 위한 단일 라인 인터페이스들인, 슬레이브 디바이스. - 제 23 항에 있어서,
상기 프로세싱 회로는 추가로,
상기 슬레이브 디바이스와 연관된 상기 고유한 식별자에 구체적으로 어드레싱된 상기 공유 버스를 통한 통신을 수신하도록
구성되는, 슬레이브 디바이스. - 제 23 항에 있어서,
상기 고유한 식별자는 상기 슬레이브 디바이스에 명시적으로 제공되지 않는, 슬레이브 디바이스. - 제 23 항에 있어서,
상기 고유한 식별자는 상기 슬레이브 디바이스 내에 사전 구성되지 않는, 슬레이브 디바이스. - 제 23 항에 있어서,
상기 응답은 상기 고유한 식별자를 암시적으로 표시하는, 슬레이브 디바이스. - 제 23 항에 있어서,
상기 프로세싱 회로는 추가로,
상기 공유 버스를 통해 하나 이상의 브로드캐스트들을 수신하고, 그리고
상기 하나 이상의 브로드캐스트들 및 상기 슬레이브 디바이스가 현재 식별자를 가지는지 여부에 기초하여, 상기 제 1 인터페이스 및/또는 상기 제 2 인터페이스 상에서 선택적으로 구동하거나 센싱하도록
구성되는, 슬레이브 디바이스. - 제 29 항에 있어서,
상기 하나 이상의 브로드캐스트들의 각각은 서로 별개이고, 고유한 식별자를 내포하는, 슬레이브 디바이스. - 제 29 항에 있어서,
상기 하나 이상의 브로드캐스트들의 각각은 동일하고, 고유한 식별자를 내포하지 않는, 슬레이브 디바이스. - 제 23 항에 있어서,
단일 브로드캐스트는 2 개의 상이한 슬레이브 디바이스들로부터 2 개의 응답들을 초래하고,
상기 2 개의 상이한 슬레이브 디바이스들 각각은, 상기 응답들이 수신되는 순서에 기초하여 상이한 고유한 식별자와 연관되는, 슬레이브 디바이스. - 제 23 항에 있어서,
상기 프로세싱 회로에 커플링된, 상기 공유 버스와 별개인 제 3 인터페이스 및 제 4 인터페이스를 더 포함하며,
상기 프로세싱 회로는 추가로,
상기 브로드캐스트 및 상기 슬레이브 디바이스가 현재 식별자를 가지는지의 여부에 기초하여, 상기 공유 버스와 별개인 상기 제 3 인터페이스를 구동하고,
상기 디폴트 상태로부터의 상태 변화에 대하여 제 4 인터페이스를 센싱하고, 그리고
상기 제 4 인터페이스의 상태에 기초하여, 상기 응답이 상기 공유 버스를 통해 전송되어야만 하는 것을 추가로 확인하도록
구성되는, 슬레이브 디바이스. - 슬레이브 디바이스에서 동작하는 방법으로서,
공유 버스 인터페이스를 통해 브로드캐스트를 수신하는 단계;
상기 브로드캐스트 및 상기 슬레이브 디바이스가 현재 식별자를 가지는지의 여부에 기초하여, 공유 버스와 별개인 제 1 인터페이스를 구동하는 단계;
디폴트 상태로부터의 상태 변화에 대하여, 상기 공유 버스와 별개인 제 2 인터페이스를 센싱하는 단계;
상기 제 2 인터페이스의 상태 및 상기 슬레이브 디바이스가 현재 식별자가 부족한 것에 기초하여, 상기 슬레이브 디바이스가 자체 식별해야만 하는 것을 확인하는 단계;
상기 브로드캐스트에 의해 내포되거나 인접 슬레이브 디바이스로부터 획득된 정보와 구별되는 고유한 식별자를 상기 슬레이브 디바이스와 연관시키는 단계; 및
확인응답으로 상기 공유 버스를 통해 상기 브로드캐스트에 응답하는 단계를 포함하는, 슬레이브 디바이스에서 동작하는 방법. - 제 34 항에 있어서,
상기 슬레이브 디바이스와 연관된 상기 고유한 식별자에 구체적으로 어드레싱된 상기 공유 버스를 통한 통신을 수신하는 단계를 더 포함하는, 슬레이브 디바이스에서 동작하는 방법. - 제 34 항에 있어서,
상기 고유한 식별자는 상기 슬레이브 디바이스에 명시적으로 제공되지 않는, 슬레이브 디바이스에서 동작하는 방법. - 제 34 항에 있어서,
상기 고유한 식별자는 상기 슬레이브 디바이스 내에 사전 구성되지 않는, 슬레이브 디바이스에서 동작하는 방법. - 제 34 항에 있어서,
상기 응답은 상기 고유한 식별자를 암시적으로 표시하는, 슬레이브 디바이스에서 동작하는 방법. - 제 34 항에 있어서,
상기 공유 버스를 통해 하나 이상의 브로드캐스트들을 수신하는 단계; 및
상기 하나 이상의 브로드캐스트들 및 상기 슬레이브 디바이스가 현재 식별자를 가지는지 여부에 기초하여, 상기 제 1 인터페이스 및/또는 상기 제 2 인터페이스 상에서 선택적으로 구동하거나 센싱하는 단계를 더 포함하는, 슬레이브 디바이스에서 동작하는 방법. - 제 34 항에 있어서,
상기 브로드캐스트 및 상기 슬레이브 디바이스가 현재 식별자를 가지는지의 여부에 기초하여, 상기 공유 버스와 별개인 제 3 인터페이스를 구동하는 단계;
상기 디폴트 상태로부터의 상태 변화에 대하여 제 4 인터페이스를 센싱하는 단계; 및
상기 제 4 인터페이스의 상태에 기초하여, 상기 응답이 상기 공유 버스를 통해 전송되어야만 하는 것을 확인하는 단계를 더 포함하는, 슬레이브 디바이스에서 동작하는 방법. - 디바이스로서,
공유 버스;
상기 공유 버스에 커플링되고, 상기 공유 버스를 통한 통신들을 제어하도록 구성된 마스터 디바이스;
상기 공유 버스에 커플링된 복수의 동일한 슬레이브 디바이스들로서, 각각의 슬레이브 디바이스는 상기 공유 버스와 별개인 제 1 인터페이스 및 제 2 인터페이스를 포함하고, 각각의 슬레이브 디바이스는 상기 제 1 인터페이스 및/또는 상기 제 2 인터페이스를 통해 적어도 하나의 다른 슬레이브 디바이스에 커플링되는, 상기 복수의 동일한 슬레이브 디바이스들을 포함하며,
상기 마스터 디바이스는,
상기 공유 버스를 통해 제 1 브로드캐스트를 전송하는 것,
슬레이브 디바이스가 자체 식별한 것을 나타내는 응답을, 응답하는 슬레이브 디바이스로부터 수신하는 것,
고유한 식별자로 대응하는 슬레이브 디바이스를 식별하는 것, 및
복수의 슬레이브 디바이스들에서의 모든 슬레이브 디바이스들이 자체 식별할 때까지 상기 공유 버스를 통해 추가의 브로드캐스트들을 전송하는 것을 계속하고 상이한 슬레이브 디바이스들로부터 추가의 응답들을 수신하는 것
에 의해, 상기 복수의 슬레이브 디바이스들의 각각을 고유하게 식별하도록
구성되는, 디바이스. - 제 41 항에 있어서,
상기 제 1 브로드캐스트의 수신 시에, 각각의 슬레이브 디바이스는 추가로,
다른 슬레이브 디바이스의 제 2 인터페이스가 디폴트 상태와 상이한 상태로 구동되게 하도록, 상기 제 1 인터페이스를 구동하고; 그리고
디폴트 상태가 인접 슬레이브 디바이스에 의해 변경되었는지 여부를 확인하기 위해 상기 제 2 인터페이스를 센싱하도록
구성되는, 디바이스. - 제 42 항에 있어서,
제 2 인터페이스가 구동되지 않는 제 1 슬레이브 디바이스만이 상기 공유 버스를 통해 응답을 전송하는, 디바이스. - 제 43 항에 있어서,
각각의 추가 슬레이브 디바이스는 제 2 인터페이스가 구동되는지의 여부에 의존하여 상기 공유 버스 상의 추가의 브로드캐스트들에 응답하여 응답을 전송하며, 이미 식별된 슬레이브 디바이스들은 제 1 인터페이스를 구동하거나 플로팅하는, 디바이스.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/860,609 US20170083468A1 (en) | 2015-09-21 | 2015-09-21 | Identifying multiple identical devices on a shared bus |
US14/860,609 | 2015-09-21 | ||
PCT/US2016/049121 WO2017053012A1 (en) | 2015-09-21 | 2016-08-26 | Identifying multiple identical devices on a shared bus |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180056718A true KR20180056718A (ko) | 2018-05-29 |
Family
ID=56894295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187011094A KR20180056718A (ko) | 2015-09-21 | 2016-08-26 | 공유 버스 상의 다수의 동일한 디바이스들의 식별 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20170083468A1 (ko) |
EP (1) | EP3353999A1 (ko) |
JP (1) | JP2018529170A (ko) |
KR (1) | KR20180056718A (ko) |
CN (1) | CN108028862A (ko) |
WO (1) | WO2017053012A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220002117A (ko) * | 2020-06-30 | 2022-01-06 | 요코가와 덴키 가부시키가이샤 | 확장 모듈, cpu 모듈, 시스템, 및 통신 방법 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015126983A1 (en) * | 2014-02-18 | 2015-08-27 | Qualcomm Incorporated | Technique to avoid metastability condition and avoid unintentional state changes of legacy i2c devices on a multi-mode bus |
WO2017169756A1 (ja) * | 2016-03-29 | 2017-10-05 | ソニー株式会社 | 電子機器および駆動方法、並びにスレーブ素子 |
US10127908B1 (en) | 2016-11-11 | 2018-11-13 | Amazon Technologies, Inc. | Connected accessory for a voice-controlled device |
US10789948B1 (en) * | 2017-03-29 | 2020-09-29 | Amazon Technologies, Inc. | Accessory for a voice controlled device for output of supplementary content |
PL3635565T3 (pl) * | 2017-05-15 | 2024-04-15 | Apex Industrial Technologies Llc | Identyfikacja kolejnych węzłów w obudowach wydających z wieloma komorami |
US10366692B1 (en) | 2017-05-15 | 2019-07-30 | Amazon Technologies, Inc. | Accessory for a voice-controlled device |
WO2020029020A1 (en) * | 2018-08-06 | 2020-02-13 | Dialog Semiconductor (Uk) Limited | Serial communication protocol |
DE102019103222B3 (de) | 2019-02-08 | 2020-06-25 | Elmos Semiconductor Aktiengesellschaft | Vorrichtung zur Autokonfiguration von automobilen Ultraschallsensoren an verschiedenen Datenbussen in verschiedenen Anwendungen und entsprechendes Verfahren |
DE102020100425B3 (de) | 2019-02-08 | 2020-06-04 | Elmos Semiconductor Aktiengesellschaft | Vorrichtung zur Autokonfiguration von automobilen Ultraschallsensoren an verschiedenen Datenbussen und entsprechendes Verfahren |
DE102019103223B4 (de) | 2019-02-08 | 2022-03-24 | Elmos Semiconductor Se | Vorrichtung und Verfahren zur Signalisierung eines Datenbusausfalls durch eine Ultraschallmessvorrichtung |
WO2020161282A1 (de) | 2019-02-08 | 2020-08-13 | Elmos Semiconductor Aktiengesellschaft | Schaltung für den anschluss eines messwandlers |
KR102210050B1 (ko) * | 2019-03-25 | 2021-01-29 | 엘에스일렉트릭(주) | RAPIEnet 프로토콜에서 국번 자동 할당 방법 |
CN110071914B (zh) * | 2019-04-03 | 2022-07-01 | 广州视源电子科技股份有限公司 | 通讯方法、帧结构的构建方法、装置、mcu、系统及介质 |
CN112330845B (zh) * | 2019-07-19 | 2023-01-24 | 珠海汇金科技股份有限公司 | 接入相同设备的处理方法、装置及设备 |
KR20210030154A (ko) * | 2019-09-09 | 2021-03-17 | 엘지이노텍 주식회사 | 차량 내부 통신 시스템 및 이를 포함하는 차량 |
US11316711B2 (en) * | 2020-07-29 | 2022-04-26 | Astec International Limited | Systems, devices and methods for automatically addressing serially connected slave devices |
CN111858437B (zh) * | 2020-07-31 | 2022-06-28 | 上海海得控制系统股份有限公司 | 基于双总线的热插拔处理方法、装置、存储介质及电子设备 |
EP3958136A1 (en) | 2020-08-17 | 2022-02-23 | Nokia Technologies Oy | Dynamically reprogrammable topologically unique integrated circuit identification |
US11699683B2 (en) * | 2020-08-20 | 2023-07-11 | Global Unichip Corporation | Semiconductor device in 3D stack with communication interface and managing method thereof |
CN112134772B (zh) * | 2020-09-09 | 2021-07-09 | 中国科学院地质与地球物理研究所 | 一种基于单线的传输数据方法及设备 |
US11495172B2 (en) * | 2020-10-19 | 2022-11-08 | X Display Company Technology Limited | Pixel group and column token display architectures |
US11488518B2 (en) | 2020-10-19 | 2022-11-01 | X Display Company Technology Limited | Pixel group and column token display architectures |
US11430375B1 (en) | 2021-03-19 | 2022-08-30 | X Display Company Technology Limited | Pulse-density-modulation pixel control circuits and devices including them |
GB2621616A (en) * | 2022-08-17 | 2024-02-21 | Eaton Intelligent Power Ltd | Bus arrangement and method for operating a bus arrangement |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7565470B2 (en) * | 2007-12-04 | 2009-07-21 | Holylite Microelectronics Corp. | Serial bus device with address assignment by master device |
CN101477506A (zh) * | 2008-01-04 | 2009-07-08 | 鸿富锦精密工业(深圳)有限公司 | 主设备对从设备的定址系统及其方法 |
DE102008000570A1 (de) * | 2008-03-07 | 2009-09-10 | Robert Bosch Gmbh | Ultraschallbasiertes Fahrerassistenzsystem |
EP2287689B1 (de) * | 2009-07-27 | 2012-11-14 | Ziehl-Abegg AG | Vorrichtung und Verfahren zur Adressierung einer Slave-Einheit |
US8700747B2 (en) * | 2011-04-19 | 2014-04-15 | Schneider Electric It Corporation | System and method for automatically addressing devices in a multi-drop network |
CN104486180B (zh) * | 2014-11-11 | 2019-03-12 | 惠州市亿能电子有限公司 | 一种bms自动分配从控单元id的方法 |
-
2015
- 2015-09-21 US US14/860,609 patent/US20170083468A1/en not_active Abandoned
-
2016
- 2016-08-26 CN CN201680054380.4A patent/CN108028862A/zh active Pending
- 2016-08-26 KR KR1020187011094A patent/KR20180056718A/ko unknown
- 2016-08-26 WO PCT/US2016/049121 patent/WO2017053012A1/en active Application Filing
- 2016-08-26 JP JP2018514347A patent/JP2018529170A/ja active Pending
- 2016-08-26 EP EP16763412.0A patent/EP3353999A1/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220002117A (ko) * | 2020-06-30 | 2022-01-06 | 요코가와 덴키 가부시키가이샤 | 확장 모듈, cpu 모듈, 시스템, 및 통신 방법 |
Also Published As
Publication number | Publication date |
---|---|
CN108028862A (zh) | 2018-05-11 |
US20170083468A1 (en) | 2017-03-23 |
JP2018529170A (ja) | 2018-10-04 |
WO2017053012A1 (en) | 2017-03-30 |
EP3353999A1 (en) | 2018-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20180056718A (ko) | 공유 버스 상의 다수의 동일한 디바이스들의 식별 | |
US10831692B2 (en) | Bus address assignment | |
US9990316B2 (en) | Enhanced serial peripheral interface | |
US8478917B2 (en) | Automatic addressing protocol for a shared bus | |
US11262433B2 (en) | Method for operating a sensor arrangement in a motor vehicle on the basis of a DSI protocol | |
EP3941163A1 (en) | Commissioning load control systems | |
EP3531083B1 (en) | Sensor system interconnect for automatic configuration | |
JP2017500631A5 (ko) | ||
CN105577845B (zh) | 操作具有多个传感器装置的传感器排列的方法 | |
CN108873798B (zh) | 可编程逻辑控制器 | |
US10899362B2 (en) | Communication apparatus and communication system | |
CN113915742A (zh) | 多联机空调系统的通信控制方法和装置 | |
KR102377849B1 (ko) | 정보 처리 장치 | |
TWI710282B (zh) | 終端器、照明器具、資訊終端機、配對方法及記錄媒體 | |
TW202002540A (zh) | 照明器具、終端器、照明系統、資訊終端機、照明器具之配對方法及程式 | |
JP2008286461A (ja) | 空気調和機 | |
JP6747004B2 (ja) | 通信システム | |
JP2005188883A (ja) | 空気調和機及び空気調和機におけるアドレス設定方法 | |
JP2007218449A (ja) | 空気調和機および空気調和機におけるアドレス設定方法 | |
US10750549B2 (en) | Communication system and method of controlling communication system | |
CN118012817A (zh) | 设备通信方法、装置、芯片、设备及存储介质 | |
JP2008121947A (ja) | 空気調和機および空気調和機におけるアドレス設定方法 | |
JP2000330962A (ja) | 情報処理システムおよび情報処理方法、並びに記録媒体 |