99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

MMC中斷的特點及解決方案

STM32單片機 ? 來源:STM32單片機 ? 作者:STM32單片機 ? 2022-09-08 09:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、前言

STM32H7 以太網(wǎng)的 MMC(MAC management counter)中斷是個有點特別的中斷。特殊之處在于它是默認使能。如果我們在代碼里不針對 MMC 進行相關處理,就會造成一些異?,F(xiàn)象。我們先來看一個真實的客戶案例。

2、客戶案例

客戶使用 STM32H750 作為主控,與其他設備之間進行以太網(wǎng)通訊。

客戶在壓力測試中發(fā)現(xiàn):

? 設備從第一次通訊開始,累計 7 到 8 天,就會發(fā)現(xiàn) STM32H750 不再響應用戶的請求。

? 客戶通過使用 IDE 和添加輔助代碼可以發(fā)現(xiàn),STM32H750 會不停地進入以太網(wǎng)中斷,導致所使用的操作系統(tǒng)無法進行有效的系統(tǒng)調(diào)度。

? 問題發(fā)生后,客戶無論拔下網(wǎng)線或者再次連上網(wǎng)線,STM32H750 依然會不停的進入以太網(wǎng)中斷。

? 客戶嘗試使用 IDE 查看所有以太網(wǎng)寄存器,會發(fā)現(xiàn)有時侯能夠讓系統(tǒng)恢復正常。

3、分析

系統(tǒng)不停的進入以太網(wǎng)中斷,說明某個中斷在被某種條件下被不停的觸發(fā),或者中斷觸發(fā)后沒有被處理。進一步,當系統(tǒng)出現(xiàn)異常狀況后,拔掉網(wǎng)線,中斷依然不斷的進入,說明該異常并不需要外界不停的輸入,也就說明可能是中斷沒有被處理所導致。所以,客戶首先想到的是補全所有使能的以太網(wǎng)中斷的清除代碼。然而,客戶再次測試,卻發(fā)現(xiàn)累計 7 到 8 天,問題再次發(fā)生。

在這種情況下,為了深刻了解該狀況的原因,我們建議客戶,抓取異常時的寄存器現(xiàn)場,然后和正常狀態(tài)時的寄存器進行對比。我們在設備未發(fā)生異常前,抓取了以太網(wǎng)的三組寄存器 DMA、 MTL 和 MAC。同時,我們在發(fā)生異常后,在同一設備再次進行這三組寄存器的抓取。然后,我們使用文本比較工具,對兩次的寄存器進行比較。我們很快就可以發(fā)現(xiàn),MAC 寄存器存在值得關注的差異。MAC 寄存器對比如下:

7b81958c-2f0e-11ed-ba43-dac502259ad0.png

我們可以看到在系統(tǒng)異常情況下下,MMCRXIS 和 MMCIS 被置位了。

我們從參考手冊 RM0433 (STM32H742, STM32H743/753 and STM32H750 Value line advanced Arm-based 32-bit MCUs)(直接搜索關鍵子 MMCRXIS)中可以看到 MMCRXIS 和 MMCIS 表示系統(tǒng)收到了 MMC 接收中斷。

7ba9f158-2f0e-11ed-ba43-dac502259ad0.png

在兩次三組寄存器的比較中,我們看到系統(tǒng)生成了 MMC 接收中斷(MMC_RX_INTERRUPT 中 RXUCGPIS)。這個符合前文的 MMCRXIS 和 MMCIS 的狀態(tài)。

7bd3d662-2f0e-11ed-ba43-dac502259ad0.png

從參考手冊 RM0433 中我們可以看到,只要 MMC 選項使能,該中斷標志就為有效。但是我們并沒有使能 MMC 選項,甚至我們都沒有使能 MMC 中斷,為什么還是有中斷產(chǎn)生呢?

4、MMC 中斷的特點

MMC 選項其實是默認使能。我們可以從參考手冊 RM0433 中看到這一點。

7bf72810-2f0e-11ed-ba43-dac502259ad0.png

