오실로스코프를 사용하여 사양에 대한 벅 컨버터의 성능을 확인할 수 있습니다. 그림 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 인터..
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..
Buck converter specification 변환기 예제는 아래와 같은 사양으로 디자인되어 있습니다. • Input supply voltage: 5 V • Output voltage: 3.3 V • Maximum current: 0.5 A • Target ripple: 0.5% (16.5 mV) • Overshoot (50% load step): 5 mV • Control mode: Voltage, digital • Switching frequency: 200 kHz • Sampling frequency: 200 kHz • Crossover frequency: 8 kHz • Phase margin at crossover: 50 degrees • Duty cycle limit: 90% 디스커버리..
DC-DC 전원 공급 장치는 다양한 부하 조건에서 출력 안정성과 정밀도를 유지하기 위해 제어 루프가 필요합니다. 전통적으로 제어는 아날로그 구성요소를 사용하지만 점점 프로그래밍 가능성과 비용을 아끼기 위해 범용 마이크로컨트롤러(MCU)를 사용하는 디지털 솔루션으로 눈을 돌리고 있습니다. 마이크로컨트롤러는 디스플레이 컨트롤러, 원격 제어 및 상태 통신, 보안 및 안전 모니터링, 키패드 등과 같은 제어 루프 외에도 하나의 장치에 많은 기능을 결합할 수 있습니다. 그럼에도 불구하고 제어 루프 작업은 높은 스위칭 주파수에서 상당한 양의 프로세서 시간을 차지할 수 있으며 실시간 처리 제약으로 인해 우선 순위가 높아야 합니다. 실제로 루프는 하나의 스위칭 기간 내에 실행되어야 하며 그렇지 않으면 컨트롤러가 ..
FIR filter FIR 필터는 기본적으로 필터 계수와 신호의 컨볼루션(회선)입니다. 계수의 수는 신호 대역폭에 대한 최소 노치 크기를 결정합니다. 계수가 많으면 협대역 노이즈 신호의 정확한 노칭이 가능하므로 손실되는 정보의 양이 최소화됩니다. 그러나 N개의 계수를 계산하려면 일반적으로 N2개의 연산 순서가 필요하므로 계수의 수는 처리 가능한 리소스에 의해 제한됩니다. 이 예에서는 그림 7과 같이 51탭 FIR 필터를 사용합니다. 그림 7 필터 계수는 대부분 부동 소수점 형식으로 계산되며 16비트 고정 소수점으로 변환해야 합니다. FMAC에서 사용하는 형식은 q1.15이며, 비트 0에서 14는 소수 자릿수(즉, 이진 소수점 오른쪽)를 나타내고 비트 15는 부호/정수를 나타냅니다. 따라서 Q1..
Example 1: FIR adaptive filter STM32CubeG4 MCU 패키지는 Arm® Cortex®-M 프로세서를 기반으로 하는 STM32G4에서 실행됩니다. 적응형 필터(Adaptive Filter)는 입력 신호의 다양한 특성에 따라 임펄스 응답을 변경하는 필터입니다. 이러한 필터는 종종 통신 채널에서 포착된 원치 않는 간섭을 제거하는 데 사용됩니다. Adaptive 알고리즘은 예를 들어 간섭자의 주파수 성분을 검출하고 필터의 계수를 조정하여 필터 주파수 응답의 적절한 지점에 노치(Notch)를 생성할 수 있습니다. 그 후엔 수신된 신호가 필터를 통과할 때 원하지 않는 요소가 제거됩니다. 이러한 알고리즘이 여러 개 존재하며 적응형 알고리즘에 대한 자세한 내용은 여기에서 설..
STM32G4 시리즈에 FMAC 이 추가되어 있습니다. Digital Filter에 필요한 연산 가속기가 포함되어있는 하드웨어 Peripheral 입니다. STM32G4의 FMAC의 Application note를 번역한 시리즈를 시작해 보도록 하겠습니다. 영문 원본은 아래 URL을 참조하시고 다소 부자연스러운 번역이 있어도 양해 바랍니다. https://www.st.com/resource/en/application_note/dm00605584-digital-filter-implementation-with-the-fmac-using-stm32cubeg4-mcu-package-stmicroelectronics.pdf 이 문서는 STM32G4 시리즈를 위한 STM32CubeG4 MCU 패키지에 적용됩..
지난 시간에 이어 display - driver를 잇는 adapter 부분을 구현해 보도록 하겠습니다. 궁극적으로는 아래와 같은 구조가 될 것입니다. display → adapter → driver 결국 adapter 패턴이 있어 display도 다른 driver처럼 사용할 수 있게 됩니다. 먼저 adapter의 header(interface) 부터 살펴 보도록 하겠습니다. extern driver_t *setup_display_adapter(void); setup_display_adapter을 extern으로 선언해줍니다. setup_display_adapter를 호출하면 driver_t의 포인터를 전달해 주도록 되어있습니다. 헤더를 선언할 때 아래와 같은 코드가 많이 나오는데요, 혹시 모르시는 분들..