在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

怎樣使用毛刺濾波器來濾除毛刺和反彈?

OpenFPGA ? 來源:OpenFPGA ? 2023-08-30 10:24 ? 次閱讀

編程邏輯系統(tǒng)通常部署在可能存在噪聲的應用中。這種噪聲會影響可編程邏輯設計接收的信號。例如,它可能會導致信號故障或跳動,如果處理不當,可能會導致設計和操作出現(xiàn)問題。

f4a9cb24-46db-11ee-a2ef-92fbcf53809c.png

毛刺的持續(xù)時間是隨機的,并且與時鐘沿不同步。因此,它們可能會導致下游信息損壞。

處理此問題的最常見方法是使用毛刺濾波器來濾除毛刺和反彈。

毛刺濾波器核心是使用長度可變的移位寄存器,噪聲信號被放到寄存器中,直到移位寄存器的所有值都一致。此時,信號可以視為穩(wěn)定。當然,我們必須確定潛在毛刺和反彈可能持續(xù)多長時間,以確保時鐘周期的寄存器大小正確。這就是為什么我們的毛刺濾波器需要非常靈活,并且需要確保其大小能夠適合每個應用程序的要求。

濾波器應該能夠接收噪聲輸入并濾除持續(xù)時間為多個時鐘脈沖的毛刺。

f4e60832-46db-11ee-a2ef-92fbcf53809c.png

libraryieee;
useieee.std_logic_1164.all;
useieee.numeric_std.all;

entityglitch_filteris
generic(
G_FILER_LEN:integer:=8
);
port(
i_clk:instd_ulogic;
i_noisy:instd_ulogic;
o_clean:outstd_ulogic
);
endglitch_filter;

architecturebehaviourofglitch_filteris

signals_delay_line:std_ulogic_vector(G_FILER_LEN-1downto0);
signals_delay_and:std_ulogic;
signals_delay_nor:std_ulogic;
signals_output_clean:std_ulogic;

begin

o_clean<=?s_output_clean;

????--Delay?disctete?using?delay?line
????synchroniser_process?:?process?(i_clk)?begin
????????if?rising_edge(i_clk)?then
????????????s_delay_line?<=?s_delay_line(G_FILER_LEN?-?2?downto?0)?&?
????????????????????????????i_noisy;
????????end?if;
????end?process;

