[i.MX] 对引脚复用中的菊花链等一些疑问?

[复制链接]
2308|8
 楼主| chaoswosting 发表于 2014-10-5 15:41 | 显示全部楼层 |阅读模式
本帖最后由 chaoswosting 于 2014-10-5 15:43 编辑

     最近在看 i.MX_6Quad_6Dual_Reference_Manual_(Rev_D).pdf 文档中的第四章 “Chapter 4
External Signals and Pin Multiplexing”。 全章只有四个表格,但是我对这几个表格中的某几个列不太理解,希望大侠帮忙指点一下!!

     对每个表的介绍。
QQ截图20141005151825.png

紧接着就是4张表。
表一:
QQ截图20141005152213.png
表二:
QQ截图20141005152824.png
表三:
QQ截图20141005152945.png
表四:
QQ截图20141005153115.png

表格如上图,问题也有数字标明。

问题一:表二中一个port对应于两个pad,这个怎么理解?
问题二:表三中的 protocol 指的是什么?
问题三:表三中 IN Pin 代表的是内部的引脚名?
问题四:表三中哪里体现了“Daisy Chain”这个链?
问题五:表四中“Daisy Chain”跟表三中的是否是一个东西?

希望各位能根据自己的理解给点指点,先谢谢了!





QQ截图20141005153115.png
FSL_TICS_Rita 发表于 2014-10-8 09:39 | 显示全部楼层
楼主你好,请耐心等待哈,你这里问了好几个问题,我确认完后给你一一回复哈。
aeromoon 发表于 2014-10-8 11:08 | 显示全部楼层
关于"daisy chain"可以参考BSP porting guide中关于寄存器的描述:
"Daisy Chain" control registers (IOMUXC_<Instance_port>_SELECT_INPUT)-
control the input path to a module when more than one pad may drive the module's
input。另外可以参考RM手册,其中有关于DAISY CHAIN 的描述,具体应该在IOMUX那一章里,37.3.3 Daisy chain - multi pads driving same module input pin

比如你要用到AUD4_RXD这个信号,其芯片外部显示的管脚名(也就是PAD名)有DISP0_DAT23或者SD2_DAT0这两个管脚可以当做AUD4_RXD来使用(首先要用到管脚的MUX功能,然后通过"Daisy Chain" control registers指定要用哪个PAD作为AUD4_RXD这个信号使用),也就是说有两个外部管脚对应到AUD4_RXD这个信号上,一个PORT对应两个PAD。
附件有个图,你看一下:
daisy chain.png
aeromoon 发表于 2014-10-8 11:28 | 显示全部楼层
问题一:一个内部信号输入(AUD4_RXD),连接到两个外部管脚(也就是PAD名DISP0_DAT23,SD2_DAT0),可以通过DAISY CHAIN寄存器来选择使用哪个PAD作为AUD4_RXD的信号输入。
问题二,问题三:不清楚
问题四:跟问题一差不多,一个PORT对应的几个PAD。比如AUD4_TXD这个port , 可以选择SD2_DAT2作为AUD4_TXD用,也可以选择DISP0_DAT21作为AUD4_TXD用。
问题五:表四中的“Daisy Chain”指的是一个PAD对应的几个Daisy Chain寄存器。
FSL_TICS_Rita 发表于 2014-10-8 13:33 | 显示全部楼层
感谢3楼朋友的热心回答啊,正解,赞~~
 楼主| chaoswosting 发表于 2014-10-8 21:52 | 显示全部楼层
aeromoon 发表于 2014-10-8 11:28
问题一:一个内部信号输入(AUD4_RXD),连接到两个外部管脚(也就是PAD名DISP0_DAT23,SD2_DAT0),可以通 ...

非常感谢详细的解答,我要好好再看一下芯片手册来理解一下。
 楼主| chaoswosting 发表于 2014-10-8 22:06 | 显示全部楼层
aeromoon 发表于 2014-10-8 11:08
关于"daisy chain"可以参考BSP porting guide中关于寄存器的描述:
"Daisy Chain" control registers (IOMU ...

还有一个问题需要请问一下,MUXC寄存器中第4位 SION 位的作用是什么呢? 只是在调试的时候才会用到的吧?
aeromoon 发表于 2014-10-9 09:42 | 显示全部楼层
chaoswosting 发表于 2014-10-8 22:06
还有一个问题需要请问一下,MUXC寄存器中第4位 SION 位的作用是什么呢? 只是在调试的时候才会用到的吧? ...

你在RM手册中IOMUXC 那一章 随便搜一个比如IOMUXC_SW_MUX_CTL_PAD_SD2_DATA2寄存器,看一下SION的说明,其中第已经说的很明确了:
Force the selected mux mode input path no matter of MUX_MODE functionality.
1 ENABLED — Force input path of pad SD2_DAT2.
0 DISABLED — Input Path is determined by functionality of the selected mux mode (regular).
正常SION这个位的值默认为0,那么这个管脚的功能就以下面MUX_MODE中的值决定,比如MUX_MODE的值为“001”那么这个管脚就被用作ECSPI5_SS1,说白了默认就是可以使用管脚的复用功能(MUX MODE),这个管脚除了当做SD2_DAT2来用也可以通过MUX_MODE选择用作其他管脚使用。
如果SION这个位值设置为1,那么强制这个管脚的功能为SD2_DAT2,无论你下面MUX_MODE怎么设置,这个管脚都智能用作SD2_DAT2,与MUX_MODE无关了。
至于你说的是不是调试用,我就不清楚了。
 楼主| chaoswosting 发表于 2014-10-12 17:37 | 显示全部楼层
aeromoon 发表于 2014-10-9 09:42
你在RM手册中IOMUXC 那一章 随便搜一个比如IOMUXC_SW_MUX_CTL_PAD_SD2_DATA2寄存器,看一下SION的说明, ...


    非常感谢你这么热心的回复,又重新看了一遍代码和手册,现在基本上都明白了,不过对这个SION位还是不能理解。
    到目前为止,都没遇到过需要自己修改寄存器的配置的情况,都是使用代码里面配置好的。所以不理解好像也不影响使用。

在手册中找了几处SION的说明
Unnamed QQ Screenshot20141012165617.png
Unnamed QQ Screenshot20141012165430.png
Unnamed QQ Screenshot20141012165318.png
     在“SW Loopback through SION Bit”中介绍的是 “ force the input path to be active (ipp_ibe==1'b1) regardless of the value driven by the corresponding module.”,这个input path指的是什么?我理解好像就是Daisy Chain选择的哪个pads!
     在第一张图中,ALT0、ALT2、ALT4和ALT6模式下,在代码里面SION都会被设置为1,对你这句话
“说白了默认就是可以使用管脚的复用功能(MUX MODE),这个管脚除了当做SD2_DAT2来用也可以通过MUX_MODE选择用作其他管脚使用。
如果SION这个位值设置为1,那么强制这个管脚的功能为SD2_DAT2,无论你下面MUX_MODE怎么设置,这个管脚都智能用作SD2_DAT2,与MUX_MODE无关了”
不是很理解,SD2_DAT2是一个pad的名字,而IOMUXC寄存器是把SD2_DAT2配置成 ECSPI5_SS1 、**或者gpio模式,你说的”这个管脚都智能用作SD2_DAT2“是什么意思呢? 对这个实在不能理解。
     




您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

180

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部