91精品国产自产在线观看高清|国产被弄到高潮正在播放|天天射天天色天天干|日本一级二级三级久久|国产精品久久国产三级国电话系列

行業(yè)應用
Applications
GD32H7系列IO口硬件濾波功能介紹
時(shí)間:2024-09-19 15:29 瀏覽人數:1580


題  

GD32H7系列作為國內首家M7內核MCU一經(jīng)問(wèn)世,迅速在國內市場(chǎng)得到了廣泛應用,其強大的功能滿(mǎn)足了客戶(hù)的多重需求。H7新增的IO口硬件濾波功能,曾在客戶(hù)干擾測試中發(fā)揮了重要作用,提高了客戶(hù)系統程序的魯棒性,讓客戶(hù)產(chǎn)品更具競爭能力。

“硬件濾波這么好用的功能,是不是引腳上來(lái)了什么妖魔鬼怪的干擾都能濾除呢?”帶著(zhù)這個(gè)問(wèn)題,我們來(lái)一看究竟。




H7簡(jiǎn)介

2023年5月11日業(yè)界領(lǐng)先的半導體器件供應商兆易創(chuàng )新GigaDevice (股票代碼 603986) 正式推出中國首款基于A(yíng)rm? Cortex?-M7內核的GD32H737/757/759系列超高性能微控制器。

GD32H7系列MCU采用基于A(yíng)rmv7E-M架構的600MHz Arm? Cortex?-M7高性能內核,憑借支持分支預測的6級超標量流水線(xiàn)架構,以及支持高帶寬的AXI和AHB總線(xiàn)接口,可實(shí)現更高的處理性能。內置了高級DSP硬件加速器和雙精度浮點(diǎn)單元(FPU),以及硬件三角函數加速器(TMU)和濾波算法加速器(FAC),大幅減輕了內核的負擔并有助于提升處理效率。    

GD32H7可廣泛用于數字信號處理、電機變頻、電源、儲能系統、無(wú)人機、音頻視頻、圖形圖像等各類(lèi)應用。得益于超高主頻以及大存儲容量,該系列MCU也適用于機器學(xué)習和人工智能等諸多高端創(chuàng )新場(chǎng)景。

1.png





IO口濾波功能介紹

GD32H7通過(guò)配置GPIOx_IFTP寄存器,可以為每個(gè)GPIO引腳選擇輸入濾波的類(lèi)型。對于配置為通用數字輸入引腳(GPIO)的情況下,濾波的方式可以是僅同步到CK_AHB或通過(guò)采樣窗口兩種方式來(lái)進(jìn)行,本文介紹采樣窗口濾波方式。

2.png


濾波原理:對信號的采樣獲得3個(gè)樣本或6個(gè)樣本,在輸入濾波類(lèi)型寄存器中(GPIOx_IFTP)有詳細的描述。每次采樣周期由GPIOx_IFL寄存器中的過(guò)濾采樣頻率(FLPRDx)位指定。三個(gè)或六個(gè)連續采樣周期組成一個(gè)采樣窗口,當采樣窗口采樣的數據保持相同時(shí),輸入的變化將傳遞給MCU。





官方案例分析

3.png

GD官方用戶(hù)手冊中給了一個(gè)案例,圖中Tsp表示一個(gè)采樣點(diǎn)周期,Tsw表示6個(gè)采樣點(diǎn)組成的一個(gè)采樣窗口周期。圖中上方是輸入的GPIO信號,下方是濾波后的GPIO輸入信號??梢钥吹?,濾波后的信號和濾波前的信號有延遲,時(shí)長(cháng)約為1個(gè)Tsw。A部分是干擾信號,由于A(yíng)部分高電平的持續時(shí)間小于Tsw,所以濾波后的信號可以看到A部分的干擾會(huì )被濾除掉。

結合上方講的原理,H7 IO口濾波又是怎么具體工作的呢?實(shí)際上,濾波過(guò)程就是一個(gè)滑動(dòng)濾波的過(guò)程,濾波的算法不是求樣本均值,而是采樣點(diǎn)全為一(零)則輸出為一(零),如果不為全相同,則參考采樣窗口第一個(gè)采樣的點(diǎn)值作為輸出。


4.png