在 MMC 默認使能的情況下,什么情況下會產(chǎn)生中斷呢?

讓我們在 RM0433 里搜索下兩次寄存器比較發(fā)現(xiàn)的 RXUCGPIS 寄存器:

7c22b836-2f0e-11ed-ba43-dac502259ad0.png

綜合這兩點,我們可以認為,在長時間以太網(wǎng)收發(fā)包之后,MMC 中斷幾乎一定會發(fā)生。這符合客戶案例的場景,例如,重現(xiàn)這個問題需要 7 到 8 天。當然從這里我們也可以推斷出,我們?nèi)绻涌鞙y試數(shù)據(jù)包收發(fā)的發(fā)送,MMC 中斷會發(fā)生更早。那么,如何避免在產(chǎn)品應用中這種問題發(fā)生呢?

5、解決方案

1.1. 使用 MMC 中斷

MMC 中斷是個有用的功能。如果我們要使用的話,可以參考 MMC Rx interrupt register (ETH_MMC_RX_INTERRUPT)和 MMC Tx interrupt register (ETH_MMC_TX_INTERRUPT)的描述。我們需要對 MMC 進行一個讀的操作。

7c4baf2a-2f0e-11ed-ba43-dac502259ad0.png

7c80bae4-2f0e-11ed-ba43-dac502259ad0.png

這也解釋了,客戶為什么發(fā)現(xiàn),通過調(diào)試器一個一個去讀取以太網(wǎng)寄存器,會在某個操作時讓異常狀態(tài)恢復到正常。

1.2. 關閉MMC中斷

在很多情況下,MMC 中斷對實際產(chǎn)品沒有意義。例如,在這個案例中,我們可以選擇關閉 MMC中斷。這就需要用到 MMC 中斷的 mask 寄存器:

? MMC Rx interrupt mask register (ETH_MMC_RX_INTERRUPT_MASK)

? MMC Tx interrupt mask register (ETH_MMC_TX_INTERRUPT_MASK)

我們可以添加以下代碼到我們的應用代碼里

7cad0450-2f0e-11ed-ba43-dac502259ad0.png

客戶反饋找不到 ETH 的定義。其實在 STM32H7 的例程里,我們可以很容易發(fā)現(xiàn) ETH 定義在

STM32CubeRepositorySTM32Cube_FW_H7_V1.8.0DriversCMSISDeviceSTSTM32H7xxIncludestm32h750xx.h:

7cc7c3c6-2f0e-11ed-ba43-dac502259ad0.png

也就是說,如果你的工程代碼源自 STM32Cube 例程,你應該能夠加入以上代碼并且能夠成功運行。

在加入上述代碼或者類似操作后,客戶反饋,再次進行超過 7 天以上的壓力測試,系統(tǒng)運行正常。

6、總結

STM32H7 的 MMC 中斷需要加以注意,如果不使用 MMC,需要確保它已經(jīng)關閉;否則在經(jīng)過長時間網(wǎng)絡收發(fā)后,系統(tǒng)會產(chǎn)生并非用戶所期望的中斷,導致系統(tǒng)假死。另外,我們也看到了調(diào)試STM32 以太網(wǎng)的常規(guī)方式,也就是借助工具而不需要寫代碼就可以進行寄存器的比較。這種方法值得使用 STM32 以太網(wǎng)的用戶進行調(diào)試時參考。

審核編輯:湯梓紅

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

    關注

    41

    文章

    5642

    瀏覽量

    176063
  • STM32
    +關注

    關注

    2295

    文章

    11032

    瀏覽量

    365226
  • MMC
    MMC
    +關注

    關注

    0

    文章

    77

    瀏覽量

    31019
  • stm32h7
    +關注

    關注

    0

    文章

    37

    瀏覽量

    1753

