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

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

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

AT32講堂045 | 雅特力AT32F435/437xx GPIO使用指南

雅特力 AT32 MCU ? 2023-02-22 11:22 ? 次閱讀

GPIO特性

最大封裝(144pin)具有116個多功能雙向的I/O口;

所有I/O口都可以映射到16個外部中斷;

絕大部分I/O口可容忍5V輸入信號;

所有I/O口均為快速I/O,寄存器存取速度最高fAHB;

I/O引腳的外設(shè)功能可以通過一個特定的操作來開啟寫保護(hù),以避免意外的寫入I/O寄存器;

每個GPIO引腳都可以由軟件配置成輸出(推挽或開漏)、輸入(帶或不帶上拉或下拉)或復(fù)用的外設(shè)功能端口;

可選的每個I/O口的電流推動/吸入能力;

端口位設(shè)置/清除寄存器(GPIOx_SCR)和端口位清除寄存器(GPIOx_CLR)為GPIOx_ODT寄存器提供位訪問能力。

GPIO

GPIO在復(fù)位期間和剛復(fù)位后,復(fù)用功能未開啟,大部分I/O端口被配置成浮空輸入模式。當(dāng)作為輸出配置時,寫到輸出數(shù)據(jù)寄存器(GPIOx_ODT)上的值會輸出到相應(yīng)的I/O引腳??梢砸酝仆炷J交蜷_漏模式(僅低電平被驅(qū)動,高電平表現(xiàn)為高阻)使用輸出驅(qū)動器。輸入數(shù)據(jù)寄存器(GPIOx_IDT)在每個AHB時鐘周期捕捉I/O引腳上的數(shù)據(jù)。所有GPIO引腳有一個內(nèi)部弱上拉和弱下拉,它們被激活或斷開有賴于GPIOx_PULL寄存器的值。圖1. I/O端口位的基本結(jié)構(gòu)b1e3255a-b1f4-11ed-ad0d-dac502259ad0.png表1. I/O端口位配置表b20b7a96-b1f4-11ed-ad0d-dac502259ad0.png

GPIO toggle

AT32F435/437提供的I/O口均為快速I/O,寄存器存取速度最高為fAHB,所以可以看到在主頻為240MHz時,GPIO翻轉(zhuǎn)頻率能夠輕松達(dá)到120MHz:圖2. I/O翻轉(zhuǎn)速度b24a4f1e-b1f4-11ed-ad0d-dac502259ad0.png

IO引腳的5V or 3.3V容忍

標(biāo)準(zhǔn)3.3V容忍引腳(TC)所有振蕩器USB_OTG用到的引腳都是標(biāo)準(zhǔn)3.3V容忍引腳。

PC14/PC15(LEXT_IN/OUT)

PH0/PH1(HEXT_IN/OUT)

PA11/PA12(OTGFS1_D-/D+)

PB14/PB15(OTGFS2_D-/D+)

表2. TC引腳示例b27f7162-b1f4-11ed-ad0d-dac502259ad0.png模擬功能5V容忍引腳(FTa)ADC占用端口為帶模擬功能5V容忍引腳。

PA0–PA7,PB0–PB1,PC0–PC5,PF3–PF10

FTa引腳設(shè)置為輸入浮空、輸入上拉、或輸入下拉時,具有5V電平容忍特性;設(shè)置為模擬模式時,不具5V電平容忍特性,此時輸入電平必須小于VDD+0.3V

