Proteus幫你輕松入門DSP(2)--GPIO操作
一、TMS320F2802X的GPIO概述
本文引用地址:http://www.ex-cimer.com/article/268398.htmTMS320F2802X的每個(gè)GPIO引腳除了具有GPIO功能外,還可復(fù)用最多三種獨(dú)立的外設(shè)功能。每個(gè)器件共有3個(gè)端口,端口A包括GPIO0-GPIO31,端口B包括GPIO32-GPIO38,模塊端口包括AIO0-AIO15.
下圖為TMS320F2802X典型GPIO端口A內(nèi)部結(jié)構(gòu)圖。
二、TMS320F2802X的GPIO寄存器
引腳功能分配、輸入限制條件,外部中斷源都是通過(guò)GPIO配置寄存器來(lái)控制。另外,你可以分配引腳將設(shè)備從HALT或STANDBY模式喚醒,使能/禁用內(nèi)部上拉電阻。下表列出了GPIO配置寄存器。
三、TMS320F2802X的GPIO操作
TMS320F2802X的GPIO配置通常包括以下幾個(gè)步驟:
1.規(guī)劃器件引腳輸出
通過(guò)功能復(fù)用,為我們對(duì)帶有GPIO功能的引腳進(jìn)行功能分配進(jìn)帶來(lái)了極大的靈活性。在開始系統(tǒng)設(shè)計(jì)之前,檢查一下每個(gè)引腳的可用的外設(shè)功能,根據(jù)具體的系統(tǒng)規(guī)劃GPIO引腳輸出方案。引腳能不能用作通用輸入口,通用輸出口,或者其他外設(shè)功能?知道這些信息,可以幫助我們決定如何進(jìn)一步配置引腳。
2.使能或禁用內(nèi)部上拉電阻
通過(guò)寫GPIO內(nèi)部上拉電阻禁用寄存器(GPAPUD和GPBPUD),可以使能或禁用內(nèi)部上拉電阻。能夠用于ePWM輸出的引腳,其內(nèi)部上拉電阻默認(rèn)是禁用的,其他所有具有GPIO功能的引腳,其內(nèi)部上拉電阻默認(rèn)都是使能的。模擬輸入輸出(AIOx)是沒(méi)有內(nèi)聞上拉電阻的。
3.選擇輸入限制條件
對(duì)于輸入引腳,如果有,需要指定所需的輸入限制條件。輸入限制條件在GPACTRL,GPBCTRL,GPAQSEL1,GPAQSEL2,GPBQSEL1,GPBQSEL2寄存器中指定。默認(rèn)情況下,所有的輸入信號(hào)同步于SYSCLKOUT。
4.選擇引腳功能
通過(guò)配置GPxMUXn或AIOMUXn寄存器,將引腳配置為GPIO口或其他可用的復(fù)用功能。默認(rèn)情況下,所有帶GPIO功能引腳在復(fù)位時(shí)被配置為通用輸入引腳。
5.選擇引腳方向(對(duì)于通用數(shù)字IO)
如果引腳配置為GPIO,通過(guò)配置GPADIR,GPBDIR,AIODIR寄存器來(lái)指定引腳方向?yàn)檩斎脒€是輸出。如果想要把引腳方向從輸入改為輸出,首先通過(guò)配置GPXCLEAR,GPXSET或GPXTOGGLE寄存器將數(shù)據(jù)下載到輸出鎖存器中,一旦輸出鎖存器數(shù)據(jù)下載完成,通過(guò)GPXIDR寄存器改變引腳方向。在復(fù)位的時(shí)候,所有引腳的輸出鎖存器被清零。
6.選擇低功耗模塊喚醒源
在GPIOLPMSEL寄存器中,可以配置哪些引腳可以將器件從HALT和STANDBY低功耗模式中喚醒。
7.選擇中斷源
指定XINT1-XINT3中斷的中斷源。對(duì)于每個(gè)中斷,你可以指定端口A的一個(gè)信號(hào)作為中斷源,這需要在GPIOXINTnSEL寄存器中指定。中斷源的極性可以在XINTXCR寄存器中配置。
四、GPIO的PROTEUS驗(yàn)證
1.在Proteus畫仿真原理圖如下圖所示,用于驗(yàn)證GPIO的通用輸入、輸出功能。
2.在CCS中編寫驗(yàn)證代碼,核心代碼如下圖所示。
3.按《Proteus幫你輕松入門DSP》第一篇中的要求,生成可執(zhí)行文件加載到Proteus工程中,仿真運(yùn)行如下圖所示。
上拉電阻相關(guān)文章:上拉電阻原理 全息投影相關(guān)文章:全息投影原理
評(píng)論