電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 16|回復(fù): 0
收起左側(cè)

對比恩智浦全系列MCU的GPIO電平中斷設(shè)計差異

[復(fù)制鏈接]

302

主題

307

帖子

1896

積分

三級會員

Rank: 3Rank: 3

積分
1896
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2023-2-4 22:31:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是恩智浦全系列MCU(包含Kinetis, LPC, i.MXRT, MCX)的GPIO電平中斷設(shè)計差異。
' e% H; u8 E8 B9 R% S9 t在痞子衡舊文 《以i.MXRT1xxx的GPIO模塊為例談?wù)勚袛嗵幚砗瘮?shù)(IRQHandler)的標準流程》里,痞子衡主要介紹得是 GPIO 一般控制以及最常用的輸入邊沿中斷相關(guān)知識。最近恩智浦官方社區(qū)有用戶反映 i.MXRT1060 上 GPIO 中斷狀態(tài)寄存器(GPIO->ISR)在發(fā)生有效電平中斷后的置位并不需要手動清零(W1C),其會在 I/O 輸入電平狀態(tài)切換后自動清零,這和手冊里描述不一致。
- N: E9 s1 R4 O  d1 D首先在痞子衡的認知里 GPIO 輸入電平中斷沒有什么具體應(yīng)用場景,想象一下,如果 GPIO 中斷事件由輸入電平值來觸發(fā),如果發(fā)生了有效輸入電平且其狀態(tài)不改變,那么 GPIO 中斷響應(yīng)函數(shù)就會被不斷重復(fù)執(zhí)行(此時 CPU 時間片無法再分給主函數(shù)),什么樣的任務(wù)需要這樣的處理呢?暫且不論應(yīng)用場景,痞子衡今天就從恩智浦全系列 MCU 這方面的行為角度來做一下對比吧。
9 c2 {  G  _4 b9 S8 ^一、I/O中斷控制模塊差異恩智浦現(xiàn)有的經(jīng)典 Arm Cortex-M MCU 產(chǎn)品線共有如下五大類,它們在 GPIO 一般控制和中斷控制外設(shè)上是有差異的。首先 i.MXRT四位數(shù)/Kinetis/LPC 這三條線各自是完全不同的外設(shè),然后 i.MXRT三位數(shù)是在 LPC 外設(shè)基礎(chǔ)上做了增強,而最新的 MCX 系列則是組合了 Kinetis 和 LPC 外設(shè)。
6 X/ F  o# p4 `% M' B芯片系列I/O一般控制I/O中斷控制KinetisGPIO type1PORTLPCGPIO type2PINTi.MXRT四位數(shù)GPIO type3GPIO type3i.MXRT三位數(shù)GPIO type2GPIO type2(增加interrupt A/B)
! [4 j2 Z6 |* ^# g            PINTMCXGPIO type1GPIO type1(集成Kinetis PORT)$ k6 a2 ]* _, z$ V
            PINT二、不同系列MCU下測試結(jié)果根據(jù)上一節(jié)外設(shè)情況我們知道,只要測試了 i.MXRT四位數(shù)/Kinetis/LPC 這三個系列的情況,剩下兩個系列自然也就不用測試了。
5 t. u1 W5 C/ r1 H; g+ M2.1 KinetisKinetis 系列分為 K/KL/KE/KS/KW/KV/KM/K32L 等若干子系列,但是它們關(guān)于 GPIO 中斷設(shè)計這一塊是一樣的。痞子衡選取了 MKL03Z 這顆芯片來做的測試,查看其手冊 PORTx->PCRn[ISF] 位或者 PORTx->ISFR 寄存器均標記了中斷狀態(tài),并且標明了需要做 W1C 操作。
回復(fù)

使用道具 舉報

發(fā)表回復(fù)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表