表3. FTa引腳示例b2a27b44-b1f4-11ed-ad0d-dac502259ad0.png帶20mA吸入能力5V容忍引腳(FTf部分I2C可提供帶20mA吸入能力的5V容忍引腳。表4. FT引腳示例b2c8cd58-b1f4-11ed-ad0d-dac502259ad0.png5V容忍引腳(FT)其余的GPIO都為5V容忍引腳。表5. FT引腳示例b2ec9fbc-b1f4-11ed-ad0d-dac502259ad0.png

IOMUX

I/O復(fù)用功能輸入/輸出

大多數(shù)外設(shè)共享同一個GPIO引腳(比如PA0,可作為TMR2_CH1/TMR2_EXT/TMR5_CH1/TMR8_EXT/I2C2_SCL/USART2_CTS)

而對某個具體的GPIO引腳,在任意時刻只有一個外設(shè)能夠與之相連

某些外設(shè)功能還可以重映射到其他引腳,從而使得能同時使用的外設(shè)數(shù)量更多

選擇每個端口線的有效復(fù)用功能之一是由兩個寄存器來決定的,分別是GPIOx_MUXL和GPIOx_MUXH復(fù)用功能寄存器??筛鶕?jù)應(yīng)用的需求用這兩寄存器連接復(fù)用功能模塊到其他引腳。表6. 通過GPIOA_AFR寄存器配置端口A的復(fù)用功能b308b954-b1f4-11ed-ad0d-dac502259ad0.pngb34163d0-b1f4-11ed-ad0d-dac502259ad0.png表7. 通過GPIOB_AFR寄存器配置端口B的復(fù)用功能b36b6860-b1f4-11ed-ad0d-dac502259ad0.pngb3a8a1d0-b1f4-11ed-ad0d-dac502259ad0.png表8. 通過GPIOF_AFR寄存器配置端口C的復(fù)用功能b4078f92-b1f4-11ed-ad0d-dac502259ad0.pngb43450a4-b1f4-11ed-ad0d-dac502259ad0.png表9. 通過GPIOF_AFR寄存器配置端口D的復(fù)用功能b46fd4e4-b1f4-11ed-ad0d-dac502259ad0.pngb490f192-b1f4-11ed-ad0d-dac502259ad0.png表10.通過GPIOF_AFR寄存器配置端口E的復(fù)用功能b4c589f2-b1f4-11ed-ad0d-dac502259ad0.pngb4f26c60-b1f4-11ed-ad0d-dac502259ad0.png表11.通過GPIOF_AFR寄存器配置端口F的復(fù)用功能b523fc94-b1f4-11ed-ad0d-dac502259ad0.pngb5507daa-b1f4-11ed-ad0d-dac502259ad0.png表12.通過GPIOF_AFR寄存器配置端口G的復(fù)用功能b57a1a0c-b1f4-11ed-ad0d-dac502259ad0.pngb5d27986-b1f4-11ed-ad0d-dac502259ad0.png表13.通過GPIOF_AFR寄存器配置端口H的復(fù)用功能b6092800-b1f4-11ed-ad0d-dac502259ad0.pngb62b3562-b1f4-11ed-ad0d-dac502259ad0.png

特殊I/O

調(diào)試復(fù)用引腳

在復(fù)位時,和復(fù)位后不像其他GPIO一樣處于浮空輸入狀態(tài),而是處于AF模式

PA13:JTMS/SWDIO,AF上拉

PA14:JTCK/SWCLK,AF下拉

PA15:JTDI,AF上拉

PB3:JTDO/SWO,AF浮空

PB4:JNTRST,AF上拉

振蕩器復(fù)用引腳

振蕩器關(guān)閉的狀態(tài)下(復(fù)位后的默認(rèn)狀態(tài)),相關(guān)引腳可用作GPIO

振蕩器使能狀態(tài)下,相應(yīng)引腳的GPIO配置無效

振蕩器處于bypass模式(使用外部時鐘源)時,HEXT_IN/LEXT_IN為振蕩器時鐘輸入引腳,HEXT_OUT/LEXT_OUT可做GPIO使用

電池供電域引腳

電池供電域引腳包括PC13、PC14以及PC15。電池供電域由VDD或VBAT引腳供電,當(dāng)VDD主 電源被切斷時,電池供電域自動切換至VBAT引腳供電,以保障ERTC正常工作。

當(dāng)電池供電域由VDD供電時,PC13可以作為通用I/O口、TAMPER引腳、ERTC校準(zhǔn)時鐘、ERTC鬧鐘或秒輸出,PC14和PC15可以用于GPIO或LEXT引腳。(PC13至PC15作為I/O口的速度必須限制在2MHz以下,最大負(fù)載為30pF,而且這些I/O口絕對不能當(dāng)作電流源)。

當(dāng)電池供電域由VBAT供電時,PC13可以作為TAMPER引腳、ERTC鬧鐘或秒輸出,PC14和PC15只能用于LEXT引腳。

GPIO固件驅(qū)動程序API

Artery提供的固件驅(qū)動程序包含了一系列固件函數(shù)來管理GPIO的下列功能:

GPIO寄存器復(fù)位

初始化配置

讀取輸入端口或某個輸入引腳

讀取輸出端口或某個輸出引腳

設(shè)置或清除某個引腳的輸出

鎖定引腳

引腳的復(fù)用功能配置

輸出模式