原文標題:工程師筆記|STM32H7 以太網(wǎng)的 MMC 中斷

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    立體智慧倉儲解決方案.#云計算

    解決方案智能設備
    學習電子知識
    發(fā)布于 :2022年10月06日 19:45:47

    #硬聲創(chuàng)作季 #FPGA Xilinx入門-16 亞穩(wěn)態(tài)現(xiàn)象原理與解決方案-1

    fpgaXilinx解決方案
    水管工
    發(fā)布于 :2022年10月09日 01:44:30

    #硬聲創(chuàng)作季 #FPGA Xilinx入門-16 亞穩(wěn)態(tài)現(xiàn)象原理與解決方案-2

    fpgaXilinx解決方案
    水管工
    發(fā)布于 :2022年10月09日 01:45:00

    #硬聲創(chuàng)作季 #FPGA Xilinx入門-16 亞穩(wěn)態(tài)現(xiàn)象原理與解決方案-3

    fpgaXilinx解決方案
    水管工
    發(fā)布于 :2022年10月09日 01:45:22

    MMC卡靜電保護方案

    MMC
    上海雷卯電子科技有限公司
    發(fā)布于 :2023年04月17日 13:55:24

    MMC卡靜電保護方案

    靜電MMC靜電防護
    leiditechsh
    發(fā)布于 :2023年06月22日 20:55:54

    MMC卡有什么特點?

    MMC卡是有由美國SANDISK公司和德國西門子公司在1997年共同開發(fā)研制的一種多功能存儲卡。MMC卡采用7針的接口,主要應用于數(shù)碼相機、手機和一些PDA產(chǎn)品上,價格相對較貴。
    發(fā)表于 04-06 09:02

    室內(nèi)人員定位解決方案特點和應用

    室內(nèi)人員定位解決方案特點及應用
    發(fā)表于 12-21 07:45

    TI的指紋鑒別開發(fā)解決方案有什么特點?

    MS320C55x具有什么特點?TI的指紋鑒別開發(fā)解決方案有什么特點
    發(fā)表于 05-11 06:05

    MAXIM的MAX31865溫度檢測器解決方案有什么特點?

    MAX31865的基本特性是什么MAXIM的MAX31865溫度檢測器解決方案有什么特點?
    發(fā)表于 05-11 06:10

    多域SDON解決方案特點有哪些?

    SDON技術的主要優(yōu)勢是什么?多域SDON解決方案特點有哪些?光網(wǎng)絡虛擬化作為SDON的關鍵技術,面臨哪些技術難點?
    發(fā)表于 05-21 06:10

    STM32H7以太網(wǎng)的MMC中斷

    電子發(fā)燒友網(wǎng)站提供《STM32H7以太網(wǎng)的MMC中斷.pdf》資料免費下載
    發(fā)表于 09-20 09:11 ?0次下載
    STM32H7以太網(wǎng)的<b class='flag-5'>MMC</b><b class='flag-5'>中斷</b>

    mmc卡的使用方法 mmc卡和sd卡的區(qū)別

    MMC卡的使用方法 MMC卡(MultiMediaCard)是一種廣泛使用的小型存儲卡,主要用于手機、數(shù)碼相機等便攜式設備。以下是MMC卡的基本使用方法: 購買MMC卡 :根據(jù)設備需求
    的頭像 發(fā)表于 11-25 09:51 ?2530次閱讀

    mmc卡的容量大小有哪些

    在數(shù)字存儲技術的早期,隨著便攜式電子設備的普及,對于一種小型、高容量的存儲解決方案的需求日益增長。MMC(MultiMediaCard)應運而生,成為了當時市場上的主流存儲卡之一。 1. MMC
    的頭像 發(fā)表于 11-25 09:53 ?1224次閱讀

    mmc卡在智能手機中的應用

    1. 存儲擴展 智能手機的內(nèi)部存儲空間有限,尤其是對于那些喜歡拍照、錄像和下載大量應用的用戶來說,內(nèi)置存儲空間很快就會被填滿。MMC卡提供了一種簡單而有效的解決方案,通過插入一張MMC卡,用戶可以
    的頭像 發(fā)表于 11-25 09:57 ?726次閱讀