STM32示波器 信号发生器
關(guān)于stm32的示波器,網(wǎng)上以經(jīng)有很多了。這里還是想把自己的設(shè)計思想發(fā)表出來。這個項目已經(jīng)準備了很久。這里首先要感謝以前的團隊,非常感覺陳師和覃總兩位經(jīng)驗豐富的嵌入式工程師,獲得了不少多方面的考慮。如果不是工作調(diào)整等原因,很有可能會出產(chǎn)品。但最后沒有做完深感遺憾。這里發(fā)表下我的設(shè)計流程,希望能給做示波器的朋友有一定的幫助。也是讓自己對此項目的一個總結(jié)。
?
本示波器有效測量頻率0.1 ~ 100KHz
雙通道
集成信號發(fā)生器
時間軸每格 1,2,5遞增范圍:2us ~ 1s
時間軸每屏12格
硬件結(jié)構(gòu):
???????? ? 雙通道。
?(設(shè)計擴展外部高速AD,上述原因沒能得以完成)
軟件設(shè)計:
設(shè)計思想
整個的數(shù)據(jù)流程如下:
?
?
數(shù)據(jù)采樣分為三個部分:
在這之間以20us為例:
20us每格 * 12格 = 240us每屏。
采樣率為1m也就是1us只可以采樣到1個數(shù)據(jù),上面提到了屏是320寬。
所以在這種情況下,1個數(shù)據(jù)在顯示屏會對應(yīng)1個或幾個點。
???????? 因此在2~20us之間都用最大采樣率1MHz采樣。
???????? 采用連續(xù)采樣模式。
?
在這之間的時間段中,只要采樣周期調(diào)整和所選時間軸相同,就可以采樣點與屏上的點一一對應(yīng)。
采用定時器觸發(fā)采樣模式。
?
參考了海太科等品牌的示波器,在這種低速情況下在屏上循環(huán)顯示(顯示屏收尾相接)。
同樣采用定時器觸發(fā)采樣模式。
?
?
數(shù)據(jù)解析:
在獲得采樣數(shù)據(jù)后的數(shù)據(jù)參數(shù)的獲得就比較簡單了。
這里需要提的就是采樣點與顯示點的對應(yīng)關(guān)系:
?
在中速,低速采樣:
采樣點顯示點一一對應(yīng)。
?
在高速采樣時:
不管時間軸為多少采樣周期都是1us;
采樣點與顯示點的對應(yīng)關(guān)系為 (320屏寬)/(時間軸 * 12格 / 1us)
?
低速采樣不進行觸發(fā),因為是循環(huán)顯示。
在高速和中速采樣 三倍屏幕的數(shù)據(jù),與觸發(fā)線比較獲得匹配的一段數(shù)據(jù)進行顯示。
?
?
信號發(fā)生器:
這部分就很簡單了,先計算出一個周期的波形放在數(shù)組中,用DMA循環(huán)更新DA就可以了。
?
顯示:
這部分就直接上圖吧:
?
?
?
?
這里兩段視屏:
http://www.tudou.com/programs/view/xhzx85TF-Is/
http://www.tudou.com/programs/view/-GiTeVanFhk/
轉(zhuǎn)載于:https://www.cnblogs.com/hiker-blogs/archive/2013/01/05/2846175.html
總結(jié)
以上是生活随笔為你收集整理的STM32示波器 信号发生器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hdu 1325 Is It A T
- 下一篇: 打造自己的分布式搜索引擎底层架构(非Lu