GPIO提供了兩種不同類型的輸出模式分別是,推挽輸出以及開漏輸出,下面是輸出模式的配置示例:b64f1e1e-b1f4-11ed-ad0d-dac502259ad0.png

輸入模式

GPIO提供了三種不同類型的輸入模式分別是,浮空輸入、上拉輸入以及下拉輸入,下面是輸入模式的配置示例:b680243c-b1f4-11ed-ad0d-dac502259ad0.png

模擬模式

當(dāng)需要使用ADC或COMP通道作為輸入時,需要將相應(yīng)的引腳配置為模擬模式,下面是模擬模式的配置示例:b69feee8-b1f4-11ed-ad0d-dac502259ad0.png

復(fù)用模式

不論使用何種外設(shè)模式,都必須將I/O配置為復(fù)用功能,之后系統(tǒng)才能正確使用I/O(輸入或輸出)。

I/O引腳通過復(fù)用器連接到相應(yīng)的外設(shè),該復(fù)用器一次只允許一個外設(shè)的復(fù)用功能(IOMUX)連接到I/O引腳。這樣便可確保共用同一個I/O引腳的外設(shè)之間不會發(fā)生沖突。每個I/O引腳都有一個復(fù)用器,該復(fù)用器具有16路復(fù)用功能輸入/輸出(MUX0到MUX15),可通過gpio_pin_mux_config()函數(shù)對這些引腳進(jìn)行配置:

—復(fù)位后,所有I/O都會連接到系統(tǒng)的復(fù)用功能0(MUX_0)

—通過配置MUX0到MUX15可以映射外設(shè)的復(fù)用功能

除了這種靈活的I/O復(fù)用架構(gòu)之外,各外設(shè)還具有映射到不同I/O引腳的復(fù)用功能,這可以針對不同器件封裝優(yōu)化外設(shè)I/O功能的數(shù)量;例如,可將USART2_TX引腳映射到PA2或PA14引腳上。

配置過程:

—使用gpio_pin_mux_config()函數(shù)將引腳連接到所需的外設(shè)復(fù)用功能,例如配置PA0作為TMR2_EXT輸入

gpio_pin_mux_config(GPIOA,GPIO_PINS_SOURCE0,GPIO_MUX_1);

—使用gpio_init()函數(shù)配置I/O引腳:

  1. -通過以下方式配置復(fù)用功能模式下的所需引腳gpio_init_struct.gpio_mode=GPIO_MODE_MUX;-通過以下成員選擇類型、上拉/下拉和驅(qū)動能力gpio_pull、gpio_out_type和gpio_drive_strength成員

根據(jù)上述配置過程,下面將介紹幾種外設(shè)的常用配置示例。USART I/O復(fù)用模式配置b6d73c86-b1f4-11ed-ad0d-dac502259ad0.pngTMR I/O復(fù)用模式配置b709a2ca-b1f4-11ed-ad0d-dac502259ad0.pngI2C I/O復(fù)用模式配置b7350528-b1f4-11ed-ad0d-dac502259ad0.png

案例 LED翻轉(zhuǎn)

功能簡介

通過系統(tǒng)時鐘延時來對LED進(jìn)行翻轉(zhuǎn)。

資源準(zhǔn)備

1) 硬件環(huán)境:對應(yīng)產(chǎn)品型號的AT-START BOARD2) 軟件環(huán)境:project\at_start_f437\examples\gpio\led_toggle

軟件設(shè)計

1) 配置流程

配置系統(tǒng)時鐘;

初始化延時函數(shù)和LED;

翻轉(zhuǎn)LED。

2) 代碼介紹

main函數(shù)代碼描述

b75d1220-b1f4-11ed-ad0d-dac502259ad0.png

LED翻轉(zhuǎn)代碼描述

b7814622-b1f4-11ed-ad0d-dac502259ad0.png

實(shí)驗(yàn)效果

上電運(yùn)行會看到LED2、LED3和LED4以間隔200ms時間交替的進(jìn)行翻轉(zhuǎn)。

案例 SWJTAG接口復(fù)用

功能簡介

對SWJTAG接口的I/O進(jìn)行復(fù)用。

資源準(zhǔn)備

3) 硬件環(huán)境:對應(yīng)產(chǎn)品型號的AT-START BOARD4) 軟件環(huán)境:project\at_start_f437\examples\gpio\swjtag_mux

軟件設(shè)計

3) 配置流程

配置系統(tǒng)時鐘;

初始化延時函數(shù);

