KR20160148644A - 전자 디바이스용 센서 버스 인터페이스 - Google Patents

전자 디바이스용 센서 버스 인터페이스 Download PDF

Info

Publication number
KR20160148644A
KR20160148644A KR1020167033051A KR20167033051A KR20160148644A KR 20160148644 A KR20160148644 A KR 20160148644A KR 1020167033051 A KR1020167033051 A KR 1020167033051A KR 20167033051 A KR20167033051 A KR 20167033051A KR 20160148644 A KR20160148644 A KR 20160148644A
Authority
KR
South Korea
Prior art keywords
sensor
signal
controller
logic
power state
Prior art date
Application number
KR1020167033051A
Other languages
English (en)
Other versions
KR102225249B1 (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 KR20160148644A publication Critical patent/KR20160148644A/ko
Application granted granted Critical
Publication of KR102225249B1 publication Critical patent/KR102225249B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling 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
    • 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/404Coupling between buses using bus bridges with address mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)

Abstract

일 예에서, 센서 모듈은, 적어도 하나의 센서 및 통신 버스에 의해 적어도 하나의 센서에 통신가능하게 커플링되는 컨트롤러를 포함하는데, 컨트롤러는, 전력 상태 통지 모드에서 적어도 하나의 센서를 구성하기 위한 신호를 생성하도록, 그리고 적어도 하나의 센서에 커플링되는 통신 버스 상에 그 신호를 배치하도록 구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함한다. 다른 예가 설명될 수도 있다.

Description

