目录
前言
GPIO是每个CPU与外界交互的桥梁,控制芯片的应用开发首先做到就是会使用其I/O口。28377D芯片提供了169个功能引脚,这些引脚大部分都是复用的既可以作为片内外设的I/O口,也可以作为通用的数字I/O口。
一、28377D的GPIO是怎样的
1. I/O框架
28377D有六个I/O端口,总共169个引脚。每个引脚输出可有外设或四个CPU主控(CPU1,CPU1.CLA,CPU2,或CPU2.CLA)中的一个控制。
端口A由GPIO0-GPIO31组成
端口B由GPIO32-GPIO63组成
端口C由GPIO64-GPIO95组成
端口D由GPIO96-GPIO127组成
端口E由GPIO128-GPIO159组成
端口F由GPIO160-GPIO168组成
可以看出对GPIO控制寄存器的操作只能由CPU1完成,而对GPIO的数据寄存器的操作可以由四个主控完成。
2. I/O引脚配置步骤
2.1 计划引脚
列出应用程序所需的所有外设。使用器件数据手册中的外设复用器信息,选择要用于外设信号的
GPIO。确定哪些剩余的 GPIO 用作每个 CPU 和 CLA 的输入和输出。注意,GPIO 42,43,46 和 47是唯一可用的 USB 引脚。GPIO41 被硬线连接成在休眠模式下的唤醒信号。
一旦选择了外设多路复用,应通过将适当的值写入 GPyMUX1 / 2 和 GPyGMUX1 / 2 寄存器来实现。当更改引脚的 GPyGMUX 值时,应始终将相应的 GPyMUX 位设置为零,以避免多路复用器中出现毛刺。
例如,GPIO 6 引脚的复用通过写入 GPAGMUX [13:12]和 GPAMUX [13:12]来控制。通过写入这些位,GPIO 6 可以配置为通用数字 I/O 或四种不同的外设功能之一。选项如表 7-9 所示。
以下为复用寄存器(节选)各位的介绍