KR20220061170A - 2-와이어 호스트 인터페이스 - Google Patents

2-와이어 호스트 인터페이스 Download PDF

Info

Publication number
KR20220061170A
KR20220061170A KR1020227011409A KR20227011409A KR20220061170A KR 20220061170 A KR20220061170 A KR 20220061170A KR 1020227011409 A KR1020227011409 A KR 1020227011409A KR 20227011409 A KR20227011409 A KR 20227011409A KR 20220061170 A KR20220061170 A KR 20220061170A
Authority
KR
South Korea
Prior art keywords
interface
mode
wire
handshaking
operating
Prior art date
Application number
KR1020227011409A
Other languages
English (en)
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 KR20220061170A publication Critical patent/KR20220061170A/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
    • 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/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40078Bus configuration

Abstract

제1 디바이스(106)와 제2 디바이스(108)를 접속하기 위한 2-와이어 인터페이스(300). 2-와이어 인터페이스(300)는 핸드셰이킹 모드와 데이터 전송 모드에서 동작가능하다. 핸드셰이킹 모드에서 인터페이스(300)의 제1 와이어(302)는 제1 디바이스(106)에 의해 구동되고 인터페이스(300)의 제2 와이어(304)는 제2 디바이스(108)에 의해 구동되어, 제1 디바이스(106) 및 제2 디바이스(108)가 핸드셰이킹 시퀀스를 수행할 수 있다. 데이터 전송 모드에서 제1 와이어(302) 및 제2 와이어(304) 중 하나는 제1 디바이스(106) 및 제2 디바이스(108) 중 하나에 의해 구동되어 클록 신호를 제공하고, 다른 와이어는 어느 디바이스가 데이터를 전송하고 있는지에 따라 제1 디바이스(106) 또는 제2 디바이스(108) 중 어느 하나에 의해 구동된다. 따라서, 2-와이어 인터페이스(300)는 2개의 모드(예를 들어, 핸드셰이킹 모드 및 데이터 전송 모드)에서 동작가능하고, 인터페이스(300)의 와이어들(302, 304) 중 하나는 2개의 모드에서 상이한 디바이스에 의해 구동될 수 있다.

Description

