一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

解析簡(jiǎn)易示波器和信號(hào)發(fā)生器的實(shí)現(xiàn)

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

掃碼添加小助手

加入工程師交流群

本項(xiàng)目為南京工程學(xué)院劉昕禹同學(xué)完成并分享的作品

“簡(jiǎn)易示波器DIY套件V2.0 - 基于STM32G031最小系統(tǒng)模塊”

因?yàn)楸救艘矝](méi)學(xué)幾天,如有錯(cuò)誤,歡迎指正。

已經(jīng)實(shí)現(xiàn)功能:

ADC模擬示波器,可以實(shí)現(xiàn)調(diào)節(jié)頻率,單位電壓,顯示電壓范圍和選擇頻道(麥克風(fēng)和Ain管腳)。

模擬函數(shù)發(fā)生,在Aux管腳可以實(shí)現(xiàn)正弦波、方波,并且可以調(diào)節(jié)頻率。(今年大二,還沒(méi)有學(xué)到模電,不知道怎么算三角波的占空比來(lái)實(shí)現(xiàn)信號(hào)的轉(zhuǎn)換,理論上添加占空比數(shù)組后可以實(shí)現(xiàn)方波)。

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

未實(shí)現(xiàn)功能:

快速傅里葉變換(額,這個(gè)真不會(huì),從網(wǎng)上復(fù)制來(lái)的FFT代碼運(yùn)行不起來(lái),調(diào)用Cortex-M0的CMSIS DSP結(jié)果空間不足,使用之前Jack的FFT相關(guān)代碼,也出現(xiàn)空間不足的情況。應(yīng)該是使用了HAL庫(kù)導(dǎo)致占用空間過(guò)大所導(dǎo)致的。寫了兩天代碼,不想通過(guò)寄存器來(lái)實(shí)現(xiàn),就算了吧,能退就退吧,我已經(jīng)不想搞了)。

實(shí)現(xiàn)功能注意事項(xiàng):

在這里就說(shuō)說(shuō)我遇到的坑吧。

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

如果追求高刷新速度,建議使用局部刷新,經(jīng)測(cè)試,局部刷新相對(duì)于全局刷新速度更快。

中斷的合理安排。這類程序的設(shè)計(jì)需要添加多級(jí)中斷,注意中斷的優(yōu)先級(jí)和中斷內(nèi)的代碼的安排。

對(duì)于如果想要調(diào)用CMSIS來(lái)實(shí)現(xiàn)FFT的同學(xué),希望注意空間的合理安排,或者自己來(lái)搞這里頭的代碼(我是真不想弄了,這兩天讓我心力憔悴)。

幾個(gè)對(duì)開發(fā)板的建議吧:

開發(fā)板總體質(zhì)量不錯(cuò)也挺小巧。

MPU的SPI總線和OLED的SPI總線對(duì)接(額,活動(dòng)內(nèi)頁(yè)面說(shuō)已經(jīng)是對(duì)接的了,但是實(shí)際原理圖和引腳測(cè)試結(jié)果都表明沒(méi)有對(duì)接,望修改)。

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

通過(guò)上位機(jī)來(lái)實(shí)現(xiàn)MPU進(jìn)入下載模式,我看該該CH340那RTS,CTS沒(méi)有接入開發(fā)板,通過(guò)置位這兩個(gè)腳來(lái)實(shí)現(xiàn)開發(fā)板的上電和Boot0的拉低。

Reset按下后能夠使得OLED(或整個(gè)開發(fā)板)的斷電,有些時(shí)候因?yàn)閭鬏斀oOLED的信號(hào)存在問(wèn)題,重新初始化OLED是無(wú)效的,需要重新上電。

實(shí)現(xiàn)的思路:

