加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 1.GPIO中斷
    • 2.定時器輸入捕獲
    • 3.定時器用作計數(shù)
    • 總結(jié):
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

MCU如何實現(xiàn)對外部脈沖信號的計數(shù)功能?

2023/01/09
1567
閱讀需 4 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

有的傳感器會輸出脈沖信號,MCU需要統(tǒng)計脈沖輸入的個數(shù),通常有如下實現(xiàn)方式:

1.GPIO中斷

原理很簡單,利用GPIO的上升沿或者下降沿中斷,進(jìn)中斷的次數(shù)就是脈沖的個數(shù)。只需要在中斷服務(wù)函數(shù)里計數(shù)即可。

使用GPIO中斷需要注意:

    脈沖信號的頻率不能太高,否則MCU可能處理不過來GPIO中斷處理程序應(yīng)盡可能短,否則影響處理速度GPIO中斷優(yōu)先級應(yīng)高,否則會延遲對脈沖信號的處理

我們先用一個板子產(chǎn)生頻率為10Khz的PWM波,時長為100ms 。

下降沿的脈沖數(shù)理論為100ms/0.1ms=1000個,實際上因為有少許誤差,從上面邏輯分析儀可以看到實際脈沖數(shù)為1.009k,即1009個。然后將PWM接到另外一個板子的GPIO引腳上,開啟下降沿中斷,在中斷服務(wù)函數(shù)中計數(shù),可以看到實際值就是1009。

2.定時器輸入捕獲

輸入捕獲常用來測量脈沖寬度和頻率,它也可以用來對脈沖計數(shù)。它的原理和上述GPIO中斷類似,只不過用的是定時器的輸入捕獲中斷。

3.定時器用作計數(shù)

定時器和計數(shù)器其實很相似,只不過定時器是對內(nèi)部的時鐘脈沖進(jìn)行計數(shù),計數(shù)到一定數(shù)值時就可以根據(jù)頻率,計算出時間。

而計數(shù)器是對外部脈沖進(jìn)行計數(shù),即外部引腳每發(fā)生一次變化,計數(shù)器就計數(shù)一次。

可以將外部脈沖信號接入到MCU的TIMx_ETR引腳,就可以使用MCU的定時器來計數(shù)。

它的使用也很簡單,主要就是配置TIMx_SMCR寄存器(slave mode control register),具體可以參考芯片參考手冊。

可以看到定時器CNT的值就是脈沖的個數(shù)。

總結(jié):

1)盡量使用TIMER ETR引腳通過計數(shù)器方式來實現(xiàn)脈沖計數(shù),如果條件不允許,外部脈沖輸入頻率不是很高,也可以使用GPIO中斷來實現(xiàn),不過還是要同時考慮高頻中斷對整體系統(tǒng)的影響。比如上面MCU主頻是48Mhz,將10Khz調(diào)整為100Khz,實測GPIO中斷還可以準(zhǔn)確計數(shù),但是當(dāng)再繼續(xù)增大到1Mhz時,就處理不過來了,實測發(fā)出約50000個脈沖,GPIO中斷只測出了10206個,而使用計數(shù)器模式則可以準(zhǔn)確的計數(shù)。

2)如果使用GPIO中斷計數(shù),要特別注意GPIO上不能有接地的電容,否則會改變脈沖波形,導(dǎo)致錯誤的計數(shù)。

關(guān)注公眾號,掃碼加入嵌入式交流群:

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
STM32F429ZIT6XXXTR 1 STMicroelectronics IC,MICROCONTROLLER,32-BIT,CORTEX-M4F CPU,CMOS,QFP,144PIN,PLASTIC
暫無數(shù)據(jù) 查看
STM32F207ZGT6TR 1 STMicroelectronics High-performance Arm Cortex-M3 MCU with 1 Mbyte of Flash memory, 120 MHz CPU, ART Accelerator, Ethernet

ECAD模型

下載ECAD模型
$13.88 查看
STM32H743VIT6 1 STMicroelectronics High-performance and DSP with DP-FPU, Arm Cortex-M7 MCU with 2MBytes of Flash memory, 1MB RAM, 480 MHz CPU, Art Accelerator, L1 cache, external memory interface, large set of peripherals

ECAD模型

下載ECAD模型
$20.56 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

TopSemic,讓芯片使用更簡單。 專注分享:嵌入式,單片機,STM32,ARM,RTOS,Linux, 軟硬件,半導(dǎo)體,電子技術(shù)等相關(guān)內(nèi)容。