Nordic Nrf528xx를 사용해 보자 nrf52840(MDBT50Q)으로 커스텀 보드를 만들어 보자
앞으로도 다양한 보드가 나올 것 같지만,
이번, MDBT50Q로 비콘을 제작했기 때문에 자작 보드를 만들 때의 주의점 등을 소개합니다.
입수 정보
현재, 판매되고 있는 모듈은, 다방면에 걸쳐 있어, 세계적으로 보면, Raytec의 시리즈가 중심일까라고 생각됩니다.
ぅ t : ///b ㅅ와 th. 토키 /
일본에서는 주식회사 후쿠미가 상류를 담당하고 있었습니다만, 스위치 사이언스로 일반 판매하고 있습니다.
htps //w w. 슈 tch-s 시엔세. 코 m / 가타 g / ㎃ / 809 /
국내 메이커의 제품보다 저렴하게 개발을 할 수 있게 되었다고 말할 수 있습니다.
덧붙여 롯트 구입은, 주식회사 후쿠미로 대응해 받을 수 있다고 합니다.
htps : // 후쿠미. 이. jp/이런 ct
또, 국내 메이커가 좋다고 하는 분은, 가가 디바이스씨등에 상담하면 좋은 것 같습니다.
GPIO 설정
SDK의
\components\boards\pca10056.h
nrf52840:pca10056.h
nrf52832:pca10040.h
예를 들어, 다음과 같이 설명됩니다.
#define LED_1 NRF_GPIO_PIN_MAP(0,17)
핀 설정을 변경하려면 뒤의 (0,17)을 변경하십시오.
디버거
J-LINK EDU MINI 등을 사용하고 있습니다.
J-LINK EDU MINI는 Digikey로 2,354엔(2019년 8월 2일 현재)로 구입 가능합니다.
아키즈키 전자에서도 취급 해 주면 좋지만 ...
불행히도 ST 마이크로의 Nucleo에 관한 ST-Link를 J-LinkOB화해도
nrf52840에서는 사용할 수 없습니다.
이 때문에 큰 J-Link나 위를 사용하게 됩니다.
제 제작한 것은, 큰 J-Link와 접속 커넥터를 제작해 접속하고 있습니다.
또한 별도로 Cmcis-Dap이나 Daplink를 사용하면 쓰기 가능합니다.
여기도 참조하십시오.
htps : // 이 m / d 등 fts / 09c86에 01d37에 f1db9244 / 에 t
32.768 kHz 외부 크리스탈
nrf52xx 계열의 모듈에는 32.768 kHz의 크리스탈이 내장되어 있지 않은 것이 많이 있습니다.
사양으로는 XTAL SMD 2012, 32.768kHz, 9pF, ±20ppm입니다.
이 때문에 외부에 크리스탈을 준비해야 하지만,
정밀도가 엄격하기 때문에, 잘 움직이지 않는 것이 있는 것 같습니다.
* 크리스탈이 없으면 라디오를 발신할 수 없습니다.
아래 파일의 해당 부분을 수정하여 내장 클럭으로 동작하게 됩니다.
SDK의
\config\nrf52840\config\sdk_config.h
나는 다음을 변경했다.
#define NRF_SDH_CLOCK_LF_SRC 1
#define NRF_SDH_CLOCK_LF_RC_CTIV 0
#define NRF_SDH_CLOCK_LF_ACCURACY 7
참고 : nRF52 XTAL을 사용하지 않고 RC 클럭으로 BLE 통신
htp : // bg. 41. 이 m/? 예d=384
이하, 변경 후의 것입니다.
//==========================================================
// <h> Clock - SoftDevice clock configuration
//==========================================================
// <o> NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source.
// <0=> NRF_CLOCK_LF_SRC_RC
// <1=> NRF_CLOCK_LF_SRC_XTAL
// <2=> NRF_CLOCK_LF_SRC_SYNTH
#ifndef NRF_SDH_CLOCK_LF_SRC
#define NRF_SDH_CLOCK_LF_SRC 0
//#define NRF_SDH_CLOCK_LF_SRC 1
#endif
// <o> NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval.
#ifndef NRF_SDH_CLOCK_LF_RC_CTIV
#define NRF_SDH_CLOCK_LF_RC_CTIV 16
//#define NRF_SDH_CLOCK_LF_RC_CTIV 0
#endif
// <o> NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature.
// <i> How often (in number of calibration intervals) the RC oscillator shall be calibrated
// <i> if the temperature has not changed.
#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV
#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 2
//#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0
#endif
// <o> NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing.
// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM
// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM
// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM
// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM
// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM
// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM
// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM
// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM
// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM
// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM
// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM
// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM
#ifndef NRF_SDH_CLOCK_LF_ACCURACY
#define NRF_SDH_CLOCK_LF_ACCURACY 0
//#define NRF_SDH_CLOCK_LF_ACCURACY 7
#endif
// </h>
//==========================================================
Reference
이 문제에 관하여(Nordic Nrf528xx를 사용해 보자 nrf52840(MDBT50Q)으로 커스텀 보드를 만들어 보자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/usashirou/items/87a68a8a6e0c69d738f9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
SDK의
\components\boards\pca10056.h
nrf52840:pca10056.h
nrf52832:pca10040.h
예를 들어, 다음과 같이 설명됩니다.
#define LED_1 NRF_GPIO_PIN_MAP(0,17)
핀 설정을 변경하려면 뒤의 (0,17)을 변경하십시오.
디버거
J-LINK EDU MINI 등을 사용하고 있습니다.
J-LINK EDU MINI는 Digikey로 2,354엔(2019년 8월 2일 현재)로 구입 가능합니다.
아키즈키 전자에서도 취급 해 주면 좋지만 ...
불행히도 ST 마이크로의 Nucleo에 관한 ST-Link를 J-LinkOB화해도
nrf52840에서는 사용할 수 없습니다.
이 때문에 큰 J-Link나 위를 사용하게 됩니다.
제 제작한 것은, 큰 J-Link와 접속 커넥터를 제작해 접속하고 있습니다.
또한 별도로 Cmcis-Dap이나 Daplink를 사용하면 쓰기 가능합니다.
여기도 참조하십시오.
htps : // 이 m / d 등 fts / 09c86에 01d37에 f1db9244 / 에 t
32.768 kHz 외부 크리스탈
nrf52xx 계열의 모듈에는 32.768 kHz의 크리스탈이 내장되어 있지 않은 것이 많이 있습니다.
사양으로는 XTAL SMD 2012, 32.768kHz, 9pF, ±20ppm입니다.
이 때문에 외부에 크리스탈을 준비해야 하지만,
정밀도가 엄격하기 때문에, 잘 움직이지 않는 것이 있는 것 같습니다.
* 크리스탈이 없으면 라디오를 발신할 수 없습니다.
아래 파일의 해당 부분을 수정하여 내장 클럭으로 동작하게 됩니다.
SDK의
\config\nrf52840\config\sdk_config.h
나는 다음을 변경했다.
#define NRF_SDH_CLOCK_LF_SRC 1
#define NRF_SDH_CLOCK_LF_RC_CTIV 0
#define NRF_SDH_CLOCK_LF_ACCURACY 7
참고 : nRF52 XTAL을 사용하지 않고 RC 클럭으로 BLE 통신
htp : // bg. 41. 이 m/? 예d=384
이하, 변경 후의 것입니다.
//==========================================================
// <h> Clock - SoftDevice clock configuration
//==========================================================
// <o> NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source.
// <0=> NRF_CLOCK_LF_SRC_RC
// <1=> NRF_CLOCK_LF_SRC_XTAL
// <2=> NRF_CLOCK_LF_SRC_SYNTH
#ifndef NRF_SDH_CLOCK_LF_SRC
#define NRF_SDH_CLOCK_LF_SRC 0
//#define NRF_SDH_CLOCK_LF_SRC 1
#endif
// <o> NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval.
#ifndef NRF_SDH_CLOCK_LF_RC_CTIV
#define NRF_SDH_CLOCK_LF_RC_CTIV 16
//#define NRF_SDH_CLOCK_LF_RC_CTIV 0
#endif
// <o> NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature.
// <i> How often (in number of calibration intervals) the RC oscillator shall be calibrated
// <i> if the temperature has not changed.
#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV
#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 2
//#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0
#endif
// <o> NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing.
// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM
// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM
// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM
// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM
// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM
// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM
// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM
// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM
// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM
// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM
// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM
// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM
#ifndef NRF_SDH_CLOCK_LF_ACCURACY
#define NRF_SDH_CLOCK_LF_ACCURACY 0
//#define NRF_SDH_CLOCK_LF_ACCURACY 7
#endif
// </h>
//==========================================================
Reference
이 문제에 관하여(Nordic Nrf528xx를 사용해 보자 nrf52840(MDBT50Q)으로 커스텀 보드를 만들어 보자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/usashirou/items/87a68a8a6e0c69d738f9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
nrf52xx 계열의 모듈에는 32.768 kHz의 크리스탈이 내장되어 있지 않은 것이 많이 있습니다.
사양으로는 XTAL SMD 2012, 32.768kHz, 9pF, ±20ppm입니다.
이 때문에 외부에 크리스탈을 준비해야 하지만,
정밀도가 엄격하기 때문에, 잘 움직이지 않는 것이 있는 것 같습니다.
* 크리스탈이 없으면 라디오를 발신할 수 없습니다.
아래 파일의 해당 부분을 수정하여 내장 클럭으로 동작하게 됩니다.
SDK의
\config\nrf52840\config\sdk_config.h
나는 다음을 변경했다.
#define NRF_SDH_CLOCK_LF_SRC 1
#define NRF_SDH_CLOCK_LF_RC_CTIV 0
#define NRF_SDH_CLOCK_LF_ACCURACY 7
참고 : nRF52 XTAL을 사용하지 않고 RC 클럭으로 BLE 통신
htp : // bg. 41. 이 m/? 예d=384
이하, 변경 후의 것입니다.
//==========================================================
// <h> Clock - SoftDevice clock configuration
//==========================================================
// <o> NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source.
// <0=> NRF_CLOCK_LF_SRC_RC
// <1=> NRF_CLOCK_LF_SRC_XTAL
// <2=> NRF_CLOCK_LF_SRC_SYNTH
#ifndef NRF_SDH_CLOCK_LF_SRC
#define NRF_SDH_CLOCK_LF_SRC 0
//#define NRF_SDH_CLOCK_LF_SRC 1
#endif
// <o> NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval.
#ifndef NRF_SDH_CLOCK_LF_RC_CTIV
#define NRF_SDH_CLOCK_LF_RC_CTIV 16
//#define NRF_SDH_CLOCK_LF_RC_CTIV 0
#endif
// <o> NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature.
// <i> How often (in number of calibration intervals) the RC oscillator shall be calibrated
// <i> if the temperature has not changed.
#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV
#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 2
//#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 0
#endif
// <o> NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing.
// <0=> NRF_CLOCK_LF_ACCURACY_250_PPM
// <1=> NRF_CLOCK_LF_ACCURACY_500_PPM
// <2=> NRF_CLOCK_LF_ACCURACY_150_PPM
// <3=> NRF_CLOCK_LF_ACCURACY_100_PPM
// <4=> NRF_CLOCK_LF_ACCURACY_75_PPM
// <5=> NRF_CLOCK_LF_ACCURACY_50_PPM
// <6=> NRF_CLOCK_LF_ACCURACY_30_PPM
// <7=> NRF_CLOCK_LF_ACCURACY_20_PPM
// <8=> NRF_CLOCK_LF_ACCURACY_10_PPM
// <9=> NRF_CLOCK_LF_ACCURACY_5_PPM
// <10=> NRF_CLOCK_LF_ACCURACY_2_PPM
// <11=> NRF_CLOCK_LF_ACCURACY_1_PPM
#ifndef NRF_SDH_CLOCK_LF_ACCURACY
#define NRF_SDH_CLOCK_LF_ACCURACY 0
//#define NRF_SDH_CLOCK_LF_ACCURACY 7
#endif
// </h>
//==========================================================
Reference
이 문제에 관하여(Nordic Nrf528xx를 사용해 보자 nrf52840(MDBT50Q)으로 커스텀 보드를 만들어 보자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/usashirou/items/87a68a8a6e0c69d738f9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)