关于zynq引脚编号、bank以及封装的一些理解

学习zynq已经有一段时间了,之前不论是用gpio使用MIO0这样的引脚还是在PL端将引出的端口约束到AB9这样的位置,用的时候也挺正常,但仔细一想又感觉云里雾里,还有bank0、bank1、bank500、bank501这样的分组,一直没有弄明白他们之间具体的关系,今天就来梳理一下。

首先是bank之间的关系。我们都知道ZYNQ有118个GPIO,其中MIO54个,EMIO64个,再细分一下就是32个MIO(Bank0)+22个MIO(Bank1)+32个EMIO(Bank2)+32个EMIO(Bank3)。

所以PS端MIO有bank0、bank1两个分组,PL端EMIO有bank2、bank3两个分组,而这些分组的依据是电压的不同。

 bank0、bank1、bank2、bank3这些分组是概念上的。就是说硬件上没有这样的分组。虽然zedboard原理图上有一个bank0,但是和我们说的这些是没有关系的,我们也用不上这个bank0,忽视它。

bank500、bank501、bank502、bank13、bank33、bank34、bank35这些是硬件上的分组。我们可以在原理图上找到这些分组,bank500、bank501、bank502是PS端的分组,bank13、bank33、bank34、bank35是PL端的分组。此外7010好像没有bank33。

通过原理图我们可以看出bank500和bank501基本可以与bank0和bank1画等号,不过还是要注意一个是概念上的分组,一个是硬件上的分组。

再来看MIO0~53、EMIO0~63和AB9这样的编号与bank之间的关系。

通过前面的学习我们可以知道MIO0~53分别分布在bank0与bank1上,有具体的硬件引脚对应,比如我们可以看到zedboard的MIO7引脚对应的是一个LED,那么我们就可以通过控制读写MIO7来点亮这个LED。

而EMIO0~63没有具体的硬件对应位置,需要通过约束文件与具体的引脚如AB9这样的位置绑定。比如我们希望通过EMIO0来控制zedboard上的LED0(T22),那么就需要先将EMIO0约束到T22位置,然后就可以通过读写EMIO0来控制LED0。

最后,通过下面的bank分布图,我们可以看出具体的对应关系。

以上均是个人理解,如有错误欢迎指正。

  • 8
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值