芯馳 E3 MCAL - DIO & PORT & MRT & WDOG 配置使用

前言

       本片博文將以 MCAL 使用者的角度,配置使用芯馳 E3640 Gateway 開發板的 MACL 的 DIO、PORT、WDOG 模塊。目的是通過 MCAL 配置出 GPIO Toggle 輸出和 PINT 中斷檢測,使用 WDOG 配合 GPT 模塊實現定時餵狗,超時復位。

使用工具

  • EB Tresos 26.2
  • IAR 9.30.1
  • 芯馳 E3640 Gateway 開發板

DIO & PORT 配置

        對於 E3640 的 GPIO,每一個 GPIO 對應一個 DIO Channel ID,範圍由 0-213 一個 Port 下可以分配多個 Channel ID。

        DIO 配置:需確定 GPIO 的 DIO Channel ID(見圖 1)和 Port(見表 1)。

圖 1. DIO Channel ID

Port

Channel ID

0

0-31

1

32-63

2

64-95

3

96-127

4

128-134

5

135-166

6

167-198

7

199-213

表 1. GPIO Port

        Port 配置:

  • 在mcal 的 Port 處正常配置 GPIO 的輸入輸出,上下拉即可實現
  • 對於 GPIO中斷的使用,需要在 Port 處使能中斷即可。

GPIO Toggle 輸出

        控制 GPIO S6

  • 配置 DIO:S6 的 DIOChannel ID 為 107,Port 為 Port3,因此配置如圖 2:

 

圖 2. S6 的 DIO

  • 配置 Port:見圖 3。



圖 3. S6 Port 配置


        DIO TEST 程序:

 

圖 4. DIO TEST 程序


        下載燒錄,程序運行,在串口控制台輸入:dio test,如圖 5,S6 正常翻轉。

 

圖 5. S6 正常翻轉


GPIO 中斷檢測

  • 使用 S4 作為中斷檢測腳,配置其 DIO和 Port,見圖 6:

 



 

 

圖 6. S4 DIO 和 Port 配置


        使用 GPIO 中斷,需將配置好的 GPIO 腳的總中斷打開,需要根據 GPIO 的 Port 找到對應的中斷序列號,見圖 8。

 

圖 7. 根據 GPIO 的 Port 找到對應的中斷序列號


        在 DIO TEST 例程中添加綁定和使能中斷的函數:

 

圖 8. 在例程運行時綁定並使能 GPIO 中斷


      在中斷服務函數中:

 

圖 9. 在中斷服務函數中進行列印

        將 S6 的輸出接到 S4 上,發現在 dio test 進入時,即使不讓 S6 toogle,S4 也會進入中斷一次,之後再輸入 dio test 則不會自動進入中斷,因此一次測試得到的進入中斷的次數為 21 次。

 

圖 10. 在中斷服務函數中進行列印

WDG 看門狗:

        不同的看門狗在不同的核中,1和2在 SF 核,3 和 4 在 FP 核,5 和 6 在 FX 核。

        在 SF 核里跑的程序,使用看門狗 1 或 2。

        WdgInitialTimeout 是初始情況下的超時配置,在不進行餵狗的情況下,超過 WdgInitialTimeout 將導致看門狗中斷(此值似乎要與 WdgSettingsConfig_4 下的 WdgTimeoutPeriod (0 -> 65535) 值一致)。

 

圖 11. 看門狗初始配置

        在 WdgSettingsConfig_4 下配置 WDT2 為 WDGIF_SLOW_MODE 模式,看門狗超時時間為 1000ms,窗口時間為 500ms。

 

圖 12. 看門狗基礎配置

 

圖 13. 看門狗超時時間設置

        程序如下,GPT 定時 750ms 進行中斷,在中斷中進行餵狗,進行測試,Debug 模式下復位後串口無法使用,程序不能復位運行:

        在 gpt_example 中 gpt6_irq_test 綁定測試例程 201:

 

圖 14. GPT 測試函數綁定

        對於餵狗的程序,Wdg_SetTriggerCondition 的參數 Timeout,最終設定 WDT 的 WTC 寄存器,即重新設定了超時時間,因此,此值應和 EB 中設定的超時時間一致。

 


圖 15. GPT 和看門狗測試程序


圖 16. 10 次餵狗後復位

參考資料

  1. 《E3400_E3600_MCU_Datasheet_Rev00.19.pdf》
  2. 《E3400_E3600_MCU_Technical_Reference_Manual_Rev00.12.pdf》

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論