STM32 & C언어 디자인 패턴
close
프로필 배경
프로필 로고

STM32 & C언어 디자인 패턴

  • 분류 전체보기 (171)
    • ▶ STM32 (63)
      • News (8)
      • 회로리뷰 (12)
      • Peripheral (37)
      • 개발환경 (6)
    • ▶ C Application (28)
      • 디자인 패턴 (22)
      • App 만들기 (6)
    • ▶ ARM Core (10)
    • ▶ RTOS (7)
      • RTOS 만들기 (7)
      • FreeRTOS (0)
      • ThreadX (0)
    • ▶ 일상리뷰 (3)
    • ▶ 이전글 (53)
      • C Pattern (25)
      • C Coding (7)
      • Linux (5)
      • Programming (6)
      • Book Reference (10)
  • 홈
  • 태그
  • 방명록
  • Github
STM32G4  최대 시스템 클럭 170MHz 설정 방법

STM32G4 최대 시스템 클럭 170MHz 설정 방법

STM32G4를 사용하시는 분들중에 CubeMX에서 System Clock을 Max 170MHz 로 설정이 안되는 황당한 경험을 한 경우가 있을 것 같습니다. 무방비 상태에서 HCLK를 170MHz 설정하면 아래와 같은 메시지를 보게 됩니다. ​ 문제는 아무런 안내없이 저런 경고를 띄운 후에 150MHz로 강제 설정이 되어 버립니다. 원인은 reference manual에서 확인 할 수 있으며 CubeMX의 default 세팅 값인 아래 VOS(Voltage Scale)에서는 최대 150MHz로 밖에 설정이 안되는 것이 원입니다. 따라서 CubeMX의 RCC설정에서 Power Regulator Voltage Scale 1 boost로 설정하고 다시 170MHz로 설정하면 정상적으로 설정이 되는 것을 확인..

  • format_list_bulleted Peripheral
  • · 2024. 3. 30.
  • textsms
STM32 Flash Memory에 대한 이야기

STM32 Flash Memory에 대한 이야기

이번 포스팅에서는 STM32 내부 플래 메모리에 대한 이야기를 해보려고 합니다. VDD에 전원이 들어오거나 RESET를 통해 시스템이 동작을 시작할 때 코드를 인출하는 곳이 내부 플래시 메모리입니다. ​ MCU의 내부 플래시 메모리는 제품마다 전체, 섹터, 페이지 등의 크기가 다 다르기 때문에 어플리케이션에 적합한 제품을 골라야 비용을 절약 할 수 있습니다. ​ Flash Memory 속도 Datasheet 등에는 표시되어 있지 않지만 의외로 Core Clock에 비해 플래시 속도가 몇 배 느립니다. 어플리케이션의 성능이 Core 속도 만큼 나오지 않는 이유는 바로 이 때문입니다. 이를 극복하기 위해 ART Accelerator라는 STM32 자체 기술이 탑재되어 있긴 한데 Branch나 interrup..

  • format_list_bulleted Peripheral
  • · 2024. 3. 25.
  • textsms
USB Type-C® Power Delivery using STM32(4) - TCPC(Controller)

USB Type-C® Power Delivery using STM32(4) - TCPC(Controller)

Type-C with Power Delivery using a general-purpose peripheral Hardware overview 그림 30. Hardware view for Type-C Power Delivery with a general-purpose peripheral 범용 주변 장치를 사용하는 TCPM/TCPC 인터페이스는 USB 전원 공급을 처리하는 편리한 방법입니다. 통신 버스를 사용하는 STM32 MCU 및 STM32 MPU는 모든 TCPM/TCPC 컴패니언 칩을 처리할 수 있습니다. 일반적으로 I2C, SPI 또는 GPIO는 통신 메시지 및 예외를 처리하는 데 사용됩니다. 역자주) TCPM/TCPC 장치는 USB PD 기능이 없는 MCU에서 USB PD를 구현하는데 사용될 수 ..

  • format_list_bulleted Peripheral
  • · 2024. 2. 1.
  • textsms
불안정한 VDDA문제, Vrefint를 이용한 ADC 측정 정밀도 높이기

불안정한 VDDA문제, Vrefint를 이용한 ADC 측정 정밀도 높이기

STM32에서는 아래와 같은 VDD-VDDA 의 구성을 가지고 있습니다. STM32G 시리즈 Power scheme VDD와 VDDA는 완전하게 독립적으로 분리할 수 있습니다. 하지만 회로적으로 Digital 전원과 Analog 전원을 따로 분리하지 않는 경우가 더 많습니다. VDD는 디지털 회로에 들어가는 전원으로 디지털의 특성상 작은 ripple은 허용이 되는 편입니다. ​ 하지만 ADC의 기준이 되는 VREF+는 작은 ripple이라도 ADC에 큰 오차를 만들 수 있습니다. 따라서 회로적으로 VREF+가 흔들리지 않도록 권장하는 Decoupling Capacitor 및 노이즈 원인으로 부터 떨어 뜨려야 합니다. 흔히 VDD - VDDA - VREF+ 를 같이 연결하여 사용하는데 디지털 전원인 VDD..

  • format_list_bulleted Peripheral
  • · 2024. 1. 24.
  • textsms
STM32에서 Hardfault 만들기

STM32에서 Hardfault 만들기

