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