配置SWJTAG接口的復(fù)用和USART2初始化。

4) 代碼介紹

main函數(shù)代碼描述

b7b9873a-b1f4-11ed-ad0d-dac502259ad0.png

SWJ配置代碼描述

b7e64c34-b1f4-11ed-ad0d-dac502259ad0.png

實(shí)驗(yàn)效果

將PA13接示波器,PA14接入串口打印工具;

程序運(yùn)行過程中PA13每隔500ms會翻轉(zhuǎn)一次,表示jtms/swdio引腳已被用為GPIO使用;

PA14接入串口打印工具后,每隔500ms會看到USART2_TX打印主循環(huán)執(zhí)行次數(shù)。

關(guān)于雅特力雅特力科技于2016年成立,是一家致力于推動全球市場32位微控制器(MCU)創(chuàng)新趨勢的芯片設(shè)計公司,專注于ARM Cortex-M4/M0+的32位微控制器研發(fā)與創(chuàng)新,全系列采用55nm先進(jìn)工藝及ARM Cortex-M4高效能或M0+低功耗內(nèi)核,締造M4業(yè)界最高主頻288MHz運(yùn)算效能,并支持工業(yè)級別芯片工作溫度范圍(-40°~105°)。雅特力目前已累積相當(dāng)多元的終端產(chǎn)品成功案例:如微型打印機(jī)、掃地機(jī)、光流無人機(jī)、熱成像儀、激光雷達(dá)、工業(yè)縫紉機(jī)、伺服驅(qū)控、電競周邊市場、斷路器、ADAS、T-BOX、數(shù)字電源、電動工具等終端設(shè)備應(yīng)用,廣泛地覆蓋5G、物聯(lián)網(wǎng)、消費(fèi)、商務(wù)及工控等領(lǐng)域。

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

    關(guān)注

    16

    文章

    1184

    瀏覽量

    51766
  • AT32
    +關(guān)注

    關(guān)注

    1

    文章

    110

    瀏覽量

    2051