전자 디바이스용 센서 버스 인터페이스{SENSOR BUS INTERFACE FOR ELECTRONIC DEVICES}
본원에서 설명되는 주제는, 일반적으로, 전자 디바이스의 분야에 관한 것으로, 특히, 전자 디바이스용 센서 버스 인터페이스에 관한 것이다.
랩탑 컴퓨터, 태블릿 컴퓨팅 디바이스, 전자 리더, 이동 전화, 및 등등과 같은 전자 디바이스는, 전자 디바이스의 위치를 결정할 수 있는 전지구 위치결정 센서(global positioning sensors)와 같은 위치 센서를 포함할 수도 있다. 또한, 이러한 전자 디바이스는, 위치 결정, 방위, 모션 검출, 및 등등을 위한 센서, 예를 들면, 가속도계, 자이로스코프, 등등을 포함할 수도 있다. 모바일 디바이스에서의 센서의 확산은, 애플리케이션 프로세서의 범용 입/출력(general purpose input/output; GPIO)에 대한 필요성을 증가시켰고, 그 결과, 비용, 기판 풋 프린트(board foot print) 및 복잡성이 증가하게 되었다. 따라서, 전자 디바이스 상의 호스트와 다수의 센서 사이에 확장성이 있고(scalable) 비용 효율적인 인터페이스가 활용도를 발견할 수도 있다.
첨부된 도면을 참조로 상세한 설명이 설명된다.
도 1은, 몇몇 예에 따른, 센서 버스 인터페이스를 구현하도록 적응될 수도 있는 전자 디바이스의 개략적인 예시이다.
도 2는, 몇몇 예에 따른, 센서 버스 인터페이스를 구현하기 위한 예시적인 아키텍쳐의 하이 레벨의 개략적인 예시이다.
도 3 내지 도 5는, 몇몇 예에 따른, 센서 버스 인터페이스를 구현하기 위한 방법에서의 동작을 예시하는 플로우차트이다.
도 6 내지 도 10은, 몇몇 예에 따른, 스마트 프레임 토글링을 구현하도록 적응될 수도 있는 전자 디바이스의 개략적인 예시이다.
전자 디바이스에 센서 버스 인터페이스를 구현하기 위한 예시적인 시스템 및 방법이 본원에서 설명된다. 하기의 설명에서, 다양한 예의 완전한 이해를 제공하기 위해, 다수의 특정 상세가 개시된다. 그러나, 다양한 예는 특정 상세 없이도 실시될 수도 있다는 것이 기술분야의 숙련된 자에 의해 이해될 것이다. 다른 경우에서는, 특정 예를 모호하게 하지 않기 위해, 널리 공지된 방법, 프로시져, 컴포넌트, 및 회로는 상세히 예시되지 않거나 또는 설명되지 않는다.
상기에서 설명되는 바와 같이, 전자 디바이스의 하나 이상의 호스트 디바이스와 센서 사이의 통신을 관리하기 위한 기술을 구현하는 센서 버스 인터페이스를 갖는 전자 디바이스를 제공하는 것이 유용할 수도 있다. 본원에서 설명되는 주제는, 전자 디바이스의 하나 이상의 컨트롤러 상의 로직에서 구현될 수도 있는 센서 버스 인터페이스를 제공하는 것에 의해 이들 및 다른 이슈를 다룬다. 몇몇 예에서, 센서 버스 인터페이스는, 가속도계 센서, 자력계 센서, 및 자이로스코프 센서로부터의 입력에 응답하여 적응적으로 조정되는 피드백 파라미터를 활용한다. 피드백 파라미터는, 가속도의 출력이 증가함에 따라 센서 버스 인터페이스에 대한 가속도계 입력의 가중치가 감소하도록 센서 특성을 조정하기 위해 사용될 수도 있다. 마찬가지로, 자력계의 출력이 증가함에 따라, 센서 버스 인터페이스에 대한 자력계의 가중치는 감소한다. 몇몇 예에서, 센서 버스 인터페이스에 의해 구현되는 위치 알고리즘이 수렴함에 따라, 센서 버스 인터페이스에 대한 자이로스코프의 가중치는 감소한다.
센서 버스 인터페이스의 그리고 전자 디바이스의 추가적인 피쳐 및 동작 특성은 도 1 내지 도 10을 참조하여 하기에서 설명된다.
도 1은, 몇몇 예에 따른, 센서 버스 인터페이스를 구현하도록 적응될 수도 있는 전자 디바이스(100)의 개략적인 예시이다. 다양한 예에서, 전자 디바이스(100)는, 디스플레이, 하나 이상의 스피커, 키보드, 하나 이상의 다른 I/O 디바이스(들), 마우스, 카메라, 또는 등등을 포함하는 하나 이상의 수반하는 입/출력 디바이스를 포함할 수도 있거나 또는 이들에 커플링될 수도 있다. 다른 예시적인 I/O 디바이스(들)는, 터치 스크린, 음성에 의해 활성화되는(voice-activated) 입력 디바이스, 트랙 볼, 지오로케이션 디바이스, 가속도계/자이로스코프, 생체 인증 피쳐 입력 디바이스(biometric feature input device), 및 전자 디바이스(100)가 유저로부터 입력을 수신하는 것을 허용하는 임의의 다른 디바이스를 포함할 수도 있다.
전자 디바이스(100)는 하드웨어(120) 및 메모리(140)를 포함하는데, 메모리(140)는 랜덤 액세스 메모리 및/또는 리드 온리 메모리로서 구현될 수도 있다. 파일 저장소가 전자 디바이스(100)에 통신가능하게 커플링될 수도 있다. 예를 들면, eMMC, SSD, 하나 이상의 하드 드라이브, 또는 다른 타입의 스토리지 디바이스와 같은 파일 저장소는, 전자 디바이스(100) 내부에 있을 수도 있다. 대안적으로, 예를 들면, 하나 이상의 외장 하드 드라이브, 네트워크 부착 스토리지, 또는 별개의 스토리지 네트워크와 같은 파일 저장소는 또한, 전자 디바이스(100) 외부에 있을 수도 있다.
시스템 하드웨어(120)는 하나 이상의 프로세서(122), 그래픽 프로세서(124), 네트워크 인터페이스(126), 및 버스 구조체(bus structure; 128)를 포함할 수도 있다. 하나의 실시형태에서, 프로세서(122)는, 미국 캘리포니아 산타 클라라(Santa Clara)의 Intel Corporation(인텔 코포레이션)으로부터 입수가능한, Intel® Atom™ 프로세서, Intel® Atom™ 기반의 시스템 온 칩(System-on-a-Chip; SOC) 또는 Intel® Core2 Duo® 또는 i3/i5/i7 시리즈 프로세서로서 구체화될 수도 있다. 본원에서 사용되는 바와 같이, 용어 "프로세서"는, 마이크로프로세서, 마이크로컨트롤러, 복합 명령어 세트 컴퓨팅(complex instruction set computing; CISC) 마이크로프로세서, 축약형 명령어 세트(reduced instruction set; RISC) 마이크로프로세서, 아주 긴 명령어 워드(very long instruction word; VLIW) 마이크로프로세서, 또는 임의의 다른 타입의 프로세서 또는 프로세싱 회로와 같은 그러나 이들로 제한되지는 않는 임의의 타입의 계산 엘리먼트를 의미한다.
그래픽 프로세서(들)(124)는 그래픽 및/또는 비디오 동작을 관리하는 보조 프로세서로서 기능할 수도 있다. 그래픽 프로세서(들)(124)는 전자 디바이스(100)의 마더보드 상으로 통합될 수도 있거나 또는 마더보드 상의 확장 슬롯을 통해 커플링될 수도 있거나 또는 프로세싱 유닛과 동일한 다이 또는 동일한 패키지 상에 위치될 수도 있다.
일 실시형태에서, 네트워크 인터페이스(126)는, 이더넷 인터페이스(예를 들면, Institute of Electrical and Electronics Engineers/IEEE 802.3-2002 참조)와 같은 유선 인터페이스 또는 IEEE 802.11a, b 또는 g 호환 인터페이스(예를 들면, 『IEEE Standard for IT-Telecommunications and information exchange between systems LAN/MAN -- Part II: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications Amendment 4: Further Higher Data Rate Extension in the 2.4 GHz Band, 802.11G-2003』 참조)와 같은 무선 인터페이스일 수 있을 것이다. 무선 인터페이스의 다른 예는, 일반 패킷 무선 서비스(general packet radio service; GPRS) 인터페이스(예를 들면, 『Guidelines on GPRS Handset Requirements, Global System for Mobile Communications/GSM Association, Ver. 3.0.1, December 2002』 참조)일 것이다.
버스 구조체(128)는 시스템 하드웨어(128)의 다양한 컴포넌트를 연결한다. 일 실시형태에서, 버스 구조체(128)는, 11 비트 버스, 업계 표준 아키텍쳐(Industrial Standard Architecture; ISA), 마이크로 채널 아키텍쳐(Micro-Channel Architecture; MSA), 확장 ISA(Extended ISA; EISA), 인텔리전트 드라이브 일렉트로닉스(Intelligent Drive Electronics; IDE), 베사 로컬 버스(VESA Local Bus; VLB), 주변장치 컴포넌트 인터커넥트(Peripheral Component Interconnect; PCI), 범용 직렬 버스(Universal Serial Bus; USB), 어드밴스드 그래픽 포트(Advanced Graphics Port; AGP), 퍼스널 컴퓨터 메모리 카드 국제 협회 버스(Personal Computer Memory Card International Association bus; PCMCIA), 및 소형 컴퓨터 시스템 인터페이스(Small Computer Systems Interface; SCSI), 고속 동기 직렬 인터페이스(High Speed Synchronous Serial Interface; HSI), 직렬 저전력 칩간 매체 버스(Serial Low-power Inter-chip Media Bus; SLIMbus®) 등등을 포함하지만, 그러나 이들로 제한되지는 않는 임의의 여러 이용가능한 버스 아키텍쳐를 사용하는 메모리 버스, 주변장치 버스 또는 외부 버스, 및/또는 로컬 버스를 포함하는 여러 타입의 버스 구조체(들) 중 하나 이상일 수도 있다.
전자 디바이스(100)는, RF 신호를 전송하기 위한 RF 트랜스시버(130), 근접장 통신(Near Field Communication; NFC) 무선부(134), 및 RF 트랜스시버(130)에 의해 수신되는 신호를 프로세싱하기 위한 신호 프로세싱 모듈(132)을 포함할 수도 있다. RF 트랜스시버는, 예를 들면, 블루투스, 802.11X. IEEE 802.11a, b 또는 g 호환 인터페이스(예를 들면, 『IEEE Standard for IT-Telecommunications and information exchange between systems LAN/MAN-Part II: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications Amendment 4: Further Higher Data Rate Extension in the 2.4 GHz Band, 802.11G-2003』 참조)와 같은 프로토콜을 사용하여 로컬 무선 연결을 구현할 수도 있다. 무선 인터페이스의 다른 예는, WCDMA, LTE, 일반 패킷 무선 서비스(GPRS) 인터페이스(예를 들면, 『Guidelines on GPRS Handset Requirements, Global System for Mobile Communications/GSM Association, Ver. 3.0.1, December 2002』 참조)일 것이다.
전자 디바이스(100)는, 예를 들면, 키패드(136) 및 디스플레이(138)와 같은 하나 이상의 입/출력 인터페이스를 더 포함할 수도 있다. 몇몇 예에서, 전자 디바이스(100)는 키패드를 구비하지 않을 수도 있고 입력을 위해 터치 패드를 사용할 수도 있다.
메모리(140)는 전자 디바이스(100)의 동작을 관리하기 위한 오퍼레이팅 시스템(142)을 포함할 수도 있다. 일 실시형태에서, 오퍼레이팅 시스템(142)은, 시스템 하드웨어(120)에게 인터페이스를 제공하는 하드웨어 인터페이스 모듈(154)을 포함한다. 또한, 오퍼레이팅 시스템(140)은, 전자 디바이스(100)의 동작에서 사용되는 파일을 관리하는 파일 시스템(150) 및 전자 디바이스(100) 상에서 실행하는 프로세스를 관리하는 프로세스 제어 서브시스템(152)을 포함할 수도 있다.
오퍼레이팅 시스템(142)은, 시스템 하드웨어(120)와 연계하여 원격 소스로부터의 데이터 스트림 및/또는 데이터 패킷을 송수신하도록 동작할 수 있는 하나 이상의 통신 인터페이스(146)를 포함(또는 관리)할 수도 있다. 오퍼레이팅 시스템(142)은, 메모리(130)에 상주하는 하나 이상의 애플리케이션 모듈과 오퍼레이팅 시스템(142) 사이에 인터페이스를 제공하는 시스템 호출 인터페이스 모듈(144)을 더 포함할 수도 있다. 오퍼레이팅 시스템(142)은 UNIX(유닉스) 오퍼레이팅 시스템 또는 그 임의의 파생물(derivative)로서 또는 Windows® 브랜드의 오퍼레이팅 시스템, 또는 다른 오퍼레이팅 시스템으로서 구체화될 수도 있다.
몇몇 예에서, 전자 디바이스는, 기본(primary) 실행 환경과는 분리되는 하나 이상의 컨트롤러를 포함하는 컨트롤러(170)를 포함할 수도 있다. 분리는, 컨트롤러가 메인 프로세서와는 물리적으로 분리되는 컨트롤러에서 구현될 수도 있다는 점에서 물리적일 수도 있다. 대안적으로, 신뢰된 실행 환경은, 메인 프로세서를 호스팅하는 동일한 칩 또는 칩셋 상에서 컨트롤러가 호스팅될 수도 있다는 점에서 논리적일 수도 있다.
예로서, 몇몇 예에서, 컨트롤러(170)는, 전자 디바이스(100)의 마더보드 상에 위치되는 독립적인 집적 회로로서, 예를 들면, 동일한 SOC 다이 상의 전용 프로세서 블록으로서 구현될 수도 있다. 다른 예에서, 신뢰된 실행 엔진은, 하드웨어 강제 메커니즘(hardware enforced mechanism)을 사용하여 프로세서(들)의 나머지로부터 분리되는 프로세서(들)(122)의 일부 상에서 구현될 수도 있다.
도 1에서 묘사되는 실시형태에서, 컨트롤러(170)는, 프로세서(172), 메모리 모듈(174), 센서 버스 인터페이스(sensor bus interface; SBI)(176), 및 I/O 인터페이스(178)를 포함한다. 몇몇 예에서, 메모리 모듈(174)은 영구적인 플래시 메모리 모듈을 포함할 수도 있고 다양한 기능적 모듈은 영구적인 메모리 모듈에서 인코딩되는 로직 명령어, 예를 들면, 펌웨어 또는 소프트웨어로서 구현될 수도 있다. I/O 모듈(178)은 직렬 I/O 모듈 또는 병렬 I/O 모듈을 포함할 수도 있다. 컨트롤러(170)가 메인 프로세서(들)(122) 및 오퍼레이팅 시스템(142)으로부터 분리되기 때문에, 컨트롤러(170)는 안전하게, 즉, 호스트 프로세서(122)로부터의 소프트웨어 공격을 통상적으로 설치하는 해커가 액세스 불가능하게 만들어질 수도 있다. 몇몇 예에서, 센서 버스 인터페이스(176)는 전자 디바이스(100)의 메모리(140)에 존재할 수도 있고 프로세서(122) 중 하나 이상의 프로세서 상에서 실행가능할 수도 있다.
몇몇 예에서, 센서 버스 인터페이스(176)는, 전자 디바이스 상의 컨트롤러와 하나 이상의 센서 사이의 통신을 관리하기 위해 전자 디바이스(100)의 하나 이상의 다른 컴포넌트와 상호작용한다. 도 2는, 전자 디바이스에서 센서 버스 인터페이스를 구현하기 위한 예시적인 센서 모듈(200)의 하이 레벨의 개략적인 예시이다. 도 2를 참조하면, 컨트롤러(220)는 범용 프로세서(122)로서 또는 컨트롤러(170)와 같은 저전력 컨트롤러로서 구체화될 수도 있다. 컨트롤러(220)는 입/출력 모듈(230), 센서 버스 인터페이스 유닛(232), 및 로컬 메모리(240)를 포함할 수도 있다. 센서 버스 인터페이스 유닛(232)은 전력 상태 유닛(234) 및 인터럽트 유닛(236)을 포함한다. 상기에서 설명되는 바와 같이, 몇몇 예에서, 센서 버스 인터페이스(232)는, 컨트롤러(220) 상에서 실행가능한 로직 명령어로서, 예를 들면, 소프트웨어 또는 펌웨어로서 구현될 수도 있거나, 또는 하드웨어에 내장된 로직 회로(hardwired logic circuit)로 축소될 수도 있다. 로컬 메모리(240)는 휘발성 및/또는 불휘발성 메모리를 사용하여 구현될 수도 있다.
컨트롤러(220)는 통신 버스(260)에 의해 하나 이상의 로컬 센서(250)에 통신가능하게 커플링될 수도 있다. 몇몇 예에서, 통신 버스(260)는 집적 회로간(inter-integrated circuit; I2C) 버스로서 구현될 수도 있다. 센서(250)는, 전자 디바이스가 움직이고 있는지 또는 다른 환경 조건(environmental condition)에 있는지의 여부를 나타내는 신호를 제공한다. 예를 들면, 로컬 I/O 디바이스(250)는, 가속도계(252), 자력계(254), 자이로스코프 센서(256) 및 광학 센서(248)을 포함할 수도 있다.
전자 디바이스에서 센서 버스 인터페이스를 구현하기 위한 시스템의 다양한 구조를 설명하였으므로, 시스템의 동작 양태가 도 3 내지 도 5를 참조로 설명될 것인데, 도 3 내지 도 5는, 몇몇 예에 따른, 센서 버스 인터페이스를 구현하기 위한 방법에서의 동작을 예시하는 플로우차트이다. 도 3 내지 도 5의 플로우차트에서 묘사되는 동작은 컨트롤러(220)에 의해, 단독으로 또는 전자 디바이스(100)의 센서(250) 중 하나와 결합하여 구현될 수도 있다.
몇몇 예에서, 컨트롤러(220)는 센서(250) 중 적어도 하나를 구성하기 위한 동작을 수행한다. 도 3을 참조하면, 동작 310에서, 컨트롤러(220)의 전력 상태 유닛(234)은 센서(250) 중 적어도 하나를 전력 상태 통지 모드(notify power state mode)로 구성하기 위한 신호를 생성한다. 예를 들면, 센서(들)는, 통신 버스(260) 상에서 인터럽트를 송신하는 것에 의해, 컨트롤러(220)에게 자신의 전력 상태에서의 변화를 통지하도록 구성될 수도 있다.
마찬가지로, 동작 315에서, 컨트롤러(220)의 인터럽트 유닛(236)은 인터럽트 우선순위 레벨을 갖는 센서 중 적어도 하나를 구성하기 위한 신호를 생성한다. 인터럽트 우선순위 레벨은 구성 프로세스 동안 초기 값으로 설정될 수도 있고 조건을 변경하는 것에 응답하여 조정될 수도 있다. 예를 들면, 가속도계(252)의 인터럽트 우선순위는 구성 프로세스 동안 초기 값으로 설정될 수도 있고, 전자 디바이스(100)가 움직이고 있다는 결정에 응답하여 증가될 수도 있다. 역으로, 가속도계(252)의 인터럽트 우선순위는, 전자 디바이스(100)가 더 이상 움직이지 않는다는 결정에 응답하여 감소될 수도 있다.
동작 320에서, 컨트롤러(220)는 동작 310 및 315에서 생성된 신호를 통신 버스(260) 상에 배치한다. 기술 분야에서 숙련된 자는, 도 3에서 묘사되는 동작은 구성 프로세스 동안 다수의 센서(250)에 대해 반복될 수도 있고, 그 다음, 주기적 기반으로 또는 조건을 변경하는 것에 응답하여 반복될 수도 있다는 것을 알 수 있을 것이다.
도 4는 각각의 센서(250)에서 구현되는 동작을 묘사한다. 도 4를 참조하면, 동작 410에서, 센서(들)(250)는 컨트롤러(220)로부터 구성 신호(들)를 수신하고, 동작 415에서, 센서(들)는 그들 각각의 전력 상태 보고 모드(들) 및 인터럽트 우선순위를, 컨트롤러(220)로부터 수신되는 신호(들)에 따라 구성한다.
동작 420에서, 각각의 센서(250)는 그들 각각의 전력 상태를 모니터링한다. 동작 425에서, 센서의 전력 상태에서 아무런 변화가 없으면, 제어는 다시 동작 420으로 넘어가고 모니터링 프로세스가 계속된다. 대조적으로, 동작 425에서, 전력 상태에서 변화가 존재하면, 제어는 동작 430으로 넘어가고 센서는 전력 상태 통지기 인터럽트(power state notifier interrupt)를 통신 버스(260) 상에 배치한다.
도 5는 컨트롤러(220)에 의해 구현되는 동작을 묘사한다. 동작 510에서, 컨트롤러(220)는 센서(들)(250)로부터 전력 상태 통지기 신호(power state notifier signal)를 수신하고, 동작 515에서, 컨트롤러는 센서(들)로부터 수신되는 전력 상태를 기록한다. 도 2를 간단히 참조하면, 몇몇 예에서, 컨트롤러는, 로컬 메모리(240)에 존재하는 전력 상태 테이블(242)에서의 엔트리를, 신호에서 수신되는 전력 상태를 가지고 업데이트한다.
따라서, 도 3 내지 도 5에서 묘사되는 동작은, 전자 디바이스(100)의 센서 모듈(200)이, 전자 디바이스(100)의 각각의 센서(250)의 현재 전력 상태의 기록을 유지하는 것을 가능하게 한다. 또한, 센서(250)의 인터럽트 우선순위는 전자 디바이스의 동작 조건에 응답하여 동적으로 조정될 수도 있다.
상기에서 설명되는 바와 같이, 몇몇 예에서, 전자 디바이스는 컴퓨터 시스템으로서 구체화될 수도 있다. 도 6은 한 예에 따른 컴퓨팅 시스템(600)의 블록도를 예시한다. 컴퓨팅 시스템(600)은, 인터커넥션(interconnection) 네트워크(또는 버스)(604)를 통해 통신하는 하나 이상의 중앙 프로세싱 유닛(CPU)(602) 또는 프로세서를 포함할 수도 있다. 프로세서(602)는, 범용 프로세서, 네트워크 프로세서(컴퓨터 네트워크(603)를 통해 전달되는 데이터를 프로세싱함), 또는 다른 타입의 프로세서(축소 명령어 세트 컴퓨터(Reduced Instruction Set Computer; RISC) 프로세서 또는 복합 명령어 세트 컴퓨터(Complex Instruction Set Computer; CISC)를 포함함)를 포함할 수도 있다. 또한, 프로세서(602)는 단일의 또는 다수의 코어 설계를 구비할 수도 있다. 다수의 코어 설계를 갖는 프로세서(602)는 동일한 집적 회로(IC) 다이 상에 상이한 타입의 프로세서 코어를 통합할 수도 있다. 또한, 다수의 코어 설계를 갖는 프로세서(602)는 대칭형 또는 비대칭형 다중프로세서(multiprocessor)로서 구현될 수도 있다. 한 예에서, 프로세서(602) 중 하나 이상은 도 1의 프로세서(102)와 동일하거나 유사할 수도 있다. 예를 들면, 프로세서(602) 중 하나 이상은, 도 1 내지 도 3을 참조로 논의된 제어 유닛(120)을 포함할 수도 있다. 또한, 도 3 내지 도 5를 참조로 논의되는 동작은 시스템(600)의 하나 이상의 컴포넌트에 의해 수행될 수도 있다.
칩셋(606)은 또한, 인터커넥션 네트워크(604)와 통신할 수도 있다. 칩셋(606)은 메모리 제어 허브(memory control hub; MCH)(608)를 포함할 수도 있다. MCH(608)는, 메모리(612)(이것은 도 1의 메모리(130)와 동일하거나 유사할 수도 있다)와 통신하는 메모리 컨트롤러(610)를 포함할 수도 있다. 메모리(412)는, 프로세서(602), 또는 컴퓨팅 시스템(600)에 포함되는 임의의 다른 디바이스에 의해 실행될 수도 있는 명령어의 시퀀스를 비롯하여, 데이터를 저장할 수도 있다. 일 예에서, 메모리(612)는 하나 이상의 휘발성 스토리지(또는 메모리) 디바이스 예컨대 랜덤 액세스 메모리(RAM; random access memory), 동적 RAM(dynamic RAM; DRAM), 동기 DRAM(synchronous DRAM; SDRAM), 정적 RAM(static RAM; SRAM), 또는 다른 타입의 스토리지 디바이스를 포함할 수도 있다. 하드 디스크와 같은 불휘발성 메모리가 또한 활용될 수도 있다. 다수의 프로세서(들) 및/또는 다수의 시스템 메모리와 같은 추가적인 디바이스가 인터커넥션 네트워크(604)를 통해 통신할 수도 있다.
MCH(608)는 또한, 디스플레이 디바이스(616)와 통신하는 그래픽 인터페이스(614)를 포함할 수도 있다. 하나의 예에서, 그래픽 인터페이스(614)는 가속 그래픽 포트(accelerated graphics port; AGP)를 통해 디스플레이 디바이스(616)와 통신할 수도 있다. 한 예에서, 디스플레이(616)(예컨대 플랫 패널 디스플레이)는, 예를 들면, 비디오 메모리 또는 시스템 메모리와 같은 스토리지 디바이스에 저장되는 이미지의 디지털 표현을, 디스플레이(616)에 의해 해석되어 디스플레이되는 디스플레이 신호로 변환하는 신호 변환기를 통해, 그래픽 인터페이스(614)와 통신할 수도 있다. 디스플레이 디바이스에 의해 생성되는 디스플레이 신호는, 디스플레이(616)에 의해 해석되고 후속하여 디스플레이(616) 상에 디스플레이되기 이전에, 다양한 제어 디바이스를 통과할 수도 있다.
MCH(608)와 입/출력 제어 허브(input/output control hub; ICH)(620)가 통신하는 것을 허브 인터페이스(618)가 허용할 수도 있다. ICH(620)는 컴퓨팅 시스템(600)과 통신하는 I/O 디바이스에 대한 인터페이스를 제공할 수도 있다. ICH(620)는 주변장치 브리지(또는 컨트롤러)(624), 예컨대 주변장치 컴포넌트 인터커넥트(PCI) 브리지, 범용 직렬 버스(USB) 컨트롤러, 또는 다른 타입의 주변장치 브리지 또는 컨트롤러를 통해 버스(622)와 통신할 수도 있다. 브리지(624)는 프로세서(602)와 주변장치 디바이스 사이에 데이터 경로를 제공할 수도 있다. 다른 타입의 토폴로지가 활용될 수도 있다. 또한, 다수의 버스가, 예를 들면, 다수의 브리지 또는 컨트롤러를 통해 ICH(620)와 통신할 수도 있다. 또한, ICH(620)와 통신하는 다른 주변장치는, 다양한 예에서, 통합 드라이브 전자장치(IDE) 또는 소형 컴퓨터 시스템 인터페이스(SCSI) 하드 드라이브(들), USB 포트(들), 키보드, 마우스, 병렬 포트(들), 직렬 포트(들), 플로피 디스크 드라이브(들), 디지털 출력 지원(예를 들면, 디지털 비디오 인터페이스(digital video interface; DVI)), 또는 다른 디바이스를 포함할 수도 있다.
버스(622)는 오디오 디바이스(626), 하나 이상의 디스크 드라이브(들)(628), 및 네트워크 인터페이스 디바이스(630)(이것은 컴퓨터 네트워크(603)와 통신함)와 통신할 수도 있다. 다른 디바이스가 버스(622)를 통해 통신할 수도 있다. 또한, 몇몇 예에서, 다양한 컴포넌트(예컨대 네트워크 인터페이스 디바이스(630))가 MCH(608)와 통신할 수도 있다. 또한, 프로세서(602) 및 본원에서 논의되는 하나 이상의 다른 컴포넌트는, 단일의 칩을 형성하도록(예를 들면, 시스템 온 칩(SOC)을 제공하도록) 결합될 수도 있다. 또한, 그래픽 가속기(616)는 다른 예에서 MCH(608) 내에 포함될 수도 있다.
또한, 컴퓨팅 시스템(600)은 휘발성 및/또는 불휘발성 메모리(또는 스토리지)를 포함할 수도 있다. 예를 들면, 불휘발성 메모리는 다음 중 하나 이상을 포함할 수도 있다: 리드 온리 메모리(read-only memory; ROM), 프로그래머블 ROM(programmable ROM; PROM), 소거가능 PROM(erasable PROM; EPROM), 전기적 EPROM(electrically EPROM; EEPROM), 디스크 드라이브(예를 들면, 628), 플로피 디스크, 컴팩트 디스크 ROM(compact disk ROM; CD-ROM), 디지털 다기능 디스크(digital versatile disk; DVD), 플래시 메모리, 광자기 디스크, 또는 전자 데이터(예를 들면, 명령어를 포함함)를 저장할 수 있는 다른 타입의 불휘발성 머신 판독가능 매체.
도 7은, 한 예에 따른, 컴퓨팅 시스템(700)의 블록도를 예시한다. 시스템(700)은 하나 이상의 프로세서(702-1 내지 702-N)(본원에서 일반적으로 "프로세서들(702)" 또는 "프로세서(702)"로 칭해짐)를 포함할 수도 있다. 프로세서(702)는 인터커넥션 네트워크 또는 버스(704)를 통해 통신할 수도 있다. 각각의 프로세서는 다양한 컴포넌트를 포함할 수도 있고, 명확화를 위해 그 중 몇몇만이 프로세서(702-1)를 참조로 논의된다. 따라서, 나머지 프로세서(702-2 내지 702-N)의 각각은 프로세서(702-1)를 참조로 논의되는 동일한 또는 유사한 컴포넌트를 포함할 수도 있다.
한 예에서, 프로세서(702-1)는, 하나 이상의 프로세서 코어(706-1 내지 706-M)(본원에서, "코어들(706)"로 또는 더 일반적으로는 "코어(706)"로 칭해짐), 공유 캐시(708), 라우터(710), 및/또는 프로세서 제어 로직 또는 유닛(720)을 포함할 수도 있다. 프로세서 코어(706)는 단일의 집적 회로(integrated circuit; IC) 칩 상에서 구현될 수도 있다. 또한, 칩은, 하나 이상의 공유 및/또는 전용(private) 캐시(예컨대 캐시(708)), 버스 또는 인터커넥션(예컨대 버스 또는 인터커넥션 네트워크(712)), 메모리 컨트롤러, 또는 다른 컴포넌트를 포함할 수도 있다.
일 예에서, 라우터(710)는 시스템(700) 및/또는 프로세서(702-1)의 다양한 컴포넌트 사이에서 통신하기 위해 사용될 수도 있다. 또한, 프로세서(702-1)는 하나 보다 많은 라우터(710)를 포함할 수도 있다. 또한, 다수의 라우터(710)는 프로세서(702-1) 내부 또는 외부의 다양한 컴포넌트 사이에서 데이터 라우팅을 가능하게 하기 위해 통신할 수도 있다.
공유 캐시(708)는, 프로세서(702-1)의 하나 이상의 컴포넌트, 예컨대 코어(706)에 의해 활용될 수도 있는 데이터(예를 들면, 명령어를 포함함)를 저장할 수도 있다. 예를 들면, 공유 캐시(708)는 프로세서(702)의 컴포넌트에 의한 더 빠른 액세스를 위해 메모리(714)에 저장된 데이터를 로컬하게 캐싱한다. 한 예에서, 캐시(708)는 중간 레벨 캐시(예컨대 레벨 2(level 2; L2), 레벨 3(L3), 레벨 4(L4), 또는 다른 레벨의 캐시), 최종 레벨 캐시(last level cache; LLC), 및/또는 이들의 조합을 포함할 수도 있다. 또한, 프로세서(702-1)의 다양한 컴포넌트는 캐시(708)와 직접적으로, 버스(예를 들면, 버스(712)), 및/또는 메모리 컨트롤러 또는 허브를 통해 통신할 수도 있다. 도 7에서 도시되는 바와 같이, 몇몇 예에서, 코어(706) 중 하나 이상은 레벨 1(L1) 캐시(716-1)(본원에서 일반적으로 "L1 캐시(716)"로 칭해짐)를 포함할 수도 있다. 하나의 예에서, 제어 유닛(720)은, 도 2의 메모리 컨트롤러(122)를 참조로 상기에서 설명된 동작을 구현하기 위한 로직을 포함할 수도 있다.
도 8은, 한 예에 따른, 프로세서 코어(706) 및 컴퓨팅 시스템의 다른 컴포넌트의 일부의 블록도를 예시한다. 하나의 예에서, 도 8에서 도시되는 화살표는 코어(706)를 통한 명령어의 흐름 방향을 예시한다. 하나 이상의 프로세서 코어(예컨대 프로세서 코어(706))는 도 7을 참조로 논의되는 바와 같은 단일의 집적 회로 칩(또는 다이) 상에서 구현될 수도 있다. 또한, 칩은, 하나 이상의 공유 및/또는 전용 캐시(예를 들면, 도 7의 캐시(708)), 인터커넥션(예를 들면, 도 7의 인터커넥션(704 및/또는 112)), 제어 유닛, 메모리 컨트롤러, 또는 다른 컴포넌트를 포함할 수도 있다.
도 8에서 예시되는 바와 같이, 프로세서 코어(706)는, 코어(706)에 의한 실행을 위해 명령어(조건부 분기(conditional branch)를 갖는 명령어를 포함함)를 페치하기(fetch) 위한 페치 유닛(802)을 포함할 수도 있다. 명령어는 메모리(714)와 같은 임의의 스토리지 디바이스로부터 페치될 수도 있다. 코어(706)는 또한, 페치된 명령어를 디코딩하기 위한 디코드 유닛(804)을 포함할 수도 있다. 예를 들면, 디코드 유닛(804)은 페치된 명령어를 복수의 uop(micro-operation; 마이크로 동작)로 디코딩할 수도 있다.
추가적으로, 코어(706)는 스케줄 유닛(806)을 포함할 수도 있다. 스케줄 유닛(806)은, 명령어가 디스패치를 위한 준비가 될 때까지, 예를 들면, 디코딩된 명령어의 모든 소스 값이 이용가능하게 될 때까지, (예를 들면, 디코드 유닛(804)으로부터 수신되는) 디코딩된 명령어를 저장하는 것과 관련되는 다양한 동작을 수행할 수도 있다. 하나의 예에서, 스케줄 유닛(806)은 디코딩된 명령어를 실행을 위해 실행 유닛(808)으로 스케줄링 및/또는 발행(issue)(또는 디스패치)할 수도 있다. 실행 유닛(808)은, 디스패치된 명령어가 (예를 들면, 디코드 유닛(804)에 의해) 디코딩되고 (예를 들면, 스케줄 유닛(806)에 의해) 디스패치된 이후, 디스패치된 명령어를 실행할 수도 있다. 한 예에서, 실행 유닛(808)은 하나보다 많은 실행 유닛을 포함할 수도 있다. 실행 유닛(808)은 또한, 가산, 감산, 승산, 및/또는 제산과 같은 다양한 산술 연산을 수행할 수도 있고, 하나 이상의 산술 로직 유닛(arithmetic logic unit; ALU)을 포함할 수도 있다. 한 예에서, 코프로세서(도시되지 않음)가 실행 유닛(808)과 연계하여 다양한 산술 연산을 수행할 수도 있다.
또한, 실행 유닛(808)은 명령어를 순서를 벗어나서(out-of-order) 실행할 수도 있다. 그러므로, 프로세서 코어(706)는 일 예에서 비순차 프로세서 코어(out-of-order processor core)일 수도 있다. 코어(706)는 또한 회수 유닛(retirement unit; 810)을 포함할 수도 있다. 회수 유닛(810)은 명령어가 완료된(committed) 이후 실행된 명령어를 회수할 수도 있다. 한 예에서, 실행된 명령어의 회수는, 프로세서 상태가 명령어의 실행으로부터 완료되는 것, 명령어에 의해 사용되는 물리적 레지스터가 할당 해제되는(de-allocated) 것, 등등으로 나타날 수도 있다.
코어(706)는 또한, 하나 이상의 버스(예를 들면, 버스(804 및/또는 812))를 통해 프로세서 코어(706)의 컴포넌트와 다른 컴포넌트(예컨대 도 8을 참조로 논의되는 컴포넌트) 사이의 통신을 가능하게 하기 위한 버스 유닛(714)을 포함할 수도 있다. 코어(706)는 또한, 코어(706)의 다양한 컴포넌트에 의해 액세스되는 데이터(예컨대, 전력 소비 상태 설정에 관련되는 값)를 저장하기 위한 하나 이상의 레지스터(816)를 포함할 수도 있다.
또한, 도 7이 인터커넥트(812)를 통해 코어(706)에 커플링되는 제어 유닛(720)을 예시하지만, 다양한 예에서, 제어 유닛(720)은 코어(706) 내부와 같은 그 밖의 곳에 위치될 수도 있고, 버스(704)를 통해 코어에 커플링될 수도 있고, 등등일 수도 있다.
몇몇 예에서, 본원에서 논의되는 컴포넌트 중 하나 이상은 시스템 온 칩(SOC) 디바이스로서 구체화될 수도 있다. 도 9는 한 예에 따른 SOC 패키지의 블록도를 예시한다. 도 9에서 예시되는 바와 같이, SOC(902)는 하나 이상의 프로세서 코어(920), 하나 이상의 그래픽 프로세서 코어(930), 입/출력(I/O) 인터페이스(940), 및 메모리 컨트롤러(942)를 포함한다. SOC 패키지(902)의 다양한 컴포넌트는, 다른 도면을 참조로 본원에서 논의되는 것과 같은 인터커넥트 또는 버스에 커플링될 수도 있다. 또한, SOC 패키지(902)는, 다른 도면을 참조로 본원에서 논의되는 것과 같은 더 많은 또는 더 적은 컴포넌트를 포함할 수도 있다. 또한, SOC 패키지(902)의 각각의 컴포넌트는, 예를 들면, 본원의 다른 도면을 참조로 논의되는 바와 같이, 하나 이상의 다른 컴포넌트를 포함할 수도 있다. 일 예에서, SOC 패키지(902)(및 그 컴포넌트)는 하나 이상의 집적 회로(IC) 다이 상에 제공되는데, 예를 들면, 하나 이상의 집적 회로 다이는 단일의 반도체 디바이스로 패키지화된다.
도 9에서 예시되는 바와 같이, SOC 패키지(902)는 메모리 컨트롤러(942)를 통해 메모리(960)(이것은 다른 도면을 참조로 본원에서 논의되는 메모리와 유사하거나 또는 동일할 수도 있다)에 커플링된다. 한 예에서, 메모리(960)(또는 그것의 일부)는 SOC 패키지(902) 상에 통합될 수도 있다.
I/O 인터페이스(940)는, 예를 들면, 다른 도면을 참조로 본원에서 논의되는 바와 같은 인터커넥트 및/또는 버스를 통해, 하나 이상의 I/O 디바이스(970)에 커플링될 수도 있다. I/O 디바이스(들)(970)는, 키보드, 마우스, 터치패드, 디스플레이, 이미지/비디오 캡쳐 디바이스(예컨대 카메라 또는 캠코더/비디오 레코더), 터치 스크린, 스피커, 또는 등등 중 하나 이상을 포함할 수도 있다.
도 10는, 한 예에 따른, 포인트 투 포인트(point-to-point; PtP) 구성으로 정렬되는 컴퓨팅 시스템(1000)을 예시한다. 특히, 도 10은 프로세서, 메모리, 및 입/출력 디바이스가 다수의 포인트 투 포인트 인터페이스에 의해 인터커넥트되는 시스템을 도시한다. 도 2를 참조로 논의되는 동작은 시스템(1000)의 하나 이상의 컴포넌트에 의해 수행될 수도 있다.
도 10에 예시되는 바와 같이, 시스템(1000)은 여러 프로세서들을 포함할 수도 있는데, 명확화를 위해, 그 중 두 개의 프로세서(1002 및 1004)만이 도시된다. 프로세서(1002 및 1004) 각각은, 메모리(1010 및 1012)와의 통신을 가능하게 하기 위해 로컬 메모리 컨트롤러 허브(MCH)(1006 및 1008)를 포함할 수도 있다. MCH(1006 및 1008)는, 몇몇 예에서, 도 1의 메모리 컨트롤러(120) 및/또는 로직(125)을 포함할 수도 있다.
한 예에서, 프로세서(1002 및 1004)는 도 7을 참조로 논의되는 프로세서(702) 중 하나일 수도 있다. 프로세서(1002 및 1004)는 PtP 인터페이스 회로(1016 및 1018)를 각각 사용하여 PtP 인터페이스(1014)를 통해 데이터를 교환할 수도 있다. 또한, 프로세서(1002 및 1004) 각각은 포인트 투 포인트 인터페이스 회로(1026, 1028, 1030, 및 1032)를 사용하여 개개의 PtP 인터페이스(1022 및 1024)를 통해 칩셋(1020)과 데이터를 교환할 수도 있다. 칩셋(1020)은 또한, 예를 들면 PtP 인터페이스 회로(1037)를 사용하여, 고성능 그래픽 인터페이스(1036)를 통해 고성능 그래픽 회로(1034)와 데이터를 교환할 수도 있다.
도 10에서 도시되는 바와 같이, 도 1의 캐시(108) 및/또는 코어(106) 중 하나 이상은 프로세서(1004) 내에 위치될 수도 있다. 그러나, 다른 예는, 도 10의 시스템(1000) 내의 다른 회로, 로직 유닛, 또는 디바이스에서 존재할 수도 있다. 또한, 다른 예는 도 10에서 예시되는 여러 회로, 로직 유닛, 또는 디바이스 전역에 분포될 될 수도 있다.
칩셋(1020)은 PtP 인터페이스 회로(1041)를 사용하여 버스(1040)와 통신할 수도 있다. 버스(1040)는, 자신과 통신하는 하나 이상의 디바이스, 예컨대 버스 브리지(1042) 및 I/O 디바이스(1043)를 구비할 수도 있다. 버스(1044)를 통해, 버스 브리지(1043)는, 키보드/마우스(1045), 통신 디바이스(1046)(예컨대 모뎀, 네트워크 인터페이스 디바이스, 또는 컴퓨터 네트워크(1003)와 통신할 수도 있는 다른 통신 디바이스), 오디오 I/O 디바이스, 및/또는 데이터 스토리지 디바이스(1048)와 같은 다른 디바이스와 통신할 수도 있다. 데이터 스토리지 디바이스(1048)(이것은 하드 디스크 드라이브 또는 NAND 플래시 기반의 솔리드 스테이트 드라이브일 수도 있다)는, 프로세서(1004)에 의해 실행될 수도 있는 코드(1049)를 저장할 수도 있다.
다음의 예는 추가 예에 관련이 있다.
예 1은, 전력 상태 통지 모드에서 적어도 하나의 센서를 구성하기 위한 신호를 생성하도록 그리고 적어도 하나의 센서에 커플링되는 통신 버스 상에 그 신호를 배치하도록 구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는 컨트롤러이다.
예 2에서, 예 1의 주제는, 적어도 하나의 센서에서 인터럽트 우선순위를 구성하기 위한 신호를 생성하도록, 그리고 적어도 하나의 센서에 커플링되는 통신 버스 상에 그 신호를 배치하도록 또한 구성되는 로직을 옵션적으로 포함할 수 있다.
예 3에서, 예 1 또는 예 2의 주제는, 환경 조건에서의 변화를 검출하도록, 그리고 환경 조건에서의 변화에 응답하여 적어도 하나의 센서의 인터럽트 우선순위를 변경하도록 또한 구성되는 로직을 옵션적으로 포함할 수 있다.
예 4에서, 예 1 내지 예 3 중 어느 하나의 주제는, 적어도 하나의 센서로부터 전력 상태 통지기 신호 - 전력 상태 통지기 신호는 슬레이브 디바이스의 전력 상태를 식별함 - 를 수신하도록, 그리고 적어도 하나의 센서의 전력 상태를 메모리에 기록하도록 또한 구성되는 로직을 옵션적으로 포함할 수 있다.
예 5는, 적어도 하나의 센서 및 통신 버스에 의해 적어도 하나의 센서에 통신가능하게 커플링되는 컨트롤러를 포함하는 센서 모듈인데, 컨트롤러는, 전력 상태 통지 모드에서 적어도 하나의 센서를 구성하기 위한 신호를 생성하도록, 그리고 적어도 하나의 센서에 커플링되는 통신 버스 상에 그 신호를 배치하도록 구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함한다.
예 6에서, 예 5의 주제는, 컨트롤러로부터 신호를 수신하도록, 그리고 적어도 하나의 센서를 전력 통지 상태(notify power state)로 구성하도록 또한 구성되는 로직을 옵션적으로 포함할 수 있다.
예 7에서, 예 5 또는 예 6의 주제는, 적어도 하나의 센서에서 인터럽트 우선순위를 구성하기 위한 신호를 생성하도록 그리고 적어도 하나의 센서에 커플링되는 통신 버스 상에 그 신호를 배치하도록 또한 구성되는 로직을 옵션적으로 포함할 수 있다.
예 8에서, 예 5 내지 예 7 중 어느 하나의 주제는, 컨트롤러로부터 신호를 수신하도록, 그리고 적어도 하나의 센서의 인터럽트 우선순위를 구성하도록 또한 구성되는 로직을 옵션적으로 포함할 수 있다.
예 9에서, 예 5 내지 예 8 중 어느 하나의 주제는, 환경 조건에서의 변화를 검출하도록, 그리고 환경 조건에서의 변화에 응답하여 적어도 하나의 센서의 인터럽트 우선순위를 변경하도록 또한 구성되는 로직을 옵션적으로 포함할 수 있다.
예 10에서, 예 5 내지 예 9 중 어느 하나의 주제는, 슬레이브 디바이스로부터 전력 상태 통지기 신호 - 전력 상태 통지기 신호는 슬레이브 디바이스의 전력 상태를 식별함 - 를 수신하도록, 그리고 슬레이브 디바이스의 전력 상태를 메모리에 기록하도록 또한 구성되는 로직을 옵션적으로 포함할 수 있다.
예 11은, 적어도 하나의 프로세서, 및 적어도 하나의 센서, 및 통신 버스에 의해 적어도 하나의 센서에 통신가능하게 커플링되는 컨트롤러를 포함하는 센서 모듈을 포함하는 전자 디바이스인데, 컨트롤러는, 전력 상태 통지 모드에서 적어도 하나의 센서를 구성하기 위한 신호를 생성하도록, 그리고 적어도 하나의 센서에 커플링되는 통신 버스 상에 그 신호를 배치하도록 구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함한다.
예 12에서, 예 11의 주제는, 컨트롤러로부터 신호를 수신하도록, 그리고 적어도 하나의 센서를 전력 통지 상태로 구성하도록 또한 구성되는 로직을 옵션적으로 포함할 수 있다.
예 13에서, 예 11 또는 예 12의 주제는, 적어도 하나의 센서에서 인터럽트 우선순위를 구성하기 위한 신호를 생성하도록 그리고 적어도 하나의 센서에 커플링되는 통신 버스 상에 그 신호를 배치하도록 또한 구성되는 로직을 옵션적으로 포함할 수 있다.
예 14에서, 예 11 내지 예 13 중 어느 하나의 주제는, 컨트롤러로부터 신호를 수신하도록, 그리고 적어도 하나의 센서의 인터럽트 우선순위를 구성하도록 또한 구성되는 로직을 옵션적으로 포함할 수 있다.
예 15에서, 예 11 내지 예 14 중 어느 하나의 주제는, 환경 조건에서의 변화를 검출하도록, 그리고 환경 조건에서의 변화에 응답하여 적어도 하나의 센서의 인터럽트 우선순위를 변경하도록 또한 구성되는 로직을 옵션적으로 포함할 수 있다.
예 16에서, 예 11 내지 예 15 중 어느 하나의 주제는, 슬레이브 디바이스로부터 전력 상태 통지기 신호 - 전력 상태 통지기 신호는 슬레이브 디바이스의 전력 상태를 식별함 - 를 수신하도록, 그리고 슬레이브 디바이스의 전력 상태를 메모리에 기록하도록 또한 구성되는 로직을 옵션적으로 포함할 수 있다.
예 17은 비일시적 컴퓨터 판독가능 매체 상에 저장되는 로직 명령어를 포함하는 컴퓨터 프로그램 제품인데, 그 로직 명령어는, 컨트롤러에 의한 실행시, 전력 상태 통지 모드에서 슬레이브 디바이스를 구성하기 위한 신호를 생성하도록 그리고 슬레이브 디바이스에 커플링되는 통신 버스 상에 그 신호를 배치하도록 컨트롤러를 구성한다.
예 18에서, 예 17의 주제는, 적어도 하나의 센서에서 인터럽트 우선순위를 구성하기 위한 신호를 생성하도록, 그리고 적어도 하나의 센서에 커플링되는 통신 버스 상에 그 신호를 배치하도록 또한 구성되는 로직을 옵션적으로 포함할 수 있다.
예 19에서, 예 17 또는 예 18의 주제는, 환경 조건에서의 변화를 검출하도록, 그리고 환경 조건에서의 변화에 응답하여 적어도 하나의 센서의 인터럽트 우선순위를 변경하도록 또한 구성되는 로직을 옵션적으로 포함할 수 있다.
예 20에서, 예 17 내지 예 19 중 어느 하나의 주제는, 적어도 하나의 센서로부터 전력 상태 통지기 신호 - 전력 상태 통지기 신호는 슬레이브 디바이스의 전력 상태를 식별함 - 를 수신하도록, 그리고 적어도 하나의 센서의 전력 상태를 메모리에 기록하도록 또한 구성되는 로직을 옵션적으로 포함할 수 있다.
본원에서 언급되는 바와 같은 용어 "로직 명령어"는, 하나 이상의 논리 동작을 수행하기 위한 하나 이상의 머신에 의해 이해될 수도 있는 표현에 관련된다. 예를 들면, 로직 명령어는, 하나 이상의 데이터 오브젝트에 대해 하나 이상의 연산을 실행하기 위한 프로세서 컴파일러에 의해 해석될 수 있는(interpretable) 명령어를 포함할 수도 있다. 그러나, 이것은 머신 판독가능 명령어의 예에 불과하며, 예는 이와 관련하여 제한되지 않는다.
본원에서 언급되는 바와 같은 용어 "컴퓨터 판독가능 매체"는, 하나 이상의 머신에 의해 인식될 수 있는 표현을 유지할 수 있는 매체에 관련된다. 예를 들면, 컴퓨터 판독가능 매체는, 컴퓨터 판독가능 명령어 또는 데이터를 저장하기 위한 하나 이상의 스토리지 디바이스를 포함할 수도 있다. 이러한 스토리지 디바이스는, 예를 들면, 광학 매체, 자기 매체 또는 반도체 저장 매체와 같은 저장 매체를 포함할 수도 있다. 그러나, 이것은 컴퓨터 판독가능 매체의 예에 불과하며, 예는 이와 관련하여 제한되지 않는다.
본원에서 언급되는 바와 같은 용어 "로직"은 하나 이상의 논리적 연산을 수행하기 위한 구조체에 관련된다. 예를 들면, 로직은, 하나 이상의 입력 신호에 기초하여 하나 이상의 출력 신호를 제공하는 회로부(circuitry)를 포함할 수도 있다. 이러한 회로부는, 디지털 입력을 수신하고 디지털 출력을 제공하는 유한 상태 머신, 또는 하나 이상의 아날로그 입력 신호에 응답하여 하나 이상의 아날로그 출력 신호를 제공하는 회로부를 포함할 수도 있다. 이러한 회로부는 주문형 반도체(application specific integrated circuit; ASIC) 또는 필드 프로그래머블 게이트 어레이(field programmable gate array; FPGA)에서 제공될 수도 있다. 또한, 로직은, 머신 판독가능 명령어를 실행하기 위한 프로세싱 회로부와 결합하여 메모리에 저장되는 이러한 머신 판독가능 명령어를 포함할 수도 있다. 그러나, 이들은, 로직을 제공할 수도 있는 구조체의 예에 불과하며, 예는 이와 관련하여 제한되지 않는다.
본원에서 설명되는 방법 중 몇몇은 컴퓨터 판독가능 매체 상의 로직 명령어로서 구체화될 수도 있다. 프로세서 상에서의 실행시, 로직 명령어는 프로세서로 하여금, 설명된 방법을 구현하는 특수 목적의 머신으로서 프로그래밍되게 한다. 프로세서는, 본원에서 설명되는 방법을 실행하도록 로직 명령어에 의해 구성될 때, 설명된 방법을 수행하기 위한 구조체를 구성한다. 대안적으로, 본원에서 설명되는 방법은, 예를 들면, 필드 프로그래머블 게이트 어레이(field programmable gate array; FPGA), 주문형 반도체(ASIC) 또는 등등 상에서 로직으로 축소될 수도 있다.
상세한 설명 및 청구범위에서, 용어 "커플링되는" 및 "연결되는"은, 그들의 파생어와 함께 사용될 수도 있다. 특정 예에서, "연결되는"은, 2개 이상의 엘리먼트가 서로 물리적으로 또는 전기적으로 직접 접촉하고 있는 것을 나타내기 위해 사용될 수도 있다. "커플링되는"은, 2개 이상의 엘리먼트가 물리적으로 또는 전기적으로 직접 접촉하고 있는 것을 의미할 수도 있다. 그러나, "커플링되는"은 또한, 2개 이상의 엘리먼트가 서로 직접적으로 접촉하지 않을 수도 있지만, 여전히 서로 협력하거나 또는 상호작용할 수도 있다는 것을 의미할 수도 있다.
본 명세서에서 "일 예" 또는 "몇몇 예"에 대한 언급은, 그 예와 연계하여 설명되는 특정 피쳐, 구조, 또는 특성이 적어도 한 구현예에 포함된다는 것을 의미한다. 본 명세서의 여러 위치에서의 "일 예에서"의 어구의 출현은 모두 동일한 예를 가리킬 수도 있고 그렇지 않을 수도 있다.
구조적 피쳐 및/또는 방법론적 액트에 고유한 언어로 예가 설명되었지만, 청구되는 주제는 설명되는 특정 피쳐 또는 액트에 제한되지 않을 수도 있다는 것이 이해되어야 한다. 대신, 특정 피쳐 및 액트는 청구되는 주제를 구현하는 샘플 형태로서 개시된다.

