91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

使用Digilent Zybo板的數(shù)字示波器的制作

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-20 17:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:模擬前端

使用Digilent Zybo板的數(shù)字示波器的制作

Xilinx Zynq IC具有“ XADC模數(shù)轉(zhuǎn)換器。 XADC最多以1MSPS(每秒兆采樣)采樣,輸出12位值。該ADC的輸入范圍為0-1V。

XADC能夠?qū)讉€輸入通道進行采樣,但是在Zynq板上,用戶實際上只能訪問幾個特定的輔助輸入。在示波器中,我使用了Zybo XADC PMOD上可用的AUX14 ADC輸入。

由于0-1V的示波器輸入范圍不是很有用,因此必須在ADC輸入的前面添加模擬電路,以便縮放和移動輸入電壓,請參見此步驟的框圖。

此框圖是使用LTSPICE原理圖/仿真中顯示的電路實現(xiàn)的(為仿真附上原理圖文件)。根據(jù)需要,增益為1/20 = 0.05,直到抗混疊濾波器導(dǎo)致其下降約400kHz(1MSPS ADC的奈奎斯特頻率= 500kHz)為止。

我在面包板上實現(xiàn)了該設(shè)計(沒有時間使用通孔組件設(shè)計PCB)。第二個LTSPICE原理圖中顯示了用于實現(xiàn)此設(shè)計的組件(不可仿真,僅用于設(shè)計用于訂購零件的電路),以及實際構(gòu)建的電路。 3.3V和GND來自XADC PMOD連接器。

步驟2:ADC緩沖器/觸發(fā)器

設(shè)計負(fù)責(zé)采樣輸入信號,在發(fā)生波形事件時觸發(fā)并在完成時使數(shù)據(jù)可用于PS。

-processing_system7_0:Zynq PS

-rst_processing_system7_0_100M:零件AXI通信(添加到連接自動化中)

-processing_system7_0_ai_periph:AXI通信(添加到連接自動化中)

-xadc_wiz_0:XADC實現(xiàn)。在DRP,單通道模式下配置,具有最大轉(zhuǎn)換率(實際為961KSPS)。 VAUX14被配置為雙極性模式。

-gpio_trigger_settings:GPIO IP用于設(shè)置子采樣和觸發(fā)閾值。二次采樣是指選擇從ADC接受輸入值的頻率。如果將示波器的時基縮小很長一段時間,則緩沖區(qū)將太小而無法填滿(例如)以1MSPS采集的1秒數(shù)據(jù)。觸發(fā)閾值是指觸發(fā)發(fā)生時的電壓電平。

-gpio_trigger_control:GPIO IP。通道1輸出,能夠復(fù)位觸發(fā)塊(當(dāng)PS準(zhǔn)備好用于新的數(shù)據(jù)緩沖區(qū)時)并聲明要讀取的存儲器的地址值。通道2是輸入,允許讀取數(shù)據(jù)緩沖區(qū)的輸出數(shù)據(jù),最后寫入的地址以及觸發(fā)緩沖區(qū)是否已滿。

-drp_int_0:我的IP,用于解釋XADC的DRP輸出。

-trigger_0:我的IP,用于實現(xiàn)觸發(fā)行為

-blk_mem_gen_0:用于保存過去的采樣值的IP。

此部分所有IP的SystemVerilog文件都包括在內(nèi)。

步驟3:用戶輸入處理

設(shè)計的這一部分負(fù)責(zé)對編碼器和按鈕輸入進行采樣。 “標(biāo)準(zhǔn)速度” PMOD用于將這些信號引入Zynq。只需使用GPIO模塊即可對按鈕輸入進行采樣。編碼器輸入由編碼器IP塊(由我編寫)處理,以便獲得與旋轉(zhuǎn)編碼器多少有關(guān)的“計數(shù)”值。

由于使用了機械式旋轉(zhuǎn)編碼器,因此開關(guān)和編碼器輸出均需要上拉電阻(5k Ohm),并且還添加了一個去抖動的LP濾波器。這可能是我設(shè)計中最薄弱的部分,并且肯定需要做更多的工作。盡管對硬件模塊進行了仿真,但顯示出正常的功能(圖像已附上),但我仍然無法從編碼器獲取準(zhǔn)確的計數(shù)值。在最后的演示之前,我沒有時間來診斷這個問題,因此我建議您花一些時間比我更多的時間來設(shè)計這個問題!

