전체 글 (2094) 썸네일형 리스트형 [STM32U535 SM] CAN 통신 테스트 - CAN2USB 제작 STM32U535 시리즈의 CAN 기능은 기존 BXCAN이 아니라 FDCAN(Flexible Data-rate CAN) 모듈이 들어있다는 점이 가장 큰 특징이다. Classical CAN(2.0A/B) 뿐 아니라 CAN FD도 지원한다. STM32U535의 CAN 기능을 이용해서 간단히 CAN 데이터를 수신하는 예제를 작성하고 USB 로 전송하는 코드를 작성해 보자. STM32CubeIDE를 이용해서 PB8, PB9에 할당된 CAN 을 설정하고 기본 코드를 작성한다. CAN으로 수신된 데이터를 인터럽트 처리하기 위해 인터럽트를 활성화 한다. STM32CubeIDE의 자동 생성 코드를 보면 기존 STM32의 CAN코드와 달리 FDCAN 접두어가 붙어 있어 기존 코드를 재활용하려면 주의가 필요하다.FDC.. [STM32U535 SM] LPUART 테스트 STM32U5 시리즈에서 LPUART (Low-Power UART) 는 일반적인 UART와 유사한 기능을 제공하지만, 저전력 동작에 최적화된 몇 가지 특징이 있다Stop 모드 / Low-power 모드에서도 UART 통신 가능MCU가 Stop2 모드에 있어도 RX 핀의 신호로 자동 웨이크업 가능LPUART는 32.768 kHz 같은 **저속 클럭 소스(LSE, LSI)**로도 동작 가능Start bit를 감지하여 MCU를 Stop 모드에서 자동으로 Wake-upRX 라인에 데이터가 들어오면 자동으로 시스템 활성화 STM32U535 SM 보드에 표준 핀맵에서 UART는 PA2, PA3(LPUART)에 할당되어 있다. STM32CubeIDE를 이용해서 PA2, PA3을 LPUART로 설정한다. STM32.. [STM32U535 SM] 저전력 14bit ADC 테스트 STM32U5 시리즈의 ADC는 기존 STM32시리즈와 달리 14비트 해상도까지 지원하며, 고정밀/저전력 애플리케이션에 적합하다. STM32U5의 ADC를 저전력 모드로 테스트 해보자. STM32CubeIDE에서 STM32U5의 ADC를 선택하면 최대 14bit 해상도 까지 설정 가능하다. STM32U535 를 이용해서 14bit ADC를 저전력으로 구동하고 ADC값을 출력 하는 기본 예제 코드를 작성해 보자.#include "main.h"ADC_HandleTypeDef hadc1;uint16_t adc_result = 0;void SystemClock_Config(void);static void MX_GPIO_Init(void);static void MX_ADC1_Init(void);int main(.. [STM32U535 SM] EXIT 인터럽트 및 저전력 모드 테스트 STM32U 시리즈의 최대 장점은 ST제품군 중에서 가장 저전력에 최적화 되어 있는 MCU이다.저전력 기능을 이용해서 다양한 테스트를 해 보자 우선 어느정도 파워를 소모 하지만 다른 주변 장치들이 깨어 있어 저전력과 성능을 조를 이루는 STOP2 모드로 테스트 해보자. STOP2 모드이지만 소모 전류는 8uA대로 상당히 적다.저전력 모드를 테스트 하기 위해 STM32U535 SM 보드의 스위치(PB8) 의 이벤트로 저전력 모드로 진입 하거나 깨어나는 형태로 테스트 해 볼 수 있다. 우선 STM32CubeIDE를 이용하여 PB8을 EXIT 인터럽트로 설정하자. STM32 CubeIDE 의 자동 생성 코드를 보면 .c에 인터럽트 핸들러가 생성되고 핸들러 함수내부를 보면 다시 라인의 상태에 따라 인터럽트 .. [STM32U535 SM] Arduio환경에서 저전력 모드 테스트 STM32U535 벤치마크 테스트 결과 142Mhz 까지 정상적인 구동이 되었는데… ADC 출력 예제를 구동하니 또 동작을 하지 않는다. 130Mhz 로 낮추면 정상 동작한다.아무래도 디폴트로 저전력 모드로 설정되어 있는것 같다.//130Mhzvoid SystemClock_Config(void){ RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; /** Configure the main internal regulator output voltage */ if (HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1) != HAL_OK) .. [STM32U535 SM] Dhrystone, Whetstone 벤치마크 테스트 STM32U535는 저전력 MCU이지만 160Mhz로 구동할수 있는 고성능 MCU이다. 벤치마크로 MCU성늘을 측정해 보자 MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다.각각의 특징은 아래와 같다.Dhrystone - 정수(ALU)연산성능 측정, MIPS 수치로 표기Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기테스트 코드는 STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. 좀 느린것 같은데.. mode = ArduinoDhrystone Benchmark, Version 2.1 (Language: C)Execution sta.. [STM32U535 SM] STM32U535 Arduino 만들기 STM32U 시리즈도 Arduino를 지원하고 있어서 한번 테스트 해 보면 좋을것 같다. 간단하게 테스트 해 보려고 했는데.... 디폴트로 제공하는 보드d에 STM32U535가 없다. STM32U535 를 지원하도록 하나 만들자.Arduino의 variants 폴더에 U535_SSM를 추가 했다. \AppData\Local\Arduino15\packages\STMicroelectronics\hardware\stm32\2.9.0\variants\STM32U5xx\U535_SSM\variant_generic.h ################################################################################# Generic U5GenU5.name=Generic.. [STM32U535 SM] STM32CubeIDE 개발환경 설정 및 MCU 성능 측정 Arduino 개발환경에서 간단히 STM32U535를 테스트 하려고 했는데... Arduino 개발환경에서는 한계가 있어 STM32CubeIDE 개발환경에서 테스트 해 볼 필요가 있는것 같다. STM32CubeIDE 를 이용하여 STM32U535 프로젝트를 생성한다. 새로운 프로젝트 생성 STM32U5는 최대 클럭인 160Mhz로 설정 가능하다. 저전력 MCU인데 160Mhz로 구동 된다면 성능도 좋을것 같다. 가장 기본이 되는 STM32U535의 GPIO 토글 속도 테스트를 해 보자int main(void){ /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration----------------------------------.. 이전 1 2 3 4 5 6 7 8 ··· 262 다음