首页 > 其他分享 >NXP ECSPI controller简介

NXP ECSPI controller简介

时间:2024-03-19 23:56:01浏览次数:28  
标签:NXP 传输 SPI controller ECSPI 设置 寄存器 bit

spi协议可参考:https://www.cnblogs.com/lethe1203/p/18083528   ECSPI(Enhanced Configurable Serial Peripheral Interface)是由NXP Semiconductors(原飞利浦半导体部门)开发的,imx6ull上一共有四组spi接口,每组寄存器都是一样的,都是以第一组为例。  

典型的SPI BURST传输图:

0  

ECSPI的feature:

1、全双工同步串行接口 2、主/从可配置四芯片 3、选择(SS)信号支持多个外设 4、传输延续功能允许无限长度数据传输 5、32位宽64 entery FIFO传输和接收数据 6、极性和相位的芯片选择(SS)和SPI时钟(SCLK)可配配置 7、直接内存访问(DMA) 8、支持最大操作频率参考时钟频率。  

ECSPI寄存器描述:

如下图,解析下主要寄存器的含义与操作方法: 0

1、RXDATA

RXDATA是一个只读寄存器,该寄存器有一个64 x 32bit深度的fifo,此寄存器保存了从外部SPI设备接收到的数据,最大允许word大小的操作。 在接收数据就绪位RR时,可读  

2、TXDATA

TXDATA寄存器是一个只写寄存器,该寄存器有64 x 32bit深度的fifo,当禁用掉ECSPI时(清除ECSPI_CONREG(EN)位),写入该寄存器将无效。 如果实际传输的bit数超过了burst length的长度,将忽略额外的长度  

3、CONREG

CONREG寄存器的关键bit位: bit0:置1,使能SPI bit3:置1,表示TX有数据立即开启突发访问 bit[7:4]:设置SPI通道主从模式,bit7为通道3,bit4为通道0,我们使用SS0,也就是设置bit4为1 bit[31:20]:突发长度,设置为0x7,表示一次突发传输长度为8  

4、CONFIGREG

bit[0]:为PHA,设置为0,表示串行时钟第一个跳变沿开始采集数据 bit[4]:为POL,设置为0,表示SCLK空闲的时候为低电平 bit[8]:设置为0 bit[16]:设置为0,表示空闲的时候数据线为高 bit[20]:设置为0,表示SCLK空闲时为低  

5、STATREG

bit[0]:表示TXFIFO为空,我们在发送数据之前等待TXFIFO为空,设置为1 bit[3]:表示RXFIFO是否有数据,为1的时候表示RXFIFO至少有一个word的数据,我们在接收数据的时候要等待该寄存器为1   等等

标签:NXP,传输,SPI,controller,ECSPI,设置,寄存器,bit
From: https://www.cnblogs.com/lethe1203/p/18084254

相关文章

  • Exynos4412 IIC Controller
    学习资料来源:https://www.bilibili.com/video/BV14o4y1Y7A1?p=10&vd_source=432ba293ecfc949a4174ab91ccc526d6寄存器描述来自Exynos4412User'sManual 在Exynos4412芯片中,使用IIC,重要寄存器如下:Multi-masterI2C-buscontrolregister–I2CCONMulti-masterI2C-busc......
  • 全局异常捕获(@RestControllerAdvice)介绍和使用
    @RestControllerAdvice是什么@RestControllerAdvice是Spring框架提供的一个注解,用于定义全局异常处理器和全局数据绑定设置。它结合了@ControllerAdvice和@ResponseBody两个注解的功能。@ControllerAdvice@ControllerAdvice是一个用于定义全局控制器增强(即全局异常处理和......
  • nginx-ingress-controller限制上传文件大小问题
    参考:https://www.cnblogs.com/pitaiyang/p/17975041报错信息nginx-ingress-controller限制上传文件大小为1M如果上传文件大于1M则会在浏览器报以下错误#RequestEntityTooLarge解决方法修改ingress配置文件增加以下配置annotations:#nginx.org/client-max-b......
  • Asp.net Core关于自定义ControllerFeatureProvider的记录
    最近看公司的项目,发现公司对于自定义发现控制器搞了个方法,然后研究了一下,发现神奇现象基本原理可以查看 深入解析ASP.NETCoreMVC的模块化设计[上篇]-Artech-博客园(cnblogs.com) 大佬的博客这个是控制器的部分代码 publicclassApplicationServiceControl......
  • Exynos4412 Uart Controller
    参考视频:https://www.bilibili.com/video/BV14o4y1Y7A1?p=4&vd_source=432ba293ecfc949a4174ab91ccc526d6 寄存器描述来自Exynos4412User'sManualuart寄存器需要关注的点有:1、如何设置帧格式?2、如何设置uart接收和发送模式?3、如何设置uart的波特率?4、发送和接收都是哪......
  • @RestController
    @RestController是SpringFramework中的一个注解,主要用于标识一个类是RESTful服务的控制器(Controller)。在SpringMVC中,通常使用@Controller注解来定义控制器类,而@RestController是@Controller的一个特殊版本,它结合了@Controller和@ResponseBody注解的功能。具体......
  • RestController:Spring Framework 中用于创建 RESTful Web 服务的注解
    RestController 是SpringFramework中用于创建RESTfulWeb服务的注解。它简化了构建RESTfulWeb服务的过程,使得开发者能够更专注于业务逻辑的实现,而不是底层的HTTP请求和响应处理。一、RestController的基本概念RestController 是SpringWeb模块中的一个核心注......
  • MFMailComposeViewController 发送邮件
    通过MFMailComposeViewController发送邮件,需预先登录邮箱账号的情况下;具体实现与配置参数请参考如下:首先,引入MFMailComposeViewController库#import<MessageUI/MessageUI.h>其次,实现相关api方法if([MFMailComposeViewControllercanSendMail]){......
  • Javaweb项目使用本地servlet启动,可以弹出主页,跳转到controller报404解决方案
    首先检查项目的资源路径,以及tomcat配置,有没有部署,上下文配置好如果问题依然出现,那么可以考虑tomcat版本与依赖不匹配,我用的是tomcat10,使用使用这个依赖,就解决了这个问题,jakarta.servletjakarta.servlet-api5.0.0provided,相应的匹配版本可以查询到。......
  • 【Unity】Transform、Rigidbody、CharacterController移动
    前言在使用Unity开发的时候,移动是最最基础的一个需求,我来给大家简单的讲一下Unity中的几种常见的移动方法。1.Transform移动Transform移动就是修改物体的position①修改位置这里要注意:坐标分为世界坐标和本地坐标//将物体的世界坐标修改为(1,1,1)transform.posit......