센서 퓨전

센서 퓨전이란?

센서 퓨전은 여러 개의 센서에서 전송하는 데이터를 지능적으로 결합하여 애플리케이션이나 시스템의 성능을 개선하는 소프트웨어입니다. 즉, 복수의 센서에서 나오는 데이터를 취합하여 개별 센서의 결함을 수정하며 그 결과로 정확한 위치와 방향 정보를 계산할 수 있습니다.

MEMS 센서는 지난 몇 년 동안 전자기기에서 필수 구성 요소가 되었습니다. 이제 모든 유형의 모바일 장치가 공통의 MEMS 센서 제품군을 지원하며 그 결과로 화면 회전, 제스처 인식, 게이밍, 걸음 인식 및 개인 내비게이션과 같은 기능을 구현할 수 있게 되었습니다. 모바일 시장이 지속적으로 센서 통합을 주도함에 따라 센서 퓨전과 같은 솔루션을 통해 제품에 높은 가치를 더하는 프로세스는 Kionix와 같은 센서 공급업체의 성공을 위한 바탕이 되고 있습니다.

Kionix 센서 퓨전 솔루션

Kionix 센서 퓨전 솔루션은 뛰어난 유연성을 이점으로 하기 때문에 하드웨어 구성과 소프트웨어 구성 모두를 제공합니다. 즉, 하드웨어 구성을 통해 소프트웨어는 내장된 마이크로컨트롤러에서 실행되고 소프트웨어 구성은 애플리케이션 프로세서에서 실행됩니다. 그 결과로 광범위한 다중 센서 구현 전반에 걸쳐 탁월한 확장성을 제공합니다. 또한, Kionix의 센서 퓨전은 다양한 센서 조합(가속도계-지자계, 가속도계-자이로스코프 및 가속도계-지자계-자이로스코프)을 지원하고 고객의 계층적 제품 라인 전략 요구 조건을 지원하며 다른 제조업체에서 생산하는 부품도 지원합니다.

Kionix 하드웨어 및 소프트웨어 센서 퓨전 구성

Kionix 센서 퓨전은 고정 소수점 방식의 내장된 마이크로컨트롤러 RTOS 시스템에서 부동 소수점 방식의 32비트 모바일폰 OS(예: Android 및 Windows 8)까지 다양한 운영체제 간에서 확장 가능합니다. 정교한 전원 관리 기술을 사용하기 때문에 설계자는 최소의 오버헤드로 센서 상호 작용과 데이터 처리를 관리할 수 있으며 그 결과로 전원 및 성능 측면에서 높은 수준의 이점을 확보할 수 있습니다.

Kionix 센서 퓨전은 고급 모션 처리와 애플리케이션 특정 기능을 위해 타사 소프트웨어와 맞춤형으로 개발된 소프트웨어도 지원합니다. Kionix는 직접 지원과 선도 애플리케이션 프로세서용 BSP(보드 지원 패키지)를 제공할 뿐 아니라 선별된 고객에게 전체 소스 코드도 제공합니다. 향후에는 RF IC에 대한 지원도 제공할 예정입니다. Kionix 센서 퓨전을 사용하는 설계자는 편향과 이상 현상에 대한 교정, 보정 및 수정 작업을 수행하고, 센서 전력 소모를 관리하여 배터리 수명을 연장하며, 다른 유형의 센서 간에 발생하는 간섭을 방지할 수 있습니다. Kionix 센서 퓨전은 고객이 원하는 유연성과 성능을 제공하며 그 결과로 고객은 시장에서 지속적인 경쟁적 우위를 점할 수 있습니다.

Kionix 소프트웨어 라이브러리 특징:

가속도계:

  • 가장 낮은 MIPS를 통한 최소 구성
  • 장치 방향(화면, 6면 박스)
  • 보수계
  • 모션 웨이크업 "ON Switch"

가속도계/지자계

  • 대다수의 스마트폰을 위한 기본 구성
  • 중력 보정 지자계
  • 하드/소프트 자기장 거부에 대한 높은 수준의 알고리즘 복잡성
  • "Figure 8" 최종 사용자 교정을 제거하는 IP
  • 3MIPS 연산 능력을 가진 센서용 ~600uA 파워

가속도계/지자계/자이로스코프

  • 하이엔드급 스마트폰, 태블릿 및 Windows 8 슬레이트를 위한 구성
  • 개선된 응답성 및 정확도를 위한 높은 샘플링 속도
  • 외부 환경 요인에 영향을 받지 않은 자이로스코프
  • 전원 관리, 무보정 및 LBS를 위한 IP
  • 8-10MIPS 연산 능력을 가진 센서를 위한 6mA 미만의 전원 소모

Kionix 소프트웨어 솔루션 / Android 센서 HAL 아키텍처

Kionix의 Android 센서 라이브러리는 Android 시스템에 대해 Google에서 지정한 센서 HAL(하드웨어 추상화 계층)의 견고한 구현을 제공합니다. 이 계층은 저수준 커널 드라이버와 고수준 android java 프레임워크 사이의 중간층을 형성합니다. Kionix 센서 라이브러리는 가속도계, 자기계 및 자이로스코프로부터의 입력을 복합 3D 방향 출력으로 결합함으로써, 센서 퓨전을 구현합니다. 라이브러리에는 전원 상태 최적화가 포함되어 있어서, 불필요한 센서는 저전력 모드로 전환되어 장치 배터리 전력을 절약합니다. 라이브러리의 내부 상태 관리 모듈 역시 3D 방향 출력이 활성화될 때 데이터 속도 조정을 수행합니다.

