色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    6279

    瀏覽量

    185614
  • OLED
    +關注

    關注

    119

    文章

    6215

    瀏覽量

    224588
  • adc
    adc
    +關注

    關注

    99

    文章

    6531

    瀏覽量

    545408

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

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

收藏 人收藏

    評論

    相關推薦

    信號發生器如何進行通訊設置#信號發生器#通訊設置#示波器#網絡分析儀#示波器維修

    信號發生器
    安泰儀器維修
    發布于 :2024年09月11日 17:44:09

    labview控制示波器信號發生器

    ,但是沒有調用過儀器,我想用軟件實現控制信號發生器發出雙脈沖波形,示波器自動抓取,信號發生器不要
    發表于 07-06 15:13

    信號發生器頻率怎么調

    信號發生器是一種電子設備,用于產生具有特定頻率、幅度和波形的電信號。這些信號可以用于測試和校準各種電子設備,如放大器、濾波、振蕩
    的頭像 發表于 06-03 11:06 ?2071次閱讀

    信號發生器的sync什么意思

    允許多個信號發生器產生同步信號,以實現精確的時間對齊和相位鎖定。本文將詳細介紹信號發生器的同步功
    的頭像 發表于 06-03 10:59 ?3530次閱讀

    信號發生器的使用方法 信號發生器的幅值是有效值嗎

    信號發生器是一種電子設備,用于生成具有特定特性的電信號,如正弦波、方波、鋸齒波等。信號發生器廣泛應用于測試和測量領域,如電子電路設計、通信系
    的頭像 發表于 06-03 10:56 ?3276次閱讀

    示波器內置任意波形發生器的作用

    , AWG)的功能逐漸受到工程師和技術人員的青睞。本文將詳細解析示波器內置任意波形發生器的作用、特點、使用方法以及應用場景,旨在為讀者提供全面的了解和指導。
    的頭像 發表于 05-29 17:10 ?915次閱讀

    任意波形發生器示波器怎么連接

    在電子測試領域中,任意波形發生器示波器是兩種非常重要的測試設備。任意波形發生器能夠產生多種波形信號,用于模擬各種實際環境中的信號;而
    的頭像 發表于 05-15 15:38 ?1107次閱讀

    函數發生器信號發生器和波形發生器的區別

    在電子測試和測量領域,函數發生器信號發生器和波形發生器都是重要的測試儀器,它們各自具有獨特的功能和應用場景。本文將詳細介紹這三種發生器的原
    的頭像 發表于 05-15 14:49 ?1719次閱讀

    函數發生器示波器的區別

    在電子工程領域中,函數發生器示波器是兩種不可或缺的工具。它們各自在電子信號的產生、觀測和分析中發揮著重要的作用。然而,盡管它們都與電子信號有關,但函數
    的頭像 發表于 05-15 11:46 ?999次閱讀

    信號發生器信號示波器的區別

    在電子測量和測試領域,信號發生器信號示波器是兩種不可或缺的工具。它們各自在信號的產生、分析和測試中扮演著重要的角色。然而,盡管兩者都與
    的頭像 發表于 05-10 15:51 ?1627次閱讀

    示波器信號發生器怎么連接

    首先將信號發生器示波器分別與電源連接,并確保接地線正確連接,以確保有效的工作和安全性。
    的頭像 發表于 05-08 16:34 ?3745次閱讀

    基于FPGA 的DDS正弦信號發生器的設計和實現

    電子發燒友網站提供《基于FPGA 的DDS正弦信號發生器的設計和實現.pdf》資料免費下載
    發表于 03-24 09:34 ?8次下載

    proteus信號發生器怎么設置方波

    ,用于模擬和調試電子電路。它具有豐富的虛擬儀器庫,包括示波器信號發生器、函數發生器等。Proteus信號
    的頭像 發表于 02-23 16:44 ?1w次閱讀

    信號發生器是干什么用的 信號發生器示波器怎么連接

    信號發生器是一種用于產生各種電信號的設備,它在電子設備測試、電路調試、教學實驗等領域得到廣泛應用。信號發生器可以產生不同頻率、幅度、波形和相
    的頭像 發表于 01-30 10:08 ?3093次閱讀

    任意波形發生器信號幅值和示波器不一致是什么原因

    任意波形發生器(AWG)和示波器是兩種常用的信號源和測量工具,它們在電子測量和測試中都發揮著重要的作用。
    的頭像 發表于 01-29 17:14 ?2570次閱讀
    主站蜘蛛池模板: 色悠久久久久综合网小说| 欧美一区二区三区激情视频| 超碰v| AV多人爱爱XXx| yellow在线中文| 国产成人免费片在线视频观看| 国产成人免费在线观看| 免费看www视频| 日本高清加勒比| 上课失禁丨vk| 99免费观看视频| 国产AV高清怡春院| 花蝴蝶高清在线视频免费观看 | 东北小伙FREECHINESE野外| 国产免费69成人精品视频| 久久才是精品亚洲国产| 蜜芽TV影院在线视频| 玩两个少妇女邻居| 一道精品视频一区二区| 无限资源在线看影院免费观看 | 国产毛片女人高潮叫声| 台湾18成人影院| 伊人久久大香线蕉综合99| 国产亚洲一区在线| 美女夫妻内射潮视频| 四房播播开心五月| 中文字幕99香蕉在线| 99免费在线| 男人天堂2018亚洲男人天堂| 性色欲情网站IWWW| 2022久久精品国产色蜜蜜麻豆 | 亚洲免费综合色视频| 亚洲熟女丰满多毛XXXXX| 草莓西瓜樱桃香蕉直播视频| 欧美在线视频一区| 草莓视频免费看| 色欲人妻AAAAAAA无码| 国产乱码精品一区二区三区四川| 蜜桃视频无码区在线观看| 2012中文字幕在线动漫电影| 国产精品女上位好爽在线短片|