項(xiàng)目需求
完成對(duì)板上音頻信號(hào)的采集和波形顯示,可以通過(guò)手機(jī)播放音樂(lè)或App產(chǎn)生音頻信號(hào)的方式提供聲音信號(hào)源,通過(guò)板上電路的放大、MCU中ADC的采集以后將波形顯示在OLED屏幕上,可以通過(guò)板上按鍵的操作在兩個(gè)方向(橫軸-時(shí)間;縱軸-幅度)來(lái)擴(kuò)展、壓縮波形的顯示,按鍵的功能可自行定義;
實(shí)現(xiàn)信號(hào)發(fā)生器的功能,能夠產(chǎn)生20KHz以內(nèi)的正弦波、三角波、方波三種常用波形,通過(guò)按鍵的操作能夠?qū)崿F(xiàn)頻率可調(diào)、幅度可調(diào);
能夠通過(guò)Ain管腳測(cè)量外部模擬信號(hào)(0-3.3V,DC-200KHz),并能夠?qū)ν獠康闹芷谛圆ㄐ螠y(cè)量其周期和峰峰值
能夠?qū)Σ杉降男盘?hào)進(jìn)行FFT變換,并在屏幕上顯示其基頻及低次諧波的分量
實(shí)現(xiàn)的思路
因?yàn)槲沂菍?duì)stm32是一個(gè)完全零基礎(chǔ)的的學(xué)生,所以首先就是對(duì)軟件和芯片的學(xué)習(xí),通過(guò)直播課程先對(duì)stm32有一個(gè)大概的了解,對(duì)IDE、Pro等軟件有一個(gè)初步的學(xué)習(xí),然后是對(duì)于原理圖 的學(xué)習(xí),了解做一個(gè)簡(jiǎn)易示波器需要哪些引腳。初步的學(xué)習(xí)了解后就要開(kāi)始上手實(shí)踐,先是要看一些相關(guān)的比如ADC、信號(hào)發(fā)生器的例程,然后仿照例程自己去實(shí)踐做一些工程。有了一點(diǎn)基礎(chǔ)以后就可以開(kāi)始做這個(gè)項(xiàng)目了。
然后項(xiàng)目實(shí)現(xiàn)大概的思路就是:ADC對(duì)模擬信號(hào)采樣、量化->映射到坐標(biāo)軸上形成波形->顯示相關(guān)的參數(shù)->通過(guò)RC低通濾波實(shí)現(xiàn)方波、正弦波、三角波的生成->調(diào)整采樣率占空比等改變波形->FFT變換獲得頻譜。
整體思路是先做一個(gè)一個(gè)模塊,如ADC、信號(hào)發(fā)生、數(shù)據(jù)顯示等,然后整合在一起形成想要的項(xiàng)目,最后對(duì)項(xiàng)目進(jìn)行優(yōu)化調(diào)整。
完成的功能及達(dá)到的性能
完成的功能為對(duì)音頻信號(hào)進(jìn)行采集并形成波形,可以在時(shí)間上擴(kuò)展壓縮波形
實(shí)現(xiàn)信號(hào)發(fā)生器的功能,能夠產(chǎn)生20KHz以內(nèi)的正弦波、三角波、方波三種常用波形,通過(guò)按鍵的操作能夠?qū)崿F(xiàn)頻率可調(diào)
能夠通過(guò)Ain管腳測(cè)量外部模擬信號(hào)
對(duì)采集到的信號(hào)進(jìn)行FFT變換,顯示頻譜
遇到的主要難題
本次項(xiàng)目遇到的最大的難題就是解決y軸自動(dòng)縮放功能,我本來(lái)使用的是固定的y軸(0-5V),有時(shí)候圖形看起來(lái)很難看,受大佬指點(diǎn)然后就準(zhǔn)備做一個(gè)自動(dòng)縮放的y軸,結(jié)果不知道為什么,y軸相關(guān)的數(shù)據(jù)全都顯示不出來(lái)了,這也就是我視頻中沒(méi)有y軸數(shù)據(jù)的原因,開(kāi)始是忘記了改設(shè)置導(dǎo)致浮點(diǎn)數(shù)不能直接printf,更改好設(shè)置后,一直報(bào)錯(cuò)好像意思是Flash內(nèi)存不足,然后我嘗試使用網(wǎng)上的方法一是通過(guò) sprintf 將浮點(diǎn)數(shù)轉(zhuǎn)換成字符串輸出,另一種是分解整數(shù)和小數(shù)部分,分別輸出,結(jié)果都沒(méi)能實(shí)現(xiàn),在我想改回固定y軸之前,板子死機(jī)無(wú)法復(fù)位,就導(dǎo)致了現(xiàn)在的版本,板子死機(jī)無(wú)法復(fù)位的問(wèn)題最終是問(wèn)了硬禾的老師解決的。
還有一個(gè)問(wèn)題就是因?yàn)橹皼](méi)接觸過(guò)stm32,對(duì)于oled屏幕以及按鍵使用不知所措,花費(fèi)了較多的時(shí)間學(xué)習(xí)例程和看別人的做法,然后實(shí)在是對(duì)FFT理解不夠,在FFT花了很多時(shí)間也沒(méi)做出來(lái),后來(lái)參考了別人FFT的部分代碼才能用。
未來(lái)的計(jì)劃建議
因?yàn)闀r(shí)間不足和能力有限,沒(méi)能在規(guī)定時(shí)間內(nèi)完成所有的性能指標(biāo)要求,我計(jì)劃在之后有時(shí)間的時(shí)候盡量將y軸自動(dòng)縮放完善,然后自己編寫(xiě)出符合要求的FFT。
然后通過(guò)這次寒假在家的練習(xí),我從對(duì)單片機(jī)、嵌入式系統(tǒng)一無(wú)所知到現(xiàn)在的初步了解讓我對(duì)于這方面的內(nèi)容產(chǎn)生了極大的興趣,以后我會(huì)在課余時(shí)間多去接觸相關(guān)的內(nèi)容,爭(zhēng)取做出更多有意思有用的東西來(lái)。
我的建議是我感覺(jué)這個(gè)項(xiàng)目老師的課程不夠詳細(xì),兩個(gè)多小時(shí)的課程很多東西都被壓縮了,當(dāng)然也可能是因?yàn)槲一A(chǔ)太差或者是老師要考慮各方面的因素,我希望以后的課程能夠更系統(tǒng)更注重帶我們實(shí)操一些。
總結(jié)
這個(gè)項(xiàng)目極大的豐富了我的寒假生活,是我上大學(xué)以來(lái)為數(shù)不多覺(jué)得收獲蠻大的假期,雖然我沒(méi)能完成所有的項(xiàng)目需求,但是在這過(guò)程中學(xué)習(xí)到的知識(shí)以及對(duì)我實(shí)踐能力的培養(yǎng)讓我受益匪淺,硬禾的老師也是很盡心盡力,我板子死機(jī)的問(wèn)題直接拉了個(gè)群給我解決,總體而言,通過(guò)這次項(xiàng)目我學(xué)到了很多東西,我希望以后也能多參加類似的活動(dòng)來(lái)鍛煉自己,充實(shí)自己的生活。
原文標(biāo)題:北理工亢嘉晨同學(xué)制作的簡(jiǎn)易示波器和FFT分析
文章出處:【微信公眾號(hào):FPGA入門到精通】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
責(zé)任編輯:haq
-
示波器
+關(guān)注
關(guān)注
113文章
6703瀏覽量
189209 -
FFT
+關(guān)注
關(guān)注
15文章
445瀏覽量
60993
原文標(biāo)題:北理工亢嘉晨同學(xué)制作的簡(jiǎn)易示波器和FFT分析
文章出處:【微信號(hào):xiaojiaoyafpga,微信公眾號(hào):電子森林】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
是德MSOX3104G示波器FFT分析與開(kāi)關(guān)電源噪聲診斷

是德示波器FFT功能從電源噪聲到射頻干擾的頻域分析

Keysight是德MSOX3054T示波器FFT頻譜分析在通信領(lǐng)域的深度應(yīng)用

Keysight是德示波器的5個(gè)觸發(fā)設(shè)置與波形分析方法

泰克TBS1052C示波器從基礎(chǔ)波形捕獲到FFT頻譜分析實(shí)戰(zhàn)

普源示波器用FFT功能快速診斷無(wú)人機(jī)電機(jī)驅(qū)動(dòng)故障

泰克TBS1102X示波器FFT功能使用指南

泰克示波器TBS2204B的FFT分析功能設(shè)置指南

如何設(shè)置MSO44泰克示波器FFT功能

普源DS2000系列示波器FFT頻譜分析功能設(shè)置指南

泰克示波器使用指南:采樣頻率與FFT功能設(shè)置詳解

頻域示波器的技術(shù)原理和應(yīng)用場(chǎng)景
記憶示波器的原理和應(yīng)用

半導(dǎo)體參數(shù)分析儀的FFT分析

評(píng)論