2-와이어 호스트 인터페이스
스마트 카드란, 내장된 집적 회로 칩과 내부 메모리를 포함하는 디바이스를 지칭할 수 있다. 그 내부 메모리는 집적 회로 칩에 위치하거나, 카드 내에 내장된 별개의 칩일 수 있다. 스마트 카드는 접촉식 카드, 비접촉식 카드이거나, 접촉식 및 비접촉식 카드로서 동작할 수 있다. 일부 유형들의 스마트 카드는 배터리 또는 태양 전지 등의 온카드 전원을 포함할 수 있다. 스마트 카드는, 플라스틱 카드, 열쇠 고리, 시계, 착용형 기기, 전자 여권 및 USB 기반의 토큰, 모바일 전화에 이용되는 가입자 식별 모듈(SIM)을 포함한, 다양한 폼 팩터로 존재한다.
접촉식 카드는 단말기에 물리적으로 접속함으로써 단말기(예를 들어, 카드 판독기)로부터 전력을 공급받고 이와 통신할 수 있다. 예를 들어, 접촉식 카드는, (예를 들어, 단말기 내의 슬롯에 카드를 삽입함으로써) 카드와 단말기가 적절히 물리적으로 접촉하게 될 때, 단말기에 전기적 접속을 제공하는 하나 이상의 접촉 패드 또는 요소를 포함할 수 있다.
비접촉식 카드는 단말기와 카드 사이의 직접적인 물리적 접촉 없이 단말기로부터 전력을 공급받고 이와 통신할 수 있다. 전형적으로, 비접촉식 카드는 전파를 통해 단말기와 통신한다. 비접촉식 카드는, 단말기로부터 방출되는 RF(radio frequency) 신호 등의 전자기 신호를 수신하기 위한 안테나를 포함할 수 있다. 마찬가지로, 카드로부터의 데이터는 카드의 안테나를 통해 단말기에 다시 전달될 수 있다.
일부 비접촉식 카드는 '수동적'이다. 수동적 카드는 단말기에 의해 방출되는 신호로부터 수집된 에너지로부터 내장된 칩에 전력을 공급한다. 방출된 신호로부터 에너지를 수집하는 한 가지 방식은 방출된 신호를 수신할 때 유도(induction)를 통해 그 단자들 양단에 전압을 유도하는 코일로서 안테나를 배열하는 것이다.
스마트 카드 기술은, 예를 들어, 결제 수행, 사용자에게 환경의 한 영역에 대한 물리적 액세스 부여, 사용자의 개인 식별 정보 저장, 사용자 식별 또는 인증 등의, 점점 더 다양한 기능을 수행하는데 이용되는 다양한 디바이스들 내에서 구현되고 있다.
스마트 카드들은, 보안을 증강하거나 및/또는 사용자의 스마트 카드 이용 경험을 개선하기 위해 점점 더 많은 추가 컴포넌트들을 통합하고 있다. 예를 들어, 지문 센서들 등의, 생체측정 센서들은 사용자 신원 검증 또는 인증을 제공하기 위해 스마트 카드들 내에 통합되고 있다. 마찬가지로, 일부 스마트 카드는, 다양한 목적을 위해, 예를 들어, 카드 계좌 또는 카드 보유자와 연관된 정보를 디스플레이하거나, 카드 사용 동안 정보를 제공하거나(예를 들어, 거래 상태, 거래 금액, 사용자 지침) 및 장식 및 브랜딩(예를 들어, 로고 강조, 카드 개인맞춤화 등)을 의해 이용될 수 있는 디스플레이 스크린을 특징으로 한다. 은행 카드의 디스플레이 스크린의 일반적인 용도는, 카드 검증 값(CVV), 또는 동적 CVV(dCVV)(즉, 주기적으로 변경되는 CVV)를 디스플레이하는 것이다.
스마트 카드가 이들 추가 컴포넌트들 중 하나 이상을 포함하는 경우, 내장된 회로 칩이 추가 컴포넌트(들)와 통신할 수 있는 것이 바람직할 수 있다. 이것은, 특히 내장된 집적 회로 칩과 추가 모듈(들)에 의해 수행되는 기능들이 결합된 경우 해당될 수 있다. 예를 들어, 스마트 카드가 스마트 카드의 사용자의 신원을 확인하기 위한 생체측정 센서를 포함하는 생체측정 모듈을 포함하는 경우, 내장된 집적 회로 칩은 생체측정 모듈에 의해 사용자가 인증된 경우에만 제1 기능(예를 들어, 결제 수행)을 수행할 수 있다. 이 예에서, 내장된 집적 회로 칩과 생체측정 모듈은 생체측정 통신들을 교환할 수 있다.
내장된 회로 칩과 추가 컴포넌트(예를 들어, 생체측정 모듈) 사이의 통신은, 내장된 집적 회로 칩과 추가 컴포넌트 사이의 물리적 인터페이스에 의해 인에이블될 수 있다. 물리적 인터페이스는 내장된 집적 회로 칩과 추가 컴포넌트 사이의 도체 또는 와이어 세트에 의해 구현될 수 있고, 칩과 추가 컴포넌트는 통신 프로토콜에 따라 도체들 또는 와이어들을 통해 통신하도록 구성될 수 있다. 이러한 인터페이스들은 일반적으로 적어도 3개의 와이어를 이용하여 구현되었다. 이러한 인터페이스들의 예들로는, 4-와이어 SPI((Serial Peripheral Interface; 직렬 주변기기 인터페이스) 또는, I2C(inter IC)를 구현하는 2-와이어 및 핸드셰이킹을 위한 2-와이어를 이용하는 4-와이어 인터페이스가 포함된다.
그러나, 많은 경우, 스마트 카드는 추가 컴포넌트(예를 들어, 생체측정 모듈)와는 별개로 제조되고 추가 컴포넌트는 단지 제조 후에 스마트 카드에 삽입된다. 구체적으로, 일부 경우에 제조 후 스마트 카트 카드에 추가 컴포넌트(예를 들어, 생체측정 모듈)를 추가하는 것을 허용하기 위해, 스마트 카드는 인터페이스의 각각의 도체 또는 와이어에 접속된 노출된 접촉판 또는 패드를 포함하는 추가 컴포넌트를 삽입할 수 있는 컷아웃(또는 그 유사물)으로 제조될 수 있다. 그 다음, (예를 들어, 와이어들, 대응하는 접촉판들 등을 통해) 추가 컴포넌트(예를 들어, 생체측정 모듈)가 전기적으로 접속되고 컷아웃 내에 삽입된다(예를 들어, 전도성 접착제를 통해 접착된다). 그러나, 일반적으로, 인터페이스의 와이어 수가 많을수록 스마트 카드가 더 복잡해지고 스마트 카드를 제조하는데 비용이 더 많이 든다. 또한 인터페이스의 와이어 수가 많을수록 접촉판 또는 패드는 작아진다; 접촉판 또는 패드가 작을수록 접촉판 또는 패드와 대응하는 추가 모듈(예를 들어, 생체측정 모듈) 사이에 안전하고 신뢰할 수 있는 접속을 만들기가 더 어렵다. 따라서, 감소된 수의 도체 또는 와이어들을 갖는 인터페이스 및 그 인터페이스를 통해 동작하는 연관된 통신 프로토콜에 대한 요구가 있다.
아래에 설명되는 실시예들은 단지 예로서 제공되는 것이며, 알려진 스마트 카드들의 단점들 중 일부 또는 전부를 해결하는 구현을 제한하는 것이 아니다.
본 요약은, 이하의 상세한 설명에서 더 설명되는 선발된 개념들을 소개하기 위해 제공되는 것이다. 본 요약은, 청구 대상의 핵심 피처나 본질적 피처들을 식별하기 위함도 아니고, 청구 대상의 범위를 제한하기 위해 이용되는 것도 아니다.
여기서는 2개의 디바이스를 접속하기 위한 2-와이어 인터페이스에 대해 설명한다. 구체적으로, 제1 디바이스와 제2 디바이스를 접속하는 2-와이어 인터페이스가 여기서 설명되며, 여기서 인터페이스는 핸드셰이킹 모드 및 데이터 전송 모드에서 동작가능한다. 핸드셰이킹 모드에서 인터페이스의 제1 와이어는 제1 디바이스에 의해 구동되고 인터페이스의 제2 와이어는 제2 디바이스에 의해 구동되어 제1 및 제2 디바이스가 핸드셰이킹 시퀀스를 수행할 수 있다. 데이터 전송 모드에서 제1 와이어 및 제2 와이어 중 하나는 제1 및 제2 디바이스 중 하나에 의해 구동되어 클록 신호를 제공하고, 다른 와이어는 어느 디바이스가 데이터를 전송하고 있는지에 따라 제1 디바이스 또는 제2 디바이스에 의해 구동된다. 따라서, 여기서 설명된 2-와이어 인터페이스는 2개의 모드(예를 들어, 핸드셰이킹 모드 및 데이터 전송 모드)에서 동작가능하고 인터페이스의 와이어들 중 하나는 2개의 모드에서 상이한 디바이스에 의해 구동될 수 있다.
제1 양태는 시스템을 제공하고, 이 시스템은 : 제1 디바이스; 제2 디바이스; 및 상기 제1 디바이스를 상기 제2 디바이스에 접속하는 2-와이어 인터페이스를 포함하고; 상기 인터페이스는 핸드셰이킹 모드 및 데이터 전송 모드에서 동작가능하여, 상기 핸드셰이킹 모드에서 상기 인터페이스의 제1 와이어는 상기 제1 디바이스에 의해 구동되고 상기 인터페이스의 제2 와이어는 상기 제2 디바이스에 의해 구동되며, 데이터 전송 모드에서 상기 제1 와이어 및 상기 제2 와이어 중 하나는 제1 디바이스 및 제2 디바이스 중 하나에 의해 구동되어 클록 신호를 제공하고, 다른 와이어는 제1 디바이스 및 제2 디바이스 중 어느 것이 데이터를 전송하고 있는지에 따라 제1 디바이스 또는 제2 디바이스에 의해 구동되어 데이터를 전송한다.
제1 디바이스는 커맨드-응답 기반의 동작을 통해 제2 디바이스를 제어하도록 구성될 수 있다.
제1 디바이스와 제2 디바이스 사이의 커맨드-응답 시퀀스 동안, 제1 및 제2 디바이스는, 인터페이스를 핸드셰이킹 모드에서 동작시키는 것과 인터페이스를 데이터 전송 모드에서 동작시키는 것 사이에서 전환하도록 및/또는 인터페이스를 핸드셰이킹 모드에서 동작시키는 것과 인터페이스를 데이터 전송 모드에서 동작시키는 것 사이에서 적어도 한 번 전환하도록 구성될 수 있다.
인터페이스를 핸드셰이킹 모드에서 동작시키는 것으로부터 인터페이스를 데이터 전송 모드에서 동작시키는 것으로의 전환은 핸드셰이킹 시퀀스의 완료에 의해 트리거될 수 있다.
제1 디바이스 및 제2 디바이스는, 핸드셰이킹 시퀀스의 완료 후 핸드셰이킹-대-데이터 임계값 시간량이 경과한 후에만 데이터 전송 모드에서 인터페이스를 동작시키도록 구성될 수 있다.
인터페이스를 핸드셰이킹 모드에서 동작시키는 것으로부터 인터페이스를 데이터 전송 모드에서 동작시키는 것으로의 전환이 상이한 디바이스로 하여금 제1 와이어 및 제2 와이어 중 하나를 구동하게 할 때, 제1 와이어 및 제2 와이어 중 하나를 핸드셰이킹 모드에서 구동하는 디바이스는, 핸드셰이킹 시퀀스의 완료 후 핸드셰이킹-대-비구동 임계값 시간량이 만료된 후에 제1 와이어 및 제2 와이어 중 하나의 구동을 중단하도록 구성될 수 있다.
핸드셰이킹-대-비구동 임계값은, 핸드셰이킹 시퀀스의 완료 후 소정 기간 동안 제1 와이어 및 제2 와이어 중 하나가 제1 디바이스 또는 제2 디바이스에 의해 구동되지 않도록 핸드셰이킹-대-데이터 임계값보다 작을 수 있다.
인터페이스를 데이터 전송 모드에서 동작시키는 것으로부터 인터페이스를 핸드셰이킹 모드에서 동작시키는 것으로의 전환은 데이터 전송의 완료에 의해 트리거될 수 있다.
제1 디바이스 및 제2 디바이스는 데이터 전송의 완료 후 데이터-대-핸드셰이킹 임계값 시간량이 경과한 후에만 핸드셰이킹 모드에서 인터페이스를 동작시키도록 구성될 수 있다.
인터페이스를 데이터 전송 모드에서 동작시키는 것으로부터 인터페이스를 핸드셰이킹 모드에서 동작시키는 것으로의 전환이 상이한 디바이스로 하여금 제1 와이어 및 제2 와이어 중 하나를 구동하게 할 때, 제1 와이어 및 제2 와이어 중 하나를 데이터 전송 모드에서 구동하는 디바이스는, 데이터 전송의 완료 후 데이터-대-비구동 임계값 시간량이 만료된 후에 제1 와이어 및 제2 와이어 중 하나의 구동을 중단하도록 구성될 수 있다.
데이터-대-비구동 임계값은, 데이터 전송의 완료 후 소정 기간 동안 제1 와이어 및 제2 와이어 중 하나가 제1 디바이스 또는 제2 디바이스에 의해 구동되지 않도록 데이터-대-핸드셰이킹 임계값보다 작다.
제1 및 제2 디바이스가 인터페이스를 핸드셰이킹 모드에서 동작시키고 있을 때, 제1 디바이스는 제1 와이어 상에서 제1 핸드셰이킹 시퀀스를 개시함으로써 커맨드-응답 시퀀스를 개시하도록 구성될 수 있고, 제1 핸드셰이킹 시퀀스의 완료 시에, 제1 및 제2 디바이스는, 제1 디바이스가 제2 와이어를 구동하는 데이터 전송 모드에서 인터페이스를 동작시키는 것으로 전환하도록 구성된다.
제1 핸드셰이킹 시퀀스는: 제1 디바이스가 제1 와이어의 상태를 제1 상태로부터 제2 상태로 구동하는 단계; 제1 와이어가 제2 상태에 있다는 것을 검출하는 것에 응답하여, 제2 디바이스가 제2 와이어를 제1 상태로부터 제2 상태로 구동하는 단계; 제2 와이어가 제2 상태에 있다는 것을 검출하는 것에 응답하여, 제1 디바이스가 제1 와이어를 제2 상태로부터 제1 상태로 구동하는 단계; 및 제1 와이어가 제1 상태에 있다는 것을 검출한 것에 응답하여, 제2 디바이스가 제2 와이어를 제2 상태로부터 제1 상태로 구동하는 단계를 포함할 수 있다.
제2 디바이스는 저전력 모드 및 정상 동작 모드에서 동작가능할 수 있고 제1 핸드셰이킹 시퀀스를 개시하는 것은, 제2 디바이스가 저전력 모드로부터 정상 동작 모드로 전환하게 한다.
제1 및 제2 디바이스는, 각각의 데이터 전송 후에, 인터페이스를 데이터 전송 모드에서 동작시키는 것으로부터 인터페이스를 핸드셰이킹 모드에서 동작시키는 것으로 전환하도록 구성될 수 있다.
인터페이스가 데이터 전송 모드에서 동작 중일 때, 제1 와이어는 제1 디바이스에 의해 구동되어 클록 신호를 제공할 수 있다.
인터페이스가 데이터 전송 모드에서 동작 중일 때, 제1 디바이스 및 제2 디바이스는 SPI 데이터 전송을 수행하도록 구성될 수 있다.
제1 디바이스는 마스터 디바이스일 수 있고, 제2 디바이스는 슬레이브 디바이스일 수 있다.
인터페이스가 데이터 전송 모드에서 동작 중일 때, 제2 와이어는 제2 디바이스에 의해 구동되어 클록 신호를 제공한다.
인터페이스가 데이터 전송 모드에서 동작 중일 때 제1 디바이스 및 제2 디바이스는 UART 데이터 전송을 수행하도록 구성될 수 있다.
인터페이스는 제1 디바이스가 인터페이스를 이용하여 또 다른 디바이스와 통신하는 외부 통신 모드에서 추가로 동작가능할 수 있고; 시스템은 제1 모드 및 제2 모드에서 동작가능할 수 있고, 시스템이 제1 모드에서 동작 중일 때 인터페이스는 외부 통신 모드 및 데이터 전송 모드에서 동작가능하고 시스템이 제2 모드에서 동작 중일 때, 인터페이스는 핸드셰이킹 모드 및 데이터 전송 모드에서 동작가능하다.
인터페이스가 외부 통신 모드에서 동작 중일 때 제1 디바이스는 ISO 7816에 따라 다른 디바이스와 통신하도록 구성될 수 있다.
시스템이 제1 모드에서 동작 중이고 인터페이스가 외부 통신 모드에서 동작 중일 때, 제2 디바이스는, 미리결정된 데이터 패턴을 검출하기 위해 데이터를 전송하는데 이용되는 와이어를 모니터링하고, 미리결정된 데이터 패턴을 검출하는 것에 응답하여, 인터페이스를 외부 통신 모드에서 동작시키는 것으로부터 인터페이스를 데이터 전송 모드에서 동작시키는 것으로 전환하도록 구성될 수 있다.
인터페이스가 외부 통신 모드에서 동작 중일 때, 제1 디바이스는 통신 프로토콜을 이용하여 다른 디바이스와 통신할 수 있고 미리결정된 데이터 패턴은 통신 프로토콜에서 양성(benign)일 수 있다.
통신 프로토콜은 ISO 7816 T=0일 수 있고 미리결정된 데이터 패턴은 서로의 미리결정된 시간 내에 2개의 NULL 절차 바이트를 포함할 수 있다.
통신 프로토콜은 ISO 7816 T=1일 수 있고 미리결정된 데이터 패턴은 다른 디바이스가 R-블록으로 응답하도록 구성된 잘못 형성된 S-블록일 수 있다.
제2 디바이스는, 제1 디바이스와 제2 디바이스 사이에 사설 채널을 확립하기 위해 데이터를 전송하는데 이용되는 인터페이스의 와이어로부터 다른 디바이스를 분리함으로써 외부 통신 모드에서 동작하는 것으로부터 데이터 전송 모드에서 동작하는 것으로 인터페이스를 전환하도록 구성될 수 있다.
인터페이스가 외부 통신 모드에서 동작 중일 때, 클록 신호에 이용되는 와이어는 외부 클록으로부터 생성된 클록 신호로 구동되고, 제2 디바이스는 클록 신호에 이용되는 와이어를 내부 클록으로부터 생성된 클록 신호로 구동함으로써 인터페이스를 외부 통신 모드에서 동작하는 것으로부터 데이터 전송 모드에서 동작하는 것으로 전환하도록 추가로 구성될 수 있다.
사설 채널이 확립된 후, 제2 디바이스는 내부 클록으로부터 생성된 클록 신호의 주파수를 제1 디바이스에 통보하도록 구성될 수 있다.
시스템이 제2 모드에서 동작 중이고 인터페이스가 데이터 전송 모드에서 동작 중일 때, 제2 디바이스는 데이터를 전송하는데 이용되는 와이어 상에서 특정한 패턴을 검출하는 것에 응답하여 인터페이스를 외부 통신 모드에서 동작하는 것으로 전환하도록 구성될 수 있다.
제2 디바이스는, 데이터를 전송하는데 이용되는 인터페이스의 와이어에 다른 디바이스를 재접속함으로써 인터페이스를 외부 통신 모드에서 동작하는 것으로 전환하도록 구성될 수 있다.
제2 디바이스는 클록 신호에 이용되는 와이어를 외부 클록으로부터 생성된 클록 신호로 구동함으로써 인터페이스를 외부 통신 모드에서 동작하는 것으로 전환하도록 구성될 수 있다.
시스템이 제1 모드에서 동작 중일 때 제1 디바이스는 다른 디바이스와 비접촉식 통신할 수 있고 시스템이 제2 모드에서 동작 중일 때 제1 디바이스는 다른 디바이스와 접촉식 통신할 수 있다.
제1 디바이스는 단말기와 통신하도록 구성된 칩일 수 있다.
칩은 보안 요소일 수 있다.
제2 디바이스는 생체측정 데이터를 감지하기 위한 생체측정 센서를 포함하는 생체측정 센서 모듈일 수 있다.
제2 양태는 제1 양태의 시스템을 포함하는 디바이스를 제공한다.
디바이스는 스마트 카드일 수 있다.
여기서 설명된 방법을 수행하기 위한 컴퓨터 프로그램 코드가 제공될 수 있다. 컴퓨터 시스템에서 실행될 때 컴퓨터 시스템으로 하여금 본 명세서에 설명된 방법들을 수행하게 하는 컴퓨터 판독가능한 명령어들이 저장된 비일시적인 컴퓨터 판독가능한 저장 매체가 제공될 수 있다.
상기의 피처들은, 본 기술분야의 통상의 기술자에게 명백한 바와 같이, 적절하게 결합될 수 있고, 본 명세서에 설명된 예들의 임의의 양태와 결합될 수 있다.
이제 첨부된 도면들을 참조하여 예들을 상세히 설명하며, 여기서:
도 1은 단말기와 비접촉식 또는 접촉식 통신할 수 있는 제1 예시적인 디바이스의 블록도로서, 이 디바이스는 인터페이스에 의해 접속된 칩 및 생체측정 모듈을 포함한다;
도 2는 도 1의 생체측정 모듈의 예시적인 구현의 블록도이다;
도 3은 도 1의 인터페이스의 제1 예시적인 구현의 개략도이다;
도 4는 예시적인 커맨드-응답 시퀀스 및 예시적인 모드 전환 세트를 나타내는 개략도이다;
도 5는 예시적인 심박 핸드셰이킹 시퀀스(heartbeat handshaking sequence)와 이에 후속하는 칩이 데이터를 전송하고 있는 데이터 전송 모드로의 전환을 나타내는 타이밍도이다;
도 6은 예시적인 준비완료 핸드셰이킹 시퀀스(ready handshaking sequence)와 이에 후속하는 칩이 데이터를 전송하고 있는 데이터 전송 모드로의 전환을 나타내는 타이밍도이다;
도 7은 예시적인 준비완료 핸드셰이킹 시퀀스와 이에 후속하는 생체측정 모듈이 데이터를 전송하고 있는 데이터 전송 모드로의 전환을 나타내는 타이밍도이다;
도 8은 예시적인 칩 데이터 전송과 후속하는 핸드셰이킹 모드로의 전환을 나타내는 타이밍도이다;
도 9는 예시적인 생체측정 모듈 전송과 후속하는 핸드셰이킹 모드로의 전환을 나타내는 타이밍도이다;
도 10은 도 1의 인터페이스의 제2 예시적인 구현의 개략도이다;
도 11은 제1 예시적인 커맨드-응답 시퀀스 및 제1 예시적인 모드 전환 세트를 나타내는 개략도이다;
도 12는 제2 예시적인 커맨드-응답 시퀀스 및 제2 예시적인 모드 전환 세트를 나타내는 개략도이다;
도 13은 예시적인 심박 핸드셰이킹 시퀀스와 이에 후속하는 칩이 데이터를 전송하고 있는 데이터 전송 모드로의 전환을 나타내는 타이밍도이다;
도 14는 예시적인 준비완료 핸드셰이킹 시퀀스(ready handshaking sequence)와 이에 후속하는 칩이 데이터를 전송하고 있는 데이터 전송 모드로의 전환을 나타내는 타이밍도이다;
도 15는 예시적인 준비완료 핸드셰이킹 시퀀스와 이에 후속하는 생체측정 모듈이 데이터를 전송하고 있는 데이터 전송 모드로의 전환을 나타내는 타이밍도이다;
도 16은 예시적인 칩 데이터 전송과 후속하는 핸드셰이킹 모드로의 전환을 나타내는 타이밍도이다;
도 17은 예시적인 생체측정 모듈 데이터 전송과 후속하는 핸드셰이킹 모드로의 전환을 나타내는 타이밍도이다;
도 18은 단말기와 비접촉식 또는 접촉식 통신할 수 있는 제2 예시적인 디바이스의 블록도로서, 이 디바이스는 인터페이스에 의해 접속된 칩 및 생체측정 모듈을 포함한다;
도 19는 외부 통신 모드로부터 데이터 전송 모드로의 전환을 트리거하기 위한 제1 예시적인 커맨드를 나타내는 타이밍도이다; 및
도 20은 외부 통신 모드로부터 데이터 전송 모드로의 전환을 트리거하기 위한 제2 예시적인 커맨드를 나타내는 타이밍도이다.
첨부된 도면들은 다양한 예를 나타낸다. 본 기술분야의 통상의 기술자라면, 도면들에서 예시된 요소 경계들(예를 들어, 상자들, 상자들의 그룹들, 또는 다른 형상들)은 경계들의 한 예를 나타낸다는 것을 이해할 것이다. 이는 일부 예에서, 하나의 요소는 복수의 요소로서 설계될 수 있거나 복수의 요소들은 하나의 요소로서 설계될 수 있다는 것일 수 있다. 유사한 피처들을 나타내기 위해, 적절한 경우, 도면들 전체에 걸쳐 공통의 참조 번호들이 이용된다.
이하의 설명은 본 기술분야의 통상의 기술자가 본 발명을 만들고 이용할 수 있도록 예시에 의해 제공된다. 본 발명은 여기서 설명된 실시예들로 제한되지 않으며, 개시된 실시예들에 대한 다양한 수정들이 본 기술분야의 통상의 기술자에게 명백할 것이다. 실시예들은 단지 예로서 설명된다.
전술된 바와 같이, 스마트 카드의 내장된 집적 회로 칩과 스마트 카드의 또 다른 컴포넌트(예를 들어, 생체측정 모듈) 사이의 알려진 인터페이스들 내의 많은 수의 와이어들은 스마트 카드들의 비용과 복잡성을 증가시키고, 접촉 패드들과 다른 컴포넌트(예를 들어, 생체측정 모듈) 사이의 안전하고 신뢰성 있는 접속을 어렵게 만드는 작은 접촉 패드들을 초래한다. 따라서, 작은 수의 도체 또는 와이어들을 갖는 인터페이스 및 그 인터페이스를 통해 동작하는 연관된 통신 프로토콜에 대한 요구가 있다.
따라서, 2개의 디바이스를 접속하기 위한 2-와이어 인터페이스 및 연관된 통신 프로토콜이 여기서 설명된다. 구체적으로, 제1 디바이스 및 제2 디바이스를 접속하기 위한 2-와이어 인터페이스가 여기서 설명되며, 여기서 인터페이스는 핸드셰이킹 모드 및 데이터 전송 모드에서 동작가능하다. 핸드셰이킹 모드에서 인터페이스의 제1 와이어는 제1 디바이스에 의해 구동되고 인터페이스의 제2 와이어는 제2 디바이스에 의해 구동되어 제1 및 제2 디바이스가 핸드셰이킹 시퀀스를 수행할 수 있다. 데이터 전송 모드에서 제1 와이어 및 제2 와이어 중 하나는 제1 및 제2 디바이스 중 하나에 의해 구동되어 클록 신호를 제공하고, 다른 와이어는 어느 디바이스가 데이터를 전송하고 있는지에 따라 제1 디바이스 또는 제2 디바이스에 의해 구동된다.
예를 들어, 데이터 전송 모드에서 제1 와이어는 제1 디바이스에 의해 구동되어 클록 신호를 제공할 수 있고, 제2 와이어는 어느 디바이스가 데이터를 전송하고 있는지에 따라 제1 디바이스 또는 제2 디바이스 중 어느 하나에 의해 구동될 수 있다(예를 들어, 제2 와이어는, 제1 디바이스가 데이터를 전송하고 있을 때 제1 디바이스에 의해 구동될 수 있고, 제2 와이어는 제2 디바이스가 데이터를 전송하고 있을 때 제2 디바이스에 의해 구동될 수 있다). 또 다른 예에서, 데이터 전송 모드에서, 제2 와이어는 제2 디바이스에 의해 구동되어 클록 신호를 제공할 수 있고, 제1 와이어는 어느 디바이스가 데이터를 전송하고 있는지에 따라 제1 디바이스 또는 제2 디바이스 중 어느 하나에 의해 구동될 수 있다. 따라서, 데이터 전송 모드에서 데이터 와이어는 반이중(half-duplex)이다, 즉, 제1 디바이스 또는 제2 디바이스가 데이터 와이어를 통해 데이터를 전송할 수 있지만, 양쪽 모두가 동시에 전송할 수는 없다.
데이터 전송 모드에서 클록 신호의 기능은 데이터 전송을 수행하는데 이용되는 통신 프로토콜에 따라 다를 수 있다. 특히, 데이터 전송이 SPI 프로토콜 등의 동기 통신 프로토콜에 따라 수행될 때, 클록 신호는, 전송기에 의한 데이터 와이어 상의 데이터 출력 및 수신기에 의한 데이터 와이어 샘플링을 트리거하는데 이용될 수 있다. 예를 들어, SPI 프로토콜에서, 클록 신호의 상승 엣지(또는 하강 엣지)는 데이터의 출력과 입력 데이터의 샘플링을 트리거한다. 대조적으로, 데이터 전송이 ISO 7816 UART 프로토콜 등의 비동기 통신 프로토콜에 따라 수행되는 경우, 클록 신호는 상이한 목적을 가질 수 있다. 예를 들어, ISO 7816 UART에서, 클록 신호는 전송기와 수신기 사이의 직렬 입력/출력(I/O)에 대한 보 레이트(baud rate) 클록을 도출하는데 이용되는 공통 기준 클록일 뿐이다.
따라서, 여기서 설명된 2-와이어 인터페이스는 2개의 모드(예를 들어, 핸드셰이킹 모드 및 데이터 전송 모드)에서 동작가능하고 인터페이스의 와이어들 중 하나는 2개의 모드에서 상이한 디바이스에 의해 구동될 수 있다. 즉, 와이어들 중 하나는 2개의 모드에서 방향을 변경할 수 있다. 예를 들어, 와이어들 중 하나는, 한 모드(예를 들어, 핸드셰이킹 모드)에서 제1 디바이스에 대한 입력 및 제2 디바이스의 출력인 것으로부터, 다른 모드(예를 들어, 데이터 전송 모드)에서 제1 디바이스의 출력 및 제2 디바이스의 입력인 것으로 변경될 수 있다.
핸드셰이킹 모드는 제1 및/또는 제2 디바이스가 필요하지 않을 때 제1 및/또는 제2 디바이스가 저전력 모드에서 동작하는 것을 허용할 수 있다. 예를 들어, 제1 디바이스가 커맨드-응답 기반의 동작을 통해 제2 디바이스의 동작을 제어하는 경우, 제2 디바이스가 커맨드를 실행하기(예를 들어, 생체측정 인증을 수행하기)를 제1 디바이스가 원할 때까지 제2 디바이스는 저전력 모드에서 동작할 수 있다. 이들 경우에, 제1 디바이스는 핸드셰이킹 시퀀스를 통해 그것이 필요하다는 것을 제2 디바이스가 알게 할 수 있다. 핸드셰이킹 시퀀스의 검출은 제2 디바이스가 그의 저전력 모드로부터 정상 동작 모드로 웨이크(wake)하게 할 수 있다. 유사하게, 제1 디바이스는 제2 디바이스가 제1 디바이스에 의해 내려진 커맨드를 실행하고 있는 동안 저전력 모드에 들어갈 수 있다. 이들 경우에, 제2 디바이스는 핸드셰이킹 시퀀스를 통해 커맨드 실행을 완료했다는 것을 제1 디바이스에 통보할 수 있다. 제1 디바이스에 의한 핸드셰이킹 시퀀스의 검출은 제1 디바이스가 그의 저전력 모드로부터 정상 동작 모드로 웨이크하게 할 수 있다. 이것은, 예를 들어 아래에서 더 상세히 설명되는 바와 같이, 제1 및 제2 디바이스가, 단말기로부터 무선으로 수신된 전력이 제한되게끔 단말기와 함께 비접촉식 모드로 동작하고 있는 스마트 카드의 일부를 형성할 때 특히 유용하다.
핸드셰이킹 모드는, 데이터 전송에 이용되는 통신 프로토콜에 따라, 또한 또는 대안으로서, 단일 데이터 와이어를 이용하여 데이터를 제1 디바이스로부터 제2 디바이스로 전송하고, 데이터를 제2 디바이스로부터 제1 디바이스로 전송하는 것을 허용할 수 있다. 구체적으로, 통신 프로토콜이 SPI 프로토콜과 같은 프로토콜이고, 각각의 디바이스는 전형적으로 데이터 전송을 위해 그 자신의 전용 와이어를 가지고 있어서 ―즉, 제1 디바이스로부터 제2 디바이스로 데이터를 전송하기 위한 와이어와, 제2 디바이스로부터 제1 디바이스로 데이터를 전송하기 위한 별개의 와이어―, 단일 데이터 와이어에 대한 전기적 경합이 있을 수 있는 경우, 핸드셰이킹 모드를 이용하여 상이한 디바이스에 의해 데이터 와이어가 구동되어야 하는 때를 시그널링하거나 표시할 수 있다. 이것은, 어느 디바이스가 데이터 와이어를 구동하는지에 관한 경합이 없는 ISO 7816 UART 등의 다른 통신 프로토콜들에서는 문제가 되지 않을 수 있다.
핸드셰이킹 모드는, 또한 또는 대안으로서, 데이터가 전송되기 전에 수신기가 명확하게 데이터를 수신할 준비가 되었음을 전송기에 통보하는데 이용될 수 있다. 이것은 디바이스들이 저전력 상태에 있을 수 있고 데이터가 디바이스에 전송되기 전에 저전력 상태에서 웨이크업(wake up)할 수 있는 경우에 특히 중요할 수 있다. 이것은, 디바이스를 저전력 모드로부터 완전히 어웨이크(awake)하는 시간이 다를 수 있고, 일단 어웨이크하여 정상 동작 모드에서 동작하더라도 가용 전력량이 낮으면 디바이스는 느리게 실행될 수 있기 때문이다. 따라서, 핸드셰이킹 신호를 이용하여 수신기가 데이터를 수신할 준비가 되었는지를 확인하지 않으면, 수신기가 준비되어 있지 않아 일부 데이터가 상실될 위험이 있다.
아래에 설명된 예들에서 2-와이어 인터페이스는, 단말기(예를 들어, 카드 판독기)와 통신할 수 있는 디바이스(예를 들어, 스마트 카드)의 내장된 집적 회로 칩과 생체측정 모듈 사이의 통신에 이용된다. 그러나, 내장된 집적 회로 칩 및 생체측정 모듈은 설명된 2-와이어 인터페이스들을 이용하여 통신할 수 있는 예시적인 제1 및 제2 디바이스일 뿐이며, 여기서 설명된 2-와이어 인터페이스들은 임의의 2개의 디바이스들 사이의 통신에 이용될 수 있다는 것은 본 기술분야의 통상의 기술자에게 명백할 것이다.
이제 제1 기능을 수행하기 위해 접촉식 또는 비접촉식 인터페이스를 통해 단말기(102)와 통신할 수 있는 한 예시적인 디바이스(100)를 나타내는 도 1을 참조한다.
디바이스(100) 및 단말기(102)는 많은 폼 팩터들 중 하나를 취할 수 있다. 디바이스(100)는, 예를 들어, 스마트 카드, ID 카드, 여권, 포브(fob), 동글, 보안 토큰(예를 들어, USB 토큰) 등일 수 있다. 대안으로서, 디바이스(100)는, 모바일 전화 또는 스마트폰; 팔찌, 시계, 장갑/장갑쌍, 핀(예를 들어, 브로치), 뱃지 등의 착용형 디바이스 또는 어떤 다른 비접촉식 착용형 디바이스 등의, 통신 디바이스에 통합될 수 있다. 단말기(102)는, 예를 들어, POS(point-of-sale) 단말기 등의 카드 판독기, 금전 등록기, ATM 머신, 컴퓨터, 스마트폰 등일 수 있다. 일부 예에서, 디바이스는 근접성 집적 회로 카드(PICC; proximity integrated circuit card)일 수 있고, 단말기는 근접성 결합 디바이스(PCD; proximity coupling device)일 수 있다.
디바이스(100)는, 안테나(104), 칩(106), 생체측정 모듈(108) 및 하나 이상의 접촉식 요소(110)를 포함한다. 칩(106)은 디바이스(100) 내에 내장되고, 예를 들어 보안 요소(Secure Element)일 수 있다. 생체측정 모듈(108)은 또한, 디바이스(100) 내에 내장될 수 있다. 이 예에서, 생체측정 모듈(108)은 칩(106)과는 물리적으로 별개의 컴포넌트이다. 칩(106) 및 생체측정 모듈(108) 각각은, 디바이스(100)에 내장된 상응하는 집적 회로 칩들 상에서 구현될 수 있다. 생체측정 모듈(108) 및 칩(106)은, 일반적으로 112에 도시된 2-와이어 인터페이스에 의해 서로 접속된다. 2-와이어 인터페이스의 예시적인 구현들은 아래에 설명되어 있다.
디바이스(100)는, 디바이스(100)가 비접촉식 모드에서 동작 중일 때는 안테나(104)를 통해, 및 접촉식 모드에서 동작 중일 때는 접촉식 요소(들)(110)를 통해, 단말기(102)와 통신한다(예를 들어, 단말기에 메시지를 전송하거나 및/또는 단말기로부터 메시지를 수신한다). 단일의 접촉식 요소(110)가 도 1에 도시되어 있지만, 다른 예들에서는 복수의 접촉식 요소가 있을 수 있다.
접촉식 요소(들)(110)는, 하나 이상의 전도성 링크 또는 요소 등의 그러나 이것으로 제한되지 않는, 임의의 적절한 수단에 의해 칩(106)에 접속된다. 접촉식 요소(들)(110)는, 접촉식 요소(들)(110)가 단말기(102)의 대응하는 요소들과 적절한 물리적 접촉에 있을 때 디바이스(100)가 단말기(102)와 통신하고 이로부터 전력을 수신하는 것을 허용한다. 따라서, 디바이스(100)가 접촉식 모드에서 동작 중일 때, 칩(106)은 접촉식 요소(들)(110)를 통해 단말기(102)로부터 전력을 수신한다. 일부 경우에, 디바이스(100)는 접촉식 모드에서 동작 중일 때 ISO 7816 표준에 따라 단말기(102)와 통신할 수 있다.
도 1에 도시된 예에서, 접촉식 요소(들)(110)는 또한, 생체측정 모듈(108)에 접속되어, 생체측정 모듈(108)이 접촉식 요소(들)(110)로부터 전력을 수신할 수 있게 한다. 그러나, 다른 예들에서, 접촉식 요소(들)(110)는 칩(106)이 접촉식 모드에서 동작 중일 때 단말기(102)로부터 전력을 수신하고 그 내부 컴포넌트들에 전력을 공급하고 생체측정 모듈(108)에 전력을 공급하기 위해 수신된 전력을 관리하도록 칩(106)에만 접속될 수 있다.
유사하게, 안테나(104)는, 하나 이상의 전도성 링크 또는 요소 등의 그러나 이것으로 제한되지 않는, 임의의 적절한 수단에 의해 칩(106)에 접속된다. 안테나(104)는, 디바이스(100)가 단말기(102)의 적절한 근접성 또는 범위 내에 있을 때 디바이스(100)가 단말기(102)와 무선으로 통신하고 단말기(102)로부터 전력을 수집하는 것을 허용한다. 구체적으로, 칩(106)은, 전력 수집 유닛(114), 트랜시버 모뎀(116), 전력 관리 유닛(118) 및 접촉식 인터페이스 회로(120)를 포함한다. 일부 경우에, 안테나(104)는 또한, 예를 들어 전도성 링크들 또는 요소들 등의 그러나 이것으로 제한되지 않는, 물리적 링크들에 의해 생체측정 모듈(108)에 접속될 수 있다. 이들 경우에, 생체측정 모듈(108)은 수신된 무선 신호로부터 전력을 수집하기 위한 그 자신의 전력 수집 유닛을 포함한다. 그러나, 다른 경우들에, 안테나(104)는 칩(106)에만 접속될 수 있고 칩(106)은 수신된 무선 신호로부터 수집된 전력을 칩(106) 및 생체측정 모듈(108)에 분배하도록 구성될 수 있다.
전력 수집 유닛(114)은, 디바이스(100)가 비접촉식 모드에서 동작 중일 때 안테나(104)에 의해 수신되는 단말기(102)에 의해 방출된 무선 신호로부터 전력을 수집하도록 구성된다. 전력 수집 유닛(114)은, 예를 들어, 단말기(102)에 의해 방출된 수신된 신호로부터 전압을 유도할 수 있다. 그 유도 전압은, 칩(106) 및 생체측정 모듈(108)의 다른 컴포넌트들에 공급될 수 있다. 단말기(102)로부터 방출되는 무선 신호는, 무선 통신 표준에 의해 통제되는 무선 주파수(RF) 신호일 수 있다. 한 예에서, 무선 신호는 근접장 통신(NFC; Near Field Communication) 신호일 수 있다.
트랜시버 모뎀(116)은, 디바이스(100)가 비접촉식 모드에서 동작 중일 때 단말기(102)로의 메시지 전송 및 단말기(102)로부터의 메시지 수신을 관리하도록 구성된다. 구체적으로, 단말기(102)는, 전송하고자 하는 데이터로 캐리어 신호를 변조(예를 들어, 진폭 변조)함으로써 디바이스(100)에 데이터를 전송하도록 구성될 수 있다. 이들 경우에, 모뎀(116)은 수신된 신호를 복조(예를 들어, 그 진폭을 복조)함으로써 수신된 무선 신호로부터 데이터를 추출하도록 구성될 수 있다.
유사하게, 모뎀(116)은, 칩(106)에 의해 생성된 데이터를 단말기로부터 방출된 무선 신호로 변조함으로써 단말기에 메시지들을 전송하도록 구성될 수 있다. 일부 경우에, 모뎀(116)은 변조된 부하를 안테나(104)에 인가함으로써 수신된 신호를 변조하도록 구성될 수 있다. 디바이스에서의 안테나 부하 변조는, 그 변조에 따라 수신된 신호로부터 인출된 전력을 변화시킨다. 인출된 전력의 변화들은 단말기(102)에 의해 검출될 수 있고 데이터로 해석될 수 있다.
전력 관리 유닛(PMU; power management unit)(118)은, 칩(106)에 의한 (비접촉식 모드에서 전력 수집 유닛(114)에 의해 수집되거나 접촉식 모드에서 접촉식 요소(들)(110)를 통해 공급되는) 전력의 이용을 관리 또는 제어하도록 구성된다. PMU(118)는, 칩(106)의 다른 컴포넌트들이 그들의 작업을 수행하기 위해 소비하는 전력을 제어할 수 있다. 생체측정 모듈(108)이 안테나(104) 또는 접촉식 요소(들)(110)에 접속되지 않은 경우들에서, PMU는 또한, 단말기(102)로부터 수신되거나 수집된 전력의, 생체측정 모듈(108)로의 공급을 제어할 수 있다.
칩(106)은, 접촉식 모드에서 동작 중일 때 단말기(102)로의 메시지들의 전송 및 단말기(102)로부터의 메시지들의 수신을 관리하는 접촉식 인터페이스 회로(120)를 추가로 포함한다. 접촉식 인터페이스 회로(120)는, 디바이스(100)가 접촉식 모드에서 동작 중일 때 칩(106)과 단말기(102) 사이의 통신들이 임의의 관련 표준들(예를 들어, ISO 7816 표준)을 충족하게끔 보장하도록 구성될 수 있다.
생체측정 모듈(108)은 사용자의 생체측정 데이터에 기초하여 사용자의 생체측정 인증을 수행하도록 구성된다. 구체적으로, 생체측정 모듈(108)은 생체측정 센서(122)를 포함한다. 생체측정 센서(122)는, 사용자를 생체측정으로 식별하거나 인증하는데 이용될 수 있는 사용자의 생체측정 데이터를 캡처하도록 구성된다. 생체측정 센서(122)로부터 획득된 생체측정 데이터에 기초한 생체측정 인증은 생체측정 모듈(108) 및/또는 칩(106)에 의해 수행될 수 있다. 생체측정 모듈(108) 및/또는 칩(106)에 의해 수행될 수 있는 예시적인 생체측정 식별들은, 지문 인식; 홍채 인식; 정맥 인식; 망막 인식; 음성 인식; 행동 인식; 얼굴 인식 등을 포함하지만 이것으로 제한되지 않는다. 어떤 경우에는, 생체측정 인증이 칩(106)에 의해 수행되는 제1 기능의 일부로서 또는 제1 기능과 연계하여 수행될 수 있다. 예를 들어, 일부 경우에 생체측정 인증은 칩(106)으로부터 생체측정 인증을 수행하라는 요청에 응답하여 생체측정 모듈(108)에 의해 수행될 수 있다.
이것은 단말기와 통신할 수 있는 디바이스의 한 예일 뿐이며, 다른 예들에서는, 디바이스가 비접촉식 모드에서만 동작할 수 있도록 디바이스가 접촉식 요소(들) 및 접촉식 인터페이스 회로를 포함하지 않거나, 디바이스가 접촉식 모드에서만 동작할 수 있도록 디바이스가, 안테나, 전력 수집 유닛 및 트랜시버 모뎀을 포함하지 않을 수 있다는 것이 본 기술분야의 통상의 기술자에게 명백할 것이다.
이제 도 1의 생체측정 모듈(108)의 예시적인 구현을 나타내는 도 2를 참조한다. 전술된 바와 같이, 생체측정 모듈(108)은 디바이스(100)의 사용자를 생체측정으로 식별하거나 인증하도록 구성된다. 생체측정 모듈(108)은, 전력 관리 유닛(202), 제어 유닛(204), 생체측정 제어기(206), 및 생체측정 센서(122)를 포함한다. 일부 경우에(예를 들어, 칩(106)과 생체측정 모듈(108) 양쪽 모두가 안테나(104)에 접속되는 아키텍쳐를 디바이스(100)가 채택하는 경우), 생체측정 모듈(108)은 또한 전력 수집 유닛(208)을 포함할 수 있다. 생체측정 모듈(108)의 컴포넌트들은 임의의 적절한 수단을 통해(예를 들어, 개개의 통신 링크들을 통해 또는 하나 이상의 컴포넌트에 공통인 버스를 통해) 상호접속될 수 있다.
여기서 설명된 예들에서, 생체측정 모듈(108)은 그 자체 전원 또는 서플라이(supply)를 갖고 있지 않으며, 디바이스(100)가 접촉식 모드에서 동작 중일 때에는 접촉식 요소(들)(110)로부터 또는 디바이스(100)가 비접촉식 모드에서 동작 중일 때에는 안테나(104)로부터 수신된 전력에 의존하며, 이것은 각각 접촉식 요소(들)(110) 또는 안테나(104)로부터 직접 수신되거나 칩(106)을 통해 수신될 수 있다. 따라서, 전력 관리 유닛(202)은, 디바이스(100)가 접촉식 모드에서 동작 중일 때에는 접촉식 요소(들)로부터, 디바이스(100)가 비접촉식 모드에서 동작 중일 때에는 전력 수집 유닛(208)(생체측정 모듈(108)이 이것을 갖는 경우)으로부터, 및/또는 칩(106)으로부터 전력을 수신할 수 있고, 생체측정 모듈(108)의 컴포넌트들에 대한 전력 분배를 관리하거나 제어한다. 일부 경우에, 디바이스(100)가 비접촉식 모드에서 동작 중일 때, 전력 관리 유닛(202)은 전력 수집 유닛(208)에 의해 수집된 전력으로부터 정류된 전압을 수신한다.
전력 관리 유닛(202)은, 제어 유닛(204), 생체측정 제어기(206), 및 생체측정 센서(122) 각각에 물리적으로 접속될 수 있다. 이것은 전력 관리 유닛(202)이 이들 컴포넌트 각각에 개별적으로 공급되는 전력을 제어하는 것을 허용한다. 생체측정 모듈(108) 내에 전력 관리 유닛(202)을 포함시키는 것은 또한, 생체측정 모듈(108)이 칩(106)과는 독립적으로 그 내부 컴포넌트들 각각의 전력 소비를 제어할 수 있게 한다.
생체측정 센서(122)는, 사용자를 식별하거나 인증하는데 이용될 수 있는 사용자의 생체측정 데이터를 캡처하도록 구성된다. 일부 예에서, 생체측정 센서(122)는 생체측정 소스의 이미지들을 캡처함으로써 생체측정 데이터를 캡처할 수 있다. 생체측정 센서(122)는, 예를 들어, 지문 센서(단면 또는 양면 센서), 망막 센서, 홍채 센서, 정맥 센서, 얼굴 센서, 또는 음성/오디오 센서 등일 수 있다.
생체측정 제어기(206)는 생체측정 센서(122)의 동작을 제어하도록 구성된다. 생체측정 제어기(206)는, 예를 들어, 센서가 생체측정 데이터(예를 들어, 지문 패턴, 망막 패턴, 홍채 패턴 등)를 캡처하는 취득 모드에 진입할 것을 생체측정 센서(122)에게 지시하도록 구성될 수 있다. 생체측정 제어기(206)는 생체측정 센서(122)에 의해 캡처된 임의의 데이터를 수신하고 캡처된 데이터를 제어 유닛(204)에 제공할 수 있다. 일부 경우에, 생체측정 제어기(206)는, 취득 상태 및 저전력 상태를 포함한 복수의 상태들 사이에서 생체측정 센서(122)를 전환할 수 있을 것이다. 일부 경우에, 생체측정 제어기(206)는 ASIC(application-specific integrated circuit)에 의해 구현될 수 있다.
제어 유닛(204)은, 사용자의 생체측정 인증을 수행하기 위해 다른 컴포넌트들(생체측정 제어기(206) 및 생체측정 센서(122))를 제어하도록 구성된다. 구체적으로, 제어 유닛(204)은: (i) 생체측정 인증을 수행하는데 이용할 수 있는 사용자의 생체측정 데이터를 획득하기 위해 생체측정 제어기(206)를 통해 생체측정 센서(122)의 동작을 제어하고; (ii) 생체측정 센서(122)에 의해 캡처된 생체측정 데이터를 저장된 템플릿 데이터와 비교하는 생체측정 정합을 수행하여 사용자가 생체측정으로 식별되거나 인증되는지를 결정하도록 구성될 수 있다. 일부 경우에, 제어 유닛(204)은 마이크로제어기 유닛(MCU)으로서 구현될 수 있다.
일부 경우에, 제어 유닛(204)은, 칩(106)으로부터 생체측정 인증을 수행하라는 요청을 수신하는 것에 응답하여 및/또는 (예를 들어, 전력 관리 유닛(202)으로부터 수신된 정보로부터) 생체측정 모듈(108)이 인에이블되기에 충분한 전력을 수신했다는 결정에 응답하여, 사용자를 생체측정으로 인증하는데 이용하기 위한 사용자의 생체측정 데이터를 (생체측정 제어기(206)를 통해) 생체측정 센서(122)가 캡처하게 하도록 구성될 수 있다.
제어 유닛(204)은 임의의 적절한 방식으로 생체측정 정합을 수행하도록 구성될 수 있다. 예를 들어, 생체측정 센서(122)에 의해 캡처된 생체측정 데이터가 이미지인 경우, 제어 유닛(204)은 생체측정 센서(122)에 의해 캡처된 이미지를 저장된 하나 이상의 템플릿 이미지와 비교하기 위해 이미지 정합을 수행할 수 있다. 템플릿 이미지는 신뢰할 수 있는 이미지이다. 이미지는 디바이스(100)의 사용자에게 속하는 생체측정 소스로서 간주된다는 의미에서 신뢰할 수 있다. 이미지 정합을 수행하기 위해, 제어 유닛(204)은 하나 이상의 추출된 피처 세트를 식별하기 위해 캡처된 이미지에 관해 피처 추출을 수행할 수 있다. 그 다음, 추출된 피처들은 템플릿 이미지(들)의 피처들과 비교되어 캡처된 이미지가 템플릿 이미지와 정합하는지를 결정한다. 제어 유닛(204)은, 예를 들어, 이미지들의 피처들을 비교하여 캡처된 이미지에 대한 정합 점수를 결정할 수 있다. 캡처된 이미지는, 정합 점수가 미리결정된 임계값을 초과하는 경우 템플릿 이미지(들)와 정합하는 것으로 간주될 수 있다.
제어 유닛(204)은 사용자가 생체측정으로 인증되었다는 표시를 칩(106)에 전달할 수 있다. 그 다음, 칩(106)은 디바이스(100)의 사용자가 단말기(102)에 인증되었다는 표시를 다시 단말기(102)에 전달할 수 있다. 카드 사용자의 인증은, 디바이스(100)와 연관된 주요 기능이 완료될 수 있게 할 수 있다. 대안으로서, 제어 유닛(204)은 사용자가 성공적으로 인증되지 않았다는 것을 칩(106)에 전달할 수 있고, 이 경우 디바이스(100)와 연관된 1차 기능은 진행되지 않거나 변경된 방식으로 진행될 수 있다.
한 대안적인 예에서, 생체측정 정합을 수행하는 프로세스는, 생체측정 모듈(108)이 아니라 칩(106)에 의해 수행될 수 있다. 구체적으로, 생체측정 센서(122)에 의해 캡처된 생체측정 데이터는 칩(106)에 전송될 수 있고, 그 다음, 칩(106)은 생체측정 정합을 수행한다. 따라서, 이들 예에서 생체측정 인증은 칩(106)과 생체측정 모듈(108) 양쪽 모두에 의해 수행된다.
이제 칩(106)과 생체측정 모듈(108) 사이의 인터페이스(112)를 구현하는데 이용될 수 있는 2-와이어 인터페이스(300)의 제1 예시적인 구현을 나타내는 도 3을 참조한다. 인터페이스(300)는 제1 와이어 또는 도체(302) 및 제2 와이어 또는 도체(304)를 포함한다. 인터페이스(300)는 핸드셰이킹 모드와 데이터 전송 모드에서 동작가능하다. 핸드셰이킹 모드에서 제1 와이어(302)는 칩(106)에 의해 구동되고 제2 와이어(304)는 생체측정 모듈(304)에 의해 구동되어 핸드셰이킹 시퀀스를 수행한다. 따라서, 핸드셰이킹 모드에서 제1 와이어는 HSO(handshake out; 핸드셰이킹 아웃) 신호들을 전송하는데 이용되고 제2 와이어는 HSI(handshake in; 핸드셰이킹 인) 신호들을 전송하는데 이용된다. 본 명세서에서 사용된 "핸드셰이킹 시퀀스"라는 용어는, 프로세스의 다음 스테이지가 무엇인지 및/또는 언제 시작할 것인지를 확립하기 위한 칩(106)과 생체측정 모듈(108) 사이의 2개 이상의 신호 또는 전환의 규정된 시퀀스를 의미하기 위해 사용된다. 일반적으로 핸드셰이킹 시퀀스 동안 칩(106)과 생체측정 모듈(108) 사이에서 어떠한 실질적인 데이터도 교환되지 않는다. 아래에서 더 상세히 설명되는 바와 같이, 핸드셰이킹 시퀀스가 수행되어, 커맨드-응답 시퀀스를 개시하고, 하나의 디바이스가 데이터를 수신하거나 데이터를 전송할 준비가 되었음 등을 나타낼 수 있다.
데이터 전송 모드에서, 제1 와이어(302)는 칩(106)에 의해 구동되어 클록 신호를 제공하고, 제2 와이어(304)는 칩(106) 또는 생체측정 모듈(108)이 데이터를 전송하고 있는지에 따라 칩(106) 또는 생체측정 모듈(108) 중 어느 하나에 의해 구동된다. 예를 들어, 칩(106)이 생체측정 모듈(108)에 데이터를 전송하고 있다면, 칩(106)이 제2 와이어(304)를 구동하고; 생체측정 모듈(108)이 칩(106)에 데이터를 전송하고 있다면, 생체측정 모듈(108)이 제2 와이어(304)를 구동한다. 따라서, 도 3의 인터페이스(300)에서, 제1 와이어(302)는 항상 칩(106)에 의해 구동되고(즉, 칩(106)의 출력임); 제2 와이어(304)는 칩(106) 또는 생체측정 모듈(108) 중 어느 하나에 의해 구동될 수 있다(즉, 칩(106) 또는 생체측정 모듈(108)의 출력임).
일부 경우에, 칩(106) 및 생체측정 모듈(108)이 데이터 전송 모드에서 인터페이스(300)를 동작시키고 있을 때, 칩(106) 및 생체측정 모듈(108)은 SPI 데이터 전송(즉, SPI 프로토콜에 따른 데이터 전송)을 수행하도록 구성된다. 따라서, 이들 경우에 인터페이스(300)가 데이터 전송 모드에서 동작 중일 때 인터페이스(300)는 SPI 인터페이스로서 역할한다. 본 기술분야의 통상의 기술자에게 알려진 바와 같이, SPI 인터페이스는 단거리 통신에 이용되는 동기 직렬 통신 인터페이스 명세이다. SPI 인터페이스는 종종 4-와이어 인터페이스로 구현되며, 여기서, 제1 와이어는 (SPI CLK, SCLK 또는 SCK라고도 지칭될 수 있는) 클록 신호를 전송하는데 이용되고, 제2 와이어는 (복수의 슬레이브가 있는 경우) 슬레이브를 선택하는데 이용되는 (CS라고도 지칭될 수 있는) 칩 선택 신호를 전송하는데 이용되고, 제3 와이어는 마스터 출력, 슬레이브 입력(MOSI) 신호를 전송하는데 이용되며, 제4 와이어는, 마스터 입력, 슬레이브 출력(MISO) 신호를 전송하는데 이용된다. 클록을 생성하는 디바이스는 마스터이며 마스터와 슬레이브 사이에 전송되는 데이터는 마스터에 의해 생성된 클록에 동기화된다. 인터페이스(300)가 SPI 데이터 전송 모드에서 동작 중일 때, 제1 와이어(302)는 SCLK 또는 SCK(직렬 클록) 신호를 제공하는데 이용되고, 제2 와이어(304)는 칩(106) 또는 생체측정 모듈(108)이 데이터를 전송하고 있는지에 따라 MISO 또는 MOSI 신호를 전송하는데 이용된다.
일부 경우에, 칩(106)은 커맨드-응답 기반의 동작 또는 방법을 통해 생체측정 모듈(108)을 제어하도록 구성될 수 있다. 본 기술분야의 통상의 기술자에게 알려진 바와 같이, 커맨드-응답 동작에서, 커맨드-응답 시퀀스는 호스트 또는 마스터(예를 들어, 칩(106))가 커맨드를 슬레이브(예를 들어, 생체측정 모듈(108))에 전송함으로써 개시된다. 커맨드를 수신하는 것에 응답하여, 슬레이브(예를 들어, 생체측정 모듈(108))는 커맨드를 실행하고 응답을 다시 마스터(예를 들어, 칩(106))에 전송한다. 일부 경우에, 칩(106)과 생체측정 모듈(108) 사이의 커맨드-응답 시퀀스 동안, 인터페이스(300)의 적어도 하나의 모드 전환이 있다. 구체적으로, 이들 경우에, 칩(106) 및 생체측정 모듈(108)은 핸드셰이킹 모드에서 인터페이스(300)를 동작시키는 것으로부터 데이터 전송 모드에서 인터페이스(300)를 동작시키는 것으로 전환하거나; 및/또는 데이터 전송 모드에서 인터페이스(300)를 동작시키는 것으로부터 핸드셰이킹 모드에서 인터페이스(300)를 동작시키는 것으로 적어도 한 번 전환하도록 구성될 수 있다. 예를 들어, 일부 경우에, 칩(106) 및 생체측정 모듈(108)은, 핸드셰이킹 모드의 인터페이스로 시작하고, 핸드셰이킹 시퀀스를 완료한 후, 칩(106)이 커맨드를 개시(예를 들어, 커맨드 또는 커맨드 헤더를 전송)할 수 있도록 인터페이스(300)를 데이터 전송 모드로 전환하도록 구성될 수 있다. 그 다음, 인터페이스(300)는 커맨드-응답 시퀀스가 완료될 때까지(예를 들어, 생체측정 모듈(108)이 커맨드에 대한 응답을 전송함) 핸드셰이킹 모드와 데이터 전송 모드 간에 교대할 수 있다. 커맨드-응답 시퀀스의 상이한 포인트들에서 수행되는 상이한 핸드셰이킹 시퀀스들이 있을 수 있다.
이제 예시적인 커맨드-응답 시퀀스 및 커맨드-응답 시퀀스 동안 발생할 수 있는 모드 전환을 나타내는 도 4를 참조한다. 이 예에서, 긴 직사각형(402)은 인터페이스(300)가 핸드셰이킹 모드에서 동작 중임을 나타내는데 이용된다; 상위의 짧은 직사각형(404)은 인터페이스(300)가 데이터 전송 모드에서 동작 중이고 칩(106)이 제2 와이어(304)를 구동하고 있다는 것(즉, 칩(106)이 데이터를 전송하고 있다는 것)을 나타내는데 이용되며; 하위의 짧은 직사각형(406)은 인터페이스(300)가 데이터 전송 모드에서 동작 중이고 생체측정 모듈(108)이 제2 와이어(304)를 구동하고 있다는 것(즉, 생체측정 모듈(108)이 데이터를 전송하고 있다는 것)을 나타내는데 이용된다); 타원(408)은 모드 전환을 나타내는데 이용된다.
도 4의 예에서, 인터페이스(300)는, 칩(106) 및 생체측정 모듈(108)이 심박 핸드셰이킹 시퀀스를 수행하는 핸드셰이킹 모드(4021)에서 시작한다는 것을 알 수 있다. 일부 경우에, 심박 핸드셰이킹 시퀀스는, 생체측정 모듈(108)이 어떤 작업을 수행하기를(예를 들어, 동작을 수행하거나 커맨드를 실행하기를) 칩(106)이 원한다는 것을 생체측정 모듈(108)에 통보하고 생체측정 모듈(108)이 커맨드를 수행할 준비가 되었음을 확인하기 위해 수행될 수 있다. 일부 경우에, 생체측정 모듈(108)이 칩(106)과 함께 커맨드-응답 시퀀스를 실행하고 있지 않을 때, 생체측정 모듈(108)은 저전력 모드에 들어갈 수 있다. 이들 경우에, 심박 핸드셰이킹 시퀀스는 생체측정 모듈(108)이 저전력 모드에서 웨이크하게 할 수 있다.
일단 심박 핸드셰이킹 시퀀스가 완료되고 나면, 인터페이스(300)는 칩(106)이 커맨드 헤더를 전송하는 데이터 전송 모드(4041)로 전환된다(4081). 커맨드 헤더는 생체측정 모듈(108)에 의해 실행될 커맨드(예를 들어, 생체측정 모듈에 의해 수행될 동작)를 명시할 수 있다. 예를 들어, 커맨드 헤더는, 생체측정 모듈(108)이 디바이스(100)의 사용자의 생체측정 인증을 수행할 것임을 명시할 수 있다. 일단 커맨드 헤더가 전송되고 나면, 인터페이스는 준비완료 핸드셰이킹 시퀀스가 수행되는 핸드셰이킹 모드(4022)로 다시 전환된다(4082). 준비완료 핸드셰이킹 시퀀스는 생체측정 모듈(108)이 데이터를 전송할 준비가 되었음을 나타내기 위해 수행될 수 있다. 일단 준비완료 핸드셰이킹 시퀀스가 수행 완료되고 나면, 인터페이스(300)는 생체측정 모듈(108)이 커맨드 헤더의 확인응답을 전송하는 데이터 전송 모드(4061)로 전환된다(4083). 일단 확인응답이 전송되고 나면, 인터페이스(300)는, 커맨드 데이터가 커맨드 헤더에 추가하여 생체측정 모듈에 전송되어야 하는지에 따라, 4084 또는 4086에서 핸드셰이킹 모드(4023 또는 4024)로 전환된다.
구체적으로, 일부 경우에, 커맨드를 실행할 때 생체측정 모듈(108)에 의해 이용될 커맨드 헤더 이후에 추가 정보(일반적으로 커맨드 데이터라고 지칭될 수 있음)가 생체측정 모듈에 제공될 수 있다. 커맨드 데이터는, 예를 들어, 커맨드 헤더에 명시된 커맨드를 실행하기 위한 파라미터 및/또는 커맨드를 실행할 때 생체측정 모듈(108)에 의해 이용될 정보를 명시할 수 있다. 이들 경우에, 커맨드 헤더의 확인응답이 생체측정 모듈(108)에 의해 전송된 후, 인터페이스(300)는 준비완료 핸드셰이킹 시퀀스가 수행될 수 있는 핸드셰이킹 모드(4023)로 전환된다(4084). 준비완료 핸드셰이킹 시퀀스는 생체측정 모듈(108)이 데이터를 수신할 준비가 되었음을 나타내기 위해 수행될 수 있다. 일단 준비완료 핸드셰이킹 시퀀스가 완료되고 나면, 인터페이스(300)는 칩(106)이 커맨드 데이터를 전송하는 데이터 전송 모드(4042)로 전환된다(4085). 일단 커맨드 데이터가 전송되고 나면, 인터페이스(300)는 핸드셰이킹 모드(4024)로 다시 전환된다. 그러나, 어떠한 커맨드 데이터도 없는 경우, 커맨드 헤더의 확인응답이 전송된 후, 인터페이스(300)는 4086에서 핸드셰이킹 모드(4024)로 전환될 수 있다.
일단 핸드셰이킹 모드(4024)에 있게 되면, 생체측정 모듈(108)이 커맨드를 실행하는 동안 커맨드 실행 핸드셰이킹 시퀀스가 실행될 수 있고, 일단 커맨드가 생체측정 모듈(108)에 의해 실행되고 나면, 준비완료 핸드셰이킹 시퀀스가 수행될 수 있다. 준비완료 핸드셰이킹 시퀀스는 생체측정 모듈(108)이 이제 데이터를 전송할 준비가 되었음을 나타내기 위해 수행될 수 있다.
일단 준비완료 핸드셰이킹 시퀀스가 수행되고 나면, 인터페이스(300)는 생체측정 모듈(108)이 응답 헤더를 전송하는 데이터 전송 모드(4062)로 전환된다(4087). 일단 응답 헤더가 전송되고 나면, 인터페이스(300)는 준비완료 핸드셰이킹 시퀀스가 수행되는 핸드셰이킹 모드(4025)로 다시 전환된다(4088). 준비완료 핸드셰이킹 시퀀스는 생체측정 모듈(108)이 데이터를 수신할 준비가 되었음을 나타내기 위해 수행될 수 있다. 일단 준비완료 핸드셰이킹 시퀀스가 완료되고 나면, 인터페이스(300)는 칩(106)이 응답 헤더의 확인응답을 전송하는 데이터 전송 모드(4043)로 전환된다. 일단 확인응답이 전송되고 나면, 인터페이스(300)는 응답 헤더에 추가하여 응답 데이터가 칩(106)에 전송되어야 하는지에 따라 40810 또는 40812에서 핸드셰이킹 모드(4026 또는 4027)로 전환된다.
구체적으로, 일부 경우에, (응답 데이터라고 지칭될 수 있는) 추가 정보가 응답 헤더 이후에 칩(106)에 제공될 수 있다. 이들 경우에, 응답 헤더의 확인응답이 칩(106)에 의해 전송된 후, 인터페이스(300)는 준비완료 핸드셰이킹 시퀀스가 수행될 수 있는 핸드셰이킹 모드(4026)로 전환된다(40810). 준비완료 핸드셰이킹 시퀀스는 생체측정 모듈(108)이 데이터를 전송할 준비가 되었음을 나타내기 위해 수행될 수 있다. 일단 준비완료 핸드셰이킹 시퀀스가 완료되고 나면, 인터페이스(300)는 생체측정 모듈(108)이 응답 데이터를 전송하는 데이터 전송 모드(4063)로 전환된다(40811). 일단 응답 데이터가 전송되고 나면, 인터페이스(300)는, 칩(106)이 예를 들어 또 다른 커맨드-응답 시퀀스를 개시하기 위해 심박 핸드셰이킹 시퀀스를 시작할 수 있는 핸드셰이킹 모드(4027)로 다시 전환된다(40812). 일단 생체측정 모듈(108)이 응답 데이터를 전송하고 나면, 생체측정 모듈(108)은 저전력 모드에 들어갈 수 있다. 그러나, 어떠한 응답 데이터도 없는 경우, 응답 헤더의 확인응답이 전송된 후, 인터페이스(300)는 칩(106)이 예를 들어 또 다른 커맨드-응답 시퀀스를 개시하기 위해 심박 핸드셰이킹 시퀀스를 시작할 수 있는 핸드셰이킹 모드(4027)로 40812에서 전환될 수 있다. 이 경우, 생체측정 모듈(108)은 일단 응답 헤더 확인응답을 수신하고 나면 저전력 모드에 들어가도록 구성될 수 있다.
일부 경우에, 도 4에 도시된 바와 같이, 핸드셰이킹 모드에서 인터페이스(300)를 동작시키는 것으로부터 데이터 전송 모드에서 인터페이스(300)를 동작시키는 것으로의 전환은, 핸드셰이킹 시퀀스(예를 들어, 심박 핸드셰이킹 시퀀스, 준비완료 핸드셰이킹 시퀀스)의 완료에 의해 트리거될 수 있다. 이들 경우에, 칩(106) 및 생체측정 모듈(108)이 데이터 전송 모드에서 인터페이스(300)를 동작시키도록 스스로를 재구성하기에 충분한 시간을 갖도록 보장하기 위해, 칩(106) 및 생체측정 모듈(108)은, 핸드셰이킹 시퀀스가 완료된 후 핸드셰이킹-대-데이터 임계값 시간량이 경과한 후에만 데이터 전송 모드에서 인터페이스(300)를 동작시키도록 구성될 수 있다. 핸드셰이킹-대-데이터 임계값은 경험적으로 결정될 수 있다.
핸드셰이킹 모드에서 인터페이스를 동작시키는 것으로부터 데이터 전송 모드에서 인터페이스를 동작시키는 것으로의 전환이 상이한 디바이스/모듈로 하여금 핸드셰이킹 모드가 아니라 데이터 전송 모드에서 제2 와이어를 구동하게 하는 경우(예를 들어, 생체측정 모듈(108)이 제2 와이어를 구동하는 핸드셰이킹 모드로부터 칩(106)이 제2 와이어를 구동하는 데이터 전송 모드로의 전환이 있는 경우), 생체측정 모듈(108)은 핸드셰이킹 시퀀스 완료 후 핸드셰이킹-대-비구동 임계값 시간량이 경과한 후에 제2 와이어 구동을 중단하도록 구성될 수 있다. 핸드셰이킹-대-비구동 임계값은 핸드셰이킹-대-데이터 임계값보다 작게 선택될 수 있어, 핸드셰이킹 시퀀스의 완료 후 소정 기간 동안 제2 와이어가 구동되지 않게 한다. 이것은, 핸드셰이킹 모드로부터 데이터 전송 모드로 전환할 때 제2 와이어에 대한 경합을 피한다.
일부 경우에, 도 4에 도시된 바와 같이, 데이터 전송 모드에서 인터페이스(300)를 동작시키는 것으로부터 핸드셰이킹 모드에서 인터페이스를 동작시키는 것으로의 전환은 데이터 전송(예를 들어, 커맨드 헤더, 커맨드 데이터, 확인응답, 응답 헤더 또는 응답 데이터의 전송)의 완료에 의해 트리거될 수 있다. 이들 경우에, 칩(106) 및 생체측정 모듈(108)이 핸드셰이킹 모드에서 인터페이스(300)를 동작시키도록 스스로를 재구성하기에 충분한 시간을 갖도록 보장하기 위해, 칩(106) 및 생체측정 모듈(108)은, 데이터 전송의 완료 후 데이터-대-핸드셰이킹 임계값 시간량이 경과한 후에만 핸드셰이킹 모드에서 인터페이스(300)를 동작시키도록 구성될 수 있다. 데이터-대-핸드셰이킹 임계값 시간량은 경험적으로 결정될 수 있다.
데이터 전송 모드에서 인터페이스를 동작시키는 것으로부터 핸드셰이킹 모드에서 인터페이스(300)를 동작시키는 것으로의 전환이 상이한 디바이스/모듈로 하여금 데이터 전송 모드에서 제2 와이어(304)를 구동하는 것이 아니라 핸드셰이킹 모드에서 제2 와이어(304)를 구동하게 하는 경우(예를 들어, 칩(106)이 제2 와이어를 구동하는 데이터 전송 모드로부터 생체측정 모듈(108)이 제2 와이어를 구동하는 핸드셰이킹 모드로의 전환이 있는 경우), 칩(106)은 데이터 전송의 완료 후 데이터-대-비구동 임계값 시간량이 경과한 후에 제2 와이어(304) 구동을 중단하도록 구성될 수 있다. 데이터-대-비구동 임계값은 데이터-대-핸드셰이킹 임계값보다 작게 선택될 수 있어, 데이터 전송의 완료 후 소정 기간 동안 제2 와이어가 구동되지 않게 한다. 이것은 데이터 전송 모드로부터 핸드셰이킹 모드로 전환할 때 제2 와이어에 대한 경합을 회피한다.
예시적인 핸드셰이킹 시퀀스들 및 모드들 사이의 전환들(그 예시적인 타이밍 임계값들도 포함)은 도 5 내지 도 9를 참조하여 아래에서 설명될 것이다. 이들 예들에서, 인터페이스(300)가 데이터 전송 모드에서 동작되고 있을 때, 인터페이스(300)는 SPI 모드 3에서 동작하는 SPI 인터페이스로서 역할하여(즉, 클록 극성(CPOL)이 1로 설정되고 클록 위상(CPHA)이 1로 설정되어) 데이터 전송 전후에 제1 와이어(302)가 하이(high)가 되게 한다. 제1 와이어(302)의 정지 상태(quiescent state)도 역시 하이이기 때문에 핸드셰이킹 모드와 데이터 전송 모드 사이를 전환할 때 제1 와이어에서는 어떠한 전환도 없다. 그러나, 이것은 단지 예시일 뿐이고 다른 SPI 모드들이 이용될 수 있고 다른 동기 통신 프로토콜이 데이터 전송 모드에서 이용될 수 있다는 것이 본 기술분야의 통상의 기술자에게 명백할 것이다.
이제, 예시적인 심박 핸드셰이킹 시퀀스와 이에 후속하는 칩(106)이 커맨드 헤더를 전송하는 데이터 전송 모드로의 전환을 도시하는 도 5를 참조한다. 이 예에서, 인터페이스(300)는 핸드셰이킹 모드에서 시작하고 칩(106)은 502에서 제1 와이어(302) 상에서 심박 신호를 전송함으로써 심박 핸드셰이킹 시퀀스를 개시한다. 일부 경우에, 칩(106)은 제1 와이어 상에서 제1 상태로부터 제2 상태로의 전환을 야기함으로써 제1 와이어(302) 상에서 심박 신호를 전송할 수 있다. 예를 들어, 도 5에 도시된 바와 같이, 칩(106)은 제1 와이어를 로우로 구동함으로써 제1 와이어(302) 상에서 심박 신호를 전송할 수 있다. 제1 와이어(302) 상의 심박은 생체측정 모듈(108)에 의해 검출되어(이것은 생체측정 모듈(108)이 저전력 모드로부터 정상 동작 모드로 전환하게 할 수 있음), 504에서 생체측정 모듈(108)이 제2 와이어(304) 상의 심박을 확인응답하게 한다. 일부 경우에, 생체측정 모듈(108)은 제1 상태로부터 제2 상태로의 제2 와이어 상의 전환을 야기함으로써 제2 와이어(304) 상의 심박을 확인응답할 수 있다. 예를 들어, 도 5에 도시된 바와 같이, 생체측정 모듈(108)은 제2 와이어(304)를 로우로 구동함으로써 심박을 확인응답할 수 있다.
심박 확인응답을 수신하는 것에 응답하여, 칩(106)은 506에서 제1 와이어(302) 상의 심박을 제거하지만 핸드셰이킹 모드에 머무른다. 일부 경우에, 칩(106)은 제1 와이어를 제2 상태로부터 제1 상태로 구동함으로써 제1 와이어(302) 상의 심박을 제거할 수 있다. 예를 들어, 도 5에 도시된 바와 같이 칩(106)은 제1 와이어(302)를 하이로 구동함으로써 제1 와이어(302) 상의 심박을 제거할 수 있다. 심박의 제거를 검출한 것에 응답하여, 생체측정 모듈(108)은, 508에서, 데이터를 수신할 준비가 되었고 제2 와이어(304)를 릴리스할 것임을 나타내는 신호를 제2 와이어(304) 상에서 전송한다. 일부 경우에, 생체측정 모듈(108)은 제2 와이어(304)를 제2 상태로부터 다시 제1 상태로 구동함으로써 데이터를 수신할 준비가 되었으며 제2 와이어를 릴리스할 것임을 나타낼 수 있다. 예를 들어, 도 5에 도시된 바와 같이, 생체측정 모듈(108)은 제2 와이어(304)를 하이로 구동함으로써 데이터를 수신할 준비가 되어 있고 제2 와이어를 릴리스할 것임을 나타낼 수 있다. 이것은, 데이터 전송 모드로의 인터페이스(300)의 전환을 트리거하는 심박 핸드셰이킹 시퀀스를 완료할 수 있다.
구체적으로, 칩(106) 및 생체측정 모듈(108)은 심박 핸드셰이킹 시퀀스의 완료 후(즉, 512에서) 핸드셰이킹-대-데이터 임계값(thtd) 시간량이 경과한 후에 데이터 전송 모드에서 인터페이스(300)의 동작을 시작할 수 있다. 예를 들어, 심박 핸드셰이킹 시퀀스의 완료 후 핸드셰이킹-대-데이터 임계값 시간량이 경과한 후에, 칩(106)은 SPI 데이터 전송에 따라 클록 신호를 제공하도록 제1 와이어(302)를 구동하고 (514에서) 데이터 전송을 시작하도록 제2 와이어(304)를 구동하는 것을 시작할 수 있다. 핸드셰이킹-대-데이터 임계값은, 칩(106) 및 생체측정 모듈(108)이 데이터 전송 모드에서 인터페이스(300)를 동작시키기 위해 스스로를 재구성하기에 충분한 시간을 제공하도록 선택될 수 있다. 일부 경우에, 칩(106) 및/또는 생체측정 모듈(108)은, 핸드셰이킹 모드에서 인터페이스(300)를 동작시키는 하나의 모듈과 데이터 전송 모드에서 인터페이스(300)를 동작시키는 상이한 모듈을 가질 수 있다. 예를 들어, 칩(106) 또는 생체측정 모듈(108)은 데이터 전송 모드에서 인터페이스(300)를 동작시키는 SPI 모듈 및 핸드셰이킹 모드에서 인터페이스(300)를 동작시키는 핸드셰이킹 모듈을 포함할 수 있다. 이들 경우에, 인터페이스(300)의 제1 와이어 및 제2 와이어는 모드에 따라 적절한 모듈로 지향될 수 있다. 적절한 모듈로의 신호들의 이러한 지향은, 하드웨어 또는 소프트웨어에서 수행될 수 있다.
제2 와이어(304)가 데이터 전송 모드에서 칩(106)에 의해 구동되는 것에 대비하여, 생체측정 모듈(108)은, 심박 핸드셰이킹 시퀀스의 완료 후(즉, 510에서) 핸드셰이킹-대-비구동 임계값(thtu) 시간량이 경과한 후에 제2 와이어(304) 구동을 중지할 수 있다. 핸드셰이킹-대-비구동 임계값은 핸드셰이킹-대-데이터 임계값보다 작아서, 제2 와이어(304)에 대한 경합을 피하기 위해 칩(106) 또는 생체측정 모듈(108)에 의해 제2 와이어(304)가 구동되지 않는 소정 기간이 있게 한다. 핸드셰이킹-대-비구동 임계값은, 생체측정 모듈(108)이 데이터를 수신할 준비가 되었다는 표시를 검출하기에 충분한 시간을 칩(106)에 제공하되 칩(106)이 제2 와이어(304)의 구동을 시작하기 전에 제2 와이어(304)가 구동되지 않는 충분한 기간을 제공하도록 선택될 수 있다. 일부 경우에, 핸드셰이킹-대-비구동 임계값은 1μs 내지 10μs일 수 있고, 핸드셰이킹-대-데이터 임계값은 20μs보다 클 수 있다.
이제, 예시적인 준비완료 핸드셰이킹 시퀀스와 이에 후속하여 칩(106)이 데이터를 전송하는 데이터 전송 모드로의 전환을 나타내는 도 6을 참조한다. 이것은 커맨드 도 4의 준비완료 핸드셰이킹 시퀀스 대 커맨드 데이터 전송, 또는 준비완료 핸드셰이킹 시퀀스 대 응답 헤더 확인응답 전송을 구현하는데 이용될 수 있다. 준비완료 핸드셰이킹 시퀀스는 생체측정 모듈(108)이 데이터를 수신할 준비가 되었음을 나타내는데 이용될 수 있다. 이 예에서 인터페이스(300)는 핸드셰이킹 모드에서 시작하고 생체측정 모듈(108)은 602에서 제2 와이어(304)를 제1 상태로부터 제2 상태로 구동함으로써 준비완료 핸드셰이킹 시퀀스를 개시한다. 예를 들어, 도 6에 도시된 바와 같이, 생체측정 모듈(108)은 제2 와이어(304)를 로우로 구동함으로써 준비완료 핸드셰이킹 시퀀스를 개시할 수 있다. 그 다음, 생체측정 모듈(108)은, 후속해서, 604에서 제2 와이어(304)를 제2 상태로부터 다시 제1 상태로 구동함으로써 준비완료 핸드셰이킹 시퀀스의 끝을 표시할 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 생체측정 모듈(108)은 제2 와이어(304)를 하이로 구동함으로써 준비완료 핸드셰이킹 시퀀스의 끝을 표시할 수 있다. 준비완료 핸드셰이킹 시퀀스의 완료는 데이터 전송 모드로의 인터페이스(300)의 전환을 트리거한다.
구체적으로, 칩(106) 및 생체측정 모듈(108)은 준비완료 핸드셰이킹 시퀀스의 완료 후(즉, 608에서) 핸드셰이킹-대-데이터 임계값(thtd) 시간량이 경과한 후에 데이터 전송 모드에서 인터페이스(300)의 동작을 시작할 수 있다. 예를 들어, 준비완료 핸드셰이킹 시퀀스의 완료 후 핸드셰이킹-대-데이터 임계값 시간량이 경과한 후에, 칩(106)은 SPI 데이터 전송에 따라 클록 신호를 제공하도록 제1 와이어(302)를 구동하고 (610에서) 데이터 전송을 시작하도록 제2 와이어(304)를 구동하는 것을 시작할 수 있다. 전술된 바와 같이, 핸드셰이킹-대-데이터 임계값은, 칩(106) 및 생체측정 모듈(108)이 데이터 전송 모드에서 인터페이스(300)를 동작시키기 위해 스스로를 재구성하기에 충분한 시간을 제공하도록 선택될 수 있다.
도 5에 도시된 예와 유사하게, 제2 와이어(304)가 데이터 전송 모드에서 칩(106)에 의해 구동되는 것에 대비하여, 생체측정 모듈(108)은, 준비완료 핸드셰이킹 시퀀스의 완료 후(즉, 606에서) 핸드셰이킹-대-비구동 임계값(thtu) 시간량이 경과한 후에 제2 와이어의 구동을 중지할 수 있다. 핸드셰이킹-대-비구동 임계값은 핸드셰이킹-대-데이터 임계값보다 작아서, 제2 와이어(304)에 대한 경합을 피하기 위해 칩(106) 또는 생체측정 모듈(108)에 의해 제2 와이어(304)가 구동되지 않는 소정 기간이 있게 한다. 핸드셰이킹-대-비구동 임계값은 도 5와 관련하여 전술된 바와 같이 선택될 수 있다.
이제, 생체측정 모듈(108)이 예시적인 준비완료 핸드셰이킹 시퀀스와 이에 후속하는 데이터를 전송하는 데이터 전송 모드로의 전환을 나타내는 도 7을 참조한다. 이것은, 도 4의 준비완료 핸드셰이킹 시퀀스 대 커맨드 헤더 확인응답 전송, 준비완료 핸드셰이킹 시퀀스 대 응답 헤더 전송, 또는 준비완료 핸드셰이킹 시퀀스 대 응답 데이터 전송을 구현하는데 이용될 수 있다. 준비완료 핸드셰이킹 시퀀스는 생체측정 모듈(108)이 데이터를 전송할 준비가 되었음을 나타내는데 이용될 수 있다. 이 예는 도 6에 도시된 예와 매우 유사하지만 데이터 전송 모드로 전환할 때 제2 와이어(304)의 방향이 변경되지 않기 때문에(즉, 제2 와이어는 핸드셰이킹 모드 및 후속 데이터 전송 모드에서 생체측정 모듈(108)에 의해 구동된다), 도 6의 예에서와 같이 제2 와이어(304)가 구동되지 않는 기간은 없다.
이 예에서, 인터페이스(300)는 핸드셰이킹 모드에서 시작하고 생체측정 모듈(108)은 702에서 제2 와이어(304)를 제1 상태로부터 제2 상태로 구동함으로써 준비완료 핸드셰이킹 시퀀스를 개시한다. 예를 들어, 도 7에 도시된 바와 같이, 생체측정 모듈(108)은 제2 와이어(304)를 로우로 구동함으로써 준비완료 핸드셰이킹 시퀀스를 개시할 수 있다. 그 다음, 생체측정 모듈(108)은, 후속해서, 704에서 제2 와이어(304)를 제2 상태로부터 다시 제1 상태로 구동함으로써 준비완료 핸드셰이킹 시퀀스의 끝을 표시할 수 있다. 예를 들어, 도 7에 도시된 바와 같이, 생체측정 모듈(108)은 제2 와이어(304)를 하이로 구동함으로써 준비완료 핸드셰이킹 시퀀스의 끝을 표시할 수 있다. 준비완료 핸드셰이킹 시퀀스의 완료는 데이터 전송 모드로의 인터페이스(300)의 전환을 트리거한다.
구체적으로, 칩(106) 및 생체측정 모듈(108)은 준비완료 핸드셰이킹 시퀀스의 완료 후(즉, 706에서) 핸드셰이킹-대-데이터 임계값(thtd) 시간량이 경과한 후에 데이터 전송 모드에서 인터페이스(300)의 동작을 시작할 수 있다. 예를 들어, 준비완료 핸드셰이킹 시퀀스의 완료 후 핸드셰이킹-대-데이터 임계값 시간량이 경과한 후에, 칩(106)은 (706에서) SPI 데이터 전송에 따라 클록 신호를 제공하도록 제1 와이어(302)를 구동하는 것을 시작할 수 있고, 생체측정 모듈(108)은 (708에서) SPI 데이터 전송을 시작하도록 제2 와이어(304)를 구동하는 것을 시작할 수 있다. 전술된 바와 같이, 핸드셰이킹-대-데이터 임계값은, 칩(106) 및 생체측정 모듈(108)이 데이터 전송 모드에서 인터페이스(300)를 동작시키기 위해 스스로를 재구성하기에 충분한 시간을 제공하도록 선택될 수 있다.
이제 예시적인 칩(106) 데이터 전송과 후속하는 핸드셰이킹 모드로의 전환을 나타내는 도 8을 참조한다. 이것은, 도 4의 커맨드 헤더 전송 대 준비완료 핸드셰이킹 시퀀스, 커맨드 데이터 전송 대 커맨드 실행 핸드셰이킹 시퀀스, 또는 응답 헤더 확인응답 전송 대 준비완료 핸드셰이킹 시퀀스를 구현하는데 이용될 수 있다. 이 예에서, 인터페이스(300)는 데이터 전송 모드에서 시작한다. (802에서의) 데이터 전송의 완료는 핸드셰이킹 모드로의 전환을 트리거한다.
구체적으로, 칩(106) 및 생체측정 모듈(108)은, 데이터 전송의 완료 후(즉, 808에서) 데이터-대-핸드셰이킹 임계값(tdth) 시간량이 경과한 후에 핸드셰이킹 모드에서 인터페이스(300)의 동작을 시작하도록 구성될 수 있다. 데이터-대-핸드셰이킹 임계값은 생체측정 모듈(108) 및 칩(106)이 핸드셰이킹 모드에서 인터페이스(300)를 동작시키도록 스스로를 재구성하기에 충분한 시간을 제공하도록 선택될 수 있다. 전술된 바와 같이, 일부 경우에, 칩(106) 및/또는 생체측정 모듈(108)은, 핸드셰이킹 모드에서 인터페이스(300)를 동작시키는 하나의 모듈과 데이터 전송 모드에서 인터페이스(300)를 동작시키는 상이한 모듈을 가질 수 있다. 예를 들어, 칩(106) 또는 생체측정 모듈(108)은 데이터 전송 모드에서 인터페이스(300)를 동작시키는 SPI 모듈 및 핸드셰이킹 모드에서 인터페이스(300)를 동작시키는 핸드셰이킹 모듈을 포함할 수 있다. 이들 경우에, 인터페이스(300)의 제1 와이어 및 제2 와이어는 모드에 따라 적절한 모듈로 지향될 수 있다. 적절한 내부 모듈로의 신호들의 이러한 지향은, 하드웨어 또는 소프트웨어에서 수행될 수 있다.
제2 와이어(304)가 핸드셰이킹 모드에서 생체측정 모듈(108)에 의해 구동되는 것에 대비하여, 칩(106)은 데이터 전송의 완료 후(즉, 806에서) 데이터-대-비구동 임계값(tdtu) 시간량이 경과한 후에 제2 와이어(304)의 구동을 중지할 수 있다. 데이터-대-비구동 임계값은 데이터-대-핸드셰이킹 임계값보다 작아서, 핸드셰이킹 모드로의 전환시 제2 와이어(304)에 대한 경합을 피하기 위해 제2 와이어(304)가 칩(106) 또는 생체측정 모듈(108)에 의해 구동되지 않는 소정 기간이 데이터 전송의 완료 후에 있게 한다.
일부 경우에, 도 8에 도시된 바와 같이, 칩(106)은 데이터 전송 완료 후(즉, 804에서) 소정 기간 동안 제1 및 제2 와이어(302, 304) 양쪽 모두를 하이로 구동하도록 구성될 수 있다. 이들 경우에, 제2 와이어(304)를 하이로 구동하는 것(그 정지 상태)과 구동되지 않은 제2 와이어가 구동되지 않은 것 사이의 기간은 여기서는 정지-대-비구동 임계값(tqtu)이라고 지칭될 수 있다. 이들 경우에, 데이터-대-비구동 임계값은, 제2 와이어가 비구동 전에는 하이가 되도록 보장하기 위해 정지-대-비구동 임계값이 충분히 길지만, 경합을 피하기 위해 제2 와이어가 생체측정 모듈(108)에 의해 구동되기 전 제2 와이어가 칩(106)에 의해 구동되지 않는 충분한 기간이 있도록 선택될 수 있다.
일부 경우에, 정지 대 비구동 임계값은 1μs보다 클 수 있고, 데이터-대-비구동 임계값은 10μs 미만일 수 있으며, 데이터-대-핸드셰이킹 임계값은 20μs보다 클 수 있다.
이제, 예시적인 생체측정 모듈(108) 데이터 전송과 이에 후속하는 핸드셰이킹 모드로의 전환을 나타내는 도 9를 참조한다. 이것은, 도 4의 커맨드 헤더 확인응답 전송 대 준비완료 핸드셰이킹 시퀀스, 응답 헤더 전송 대 준비완료 핸드셰이킹 시퀀스, 또는 응답 데이터 전송 대 준비완료 핸드셰이킹 시퀀스를 구현하는데 이용될 수 있다. 이 예는, 데이터 전송 모드로부터 핸드셰이킹 모드로 전환할 때 제2 와이어(304)가 방향을 변경하지 않는다는 점을 제외하고는 도 8에 도시된 예와 유사하다.
이 예에서 인터페이스(300)는 데이터 전송 모드에서 시작한다. (902에서의) 데이터 전송의 완료는 핸드셰이킹 모드로의 전환을 트리거한다.
구체적으로, 칩(106) 및 생체측정 모듈(108)은, 데이터 전송의 완료 후(즉, 906에서) 데이터-대-핸드셰이킹 임계값(tdth) 시간량이 경과한 후에 핸드셰이킹 모드에서 인터페이스(300)의 동작을 시작하도록 구성될 수 있다. 데이터-대-핸드셰이킹 임계값은 생체측정 모듈(108) 및 칩(106)이 핸드셰이킹 모드에서 인터페이스(300)를 동작시키도록 스스로를 재구성하기에 충분한 시간을 제공하도록 선택될 수 있다.
일부 경우에, 도 9에 도시된 바와 같이, 생체측정 모듈(108)은 데이터 전송 완료 후(즉, 904에서) 소정 기간 동안, SPI 블록을 디스에이블하고 제1 와이어(302)를 핸드셰이킹 입력으로서 구성하고 제2 와이어(304)를 핸드셰이킹 출력으로서 구성하고 초기에 핸드셰이킹 출력을 하이로 구동하도록 구성될 수 있다.
이제 칩(106)과 생체측정 모듈(108) 사이의 인터페이스(112)를 구현하는데 이용될 수 있는 2-와이어 인터페이스(1000)의 제2 예시적인 구현예를 나타내는 도 10을 참조한다. 인터페이스(1000)는 제1 와이어 또는 도체(1002) 및 제2 와이어 또는 도체(1004)를 포함한다. 인터페이스(1000)는 핸드셰이킹 모드와 데이터 전송 모드에서 동작가능하다. 핸드셰이킹 모드에서 제1 와이어(1002)는 칩(106)에 의해 구동되고 제2 와이어(1004)는 생체측정 모듈(108)에 의해 구동되어 핸드셰이킹 시퀀스를 수행한다. 따라서, 핸드셰이킹 모드에서 제1 와이어(1002)는 HSO(handshake out; 핸드셰이킹 아웃) 신호들을 전송하는데 이용되고 제2 와이어(1004)는 HSI(handshake in; 핸드셰이킹 인) 신호들을 전송하는데 이용된다. 데이터 전송 모드에서, 제2 와이어(1004)는 생체측정 모듈(108)에 의해 구동되어 클록 신호를 제공하고, 제1 와이어(1002)는 칩(106) 또는 생체측정 모듈(108)이 데이터를 전송하고 있는지에 따라 칩(106) 또는 생체측정 모듈(108) 중 어느 하나에 의해 구동된다. 예를 들어, 칩(106)이 생체측정 모듈(108)에 데이터를 전송하고 있다면, 칩(106)이 제1 와이어(1002)를 구동하고; 생체측정 모듈(108)이 칩(106)에 데이터를 전송하고 있다면, 생체측정 모듈(108)이 제1 와이어(1002)를 구동한다. 따라서, 도 10의 인터페이스(1000)에서 제2 와이어(1004)는 항상 생체측정 모듈(108)에 의해 구동되고(즉, 생체측정 모듈(108)의 출력임); 제1 와이어(1002)는 칩(106) 또는 생체측정 모듈(108)에 의해 구동될 수 있다(즉, 칩(106) 또는 생체측정 모듈(108)의 출력임).
일부 경우에, 인터페이스(1000)가 데이터 전송 모드에서 동작 중일 때, 데이터 전송은 ISO 7816 UART(Universal Asynchronous Receiver/Transmitter) 인터페이스에 따라 수행된다. 따라서, 이들 경우에, 칩(106) 및 생체측정 모듈(108)이 데이터 전송 모드에서 인터페이스(1000)를 동작시킬 때 인터페이스는 UART 인터페이스로서 역할한다. 본 기술분야의 통상의 기술자에게 알려진 바와 같이, UART 인터페이스는 데이터가 전송되는 적어도 하나의 데이터 와이어를 포함하고, 클록 신호가 전송되는 와이어를 가질 수 있다.
데이터 와이어를 통해 데이터 패킷(예를 들어, 바이트)을 전송하기 위해, '시작 비트'라 불리는 비트를 이용하여 수신기에게 데이터 패킷이 전송될 예정임을 경보하고 수신기 내의 클록을 전송기의 클록과 동기화시킨다. 시작 비트 후에, 데이터 패킷의 개개의 비트들이 전송된다. 일부 경우에, 오류 검출 비트(즉, 패리티 비트)가 데이터 패킷의 비트들 뒤에 추가되어 수신기가 데이터 패킷에 오류가 있는지를 결정하는 것을 보조할 수 있다. 모든 개개의 비트(및 선택사항으로서 패리티 비트)가 전송된 후 하나 이상의 '정지 비트들'(예를 들어, 바이트)이 데이터 패킷의 끝을 시그널링하기 위해 전송된다. 수신기가 시작 비트를 수신하면, 보 레이트라고 알려진 명시된 주파수에서 인입 비트들의 판독을 시작한다. 본 기술분야의 통상의 기술자에게 공지된 바와 같이, 보 레이트는 초당 비트 수(bps)로 표현되는 데이터 전송 속도의 척도이다.
일부 경우에, 공통 클록 신호도 역시 이용될 수 있다. 클록 엣지의 위치가 데이터가 전송되거나 샘플링되는 위치를 결정하는 SPI 등의 동기 통신 프로토콜과는 달리, UART(비동기 통신 프로토콜)의 경우 클록 신호는 보 레이트를 도출하는데만 이용된다. 예를 들어, 클록 신호의 전송기와 수신자는 수신된 클록 신호의 주파수에 비례하도록 보 레이트를 선택한다. 패킷 내의 데이터 비트 수, 패리티 비트가 생성/체크되었는지의 여부, 정지 비트 수, 클록 신호와 보 레이트와 데이터 라인/와이어 수 사이의 주파수 관계 등의 그러나 이것으로 제한되지 않는, 하나 이상의 UART 파라미터가 구성가능할 수 있다.
ISO 7816 UART 인터페이스는 ISO 7816에 따라 구성된 UART 인터페이스이다. 더 구체적으로, ISO 7816 UART 인터페이스는 하나 이상의 UART 파라미터가 ISO 7816 표준에 따르도록 명시되거나 제약되는 UART 인터페이스이다. 예를 들어, ISO 7816은 데이터 패킷이 8비트를 갖는다는 것을 명시하므로 ISO 7816 UART 인터페이스는 8비트 데이터 패킷을 이용하도록 구성될 것이다.
인터페이스(1000)가 UART 데이터 전송 모드에서 동작 중일 때, 제2 와이어(1004)는 클록 신호(UART CLK)를 제공하는데 이용되고 제1 와이어(1002)는 데이터(UART DATA)를 전송하는데 이용된다.
전술된 바와 같이, 일부 경우에, 칩(106)은 커맨드-응답 기반의 동작 또는 방법을 통해 생체측정 모듈(108)을 제어하도록 구성될 수 있다. 본 기술분야의 통상의 기술자에게 알려진 바와 같이, 커맨드-응답 기반의 동작에서, 커맨드-응답 시퀀스는 호스트 또는 마스터(예를 들어, 칩(106))가 커맨드를 슬레이브(예를 들어, 생체측정 모듈(108))에 전송함으로써 개시된다. 커맨드를 수신하는 것에 응답하여, 슬레이브(예를 들어, 생체측정 모듈(108))는 커맨드를 실행하고 응답을 다시 마스터(예를 들어, 칩(106))에 전송한다. 일부 경우에, 칩(106)과 생체측정 모듈(108) 사이의 커맨드-응답 시퀀스 동안, 인터페이스(1000)의 적어도 하나의 모드 전환이 있다. 구체적으로, 칩(106) 및 생체측정 모듈(108)은 핸드셰이킹 모드에서 동작하는 것으로부터 데이터 전송 모드에서 동작하는 것으로 인터페이스(1000)를 전환하거나; 및/또는 데이터 전송 모드에서 동작하는 것으로부터 핸드셰이킹 모드에서 동작하는 것으로 인터페이스(1000)를 적어도 한 번 전환하도록 구성될 수 있다. 예를 들어, 일부 경우에 칩(106) 및 생체측정 모듈(108)은, 핸드셰이킹 모드의 인터페이스로 시작하고, 핸드셰이킹 시퀀스를 완료한 후, 칩(106)이 커맨드를 개시(예를 들어, 커맨드 또는 커맨드 헤더를 전송)할 수 있는 데이터 전송 모드로 인터페이스(1000)를 전환하도록 구성될 수 있다. 그 다음, 인터페이스(300)는 커맨드-응답 시퀀스가 완료될 때까지(예를 들어, 생체측정 모듈(108)이 커맨드에 대한 응답을 전송할 때까지) 핸드셰이킹 모드와 데이터 전송 모드 간에 교대할 수 있다. 커맨드-응답 시퀀스의 상이한 포인트들에서 수행되는 상이한 핸드셰이킹 시퀀스들이 있을 수 있다.
이제 예시적인 커맨드-응답 시퀀스 및 커맨드-응답 시퀀스 동안 발생할 수 있는 모드 전환을 나타내는 도 11을 참조한다. 이 예에서, 긴 직사각형(1102)은 인터페이스가 핸드셰이킹 모드에서 동작 중임을 나타내는데 이용된다; 상위의 짧은 직사각형(1104)은 인터페이스가 데이터 전송 모드에서 동작 중이고 칩(106)이 제1 와이어(1002)를 구동하고 있다는 것(즉, 칩(106)이 데이터를 전송하고 있다는 것)을 나타내는데 이용되며; 하위의 짧은 직사각형(1106)은 인터페이스가 데이터 전송 모드에서 동작 중이고 생체측정 모듈(108)이 제1 와이어(1102)를 구동하고 있다는 것(즉, 생체측정 모듈(108)이 데이터를 전송하고 있다는 것)을 나타내는데 이용된다); 타원(1108)은 모드 전환을 나타내는데 이용된다.
도 11의 예에서, 인터페이스(1000)는, 칩(106) 및 생체측정 모듈(108)이 심박 핸드셰이킹 시퀀스를 수행하는 핸드셰이킹 모드(11021)에서 시작한다는 것을 알 수 있다. 일부 경우에, 심박 핸드셰이킹 시퀀스는, 생체측정 모듈(108)이 어떤 작업을 수행하기를(예를 들어, 동작을 수행하거나 커맨드를 실행하기를) 칩(106)이 원한다는 것을 생체측정 모듈(108)에 통보하고 생체측정 모듈(108)이 커맨드를 실행할 준비가 되었음을 확인 또는 확정하기 위해 수행될 수 있다. 일부 경우에, 생체측정 모듈(108)이 칩(106)과 함께 커맨드-응답 시퀀스를 실행하고 있지 않을 때, 생체측정 모듈(108)은 저전력 모드에 들어갈 수 있다. 이들 경우에, 심박 핸드셰이킹 시퀀스는 생체측정 모듈(108)이 저전력 모드로부터 정상 동작 모드로 전환하게 할 수 있다. 일단 심박 핸드셰이킹 시퀀스가 완료되고 나면, 인터페이스(1000)는 칩(106)이 커맨드 헤더를 전송하는 데이터 전송 모드(11041)로 전환된다(11081). 커맨드 헤더는 생체측정 모듈(108)에 의해 실행될 커맨드(예를 들어, 생체측정 모듈(108)에 의해 수행될 동작)를 명시할 수 있다. 예를 들어, 커맨드 헤더는, 생체측정 모듈(108)이 디바이스(100)의 사용자의 생체측정 인증을 수행할 것임을 명시할 수 있다. 일단 커맨드 헤더가 전송되고 나면, 인터페이스는 준비완료 핸드셰이킹 시퀀스가 수행되는 핸드셰이킹 모드(11022)로 다시 전환된다(11082). 준비완료 핸드셰이킹 시퀀스는 생체측정 모듈(108)이 데이터를 전송할 준비가 되었음을 나타내기 위해 수행될 수 있다. 일단 준비완료 핸드셰이킹 시퀀스가 완료되고 나면, 인터페이스(1000)는 생체측정 모듈(108)이 커맨드 헤더의 확인응답을 전송하는 데이터 전송 모드(11061)로 전환된다(11083). 일단 확인응답이 전송되고 나면, 인터페이스(1000)는, 커맨드 데이터가 커맨드 헤더에 추가하여 생체측정 모듈에 전송되어야 하는지에 따라, 11084 또는 11086에서 핸드셰이킹 모드(11023 또는 11024)로 전환된다.
전술된 바와 같이, 일부 경우에, 커맨드를 실행할 때 생체측정 모듈(108)에 의해 이용될 커맨드 헤더 이후에 추가 정보(일반적으로 커맨드 데이터라고 지칭될 수 있음)가 생체측정 모듈(108)에 제공될 수 있다. 커맨드 데이터는, 예를 들어, 커맨드 헤더에 명시된 커맨드를 실행하기 위한 파라미터 및/또는 커맨드를 실행할 때 생체측정 모듈(108)에 의해 이용될 정보를 명시할 수 있다. 이들 경우에, 커맨드 헤더의 확인응답이 생체측정 모듈(108)에 의해 전송된 후, 인터페이스(1000)는 준비완료 핸드셰이킹 시퀀스가 수행될 수 있는 핸드셰이킹 모드(11023)로 전환된다(11084). 준비완료 핸드셰이킹 시퀀스는 생체측정 모듈(108)이 데이터를 수신할 준비가 되었음을 나타내기 위해 수행될 수 있다. 일단 준비완료 핸드셰이킹 시퀀스가 완료되고 나면, 인터페이스(1000)는 칩(106)이 커맨드 데이터를 전송하는 데이터 전송 모드(11042)로 전환된다(11085). 일단 커맨드 데이터가 전송되고 나면, 인터페이스(1000)는 핸드셰이킹 모드(11024)로 다시 전환된다(11086). 그러나, 어떠한 커맨드 데이터도 없는 경우, 커맨드 헤더의 확인응답이 전송된 후, 인터페이스(1000)는 11086에서 핸드셰이킹 모드(11024)로 전환될 수 있다.
일단 핸드셰이킹 모드(11024)에 있게 되면, 생체측정 모듈(108)이 커맨드를 실행하는 동안 커맨드 실행 핸드셰이킹 시퀀스가 실행될 수 있고, 일단 커맨드가 생체측정 모듈(108)에 의해 실행되고 나면, 준비완료 핸드셰이킹 시퀀스가 수행될 수 있다. 준비완료 핸드셰이킹 시퀀스는 생체측정 모듈(108)이 이제 데이터를 전송할 준비가 되었음을 나타내기 위해 수행될 수 있다.
일단 준비완료 핸드셰이킹 시퀀스가 완료되고 나면, 인터페이스(1000)는 생체측정 모듈(108)이 응답 헤더를 전송하는 데이터 전송 모드(11062)로 전환된다(11087). 일단 응답 헤더가 전송되고 나면, 인터페이스(1000)는 준비완료 핸드셰이킹 시퀀스가 수행되는 핸드셰이킹 모드(11025)로 다시 전환된다(11088). 준비완료 핸드셰이킹 시퀀스는 생체측정 모듈(108)이 데이터를 수신할 준비가 되었음을 나타내기 위해 수행될 수 있다. 일단 준비완료 핸드셰이킹 시퀀스가 완료되고 나면, 인터페이스(1000)는 칩(106)이 응답 헤더의 확인응답을 전송하는 데이터 전송 모드(11043)로 전환된다(11089). 일단 확인응답이 전송되고 나면, 인터페이스(1000)는 응답 헤더에 추가하여 응답 데이터가 칩(106)에 전송되어야 하는지에 따라 110810 또는 110812에서 핸드셰이킹 모드(11026 또는 11027)로 전환된다.
구체적으로, 일부 경우에, (응답 데이터라고 지칭될 수 있는) 추가 정보가 응답 헤더 이후에 칩(106)에 제공될 수 있다. 이들 경우에, 응답 헤더의 확인응답이 칩(106)에 의해 전송된 후, 인터페이스(1000)는 준비완료 핸드셰이킹 시퀀스가 수행될 수 있는 핸드셰이킹 모드(11026)로 전환된다(110810). 준비완료 핸드셰이킹 시퀀스는 생체측정 모듈(108)이 데이터를 전송할 준비가 되었음을 나타내기 위해 수행될 수 있다. 일단 준비완료 핸드셰이킹 시퀀스가 완료되고 나면, 인터페이스(1000)는 생체측정 모듈(108)이 응답 데이터를 전송하는 데이터 전송 모드(11063)로 전환된다(110811). 일단 응답 데이터가 전송되고 나면, 인터페이스(1000)는, 칩(106)이 예를 들어 새로운 커맨드-응답 시퀀스를 시작하기 위해 심박 핸드셰이킹 시퀀스를 개시할 수 있는 핸드셰이킹 모드(11027)로 다시 전환된다(110812). 그러나, 어떠한 응답 데이터도 없는 경우, 응답 헤더의 확인응답이 전송된 후, 인터페이스(1000)는 칩(106)이 예를 들어 새로운 커맨드-응답 시퀀스를 시작하기 위해 심박 핸드셰이킹 시퀀스를 개시할 수 있는 핸드셰이킹 모드(11027)로 110812에서 전환될 수 있다.
이제, 칩(106) 및 생체측정 모듈(108)이 데이터 전송 모드에서 인터페이스(1000)를 동작시킬 때 ISO 7816 UART에 따라 인터페이스(1000)를 동작시키는 경우에 발생할 수 있는 제2 예시적인 커맨드-응답 시퀀스 및 모드 전환들을 나타내는 도 12를 참조한다. 이 예는, 인터페이스(1000)가 각각의 데이터 전송 후에 핸드셰이킹 모드로 다시 전환되지 않는다는 점을 제외하고는 도 11에 도시된 예와 유사하다. 구체적으로, 이 예에서, 심박 핸드셰이킹 시퀀스의 완료 후, 인터페이스(1000)는 데이터 전송 모드로 전환되고, 그 다음, 인터페이스(1000)는, 생체측정 모듈(108)이 커맨드를 실행하는 중인 때를 제외하고 커맨드-응답 시퀀스가 완료될 때까지 데이터 전송 모드에 머무른다. SPI 데이터 전송에 있어서, 준비완료 핸드셰이킹은, 슬레이브가 데이터를 전송 또는 수신할 준비가 되어서 언제 클록을 온시켜야 하는지(즉, 클록 신호 생성)를 SPI 마스터(예를 들어, 칩(106))에게 알려 주지만, ISO 7816 UART 데이터 전송에서는, 프로토콜이 어떤 디바이스(예를 들어, 칩(106) 또는 생체측정 모듈(108))가 그 다음 전송할 것인지를 정의하기 때문에 이것이 필요하지 않다. 도 11에 도시된 예와 비교하여 도 12에 도시된 예에서 감소된 모드 전환 횟수는, 불필요하게 모드들을 전환하는 오버헤드에서 시간을 절약함으로써 커맨드-응답 시퀀스가 더 효율적으로 수행되는 것을 허용할 수 있다.
도 12의 예에서, 인터페이스(1000)는 칩(106) 및 생체측정 모듈(108)이 심박 핸드셰이킹 시퀀스를 수행하는 핸드셰이킹 모드(12021)에서 시작한다. 일부 경우에, 심박 핸드셰이킹 시퀀스는, 생체측정 모듈(108)이 소정의 작업을 수행하기를(예를 들어, 동작을 수행하거나 커맨드를 실행하기를) 칩(106)이 원한다는 것을 생체측정 모듈(108)에 통보하고 생체측정 모듈(108)이 커맨드를 실행할 준비가 되었음을 확인하기 위해 수행될 수 있다. 전술된 바와, 생체측정 모듈(108)이 칩(106)과 함께 커맨드-응답 시퀀스를 실행하고 있지 않을 때, 생체측정 모듈(108)은 저전력 모드에 들어갈 수 있다. 이들 경우에, 심박 핸드셰이킹 시퀀스는 생체측정 모듈(108)이 저전력 모드로부터 정상 동작 모드로 전환하게 할 수 있다. 일단 심박 핸드셰이킹 시퀀스가 완료되고 나면, 인터페이스(1000)는 칩(106)이 커맨드 헤더를 생체측정 모듈(108)에 전송하는 데이터 전송 모드(12041)로 전환된다(12081). 커맨드 헤더는 생체측정 모듈(108)에 의해 실행될 커맨드(예를 들어, 생체측정 모듈(108)에 의해 수행될 동작)를 명시할 수 있다. 예를 들어, 커맨드 헤더는, 생체측정 모듈(108)이 디바이스(100)의 사용자의 생체측정 인증을 수행할 것임을 명시할 수 있다.
일단 커맨드 헤더가 전송되고 나면, 도 11에서와 같이 핸드셰이킹 모드로 다시 전환하는 것 대신에, 인터페이스(1000)는, 생체측정 모듈(108)이 커맨드 헤더의 확인응답을 전송하는 데이터 전송 모드(12061)에 머무른다. 그 다음 발생하는 것은, 칩(106)으로부터 생체측정 모듈(108)로 전송될 커맨드 데이터가 있는지에 의존한다. 어떠한 커맨드 데이터도 없다면, 인터페이스(1000)는, 칩(106) 및 생체측정 모듈(108)이 커맨드 실행 핸드셰이킹 시퀀스를 수행하는 동안 생체측정 모듈(108)이 커맨드를 실행하는 핸드셰이킹 모드(12022)로 전환한다(12082). 그러나, 전송될 커맨드 데이터가 있는 경우 인터페이스(1000)는 데이터 전송 모드(12042)에 머무르고 커맨드 데이터는 칩(106)으로부터 생체측정 모듈(108)에 전송된다. 일단 커맨드 데이터 전송이 완료되고 나면, 인터페이스(1000)는, 칩(106) 및 생체측정 모듈(108)이 커맨드 실행 핸드셰이킹 시퀀스를 수행하는 동안 생체측정 모듈(108)이 커맨드를 실행하는 핸드셰이킹 모드(12022)로 전환된다(12083).
일단 생체측정 모듈(108)이 커맨드의 실행을 완료하고 나면, 생체측정 모듈(108)은 준비완료 핸드셰이킹 시퀀스를 수행함으로써 완료를 시그널링한다. 준비완료 핸드셰이킹 시퀀스는 생체측정 모듈(108)이 응답 헤더를 전송하는 데이터 전송 모드(12062)로의 전환을 트리거한다(12084). 일단 응답 헤더 전송이 완료되고 나면, 도 11의 예에서와 같이 인터페이스(1000)를 핸드셰이킹 모드로 다시 전환하는 것 대신에, 인터페이스(1000)는 데이터 전송 모드(12043)에 머무르고 칩(106)은 응답 헤더의 확인응답을 전송한다. 그 다음 발생하는 것은 생체측정 모듈(108)로부터 칩(106)으로 전송될 응답 데이터가 있는지에 의존한다. 어떠한 응답 데이터도 없다면, 인터페이스(1000)는 칩(106)이 새로운 커맨드-응답 시퀀스를 시작하기 위해 심박 핸드셰이킹 시퀀스를 개시할 수 있는 핸드셰이킹 모드(12023)로 전환한다(12085). 그러나, 전송될 응답 데이터가 있다면, 인터페이스(1000)는 데이터 전송 모드(12063)에 머무르고 응답 데이터는 생체측정 모듈(108)로부터 칩(106)으로 전송된다. 일단 응답 데이터 전송이 완료되고 나면, 인터페이스(1000)는, 칩(106)이 예를 들어 새로운 커맨드-응답 시퀀스를 시작하기 위해 심박 핸드셰이킹 시퀀스를 개시할 수 있는 핸드셰이킹 모드(12023)로 전환된다(12086).
일부 경우에, 도 11 및 도 12에 도시된 바와 같이, 핸드셰이킹 모드에서 인터페이스(1000)를 동작시키는 것으로부터 데이터 전송 모드에서 인터페이스를 동작하는 것으로의 전환은, 핸드셰이킹 시퀀스(예를 들어, 심박 핸드셰이킹 시퀀스, 준비완료 핸드셰이킹 시퀀스)의 완료에 의해 트리거될 수 있다. 이들 경우에, 칩(106) 및 생체측정 모듈(108)이 데이터 전송 모드에서 인터페이스(1000)를 동작하도록 스스로를 재구성하기에 충분한 시간을 갖도록 보장하기 위해, 칩(106) 및 생체측정 모듈(108)은, 핸드셰이킹 시퀀스가 완료된 후 핸드셰이킹-대-데이터 임계값 시간량이 경과한 후에만 데이터 전송 모드에서 인터페이스(1000)를 동작시키도록 구성될 수 있다. 핸드셰이킹-대-데이터 임계값은 경험적으로 결정될 수 있다.
일부 경우에, 도 11에 도시된 바와 같이, 데이터 전송 모드에서 인터페이스(1000)를 동작시키는 것으로부터 핸드셰이킹 모드에서 인터페이스를 동작시키는 것으로의 전환은 데이터 전송(예를 들어, 커맨드 헤더, 커맨드 데이터, 확인응답, 응답 헤더 또는 응답 데이터의 전송)의 완료에 의해 트리거될 수 있다. 이들 경우에, 칩(106) 및 생체측정 모듈(108)이 핸드셰이킹 모드에서 인터페이스(1000)를 동작시키도록 스스로를 재구성하기에 충분한 시간을 갖도록 보장하기 위해, 칩(106) 및 생체측정 모듈(108)은, 데이터 전송의 완료 후 데이터-대-핸드셰이킹 임계값 시간량이 경과한 후에만 핸드셰이킹 모드에서 인터페이스(1000)를 동작시키도록 구성될 수 있다. 데이터-대-핸드셰이킹 임계값은 경험적으로 결정될 수 있다.
예시적인 핸드셰이킹 시퀀스들 및 모드들 사이의 전환들(그 예시적인 타이밍 임계값들도 포함)은 도 13 내지 도 17을 참조하여 아래에서 설명될 것이다. 이들 예에서, 칩(106) 및 생체측정 모듈(108)은 데이터 전송 모드에서 인터페이스(1000)를 동작시킬 때 ISO 7816 UART에 따라 인터페이스(1000)에서 동작하도록 구성된다. 이 예에서, UART는, 8비트 데이터, 1 정지 비트, 패리티 없음(즉, 바이트당 10비트 기간)으로 구성된다. 그러나, 이것은 단지 예일 뿐이라는 것은 본 기술분야의 통상의 기술자에게 명백할 것이다.
이제, 예시적인 심박 핸드셰이킹 시퀀스와 이에 후속하는 칩(106)이 커맨드 헤더를 전송하는 데이터 전송 모드로의 전환을 도시하는 도 13을 참조한다. 이 예에서, 인터페이스(1000)는 핸드셰이킹 모드에서 시작하고 칩(106)은 1302에서 제1 와이어(1002) 상에서 심박 신호를 전송함으로써 심박 핸드셰이킹 시퀀스를 개시한다. 일부 경우에, 칩(106)은 제1 와이어(1002)가 제1 상태로부터 제2 상태로의 전환하게 함으로써 제1 와이어(1002) 상에서 심박 신호를 전송할 수 있다. 예를 들어, 도 13에 도시된 바와 같이, 칩(106)은 (정지 상태가 하이인 경우) 제1 와이어(1002)를 로우로 구동함으로써 제1 와이어(1002) 상에서 심박 신호를 전송할 수 있다. 제1 와이어(1002) 상의 심박은 생체측정 모듈(108)에 의해 검출되어(이것은 생체측정 모듈(108)이 저전력 모드로부터 정상 동작 모드로 전환하게 할 수 있음), 1304에서 생체측정 모듈(108)이 제2 와이어(1004) 상의 심박을 확인응답하게 한다. 일부 경우에, 생체측정 모듈(108)은 제2 와이어(1004)를 제1 상태로부터 제2 상태로 구동함으로써 제2 와이어(1004) 상의 심박을 확인응답할 수 있다. 예를 들어, 도 13에 도시된 바와 같이, 생체측정 모듈(108)은 (정지 상태가 하이인 경우) 제2 와이어(1004)를 로우로 구동함으로써 심박을 확인응답할 수 있다.
심박 확인응답을 수신하는 것에 응답하여, 칩(106)은 1306에서 제1 와이어(1002) 상의 심박을 제거하지만 핸드셰이킹 모드에 머무른다. 일부 경우에, 칩(106)은 제1 와이어(1002)를 제2 상태로부터 제1 상태로 구동함으로써 제1 와이어(1002) 상의 심박을 제거할 수 있다. 예를 들어, 도 13에 도시된 바와 같이 칩(106)은 제1 와이어(1002)를 하이로 구동함으로써 제1 와이어(1002) 상의 심박을 제거할 수 있다. (즉, 정지 상태로 되돌리기). 심박의 제거를 검출하는 것에 응답하여, 생체측정 모듈(108)은 1308에서 데이터를 수신할 준비가 되었음을 나타내는 신호를 제2 와이어(1004) 상에서 전송한다. 일부 경우에, 생체측정 모듈(108)은 제2 와이어(1004)를 제2 상태로부터 다시 제1 상태로 구동함으로써 데이터를 수신할 준비가 되었음을 나타낼 수 있다. 예를 들어, 도 13에 도시된 바와 같이 생체측정 모듈(108)은 제2 와이어(1004)를 하이로 구동함으로써(즉, 정지 상태로 되돌림으로써) 데이터를 수신할 준비가 되었음을 나타낼 수 있다. 이것은, 데이터 전송 모드로의 인터페이스(1000)의 전환을 트리거하는 심박 핸드셰이킹 시퀀스를 완료할 수 있다.
칩(106) 및 생체측정 모듈(108)은 심박 핸드셰이킹 시퀀스의 완료 후(즉, 1310에서) 핸드셰이킹-대-데이터 임계값(thtd) 시간량이 경과한 후에 데이터 전송 모드에서 인터페이스(1000)의 동작을 시작할 수 있다. 예를 들어, 심박 핸드셰이킹 시퀀스의 완료 후 핸드셰이킹-대-데이터 임계값 시간량이 경과한 후에, 생체측정 모듈(108)은 클록 신호를 제공하기 위해 제2 와이어(1004)의 구동을 시작할 수 있다. 그 다음, 칩(106)은 칩(106)이 데이터(예를 들어, 커맨드 헤더)를 전송하기 전에 클록이 안정되기를 기다릴 수 있다(예를 들어, 생체측정 모듈(108)이 클록 신호를 구동하기 시작한 후 소정의 개수(예를 들어, 16)의 사이클을 기다릴 수 있음).
핸드셰이킹-대-데이터 임계값은, 칩(106) 및 생체측정 모듈(108)이 데이터 전송 모드에서 인터페이스(1000)를 동작시키기 위해 스스로를 재구성하기에 충분한 시간을 제공하도록 선택될 수 있다. 일부 경우에, 핸드셰이킹-대-데이터 임계값이 적어도 20μs일 수 있다. 일부 경우에, 칩(106) 및/또는 생체측정 모듈(108)은 핸드셰이킹 모드에서 인터페이스(1000)를 동작시키거나 제어하는 하나의 모듈과 데이터 전송 모드에서 인터페이스(1000)를 동작시키거나 제어하는 상이한 모듈을 가질 수 있다. 예를 들어, 칩(106) 또는 생체측정 모듈(108)은 데이터 전송 모드에서 인터페이스(1000)를 동작시키는 UART 모듈 및 핸드셰이킹 모드에서 인터페이스(1000)를 동작시키는 핸드셰이킹 모듈을 포함할 수 있다. 이들 경우에, 인터페이스(1000)의 제1 와이어 및 제2 와이어는 모드에 따라 적절한 모듈로 지향될 수 있다. 적절한 모듈로의 신호들의 이러한 지향은, 하드웨어 또는 소프트웨어에서 수행될 수 있다.
이제, 예시적인 준비완료 핸드셰이킹 시퀀스와 이에 후속하여 칩(106)이 데이터를 전송하는 데이터 전송 모드로의 전환을 나타내는 도 14를 참조한다. 이것은, 도 11의 준비완료 핸드셰이킹 시퀀스 대 커맨드 데이터 전송, 또는 준비완료 핸드셰이킹 시퀀스 대 응답 헤더 확인응답 전송을 구현하는데 이용될 수 있다. 준비완료 핸드셰이킹 시퀀스는 생체측정 모듈(108)이 데이터를 수신할 준비가 되었음을 나타내는데 이용될 수 있다. 이 예에서 인터페이스(1000)는 핸드셰이킹 모드에서 시작하고 생체측정 모듈(108)은 1402에서 제2 와이어(1004)를 제1 상태로부터 제2 상태로 구동함으로써 준비완료 핸드셰이킹 시퀀스를 개시한다. 예를 들어, 도 14에 도시된 바와 같이, 생체측정 모듈(108)은 제2 와이어(1004)를 로우로 구동함으로써 준비완료 핸드셰이킹 시퀀스를 개시할 수 있다. 그 다음, 생체측정 모듈(108)은, 후속해서, 1404에서 제2 와이어(1004)를 제2 상태로부터 다시 제1 상태로 구동함으로써 준비완료 핸드셰이킹 시퀀스의 끝을 표시할 수 있다. 예를 들어, 도 14에 도시된 바와 같이, 생체측정 모듈(108)은 제2 와이어(1004)를 하이로 구동함으로써 준비완료 핸드셰이킹 시퀀스의 끝을 표시할 수 있다. 준비완료 핸드셰이킹 시퀀스의 완료는 데이터 전송 모드로의 인터페이스(1000)의 전환을 트리거한다.
구체적으로, 칩(106) 및 생체측정 모듈(108)은 준비완료 핸드셰이킹 시퀀스의 완료 후(즉, 1406에서) 핸드셰이킹-대-데이터 임계값(thtd) 시간량이 경과한 후에 데이터 전송 모드에서 인터페이스(1000)의 동작을 시작하도록 구성될 수 있다. 예를 들어, 준비완료 핸드셰이킹 시퀀스의 완료로부터 핸드셰이킹-대-데이터 임계값 시간량이 경과한 후, 생체측정 모듈(108)은 UART 데이터 전송에 따라 클록 신호를 제공하기 위해 제2 와이어(1004)의 구동을 시작할 수 있다. 그 다음, 클록이 안정되기를 기다린 후(예를 들어, 미리결정된 수(예를 들어, 16) 클록 사이클 후) 칩(106)은 그 데이터 전송을 시작할 수 있다(1408에서). 전술된 바와 같이, 핸드셰이킹-대-데이터 임계값은, 칩(106) 및 생체측정 모듈(108)이 데이터 전송 모드에서 인터페이스(1000)를 동작시키기 위해 스스로를 재구성하기에 충분한 시간을 제공하도록 선택될 수 있다.
이제, 생체측정 모듈(108)이 예시적인 준비완료 핸드셰이킹 시퀀스와 이에 후속하는 데이터를 전송하는 데이터 전송 모드로의 전환을 나타내는 도 15를 참조한다. 이것은, 도 11 또는 도 12의 준비완료 핸드셰이킹 시퀀스 대 커맨드 헤더 확인응답 전송, 준비완료 핸드셰이킹 시퀀스 대 응답 헤더 전송, 또는 준비완료 핸드셰이킹 시퀀스 대 응답 데이터 전송을 구현하는데 이용될 수 있다. 준비완료 핸드셰이킹 시퀀스는 생체측정 모듈(108)이 데이터를 전송할 준비가 되었음을 나타내는데 이용될 수 있다. 이 예에서 인터페이스(1000)는 핸드셰이킹 모드에서 시작하고 생체측정 모듈(108)은 1502에서 제2 와이어(1004)를 제1 상태로부터 제2 상태로 구동함으로써 준비완료 핸드셰이킹 시퀀스를 개시한다. 예를 들어, 도 15에 도시된 바와 같이, 생체측정 모듈(108)은 제2 와이어(1004)를 로우로 구동함으로써 준비완료 핸드셰이킹 시퀀스를 개시할 수 있다. 그 다음, 생체측정 모듈(108)은, 후속해서, 1504에서 제2 와이어(1004)를 제2 상태로부터 다시 제1 상태로 구동함으로써 준비완료 핸드셰이킹 시퀀스의 끝을 표시할 수 있다. 예를 들어, 도 15에 도시된 바와 같이, 생체측정 모듈(108)은 제2 와이어(1004)를 하이로 구동함으로써 준비완료 핸드셰이킹 시퀀스의 끝을 표시할 수 있다. 준비완료 핸드셰이킹 시퀀스의 완료는 데이터 전송 모드로의 인터페이스(1000)의 전환을 트리거한다.
데이터 전송 모드로의 전환은 생체측정 모듈(108)이 데이터를 전송하는 것을 허용할 것이지만, 이 예에서 칩(106) 및 생체측정 모듈(108)은 먼저, 칩(106)이 생체측정 모듈(108)에 의한 데이터 전송 요청의 확인응답을 전송할 수 있게 하도록 칩이 데이터를 전송하는 데이터 전송 모드(즉, 칩(106)이 제1 와이어(1002)를 구동하는 데이터 전송 모드)에서 인터페이스(1000)를 동작시키도록 구성된다. 구체적으로, 준비완료 핸드셰이킹 시퀀스의 완료는, 생체측정 모듈(108)로 하여금 제2 와이어(1004)를 전환시켜 데이터 전송을 위한 클록 출력(예를 들어, UART 클록)이 되게 하고; 칩(106)으로 하여금 제1 와이어(1002)를 전환시켜 데이터 출력(예를 들어, UART 데이터 출력)이 되게 한다.
그 다음, 칩(106) 및 생체측정 모듈(108)은 준비완료 핸드셰이킹 시퀀스의 완료 후(즉, 1506에서) 핸드셰이킹-대-데이터 임계값(thtd) 시간량이 경과한 후에 데이터 전송 모드에서 인터페이스(1000)의 동작을 시작하도록 구성된다. 구체적으로, 준비완료 핸드셰이킹 시퀀스의 완료(즉, 1506에서)로부터 핸드셰이킹-대-데이터 임계값 시간량이 경과한 후, 생체측정 모듈(108)은 UART 데이터 전송에 따라 클록 신호를 제공하기 위해 제2 와이어(1004)의 구동을 시작한다. 그 다음, 클록이 안정되기를 기다린 후(예를 들어, 미리결정된 수(예를 들어, 16)의 클록 사이클 후 ― 즉, 1508에서), 칩(106)은 생체측정 모듈(108)이 전송할 데이터를 수락할 준비가 되었음을 생체측정 모듈(108)에게 나타내기 위해 제1 와이어(1002) 상에서 확인응답을 전송한다. 일부 경우에 확인응답은 단일 바이트(예를 들어, 0x06 16진수, 또는 0xf9 16진수)이거나 2바이트(예를 들어, 0x06 0x00 16진수)일 수 있다. SPI 데이터 전송에서 마스터(예를 들어, 칩(106))는 클록 신호를 생성하고 마스터(예를 들어, 칩(106))는 데이터를 수신할 준비가 되지 않은 한 클록 신호를 생성하지 않기 때문에 이 확인응답은 도 3 내지 도 9와 관련하여 전술된 인터페이스(300)에서 이용되지 않는다. 확인응답의 전송은, 생체측정 모듈(108)이 데이터를 전송하는(즉, 제1 와이어(1002)는 생체측정 모듈(108)에 의해 구동됨) 데이터 전송 모드로의 인터페이스(1000)의 전환을 트리거한다.
구체적으로, 일단 확인응답이 전송되고 나면(즉, 1510에서) 칩(106)은 제1 와이어(1002)를 데이터 전송 입력(예를 들어, UART 데이터 입력)으로 전환하고 생체측정 모듈(108)은 제1 와이어(1002)를 데이터 전송 출력(예를 들어, UART 데이터 출력)으로 전환하고, 그 다음, 생체측정 모듈(108)은 그 데이터(예를 들어, 커맨드 헤더 확인응답, 응답 헤더 또는 응답 데이터)를 전송한다.
이제 예시적인 칩(106) 데이터 전송과 후속하는 핸드셰이킹 모드로의 전환을 나타내는 도 16을 참조한다. 이것은 도 11의 커맨드 데이터 전송 대 준비완료 핸드셰이킹 시퀀스; 도 11 및 도 12의 커맨드 데이터 전송 대 커맨드 실행 핸드셰이킹 시퀀스; 또는 도 11의 응답 헤더 확인응답 전송 대 준비완료 핸드셰이킹 시퀀스를 구현하는데 이용될 수 있다. 이 예에서 인터페이스(1000)는 칩(106)이 데이터(예를 들어, 커맨드 헤더, 커맨드 데이터, 응답 헤더 확인응답)를 전송하는 데이터 전송 모드에서 시작한다. (예를 들어, 1602에서 데이터 전송의 마지막 바이트의 정지 비트의 전송에 의해 표시되는) 데이터 전송의 완료는 핸드셰이킹 모드로의 전환을 트리거한다.
구체적으로, 데이터 전송이 완료된 후(즉, 생체측정 모듈(108)이 1604에서 데이터 전송의 끝을 검출한 후) 칩(106) 및 생체측정 모듈(108)은 핸드셰이킹 모드로의 인터페이스(1000)의 전환을 시작한다. 예를 들어, 칩(106)은 제1 와이어(1002)를 핸드셰이킹 출력이 되도록 구성하고 제2 와이어(1004)를 핸드셰이킹 입력이 되도록 구성할 수 있고; 생체측정 모듈(108)은 제1 와이어(1002)를 핸드셰이킹 입력이 되도록 구성하고 제2 와이어(1004)를 핸드셰이킹 출력이 되도록 구성할 수 있다. 그 다음, 칩(106) 및 생체측정 모듈(108)이 인터페이스(1000)를 핸드셰이킹 모드로 전환하기 시작한 때(즉, 1606에서)로부터 데이터-대-핸드셰이킹 임계값(tdth) 시간량이 경과한 후 칩(106) 및 생체측정 모듈(108)은 핸드셰이킹 모드에서 인터페이스(1000)의 동작을 시작할 수 있다(예를 들어, 칩(106) 또는 생체측정 모듈(108) 중 어느 하나가 핸드셰이킹 시퀀스를 개시할 수 있다). 예를 들어, 1606에서, 생체측정 모듈(108)은 제2 와이어(1004)를 로우로 구동하여 준비완료 핸드셰이킹 시퀀스를 개시할 수 있거나, 1606에서 칩(106)은 제1 와이어(1002)를 로우로 구동하여 심박 핸드셰이킹 시퀀스를 개시할 수 있다. 데이터-대-핸드셰이킹 임계값은, 칩(106) 또는 생체측정 모듈(108)이, 다른 디바이스가 핸드셰이킹 시퀀스의 시작을 검출할 수 있도록 자신을 재구성할 시간을 갖기 전에(예를 들어, 여기서는 핸드셰이킹 엣지라고 지칭될 수 있는 하이-로우 전환들을 검출할 준비가 되기 전에) 핸드셰이킹 시퀀스를 개시하지 않게끔 보장하도록 구현될 수 있다.
이제, 예시적인 생체측정 모듈(108) 데이터 전송과 이에 후속하는 핸드셰이킹 모드로의 전환을 나타내는 도 17을 참조한다. 이것은, 도 11의 커맨드 헤더 확인응답 전송 대 준비완료 핸드셰이킹 시퀀스; 도 11의 응답 헤더 전송 대 준비완료 핸드셰이킹 시퀀스; 또는 도 11 및 도 12의 응답 데이터 전송 대 준비완료 핸드셰이킹 시퀀스를 구현하는데 이용될 수 있다. 이 예에서, 인터페이스(1000)는 생체측정 모듈(108)이 데이터(예를 들어, 커맨드 헤더 확인응답, 응답 헤더, 응답 데이터)를 전송하는 데이터 전송 모드에서 시작한다. (예를 들어, 1702에서 데이터의 마지막 바이트의 정지 비트의 전송에 의해 표시되는) 데이터 전송의 완료는 핸드셰이킹 모드로의 전환을 트리거한다.
구체적으로, 데이터 전송이 완료된 후(즉, 칩(106)이 1704에서 데이터 전송의 끝을 검출한 후) 칩(106) 및 생체측정 모듈(108)은 핸드셰이킹 모드로의 인터페이스(1000)의 전환을 시작한다. 예를 들어, 칩(106)은 제1 와이어(1002)를 핸드셰이킹 출력이 되도록 구성하고 제2 와이어(1004)를 핸드셰이킹 입력이 되도록 구성하고; 생체측정 모듈(108)은 제1 와이어(1002)를 핸드셰이킹 입력이 되도록 구성하고 제2 와이어(1004)를 핸드셰이킹 출력이 되도록 구성한다. 그 다음, 칩(106) 및 생체측정 모듈(108)이 인터페이스(1000)를 핸드셰이킹 모드로 전환하기 시작한 때(즉, 1706에서)로부터 데이터-대-핸드셰이킹 임계값(tdth) 시간량이 경과한 후 칩(106) 및 생체측정 모듈(108)은 핸드셰이킹 모드에서 인터페이스(1000)의 동작을 시작할 수 있다(예를 들어, 칩(106) 또는 생체측정 모듈(108) 중 어느 하나가 핸드셰이킹 시퀀스를 개시할 수 있다). 예를 들어, 1706에서, 생체측정 모듈(108)은 제2 와이어(1004)를 로우로 구동하여 준비완료 핸드셰이킹 시퀀스를 개시하거나, 1706에서 칩(106)은 제1 와이어(1002)를 로우로 구동하여 심박 핸드셰이킹 시퀀스를 개시할 수 있다.
전술된 양쪽 모두의 예시적인 인터페이스 구현들(예를 들어, 도 3 내지 도 9와 관련하여 설명된 예시적인 구현, 및 도 10 내지 도 17과 관련하여 전술된 예시적인 구현)에서, 핸드셰이킹 아웃 와이어(예를 들어, 제1 와이어(302 또는 1002))는 커맨드 실행 동안 소정의 상태(예를 들어, 하이)로 구동될 수 있고 핸드셰이킹 인 와이어(예를 들어, 제2 와이어(304 또는 1004))는 커맨드 실행 동안 상이한 상태(예를 들어, 로우)로 구동될 수 있다.
일부 경우에, 칩(106)은 디바이스(100)가 비접촉식 모드에서 동작 중일 때 비접촉식 전송 프로토콜에 따라 단말기(102)와 통신하도록 구성될 수 있으며, 이에 의해 단말기(102)에 의해 전송되는 메시지 또는 커맨드는 단말기와의 접속을 유지하기 위해 칩(106)으로부터의 응답에 대한 명시된 대기 시간을 설정한다. 비접촉식 프로토콜은, 예를 들어 ISO 14443 및/또는 EMVCo® 표준들에 의해 명시될 수 있다. 칩(106)은 응답에 대한 대기 시간을 연장하는 요청들을 단말기(102)에 전달할 수 있지만, 각각의 요청은 기존 대기 시간의 만료 전에 전송되어야 하며, 그렇지 않으면 단말기(102)는 칩에 대한 접속이 실패한 것으로 가정한다. 따라서, 칩(106)과 단말기(102) 사이의 통신을 관할하는 전송 프로토콜은 이들 통신에 대한 타이밍 제약들을 설정할 수 있다. 특히, 비접촉식 프로토콜은, 칩(106)이 (대기 시간 연장 요청 또는 어떤 다른 메시지를 전달함으로써) 명시된 대기 시간의 만료 전에 단말기(102)에 응답하는데 실패하는 것이 칩(106)과 단말기(102) 사이의 접속이 실패하게(예를 들어, 타임 아웃) 하도록 하는 것일 수 있다.
특히, ISO 14443 및 EMVCo® 표준들은, 칩(106)에 커맨드를 전송한 단말기(102)가 칩(106)으로부터의 응답에 대한 초기 대기 시간(프레임 대기 시간(FWT)이라고 알려짐)을 설정할 것을 명시한다. FWT는 칩(106)이 단말기(102)에 응답을 다시 보내는 것을 개시하기 위한 허용되는 최대 시간량이다. 칩(106)이 FWT 내에서 단말기에 응답을 전송하지 못하는 것은, 칩(106)과 단말기(102) 사이의 통신 접속이 상실되는 것, 예를 들어 타임아웃되는 결과를 초래할 수 있다. FWT의 값은 디바이스(100)와 단말기(102) 사이에서 협상될 수 있다. 대기 시간 연장 요청은 S(WTX)로 표기될 수 있다. 대기 시간 연장 요청을 수신하는 것에 응답하여, 단말기는 칩(106)으로부터의 응답에 대한 대기 시간을 연장한다. 디바이스(100)는 프레임 대기 시간(FWT)만큼 대기 시간을 연장할 수 있다(즉, 초기 대기 시간과 동일한 양만큼 대기 시간을 연장할 수 있다). 대기 시간 연장 요청은, 현재의 대기 시간 만료 전에 언제든지 이루어질 수 있다.
칩(106)이 단말기(102)와 통신하는 기간 동안 생체측정 모듈(108)은 그 기능을 수행하지 않는 것이 바람직하다. 이것은 2개의 주요 이유 때문이다. 첫째, 디바이스(100)가 비접촉식 모드에서 동작하고 있을 때, 단말기(102)로부터 방출된 무선 신호로부터 수집될 수 있는 전력은 제한될 수 있고 수집된 전력은 디바이스(100)가 준수하여 동작하는 표준들에 의해 필요한 단말기(102)와의 스케쥴링된 통신들을 지원하도록 우선순위화될 수 있다. 둘째, 칩(106)이 단말기(102)와 통신하는 기간 동안 생체측정 모듈(108)에 의해 인출된 전력은 단말기(102)에 의해 방출되는 신호의 부하 변조에 영향을 미치며, 이것은 추가 노이즈로서 단말기(102)에 나타날 수 있다. 다시 말해, 생체측정 모듈(108)에 의해 인출되는 전력은 칩(106)과 단말기(102) 사이의 통신들에 간섭을 야기할 수 있다.
이들 문제를 피하기 위해, 생체측정 모듈(108)에 의해 수행되는 커맨드 실행은 복수의 개별 동작들 또는 작업들로 분할될 수 있다. 각각의 작업은, 각각의 작업이 그 일부를 형성하고 있는 커맨드 실행보다 완료하는데 감소된 시간량이 걸릴 수 있다. 생체측정 모듈(108)에 의해 수행되는 처리는 개별 동작들 사이의 경계들에서 시작되거나 일시 중단될 수 있다. 다시 말해서, 생체측정 모듈(108)에 의해 수행되는 처리는 개별 작업의 완료시에 일시 중단될 수 있고, 후속하는 개별 작업을 처리함으로써 재개될 수 있다. 생체측정 모듈(108)에 의해 실행되는 커맨드들이 다양한 세분도로 개별 작업들로 분할되는 것이 가능하다. 예를 들어, 개별 동작은 전술된 생체측정 인증 단계들 중 하나(예를 들어, 센서에 의한 이미지 취득)를 지칭할 수 있다. 대안으로서, 개별 동작은 생체측정 인증 단계들의 조합일 수 있다. 그 다음, 디바이스(100)는, 이들 개별 동작들의 처리를, (이 예에서는 대기 시간 연장 요청들 S(WTX)인) 디바이스(100)와 단말기(102) 사이의 스케쥴링된 통신들과 동기화하도록 동작한다. 디바이스(100)는 이러한 동기화를 수행하여 대기 기간 내에 개별 동작들이 수행되게 한다.
동기화를 수행하기 위한 3개의 접근법이, 참조에 의해 그 전체내용이 본 명세서에 포함되는, 본 출원인의 미국 특허 출원 번호 제15/883,543호에 설명되어 있다. 3개의 설명된 방법들 중 임의의 것은, 칩(106)과 단말기(102) 사이의 통신이 타임아웃되지 않도록 및/또는 손상되지 않도록 보장하기 위해, 생체측정 모듈(108)에 의해 수행되는 커맨드 실행과 칩(106)과 단말기(102) 사이의 통신을 동기화하는데 이용될 수 있다고 여겨진다.
미국 특허 출원 번호 제15/883,543호는 또한, 칩(108)이 단말기(102)에 S(WTX) 메시지를 전송하는 것을 허용하는 생체측정 모듈(108)에 의한 커맨드 실행을 일시중단하고 후속적으로 재개하는데 이용될 수 있는 예시적인 핸드셰이킹 시퀀스 일시중단 및 재개를 설명한다.
전술된 예들에서 칩과 생체측정 모듈 사이의 인터페이스는 칩과 생체측정 모듈 사이의 통신(예를 들어, 생체측정 통신)에만 이용되지만, 다른 경우들에서, 칩과 생체측정 모듈 사이의 인터페이스는 복수의 기능 또는 목에 이용될 수 있다. 특히, 일부 경우에 칩과 생체측정 모듈 사이의 인터페이스는 칩과 생체측정 모듈 사이의 통신(예를 들어, 생체측정 통신), 및 칩과 단말기 등의 또 다른 디바이스 사이의 통신에 이용될 수 있다.
예를 들어, 이제 단말기(1802)와 접촉식 또는 비접촉 통신할 수 있는 제2 예시적인 디바이스(1800)를 도시하는 도 18을 참조한다. 도 1의 디바이스(100)와 마찬가지로, 도 18의 디바이스(1800)는 칩(1806) 및 생체측정 모듈(1808)을 포함하고 칩(1806)은 하나 이상의 접촉식 요소(들)(1810)를 통해 접촉식 모드로 또는 안테나(1804)를 통해 비접촉식 모드로 단말기(1802)와 통신할 수 있다. 그러나, 이 예에서, 칩(1806)과 접촉식 요소(들)(1810) 사이에 전용 인터페이스(예를 들어, 와이어들 또는 도체들)가 있는 것 대신에, 생체측정 모듈(1808)은 생체측정 모듈(1808)을 통해 접촉식 요소(들)(1810)에 접속된다. 구체적으로, 생체측정 모듈(1808)은 제1 인터페이스(1820)를 통해 접촉식 요소(들)(1810)에 접속되고; 및 제2 인터페이스(1812)를 통해 칩(1806)에 접속된다. 디바이스(1800)가 접촉식 모드에서 동작 중일 때 칩(1806)과 단말기(1802) 사이의 모든 통신은 생체측정 모듈(1808)을 거친다. 디바이스(1800)가 접촉식 모드에서 동작 중일 때 칩(1806)은 ISO 7816 표준에 따라 단말기(1802)와 통신할 수 있다.
디바이스(1800)는 또한, 칩(1806)을 안테나(1804)에 접속하는 제3 인터페이스(1822)를 포함한다. 디바이스(1800)가 비접촉 모드에서 동작 중일 때 칩(1806)과 단말기(1802) 사이의 통신은 생체측정 모듈(1808)을 통해 라우팅되지 않는다. 디바이스(1800)가 비접촉식 모드에서 동작 중일 때 칩(1806)은 ISO 14443 표준에 따라 단말기(1802)와 통신할 수 있다.
디바이스(1800)가 접촉식 모드에서 동작 중일 때 칩(1806)과 단말기(1802) 사이의 통신이 생체측정 모듈(1808)을 통해 라우팅되는 예시적인 생체측정 모듈은, 참조에 의해 그 전체내용이 본 명세서에 포함되는, 본 출원인의 동시 계류 중인 UK 특허 출원 번호 제1814210.9호에 설명되어 있다. 여기서 설명된 바와 같이, 생체측정 모듈(1808)은, 제1 인터페이스(1820)를 통해 생체측정 모듈 자체(예를 들어, 그 생체측정 제어기) 및 접촉식 요소(들)(1810)로부터 신호 입력을 수신하고 이들 수신된 입력들을 칩(1806)에 의한 수신을 위해 제2 인터페이스(1812) 상에서 멀티플렉싱하는 멀티플렉서(MUX)를 포함할 수 있다. MUX는 또한 인터페이스(1812)를 통해 칩(1806)으로부터 입력들을 수신하며, 적절한 경우 이를 인터페이스(1820)를 통해 생체측정 모듈(예를 들어, 그 생체측정 제어기) 또는 접촉식 요소(들)(1810)에 보낸다.
예를 들어, 제1 및 제2 인터페이스(1820 및 1812) 각각은, 적어도 2개의 와이어, ―클록 신호를 운반하기 위한 와이어(여기서는 클록 와이어라고 지칭될 수 있음) 및 데이터를 전송하기 위한 와이어(여기서는 데이터 와이어라고 지칭될 수 있음) ―를 가질 수 있고, 생체측정 모듈은 대응하는 포트들 ―클록 포트 및 데이터 포트를 포함할 수 있다. MUX는 제2 인터페이스(1812)의 클록 와이어를 제1 인터페이스(1820)의 클록 와이어에 또는 생체측정 모듈의 클록 포트에 접고; 및 제2 인터페이스(1812)의 데이터 와이어를 제1 인터페이스(1820)의 데이터 와이어에 또는 생체측정 모듈의 데이터 포트에 접속하도록 구성될 수 있다.
일부 경우에, 제2 인터페이스(1812)는 도 10 내지 도 17과 관련하여 전술된 인터페이스(1000)를 이용하여 구현될 수 있다. 특히, 디바이스(1800)가 비접촉식 모드에서 동작 중이고 인터페이스(1812)(예를 들어, 인터페이스(1000))가 칩(1806)과 생체측정 모듈(1808) 사이의 통신(예를 들어, 생체측정 통신)에 독점적으로 이용될 때, 칩(1806)과 생체측정 모듈(1808)은 도 10 내지 도 17과 관련하여 전술된 바와 같이 인터페이스(1812)를 동작시킬 수 있다 ― 즉, 핸드셰이킹 모드 및 데이터 전송 모드에서.
그러나, 접촉식 요소(들)(1810)를 통한 칩(1806)과 단말기(1802) 사이의 통신을 위한 인터페이스(1812)의 이용을 수용하기 위해, 인터페이스(1812)(예를 들어, 인터페이스(1000))는 칩(1806)이 접촉식 요소(들)(1810)를 통해 단말기(1802)와 통신하는 외부 통신 모드에서 추가로 동작가능할 수 있다. 그 다음, 디바이스(1800)가 접촉식 모드에서 동작 중일 때 인터페이스(1812)는 전술된 외부 통신 모드와 데이터 전송 모드 사이에서 동작가능할 수 있다. 따라서, 디바이스(1800)가 접촉식 모드에서 동작 중일 때 인터페이스(1812)는 핸드셰이킹 모드에서 동작가능하지 않을 수 있다. 인터페이스(1000)가 UART 데이터 전송 모드에서 동작 중일 때, UART 파라미터들 중 일부는 외부 통신 모드에서 이용되는 것들과 상이하도록 선택될 수 있다. 모드들 간에 상이한 파라미터들에는, 패킷 내의 데이터 비트 수, 패리티 비트 생성 및/또는 체크 여부, 정지 비트 수, 및/또는 제2 와이어(1004) 상의 클록 신호(UART CLK)와 보 레이트 사이의 주파수 관계가 포함될 수 있지만 이것으로 제한되는 것은 아니다.
디바이스(1800)가 접촉식 모드에서 동작 중일 때, 인터페이스(1812)는 칩(1806)과 단말기(1802) 사이의 통신을 위해 초기에 이용될 수 있다(즉, 인터페이스(1812)는 초기에 외부 통신 모드에서 동작될 수 있다). 인터페이스(1812)가 칩(1806)과 단말기(1802) 사이의 통신을 위해 이용되는 동안(즉, 인터페이스가 외부 통신 모드에서 동작 중일 때), 생체측정 모듈(1808)은, 칩(1806)으로부터의 접촉식 요소(들)(1810)로의 및 그 반대로의 통신을 라우팅하는 것에 추가하여, 칩(1806)이 인터페이스(1812)를 데이터 전송 모드로 전환하기를 원한다는 것을 나타내는 특별한 커맨드 또는 패턴을 검출하기 위해 데이터 전송 또는 전달에 이용되는 인터페이스(1812)의 와이어(예를 들어, 제1 와이어(1002))를 모니터링하도록 구성될 수 있다. 칩(1806)은 예를 들어 인터페이스(1812)를 데이터 전송 모드로 전환하여 디바이스(1800)의 사용자의 생체측정 인증을 수행하라는 커맨드를 생체측정 모듈(1808)에 내리기를 원할 수도 있다. 칩(1806)은 임의의 이러한 커맨드 또는 패턴이 전송될 때(인터페이스(1812 및 1820)를 통해) 단말기(1802)에 접속될 것이기 때문에, 커맨드 또는 패턴이 단말기(1802)로 하여금 문제를 검출하거나 잘못된 방식으로 거동하게 하지 않도록 커맨드 또는 패턴이 선택되는 것이 바람직하다. 다시 말해서, 칩(1806)과 단말기(1802) 사이에 이용되는 통신 프로토콜에서 양성인 데이터 전송 모드로의 전환을 나타내거나 시그널링하는 커맨드 또는 패턴을 선택하는 것이 유리할 수 있다.
이제, 칩(1806) 및 단말기(1802)가 ISO 7816 T=0에 따라 통신하도록 구성될 때 칩(1806)과 단말기(1802) 사이의 인터페이스(1812)가 외부 통신 모드로부터 데이터 전송 모드로 전환될 것임을 나타내기 위해 칩(1806)에 의해 전송될 수 있는 제1 예시적인 커맨드 또는 패턴을 도시하는 도 19를 참조한다. 본 기술분야의 통상의 기술자에게 알려진 바와 같이, ISO 7816은 데이터가 APDU(Application Protocol Data Units)로 운반될 것을 요구한다. 이 예에서, 칩(1806)은, 커맨드 APDU의 마지막 캐릭터 뒤에, 2개의 NULL(0x60 16진수) 절차 바이트를 서로 짧은 시간 내에 전송함으로써(예를 들어, 제2 NULL은 제1 NULL이 도달 후 10ms 이내에 도달), 인터페이스(1812)(예를 들어, 인터페이스(1000))이 외부 통신 모드로부터 데이터 전송 모드로 전환된다는 것을 나타내도록 구성될 수 있다. 2개의 NULL 절차 바이트는 ISO 7816 T=0에서 구문적으로 유효하지만 NULL 절차 바이트는 칩(1806)이 단말기(1802)로부터의 커맨드에 응답하기 전에 더 많은 시간이 필요할 때 대기 시간을 충족시킬 의도의 "접속 유지" 응답이기 때문에 흔치 않다. 결과적으로, 이러한 커맨드 또는 패턴은 단말기(1802)로 하여금 칩(1806)과의 접속 및/또는 통신에 문제가 있다는 것을 검출하게 하지 않을 것이다.
이제, 칩(1806)과 단말기(1802)가 ISO 7816 T=1에 따라 통신하도록 구성될 때 칩(1806)과 생체측정 모듈(1808) 사이의 인터페이스(1812)가 외부 통신 모드로부터 데이터 전송 모드로 전환될 것임을 나타내기 위해 칩(1806)에 의해 전송될 수 있는 제2 예시적인 패턴 또는 커맨드를 나타내는 도 20을 참조한다. ISO 7816 T=1은 대기 시간 연장을 위해 NULL 절차 바이트를 이용하지 않으므로, 이 예에서, 칩(1806)은, 커맨드 APDU의 마지막 캐릭터 후의 어느 시점에, 잘못 형성된(또는 올바르지 않게 형성된) S-블록을 전송함으로써, 인터페이스(1812)(예를 들어, 1000)가 외부 통신 모드로부터 데이터 전송 모드로 전환될 것임을 나타내도록 구성될 수 있다. 이러한 잘못 형성된 S-블록의 한 예는 16진수 "00 E3 00 1C"이다. 이 S 블록은 여러 가지 이유로 잘못 형성된다. 일반적으로 칩(1806)에 의해 전송되지 않는(일반적으로 단말기(1802)에 의해 전송되는) 것은 S(WTX 응답) 블록 ―(요청이 아니라) 대기 시간 연장 응답이다. 길이 필드는 이 유형의 블록에 대해 올바르지 않고 LRC는 올바르지 않다(예상 값의 비트별 보수). 단말기(1802)는 올바르게 형성된 R-블록으로 이러한 잘못 형성된 S-블록에 응답해야 한다. 따라서, 이 예에서, 생체측정 모듈(1808)은, 생체측정 모듈(1808)이 단말기(1802)로부터의 R-블록 응답을 후속 동반하는 제1 와이어(1002) 상의 이러한 특정한 잘못-형성된 S-블록을 검출할 때, 인터페이스(1812)(예를 들어, 1000)가 외부 통신 모드로부터 데이터 전송 모드로 전환되어야 한다고 결정할 수 있다.
생체측정 모듈(1808)이 인터페이스(1812)(예를 들어, 인터페이스(1000))가 외부 통신 모드로부터 데이터 전송 모드로 전환될 것임을 나타내는 특정한 커맨드 또는 패턴을 데이터 와이어(예를 들어, 제1 와이어(1002)) 상에서 검출할 때, 생체측정 모듈(1808)은 칩(1806)과 생체측정 모듈(1808) 사이에 사설 채널을 확립하기 위해 접촉식 요소(들)(1810)를 칩(1806)과 생체측정 모듈(1808) 사이의 생체측정 통신으로부터 전기적으로 분리하도록 구성될 수 있다. 예를 들어, 칩(1806)과 생체측정 모듈(1808) 사이의 인터페이스(1812)(예를 들어, 인터페이스(1000))의 제1 와이어(1002)에 결합된 접촉식 요소(들)(1810)에 생체측정 모듈(1808)을 접속하는 인터페이스(1820)의 와이어는, 칩(1806)과 생체측정 모듈(1808) 사이의 인터페이스(1812)(예를 들어, 인터페이스(1000)) 상의 생체측정 통신으로부터 접촉식 요소(들)(1810)를 분리하기 위한 분리기를 포함할 수 있다. 분리기는, 칩(1806)과 생체측정 모듈(1808) 사이의 인터페이스(1812) 상의 데이터가 생체측정 모듈(1808)과 접촉식 요소(들)(1810) 사이의 인터페이스(1820)에 전파되는 것을 방지하면서 접촉식 요소(들)(1810)로부터 인터페이스(1820) 상에 도달하는 데이터가 인터페이스(1812)에 전파되는 것을 여전히 허용할 수 있다는 점에서 1방향 분리기일 수 있다. 분리기는 패스 트랜지스터(pass transistor)일 수 있다. 패스 트랜지스터는 전계 효과 트랜지스터(FET)일 수 있다. 일단 접촉식 요소(들)(1810), 및 그에 따라 단말기(1802)가 칩(1806)과 생체측정 모듈(1808) 사이의 생체측정 통신으로부터 분리되고 나면, 생체측정 통신은 칩(1806)과 단말기(1802) 사이에 합의된 바로 그 통신 프로토콜 또는 파라미터들을 이용할 필요는 없다.
일부 경우에, 칩(1806)과 생체측정 모듈(1808) 사이의 인터페이스(1812)(예를 들어, 인터페이스(1000))가 외부 통신 모드로부터 데이터 전송 모드로 전환되어야 함을 나타내는 특정한 커맨드 또는 패턴을 데이터 와이어(예를 들어, 제1 와이어(1002)) 상에서 검출하는 것에 응답하여 칩(1806)과 생체측정 모듈(1808) 사이의 생체측정 통신으로부터 접촉식 요소(들)(1810)를 전기적으로 분리하는 것에 추가하여, 생체측정 모듈(1808)은 클록 소스를 내부적으로 생성된 클록으로 전환하도록 구성될 수 있다. 예를 들어, 디바이스(1800)가 접촉식 모드에서 동작 중일 때, 생체측정 모듈(1808)은 단말기(1802)에 의해 생성된 클록 신호를 인터페이스(1820)를 통해 접촉식 요소(들)로부터 수신할 것이고 생체측정 모듈(1808)은 그 클록 신호(또는 그 한 버전)를 인터페이스(1812)를 통해 칩(1806)에 제공한다. 그러나, 인터페이스(1812)(예를 들어, 인터페이스(1000))가 데이터 전송 모드에서 동작하도록 전환될 때, 생체측정 모듈(1808)은 단말기(1802)에 의해 생성된 클록 신호를 인터페이스(1812)를 통해 칩(1806)에 제공하는 것 대신에, 내부적으로 생성된 클록 신호를 칩(1806)으로 제공하도록 구성될 수 있다. 이것은, 칩(1806)과 단말기(1802) 사이의 통신에 이용된 보 레이트보다 높은 보레이트가 칩(1806)과 생체측정 모듈(1808) 사이의 생체측정 통신에 이용되는 것을 허용할 수 있다. 구체적으로, 칩(1806)과 생체측정 모듈(1808) 사이의 비교적 짧은 데이터 와이어(예를 들어, 제1 와이어(1002))는 더 큰 데이터 와이어/라인으로부터 단말기(1802) 쪽으로 분리되기 때문에, 생체측정 통신은 IS0 7816 표준에 의해 예상되는 것보다 높은 데이터 레이트로 구현될 수 있다.
일단 생체측정 모듈(1808)이 인터페이스(1812)(예를 들어, 인터페이스(1000))를 데이터 전송 모드로 전환하고 칩(1806) 및 생체측정 모듈(1808)이 사설 채널의 파라미터들을 이용하도록 스스로를 재구성하고 나면, 칩(1806)은, 인터페이스(1812)(예를 들어, 인터페이스(1000))의 제1 와이어(1002) 상에서 커맨드를 생체측정 모듈(1808)에 전송함으로써 생체측정 모듈(1808)과의 커맨드-응답 시퀀스를 개시할 수 있다.
생체측정 모듈(1808)이 칩(1806)과 생체측정 모듈(1808) 사이의 인터페이스(1812) 상에서 전송된 클록을 생체측정 모듈(1808)의 내부 클록으로 전환하도록 구성되는 경우, 인터페이스(1812)(예를 들어, 인터페이스(1000))가 데이터 전송 모드에서 동작 중일 때 일단 인터페이스(1812)(예를 들어, 인터페이스(1000))가 데이터 전송 모드로 전환되고 나면, 생체측정 모듈(1808)은 캘리브레이션 값을 칩(1806)에 전송하도록 구성될 수 있다. 캘리브레이션 값은 단말기(1802)에 의해 생성된 클록 신호의 주파수와 내부 클록 신호의 주파수 사이의 관계 표시를 제공한다. 일부 경우에, 캘리브레이션 값은 방정식 (1)에 따라 생성될 수 있다. 여기서 fterminal은 인터페이스(1820)를 통해 수신된 접촉식 요소(들)(1810)로부터의 인입 클록 신호의 주파수이고, fbiometric은 생체측정 모듈(1808)의 내부 클록에 의해 생성된 클록 신호의 주파수이다.
Figure pct00001
(1)
캘리브레이션 값은 16비트 부호없는 양으로서 운반될 수 있다. 8192의 이용은, (예를 들어, 테스트, 디버깅 등을 위해) 일부 경우에는 더 낮은 fbiometric이 이용될 수 있도록 약간의 헤드룸(headroom)을 허용할 수 있다. 이들 경우에, 칩(1806)은, 생체측정 모듈(1808)로부터 클록 캘리브레이션 값을 수신하는 것에 응답하여 그 대기 시간 타임아웃을 (8192/캘리브레이션 값)만큼 조정하도록 구성될 수 있고, 인터페이스(1812)(예를 들어, 인터페이스(1000))가 외부 통신 모드로 다시 전환될 때 그 대기 시간 타임아웃을 (캘리브레이션 값/8192)만큼 스케일링하도록 구성될 수 있다.
클록 캘리브레이션 값을 운반하는데 이용되는 패킷의 한 예시적인 포멧이 표 1에 나와 있다.
Figure pct00002
디바이스(1800)가 접촉식 모드에서 동작 중이고 인터페이스(1812)가 데이터 전송 모드에서 동작 중일 때, 생체측정 모듈(1808)은 데이터를 전송하는데 이용되는 와이어(예를 들어, 제1 와이어(1002)) 상에서 특정한 패턴을 검출할 때 인터페이스(1812)를 외부 통신 모드로 다시 전환하도록 구성될 수 있다. 예를 들어, 일부 경우에, 특정한 패턴은 표 2에 나타낸 바와 같이 모두 0인 헤더(예를 들어, 6바이트)일 수 있다. 이것은, 유효한 헤더는 모두 0일 수 없기 때문에 인터페이스(1812)(예를 들어, 인터페이스(1000))가 외부 통신 모드로 전환되어야 함을 나타내는데 이용될 수 있다.
Figure pct00003
인터페이스(1812)(예를 들어, 인터페이스(1000))를 외부 통신 모드로 다시 전환하는 것은, 생체측정 모듈(1808)과 접촉식 요소(들)(1810) 사이의 인터페이스(1820)의 데이터 와이어를 생체측정 모듈(1808)과 칩(1806) 사이의 인터페이스(1812)의 데이터 와이어에 재접속하는 것을 추가로 포함할 수 있다. 데이터 전송 모드에서 이용되는 클록 신호가 생체측정 모듈(1808) 내부의 클록으로부터 생성된 클록 신호인 경우, 인터페이스(1812)를 외부 통신 모드로 다시 전환하는 것은, 생체측정 모듈(1808)과 접촉식 요소(들)(1810) 사이의 인터페이스(1820)의 클록 와이어를 생체측정 모듈(1808)과 칩(1806) 사이의 인터페이스(1812)의 클록 와이어에 재접속하는 것을 추가로 포함할 수 있다.
생체측정 모듈(1808)은, 생체측정 모듈(1808)과 접촉식 요소(들)(1810) 사이의 인터페이스(1820)에 전력이 있는지를 평가함으로써 디바이스(1800)가 접촉식 모드 또는 비접촉식 모드에서 단말기와 통신하고 있는지를 결정하도록 구성될 수 있다. 생체측정 모듈(1808)이 인터페이스(1820) 상에서 전력을 검출하면, 생체측정 모듈(1808)은 디바이스(1800)가 접촉식 모드에서 동작 중이라고 결정할 수 있다. 생체측정 모듈(1808)은, 대안으로서 또는 추가적으로, 접촉식 요소(들)(1810)와 생체측정 모듈(1808) 사이의 인터페이스(1820)의 클록 라인 상에 활성 클록이 존재하는지를 평가함으로써, 디바이스(1800)가 접촉식 모드 또는 비접촉식 모드에서 단말기(1802)와 통신하는지 있는지를 결정하도록 구성될 수 있다. 생체측정 모듈(1808)이 클록 라인 상에서 클록의 존재를 검출하면, 디바이스(1800)가 접촉식 모드에서 동작 중이라고 결정한다. 생체측정 모듈(1808)이 클록 라인 상에서 어떠한 클록도 없다는 것을 검출하면, 디바이스(1800)가 비접촉식 모드에서 동작 중이라고 결정한다.
도 18의 예에서, 생체측정 모듈(1808) 및 칩(1806) 양쪽 모두는 단말기(1802)에 의해 전력을 공급받는다. 구체적으로, 비접촉식 모드에서 생체측정 모듈(1808) 및 칩(1806)은 안테나(1804)를 통해 단말기(1802)로부터 수신된 무선 신호로부터 전력을 수신하고, 접촉식 모드에서 생체측정 모듈(1808) 및 칩(1806)은 접촉식 요소(들)(1810)를 통해 단말기(1802)로부터 전력을 수신한다. 일부 경우에, 생체측정 모듈(1808) 및 칩(1806) 각각은, RF 장으로부터의 전력을 안테나(1804)에서 수집하기 위해 도 1 및 도 2에 관해 전술된 바와 같이 동작하는 전력 수집 유닛을 포함할 수 있어서, 디바이스(1800)가 비접촉식 모드에서 동작 중일 때, 생체측정 모듈(1808)과 칩(1806)은 서로 독립적으로 RF 장으로부터 전력을 수집할 수 있다. 그러나, 일부 경우에, 디바이스(1800)가 접촉식 모드에서 동작 중일 때 생체측정 모듈(1808)의 전력 관리 유닛은 제1 인터페이스(1820)의 전력선들을 통해 접촉식 요소들로부터 전력을 수신할 수 있고, 생체측정 모듈(1808)의 전력 관리 유닛은, 그 전력을 생체측정 모듈(1808)(예를 들어, 그 생체측정 제어 유닛)과 칩(106) 양쪽 모두에 출력할 수 있다. 따라서, 이들 경우에, 디바이스(1800)가 접촉식 모드에서 동작 중일 때 접촉식 요소(들)(1810)를 통해 수신된 전력은 생체측정 모듈(1808)을 통해 칩(1806)에 제공될 수 있다. 이것은 단지 예시일 뿐이며 다른 경우들에서 생체측정 모듈(1808) 및 칩(1806) 중 하나만이 전력 수집기를 포함할 수 있고 디바이스(1800)가 비접촉식 모드에서 동작 중일 때 전력 수집기로부터 수집된 전력은 전력 수집기를 갖춘 디바이스를 통해 다른 디바이스에 분배되거나; 및/또는 생체측정 모듈(1808) 및 칩 양쪽 모두는 디바이스(1800)가 접촉식 모드에서 동작 중일 때 각각 접촉식 요소(들)로부터 전력을 직접 수신할 수 있다는 것이 본 기술분야의 통상의 기술자에게 명백할 것이다.
본 출원인은 여기서 설명된 각각의 개개의 피처 및 2개 이상의 이러한 피처들의 임의의 조합을, 이러한 피처들 또는 조합들이 본 기술분야의 통상의 기술자의 일반적인 상식에 비추어 전체로서 본 명세서에 기초하여 실행될 수 있는 범위까지, 이러한 피처들 또는 피처들의 조합들이 여기서 개시된 임의의 문제들을 해결하는지의 여부와 상관없이, 분리하여 개시한다. 전술한 설명에 비추어 볼 때, 본 발명의 범위 내에서 다양한 수정이 이루어질 수 있다는 것이 본 기술분야의 통상의 기술자에게 명백할 것이다.