-encoder_btn_gpio:輸入了通道1,正在計數(shù)來自三個編碼器和兩個按鈕的值

-encoder0,1,2:我的IP,用于解釋旋轉(zhuǎn)編碼器的正交輸入。編碼器的步長被記錄為可以為負(fù)或正的“計數(shù)”值。存在RST輸入以重置計數(shù)值,允許PS讀取計數(shù)值,然后將其重置。這樣,計數(shù)值將永遠不會溢出并導(dǎo)致奇怪的結(jié)果。

步驟4:視頻驅(qū)動程序

設(shè)計的這一部分負(fù)責(zé)繪制GUI和輸入波形。示波器波形,觸發(fā)電平線和其他變化的指示器存儲在幀緩沖器中,每個存儲器地址保存一個像素值。該幀緩沖區(qū)是一個塊內(nèi)存,VGA驅(qū)動程序從中讀取值,然后將其發(fā)送到VGA端口以在屏幕上顯示。

最初,屏幕的大小希望為640 x480。但是,存儲一個塊RAM中的所有這些像素值都是不可能的,因為塊ram的最大深度是262144(對應(yīng)于18位的地址,2 ^ 18 = 262144),并且640 x 480 = 307200像素。做出了妥協(xié),將屏幕縮小到480 x 512,以便將整個屏幕緩沖區(qū)存儲在一個塊ram中。

為了簡化以后的編碼,在計算機上的圖像編輯器中繪制了背景圖像(網(wǎng)格和屏幕輪廓)。編寫(包括)了一個matlab腳本,將黑白BMP轉(zhuǎn)換為.coe文件,該文件可以預(yù)加載到塊ram單元中。這意味著圖像已經(jīng)存儲在內(nèi)存中,不需要用代碼或硬件“繪制”。這是與屏幕緩沖區(qū)分開的獨立塊內(nèi)存,因此兩個塊RAM的輸出將運行到自定義IP塊(顏色處理器)中,以便“決定”應(yīng)顯示哪種顏色,示波器信號和指示器具有更高的層優(yōu)先級在網(wǎng)格上。

-axi_gpio_0:輸出通道1??刂频刂?,數(shù)據(jù)和啟用信號以寫入屏幕緩沖區(qū)。輸入通道2。讀取確認(rèn)位以確認(rèn)寫入操作已完成。

-bram_write_controller:從GPIO模塊獲取地址,數(shù)據(jù)和啟用信號,以寫入塊ram。地址和數(shù)據(jù)信號無需更改即可簡單路由。 EN信號帶來了復(fù)雜性。我不確定從GPIO寫入“ 1”和“ 0”將花費多長時間(就時鐘周期而言),因此我想確保塊wram僅被寫入一次。該寫控制器在GPIO的EN信號的上升沿運行,以便為塊ram的寫使能產(chǎn)生一個1時鐘寬度的使能脈沖。完成該脈沖后,可以將確認(rèn)信號置為高電平,以確認(rèn)它已被寫入。

-signals_buffer1:這是一個3位寬的塊ram,用于在屏幕上存儲變化的像素值,例如波形,觸發(fā)電平線和電壓/分壓指示器。每個存儲器地址代表一個像素。地址系統(tǒng)的工作方式是,高9位是像素的行,低9位是像素的列。

-gui_buffer:這是一個1位寬的塊ram,用于存儲通過圖像生成的.coe文件加載的不變的GUI(網(wǎng)格,輪廓等)。 (附加了MATLAB腳本)

-vga_driver_0:為VGA協(xié)議生成水平和垂直同步信號。生成代表當(dāng)前顯示像素的列和行值。這些用于從塊RAM中讀出以讀取當(dāng)前像素的存儲值

-color_processor_0:此IP根據(jù)存儲的像素值決定顯示哪種顏色。我將優(yōu)先級從最高設(shè)置為最低(紅色觸發(fā)電平線,黃色信號線,白色GUI/網(wǎng)格)。每個像素的值存儲為3位值,每個位代表一個“層”。優(yōu)先級較高的信號(如觸發(fā)線)應(yīng)出現(xiàn)在“頂層”,而優(yōu)先級較低的信號(如背景網(wǎng)格)應(yīng)出現(xiàn)在“底層”。

