完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
RK3288 的 GPIO 模块结构 有 9 组 GPIO(GPIO0~8),每组分为最多 4 个小组 port A/B/C/D,每小组最多 8 个 GPIO。理论上每组GPIO 的引脚有 32 个,但是实际上并没有那么多。比如 GPIO0 只有 GPIO0_A0~A7、GPIO0_B0~B7、GPIO0_C0~C2 这些引脚。 GPIO 的控制涉及 4 大模块:CRU、PMU、GRF、GPIO 模块本身。 ① CRU 用于设置是否向 GPIO 模块提供时钟: CRU 的内部结构如下图所示: 可以设置寄存器使能 GPIOx 的时钟: a. CRU_CLKGATE17_CON 用于控制 GPIO0; b. CRU_CLKGATE14_CON 用于控制 GPIO1~8 ② PMU 用于控制电源: 电源管理单元里,有多个电源域(power domain,简称为 PM),在一个域下有多个设备。 比如 PD_ALIVE,它下面有这些设备:CRU、GRF、GPIO 1~8、TIMER 或 WDT。 比如 PD_PMU,它下面有这些设备:PMU、SRAM(4K)、Secure GRF、GPIO0。 可见,GPIO0、GPIO1~8 分属不同的 PM。 GPIO0、GPIO1~8 都是常供电的,它们是否工作取决于其时钟是否使能。 ③ 设置引脚的模式(Mode、功能): GPIO0 比较特殊,为了让其引脚用于 GPIO 功能,要设置 PMU 里的相关寄存器。 GPIO1~8 类似,为了让其引脚用于 GPIO 功能,要设置 GRF 里的相关寄存器。 ④ GPIO 模块内部: 方向:引脚设置为 GPIO 时,可以继续设置寄存器 GPIO_SWPORTA_DDR 确定它是输出引脚,还是输入引脚。 数值:对于输出引脚,可以设置寄存器 GPIO_SWPORTA_DR 让它输出高、低电平; 对于输入引脚,可以读取寄存器 GPIO_EXT_PORTA 得到引脚的当前电平。 RK3288 的 GPIO 相关寄存器 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2067 浏览 1 评论
synopsys 的design ware:DW_fpv_div,浮点数除法器,默认32位下,想提升覆盖率(TMAX),如果用功能case去提升覆盖率呢?
2661 浏览 1 评论
RK3588 GStreamer调试四路鱼眼摄像头四宫格显示报错
5434 浏览 1 评论
【飞凌嵌入式OK3576-C开发板体验】RKNN神经网络-YOLO图像识别
254 浏览 0 评论
【飞凌嵌入式OK3576-C开发板体验】SSH远程登录网络配置及CAN通讯
1336 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 06:12 , Processed in 0.402754 second(s), Total 39, Slave 33 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号