Claims (20)

  1. 전력 상태 통지 모드(notify power state mode)에서 적어도 하나의 센서를 구성하기 위한 신호를 생성하고,
    상기 적어도 하나의 센서에 커플링되는 통신 버스 상에 상기 신호를 배치하도록
    구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는
    컨트롤러.
  2. 제1항에 있어서,
    상기 적어도 하나의 센서에서 인터럽트 우선순위를 구성하기 위한 신호를 생성하고,
    상기 적어도 하나의 센서에 커플링되는 통신 버스 상에 상기 신호를 배치하도록
    구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 더 포함하는
    컨트롤러.
  3. 제2항에 있어서,
    환경 조건(environmental condition)에서의 변화를 검출하고,
    상기 환경 조건에서의 상기 변화에 응답하여 상기 적어도 하나의 센서의 상기 인터럽트 우선순위를 변경하도록
    구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 더 포함하는
    컨트롤러.
  4. 제1항에 있어서,
    상기 적어도 하나의 센서로부터 전력 상태 통지기 신호(power state notifier signal) - 상기 전력 상태 통지기 신호는 슬레이브 디바이스의 전력 상태를 식별함 - 를 수신하고,
    상기 적어도 하나의 센서의 상기 전력 상태를 메모리에 기록하도록
    구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 더 포함하는
    컨트롤러.
  5. 적어도 하나의 센서와,
    통신 버스에 의해 상기 적어도 하나의 센서에 통신가능하게 커플링되는 컨트롤러를 포함하되,
    상기 컨트롤러는,
    전력 상태 통지 모드에서 상기 적어도 하나의 센서를 구성하기 위한 신호를 생성하고,
    상기 적어도 하나의 센서에 커플링되는 통신 버스 상에 상기 신호를 배치하도록
    구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는
    센서 모듈.
  6. 제5항에 있어서,
    상기 적어도 하나의 센서는,
    상기 컨트롤러로부터 상기 신호를 수신하고,
    상기 적어도 하나의 센서를 전력 통지 상태(notify power state)로 구성하도록
    구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는
    센서 모듈.
  7. 제5항에 있어서,
    상기 컨트롤러는,
    상기 적어도 하나의 센서에서 인터럽트 우선순위를 구성하기 위한 신호를 생성하고,
    상기 적어도 하나의 센서에 커플링되는 통신 버스 상에 상기 신호를 배치하도록
    구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 더 포함하는
    센서 모듈.
  8. 제7항에 있어서,
    상기 적어도 하나의 센서는,
    상기 컨트롤러로부터 상기 신호를 수신하고,
    적어도 하나의 센서의 인터럽트 우선순위를 구성하도록
    구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는
    센서 모듈.
  9. 제6항에 있어서,
    상기 컨트롤러는,
    환경 조건에서의 변화를 검출하고,
    상기 환경 조건에서의 상기 변화에 응답하여 상기 적어도 하나의 센서의 인터럽트 우선순위를 변경하도록
    구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 더 포함하는
    센서 모듈.
  10. 제6항에 있어서,
    상기 컨트롤러는,
    슬레이브 디바이스로부터 전력 상태 통지기 신호 - 상기 전력 상태 통지기 신호는 상기 슬레이브 디바이스의 전력 상태를 식별함 - 를 수신하고,
    상기 슬레이브 디바이스의 전력 상태를 메모리에 기록하도록
    구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 더 포함하는
    센서 모듈.
  11. 적어도 하나의 프로세서와,
    센서 모듈을 포함하되,
    상기 센서 모듈은,
    적어도 하나의 센서와,
    통신 버스에 의해 상기 적어도 하나의 센서에 통신가능하게 커플링되는 컨트롤러를 포함하고,
    상기 컨트롤러는,
    상기 전력 상태 통지 모드에서 상기 적어도 하나의 센서를 구성하기 위한 신호를 생성하고,
    상기 적어도 하나의 센서에 커플링되는 통신 버스 상에 상기 신호를 배치하도록
    구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는
    전자 디바이스.
  12. 제11항에 있어서,
    상기 적어도 하나의 센서는,
    상기 컨트롤러로부터 상기 신호를 수신하고,
    상기 적어도 하나의 센서를 전력 통지 상태로 구성하도록
    구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는
    전자 디바이스.
  13. 제11항에 있어서,
    상기 컨트롤러는,
    상기 적어도 하나의 센서에서 인터럽트 우선순위를 구성하기 위한 신호를 생성하고,
    상기 적어도 하나의 센서에 커플링되는 통신 버스 상에 상기 신호를 배치하도록
    구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 더 포함하는
    전자 디바이스.
  14. 제13항에 있어서,
    상기 적어도 하나의 센서는,
    상기 컨트롤러로부터 상기 신호를 수신하고,
    적어도 하나의 센서의 인터럽트 우선순위를 구성하도록
    구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 포함하는
    전자 디바이스.
  15. 제12항에 있어서,
    상기 컨트롤러는,
    환경 조건에서의 변화를 검출하고,
    상기 환경 조건에서의 상기 변화에 응답하여 상기 적어도 하나의 센서의 상기 인터럽트 우선순위를 변경하도록
    구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 더 포함하는
    전자 디바이스.
  16. 제12항에 있어서,
    상기 컨트롤러는,
    슬레이브 디바이스로부터 전력 상태 통지기 신호 - 상기 전력 상태 통지기 신호는 상기 슬레이브 디바이스의 전력 상태를 식별함 - 를 수신하고,
    상기 슬레이브 디바이스의 상기 전력 상태를 메모리에 기록하도록
    구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 더 포함하는
    전자 디바이스.
  17. 비일시적 컴퓨터 판독가능 매체 상에 저장되는 로직 명령어를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 로직 명령어는, 컨트롤러에 의한 실행시,
    전력 상태 통지 모드에서 슬레이브 디바이스를 구성하기 위한 신호를 생성하고,
    상기 슬레이브 디바이스에 커플링되는 통신 버스 상에 상기 신호를 배치하도록
    상기 컨트롤러를 구성하는
    컴퓨터 프로그램 제품.
  18. 제17항에 있어서,
    상기 슬레이브 디바이스에서 인터럽트 우선순위를 구성하기 위한 신호를 생성하고,
    상기 슬레이브 디바이스에 커플링되는 통신 버스 상에 상기 신호를 배치하도록
    구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 더 포함하는
    컴퓨터 프로그램 제품.
  19. 제18항에 있어서,
    환경 조건에서의 변화를 검출하고,
    상기 환경 조건에서의 상기 변화에 응답하여 상기 슬레이브 디바이스의 상기 인터럽트 우선순위를 변경하도록
    구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 더 포함하는
    컴퓨터 프로그램 제품.

  20. 제19항에 있어서,
    상기 슬레이브 디바이스로부터 전력 상태 통지기 신호 - 상기 전력 상태 통지기 신호는 상기 슬레이브 디바이스의 전력 상태를 식별함 - 를 수신하고,
    상기 슬레이브 디바이스의 전력 상태를 메모리에 기록하도록
    구성되는, 하드웨어 로직을 적어도 부분적으로 포함하는 로직을 더 포함하는
    컴퓨터 프로그램 제품.
