新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > FPGA:數字示波器 4 - 更多功能

        FPGA:數字示波器 4 - 更多功能

        作者: 時間:2024-01-12 來源:EEPW編譯 收藏

        現在示波器骨架已開始工作,可以輕松添加更多功能。

        本文引用地址:http://www.104case.com/article/202401/454723.htm

        邊沿斜率觸發

        讓我們添加在上升沿或下降沿觸發的能力。 任何示波器都可以做到這一點。
        我們需要一點信息來決定我們想要觸發的方向。 讓我們使用 PC 發送的數據的 bit-0。

        assign Trigger = (RxD_data[0] ^ Threshold1) & (RxD_data[0] ^ ~Threshold2);

        這很容易。

        更多選項

        讓我們添加控制觸發閾值的功能。 這是一個 8 位值。 然后我們需要水平采集速率控制、濾波控制...... 這需要來自 PC 的多個控制字節來控制示波器。
        最簡單的方法是使用“async_receiver”間隙檢測功能。 PC以突發方式發送控制字節,當它停止發送時,檢測到它并斷言“RxD_gap”信號。

        wire RxD_gap;
        async_receiver async_rxd(.clk(clk), .RxD(RxD), .RxD_data_ready(RxD_data_ready), .RxD_data(RxD_data), .RxD_gap(RxD_gap));

        reg [1:0] RxD_addr_reg;
        always @(posedge clk) if(RxD_gap) RxD_addr_reg <= 0; else if(RxD_data_ready) RxD_addr_reg <= RxD_addr_reg + 1;

        // register 0: TriggerThreshold
        reg [7:0] TriggerThreshold;
        always @(posedge clk) if(RxD_data_ready & (RxD_addr_reg==0)) TriggerThreshold <= RxD_data;

        // register 1: "0 0 0 0 HDiv[3] HDiv[2] HDiv[1] HDiv[0]"
        reg [3:0] HDiv;
        always @(posedge clk) if(RxD_data_ready & (RxD_addr_reg==1)) HDiv <= RxD_data[3:0];

        // register 2: "StartAcq TriggerPolarity 0 0 0 0 0 0"
        reg TriggerPolarity;
        always @(posedge clk) if(RxD_data_ready & (RxD_addr_reg==2)) TriggerPolarity <= RxD_data[6];
        wire StartAcq = RxD_data_ready & (RxD_addr_reg==2) & RxD_data[7];

        我們還添加了一個 4 位寄存器 (HDiv[3:0]) 來控制水平采集速率。 當我們想要降低采集速率時,我們要么丟棄來自ADC的樣本,要么以我們感興趣的頻率對它們進行濾波/下采樣。

        越來越多的功能

        如您所見,可以添加許多功能。 有趣的是,您可以根據需要設計示波器 - 也許是一種特殊的觸發機制?特殊的過濾功能?

        輪到你來實驗了!



        關鍵詞: FPGA 數字示波器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 修水县| 雷波县| 安宁市| 延吉市| 沧源| 兖州市| 曲麻莱县| 贵溪市| 大竹县| 科尔| 昌平区| 玉山县| 湘潭县| 自贡市| 普陀区| 武夷山市| 怀远县| 镇江市| 白城市| 尚义县| 秦安县| 和平县| 濮阳市| 广饶县| 沭阳县| 比如县| 阳山县| 廊坊市| 万源市| 兴隆县| 射洪县| 新营市| 柳江县| 鄂托克前旗| 老河口市| 陇川县| 克什克腾旗| 浏阳市| 伽师县| 克拉玛依市| 五河县|