国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

解析簡易示波器和信號發生器的實現

電子森林 ? 來源:電子森林 ? 作者:電子森林 ? 2021-04-01 09:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本項目為南京工程學院劉昕禹同學完成并分享的作品

“簡易示波器DIY套件V2.0 - 基于STM32G031最小系統模塊”

因為本人也沒學幾天,如有錯誤,歡迎指正。

已經實現功能:

ADC模擬示波器,可以實現調節頻率,單位電壓,顯示電壓范圍和選擇頻道(麥克風和Ain管腳)。

模擬函數發生,在Aux管腳可以實現正弦波、方波,并且可以調節頻率。(今年大二,還沒有學到模電,不知道怎么算三角波的占空比來實現信號的轉換,理論上添加占空比數組后可以實現方波)。

可以實現同時輸出波形(Aux)和接受波形的輸入(Ain)。

未實現功能:

快速傅里葉變換(額,這個真不會,從網上復制來的FFT代碼運行不起來,調用Cortex-M0的CMSIS DSP結果空間不足,使用之前Jack的FFT相關代碼,也出現空間不足的情況。應該是使用了HAL庫導致占用空間過大所導致的。寫了兩天代碼,不想通過寄存器來實現,就算了吧,能退就退吧,我已經不想搞了)。

實現功能注意事項:

在這里就說說我遇到的坑吧。

空間不足,這類MPU的RAM的全局變量別開太大。(如果不添加FFT代碼,目前代碼可以實現局部刷新,提高顯示速度)。

如果追求高刷新速度,建議使用局部刷新,經測試,局部刷新相對于全局刷新速度更快。

中斷的合理安排。這類程序的設計需要添加多級中斷,注意中斷的優先級和中斷內的代碼的安排。

對于如果想要調用CMSIS來實現FFT的同學,希望注意空間的合理安排,或者自己來搞這里頭的代碼(我是真不想弄了,這兩天讓我心力憔悴)。

幾個對開發板的建議吧:

開發板總體質量不錯也挺小巧。

MPU的SPI總線和OLED的SPI總線對接(額,活動內頁面說已經是對接的了,但是實際原理圖和引腳測試結果都表明沒有對接,望修改)。

能不能換用空間更大的MPU,就像我我添加HAL_UART的庫后,代碼一下子大了一半。

通過上位機來實現MPU進入下載模式,我看該該CH340那RTS,CTS沒有接入開發板,通過置位這兩個腳來實現開發板的上電和Boot0的拉低。

Reset按下后能夠使得OLED(或整個開發板)的斷電,有些時候因為傳輸給OLED的信號存在問題,重新初始化OLED是無效的,需要重新上電。

實現的思路:

先說簡單的吧,信號發生,因為該模塊在Aux上級加了濾波,所以可以調節信號的占空比來生成正弦波,我是通過調節預分頻器來實現波形頻率的變化(額,這個說實話我也不太懂,我也是看了網上的內容才知道的,就不多說了,以免誤導。同時因為放假前嫌示波器太重了,帶起來不方便,就沒帶回家了,我現在還不太清楚預分頻數值和頻率的關系,所以代碼上就寫了預分頻的數值,希望知道的人能告訴我一下,謝謝)。

示波器,通過ADC中斷來實現對數值的寫入,寫入后對屏幕進行滾動輸出。

這段代碼中存在一個問題,就是由于中斷的性質,我們在上一屏和下一屏之間是不太推薦去采樣的,所以會導致在快速刷新的時候,上一屏和下一屏畫面不太連續(說實話也看不太出來,但是理論上是這樣子的)。

由于屏幕分辨率的原因,對于方波這類上升沿和下降沿變化很快的信號他的上升沿和下降沿顯示就不太夠,就會出現上升沿和下降沿是一個點來表示的情況,但是可以通過算法來調節[1]。

達到的性能:

實現10us、20us、50us、0.1ms、0.5ms、2.5ms的采樣速度,并且支持僅調節源代碼里頭的數組不改變函數內容來實現更多的采樣率。

實現1.0v、0.8v、0.4v、0.1v的電壓間隔,可以調節0-5v內電壓顯示范圍,并且支持僅調節源代碼里頭的數組不改變函數內容來實現更多的電壓間隔。

在較高電壓時以x.x來顯示,在低電壓時以.xx來顯示,同時改變電壓間隔該功能仍能復現。

支持局部刷新,來實現更高的顯示速率。

函數發生,目前因為按鍵的限制,預分頻在0-999內調節,但是可以調節源代碼里頭的變量大小的限制變量來實現更多的預分頻即頻率。

函數發生,支持添加占空比表來實現更多不同的函數發生。

源代碼和以編譯文件:

注意事項:

請勿修改CubeMX的時鐘,這會導致與實際標稱值對應不上。

已禁用UART端口,如有需要望啟用。

KEIL MDK版本,請對應版本打開。

補充:

經過測試,HAL庫在不添加管腳、中斷,在僅有初始化的時候,添加cortex-m0 dsp庫,空間不夠,添加zerofft也存在空間不夠的情況。不排除是本人配置存在的問題,希望了解的大佬,不吝賜教,謝謝。

看了Jack大佬直播的視頻,找到了有關[1]問題的解決方法,可以通過插值來實現波形的連續。但是,在下文提交的代碼中,若采用插值的方法,面對Aux輸出正弦波,Ain輸入的情況,由于分辨率的原因,會出現一團糊的情況。不排除本人代碼水平問題,希望了解的大佬,不吝賜教,謝謝。