我們看圖中左側第一個(gè)紅框,假如濾波從此刻開(kāi)始(下方紅色箭頭表示隨時(shí)間向右滑動(dòng),CK_AHB上升沿采樣),采樣的數據為1 1 0 0 0 0,不全相同,則參考第一個(gè)采樣點(diǎn)過(guò)濾器輸出為1。采樣窗口向右滑動(dòng)一個(gè)采樣周期,采樣的數據為1 0 0 0 0 0,參考第一個(gè)采樣點(diǎn)過(guò)濾器輸出為1。再滑動(dòng)一個(gè)采樣周期,采樣的數據為0 0 0 0 0 0,輸出為0。當滑動(dòng)到綠框位置時(shí),采樣的數據為0 0 0 0 0 1,1為干擾,過(guò)濾器輸出為0,成功過(guò)濾掉A部分干擾,濾波再往右移動(dòng)一個(gè)采樣周期,0 0 0 0 1 0,過(guò)濾器輸出為0,再次過(guò)濾掉A部分干擾。以此類(lèi)推,讀者可以計算出結果,從而可以看到A高電平干擾最后都被濾除掉了。





實(shí)際操作

已知某外部中斷引腳上會(huì )出現高電平噪聲致使程序非必要地跳轉到中斷服務(wù)子程序中,經(jīng)示波器觀(guān)察噪聲高電平持續時(shí)間不大于1us,AHB總線(xiàn)頻率fCK_AHB=300MHz。如何濾除掉這些噪聲呢?通過(guò)上述的學(xué)習,將GPIO口“濾波時(shí)間”設置為1us左右就可以將相應的噪聲濾除了。那么可以做如下配置和程序設計:

(1)寄存器操作

GPIOx_IFTP寄存器的IFTP0[1:0]=10,表示有6個(gè)采樣點(diǎn); 

GPIOx_IFL寄存器的FLPRD0=30,

采樣周期Tsp=2×FLPRD0×TCK_AHB=60×TCK_AHB。

(2)采樣周期計算

采樣寬度為:

Tsw=6×Tsp=6×2×FLPRD0×TCK_AHB=6×2×TCK_AHB; 

根據fCK_AHB=300MHz,采樣周期為:

Tsp=60×TCK_AHB=0.2us

采樣窗口的持續時(shí)間為:Tsw=6×Tsp=1.2us

(3)程序設計

程序假定使用PA0引腳做中斷,在PA0引腳外部中斷GPIO基礎配置之上添加IO口濾波配置程序即可:

gpio_input_filter_set(GPIOA,GPIO_ISPERIOD(30),GPIO_IFTYPE_6_SAMPLE,GPIO_PIN_0)。

(4)濾波結果

這樣設置6個(gè)采樣點(diǎn),采樣周期為0.2us。采樣窗口Tsw為1.2us,GPIO引腳上持續時(shí)間小于1us的噪聲就可以被濾掉了。實(shí)際上,也可以設置采樣窗口Tsw為1us,具體設置讀者可以參考上述步驟設置寄存器進(jìn)行配置。同時(shí)也注意,濾波有延遲,MCU會(huì )延時(shí)1.2us左右之后再響應中斷,注重實(shí)時(shí)性的研發(fā)方案要注意這種情況。




本文小結

本質(zhì)上講實(shí)際上只要干擾的電平(也可以說(shuō)是突然變化的電平)持續時(shí)間小于采樣窗口,才會(huì )被過(guò)濾掉。那么問(wèn)題來(lái)了,如果信號電平突然發(fā)生變化(1變0或0變1),變化后的電平持續時(shí)間大于采樣窗口會(huì )被濾除掉嗎?答案是不會(huì ),也就是說(shuō)IO口是個(gè)硬件,沒(méi)有思考能力,如果變化的電平持續時(shí)間大于采樣窗口,它不會(huì )認為是干擾。所以實(shí)際項目中一定要根據要根據要濾除的波形設定好采樣窗口大小,否則濾波會(huì )失敗。

還記得文章開(kāi)始提出的問(wèn)題嗎?

H7 GPIO濾波的使用有一定特點(diǎn):

(1)待濾除噪聲的持續時(shí)間必須小于有效信號的持續時(shí)間;也就是輸入信號必須是窄脈沖(相對采樣窗口而言),才能獲得較為穩定的濾波效果。

(2)實(shí)時(shí)性方面,濾波會(huì )帶來(lái)一定的延時(shí)(因為只有滿(mǎn)足“采樣窗口”全1 or 0樣本條件,才會(huì )輸出實(shí)際變化信號)。




91精品国产自产在线观看高清|国产被弄到高潮正在播放|天天射天天色天天干|日本一级二级三级久久|国产精品久久国产三级国电话系列