KR1020167033051A 2014-06-28 2015-06-04 전자 디바이스용 센서 버스 인터페이스 KR102225249B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN3157/CHE/2014 2014-06-28
IN3157CH2014 2014-06-28
PCT/US2015/034147 WO2015199933A1 (en) 2014-06-28 2015-06-04 Sensor bus interface for electronic devices

Publications (2)

Publication Number Publication Date
KR20160148644A true KR20160148644A (ko) 2016-12-26
KR102225249B1 KR102225249B1 (ko) 2021-03-08

Family

ID=54938658

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167033051A KR102225249B1 (ko) 2014-06-28 2015-06-04 전자 디바이스용 센서 버스 인터페이스

Country Status (3)

Country Link
US (1) US10282344B2 (ko)
KR (1) KR102225249B1 (ko)
WO (1) WO2015199933A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015199933A1 (en) 2014-06-28 2015-12-30 Intel Corporation Sensor bus interface for electronic devices
US10416750B2 (en) * 2014-09-26 2019-09-17 Qualcomm Incorporated Algorithm engine for ultra low-power processing of sensor data
KR102251964B1 (ko) * 2014-11-04 2021-05-14 삼성전자 주식회사 센서 데이터를 이용한 기능 수행 방법 및 이를 제공하는 전자 장치
KR20210127409A (ko) * 2020-04-14 2021-10-22 삼성전기주식회사 싱글 센서와 멀티 드라이버간의 동기화 기능을 갖는 ois 회로, ois 장치 및 그 동작방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5072365A (en) * 1989-12-27 1991-12-10 Motorola, Inc. Direct memory access controller using prioritized interrupts for varying bus mastership
US20090259785A1 (en) * 2008-04-11 2009-10-15 Sandisk Il Ltd. Direct data transfer between slave devices
US7945720B2 (en) * 2007-01-18 2011-05-17 Casio Hitachi Mobile Communications Co., Ltd. Terminal apparatus and method for controlling processing of an interrupt event

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5416725A (en) 1993-08-18 1995-05-16 P.C. Sentry, Inc. Computer-based notification system having redundant sensor alarm determination and associated computer-implemented method for issuing notification of events
AUPN422295A0 (en) 1995-07-18 1995-08-10 Bytecraft Research Pty. Ltd. Control system
US7475158B2 (en) * 2004-05-28 2009-01-06 International Business Machines Corporation Method for enabling a wireless sensor network by mote communication
US7498936B2 (en) * 2005-04-01 2009-03-03 Strauss Acquisitions, L.L.C. Wireless event status communication system, device and method
US20080071328A1 (en) * 2006-09-06 2008-03-20 Medtronic, Inc. Initiating medical system communications
CN101316204B (zh) 2007-05-28 2013-08-07 华为技术有限公司 会话移动方法和会话移动系统
US8706172B2 (en) * 2010-10-26 2014-04-22 Miscrosoft Corporation Energy efficient continuous sensing for communications devices
US8606461B2 (en) * 2011-12-09 2013-12-10 Bendix Commercial Vehicle Systems Llc System and method for monitoring tire status
US9373245B2 (en) * 2013-02-22 2016-06-21 Cooper Technologies Company Smart notification appliances
US9271230B2 (en) * 2013-11-21 2016-02-23 Honeywell International Inc Cloud-enabled low power Wi-Fi sensor
WO2015199933A1 (en) 2014-06-28 2015-12-30 Intel Corporation Sensor bus interface for electronic devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5072365A (en) * 1989-12-27 1991-12-10 Motorola, Inc. Direct memory access controller using prioritized interrupts for varying bus mastership
US7945720B2 (en) * 2007-01-18 2011-05-17 Casio Hitachi Mobile Communications Co., Ltd. Terminal apparatus and method for controlling processing of an interrupt event
US20090259785A1 (en) * 2008-04-11 2009-10-15 Sandisk Il Ltd. Direct data transfer between slave devices