솔루션 아키텍처

Kionix 소프트웨어 솔루션은 C++ 라이브러리와 연관 헤더 파일로 구성됩니다. 라이브러리의 전체 소스와 라이브러리 재구성을 위한 지침도 기본으로 제공됩니다. 물리적 장치인 가속도계, 지자계 및 자이로스코프에 대한 지원 기능과 함께 작동되는 센서 HAL 구현이 포함됩니다. 이러한 지원과 기능을 즉시 사용할 수 있으며 Android 장치에서 3D 방향 출력을 제공합니다.

또한 라이브러리 인터페이스는 개체 지향 API를 내보내기 하여 물리적 센서(자이로스코프, 나침반, 가속도계)에 대한 액세스와 Kionix 센서 퓨전을 통해 구현된 합성 센서에 대한 액세스를 지원합니다. 소프트웨어를 통해 구현된 합성 센서의 유형에는 방향(Android 문서 참조), 회전 벡터, 선형 가속 및 중력이 포함됩니다. 이 인터페이스를 통해 Android 장치 공급업체는 Kionix 솔루션을 기존의 센서 관리 소프트웨어(예: 빛, 온도 및 압력 센서에 대한 지원을 제공하는 기존의 HAL)에 통합할 수 있습니다.

Kionix 소프트웨어는 Android 이벤트 사양과 현재 CDD(Android 4.0 호환성 정의 문서)와 완벽하게 호환됩니다. 준수하는 특정 호환성 항목에는 다음이 포함됩니다.

  • 지원하는 센서 유형:
    • SENSOR.TYPE_ACCELEROMETER (물리, m/s^2 단위)
    • SENSOR.TYPE_MAGNETIC_FIELD (물리, 마이크로테스라 단위)
    • SENSOR.TYPE_GYROSCOPE (물리, rad/s 단위)
    • SENSOR.TYPE_GRAVITY (합성, m/s^2 단위)
    • SENSOR.TYPE_LINEAR_ACCELERATION (합성, m/s^2 단위)
    • SENSOR.TYPE_ROTATION_VECTOR (합성, 무차원)
      • Android 사양별 구현 – X, Y 및 Z 필드는 양의 W 컴포넌트 값을 가진 정규화된 쿼터니언의 X, Y 및 Z 필드를 매핑합니다.
    • SENSOR.TYPE_ORIENTATION (합성, 도 단위)
      • 방위각, 피치각 및 롤각(단위: 도)으로 Android 사양별 구현
  • 지원하는 모든 센서의 출력은 SensorEvent API에서 정의하는 좌표계와 일치합니다.
  • 모든 센서 유형(물리 및 합성)은 Accuracy 이벤트 필드를 지원합니다.
  • 모든 장치 유형(물리 및 합성)은 Timestamp 필드를 지원합니다.
    • 선호되는 Kionix 구현은 각 물리 센서에 대해 데이터-레디 인터럽트를 사용하며 이를 통해 인터럽트에 대한 반응으로 생성되는 매우 정확한 타임-스탬프를 사용할 수 있습니다.
    • 가속도계와 자이로스코프 센서는 정기적인 데이터 스트리밍을 지원합니다. 이 데이터 스트리밍은 타임 스탬프의 정확도를 검증하는 데 필요한 추가적인 정보를 제공합니다.
  • "Android 4.0 호환성 정의" 섹션 7.3:
    • 소프트웨어 구현은 지원되는 센서 목록을 제공합니다.
    • 소프트웨어 구현은 다른 모든 센서 API에 대해 타당하게 동작합니다. ,
      • 구현은 수신자(리스너)를 등록하려고 시도하는 애플리케이션에 대한 응답으로 TRUE 또는 FALSE를 반환합니다.
      • 해당 센서가 존재하지 않는 경우 센서 리스너는 호출되지 않습니다.
      • 전원 관리 기능을 지원합니다. 구현을 구성하여 작동 중인 센서 수신자가 없는 센서의 전원을 끄거나 대기 모드로 설정할 수 있습니다.

커널 인터페이스

Kionix의 센서는 가속도계, 자이로스코프 및 지자계의 커널 드라이버와 인터페이스해야 합니다. 선호되는 커널 드라이버 유형은 제어를 위한 Sysfs 속성(예: 활성화, 데이터 속도, 바이어스)을 가진 입력 이벤트 드라이버입니다. 이 유형의 드라이버는 Linux 커널의 센서 드라이버에 대한 사실상 표준으로 인정됩니다. 이러한 드라이버를 사용함으로써 얻는 이점에는 복잡성 감소, 높은 안정성 및 투명성 강화가 포함됩니다. 입력 이벤트 드라이버를 특정 센서 칩에서 사용할 수 없는 경우 Kionix 라이브러리를 확장하여 다른 유형의 드라이버와 인터페이스할 수 있습니다.

Kionix HAL 아키텍처

지원되는 통합 모델

  • AP 기반: 애플리케이션 센서 전반에 걸쳐 수행되는 로(Raw) 스트리밍 센서 데이터 처리
  • HUB 기반: 전용의 소형 마이크로프로세서에서 실행되는 모든 기능을 갖춘 센서 퓨전