步驟5 :處理系統(tǒng)

將前面介紹的設(shè)計組合在一起,以提供最終設(shè)計,并由一個PS來控制它們。所有模塊的接口均通過GPIO IP。結(jié)合使用時,請參見圖像以查看所有先前的GPIO模塊的命名約定:

-gpio_trigger_control:控制觸發(fā)模塊,讀取緩沖區(qū)值

-gpio_trigger_settings:設(shè)置閾值和子采樣

-screen_buffer_gpio:將值寫入屏幕緩沖區(qū)

-encoder_btn_gpio:讀取編碼器計數(shù)和按鈕值。

寫入(包括)用于寫入像素的庫,讀取編碼器/按鈕輸入,并讀取樣本緩沖區(qū)值。由于時間有限,主代碼有些大,沒有足夠的時間使它們具有模塊化功能。

在最初的開發(fā)中,FreeRTOS將用于PS中。由于時間限制,這被放棄并且沒有使用任何任務(wù)。但是,我一直在進行的CORTEX_A9_Zynq_ZC702 FreeRTOS演示項目仍在使用,其名義是在最后一刻盡可能少地更改。

我的示波器的最終版本僅具有垂直刻度調(diào)整和觸發(fā)電平調(diào)整,因此未使用時分顯示。

主程序的基本流程是:

1)檢查編碼器和按鈕輸入,適當(dāng)調(diào)整觸發(fā)值

2)檢查范圍是否已觸發(fā)(重復(fù)1&2,直到觸發(fā))

3)擦除并更新顯示V/Second劃分的標(biāo)記。

4)讀取觸發(fā)緩沖區(qū)的所有值。

5)計算觸發(fā)電平線在像素位置的位置

6)計算當(dāng)前和下一個樣本的位置以像素為單位

7)刪除當(dāng)前列中的所有像素

8)繪制一條從當(dāng)前樣本位置的行到下一個樣本位置的行的垂直線。

9)繪制觸發(fā)電平線

10)繪制三角形以顯示0V電平

11 )重置觸發(fā)器以再次開始采樣。

12)從1開始重復(fù)。

第6步:結(jié)論,注釋,未來改進

回頭看看有一些變化我想做。大部分時間都受我時間緊迫的限制。

-編碼器:目前,編碼器的工作情況很差。我需要使用示波器進行更多調(diào)試,以確保正交輸出“無反彈”且干凈,以便在解釋它們時沒有錯誤。

-應(yīng)該添加垂直偏移和水平偏移/縮放。