Claims (38)

  1. 시스템으로서,
    제1 디바이스;
    제2 디바이스; 및
    상기 제1 디바이스를 상기 제2 디바이스에 접속하는 2-와이어 인터페이스
    를 포함하고,
    상기 인터페이스는 핸드셰이킹 모드 및 데이터 전송 모드에서 동작가능하여, 상기 핸드셰이킹 모드에서 상기 인터페이스의 제1 와이어는 상기 제1 디바이스에 의해 구동되고 상기 인터페이스의 제2 와이어는 상기 제2 디바이스에 의해 구동되며,
    상기 데이터 전송 모드에서 상기 제1 와이어 및 상기 제2 와이어 중 하나는 상기 제1 디바이스 및 상기 제2 디바이스 중 하나에 의해 구동되어 클록 신호를 제공하고, 다른 와이어는 상기 제1 디바이스 및 상기 제2 디바이스 중 어느 디바이스가 데이터를 전송하고 있는지에 따라 상기 제1 디바이스 또는 제2 디바이스 중 어느 하나에 의해 구동되어 데이터를 전송하는, 시스템.
  2. 제1항에 있어서, 상기 제1 디바이스는 커맨드-응답 기반의 동작을 통해 상기 제2 디바이스를 제어하도록 구성된, 시스템.
  3. 제2항에 있어서, 상기 제1 디바이스와 상기 제2 디바이스 사이의 커맨드-응답 시퀀스 동안, 상기 제1 및 상기 제2 디바이스는, 상기 인터페이스를 핸드셰이킹 모드에서 동작시키는 것과 상기 인터페이스를 데이터 전송 모드에서 동작시키는 것 사이에서 전환하도록 및/또는 상기 인터페이스를 핸드셰이킹 모드에서 동작시키는 것과 상기 인터페이스를 데이터 전송 모드에서 동작시키는 것 사이에서 적어도 한 번 전환하도록 구성된, 시스템.
  4. 제3항에 있어서, 상기 인터페이스를 핸드셰이킹 모드에서 동작시키는 것으로부터 상기 인터페이스를 데이터 전송 모드에서 동작시키는 것으로의 전환은 핸드셰이킹 시퀀스의 완료에 의해 트리거되는, 시스템.
  5. 제4항에 있어서, 상기 제1 디바이스 및 상기 제2 디바이스는, 상기 핸드셰이킹 시퀀스의 완료 후 핸드셰이킹-대-데이터 임계값 시간량이 경과한 후에만 상기 인터페이스를 데이터 전송 모드에서 동작시키도록 구성된, 시스템.
  6. 제5항에 있어서, 상기 인터페이스를 핸드셰이킹 모드에서 동작시키는 것으로부터 상기 인터페이스를 데이터 전송 모드에서 동작시키는 것으로의 전환이 상이한 디바이스로 하여금 상기 제1 와이어 및 상기 제2 와이어 중 하나를 구동하게 할 때, 상기 제1 와이어 및 제2 와이어 중 하나를 핸드셰이킹 모드에서 구동하는 디바이스는, 상기 핸드셰이킹 시퀀스의 완료 후 핸드셰이킹-대-비구동 임계값 시간량이 만료된 후에 상기 제1 와이어 및 상기 제2 와이어 중 하나의 구동을 중단하도록 구성될 수 있는, 시스템.
  7. 제6항에 있어서, 상기 핸드셰이킹-대-비구동 임계값은, 상기 핸드셰이킹 시퀀스의 완료 후 소정 기간 동안 상기 제1 와이어 및 상기 제2 와이어 중 하나가 상기 제1 디바이스 또는 상기 제2 디바이스에 의해 구동되지 않도록 상기 핸드셰이킹-대-데이터 임계값보다 작은, 시스템.
  8. 제3항 내지 제7항 중 어느 한 항에 있어서, 상기 인터페이스를 데이터 전송 모드에서 동작시키는 것으로부터 상기 인터페이스를 핸드셰이킹 모드에서 동작시키는 것으로의 전환은 데이터 전송의 완료에 의해 트리거되는, 시스템.
  9. 제8항에 있어서, 상기 제1 디바이스 및 상기 제2 디바이스는 상기 데이터 전송의 완료 후 데이터-대-핸드셰이킹 임계값 시간량이 경과한 후에만 상기 인터페이스를 핸드셰이킹 모드에서 동작시키도록 구성된, 시스템.
  10. 제9항에 있어서, 상기 인터페이스를 데이터 전송 모드에서 동작시키는 것으로부터 상기 인터페이스를 핸드셰이킹 모드에서 동작시키는 것으로의 전환이 상이한 디바이스로 하여금 상기 제1 와이어 및 상기 제2 와이어 중 하나를 구동하게 할 때, 상기 제1 와이어 및 상기 제2 와이어 중 하나를 상기 데이터 전송 모드에서 구동하는 디바이스는, 상기 데이터 전송의 완료 후 데이터-대-비구동 임계값 시간량이 만료된 후에 상기 제1 와이어 및 상기 제2 와이어 중 하나의 구동을 중단하도록 구성될 수 있는, 시스템.
  11. 제10항에 있어서, 상기 데이터-대-비구동 임계값은, 상기 제1 와이어 및 상기 제2 와이어 중 하나가 상기 데이터 전송의 완료 후 소정 기간 동안 상기 제1 디바이스 또는 상기 제2 디바이스에 의해 구동되지 않도록 상기 데이터-대-핸드셰이킹 임계값보다 작은, 시스템.
  12. 제2항 내지 제11항 중 어느 한 항에 있어서, 상기 제1 및 상기 제2 디바이스가 상기 인터페이스를 핸드셰이킹 모드에서 동작시키고 있을 때, 상기 제1 디바이스는 상기 제1 와이어 상에서 제1 핸드셰이킹 시퀀스를 개시함으로써 커맨드-응답 시퀀스를 개시하도록 구성되고, 상기 제1 핸드셰이킹 시퀀스의 완료 시에, 상기 제1 및 상기 제2 디바이스는, 상기 제1 디바이스가 상기 제2 와이어를 구동하는 데이터 전송 모드에서 상기 인터페이스를 동작시키는 것으로 전환하도록 구성된, 시스템.
  13. 제12항에 있어서, 상기 제1 핸드셰이킹 시퀀스는,
    상기 제1 디바이스가 상기 제1 와이어의 상태를 제1 상태로부터 제2 상태로 구동하는 단계;
    상기 제1 와이어가 상기 제2 상태에 있다는 것을 검출하는 것에 응답하여, 상기 제2 디바이스가 상기 제2 와이어를 상기 제1 상태로부터 상기 제2 상태로 구동하는 단계;
    상기 제2 와이어가 상기 제2 상태에 있다는 것을 검출하는 것에 응답하여, 상기 제1 디바이스가 상기 제1 와이어를 상기 제2 상태로부터 상기 제1 상태로 구동하는 단계; 및
    상기 제1 와이어가 상기 제1 상태에 있다는 것을 검출하는 것에 응답하여, 상기 제2 디바이스가 상기 제2 와이어를 상기 제2 상태로부터 상기 제1 상태로 구동하는 단계
    를 포함하는, 시스템.
  14. 제12항 또는 제13항에 있어서, 상기 제2 디바이스는 저전력 모드 및 정상 동작 모드에서 동작가능하고, 상기 제1 핸드셰이킹 시퀀스를 개시하는 것은 상기 제2 디바이스가 상기 저전력 모드로부터 상기 정상 동작 모드로 전환하게 하는, 시스템.
  15. 제3항 내지 제14항 중 어느 한 항에 있어서, 상기 제1 및 상기 제2 디바이스는, 각각의 데이터 전송 후에, 상기 인터페이스를 데이터 전송 모드에서 동작시키는 것으로부터 상기 인터페이스를 핸드셰이킹 모드에서 동작시키는 것으로 전환하도록 구성된, 시스템.
  16. 제1항 내지 제15항 중 어느 한 항에 있어서, 상기 인터페이스가 데이터 전송 모드에서 동작 중일 때, 상기 제1 와이어는 상기 제1 디바이스에 의해 구동되어 상기 클록 신호를 제공하는, 시스템.
  17. 제1항 내지 제16항 중 어느 한 항에 있어서, 상기 인터페이스가 데이터 전송 모드에서 동작 중일 때, 상기 제1 디바이스 및 제2 디바이스는 SPI 데이터 전송을 수행하도록 구성된, 시스템.
  18. 제1항 내지 제17항 중 어느 한 항에 있어서, 상기 제1 디바이스는 마스터 디바이스이고, 상기 제2 디바이스는 슬레이브 디바이스인, 시스템.
  19. 제1항 내지 제15항 중 어느 한 항에 있어서, 상기 인터페이스가 데이터 전송 모드에서 동작 중일 때, 상기 제2 와이어는 상기 제2 디바이스에 의해 구동되어 상기 클록 신호를 제공하는, 시스템.
  20. 제1항 내지 제15항 및 제19항 중 어느 한 항에 있어서, 상기 인터페이스가 데이터 전송 모드에서 동작 중일 때, 상기 제1 디바이스 및 상기 제2 디바이스는 UART 데이터 전송을 수행하도록 구성된, 시스템.
  21. 제1항 내지 제15항, 제19항, 및 제20항 중 어느 한 항에 있어서,
    상기 인터페이스는 상기 제1 디바이스가 상기 인터페이스를 이용하여 또 다른 디바이스와 통신하는 외부 통신 모드에서 추가로 동작가능하고;
    상기 시스템은 제1 모드 및 제2 모드에서 동작가능하고, 상기 시스템이 상기 제1 모드에서 동작 중일 때 상기 인터페이스는 상기 외부 통신 모드 및 상기 데이터 전송 모드에서 동작가능하고 상기 시스템이 상기 제2 모드에서 동작 중일 때, 상기 인터페이스는 상기 핸드셰이킹 모드 및 상기 데이터 전송 모드에서 동작가능한, 시스템.
  22. 제21항에 있어서, 상기 인터페이스가 상기 외부 통신 모드에서 동작 중일 때, 상기 제1 디바이스는 ISO 7816에 따라 다른 디바이스와 통신하도록 구성된, 시스템.
  23. 제21항 또는 제22항에 있어서, 상기 시스템이 상기 제1 모드에서 동작 중이고 상기 인터페이스가 상기 외부 통신 모드에서 동작 중일 때, 상기 제2 디바이스는 미리결정된 데이터 패턴을 검출하기 위해 데이터를 전송하는데 이용되는 와이어를 모니터링하고, 상기 미리결정된 데이터 패턴을 검출하는 것에 응답하여, 상기 인터페이스를 상기 외부 통신 모드에서 동작시키는 것으로부터 상기 인터페이스를 상기 데이터 전송 모드에서 동작시키는 것으로 전환하도록 구성된, 시스템.
  24. 제23항에 있어서, 상기 인터페이스가 상기 외부 통신 모드에서 동작 중일 때, 상기 제1 디바이스는 통신 프로토콜을 이용하여 다른 디바이스와 통신하고 상기 미리결정된 데이터 패턴은 상기 통신 프로토콜에서 양성(benign)인, 시스템.
  25. 제24항에 있어서, 상기 통신 프로토콜은 ISO 7816 T=0이고, 상기 미리결정된 데이터 패턴은 서로의 미리결정된 시간 내에 2개의 NULL 절차 바이트를 포함하는, 시스템.
  26. 제24항에 있어서, 상기 통신 프로토콜은 ISO 7816 T=1이고, 상기 미리결정된 데이터 패턴은 다른 디바이스가 R-블록으로 응답하도록 구성된 잘못 형성된 S-블록인, 시스템.
  27. 제23항 내지 제26항 중 어느 한 항에 있어서, 상기 제2 디바이스는, 상기 제1 디바이스와 상기 제2 디바이스 사이에 사설 채널을 확립하기 위해 데이터를 전송하는데 이용되는 인터페이스의 와이어로부터 상기 다른 디바이스를 분리함으로써 상기 외부 통신 모드에서 동작하는 것으로부터 상기 데이터 전송 모드에서 동작하는 것으로 상기 인터페이스를 전환하도록 구성된, 시스템.
  28. 제27항에 있어서, 상기 인터페이스가 상기 외부 통신 모드에서 동작 중일 때, 상기 클록 신호에 이용되는 와이어는 외부 클록으로부터 생성된 클록 신호로 구동되고, 상기 제2 디바이스는 상기 클록 신호에 이용되는 와이어를 내부 클록으로부터 생성된 클록 신호로 구동함으로써 상기 인터페이스를 상기 외부 통신 모드에서 동작하는 것으로부터 상기 데이터 전송 모드에서 동작하는 것으로 전환하도록 추가로 구성된, 시스템.
  29. 제28항에 있어서, 상기 사설 채널이 확립된 후, 상기 제2 디바이스는 상기 내부 클록으로부터 생성된 상기 클록 신호의 주파수를 상기 제1 디바이스에 통보하도록 구성된, 시스템.
  30. 제21항 내지 제29항 중 어느 한 항에 있어서, 상기 시스템이 상기 제2 모드에서 동작 중이고 상기 인터페이스가 상기 데이터 전송 모드에서 동작 중일 때, 상기 제2 디바이스는, 데이터를 전송하는데 이용되는 와이어 상에서 특정한 패턴을 검출하는 것에 응답하여, 상기 인터페이스를 상기 외부 통신 모드에서 동작하는 것으로 전환하도록 구성된, 시스템.
  31. 제30항에 있어서, 제27항에 종속될 때, 상기 제2 디바이스는, 데이터를 전송하는데 이용되는 인터페이스의 와이어에 상기 다른 디바이스를 재접속함으로써 상기 인터페이스를 상기 외부 통신 모드에서 동작하는 것으로 전환하도록 구성된, 시스템
  32. 제30항 또는 제31항에 있어서, 제28항 또는 제29항에 종속될 때, 상기 제2 디바이스는, 상기 클록 신호에 이용되는 와이어를 상기 외부 클록으로부터 생성된 클록 신호로 구동함으로써, 상기 인터페이스를 상기 외부 통신 모드에서 동작하는 것으로 전환하도록 구성된, 시스템.
  33. 제21항 내지 제32항 중 어느 한 항에 있어서, 상기 시스템이 상기 제1 모드에서 동작 중일 때, 상기 제1 디바이스는 상기 다른 디바이스와 비접촉식 통신하고 상기 시스템이 상기 제2 모드에서 동작 중일 때, 상기 제1 디바이스는 상기 다른 디바이스와 접촉식 통신하는, 시스템.
  34. 제1항 내지 제33항 중 어느 한 항에 있어서, 상기 제1 디바이스는 단말기와 통신하도록 구성된 칩인, 시스템.
  35. 제34항에 있어서, 상기 칩은 보안 요소인, 시스템.
  36. 제1항 내지 제35항 중 어느 한 항에 있어서, 상기 제2 디바이스는 생체측정 데이터를 감지하기 위한 생체측정 센서를 포함하는 생체측정 모듈인, 시스템.
  37. 디바이스로서,
    제1항 내지 제36항 중 어느 한 항의 시스템을 포함하는 디바이스.
  38. 제37항에 있어서, 상기 디바이스는 스마트 카드인, 디바이스.
