6678-GPIO基础(1)

6678-GPIO基础(1)

目录

6678-GPIO基础(1)

1. 6678GPIO概述

2. GPIO功能

2.1 GPIO的结构

2.2 中断和事件产生

3. 仿真停操作

4. 寄存器

(1)模块中断使能寄存器(BINTEN)

(2)方向寄存器(DIR)

(3)输出寄存器(SET_DATA)

(4)数据设置寄存器

(5)数据清除寄存器(CLR_DATA)

(6)输入数据寄存器(IN_DATA)

(7)上升沿设置寄存器(SET_RIS_TRIG)

(8)清除上升沿寄存器(CLR_RIS_TRIG)

 (9)下降沿设置寄存器(SET_FAL_TRIG)

(10)清除下降沿寄存器(CLR_FAL_TRIG)


1. 6678GPIO概述

        GPIO(General-purpose input/output),高低电平数字信号量的输入输出通过GPIO引脚完成。TMS320C6678共有16个GPIO引脚,GPIO[0-15]。当配置为输出,可以写入到内部的一个寄存器来控制输出引脚的驱动状态;当配置为输入,可以通过读取内部的一个状态寄存器来获取当前的输入状态。此外,15个 GPIO都可以在不同的中断/事件产生模式下,产生CPU中断和EDMA 同步事件。部分 GPIO 引脚与芯片的其它引脚是复用的,如Boot相关的引脚。

2. GPIO功能

2.1 GPIO的结构

  • A  部分 GPn 引脚复用为芯片其它信号。详细信息请参阅器件专用数据手册。
  • B  所有GPINTn 都可以触发CPU中断以及 EDMA同步事件。
  • C  RIS_TRIG和FAL_TRIG寄存器位于GPIO模块内部,对CPU不可见。

如上图的GPIO结构所示,上半部分为GPIO的方向设置,状态设置、输出、清除和输入单元,图中下半部分为中断的上升下降沿触发设置、清除单元,可以配置为中断或者EDMA事件。

2.2 中断和事件产生

       每个 GPIO 引脚(GPn)可以配置为生成一个 CPU 中断(GPINTn)和一个EDMA(GPINTn)同步事件。中断、EDMA 事件可以产生在上升沿、下降沿,或GPIO信号的双沿触发。边沿检测逻辑同步到 GPIO 外设时钟(CPU/6)。当使用引脚产生中断、EDMA 事件时 GPIO 引脚的方向不需要为输入模式。在 GPIO 引脚配置为输入时,改变引脚状态将触发中断和 EDMA 事件。当 GPIO引脚配置为输出时,软件可以配置 GPIO 输出寄存器来改变引脚状态进而触发中断、EDMA 事件。RIS_TRIG和FAL_TRIG对于CPU不可见,不可直接访问。其分别和SET_RIS_TRIG/CLR_RIS_TRIG和SET_FAL_TRIG/CLR_FAL_TRIG一致。

3. 仿真停操作

    仿真停(halt)操作对GPIO外设无影响。

4. 寄存器

    如表1-1所示,为GPIO设置所需的寄存器。GPIO寄存器组的基地址0x02320000- 023200FF,没有用到的地址为保留。

 

表1-1 寄存器

Offsets偏移

Acronym

缩略词

Register Name

寄存器名

描述

0008

BINTEN

Interrupt Per-Bank Enable Register

中断使能寄存器

0010

DIR

Direction Register

方向设置寄存器

0014

OUT_DATA

Output Data Register

输出状态寄存器

0018

SET_DATA

Set Data Register

设置状态寄存器

001C

CLR_DATA

Clear Data Register

清除状态寄存器

0020

IN_DATA Input

Data Register

输入状态寄存器

0024

SET_RIS_TRIG

Set Rising Edge Interrupt Register

上升沿触发设置寄存器

0028

CLR_RIS_TRIG

Clear Rising Edge Interrupt Register

上升沿清除设置寄存器

002C

SET_FAL_TRIG

Set Falling Edge Interrupt Register

下降沿设置寄存器

0030

CLR_FAL_TRIG

Clear Falling Edge Interrupt Register

下降沿清除寄存器

(1)模块中断使能寄存器(BINTEN)

该寄存器控制GPIO的CPU中断或EDMA事件的使能。复位默认值为0x00000000。

Bit

Field

Description

说明

31-1

Reserved

保留,默认为0,写无效

0

EN

0禁能中断  1 使能中断

(2)方向寄存器(DIR)

该寄存器控制GPIOn的输入输出方向,Bit0-Bit15分别对应GPIO0-GPIO15。复位默认值为0x0000FFFF,即复位默认为输入模式。

Bit

Field

Description

说明

31-16

Reserved

保留,默认为0,写无效

15-0

DIRn

0 GPIOn为输出  1 GPIOn为输入()

(3)输出寄存器(SET_DATA)

该寄存器控制GPIOn引脚输出的高低电平。复位默认值为0x00000000。

Bit

Field

Description

说明

31-16

Reserved

保留,默认为0,写无效

15-0

OUTn

设置为0/1,读取返回设置的值。

(4)数据设置寄存器

该寄存器提供了一种将GPIO驱动为高电平的方式。上电默认值为0x00000000。

Bit

Field

Description

说明

31-16

Reserved

保留,默认为0,写无效

15-0

SETn

0 无效  1 输出对应的位为高

读取返回输出寄存器的状态。

 

(5)数据清除寄存器(CLR_DATA)

该寄存器提供了一种将GPIO驱动为低电平的方式。上电默认值为0x00000000。

Bit

Field

Description

说明

31-16

Reserved

保留,默认为0,写无效

15-0

CLRn

0 无效  1 清除对应的位为低

读取返回输出寄存器的状态。

(6)输入数据寄存器(IN_DATA)

该寄存器反映了GPIOn的输入状态。上电复位默认值为0x00000000。

Bit

Field

Description

说明

31-16

Reserved

保留,默认为0,写无效

15-0

Inn

读取返回GPIOn的输入状态。

 

(7)上升沿设置寄存器(SET_RIS_TRIG)

该寄存器设置对应的上升沿触发,使能上升沿触发中断。上电默认值为0x00000000。

Bit

Field

Description

说明

31-16

Reserved

保留,默认为0,写无效

15-0

SETRISn

写0无效,写1使能对应的引脚的上升沿检测。

 

(8)清除上升沿寄存器(CLR_RIS_TRIG)

该寄存器禁止对应的上升沿触发,使能上升沿触发中断。上电默认值为0x00000000。

Bit

Field

Description

说明

31-16

Reserved

保留,默认为0,写无效

15-0

CLRRISn

写0无效,写1禁止对应引脚的上升沿检测。

 

 (9)下降沿设置寄存器(SET_FAL_TRIG)

该寄存器设置对应的下降沿触发,使能上升沿触发中断。上电默认值为0x00000000。

Bit

Field

Description

说明

31-16

Reserved

保留,默认为0,写无效

15-0

SETFALn

写0无效,写1使能对应的引脚的下降沿检测。

 

(10)清除下降沿寄存器(CLR_FAL_TRIG)

该寄存器清除对应的下降沿触发,使能上升沿触发中断。上电默认值为0x00000000。

Bit

Field

Description

说明

31-16

Reserved

保留,默认为0,写无效

15-0

CLRFALn

写0无效,写1禁能对应的引脚的下降沿检测。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值