์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ฑ„๋„ํ†ก ์•„์ด์ฝ˜

STM32 FFT ๊ตฌํ˜„

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

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

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

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

Verilog, Fpga ๊ฐ•์˜๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Verilog, FPGA ๊ฐ•์˜๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

โ€‹์ฒ˜์Œ์—๋Š” ์ด์ •๋„๊นŒ์ง€ ํ• ๊ฑฐ๋ผ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ•˜์˜€๋Š”๋ฐ,
๋งŽ์€ ๋ถ„๋“ค์ด ๋„์›€์ฃผ์‹œ๊ณ  ํ˜ธ์‘ํ•ด ์ฃผ์…”์„œ
์—ฌ๊ธฐ๊นŒ์ง€ ์˜ฌ ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์ œ ๊ฐ•์˜์— ๊ด€์‹ฌ ๊ฐ€์ ธ์ฃผ์‹  ๋ชจ๋“  ๋ถ„๋“ค๊ป˜ ์ง„์‹ฌ์œผ๋กœ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๊ฐ•์˜ ํ™œ์šฉํŒ์— ๋Œ€ํ•ด์„œ ๊ฐ„๋‹จํžˆ ์„ค๋ช…๋“œ๋ฆฝ๋‹ˆ๋‹ค.

1. ๊ฐ•์˜๋ฅผ ๋“ฃ๊ธฐ ์ „์— Verilog ๊ธฐ๋ณธ์ ์ธ ๋ฌธ๋ฒ•์„ ์ˆ™์ง€ํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.
๊ฐ•์˜์—์„œ ๋ฌธ๋ฒ•์— ๋Œ€ํ•ด์„œ๋Š” ์„ค๋ช…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์ธ ๋ฌธ๋ฒ•์„ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ์ƒ๊ฐํ•˜๊ณ  ๊ฐ•์˜๊ฐ€ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. ๋ฌธ๋ฒ•์€ ๊ธฐ๋ณธ์ ์ธ ๊ฒƒ๋“ค๋งŒ ์•Œ๊ณ  ์žˆ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค (reg, wire, always, module, ๋“ฑ๋“ฑ)

โ€‹2. ์ฒ˜์Œ ์‹œ์ž‘์€ "Verilog๋ฅผ ์ด์šฉํ•œ FPGA ํ™œ์šฉ"๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.
์ด ๊ฐ•์˜์•ˆ์— ๋งŽ์€ ๋‚ด์šฉ๋“ค์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
2~3๋ฒˆ ์ •๋„ ์ •๋…ํ•˜์‹œ๋ฉด์„œ ์ง์ ‘ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•˜๊ณ  simulation์œผ๋กœ ๊ฒ€์ฆํ•˜๊ณ , ๋ณด๋“œ์— ์˜ฌ๋ ค์„œ ํ™•์ธํ•ด ๋ณด์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.
verilog, fpga๋ฅผ ๋ฐฐ์šฐ๋ ค๋ฉด ๋ˆˆ์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๊ฒƒ์€ ์•„๋ฌด ์†Œ์šฉ์ด ์—†์Šต๋‹ˆ๋‹ค.
์ €๋Š” ์ด ๊ฐœ๋ฐœ๊ฒฝ๋ ฅ์ด 25๋…„์—, verilog, fpga๋ถ„์•ผ์—์„œ๋Š” 20๋…„ ์ •๋„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์ง€๊ธˆ๋„ i2c contoller ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ์ˆ˜์‹ญ๋ฒˆ ๋„˜๊ฒŒ ์ฝ”๋”ฉํ•˜๊ณ  simulation ๊ฒ€์ฆํ•˜๊ณ  ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ๊ฑฐ์น˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
๊ฐ•์˜ ์†Œ๊ฐœ : https://cafe.naver.com/worshippt/266

3. "Verilog๋ฅผ ์ด์šฉํ•œ FPGA ํ™œ์šฉ ๊ธฐ์ดˆ" ํŽธ์€ ๋ถ€๋ก์œผ๋กœ ํ™œ์šฉํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.
ํ•œ๋ฒˆ์ฏค์€ ์•„์…”์•ผ ํ•  ๋‚ด์šฉ๋“ค๋กœ ๊ตฌ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋ณธ ๊ฐ•์˜๋Š” ์ถ”ํ›„ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์—…๋ฐ์ดํŠธํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
๊ฐ•์˜ ์†Œ๊ฐœ : https://cafe.naver.com/worshippt/265