責(zé)任編輯:wv

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

    關(guān)注

    113

    文章

    7087

    瀏覽量

    196194
  • Digilent
    +關(guān)注

    關(guān)注

    2

    文章

    219

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    數(shù)字示波器觸發(fā)原理深度解析

    在電子測量領(lǐng)域,數(shù)字示波器(Digital Oscilloscope)是工程師不可或缺的“眼睛”。而“觸發(fā)”(Trigger)功能,則堪稱示波器的靈魂。如果沒有合適的觸發(fā)條件,波形觀測將無從談起
    的頭像 發(fā)表于 02-02 18:19 ?493次閱讀
    <b class='flag-5'>數(shù)字</b><b class='flag-5'>示波器</b>觸發(fā)原理深度解析

    如何使用示波器觸發(fā)模式發(fā)現(xiàn)產(chǎn)品問題?示波器觸發(fā)原理和應(yīng)用

    什么是示波器觸發(fā)? 什么是觸發(fā)?觸發(fā)是示波器非常重要的功能。即使用者設(shè)定一個條件,當(dāng)被測信號滿足該條件的時候,示波器被激勵而捕獲當(dāng)前的波形。使用示波器的多種觸發(fā)模式能幫助您發(fā)現(xiàn)產(chǎn)品問題
    的頭像 發(fā)表于 01-22 16:04 ?203次閱讀
    如何使用<b class='flag-5'>示波器</b>觸發(fā)模式發(fā)現(xiàn)產(chǎn)品問題?<b class='flag-5'>示波器</b>觸發(fā)原理和應(yīng)用

    如何制作字母數(shù)字鍵盤?

    制作字母數(shù)字鍵盤
    發(fā)表于 09-05 07:24

    普通數(shù)字示波器能否適配電流探頭?一文詳解適配方案與應(yīng)用要點

    在電子測試與測量領(lǐng)域,示波器是一種極為常見的工具,主要用于測量電壓信號。然而,在實際工作中,工程師們有時也需要測量電流信號。那么,普通數(shù)字示波器是否可以通過配備電流探頭來實現(xiàn)這一功能呢?答案是肯定
    的頭像 發(fā)表于 09-02 13:43 ?961次閱讀
    普通<b class='flag-5'>數(shù)字</b><b class='flag-5'>示波器</b>能否適配電流探頭?一文詳解適配方案與應(yīng)用要點

    示波器波形捕獲率的定義和作用

    波形捕獲率(Waveform Capture Rate)是數(shù)字示波器的關(guān)鍵指標(biāo)之一,指單位時間內(nèi)示波器能夠捕獲并顯示波形的次數(shù),通常以“次/秒”或“幀/秒”為單位。其本質(zhì)是衡量示波器
    的頭像 發(fā)表于 08-04 15:20 ?1547次閱讀

    數(shù)字示波器基礎(chǔ)與實操培訓(xùn)

    數(shù)字示波器
    安泰儀器維修
    發(fā)布于 :2025年08月01日 19:09:53

    是德(Keysight)Infiniium Z系列示波器故障修復(fù)

    是德科技(Keysight Technologies)的Infiniium Z系列示波器是一款高性能的數(shù)字示波器,專為滿足高速、高精度信號測量和分析的需求而設(shè)計。
    的頭像 發(fā)表于 07-30 11:51 ?632次閱讀
    是德(Keysight)Infiniium Z系列<b class='flag-5'>示波器</b>故障修復(fù)

    Keysight是德Z系列數(shù)字示波器維修服務(wù)中心

    是德科技(Keysight Technologies)的Infiniium Z系列示波器是一款高性能的數(shù)字示波器,專為滿足高速、高精度信號測量和分析的需求而設(shè)計。
    的頭像 發(fā)表于 07-15 17:52 ?813次閱讀
    Keysight是德Z系列<b class='flag-5'>數(shù)字</b><b class='flag-5'>示波器</b>維修服務(wù)中心

    是德示波器如何用數(shù)字通道快速定位PWM故障

    PWM(脈沖寬度調(diào)制)信號在電機控制、電源管理、通信協(xié)議等領(lǐng)域廣泛應(yīng)用,其穩(wěn)定性直接影響系統(tǒng)性能。當(dāng)PWM信號出現(xiàn)異常時,快速定位故障是工程師的關(guān)鍵需求。是德示波器憑借其強大的數(shù)字通道功能和精準(zhǔn)
    的頭像 發(fā)表于 07-08 17:04 ?716次閱讀
    是德<b class='flag-5'>示波器</b>如何用<b class='flag-5'>數(shù)字</b>通道快速定位PWM故障

    是德示波器 MSO 與 DSO 的區(qū)別以及如何選擇

    在電子測試領(lǐng)域,示波器是工程師不可或缺的工具,是德科技的 MSO(混合信號示波器)和 DSO(數(shù)字存儲示波器)在市場上備受關(guān)注。二者雖都用于信號觀測與分析,但在功能特性、適用場景等方面
    的頭像 發(fā)表于 07-01 16:35 ?1247次閱讀
    是德<b class='flag-5'>示波器</b> MSO 與 DSO 的區(qū)別以及如何選擇

    泰克MSO6B示波器如何用數(shù)字通道快速定位PWM故障

    導(dǎo)致電機轉(zhuǎn)速不穩(wěn)、電源效率下降或通信誤碼。傳統(tǒng)示波器僅能顯示模擬波形,難以快速解析數(shù)字調(diào)制信號的邏輯狀態(tài)和時序關(guān)系。泰克MSO6B示波器配備的數(shù)字通道,可同步捕獲模擬與
    的頭像 發(fā)表于 06-10 12:08 ?742次閱讀
    泰克MSO6B<b class='flag-5'>示波器</b>如何用<b class='flag-5'>數(shù)字</b>通道快速定位PWM故障

    STM32數(shù)字示波器源碼+數(shù)字信號處理教程、配套實例

    STM32數(shù)字示波器源碼+數(shù)字信號處理教程、配套實例 部分截圖:
    發(fā)表于 05-28 21:25

    數(shù)字示波器制作

    發(fā)表于 05-26 15:28