先說(shuō)簡(jiǎn)單的吧,信號(hào)發(fā)生,因?yàn)樵撃K在Aux上級(jí)加了濾波,所以可以調(diào)節(jié)信號(hào)的占空比來(lái)生成正弦波,我是通過(guò)調(diào)節(jié)預(yù)分頻器來(lái)實(shí)現(xiàn)波形頻率的變化(額,這個(gè)說(shuō)實(shí)話我也不太懂,我也是看了網(wǎng)上的內(nèi)容才知道的,就不多說(shuō)了,以免誤導(dǎo)。同時(shí)因?yàn)榉偶偾跋邮静ㄆ魈亓?,帶起?lái)不方便,就沒(méi)帶回家了,我現(xiàn)在還不太清楚預(yù)分頻數(shù)值和頻率的關(guān)系,所以代碼上就寫了預(yù)分頻的數(shù)值,希望知道的人能告訴我一下,謝謝)。

示波器,通過(guò)ADC中斷來(lái)實(shí)現(xiàn)對(duì)數(shù)值的寫入,寫入后對(duì)屏幕進(jìn)行滾動(dòng)輸出。

這段代碼中存在一個(gè)問(wèn)題,就是由于中斷的性質(zhì),我們?cè)谏弦黄梁拖乱黄林g是不太推薦去采樣的,所以會(huì)導(dǎo)致在快速刷新的時(shí)候,上一屏和下一屏畫面不太連續(xù)(說(shuō)實(shí)話也看不太出來(lái),但是理論上是這樣子的)。

由于屏幕分辨率的原因,對(duì)于方波這類上升沿和下降沿變化很快的信號(hào)他的上升沿和下降沿顯示就不太夠,就會(huì)出現(xiàn)上升沿和下降沿是一個(gè)點(diǎn)來(lái)表示的情況,但是可以通過(guò)算法來(lái)調(diào)節(jié)[1]。

達(dá)到的性能:

實(shí)現(xiàn)10us、20us、50us、0.1ms、0.5ms、2.5ms的采樣速度,并且支持僅調(diào)節(jié)源代碼里頭的數(shù)組不改變函數(shù)內(nèi)容來(lái)實(shí)現(xiàn)更多的采樣率。

實(shí)現(xiàn)1.0v、0.8v、0.4v、0.1v的電壓間隔,可以調(diào)節(jié)0-5v內(nèi)電壓顯示范圍,并且支持僅調(diào)節(jié)源代碼里頭的數(shù)組不改變函數(shù)內(nèi)容來(lái)實(shí)現(xiàn)更多的電壓間隔。

在較高電壓時(shí)以x.x來(lái)顯示,在低電壓時(shí)以.xx來(lái)顯示,同時(shí)改變電壓間隔該功能仍能復(fù)現(xiàn)。

支持局部刷新,來(lái)實(shí)現(xiàn)更高的顯示速率。

函數(shù)發(fā)生,目前因?yàn)榘存I的限制,預(yù)分頻在0-999內(nèi)調(diào)節(jié),但是可以調(diào)節(jié)源代碼里頭的變量大小的限制變量來(lái)實(shí)現(xiàn)更多的預(yù)分頻即頻率。

函數(shù)發(fā)生,支持添加占空比表來(lái)實(shí)現(xiàn)更多不同的函數(shù)發(fā)生。

源代碼和以編譯文件:

注意事項(xiàng):

請(qǐng)勿修改CubeMX的時(shí)鐘,這會(huì)導(dǎo)致與實(shí)際標(biāo)稱值對(duì)應(yīng)不上。

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

KEIL MDK版本,請(qǐng)對(duì)應(yīng)版本打開。

補(bǔ)充:

經(jīng)過(guò)測(cè)試,HAL庫(kù)在不添加管腳、中斷,在僅有初始化的時(shí)候,添加cortex-m0 dsp庫(kù),空間不夠,添加zerofft也存在空間不夠的情況。不排除是本人配置存在的問(wèn)題,希望了解的大佬,不吝賜教,謝謝。

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