KR1020227011409A 2019-09-11 2020-09-11 2-와이어 호스트 인터페이스 KR20220061170A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1913126.7 2019-09-11
GB1913126.7A GB2587001B (en) 2019-09-11 2019-09-11 Two-wire host interface
PCT/EP2020/075474 WO2021048356A1 (en) 2019-09-11 2020-09-11 Two-wire host interface

Publications (1)

Publication Number Publication Date
KR20220061170A true KR20220061170A (ko) 2022-05-12

Family

ID=68241191

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227011409A KR20220061170A (ko) 2019-09-11 2020-09-11 2-와이어 호스트 인터페이스

Country Status (7)

Country Link
US (1) US20220327091A1 (ko)
EP (1) EP4028896A1 (ko)
JP (1) JP2022547679A (ko)
KR (1) KR20220061170A (ko)
CN (1) CN114365105A (ko)
GB (1) GB2587001B (ko)
WO (1) WO2021048356A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4213031A1 (en) * 2022-01-13 2023-07-19 Bayerische Motoren Werke Aktiengesellschaft Method and device for monitoring a synchronous serial master / slave connection by using an asynchronous interface

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9414331D0 (en) * 1994-07-15 1994-09-07 Thomson Consumer Electronics Combined I*C and IM bus architecture
US5819051A (en) * 1995-12-29 1998-10-06 Compaq Computer Corporation Low speed serial bus protocol and circuitry
US6865186B1 (en) * 2000-02-10 2005-03-08 Windbond Electronics Corporation Multiple message multilevel analog signal recording and playback system having memory array configurable for analog and digital storage and serial communication
TWI330789B (en) * 2007-01-30 2010-09-21 Holtek Semiconductor Inc Two-wire seriel communication interface device and method using handshaking
US8103803B2 (en) * 2008-11-21 2012-01-24 Nvidia Corporation Communication between a processor and a controller
WO2013088173A1 (en) * 2011-12-14 2013-06-20 Wolfson Microelectronics Plc Data transfer
US9489331B2 (en) * 2012-10-10 2016-11-08 Samsung Display Co., Ltd. Method and protocol for high-speed data channel detection control
US9772965B2 (en) * 2013-03-14 2017-09-26 Texas Instruments Incorporated Multi-channel peripheral interconnect supporting simultaneous video and bus protocols
US9535117B2 (en) * 2015-03-06 2017-01-03 Intel Corporation System debug using an all-in-one connector
US9965436B2 (en) * 2015-07-06 2018-05-08 Mediatek Inc. Cost-effective device interface for data input and output
JP6792314B2 (ja) * 2016-04-22 2020-11-25 ソニーセミコンダクタソリューションズ株式会社 通信装置、通信方法、プログラム、および、通信システム
US10430225B1 (en) * 2017-09-29 2019-10-01 Amazon Technologies, Inc. Traffic management on an interconnect
US10679020B2 (en) * 2018-01-30 2020-06-09 Idex Biometrics Asa Voltage regulation
GB2573497B (en) * 2018-03-12 2022-03-30 Idex Biometrics Asa Device process scheduling
CN108763140B (zh) * 2018-04-23 2021-02-12 深圳市文鼎创数据科技有限公司 一种双向通信的方法、系统及终端设备
GB2577477B8 (en) 2018-08-31 2022-02-16 Idex Biometrics Asa Biometric Interface