收藏 人收藏

    評論

    相關(guān)推薦

    AT32講堂088 | AT32F402/F405時鐘配置

    介紹如何結(jié)合提供的V2.x.x的板級支持包(BSP)來配置時鐘。以下介紹時鐘配置的方法主要分兩種:1、以手動編寫代碼調(diào)用BSP中提供的驅(qū)動函數(shù)接口來進(jìn)行時鐘配
    的頭像 發(fā)表于 09-15 08:08 ?290次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>088 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32<b class='flag-5'>F</b>402/<b class='flag-5'>F</b>405時鐘配置

    AT32講堂087 | AT32 IDE快速入門指南

    新建項(xiàng)目新項(xiàng)目向?qū)T32ID提供支持MCU的C語言項(xiàng)目模板,方便用戶快速創(chuàng)建項(xiàng)目。菜單欄【File】>【New】>【CProject】。新建項(xiàng)目向?qū)У膶υ捒驅(qū)⒊霈F(xiàn)。在對
    的頭像 發(fā)表于 09-15 08:08 ?263次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>087 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> IDE快速入門<b class='flag-5'>指南</b>

    AT32講堂085 | AT32 MCU HICK時鐘校準(zhǔn)

    簡介AT32系列MCU內(nèi)部都有提供適合運(yùn)行的內(nèi)部高速時鐘(HICK),其本質(zhì)就是內(nèi)置于芯片的RC振蕩器。在25℃下,其典型值頻率8MHz的精度由工廠校準(zhǔn)到±1%,在-40到105℃,該內(nèi)部高速時鐘
    的頭像 發(fā)表于 08-30 12:26 ?416次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>085 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> MCU HICK時鐘校準(zhǔn)

    AT32 MCU通過IEC 60730功能安全認(rèn)證,為家電產(chǎn)品提供安全保障

    ??近日,AT32MCU安全庫順利通過IEC60730功能安全認(rèn)證,為家電產(chǎn)品提供安全質(zhì)量保證。國際公認(rèn)的測試、檢驗(yàn)和認(rèn)證機(jī)構(gòu)SGS為
    的頭像 發(fā)表于 05-20 08:15 ?460次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> MCU通過IEC 60730功能安全認(rèn)證,為家電產(chǎn)品提供安全保障

    AT32F423入門使用指南

    初步環(huán)境準(zhǔn)備開發(fā)環(huán)境下載地址:
    的頭像 發(fā)表于 05-14 08:15 ?1133次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32<b class='flag-5'>F</b>423入門<b class='flag-5'>使用指南</b>

    AT32F423 GPIO使用指南

    GPIO特性AT32F423支持多達(dá)86個雙向I/O引腳,這些引腳分為6組,分別為PA0-PA15、PB0-PB15、PC0-PC15、PD0-PD15、PE0-PE15
    的頭像 發(fā)表于 03-05 08:18 ?775次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32<b class='flag-5'>F</b>423 <b class='flag-5'>GPIO</b><b class='flag-5'>使用指南</b>

    AT32 MCU與SEGGER攜手合作,開發(fā)量產(chǎn)事半功倍

    近日,與SEGGER共同宣布J-Link仿真調(diào)試器與Flasher在線燒錄器全面支持AT32 MCU產(chǎn)品,SEGGER工具鏈的加持使AT32
    的頭像 發(fā)表于 02-23 10:27 ?317次閱讀

    AT32 MCU與SEGGER攜手合作,開發(fā)量產(chǎn)事半功倍

    近日,與SEGGER共同宣布J-Link仿真調(diào)試器與Flasher在線燒錄器全面支持AT32MCU產(chǎn)品,SEGGER工具鏈的加持使AT32MCU開發(fā)如虎添翼。
    的頭像 發(fā)表于 02-22 08:13 ?414次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> MCU與SEGGER攜手合作,開發(fā)量產(chǎn)事半功倍

    AT32F423時鐘配置

    介紹如何結(jié)合提供的V2.x.x的板級支持包(BSP)來配置時鐘。以下介紹時鐘配置的方法主要分兩種:1、以手動編寫代碼調(diào)用BSP中提供的驅(qū)動函數(shù)接口來進(jìn)行時鐘配
    的頭像 發(fā)表于 02-19 13:26 ?517次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32<b class='flag-5'>F</b>423時鐘配置

    AT32F423時鐘配置入門指南

    電子發(fā)燒友網(wǎng)站提供《AT32F423時鐘配置入門指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-31 09:37 ?0次下載
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32<b class='flag-5'>F</b>423時鐘配置入門<b class='flag-5'>指南</b>

    AT32F425入門使用指南

    電子發(fā)燒友網(wǎng)站提供《AT32F425入門使用指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-18 11:14 ?6次下載
    AT32<b class='flag-5'>F</b>425入門<b class='flag-5'>使用指南</b>

    AT32F435 & AT32F437入門使用指南

    電子發(fā)燒友網(wǎng)站提供《AT32F435 & AT32F437入門使用指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-18 11:13 ?1次下載
    <b class='flag-5'>AT32F435</b> & AT32<b class='flag-5'>F437</b>入門<b class='flag-5'>使用指南</b>

    AT32 MCU實(shí)現(xiàn)高效電機(jī)驅(qū)動控制與應(yīng)用

    發(fā)展。受邀出席此次會議,產(chǎn)品市場總監(jiān)林金海發(fā)表了題為“AT32MCU實(shí)現(xiàn)高效電機(jī)驅(qū)動
    的頭像 發(fā)表于 11-17 08:15 ?754次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> MCU實(shí)現(xiàn)高效電機(jī)驅(qū)動控制與應(yīng)用

    AT32F425入門使用指南

    搭建AT32開發(fā)環(huán)境一、調(diào)試工具及開發(fā)板目前AT32F425開發(fā)板都自帶AT-Link-EZ調(diào)試工具,AT-Link-EZ如下圖左邊紅框所示,它也可拆開后單獨(dú)搭配其他電路板使用,支持IDE在線調(diào)試、在線燒錄、USB轉(zhuǎn)串口等功能。圖1.AT32
    的頭像 發(fā)表于 11-10 08:15 ?2318次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>AT32<b class='flag-5'>F</b>425入門<b class='flag-5'>使用指南</b>

    AT32F435/F437入門使用指南

    搭建AT32開發(fā)環(huán)境一、調(diào)試工具及開發(fā)板目前AT32F435/F437開發(fā)板都自帶AT-Link-EZ調(diào)試工具,AT-Link-EZ如下圖左邊紅框所示,它也可拆開后單獨(dú)搭配其他電路板使用,支持IDE在線調(diào)試、在線燒錄、USB轉(zhuǎn)串
    的頭像 發(fā)表于 11-10 08:15 ?4689次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F435</b>/<b class='flag-5'>F437</b>入門<b class='flag-5'>使用指南</b>