波形的生成,經(jīng)測(cè)試,調(diào)節(jié)預(yù)分頻的大小同時(shí)保持占空比的不變可以調(diào)節(jié)波形的頻率,但是,由于占空比的計(jì)算要使用專門的算法,不同的幅值對(duì)應(yīng)某一時(shí)刻的占空比是不同的,故需要保存多個(gè)碼表來(lái)實(shí)現(xiàn)不同的幅值。[提交版已實(shí)現(xiàn)]

由于fft代碼占用空間太大,同時(shí)由于水平有限,無(wú)法實(shí)現(xiàn),提交版已經(jīng)注釋有關(guān)fft代碼(引用后可能會(huì)導(dǎo)致堆棧的問(wèn)題,導(dǎo)致屏幕花屏),但是仍保留代碼在里面同時(shí)fft界面也已預(yù)留,水平較強(qiáng)的同學(xué)可以試一試。

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

追加: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空間快不足了,可能提交的這份代碼有點(diǎn)難以實(shí)現(xiàn),如果要用的話可以手動(dòng)關(guān)閉局部刷新,可以省出來(lái)1k的RAM。

貼幾張圖吧:

o4YBAGBlKJCAGaZaAAfhhGGehQ4749.png

o4YBAGBlKL6AO8dMABMT44cCCJc383.png

pIYBAGBlKYyATg3lABG-bcDqAu0606.png

o4YBAGBlKOOAIrw3ABQh6T_cR2Y826.png

pIYBAGBlKT6AGShVABN6ZkO9x38101.png

update:添加波形幅值調(diào)節(jié)

pIYBAGBlKReAMQ2lAA2cGOYpznk349.png

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 示波器
    +關(guān)注

    關(guān)注

    113

    文章

    6703

    瀏覽量

    189207
  • OLED
    +關(guān)注

    關(guān)注

    120

    文章

    6285

    瀏覽量

    228037
  • adc
    adc
    +關(guān)注

    關(guān)注

    99

    文章

    6705

    瀏覽量

    549176

原文標(biāo)題:簡(jiǎn)易示波器和信號(hào)發(fā)生器的實(shí)現(xiàn)

