0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

loopbackFromSckPad选项是什么作用及有什么使用限制

恩智浦MCU加油站 来源:恩智浦MCU加油站 作者:恩智浦MCU加油站 2022-11-17 09:37 次阅读

在 i.MX RT500 上使能了 FlexSPI->MCR0[RXCLKSRC] = 2(即 loopbackFromSckPad),这个选项字面上的意思是设置读选通采样时钟源为 SCK 引脚,这个选项在恩智浦官方的代码包里未曾使能过。

客户在使用过程中遇到高频时 SCK 引脚被降压的问题(从正常的 1.8V 降至 1.2V),那么这个 loopbackFromSckPad 选项到底是什么作用,以及有什么使用限制呢?

注1: 参考手册里显示支持loopbackFromSckPad选项的型号有 i.MX RT1040/1050/1060/1064/1180/500

注2: 参考手册里没有提及支持loopbackFromSckPad选项的型号有 i.MX RT1010/1015/1020/1024/1160/1170/600

一、为什么存在Read Strobe?

对于串行 SPI 接口存储器,FlexSPI 外设主要支持如下两种读数据时序:一是所谓的经典 SPI 模式,IO0 (MOSI) 专用于发送命令和地址,IO1 (MISO) 专用于接收数据(图中上面的时序)。二是 Multi-I/O SPI 模式,SIO[n:0] 一起用于发送命令地址以及接收数据(图中下面的时序)。

显然经典 SPI 模式下 IO[1:0] 是单向的,而 Multi-I/O SPI 模式下,SIO[n:0] 是双向的。当 SIO 用于双向传输时,过程中必然存在引脚方向切换,而 FlexSPI 外设在处理 SIO 方向切换时,无法做到零等待周期读取数据,这就是为什么 Multi-I/O SPI 读时序中总是会存在 Dummy 周期。

04304ba2-6610-11ed-8abf-dac502259ad0.png

因为 Dummy 周期的存在,FlexSPI 外设内部实际上有一个 Read Strobe 信号(即 DQS)来控制数据的选通性(即什么时候开始数据有效,将数据存入内部 FIFO)。更直白点说,Read Strobe 信号的存在就是由于 FlexSPI 外设无法支持如下这种情况的读时序(下图中 COMMAND 实际应为 COMMAND&ADDR)。

047331d8-6610-11ed-8abf-dac502259ad0.png

二、FlexSPI内部Read Strobe设计

在i.MX RT参考手册里有如下 FlexSPI 前端采样单元框图,其中 ipp_ind_dqs_fa/b_int[x] 即是 Read Strobe 信号,它控制着 FIFO 中实际数据的存储。

049cdefc-6610-11ed-8abf-dac502259ad0.png

ipp_ind_dqs_fa/b_int[x] 信号共有四种来源,最原始的信号源由 FlexSPI->MCR0[RXCLKSRC] 选择,中间可能还会经过 DLLxCR 单元(这部分以后会另写文章单独介绍)、Phase Chain 单元做处理,然后送到采样单元里。

04bc2564-6610-11ed-8abf-dac502259ad0.png

下图是 FlexSPI->MCR0[RXCLKSRC] = 0 的情况,此时 Read Strobe 经由 ipp_do_dqs0_fa/b 纯内部 loopback 回来,没有经过任何延迟单元。这种配置一般仅用于经典 SPI 传输模式(低速 60MHz SDR 场合),适用低容量 SPI NOR / EEPROM,这时候 FlexSPI DQS Pad 可用作其它功能或者 GPIO。

052b7450-6610-11ed-8abf-dac502259ad0.png

下图是 FlexSPI->MCR0[RXCLKSRC] = 1 的情况,此时 Read Strobe 经由悬空的 DQS 引脚 ipp_do_dqs1_fa/b 再 loopback 回来,此时有了 DQS 引脚绕一圈的延迟。这种配置可用于 Multi-I/O SPI 传输模式(较高速 133MHz SDR 场合),适用不含 DQS 引脚的大容量 QuadSPI NOR Flash,但是 FlexSPI DQS Pad 需要悬空。

