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

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

3天内不再提示

MIMXRT1060 FLEXIO SPI速率

li1756686189 来源:嵌入式 MCU 2023-01-29 10:12 次阅读

FlexIO 支持 1/2/4/8/16/32位并行传输,参考寄存器 SHIFTCFT[PWIDTH]进行设置。

a802f6fe-9797-11ed-bfe3-dac502259ad0.png

FLEXIO1 和 FLEXIO2/3 参数不是完全相同,FLEXIO1有16个引脚,而 FLEXIO2/3 有 32个引脚。在i.MX RT1060用户手册中,DMA MUX映射没有FLEXIO3,只有FLEXIO1和FLEXIO2。DMA外设无法访问FlexIO3模块,因此,如果需要DMA功能,只能使用FlexIO1和FlexIO2。

a83283ec-9797-11ed-bfe3-dac502259ad0.png

为此 SDK提供了 Flexio和 Flexio3的例程。

a8478f58-9797-11ed-bfe3-dac502259ad0.png

如果没有可用的 Flexio实现SPI,可以使用硬件的 LPSPI接口,支持dma,可以降低CPU运行的负荷。LPSPI的时钟 Fsck速率只有 15Mhz。

a867d524-9797-11ed-bfe3-dac502259ad0.png

a889f820-9797-11ed-bfe3-dac502259ad0.png

FlexIO 不能在同一周期内移动和存储。例如当尝试使用 FlexIO实现SPI从设备时,将发现它无法在同一周期内移动和存储。时钟的下降沿不用于锁存最后的数据位。一种解决方法是使用其他定时器计数数字位并产生禁用信号。然而,它有两个限制:1)需要知道传输速率,并设置此定时器具有相同的波特率。2) 它需要传输是异步的,没有任何时钟拉伸;否则,将导致失败。因此,从器件接收不是同步的。

a8a66e10-9797-11ed-bfe3-dac502259ad0.png

a8d35088-9797-11ed-bfe3-dac502259ad0.png

使用示波器测量SPI信号,MISO 接收和MOSI 发送数据,但在DMA缓冲区中,数据向右移动了1位。FLEXIO接口模拟具有DMA的SPI通信,将CPHA配置为1,在第二边缘采样(在下降边缘锁定)。FLEXIO源时钟CLK选择120MHz,FLEXIO_SPI CLK设置为20MHz,数据在下降沿采样。

a8f5d766-9797-11ed-bfe3-dac502259ad0.png

masterconfig->enablemaster =true;

masterConfig->enableIndoze =false;

masterConfig->enableIndebug =true;

masterConfig->baudRate_Bps =20000000U;

masterConfig->phase =kFLEXIO_SPI_ClockPhaseSecondEdge;

masterConfig->dataMode =kFLEXIO_SPI_8BITMode;

a91a69e6-9797-11ed-bfe3-dac502259ad0.png

备注:如设置大于20Mhz 时钟频率,主机端实际接收数据一个字节总是被接收/存储两次。

审核编辑:汤梓红

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

    关注

    113

    文章

    6194

    浏览量

    184526
  • 寄存器
    +关注

    关注

    31

    文章

    5322

    浏览量

    120020
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1701

    浏览量

    91333
  • 定时器
    +关注

    关注

    23

    文章

    3241

    浏览量

    114482
  • SDK
    SDK
    +关注

    关注

    3

    文章

    1026

    浏览量

    45779

原文标题:MIMXRT1060 FLEXIO SPI 速率