文章出處:【微信號(hào):xiaojiaoyafpga,微信公眾號(hào):電子森林】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    看看我們維修工程師新修了哪些信號(hào)發(fā)生器#信號(hào)發(fā)生器#修理儀器

    信號(hào)發(fā)生器
    安泰儀器維修
    發(fā)布于 :2025年07月10日 17:32:48

    用CYC8038搭建簡(jiǎn)易函數(shù)發(fā)生器

    。文章詳細(xì)解析了CYC8038的引腳功能,并提供了簡(jiǎn)易信號(hào)發(fā)生器的電路搭建方案,包括頻率調(diào)節(jié)、波形失真度調(diào)整等實(shí)用技巧,延續(xù)了40年來(lái)的技術(shù)傳承。
    的頭像 發(fā)表于 06-11 16:29 ?260次閱讀
    用CYC8038搭建<b class='flag-5'>簡(jiǎn)易</b>函數(shù)<b class='flag-5'>發(fā)生器</b>

    信號(hào)發(fā)生器PM調(diào)制信號(hào)設(shè)置

    信號(hào)發(fā)生器與PM調(diào)制的重要性 在現(xiàn)代通信技術(shù)和電子實(shí)驗(yàn)中,信號(hào)發(fā)生器已成為測(cè)試和驗(yàn)證設(shè)備中必不可少的工具。無(wú)論是在科研實(shí)驗(yàn)、產(chǎn)品開發(fā),還是設(shè)備調(diào)試過(guò)程中,
    的頭像 發(fā)表于 02-20 16:56 ?732次閱讀
    <b class='flag-5'>信號(hào)</b><b class='flag-5'>發(fā)生器</b>PM調(diào)制<b class='flag-5'>信號(hào)</b>設(shè)置

    信號(hào)發(fā)生器的組成元件

    信號(hào)發(fā)生器是電子測(cè)試和實(shí)驗(yàn)過(guò)程中常用的電子儀器,能夠輸出各種高品質(zhì)、高性能的波形。它主要由多個(gè)關(guān)鍵元件和組件構(gòu)成,這些元件共同協(xié)作,實(shí)現(xiàn)信號(hào)的生成、調(diào)節(jié)和輸出。本文將詳細(xì)探討
    的頭像 發(fā)表于 02-03 16:13 ?914次閱讀

    DDS信號(hào)發(fā)生器支持單通道50個(gè)正弦載波!#信號(hào)發(fā)生器 #AWG #DDS

    信號(hào)發(fā)生器
    虹科衛(wèi)星與無(wú)線電通信
    發(fā)布于 :2024年12月23日 18:03:30

    信號(hào)發(fā)生器的發(fā)展、分類及關(guān)鍵技術(shù)

    信號(hào)發(fā)生器是一種常用的信號(hào)源,廣泛應(yīng)用于電子電路、自動(dòng)控制和科學(xué)試驗(yàn)等領(lǐng)域。它是一種為電子測(cè)量和計(jì)量工作提供符合嚴(yán)格技術(shù)要求的電信號(hào)設(shè)備。因此,信號(hào)
    的頭像 發(fā)表于 12-03 11:41 ?2127次閱讀
    <b class='flag-5'>信號(hào)</b><b class='flag-5'>發(fā)生器</b>的發(fā)展、分類及關(guān)鍵技術(shù)

    泰克信號(hào)發(fā)生器的半導(dǎo)體測(cè)試應(yīng)用

    隨著半導(dǎo)體技術(shù)的飛速發(fā)展,半導(dǎo)體測(cè)試變得越來(lái)越復(fù)雜和具有挑戰(zhàn)性。在這種情況下,信號(hào)發(fā)生器作為測(cè)試設(shè)備的一個(gè)組成部分,扮演了越來(lái)越重要的角色。泰克信號(hào)發(fā)生器是一種高性能的
    的頭像 發(fā)表于 10-22 16:58 ?527次閱讀
    泰克<b class='flag-5'>信號(hào)</b><b class='flag-5'>發(fā)生器</b>的半導(dǎo)體測(cè)試應(yīng)用

    如何根據(jù)信號(hào)的頻率特性選擇合適的示波器帶寬?

    示波器帶寬的測(cè)量方法主要涉及使用正弦波信號(hào)發(fā)生器,通過(guò)特定的設(shè)置和觀察來(lái)確定示波器的帶寬。以下是詳細(xì)的步驟和注意事項(xiàng): 示波器帶寬的測(cè)量方法
    的頭像 發(fā)表于 10-10 16:14 ?842次閱讀

    文氏橋信號(hào)發(fā)生器的工作原理和結(jié)構(gòu)

    文氏橋信號(hào)發(fā)生器是一種基于文氏橋電路的信號(hào)發(fā)生器,它能夠產(chǎn)生穩(wěn)定且頻率可調(diào)的正弦波信號(hào)。以下是對(duì)文氏橋
    的頭像 發(fā)表于 09-25 16:28 ?1668次閱讀
    文氏橋<b class='flag-5'>信號(hào)</b><b class='flag-5'>發(fā)生器</b>的工作原理和結(jié)構(gòu)

    是德33600A,33622A函數(shù)信號(hào)發(fā)生器

    示波器信號(hào)發(fā)生器
    jf_66720182
    發(fā)布于 :2024年08月16日 11:18:25

    使用示波器測(cè)試正弦信號(hào)步驟介紹

    ?數(shù)字示波器(或模擬示波器,但數(shù)字示波器因其精確度和便捷性更常用)。 2.?信號(hào)發(fā)生器,用于輸出正弦信號(hào)
    的頭像 發(fā)表于 07-23 19:11 ?1546次閱讀
    使用<b class='flag-5'>示波器</b>測(cè)試正弦<b class='flag-5'>信號(hào)</b>步驟介紹