波形的生成,經測試,調節預分頻的大小同時保持占空比的不變可以調節波形的頻率,但是,由于占空比的計算要使用專門的算法,不同的幅值對應某一時刻的占空比是不同的,故需要保存多個碼表來實現不同的幅值。[提交版已實現]

由于fft代碼占用空間太大,同時由于水平有限,無法實現,提交版已經注釋有關fft代碼(引用后可能會導致堆棧的問題,導致屏幕花屏),但是仍保留代碼在里面同時fft界面也已預留,水平較強的同學可以試一試。

去除掉fft代碼后,空間剩余好多,就添加幾組幅值不同的正弦波函數占空比表以及重新啟用了局部刷新的功能(經測試,局部刷新相對于全局刷新有肉眼上速度的提升)。

追加:Total RO Size (Code + RO Data) 21856 ( 21.34kB)

Total RW Size (RW Data + ZI Data) 6960 ( 6.80kB)

Total ROM Size (Code + RO Data + RW Data) 21924 ( 21.41kB) 可以看到,RAM空間快不足了,可能提交的這份代碼有點難以實現,如果要用的話可以手動關閉局部刷新,可以省出來1k的RAM。

貼幾張圖吧:

o4YBAGBlKJCAGaZaAAfhhGGehQ4749.png

o4YBAGBlKL6AO8dMABMT44cCCJc383.png

pIYBAGBlKYyATg3lABG-bcDqAu0606.png

o4YBAGBlKOOAIrw3ABQh6T_cR2Y826.png

pIYBAGBlKT6AGShVABN6ZkO9x38101.png

update:添加波形幅值調節

pIYBAGBlKReAMQ2lAA2cGOYpznk349.png

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 示波器
    +關注

    關注

    113

    文章

    7075

    瀏覽量

    196082
  • OLED
    +關注

    關注

    121

    文章

    6358

    瀏覽量

    233656
  • adc
    adc
    +關注

    關注

    100

    文章

    7511

    瀏覽量

    555987

原文標題:簡易示波器和信號發生器的實現

文章出處:【微信號:xiaojiaoyafpga,微信公眾號:電子森林】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    函數信號發生器和任意波形信號發生器區別詳解

    函數發生器提供了一個預置列表,里面列出了它可以生成的波形或碼型。 在函數發生器中,用戶可以更改頻率、幅度和偏移等波形參數,還可添加簡單的失真。 任意波形發生器更為復雜,能夠仿真真實世界中的信號
    的頭像 發表于 02-09 16:24 ?149次閱讀
    函數<b class='flag-5'>信號</b><b class='flag-5'>發生器</b>和任意波形<b class='flag-5'>信號</b><b class='flag-5'>發生器</b>區別詳解

    智能化的函數任意波形信號發生器 信號發生器品牌 任意波形信號發生器

    信號發生器
    知道點啥
    發布于 :2026年01月30日 10:26:14

    可編程的多路脈沖信號發生器 高速脈沖信號發生器 1hz脈沖信號發生器

    信號發生器
    知道點啥
    發布于 :2026年01月30日 10:24:38

    雙通道函數信號發生器 標準時間間隔發生器

    信號發生器
    知道點啥
    發布于 :2026年01月30日 10:18:51

    三角波方波正弦波函數發生器 標準信號發生器 dds函數信號發生器

    信號發生器
    知道點啥
    發布于 :2026年01月28日 19:27:31

    dds功率放大器 數字函數信號發生器 智能信號發生器

    信號發生器
    知道點啥
    發布于 :2026年01月28日 19:23:28

    數字延遲脈沖發生器 脈沖延遲信號發生器 多通道脈沖信號發生器

    信號發生器
    jf_47371611
    發布于 :2026年01月26日 13:54:25

    信號發生器示波器區別

    信號發生器示波器是電子測試和測量中不可或缺的兩種設備。雖然它們在功能和用途上有很大的區別,但在電子工程師和技術人員的日常工作中,它們常常是相輔相成的。本文將探討這兩種設備的基本功能、應用場景及其
    的頭像 發表于 01-05 17:47 ?553次閱讀
    <b class='flag-5'>信號</b><b class='flag-5'>發生器</b>和<b class='flag-5'>示波器</b>區別

    信號發生器的構成和工作原理

    信號發生器作為現代電子測試與測量領域中的關鍵設備,其精密的構造和巧妙的工作原理使之能夠產生各種所需的電信號。本文將深入探討信號發生器的構成及
    的頭像 發表于 11-13 11:45 ?401次閱讀
    <b class='flag-5'>信號</b><b class='flag-5'>發生器</b>的構成和工作原理

    微波信號發生器介紹

    信號發生器
    西安同步電子科技有限公司
    發布于 :2025年11月06日 16:01:44

    可延遲信號發生器介紹

    gps信號發生器
    西安同步電子科技有限公司
    發布于 :2025年10月28日 10:36:45

    高頻信號發生器怎么用

    信號發生器
    西安同步電子科技有限公司
    發布于 :2025年10月21日 17:48:58

    信號發生器選型指南:函數、射頻與任意波形的差異與適用場景

    在現代電子測試與測量領域,信號發生器是不可或缺的工具。面對市場上函數發生器、射頻信號發生器與任意波形發生
    的頭像 發表于 09-23 18:01 ?1338次閱讀
    <b class='flag-5'>信號</b><b class='flag-5'>發生器</b>選型指南:函數、射頻與任意波形的差異與適用場景

    看看我們維修工程師新修了哪些信號發生器#信號發生器#修理儀器

    信號發生器
    安泰儀器維修
    發布于 :2025年07月10日 17:32:48