[BLE] nRF5 Offline Document Download

Nordic의 경우 일반적인 PDF보다 Online Support가 더 활성화 되어 있습니다.

Infocenter나 DevZone이 그렇죠. 

일반적인 예제 활용부터 시작해서 SDK API 함수까지 모든 설명을 Online Infocenter에서 찾아 볼 수 있습니다.

근데 Online이라 좀 느려요.

 

아래 링크에서 Offline문서를 다운 받아서 index.html을 크롬으로 보시면 훨씬 쾌적하게 문서들을 살펴 볼 수 있습니다.

 

https://developer.nordicsemi.com/

 

download.recurser.com

Welcome to SDK The nRF5 SDK provides a rich developing environment for nRF5 Series devices by including a broad selection of drivers, libraries, examples for peripherals, SoftDevices, and proprietary radio protocols. The SDK is delivered as a plain .zip-ar

developer.nordicsemi.com

 

nRF offline doc 문서

 

'BLE' 카테고리의 다른 글

[BLE] SEGGER Studio CMSIS Configuration Wizard / sdk_config.h  (0) 2020.02.10
[BLE]nRF52832 DCDC Mode Enable  (0) 2020.02.05

[BLE]nRF52832 DCDC Mode Enable

nRF52832의 경우 내부 Core전압으로 1.3V 사용 합니다.

이때 필요한게 Regulator인데, nRF52832의 경우 외부 회로에 L,C 만 추가 하면 LDO/DCDC 모두 사용 가능 합니다.

당연 하게도 DCDC일 경우 소모 전류는 드라마틱 하게 줄어 들게 됩니다.

단순 Advertise Mode에서 약 42%이상 소모 전류를 줄일 수 있습니다.

사용자가 SW 설정을 안 할 경우 Default LDO입니다.

 

따라서 SDK에서 제공하는 모든 기존 예제들은 Default LDO 모드로 동작 하게 됩니다.

 

DCDC일 활성화 위해서는 아래와 같은 함수를 Call하면 됩니다.

  ble_stack_init();
  /* 외부 회로가 dcdc 지원하면, dcdc mode enable하여 전류를 소모를 많이 줄일 수 있다 */
  /* 아무데서나 호출하면 안되고 ble_stack_init() 후 호출 */
  sd_power_dcdc_mode_set(NRF_POWER_DCDC_ENABLE);  

일반적으로 DCDC는 Noise성분을 많이 발생 시키는데, 이에 따른 RF성능 저하는 따로 확인 되지 않았습니다.

 

Nordic Online Power Profiler Link

https://devzone.nordicsemi.com/nordic/power

 

LDO Mode 일때 전류

 

 

DCDC Mode 일때 전류
LDO/DCDC 겸용 HW 회로도
Only LDO Mode HW 회로도

'BLE' 카테고리의 다른 글

[BLE] SEGGER Studio CMSIS Configuration Wizard / sdk_config.h  (0) 2020.02.10
[BLE] nRF5 Offline Document Download  (0) 2020.02.05

[TT] STM32 CAN ESR/Register/Peripheral Reset/Clear

 

CAN 작업중에 CubeMx의 HAL 함수 단에서 DeInit과 Init을 해도 CAN Register가 초기화가 안됨. 

특히 CAN 오류 발생시 ESR Register들의 값들이 DeInit또는 Init후 그대로 남아 있음.

HAL_StatusTypeDef HAL_CAN_Init(CAN_HandleTypeDef *hcan)
HAL_StatusTypeDef HAL_CAN_DeInit(CAN_HandleTypeDef *hcan)

 

MspInit/DeInit에서 CLK 관련 매크로들이 호출 되어 이상 없는 듯 했으니 그건 아니고...

"CAN_MCR_RESET" Define이 포함되어 있어 당연히 Reset이 될것 같으나 그것도 아니고..

void HAL_CAN_MspInit(CAN_HandleTypeDef* hcan)
void HAL_CAN_MspDeInit(CAN_HandleTypeDef* hcan)
    
__HAL_RCC_CAN1_CLK_ENABLE();
__HAL_RCC_CAN1_CLK_DISABLE();
SET_BIT(hcan->Instance->MCR, CAN_MCR_RESET);

 

아래와 같은 매크로 사용자가 수동으로 호출을 해서 CAN Register 초기화 필요함. 필요시....

__HAL_RCC_CAN1_FORCE_RESET();
__HAL_RCC_CAN1_RELEASE_RESET();

 

이건 CAN관련 뿐만이 아니라 다른 Peripheral Register도 마찬가지

하고 싶은 이야기는 HAL 드라이버의 Init/DeInit을 해도 관련 Peripheral Register가 HW적으로 리셋되는건 아니라는것..

 

 

수고..........