티스토리 뷰
IoT 시대라고 말하기에 어색할 만큼, 이제 모든 것이 연결되는게 당영한 세상입니다. 다만 그것을 어떻게 연결하고 연동하는지 관심을 갖다보면 그 사이사이에서 기술의 격차를 볼 수 있는데, 단순히 프로토타이핑을 위한 용도인지, 선행개발을 위한 용도인지, 상품화를 하기 위한 용도인지에 따라 다르고, 연결방식을 한 가지로만 할것인지, wifi나 nfc 등등 어떠한 추가적인 방식을 덧붙일지에 따라도 달라집니다. 저는 이번에 프로토타이핑을 할 bluetooth chip과 상품화를 위한 bluetooth chip을 고르기위한 과정들을 적어보도록 하겠습니다.
Bluetooth or BLE
기본적으로 Bluetooth와 BLE에 대한 차이점을 알아보도록 하겠습니다. BLE는 Bluetooth Low Energy 이며 Bluetooth 4.0 부터 BLE라는 표현을 씁니다. 다만 저전력이기 땜에 그에 맞는 기술들이 가감이 되었겠지요. Bluetooth로 연동하는 오디오, 워치등은 4.0 이전의 스펙기반의 클래식한 버전을 사용하는 이유가 아주 많은 양의 데이터를 주고받아야하기때문인데요, 저는 IoT 용도로 사용하고자 하기때문에 Bluetooth 4.0 이상의 스펙이 탑재된 Bluetooth Chip을 찾을예정입니다.
프로토타입을 한다면? 가성비 좋은 보드 ESP32
먼저 프로토타이핑을 위한 것으로 검색을 하면 쉽게 구매할 수도 있고 레퍼런스 코드도 볼수 있는 것이 ESP32 보드입니다. 구매 가능한 곳은 엘레파츠, 디바이스마트, 아이씨벤큐 등이 있는데 대략 1만원정도면 구매할 수 있으니, 반도체 수급이 어려운 요즘 그냥 사두셔도 좋을 것 같습니다. ESP32의 세부적인 모델이 많은데 약간씩 차이는 있는 기본적으로 bluetooth와 wifi 기능이 모두 포함된 것으로 아두이노 툴 이용해서 쓱쓱 예제받아서 돌리면 금방됩니다. 물론 이와 연결할 수 있는 클라이언트로 앱을 만들거나, 다른 칩 한개를 구동해야하지만 구글링 해서 ctrl+c/v 하면 잘됩니다. 그리고 wifi 기능도 테스트 할 수 있으니, 차후에 wifi 관련한 방식도 테스트 해볼 수 있어서 좋습니다.
https://www.devicemart.co.kr/goods/view?no=1361841
여기서 잠깐, 많은 분들이 Bluetooth 를 이용한 프로토타이핑을 한다고 하면 아두이노 기반에 attachable 할 수 있는 HC-06 이런 것들을 사용하시는 경우가 많은데, 원칩 기반에 한단계 높은 Bluetooth 유스케이스를 확인해 볼 수 있고, 예제도 많으니 HC-06 계열보다는 ESP 시리즈를 사용하시는 것을 권장합니다. 앞서 말한것 처럼 wifi 기능도 차후에 할 수 있으니 프로토타이핑으로 안성 맞춤이지요.
양산을 위한 제너럴한 선택지를 찾아서
양산 개발을 위해선 아래의 기준을 먼저 생각해볼 필요가 있습니다.
- 양산된 제품들이 기 존재하는가?
- 개발 커뮤니티가 존재하는가?
새로운 칩이라고 해서 절대 좋은 것도 아니고 절대 안좋은 것도 아닙니다. 다만 양산이란 과정은 안정성을 보자해야하기 때문에 새로나온 칩보다는 몇년정도 나와서 양산된 제품들도 있고, 관련해서 SDK 라던지, 기술 문의가 지속적으로 진행되고, 이를 관리하는 회사일 경우에 독자적으로 개발하더라도 큰 기술 지원 비용없이 자체 개발해서 사용할 수 있습니다. 이 분야 사람들이라면 한번씩 써봤을 그런 칩들이 되겠지요. 회사의 규모에 따라 다르지만, 작은 칩이라고 해서 대기업에서 안쓰는 것은 아닙니다. 내부적으로 메인칩이 있고, 서브칩으로 통신칩을 별도로 쓰는 경우도 더러 있거든요.
그럼 이제 노르딕, ST 마이크로, 대만 계열의 chip을 뽑아볼 수 있습니다. 그 다음 고려할 것을 무엇일까요?
- 납기일정은 어느정도 되는가?
- 세부 모델별 가격은?
- SDK 및 샘플들의 제공은 어느정도 인가?
추가적으로 MOQ가 어느정도인지, 국내에 대리점은 몇 개나 있는지 검색하거나, 디지키등 찾아보면 비교해볼 수 있는데 대리점 문의시 납기가 길더라도 수량에 따라 대리점 내에서 조율할 수도 있으니 컨택해서 연락해보시는게 좋습니다. 저는 위 후보 들 중에서 노르딕 계열로 우선 정하고 세부 모델들을 살펴보도록 하겠습니다.
- nrf51 - 구모델
- nrf52 - IoT
- nrf53 - 헤드셋 위주
- nrf9 - 고 사양
위와 같이 크게 4가지 계열이 있는데 IoT 용도로 쓰고자 하니 nrf52 시리즈 계열로 선택하고 상세 모델들 중 3가지 모델의 CPU와 Memory를 비교하면 아래와 같습니다.
Chip 선택에서 가장 중요한 것은 코딩양이 어느정도 되는지, 즉 feature가 어느정도 되는지에 따라 Memory Size를 판단해야하는데 Flash를 사용하는 공간에 코드가 올라가므로 192KB / 512KB / 1MB 중 선택이 필요합니다. 다만 여기서 중요한 것은 52810이 192KB라고 flash 영역 사이즈가 나왔어도, 실제 코드를 작성하여 올리수 있는 Application을 잘 따져보아야 한다는 것입니다.
- Bootloader 영역
- SoftDevice 영역
- Application 영역
부트로더 영역은 48KB 정도(기능에 따라 작을 수도 있음)이고, SoftDevice는 bluetooth API 영역이라 Bluetooth 기능을 위해서는 포함되어야하는데 S112 peripheral 용으로 100KB 정도기때문에 Application용도로 남은 영역은 50KB 남짓에 불과합니다. 50KB 면 기본적으로 bluetooth initial 코드 콜하고, init 코드만 작성해도 20KB는 차지함으로 그리 복잡한 코딩을 담아내지 못할 것입니다. 다만 그러할지라도 그러한 시나리오 맞는 경우는 52810이 좋은 선택지가 될 수 있습니다. 52832 경우는 52810고 핀맵이 같되 flash 사이즈가 훨씬 크고 가격이 크게 차이 나지 않는다면 52832로 시작하는게 좀 수훨 할 수 있습니다. 다만 양산에서 가장 중요한 것은 개발하려는 스펙에 가장 적합한 규모의 칩을 선택해야 양산비가 줄어 들수 있는 점, 다만 개발의 확장성을 고려해야하는 것이 반대적인 부분에서 굉장히 어려운 결정 부분이다. 우선 저는 아래와 같이 선택합니다.
1순위 nrf52810, 선행개발후 nrf52832 업그레이드 결정한다. 이유는 주변 회로는 핀팹이 같기 때문에 nrf52810으로 개발하던 nrf52832로 개발하던 크게 문제 없을 것으로 사려되기 때문입니다.
자, 이제 nrf52810으로 선행개발을 시작해볼까요! 앞으로 nrf52810으로 개발하면서 벌어지는 문제점과 해결한 방법들을 지속해서 적어보도록 하겠습니다.
'Technology > Bluetooth' 카테고리의 다른 글
NRF Sleep 후 Wakeup 과 Reset 구별하기 (0) | 2022.05.15 |
---|---|
전력관리를 위한 System Off/On 슬립 기능 구현 (0) | 2022.05.14 |
이클립스로 노르딕 블루투스 예제 실행하기2 (0) | 2022.05.12 |
이클립스로 노르딕 블루투스 예제 실행하기1 (0) | 2022.05.11 |
노르딕 칩 기반 개발을 위한 SDK 들여다보기 (0) | 2022.05.07 |