Inflearn brand logo image
Inflearn brand logo image
์ฑ„๋„ํ†ก ์•„์ด์ฝ˜

STM32 FFT ๊ตฌํ˜„

STM32์—์„œ DSP Library๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ FFT๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

(5.0) ์ˆ˜๊ฐ•ํ‰ 2๊ฐœ

์ˆ˜๊ฐ•์ƒ 104๋ช…

alex๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

์ถœ์‹œ 1๊ฐœ์›” ๊ธฐ๋… 50% ํ• ์ธ ์ด๋ฒคํŠธ

์•ˆ๋…•ํ•˜์„ธ์š”.

๊ฐ•์˜๋ฅผ ๊ตฌ๋งคํ•ด ์ฃผ์‹  ๋ถ„๋“ค๊ป˜ ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๊ฐ•์˜๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž ๋ถ„๋“ค์—๊ฒŒ ๋งŽ์€ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๊ฐ•์˜๋ฅผ ์˜คํ”ˆํ•œ์ง€ 1๊ฐœ์›”์ฏค ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌ๋“œ๋ฆฌ๋ฉฐ 50% ํ• ์ธ ์ฟ ํฐ ์ด๋ฒคํŠธ๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • ๊ธฐ๊ฐ„ : 2022. 11. 28 - 2022. 12. 02 (5์ผ๊ฐ„)

  • ์ฟ ํฐ ๋‚ด์—ญ : 50% ํ• ์ธ

 

FPGA MCU Porting ๊ฐ•์˜ ๊ด€๋ จ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

FPGA์— MCU๋ฅผ ํฌํŒ…ํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋งŽ์€ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณธ ๊ฐ•์˜๋Š” FPGA์— MCU๋ฅผ ํฌํŒ…ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๋‚ด์šฉ์„ ์ƒ์„ธํ•˜๊ฒŒ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ €๋Š” ์ง€๋‚œ 15์—ฌ๋…„ ๋™์•ˆ FPGA๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•ด์„œ

๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

FPGA๋กœ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•  ๋•Œ, ์–ด๋–ค ๋ถ€๋ถ„์€ MCU๋กœ ๊ตฌํ˜„ํ•ด์•ผ ํ•  ๋ถ€๋ถ„์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ MCU๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด FPGA ๋‚ด๋ถ€์˜ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉฐ ๋””๋ฒ„๊น…ํ•˜๋Š” ๋ฐ์—๋„ ๋งŽ์€ ๋„์›€์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ €๋Š” FPGA ๊ฐœ๋ฐœ์„ ํ•  ๋•Œ

  • FPGA ๋กœ์ง

  • MCU FW

  • Windows Program

์ด๋ ‡๊ฒŒ 3๊ฐ€์ง€๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๊ฐœ๋ฐœํ•˜๋ฉด ๋””๋ฒ„๊น…๋„ ๋น ๋ฅด๊ณ , ํ˜ผ์ž์„œ๋„ ์‹œ์Šคํ…œ ์ „์ฒด๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณธ ๊ฐ•์˜๋Š” ์ด๋Ÿฌํ•œ ๋ถ€๋ถ„์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ์ƒ์„ธํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋ณธ์ธ๋งŒ์˜ ์†”๋ฃจ์…˜์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ์€ ํฐ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณธ ๊ฐ•์˜๋ฅผ ๊ตฌ๋งคํ•˜๋ฉด ๊ด€๋ จ ์ž๋ฃŒ๋ฅผ ๋ชจ๋‘ ๋ฐ›์•„๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • FPGA RTL ์†Œ์Šค (MCU IP ํฌํ•จ)

  • FW ์†Œ์Šค (Bootloader, Application)

  • Windows Program (Application FW ๋‹ค์šด๋กœ๋“œ, RTL๋กœ ๊ตฌํ˜„ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ณ€๊ฒฝ๋“ฑ)

  • Flash ๋ชจ๋“ˆ (Application fw ์ €์žฅ, ์‚ฌ์šฉ์ž/์‹œ์Šคํ…œ ๋ฐ์ดํ„ฐ ์ €์žฅ) : ๊ฐ•์˜ ๊ตฌ๋งคํ›„ ์ฃผ์†Œ๋ฅผ ์•Œ๋ ค์ฃผ์‹œ๋ฉด ํƒ๋ฐฐ๋กœ ๋ณด๋‚ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๊ฐ•์˜ ์ž๋ฃŒ(์ „์ž๋ฌธ์„œ, pdf)๋Š” ์นดํŽ˜(https://cafe.naver.com/worshippt/179) ์—์„œ ๋ฏธ๋ฆฌ ๋ฐ›์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ•์˜ ์ž๋ฃŒ๋ฅผ ๋จผ์ € ์ฝ์–ด๋ณด์‹œ๋ฉด ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

๋งˆ์ง€๋ง‰์œผ๋กœ ์ƒˆ ๊ฐ•์˜์— ๋Œ€ํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

FPGA์—์„œ ์˜์ƒ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ DDR3 Contolller๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฐ•์˜๊ฐ€ ์ถœ์‹œ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

Xilinx ์‚ฌ์—์„œ ์ œ๊ณตํ•˜๋Š” Memory Interface IP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฒ”์šฉ์œผ๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ Memory Interface๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  ์ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์˜์ƒ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ Frame Buffer๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

๋งŽ์€ ๊ด€์‹ฌ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

 

์ฟ ํฐ ์ฝ”๋“œ ๊ณต์œ ํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

image

 

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

 

 

 

๋Œ“๊ธ€