apb外设怎么分配地址

本文详细介绍了32位地址信号haddr如何通过译码产生APB系统选择信号,重点讨论了当高16位为0x4000时如何根据[15:12]位选择不同APB外设。APB Slave MUX中的译码逻辑确保了16个APB外设的选择,并以PSEL1为例说明其作为看门狗选择信号的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

haddr是32位的地址信号,对地址进行译码之后产生一个AHB_TO_APB的选择信号,这个选择信号是用来选择APB系统的。

我的apb系统选择信号是0x4000_xxxx,即只要高16位是4000就选中APB系统。
在这里插入图片描述
高16位选中了APB系统,再根据地址信号的[15:12]这四位地址选择APB外设,这4位地址的范围是0000-1111,这就是为什么只能有16个apb外设。

选择APB外设的译码逻辑在apb_slave_mux这个文件,就是以下这段代码,DECODE4BIT就是地址的第[15:12]位。
在这里插入图片描述
假设地址为4000_1000,那么第[15:12]位的值为1,则选中PSEL1所代表的的外设,同理,地址若为4000_f000,则选中PSEL15所代表的外设
在这里插入图片描述
我的PSEL1设置为看门狗的选择信号。
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值