imx6ull spi

一、overview

​ IMX6ULL 自带的SPI控制器为ECSPI( Enhanced Configurable Serial Peripheral Interface) ,它为全双工四线串行通讯模块,有4路独立的控制器。ECSPI包含64x32接收buffer(RXFIFO)和一个64X32发送buffer(TXFIFO).使用数据fifo,ECSPI允许以更少的软件中断快速进行数据通信。ECSPI框图如下所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LprruMvb-1633054086987)(E:\u-boot\pic\ecspi_block.jpg)]

1.1 特性

①全双工同步串行接口
②可配置为MASTER或SLAVE模式
③支持多达四个片选信号来连接不同的外设,使用GPIO作为片选的话数量不限
④传输数据长度不限
⑤包含一个64X32的接收FIFO和64X32的发送FIFO
⑥片选信号和时钟信号的极性及相位可配置
⑦支持DMA(Direct Memory Acess)
⑧最大运行频率依赖于参考时钟频率

1.2 External Signals

1.3 clock


根据上图,我们可以设置SPI时钟:

①选择时钟源:ECSPI 时钟源来自于pll3_sw_clk/8或OSC, 将CCM_CSCDR2[ECSPI_CLK_SEL]设置为1选择 时钟源为pll3_sw_clk/8,CCM_CSCDR2[ECSPI_CLK_PODF]设置为0,分频系数为1,得到SPI控制器时钟为480/8/1=60MHZ.
②使能ECSPI控制器时钟 CCM_CCGR1[5-4] 设置为3。
③设置SPI SCLK时钟。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OrcKMtRY-1633054086988)(E:\u-boot\pic\spi sclk.jpg)]

1.4 功能描述

1.4.1 模式

① Master Mode
当ECSPI 被配置成master时,它使用一个串行链路在ECSPI和外部从设备之间传输数据。片选信号(SS)和时钟信号(SCLK)被用来在2个设备之间传输数据。如果外部设备是一个transmit-only 设备,ECSPI 主输出端口可以用作其他目的。为了使用TXFIFO 和RXFIFO,SS和SPI_RDY 2个辅助输出信号用来数据传输速率控制。可以使用软件来配置采样周期控制寄存器来设置数据传输速率。
②Slave Mode
当ECSPI被配置成slave,软件可以配置ECSPI 控制寄存器来匹配外部SPI 主机的时序。在该模式下,SS变成一个输入信号,它用来通过移位寄存器控制数据传输,和data FIFO load/store 一样。Slave 模式只支持the case当 ECSPIx_CONFIGREG[SS_CTL] 被清除。精确的burst长度应该由BURST_LENGTH参数指定。slave 模式不支持ECSPIx_CONFIGREG[SS_CTL] 设置为1。
③Low Power Modes
ECSPI不支持低功耗模式
当ECSPI关闭时钟后,在主模式下ECSPI保持它的操作,在从模式下ECSPI不在响应。

1.4.2 Operations

1.4.2.1 Typical Master Mode

ECSPI master使用SS信号使能外部SPI设备,使用SCLK信号在移位寄存器中传输数据。SPI_RDY使用很少的软件中断来使能快速数据通信。通过编程ECSPI_PERIODREG 寄存器,ECSPI可以使用固定的数据传输速率。该模式下SS SCLK MOSI 是输出信号,MISO是输入信号。

在上图中,SS使能外部SPI设备,SCLK 同步数据传输,MOSI和MISO信号在SCLK上升沿改变,在下降沿锁存,该图显示出0XD2被移出,0X66被移入。
Master Mode with SPI_RDY Master Mode with Wait States Master Mode with SS_CTL[3:0] Control Master Mode with Phase Control
模式详见手册,不做具体介绍。

1.4.2.2 Typical Slave Mode

该模式下,SS,SCLK MOSI是输入,MISO是输出,大多数时序图都类似于前面显示的主模式下SPI的图,因为输入来自于一个SPI master设备。当SS被用作 advance the data FIFO,时序是不同的。当SS_POL=0,数据FIFO将会在SS信号上升沿advance,当SS_POL=1,数据FIFO在SS信号下降沿advance。下图显示一个SPI burst 数据FIFO在SS信号上升沿advance。

在上述情况下,只有最重要的7位被加载到RXFIFO中。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值