NFC CX 상태 컴퓨터의 내부 디자인은 다음과 같습니다. NFC CX에서 지정한 다양한 상태와 상태 전환을 유발하는 내부 및 외부 이벤트가 다이어그램에 캡처됩니다. 일부 상태 간의 일부 전환은 읽기 용이성을 위해 다이어그램에 표시되지 않습니다. NCI RF 상태 컴퓨터에 대한 매핑과 함께 상태는 아래에 자세히 설명되어 있습니다.
| State | 설명 |
|---|---|
| StateIdle | NFC 디바이스의 전원이 켜지지만 컨트롤러에 NCI 명령이 전송되지 않거나 NCI 작업 중에 복구할 수 없는 오류가 발생하면 StateIdle이 입력됩니다. |
| StateInit | HARDWARE_ACTION 시작이 NFC CX로 전송되면 StateInit이 입력됩니다. NCI 재설정, NCI 초기화 및 NFC 칩셋 구성은 이 상태에서 발생합니다. 이 테이블의 모든 후속 상태(아래)는 이 상태가 완료된 후에 발생합니다. |
| StateRfIdle | NFC 컨트롤러가 성공적으로 초기화되었지만 RF 폴링 루프가 비활성화됩니다(즉, 폴링 및 수신 대기 단계가 모두 사용하지 않도록 설정되었거나 구성되지 않음). NFC 작업이 필요하지 않은 경우 디바이스가 StateRfIdle에 들어갑니다. 이 상태에서는 UMDF 유휴 검색 타이머가 활성화되며, 타이머가 만료되면 칩셋이 비초기화됩니다. |
| StateRfDiscovery | NFC 컨트롤러에는 폴링 및/또는 수신 대기 단계에 대해 구성된 검색 루프가 있습니다. 일부 검색 매개 변수의 구성은 검색 루프를 사용하도록 설정하기 전에 이 상태에서도 발생합니다. |
| StateRfDiscovered | RF 원격 엔드포인트가 검색되고 선택되고 디바이스 호스트가 통신할 수 있도록 RF 인터페이스가 활성화되었습니다. 이는 과도기 상태입니다. |
| StateRfDataXchg | 디바이스 호스트와 RF 원격 엔드포인트는 폴링 또는 수신 모드에서 데이터를 적극적으로 교환합니다. 이 상태는 NCI RF 상태 기계에서 RFST_POLL_ACTIVE 및 RFST_LISTEN_ACTIVE 상태를 모두 포괄합니다. |
| StateRecovery | 이 상태는 NFC 디바이스가 호스트에 CORE_RSET_NTF를 보낸 경우 또는 NCI 작동 중 치명적인 I/O 오류가 발생하거나 시간 초과가 발생한 경우에 진입합니다. NFC CX는 컨트롤러를 다시 설정 및 다시 초기화하여 NCI 복구를 수행하려고 합니다. 복구에 성공하면 정상 작업이 다시 시작되고, 그렇지 않으면 상태 컴퓨터가 StateIdle로 전환됩니다. |
| StateShutdown | NFC 디바이스가 종료될 예정입니다. 이는 과도기 상태입니다. 이 상태가 완료되면 상태 컴퓨터가 StateIdle로 전환됩니다. |