1편에 이어 소자 선정의 나머지에 대해 써보려고 한다.
1편 내용이 궁금하면 아래 링크 클릭
[nRF52832] 1-1. 소자 선정 1편(BLE, 내부 용량, FPU) (tistory.com)
7개의 우선순위 중 나머지에 대해서 알아보자.
0. 블루투스(BLE) 기능을 지원하는가1. RAM, Flash memory 등 내부 용량은 넉넉한가2. FPU(Floating Point Uint) 연산이 가능한가
3. SPI, I2C(여기에서는 TWI로 표현) 등 시리얼 통신이 가능한가
4. 현재도 생산이 되며 수급이 원활한가
5. QFN 패키지를 지원하는가
6. 그 외 보험으로 가져갈만한 기능이 있는가
3. SPI, I2C(여기에서는 TWI로 표현) 등 시리얼 통신이 가능한가
후보들은 모두 해당 시리얼 통신을 지원한다.
SPI와 I2C에 대해 짧게 알아보자
먼저 SPI부터 알아보면,
nRF52832에서 SPI는 Master/Slave 동작에 따라 SPIM과 SPIS로 구분된다.
IMU 센서를 제어하는 주체가 BLE SoC이기 때문에 Master로써 SPIM으로 보자.
SPI는 Serial Peripheral Interface의 약자로 CS(Chip select: 보통은 Active low로 동작) 제어로 제어할 대상이 결정된다.
SCK핀의 클럭 주파수로 통신 속도가 결정되며, MOSI와 MISO 핀으로 Slave와 Master 사이 데이터를 주고받는다.
나의 경우에는 Master가 BLE SoC, Slave가 IMU 센서이므로,
MOSI 핀을 통해 BLE SoC에서의 통신 신호가 IMU 센서로 전달되고,
MISO 핀을 통해 IMU 센서의 데이터가 BLE SoC로 전달된다.
펌웨어 구성은 예제를 통해 알아보자.
두 번째로 TWI는 I2C와 다르다고는 하는데 잘 모르겠다;;
SCL(클럭), SDA(데이터) 2개의 선을 이용해서 서로 다른 주변기기를 제어할 수 있다
속도는 고정으로 100, 250, 400 kbps 설정할 수 있고, 딱히 Master/Slave 동작을 모두 지원한다.
nRF52832에서 SPI와 동일하게 Master/Slave 동작에 따라 TWIM과 TWIS로 구분된다.
IMU 센서를 제어하는 주체가 BLE SoC이기 때문에 Master로써 TWIM으로 보자.
각 소자별로 TWI 통신을 위한 Address가 있다. 쉽게 이야기하면 이름 같은 존재이다.
SDA 라인으로 해당 소자의 Address를 입력해 주면 받았다는 의미로 Ack 신호를 보내준다.(이름 부르면 대답하듯이)
그 뒤에 윈하는 레지스터와 데이터를 넣어주면 거기에 맞게 동작한다.
펌웨어 구성은 예제를 통해 하나씩 알아보자.
+ microchip에서 나온 기술자료를 읽어보면 이해에 도움이 된다.
What is TWI? How to Configure the TWI for I2C Communication (microchip.com)
4. 현재도 생산되며 수급이 원활한가
대리점 컨텍포인트가 있으면 쉽게 알 수 있다.
컨텍포인트가 없는 경우
먼저 Nordic에서 추천으로 나와있으면 현재는 생산하는 소자이므로 일단 안심하면 된다.
현재 수급이 가능한지 알아보기 위해서는 디지키를 참고하는 편이다.
nRF52832를 예로 들어보자
디지키에 검색하면 우선 대분류로 나오게 되고 IC로 들어가 보면 현재 주문가능 수량이 나온다.
주문가능수량 오른쪽에 제품현황에 '활성'으로 되어있는지도 확인하면 좋다.
수급이슈가 있는 소자들은 0이라는 숫자를 보게 될 것이다.
여기에는 없지만 nRF52-DK도 2천 개 이상으로 충분하다.
열심히 구해놓고 개발보드가 없으면 허탈하지 않은가
여기까지도 문제가 있는 친구는 없다.
5. QFN 패키지를 지원하는가
해당 내용은 PCB 샘플 보드 제작 시 고려할 만한 내용이다.
개발보드만 가지고 검토하는 사람에게는 전혀 필요 없는 내용이다.
공간의 여유가 충분한 경우 QFN 패키지가 좋을 것이다.
WLCSP의 경우 크기가 작아서 PCB 사이즈가 더 작아진다는 장점이 있으나,
Ball 형태의 핀이라 신호선을 뽑을 공간이 나오지 않으면 4층, 6층의 PCB를 만들어야 되는 경우가 생길 것이다.
PCB 스펙이 올라가면 보드의 가격과 일정에 직접적인 영향을 주기 때문에 공간의 여유가 있다면 QFN 패키지를 추천한다.
WLCSP가 QFN 대비 절반 정도 크기지만 QFN도 가로, 세로 10mm를 넘지 않으니... 굳이?
스마트밴드 혹은 워치 등 공간이 한정되어 있는 애플리케이션은 그거도 감지덕지일 때가 있을 것이다.
여기까지도 문제가 있는 친구는 없다.
6. 그 외 보험으로 가져갈만한 기능이 있는가
기본적으로 제공하는 기능 중 아래 기능들은 있으면 디버깅이나 추후 다른 기능 구현 시 도움이 된다.
- UART : 디버깅 용도로 PC 터미널을 이용해 데이터 전송이 가능. 블루투스 동작이 안될 때 유용함
- ADC, Comparator : 배터리 레벨 확인 시 ADC 기능을 이용하여 야매로 활용 가능, 비교기도 동일
- PWM : 모터, LED 등 DC로 동작하는 주변 제품들의 제어에 활용하기 좋음
- GPIO : 많으면 좋음(뽑아놓으면 어떻게든 쓰긴 함)
여기도 모두 해당된다 ㅎㅎ
가장 중요한 내용이 빠져있다. 바로 가격이다.
가장 싼 소자로 선정하다 보니 nRF52832가 선택되었다.
가격은 심심하면 하나씩 찾아보길 바란다.
이제 DK랑 샘플 소자를 주문했으니 올 때 동안 IDE 설치 및 예제코드를 돌려보자.
참고
1. nRF52832 product specification : Nordic Semiconductor Infocenter
Nordic Semiconductor Infocenter
infocenter.nordicsemi.com
2. 디지키 : DigiKey Electronics 대한민국 - 전자 부품 유통업체
DigiKey Electronics
Digi-Key는 수천 개의 제조업체에서 제공하는 수백만 개의 제품을 유통하며, 당일 배송이 가능한 많은 재고를 보유하고 있습니다. 지금 온라인으로 주문하세요!
www.digikey.kr
3. What is TWI? How to Configure the TWI for I2C Communication : What is TWI? How to Configure the TWI for I2C Communication (microchip.com)
'개발 > BLE' 카테고리의 다른 글
[nRF52832] 4-1. 예제 코드 파해치기 1탄 - SPI (0) | 2023.04.19 |
---|---|
[nRF52832] 3. 개발 관련 자료(Layout, SoftDevice, SDK) 다운로드 방법, 가이드 (0) | 2023.04.12 |
[nRF52832] 2. IDE(Segger Embedded Studio) 다운로드 방법, 가이드 (0) | 2023.04.05 |
[nRF52832] 1-1. 소자 선정 방법, 가이드 1편(BLE, 내부 용량, FPU) (0) | 2023.03.22 |
[nRF52832] 0. 시작 (0) | 2023.03.14 |