Also Published As

Publication number Publication date
WO2021048356A1 (en) 2021-03-18
US20220327091A1 (en) 2022-10-13
CN114365105A (zh) 2022-04-15
JP2022547679A (ja) 2022-11-15
GB2587001A8 (en) 2021-05-19
GB2587001A (en) 2021-03-17
GB201913126D0 (en) 2019-10-23
EP4028896A1 (en) 2022-07-20
GB2587001B (en) 2023-07-19

Similar Documents

Publication Publication Date Title
US11010570B2 (en) Voltage regulation
US20230259483A1 (en) Device process scheduling
EP3766012B1 (en) Power management
US7975921B2 (en) NFC reader having a passive operating mode with low electrical consumption
WO2015101067A1 (zh) 一种射频读写器及射频识别系统
TW201237766A (en) Smartcard performance enhancement circuits and systems
US11216712B2 (en) Acquiring a biometric print by means of a smartcard
US20090166421A1 (en) Rfid reader / card combination to convert a contact smartcard reader to contactless
EP2232410A1 (en) Contactless battery charging device and process
CN101908157B (zh) Nfc-sim芯片
EP2518587B1 (en) Management of secure element deadlock
KR20220061170A (ko) 2-와이어 호스트 인터페이스
US11398849B2 (en) Continuous communication method and apparatus of contactless communication device
US9319883B2 (en) Card device
EP3844676B1 (en) Biometric interface
US11983587B2 (en) Biometric interface
CN206807452U (zh) 一种多类安全识别的nfc通信装置
US11151435B2 (en) Method for communication between circuits
KR101511298B1 (ko) 반송파 억압안테나를 구비한 초고속통신 전자신분증 판독장치