年寒假放假時間將近兩個月整,假期在學校學習了四十多天,年前學習時間為18,年后為26天左右,在這期間獨自完成制作一個波形采集、存儲與回放系統,題目要求為2011年全國大學生電子設計競賽專科組波形采集、存儲與回放系統(H題)中所述。
放假前自己是一個近學習STM32不到3個月的菜鳥一個而已,C語言基礎也學的很不扎實,做作品所涉及的基本模塊,例如ADC采集、DMA傳輸、FLASH掉電保護、DAC輸出、通用定時器和高級控制定時器等的運用------自己一無所知,僅僅在學習單片機的時候看了些AD和DA的相關資料和一些簡單的程序,僅此而已。
硬件基礎:開發板為無線電協會所使用的創新開發板,編程環境為KELL4,下載工具為J-LINK或利用串口線下載。
不過到寒假結束時,單通道以做的很穩定,雙通道程序當時寫了,但最后沒在硬件上驗證,下面把自己這段時間內學習的各模塊和做這個作品的思路及設計方案等分享給大家,以便大家借助這個作品來加強對STM32的幾個常用模塊的學習與運用!
程序調試過程中總是問題層出不窮!當然這也是很好的學習平臺!
問題1:
//2月13日 程序出現的問題: 前提條件:信號發生器的幅值為2,頻率為1KHz,直流偏置為1-2v. ADC_channel_11(連接DS18B20)
ADC采集的數據不是太規則,所顯示的波形總是在上升沿處是突然出現一個最低值(零),但是偏置加到1.5-2v時,輸出波形恢復正常。
此外,當換到ADC_Channel_12時偏置降到1v時,現象正常。
究其原因:應該是開發板上的ADC_channel_11(PC1)連接DS18B20上,ADC采集時和18B20進行了通信或其他原因。
解決辦法:ADC采集通道換到ADC_Channel_12。
問題2:
ADC采集時,所加信號的偏置電壓還需要比正常的高一些,否則會出現有一段時間顯示的數據一直為零。也就是ADC采集0-2V的信號時靠近0的部分一直顯示的是0,但是后來不知道為什么后來有恢復正常了?(正常時應該能夠對0-2V之間的信號完美的采集一個周期)
問題3:
5110液晶界面上顯示的頻率值本應該是一個固定不變的值,但不知為什么它卻是一個在1KHz左右波動的值?
本來這幾天想把A、B通道結合起來把發揮部分的功能也實現完,但無奈緊缺信號發生器和示波器,權且暫放一些時間再繼續完善,到時再把這份資料補充完整,不過小弟也非常歡迎志同道和的大俠們多來提些寶貴建議!
飛仔
整個Word文檔包含了整個制作過程中各模塊的學習筆記整理、題目分析、方案選取及最后的制作效果!希望能夠對大家提供些幫助!
波形采集、存儲與回放系統.rar
(1.71 MB, 下載次數: 554)
2014-12-21 01:32 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|