先楫 HPM6700 GPIO使用教程

​文章编写者,国产爱好者,先楫代理商FAE-有兴趣朋友可以加微信L1356414643,可以提供基础SDK资料,部分基础技术支持,欢迎一起推动国产MCU事业,下面详细介绍先楫产品系列​

 

目录

一. IO 控制器分类:

1. 通用的IO控制器IOC

2.电源管理域IO控制器PIOC

3.电池备份域IO控制管理器BIOC

 4.IO控制器分2种:

1.外设复用功能选择寄存器FUNC_CTL

         2.IO控制器:PAD性能配置寄存器PAD_CTL

  二.GPIO控制器分类:

1.GPIO控制器:控制器相关寄存器


  •  提供了PA PB PC PD PE PF  PX PY PZ 一共8组GPIO,每组最多32个IO
  • IO支持3V或者1.8V两种电压模式,分组供电
  • IO支持开漏控制,内部上下拉,驱动能力调节,内置史密斯触发器
  • 2个GPIO控制器,工2个处理器独立操作
  • 支持读取任意IO输入或者输出
  • 支持IO输入出发中断
  • 2个快速GPIO控制器,作为处理器私有的IO快速访问接口
  • 2个快速GPIO控制器FGPIO,作为处理私有IO快速访问接口
  • 提供一个GPIO管理器,管理GPIO控制器的IO控制权限
  • 电源管理区域专属IO PY拥有专属的GPIO控制器和IO配置模块,支持低功耗下下模式状态保持
  • 电池备份域专属IO PZ用用专属的GPIO控制和IO配置模块,支持低功耗下模式状态保持

 

GPIO寄存器配置

一. IO 控制器分类:

1. 通用的IO控制器IOC

控制通用IO(PA,PB,PC,PD,PE,PF)

2.电源管理域IO控制器PIOC

控制电源管理域IO(PY),他的功能跟和通用IOC一致,可以配置电源管理域IO基本属性以及外设功能

3.电池备份域IO控制管理器BIOC

控制电池备份域IO(PZ),他的功能和通用IOC一致,可以配置备份域IO的基本属性以及外设功能.

 PIOC和BIOC可以把电源管理域IO(PY)和电池备份管理域IO(PY)中的一个或者多个IO映射到系统电源域,这些IO就可以由IOC控制.

 4.IO控制器分2种:

1.外设复用功能选择寄存器FUNC_CTL

  •  输出回送功能:可再输入端读取到输出信号
  • 模拟功能:用做魔音外设引脚,如ADC,ACMP等
  • 外设功能复选器:选择映射到这个IO上的外设功能

 2.IO控制器:PAD性能配置寄存器PAD_CTL

用户可以通过IOC_X_PAD_CTL 寄存器,配置任意IO基本属性

  • 工作电压设置:指定IO的工作电压,本产品支持3.3V和1.8B 两种工作电压
  • 开漏选择:用户可以把IO配置成开漏输出(open drain),若干IO配置成开漏输出,那么输出低电平时,正常输出;输出高电平,为高阻态,用户可以配置外部上拉电阻
  • 施密特触发器:用户可以打开IO输入施密特触发器,即打开了滞回,增加抗干扰能力
  • 内部上下拉电阻:可以配置成内部的上拉,也可以配置成内部下拉
  • 配置驱动强度

 

 

  二.GPIO控制器分类:

  • 2个GPIO控制器(GPIO0 GPIO1)
  • 控制通用IO(PA,PB,PC,PD,PE,PF),支持GPIO中断
  • 2个快速GPIO控制器(FGPIO0,FGPIO1),不支持GPIO中断
  • 电源管理域GPIO控制器(PGPIO),控制电源管理域IO(PY),支持配置GPIO中断
  • 电池备份域GPIO控制器(BGPIO),控制电池备份域IO(PZ),支持配置GPIO中中断
  • 经过适当的PIOC和IOC配置,2个GPIO控制器GPIO0,GPIO1和2个快速GPIO控制器FPGIO0,FGPIO1可以控制电源管理域IO(PY)和电池备份域IO(PZ)

1.GPIO控制器:控制器相关寄存器

  • OE寄存器:GPIO 控制器支持OE 寄存器,每一个IO 都有对应的DIRECTION 控制位。用户把该位置1 就可以把对应的,用户把该位置1 就可以把对应的IO 配置为GPIO 输出,反之该IO 即为GPIO 输入。
  • DO寄存器:配置GPIO的输出
  • 输出高寄存器SET:1输出高,0不变
  • 输出低寄存器CLEAR:1输出置低,0不变
  • 翻转寄存器TOGGLE:对应位置位1,会把对应IO输出翻转;置0不变
  • DI寄存器:读取IO的电平状态
  • GPIO控制寄存器:中断相关的寄存器
  • IE寄存器:中断使能,对应位置1就可以使能对应的IO中断
  • TP寄存器:中断类型,对应位置1,表示出触发由边沿触发,0表示电平触发
  • PL寄存器:中断极性,对应位置1,表示中断由下降沿或者低电平触发,对外位置0表示中断由上升沿或者高电平触发
  • IF寄存器:查询中断状态,对应标志位置1,表示对应IO有中断带处理,对标志写1可以清除这个标志位.
  • GPIO管理器GPIOM: GPIOxASSIGNy寄存器
  • SELECT 位域:选择IO受到哪个IO控制器的控制
  • HIDE 位域:由四个HIDE位组成,每个位1,表示这个IO的输入在对应GPIO控制器DI寄存器内不可见,无法读取GPIO 的输入
  • LOCK位域:锁定这个IO对应的寄存器,一旦置1,这个寄存器配置知道下次复位前都不能在更改
  • NON_SEC位域:按照系统安全状态进行访问权限设置,一单置1,寄存器只能在安全状态下访问.
  • GPIO实例原理图

PINMUX TOOL使用配置

 

void init_gpio_pins(void)
{
//PE是置位1使能上下拉 ,PS置1是使能上拉,0是下拉

    HPM_IOC->PAD[IOC_PAD_PB12].FUNC_CTL = IOC_PB12_FUNC_CTL_GPIO_B_12;
    HPM_IOC->PAD[IOC_PAD_PB12].PAD_CTL = IOC_PAD_PAD_CTL_PE_SET(1) | IOC_PAD_PAD_CTL_PS_SET(0);

//PZ02 PE使能上下拉,PS使能上拉
    HPM_IOC->PAD[IOC_PAD_PZ02].FUNC_CTL = IOC_PZ02_FUNC_CTL_GPIO_Z_02;
    HPM_IOC->PAD[IOC_PAD_PZ02].PAD_CTL = IOC_PAD_PAD_CTL_PE_SET(1) | IOC_PAD_PAD_CTL_PS_SET(1);

}

 

先楫GPIO配置官方培训视频

Level 1 Lesson_哔哩哔哩_bilibili 

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值