우리가 아주 끔찍하게 싫어하는 Hardfault를 임의로 만들어 보겠습니다. 아래 코드를 넣으면 PC가 수행할 수 없는 주소로 변경되면서 Hardfault로 Jump 하게됩니다. typedef void (*Function_Pointer)(void); /* USER CODE END PFP */ /* Private user code ---------------------------------------------------------*/ /* USER CODE BEGIN 0 */ /* USER CODE END 0 */ /** * @brief The application entry point. * @retval int */ int main(void) { /* USER CODE BEGIN 1 */ /* USER..

  • format_list_bulleted 개발환경
  • · 2024. 1. 17.
  • textsms
STM32CubeAI를 이용한 XOR 게이트 모델

STM32CubeAI를 이용한 XOR 게이트 모델

오늘은 STM32CubeAI를 이용한 아주 간단한 XOR 게이트 머신러닝을 알아보도록 하겠습니다. 요즘 워낙 A.I 어플리케이션이 많이 활용되어 어디에서든 쉽게 AI 모델을 찾아 활용할 수 있습니다. 이번 포스트에서는 이런 모델중에서도 가장 쉬운 XOR 게이트 모델을 통해 STM32CubeAI의 활용중에 아주 기초적인 사용법을 익히도록 하겠습니다. 1. 모델생성 및 .h파일 만들기 우선 model을 아래와 같이 만듭니다. 아래 모델은 Google에서 찾았으나 어느 사이트였는지 기억이 나지않아 링크를 걸지 못했습니다. (보통 왠만한 모델들은 검색을 통해 쉽게 찾을 수 있습니다.) 아래 모델은 각각 XOR의 Input값과 Output 값을 sigmoid 활성화 함수, mse 손실함수와 함께 4000번 학습시..

  • format_list_bulleted 개발환경
  • · 2024. 1. 10.
  • textsms
FMAC 디지털 필터 구현 방법 (with the STM32 G4 MCU Package)(7) - 3p3z

FMAC 디지털 필터 구현 방법 (with the STM32 G4 MCU Package)(7) - 3p3z

오실로스코프를 사용하여 사양에 대한 벅 컨버터의 성능을 확인할 수 있습니다. ​ 그림 20. PWM 파형 D0 및 D1 트레이스는 벅 컨버터가 일정한 100mA 부하로 작동할 때 하이 사이드(1차) 및 로우 사이드(2차) 스위치에 대한 PWM 출력을 보여줍니다. ​ PWM 주기는 200kHz 스위칭 주파수에 해당하는 5µs입니다. 출력 전압은 채널 1 트레이스에서 볼 수 있듯이 목표와 일치하는 3.3V입니다. 그림 20 그림 21 CPU 부하에서 D0 트레이스는 CPU가 유휴 상태인 동안, 즉 while(1) 루프를 실행하는 동안 토글되는 디지털 IO 핀(GPO2)입니다. CPU가 FMAC 인터럽트 핸들러를 실행할 때 GPO는 토글을 멈춥니다. ​ CPU가 PWM 주기 시작 후 460ns에 FMAC 인터..

  • format_list_bulleted Peripheral
  • · 2023. 12. 29.
  • textsms
FMAC 디지털 필터 구현 방법 (with the STM32 G4 MCU Package)(6) - 3p3z code

FMAC 디지털 필터 구현 방법 (with the STM32 G4 MCU Package)(6) - 3p3z code

Configuring the FMAC FMAC 레지스터에 액세스하기 전에 FMAC 클록을 활성화해야 합니다. __HAL_RCC_FMAC_CLK_ENABLE(); A 및 B 계수를 위해 시스템 메모리 영역을 할당해야 합니다. /* Array of filter coefficients A (feedback taps) in Q1.15 format */ static int16_t aFilterCoeffA[COEFF_VECTOR_A_SIZE] = {A1,A2,A3}; /* Array of filter coefficients B (feed-forward taps) in Q1.15 format */ static int16_t aFilterCoeffB[COEFF_VECTOR_B_SIZE] = {-B0,-B1,-B2,-B..

  • format_list_bulleted Peripheral
  • · 2023. 12. 29.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • navigate_next
공지사항
  • [2023.11.15] App State machine 글 게재
  • [2023.11.3] 티스토리 다시 시작합니다
전체 카테고리
  • 분류 전체보기 (171)
    • ▶ STM32 (63)
      • News (8)
      • 회로리뷰 (12)
      • Peripheral (37)
      • 개발환경 (6)
    • ▶ C Application (28)
      • 디자인 패턴 (22)
      • App 만들기 (6)
    • ▶ ARM Core (10)
    • ▶ RTOS (7)
      • RTOS 만들기 (7)
      • FreeRTOS (0)
      • ThreadX (0)
    • ▶ 일상리뷰 (3)
    • ▶ 이전글 (53)
      • C Pattern (25)
      • C Coding (7)
      • Linux (5)
      • Programming (6)
      • Book Reference (10)
최근 글
인기 글
최근 댓글
태그
  • #디자인 패턴
  • #STM32
  • #C언어
  • #arm
  • #디자인패턴
  • #STM32G4
  • #rtos
  • #MCU
  • #STM32H7
  • #C언어 패턴
전체 방문자
오늘
어제
전체
Copyright © STM32 & C언어 디자인 패턴 All rights reserved.
Designed by JJuum

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.