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

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

MMC中斷的特點(diǎn)及解決方案

STM32單片機(jī) ? 來(lái)源:STM32單片機(jī) ? 作者:STM32單片機(jī) ? 2022-09-08 09:17 ? 次閱讀

1、前言

STM32H7 以太網(wǎng)的 MMC(MAC management counter)中斷是個(gè)有點(diǎn)特別的中斷。特殊之處在于它是默認(rèn)使能。如果我們?cè)诖a里不針對(duì) MMC 進(jìn)行相關(guān)處理,就會(huì)造成一些異常現(xiàn)象。我們先來(lái)看一個(gè)真實(shí)的客戶(hù)案例。

2、客戶(hù)案例

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

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

? 設(shè)備從第一次通訊開(kāi)始,累計(jì) 7 到 8 天,就會(huì)發(fā)現(xiàn) STM32H750 不再響應(yīng)用戶(hù)的請(qǐng)求。

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

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

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

3、分析

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

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

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

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

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

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

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

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

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

4、MMC 中斷的特點(diǎn)

MMC 選項(xiàng)其實(shí)是默認(rèn)使能。我們可以從參考手冊(cè) RM0433 中看到這一點(diǎn)。

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

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

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

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

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

5、解決方案

1.1. 使用 MMC 中斷

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

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

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

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

1.2. 關(guān)閉MMC中斷

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

? MMC Rx interrupt mask register (ETH_MMC_RX_INTERRUPT_MASK)

? MMC Tx interrupt mask register (ETH_MMC_TX_INTERRUPT_MASK)

我們可以添加以下代碼到我們的應(yīng)用代碼里

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

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

STM32CubeRepositorySTM32Cube_FW_H7_V1.8.0DriversCMSISDeviceSTSTM32H7xxIncludestm32h750xx.h:

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

也就是說(shuō),如果你的工程代碼源自 STM32Cube 例程,你應(yīng)該能夠加入以上代碼并且能夠成功運(yùn)行。

在加入上述代碼或者類(lèi)似操作后,客戶(hù)反饋,再次進(jìn)行超過(guò) 7 天以上的壓力測(cè)試,系統(tǒng)運(yùn)行正常。

6、總結(jié)

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

審核編輯:湯梓紅

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

    關(guān)注

    40

    文章

    5547

    瀏覽量

    174175
  • STM32
    +關(guān)注

    關(guān)注

    2283

    文章

    10986

    瀏覽量

    361253
  • MMC
    MMC
    +關(guān)注

    關(guān)注

    0

    文章

    77

    瀏覽量

    30819
  • stm32h7
    +關(guān)注

    關(guān)注

    0

    文章

    37

    瀏覽量

    1753

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

文章出處:【微信號(hào):STM32_STM8_MCU,微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    立體智慧倉(cāng)儲(chǔ)解決方案.#云計(jì)算

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

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

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

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

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

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

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

    MMC卡靜電保護(hù)方案

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

    MMC卡靜電保護(hù)方案

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

    MMC卡有什么特點(diǎn)

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

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

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

    TI的指紋鑒別開(kāi)發(fā)解決方案有什么特點(diǎn)

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

    MAXIM的MAX31865溫度檢測(cè)器解決方案有什么特點(diǎn)

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

    多域SDON解決方案特點(diǎn)有哪些?

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

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

    電子發(fā)燒友網(wǎng)站提供《STM32H7以太網(wǎng)的MMC中斷.pdf》資料免費(fèi)下載
    發(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)是一種廣泛使用的小型存儲(chǔ)卡,主要用于手機(jī)、數(shù)碼相機(jī)等便攜式設(shè)備。以下是MMC卡的基本使用方法: 購(gòu)買(mǎi)MMC卡 :根據(jù)設(shè)備需求
    的頭像 發(fā)表于 11-25 09:51 ?1421次閱讀

    mmc卡的容量大小有哪些

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

    mmc卡在智能手機(jī)中的應(yīng)用

    1. 存儲(chǔ)擴(kuò)展 智能手機(jī)的內(nèi)部存儲(chǔ)空間有限,尤其是對(duì)于那些喜歡拍照、錄像和下載大量應(yīng)用的用戶(hù)來(lái)說(shuō),內(nèi)置存儲(chǔ)空間很快就會(huì)被填滿(mǎn)。MMC卡提供了一種簡(jiǎn)單而有效的解決方案,通過(guò)插入一張MMC卡,用戶(hù)可以
    的頭像 發(fā)表于 11-25 09:57 ?523次閱讀
    主站蜘蛛池模板: 国产天美| 国产午夜视频在线观看第四页 | 黑人破乌克兰美女处 | 国产激烈无遮挡免费床戏视频 | 最色成人网| 婷婷香蕉| 91色多多| 午夜性视频 | 欧美xx高清| 人人看人人做人人爱精品 | 最近最新视频中文字幕4 | 国产黄色在线网站 | 色多多免费视频观看区一区 | 婷婷九月 | 天天影视欧美综合在线观看 | 色优久久| 天天操天天干天天透 | 日韩卡1卡2卡三卡四卡二卡免 | 久久久久毛片成人精品 | 欧美在线精品一区二区三区 | 成人午夜大片免费7777 | 黄色网页在线播放 | 91大神精品全国在线观看 | 日韩在线三级视频 | 在线观看日本免费视频大片一区 | 亚洲国产成人久久一区久久 | 久久天天 | 久久99精品福利久久久 | 色老头成人免费视频天天综合 | 美女露出尿口让男人桶爽网站 | 久久两性视频 | 免费的黄色片 | 日日摸人人看97人人澡 | 国产一级特黄高清免费大片 | 1000部禁片黄的免费看 | 好硬好大好爽女房东在线观看 | 国产在线永久视频 | 天堂网免费 | sihu国产午夜精品一区二区三区 | 国产馆精品推荐在线观看 | 韩国黄色三级视频 |