華大單片機特殊端口應用注意事項
本應用筆記主要包括: reset 端口復用為 i/o 功能外部晶振端口復用為 i/o 功能 swd 編程端口復用為 i/o 功能uart 編程端口復用為 i/o 功能 注意:- 本應用筆記為 華大單片機hc32l110 / hc32f003 / hc32f005 系列的應用補充材料,不能代替用戶手冊,具體功能及寄存器的操作等相關事項請以用戶手冊為準。
功能介紹
華大單片機gpio 是通用輸入輸出模塊,mcu 可將一個 io 設為模擬模式,作為 adc 輸入;設為數字輸入輸出,或是外設端口,供特定外設使用。使用端口功能前,需要先把 gpio 模塊時鐘控制功能打開。
本系列 gpio 的可復用的特殊端口有 reset、外部晶振引腳、swd、uart 編程接口等,用戶在不同的應用當中需要根據這些端口的特性及應用特點選擇不同的復用方式。
華大單片機特殊端口復用功能介紹
reset 引腳復用為輸入端口當外部復位引腳檢測到低電平時會產生一個系統復位。該復位引腳已內置上拉電阻,并集成了一個毛刺過濾電路。毛刺過濾電路會過濾小于 20us(典型值)的毛刺信號,因此,加到復位引腳上的低電平信號必須大于 20us,才能確保芯片可靠復位。reset 引腳可以復用為輸入端口 p0.0。如果要使用 reset 作為輸入端口 p0.0,
參考流程如下:
1. gpio 模塊時鐘控制功能打開:peri_clken.gpio 置為 1
2. 系統控制寄存器的 reset_use_io 時鐘控制位:sysctrl1. res_uio 使能
注意:- 在復用 reset 引腳作為輸入端口的時候,仍必須確保外圍電路的設計,在上電時要保證該引腳不能為低電平(low-level),否則程序無法運行。
- 該端口已經內置上拉電阻,所以該引腳即使作為輸入端口,也只能是作為“輸入且具有上拉功能的輸入端口”。
外部晶振端口復用為 i/o 端口
當不使用外部高速晶振或低速晶振時,以下端口可以復用為 i/o 功能。
x32mout p0.1
x32min p0.2
x32kout p1.5
x32kin p1.4
復用 i/o 功能流程如下:
1. gpio 模塊時鐘控制功能打開:peri_clken.gpio 置為 1。
2. p0.1 和 p0.2、p1.5 和 p1.4 需要配置為數字端口:p0ads 和 p1ads 相關位配置為 0。
3. 功能配置寄存器選為 gpio 功能:p01_sel,p02_sel,p15_sel,p14_sel 設為 0。
4. 選擇輸入輸出方向:設置 p00dir 和 p1dir 的相關位(0:輸出,1:輸入)
swd 調試編程端口復用為 i/o 功能
swd 端口作為該系列 mcu 的調試和端口,用戶可根據實際需求選擇是否預留該端口作為調試或量產編程使用。如果不需要使用 swd 端口作為調試編程,swclk 與 swdio 引腳可以復用為 i/o 引腳。復用 i/o 功能參考流程如下:
1. gpio 模塊時鐘控制功能打開:peri_clken.gpio 置為 1
2. 系統控制寄存器的 swd_use_io 時鐘控制位(sysctrl1. swd_uio)使能
3. p27_sel.sel 與 p31_sel.sel 設置為 0
4. p2dir.p27 與 p3dir.p31 設置為輸入或輸出
注意:- 從上電到 swd 被復用配置為 i/o 端口生效為止,p27 和 p31 引腳的電平默認為高電平,因此在外圍電路的設計中,應加以注意和規避。
- 當把 swd 端口復用為 i/o 功能時,通過 swd 的在線調試與功能就會失效。
- 在用戶調試時,可以通過串口擦除或其他沒有復用 swd 的程序恢復 swd 在線調試和功能,或者在應用程序中復用 swd 端口之前添加幾秒的延時。
uart 離線編程端口復用為 i/o 端口
該系列 mcu 使用 uart 端口 p3.5(tx)、p3.6(rx)作為離線編程功能,用戶在實際應用中可根據需求選擇是否預留該端口作為后續量產的燒錄端口。
為配合我司離線編程器進入模式,mcu 上電時 p3.5(tx)端口會輸出約 10ms 的高電平脈沖作為握手信號。應用中需要使用該端口(p3.5)作為輸出功能時,硬件電路應考慮規避該脈沖對整個應用的影響,或盡量避免使用該端口作為輸出功能。
通過上述介紹,配合 華大單片機hc32l110 / hc32f003 / hc32f005 系列的用戶手冊,我們可以了解到該系列 mcu 的特殊端口 reset 引腳、外部晶振引腳、swd 引腳、uart 端口在應用中被復用為 i/o 引腳的方法和注意事項。