Also Published As

Publication number Publication date
WO2015199933A1 (en) 2015-12-30
US20170103036A1 (en) 2017-04-13
KR102225249B1 (ko) 2021-03-08
US10282344B2 (en) 2019-05-07

Similar Documents

Publication Publication Date Title
US9625890B2 (en) Coordinating control loops for temperature control
EP3161583A1 (en) Belt driven hinge assembly for electronic devices
US10007589B2 (en) System and method for universal serial bus (USB) protocol debugging
US9720464B2 (en) Dynamic thermal platform operating point for electronic devices
KR102225249B1 (ko) 전자 디바이스용 센서 버스 인터페이스
US20170102787A1 (en) Virtual sensor fusion hub for electronic devices
KR101948242B1 (ko) 전자 디바이스를 위한 관성 측정 유닛
US20180234846A1 (en) Pairing electronic devices
US9769307B2 (en) User detection and recognition for electronic devices
KR102184433B1 (ko) 전자 디바이스용 이중 자력계를 사용하는 가상 자이로스코프
US20170003717A1 (en) Memory card connector for electronic devices
US9454224B2 (en) Remote wearable input sources for electronic devices
US20150253984A1 (en) Smart frame toggling
US9575551B2 (en) GNSS services on low power hub
US20160378137A1 (en) Electronic device with combinable image input devices
US20160179149A1 (en) Dynamic cooling for electronic devices
KR20170130373A (ko) 전자 디바이스를 사용한 모션 추적
US20160380454A1 (en) Wireless charging sleeve for electronic devices
US20150277490A1 (en) Electronic device
US20200333869A1 (en) Battery monitoring system using network connectivity
WO2015142474A1 (en) Memory card connector for electronic devices

Legal Events

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