注: 有一篇旧文 《使能串行NOR Flash的DTR模式》 跟这种配置相关,这时候 dummy cycle 数的设置很关键。

05481b14-6610-11ed-8abf-dac502259ad0.png

下图是 FlexSPI->MCR0[RXCLKSRC] = 3 的情况,此时 Read Strobe 完全由外部存储器的 DQS 引脚输出 ipp_ind_dqs3_fa/b 直通进来。这种配置可用于 Multi-I/O SPI 传输模式(最高速 166MHz/200MHz DDR 场合),适用于包含 DQS 引脚的 OctalSPI NOR Flash,这时 FlexSPI DQS Pad 与外部存储器相连。

注: 我有两篇旧文 《串行NOR Flash的DQS信号功能》、《启动含DQS的Octal Flash可不严格设Dummy Cycle》 跟这种配置相关。

三、loopbackFromSckPad选项意义

前面铺垫了那么多,终于来到本文的主题了,即下图 FlexSPI->MCR0[RXCLKSRC] = 2 的情况,此时 Read Strobe 经由 SCK 引脚 ipp_ind_sck_fa/b 再 loopback 回来,此时有了 SCK 引脚绕一圈的延迟。

这种配置从应用角度与 FlexSPI->MCR0[RXCLKSRC] = 1(即 loopbackFromDqsPad) 差不多,也可用于 Multi-I/O SPI 传输模式(较高速 133MHz SDR 场合),适用不含 DQS 引脚的大容量 QuadSPI NOR Flash,但是这时候 FlexSPI DQS Pad 被解放出来了,这也是它的最主要意义。

056f5602-6610-11ed-8abf-dac502259ad0.png

别小看只是省了一个 DQS 引脚,也许你认为 i.MX RT 有那么多I/O,省一个引脚意义不大,但是如果某些 FlexSPI 引脚组不带 DQS 信号,你又想配置 FlexSPI 以 60MHz 以上频率去访问 Flash,这时候 FlexSPI->MCR0[RXCLKSRC] = 2 选项就会帮上大忙了,见旧文 《不支持DQS的FlexSPI引脚组连接串行NOR Flash注意事项》。

四、loopbackFromSckPad使用限制

FlexSPI->MCR0[RXCLKSRC] = 2 选项虽好,但有如下两个实际使用限制:

存在信号完整性问题:主要出现在 SCK 频率过高或者板级 PCB 上 SCK 信号走线过长时。

SCK自由运行模式下不可用:对于某些 FPGA 应用,有时需要设置 FlexSPI->MCR0[SCKFREERUNEN] = 1,即 SCK 需要持续给外部设备内部 PLL 提供参考时钟。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7487

    浏览量

    163801
  • 恩智浦
    +关注

    关注

    14

    文章

    5857

    浏览量

    107390
  • 时钟
    +关注

    关注

    10

    文章

    1733

    浏览量

    131469

原文标题:i.MX RT中FlexSPI外设不常用的读选通采样时钟源