4. FPGA MCU ํฌํŒ… ๊ฐ•์˜๋Š” ๊ฐœ๋ฐœ์ž์˜ ์Šคํ‚ฌ์„ ํ•œ๋‹จ๊ณ„ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.
์ €๋Š” ์ˆ˜๋งŽ์€ ํ”„๋กœ์ ํŠธ์— ๋ณธ ๊ฐ•์˜์˜ ๋‚ด์šฉ์„ ์ ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.
๋กœ์ง์„ ๋””๋ฒ„๊น…ํ•˜๋Š” ์šฉ๋„๋กœ๋„ ์‚ฌ์šฉ๋˜๊ณ , ๋ณ„๋„์˜ MCU๋ฅผ ์™ธ๋ถ€์— ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ๋งค์šฐ ์œ ์šฉํ•œ solution์ž…๋‹ˆ๋‹ค.
๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์ž์œ ๋กญ๊ฒŒ fpga ๋‚ด๋ถ€์˜ Memory ๋“ค์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐ•์˜ ์†Œ๊ฐœ : https://cafe.naver.com/worshippt/268

5. MicroBlaze ๊ฐ•์˜๋Š” 2ํŽธ์˜ ๊ฐ•์˜ ๋‚ด์šฉ์„ ์ œ๋Œ€๋กœ ์ดํ•ด ํ•œ๋‹ค๋ฉด ๊ฑฐ์˜ ๋ชจ๋“  ๋‚ด์šฉ์„ ์•Œ๊ณ  ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
MicroBlaze๋Š” MCU ํฌํŒ…์— ๋น„ํ•ด์„œ ์„ฑ๋Šฅ์ด ๋งค์šฐ ์ข‹์Šต๋‹ˆ๋‹ค.
๋ฐ˜๋ฉด์— ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์ ์šฉํ•˜๋Š” ๋ถ€๋ถ„์— ์•ฝ๊ฐ„์˜ ์ œ์•ฝ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.
MCU ํฌํŒ…, MicroBlaze 2๊ฐœ๋ฅผ ๋ชจ๋‘ ์•Œ๊ณ  ์žˆ์œผ๋ฉด ํ”„๋กœ์ ํŠธ์— ๋”ฐ๋ผ์„œ ์„ ํƒํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐ€๋ณ๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ์—๋Š” MCU ํฌํŒ…์„ ์‚ฌ์šฉํ•˜๊ณ , ์„ฑ๋Šฅ์ด ์ข‹์€ ๊ฒƒ์ด ํ•„์š”ํ•˜๋ฉด MicroBlaze๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
๊ฐ•์˜ ์†Œ๊ฐœ-1 : https://cafe.naver.com/worshippt/269
๊ฐ•์˜ ์†Œ๊ฐœ-2 : https://cafe.naver.com/worshippt/270

6. DDR Controller ๊ฐ•์˜๋Š” Image Data๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ„์•ผ์— ํ•„์š”ํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
Image Data๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Frame Buffer๊ฐ€ ํ•„์š”ํ•˜๊ณ , Frame Buffer๋Š” ๋Œ€๋ถ€๋ถ„ DDR Memory๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
๋ณธ ๊ฐ•์˜๋Š” DDR Controller ์ƒ์„ฑ๋ถ€ํ„ฐ Framer Buffer๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋‚ด์šฉ๊นŒ์ง€ ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐ•์˜ ์†Œ๊ฐœ : https://cafe.naver.com/worshippt/267

ํ–ฅํ›„์—๋Š” ๋” ์ข‹์€ ๋‚ด์šฉ์œผ๋กœ ์ฐพ์•„๋ต ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
์ €์˜ ๊ฐ•์˜์— ๊ด€์‹ฌ ๊ฐ€์ ธ ์ฃผ์‹  ๋ถ„๋“ค๊ป˜ ๋‹ค์‹œํ•œ๋ฒˆ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

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

๋Œ“๊ธ€