32F429IDISCOVERY CubeIDE에서 LL 드라이버로 BNO080 제어 -1
2019. 8. 26. 00:07ㆍ임베디드/32F429IDISCOVERY
쿼터니언(사원수)는 로보틱스나 컴퓨터 그래픽스에 3차원 회전을 표현하는 데 있어 많이 사용한다. 기존 행렬 연산보다 데이터량과 연산 속도면에서 월등히 앞선다는 장점이 있다
[참고 1] https://showmiso.tistory.com/57
[참고 2] https://enghqii.tistory.com/63
BNO080은 센서 내부에 MCU가 내장되어 있어, 센서 내부에서 자체 연산을 한 이후에, 사원수 형태로 회전 각도를 내보내준다. 아직까지 가격이 MPU 시리즈보다 높지만, 개발 시간이 단축된다는 점에서 매력적인 선택이라고 할 수 있다
다음은 쿼터니언 값을 출력해주는 최대 주파수가 나온다
데이터 파싱을 지원하는 모드는 총 4가지가 지원되며, SPI가 가장 빠른 축에 속하는 프로토콜이다
그리고 SPI 동작에 대한 설명이다
MCU가 BNO080에 접근하려면 PS0/wake 핀을 Low로 떨어뜨려야 한다. 그리고 BNO080은 데이터를 전달할 준비가 되었다면 H_INTN 핀이 Active Low로 바뀌게 된다. 이후에 SPI 통신으로 데이터를 파싱하는 구조다
데이터를 어떠한 레지스터에 접근해서 어떻게 데이터를 SPI로 파싱할지는 Sparkfun에서 제공하는 아두이노 라이브러리를 이용할 것이다
'임베디드 > 32F429IDISCOVERY' 카테고리의 다른 글
GPS NMEA에서 UBX 프로토콜로 변환하기 (0) | 2019.10.01 |
---|---|
U-blox M8N GPS NMEA 데이터 수신하기 (0) | 2019.09.27 |
CubeIDE에서의 float 실수 출력과 문제점 (0) | 2019.08.25 |
ST-Link V2 핀맵 (0) | 2019.08.23 |
32F429IDISCOVERY CubeIDE에서 LL 드라이버로 LED 제어 (0) | 2019.08.17 |