文章出处:【微信号:NXP_SMART_HARDWARE,微信公众号:恩智浦MCU加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    使用TPA3118D2限制功率遇到的疑问求解

    在使用TPA3118D2限制功率的时候,一开始给芯片供电,限制功率起到作用,但是让板子静静的待着一段时间,限制功率起不到作用,再次开机就可
    发表于 10-25 07:51

    限流电阻什么作用_限流电阻选择原则

    限流电阻在电路中起到了至关重要的作用,其主要功能包括:   限制电流:   限流电阻通过串联在电路中,增加负载的总电阻,从而减小电流的大小。这一功能在保护电路元件免受过大电流损害方面至关重要。当电流过大时,限流电阻能够限制
    的头像 发表于 10-24 17:00 1186次阅读

    IP的综合选项是什么意思

    我们在生成IP的时候,vivado会出现如上图的界面。这个界面中有三个综合选项,这三个选项分别是什么意思呢?我们来查看一下对应的中文文档ug896。另外,网络上现有的文档版本似乎并没有看到Out
    的头像 发表于 10-21 14:00 170次阅读
    IP的综合<b class='flag-5'>选项</b>是什么意思

    磁环电感的作用及用途哪些

    环电感在电源电路中起到滤波作用,可以抑制电源线中的高频噪声,提高电源的稳定性。 能量存储 :电感器可以存储能量,当电流通过电感器时,电感器中的磁场会储存能量,当电流减小或中断时,储存的能量会释放出来。 电流限制
    的头像 发表于 08-20 17:24 1310次阅读

    整流桥前面电阻什么作用

    电阻的主要作用以下几点: 1.1 限流作用 整流桥前面的电阻可以限制整流桥输入端的电流,防止过大的电流对整流桥造成损害。当整流桥输入端的电压较高时,如果没有限流电阻,整流桥的输入电流
    的头像 发表于 07-24 10:55 1865次阅读

    真机调试什么限制吗?

    一台华为Mate9手机,系统是鸿蒙2.0.0,但是这里识别不出 想问下真机调试是否存在限制。 我是由于webview效果不能直接预览,因此想通过真机进行查看
    发表于 07-23 11:09

    电抗器起限制短路电压的作用

    可能。电抗器是一种无功功率补偿设备,广泛应用于电力系统和电气设备中。它主要由导磁材料和导电材料组成,通过磁路和电路的相互作用,实现对电流的控制。电抗器的主要功能包括限制短路电流、减少谐波、提高系统
    的头像 发表于 07-22 09:19 454次阅读

    可以用os_malloc() 分配多少内存?哪些限制

    我可以用 os_malloc() 分配多少内存?哪些限制
    发表于 07-15 06:32

    HarmonyOS开发案例:【首选项

    基于HarmonyOS的首选项能力实现的一个简单示例。
    的头像 发表于 04-19 16:20 1243次阅读
    HarmonyOS开发案例:【首<b class='flag-5'>选项</b>】

    固晶胶的种类哪些?它有什么作用

    固晶胶的种类哪些?固晶胶什么作用?固晶胶是一种在集成电路封装过程中使用的胶体材料,主要用于固定晶片在封装内的位置。固晶胶可以分为导电胶和绝缘胶两种类型,它们在封装中起到连接、导热和保护晶片的
    的头像 发表于 03-19 10:57 1120次阅读
    固晶胶的种类<b class='flag-5'>有</b>哪些?它有什么<b class='flag-5'>作用</b>?

    显示面板接口的要求和选项

    电子发烧友网站提供《显示面板接口的要求和选项.pdf》资料免费下载
    发表于 03-07 16:36 1次下载

    ASCLIN SPI中是否设置CPHA值的选项

    ASCLIN SPI 中是否设置 CPHA 值的选项。 在我的项目中,我使用的是 SPI 从设备。 使用 QSPI 模块,我可以用模式 0(CPOL 和 CPHA = 0)进行通信。 但当我
    发表于 03-04 07:13

    故障电流限制器的作用及原理

    FCL的基本工作原理是通过快速改变电路的阻抗来限制故障电流。它通常由电力电子器件(如IGBT、MOSFET等)及其控制电路组成。
    发表于 02-06 11:31 1125次阅读
    故障电流<b class='flag-5'>限制</b>器的<b class='flag-5'>作用</b>及原理

    水泥电阻的特点和作用,水泥电阻哪些应用?

    水泥电阻由于功率大、电阻小,因此可以耐很大的电流,但是它的体积一般也比较大,这就限制了它本身具有与其他电阻不一样的特点,那么水泥电阻哪些特点呢?
    发表于 01-18 15:55 1463次阅读
    水泥电阻的特点和<b class='flag-5'>作用</b>,水泥电阻<b class='flag-5'>有</b>哪些应用?

    GD32 MCU的选项字节是什么?

    GD32 MCU的选项字节是什么,什么功能呢?选项字节被误篡改如何回复?
    的头像 发表于 01-17 09:42 1370次阅读
    GD32 MCU的<b class='flag-5'>选项</b>字节是什么?