????--Generate?AND?and?NOR?of?delay?line?bits
????s_delay_and?<=?'1'?when?to_01(s_delay_line)?=?
????????????????????????????(s_delay_line'range?=>'1')else'0';
s_delay_nor<=?'1'?when?to_01(s_delay_line)?=?
????????????????????????????(s_delay_line'range?=>'0')else'0';

--Setdiscretebasedondelayline
output_process:process(i_clk)begin
ifrising_edge(i_clk)then
ifs_delay_nor='1'then
s_output_clean<=?'0';
????????????elsif?s_delay_and?=?'1'?then
????????????????s_output_clean?<=?'1';
????????????end?if;
????????end?if;
????end?process;

end?behaviour;

為了測試這個模塊,創(chuàng)建一個簡單的測試文件,它將隨機數(shù)量的毛刺注入信號中。在信號改變狀態(tài)后,許多隨機毛刺被輸入到信號中。如果濾波器運行正常,則這些毛刺將在毛刺濾波器輸出干凈的信號。

libraryieee;
useieee.std_logic_1164.all;
useieee.numeric_std.all;
useieee.math_real.all;

entityglitch_filter_tbis
end;

architecturebenchofglitch_filter_tbis

componentglitch_filter
generic(
G_FILER_LEN:integer
);
port(
i_clk:instd_ulogic;
i_noisy:instd_ulogic;
o_clean:outstd_ulogic
);
endcomponent;

--Clockperiod
constantclk_period:time:=10ns;
--Generics
constantG_FILER_LEN:integer:=8;

--Ports
signali_clk:std_ulogic:='0';
signali_noisy:std_ulogic;
signalo_clean:std_ulogic;

begin

i_clk<=?not?i_clk?after?(clk_period/2);

??glitch_filter_inst?:?glitch_filter
????generic?map?(
??????G_FILER_LEN?=>G_FILER_LEN
)
portmap(
i_clk=>i_clk,
i_noisy=>i_noisy,
o_clean=>o_clean
);

uut:process

variableglitch_duration:integer;
variableseed1:positive:=1;
variableseed2:positive:=283647823;

impurefunctioninteger_random(min,max:integer)returnintegeris
variablerandom:real;
begin
uniform(seed1,seed2,random);
returninteger(round(random*real(max-min)+real(min)));
endfunction;

begin
i_noisy<=?'0';
????wait?until?rising_edge(i_clk);
????wait?for?G_FILER_LEN?*?clk_period;
????test:?for?i?in?0?to?1?loop
????????i_noisy?<=?'1';
????????wait?until?rising_edge(i_clk);
????????glitch_duration?:=?integer_random(1,5);
????????for?x?in?0?to?glitch_duration?loop
????????????i_noisy?<=?not?i_noisy;
????????????wait?until?rising_edge(i_clk);
????????end?loop;
????????i_noisy?<=?'1';
????????wait?for?20?*?clk_period;
????????report?"loop?high?completed"?severity?note;
????????i_noisy?<=?'0';
????????wait?until?rising_edge(i_clk);
????????glitch_duration?:=?integer_random(1,5);
????????for?x?in?0?to?glitch_duration?loop
????????????i_noisy?<=?not?i_noisy;
????????????wait?until?rising_edge(i_clk);
????????end?loop;
????????i_noisy?<=?'0';
????????wait?for?20?*?clk_period;
????????report?"loop?low?completed"?severity?note;
????end?loop;
????report?"Simulation?complete"?severity?failure;
????
end?process;

end;
f4fea07c-46db-11ee-a2ef-92fbcf53809c.png

運行仿真后顯示在信號狀態(tài)改變后隨機數(shù)量的脈沖便增加。檢查輸出信號表明濾波器已正確濾除輸入信號中可能存在的毛刺。

正如在一開始所說的,這樣的濾波器對于部署在可能存在電噪聲的環(huán)境中非常有用。與 BRAM 上的 EDAC 等其他緩解策略相結合,這是可用于實現(xiàn)設計彈性的關鍵方法之一。






審核編輯:劉清

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

    關注

    162

    文章

    8076

    瀏覽量

    181042
  • 寄存器
    +關注

    關注

    31

    文章

    5421

    瀏覽量

    123359
  • 狀態(tài)機
    +關注

    關注

    2

    文章

    493

    瀏覽量

    28070
  • BRAM
    +關注

    關注

    0

    文章

    41

    瀏覽量

    11236
  • 時鐘脈沖
    +關注

    關注

    0

    文章

    19

    瀏覽量

    12904

原文標題:【數(shù)字實驗室】消除毛刺

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    TPA3110D2無信號輸入時,輸出336kHZ的正弦波信號有明顯的毛刺,如何濾除毛刺

    采用TPA3110D2設計的功放板,無信號輸入時,輸出336kHZ的正弦波信號,有明顯的毛刺,可否有辦法濾除毛刺?該正弦信號雖然人的耳朵聽不到,可否濾除掉?
    發(fā)表于 11-04 06:58

    波形濾除毛刺

    rt我的波形如下圖所示,想用硬件把毛刺去除掉,請問各路大神原理圖怎么設計謝謝·~~
    發(fā)表于 04-11 22:08

    引入輸入濾波器濾除噪聲設計

    會在輸入電容上產生電壓紋波,從而增加EMI。因此,有必要采用一些其他方法提高傳導EMI的性能。本文主要討論的是引入輸入濾波器濾除噪聲,或增加屏蔽罩
    發(fā)表于 07-05 09:52

    毛刺濾波方法

    ,放大毛刺后如圖2所示,大約維持10ns的高電平。圖1圖2如何濾除這些毛刺呢?辦法有兩個,其一就是用純粹硬件的辦法,在信號進入FPGA之前進行濾波處理,串個電阻并個電容都可以,特權同學
    發(fā)表于 06-04 05:00

    怎樣去設計一個使用時序邏輯對單bit信號進行毛刺濾除操作的電路

    什么是邊沿檢測計數(shù)法?怎樣去設計一個使用時序邏輯對單bit信號進行毛刺濾除操作的電路?怎樣用verilog寫出其代碼?
    發(fā)表于 08-19 06:53

    FPGA | 競爭冒險和毛刺問題

    產生的條件,減少毛刺的發(fā)生。例如,在數(shù)字電路設計中,常常采用格雷碼計數(shù)取代普通的二進制計數(shù),這是因為格雷碼計數(shù)的輸出每次只有一位跳變
    發(fā)表于 11-02 17:22

    電路從SDA和SCL線路中濾除毛刺的解決方法及過程

    I2C 控制規(guī)范 v2.1 規(guī)定了濾除快速工作模式下 SDA 和 SCL 線路上最大間距為 50ns 的毛刺。 Zynq-7000 AP SoCs PS7 中的 I2C 控制沒有實
    的頭像 發(fā)表于 06-29 14:00 ?1.9w次閱讀

    FPGA中的冒險現(xiàn)象和如何處理毛刺

    通過改變設計,破壞毛刺產生的條件,減少毛刺的發(fā)生。例如,在數(shù)字電路設計中,常常采用格雷碼計數(shù)取代普通的二進制計數(shù),這是因為格雷碼計數(shù)
    發(fā)表于 06-23 08:49 ?1957次閱讀
    FPGA中的冒險現(xiàn)象和如何處理<b class='flag-5'>毛刺</b>

    電感的毛刺現(xiàn)象是什么意思?如何解決感應毛刺

    毛刺現(xiàn)象是我們每一個電子愛好者避之唯恐不及的,今天我們學習一個毛刺現(xiàn)象以及如何規(guī)避它,進而掌握電感升壓的原理。
    的頭像 發(fā)表于 08-15 14:53 ?5320次閱讀
    電感的<b class='flag-5'>毛刺</b>現(xiàn)象是什么意思?如何解決感應<b class='flag-5'>毛刺</b>?

    在 FlexIO上進行毛刺濾波的方法

    會由于毛刺的存在,導致錯誤數(shù)據(jù)被接收。 對于這種情況,可以使用額外的定時設計一個毛刺濾波器,以避免錯誤的發(fā)生。 使用定時 進行
    的頭像 發(fā)表于 10-19 11:25 ?1402次閱讀

    什么是毛刺毛刺的大小和方向 如何測量毛刺的尺寸?

    的外觀、質量和安全性。測量毛刺的尺寸及方向,以及檢查已去除的毛刺都是確保產品質量的重要環(huán)節(jié)。 首先,我們討論毛刺的大小和方向如何測量。對于毛刺
    的頭像 發(fā)表于 12-07 14:24 ?7147次閱讀

    如何最小化毛刺尺寸?如何控制毛刺方向?

    如何最小化毛刺尺寸?如何控制毛刺方向? 為了得到高質量的產品或工藝品,我們通常需要把毛刺的尺寸最小化,并控制其方向。毛刺會影響制品的外觀質量、功能性能以及使用壽命。本文將介紹
    的頭像 發(fā)表于 12-07 14:24 ?1132次閱讀

    PCB鉆孔毛刺產生的原因及毛刺的危害

    PCB鉆孔毛刺產生的原因及毛刺的危害 PCB(Printed Circuit Board)是一種非常重要的電子組件,被廣泛應用于各種電子設備中。在PCB的生產過程中,鉆孔是一個非常關鍵的步驟,用于
    的頭像 發(fā)表于 12-07 14:24 ?5519次閱讀

    雙面無毛刺沖裁如何實現(xiàn)(一種消除毛刺的加工方法)

    沖裁加工時總是會產生毛刺,很難消除掉,因此,經常在加工后進行壓毛刺消除毛刺。鑒于分型面的問題,最近使用去毛刺的方式有增加的趨勢.
    的頭像 發(fā)表于 12-12 14:17 ?1202次閱讀
    雙面無<b class='flag-5'>毛刺</b>沖裁如何實現(xiàn)(一種消除<b class='flag-5'>毛刺</b>的加工方法)

    I2C噪聲毛刺濾波

    電子發(fā)燒友網站提供《I2C噪聲毛刺濾波.pdf》資料免費下載
    發(fā)表于 10-08 14:39 ?6次下載
    I2C噪聲<b class='flag-5'>毛刺</b><b class='flag-5'>濾波</b>
    主站蜘蛛池模板: 综合啪啪| 69日本xxxxxxxxx30| 日韩一级免费视频 | 韩国三级床戏合集 | 国产成人乱码一区二区三区 | 手机在线视频观看 | 台湾香港澳门三级在线 | 国产精品午夜免费观看网站 | 色国产精品 | 欧美伊人久久综合网 | 狠狠综合 | 国产精品国产三级国快看 | 久久99国产精品免费观看 | 性色视频在线观看 | 国产在线一卡二卡 | 色视频在线免费观看 | 亚洲天堂成人在线 | 在线观看日本亚洲一区 | 伊人97在线| www.91在线播放 | 五月.com| 天天爽夜夜爽8888视频精品 | h视频免费看 | 欧美一区二区三区高清视频 | 午夜看片a福利在线 | 黄网站在线观看 | 亚洲成a人一区二区三区 | 两性色午夜视频自由成熟的性 | 国产三级高清 | 日本免费在线视频 | 日韩在线网 | 天天综合天天看夜夜添狠狠玩 | 在线色网站| ww欧洲ww在线视频看 | 亚洲一区二区三区四区在线 | 日韩欧美中文在线 | 台湾佬自偷自拍情侣在线 | 欧美日韩在线一本卡 | 国产网站在线免费观看 | 在线观看你懂的网址 | 国产三区视频 |