文章出处:【微信号:嵌入式 MCU,微信公众号:嵌入式 MCU】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于RT1060EVKB+LVGL的便携移动示波器设计方案

    1、基于RT1060EVKB+LVGL的便携移动示波器设计打开RT-Thread Studio工具栏点击SDK Manager安装板级支持包:没有MIMXRT1060-EVKB,则选择相近
    发表于 08-11 15:11

    BLHost从NOR执行应用程序无法正常启动的原因?

    我们是使用 MIMXRT 1061 的产品的生产合作伙伴。我们正在尝试为基于 MIMXRT1060 的定制板设置生产测试软件。 在我们的开发过程中,我们将以下启动保险丝配置为
    发表于 03-23 07:37

    使用FLEXIO_SPI时如何以多字节为单位切换CS?

    我正在使用 S32K148U EVB 套件。 使用提供的 RTM3.0 v3.0 实现了 FLEXIO_SPI。但是,SPI 波形如下所示。 从 Master 传输时,传输 10 个字
    发表于 03-28 07:19

    为什么无法在MIMXRT1060-EVK套件上使用板载调试器?

    我无法在我的 MIMXRT1060-EVK 套件上使用板载调试器。当我尝试“调试”时,出现以下错误:   该设备正确显示在我的设备管理器中:我相信问题出在我的电脑上,因为我在一台新电脑上尝试了相同
    发表于 03-30 06:24

    调试评估板MIMXRT1060 evkmimxrt1060_tensorflow_lite_label_image项目的问题如何解决?

    我正在尝试调试 evkmimxrt1060_tensorflow_lite_label_image 项目。我的 i.MXRT 1060 和 MCUXpresso 版本的 MCUXpresso SDK
    发表于 04-07 06:14

    MIMXRT1060-EVK板 +MCUXpresso IDE如何恢复RT板?

    下图:图。1图二 连接日志可能是:没有连接到芯片的调试端口错误:Wire Ack Wait Fault 本文档将提供一些在遇到典型 MIMXRT1060-EVK 板 +MCUXpresso IDE
    发表于 04-20 08:31

    i.MX RT1060flexIO是否支持QSPI从仿真?

    我们有一个用MCU模拟SPI Nor-flash的需求。所以我们需要在 MCU 上支持 Quad-SPI、Dual-SPI slave 模式。i.MX 系列的 FlexIO 是否支持此
    发表于 04-20 07:05

    MIMXRT1060-EVKB出现硬件故障怎么解决?

    MIMXRT1060-EVKB 出现硬故障
    发表于 04-21 07:08

    MIMXRT1064-EVK使用MBDToolbox构建音频示例时出错怎么解决?

    我尝试在全新安装的 Simulink 上使用 MBDToolbox 构建 evkmimxrt1060_sai_loopback 示例。但是,我总是收到以下错误: 在 C:/Matlab_Addons
    发表于 04-25 07:37

    求分享一下FlexIO时序图吗?

    我们在设计中使用 S32K144 64 引脚封装 uC。所以我们使用 FlexIO SPI 作为从属配置。 如下所述,我们正在使用 SPI 从模式的引脚 密码引脚名称 3个引脚中的 Fle
    发表于 05-04 08:17

    MIMXRT1060-EVKB USB dev_composite_cdc_msc_disk_freertos示例,为什么这取决于物理sd卡?

    我在 MIMXRT1060-EVKB 上使用 MCUXpresso v11.7.0 和 SDK v2.13.0 我正在尝试
    发表于 05-22 08:55

    USART波特率与SPI速率对比

    USART波特率 vs SPI速率
    的头像 发表于 01-15 16:37 1.2w次阅读

    MIMXRT并口连接外围器件的两种方式

    MIMXRT 有类似Kinetis FlexBUS的接口用于外接FPGA或者并口的液晶屏或者并口采集芯片。可以参考如下的应用笔记,有两种方式: Flexio方式以及SEMC的DBI总线并口连接方式。
    的头像 发表于 01-09 11:03 1273次阅读

    MIMXRT1060 FLEXIO UART波特率

    OSR 最小值是 4,因此24Mhz时钟模式下,LPUART最大波特率是 24/5 = 4.8Mbps,手册中硬件的 LPUART最大的波特率是 80Mhz/4=20Mbps。80/13= 6.15Mbps波特率,这样相对于 6Mhz就有 2.5%的误差。
    的头像 发表于 01-29 10:02 1676次阅读

    MIMXRT1060 EVK JTAG接口修改方法

    MIMXRT1060 EVK是NXP官方基于MIMXRT1062DVL6A芯片的开发板,该开发板带有板载的CMSIS-DAP的仿真器,也留出了可以外接外部仿真器的20脚JTAG口。芯片
    的头像 发表于 05-04 10:48 1219次阅读
    <b class='flag-5'>MIMXRT1060</b> EVK JTAG接口修改方法