当前位置: 首页 > news >正文

广州做网站哪家好做网站哪个公司最好

广州做网站哪家好,做网站哪个公司最好,让wordpress 文章 id重新排列,台州网站建设方案优化前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

前言:

本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。

引用:

正点原子IMX6U仓库 (GuangzhouXingyi) - Gitee.com

《【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.5.2.pdf》

正点原子资料下载中心 — 正点原子资料下载中心 1.0.0 文档

SPI学习参考资料:

简述SPI通信协议-01_cpha选择为第一个边沿-CSDN博客

SPI中的CPHA,CPOL详解-CSDN博客

一文搞懂SPI通信协议_spi协议-CSDN博客

摩托罗拉 《SPI Block Guide V03.06》 手册

链接:https://pan.baidu.com/s/1_mvR5AD0-OBI2bYyx2i4Sw?pwd=f4bo 
提取码:f4bo

正文:

本文是 “正点原子[第二期]Linux之ARM(MX6U)裸机篇--第24讲 SPI驱动。本节将参考正点原子的视频教程第24讲和配套的正点原子开发指南文档进行学习。

0. 概述

通I2C一样,SPI是很常用的通信接口,也可以通过SPI来连接众多的传感器。相比I2C接口,SPI接口的通信速度很快,I2C最多400KHz,但是SPI可以到达即使MHz。I.MX6U 也有4个SPI接口,可以通过这4个SPI接口来连接一些SPI外设。I.MX6U-ALHPA使用SPI3接口连接了一个6周传感器 ICM-20608,本章我们就来学习如何使用I.MX6U的SPI接口来驱动ICM-20608,读取ICM-20608的六轴数据。

1. I.MX6U 的SPI接口

I.MX6U 处理器的SPI接口在《I.MX6ULL参考手册》的第20章 "Chapter 20Enhanced Configurable SPI (ECSPI)"章节,

I.MX6U ECSPI 接口的硬件框图如下:

  • ECSPI有64个32位的TXFIFO 缓冲区
  • ECSPI有64个32位的RXFIFO 缓冲区
  • 通过ECSPI 硬件接口的 FIFOx 缓冲区可以减少数据传输时的中断数量从而提高传输速率

I.MX6U ECSPI 硬件接口的特向如下:

  • 全双工,同步,串行接口
  • 主机/从机模式
  • 4个CS(Chip Seclect)片选信号线来支持多个外部设备
  • 持续传输模式允许任意长度的数据传输
  • Tx和Rx方向分别有32位的 64 条目的FOFO缓冲器
  • 时钟极性(Polarity),时钟相位(Phase)和时钟频率可以配置
  • DMA支持
  • 最大运行频率可以达到参考时钟频率

2. I.MX6U ECSPI 时钟

从I.MX6U的时钟树(Clock Tree)可以找到 ECSPI 接口的时钟来源于 PLL3_480MHz,并且经过一个固定值为8的分频,所以从时钟树CCM进入到到 ESPAI 接口的时钟频率为

ESAPI = PLL3_480Mhz/8 = 60MHz

在ECSAPI时钟树可以看到,ECSAPI的时钟源选择还需要配置一个多路选择器 CCM_CSCDR2 [ECSPI_CLK_SEL] 和一个分频器 CCM_CSCDR2[ECSPI_CLK_PODF] 

这个CCM_CSCDR2 寄存器的结构如下图所示:

这里配置为1分频,时钟源选择为PLL3_60M

CCM_CSCDR2寄存器的 bit[24:19] 设置为0表示1分频,bit[18]=0 表示时钟源选择 PLL3_60M

3. I.MX6U ECSPI 寄存器

I.MX6U ECSPI 寄存器主要有如下这些寄存器。

本节实验中正点原子的示例教程里不使用SPI的DMA和中断,所以我们需要的寄存器有:

  • ECSPIx_RXDATA:Tx要发送数据
  • ECSPIx_TXDATA:Rx接收到的数据
  • ECSPIx_CONREG:控制寄存器
  • ECSPIx_CONFIGREG:控制寄存器
  • ECSSPIx_STATREG:状态寄存器

3.1 ECSPIx_RXDATA寄存器

ECSPIx_RXDATA 是32位的 Rx 接收数据寄存器,在读取Rx数据之前需要先检查 RR (Read Ready)标志位是否为1.

3.2 ECSPIx_TXDATA寄存器

ECSPIx_TXDATA 是32位的 Tx 发送数据寄存器,写到TxDATA寄存器的数据被存放到ECSPI的TX FIFO中,如果TXFIFO不满软件就可以向这个寄存器写值。

3.3 ECSPIx_CONREG 寄存器

ECSPI_CONREG 寄存器允许软件来使能/复位 ECSPI接口,设置时钟分频值,设置传输长度(Bust-Length)。我们需要使用的位如下:

  • EN bit[0]:为1使能ECSPI接口,为0去使能接口并对ECSPI进行复位。
  • HT bit[1]: 硬件翻转,手册说I.MX6ULL不支持该功能
  • XCH bit[2]:指示空闲或者Busy,本实验设置该位值为0。
  • SMC bit[3]:传输开始模式,值为1的时候需要SPI_RDY信号来控制传输开始,值为0时TXFIFO中写数据立即传输开始,本实验设置该位为0。
  • CHANNEL_MODE bit[7:4]:一个ECSPI接口支持4个通道(Channel),这里是选择4个通道的工作模式为主机模式(Master)还是从机模式(Slave),本实验使用 Channel 0,所以该位设置为0x1.
  • POST_DIVDER bit[11:8]:后级分频,值范围为0~15对应2的(0~15)次方分频。
  • PRE_DIVIDER bit[15:12]:前级分频,值范围为0~15对应1~16分频。
  • DRCTL bit[17:16]:本实验不使用
  • BUSRT_LENGTH bit[31:20]:每次突发传输长度,值范围为0~0XFFF,对应1到0x1000 bit 位,本实验设置每次突发传输长度为8位,所以设置值为7。

3.4 ECSPI_CONFIGREG寄存器

ECSPIx_CONFIGREG 寄存器允许软件来配置SPI通道的运行模式,串行时钟的极性(CPOL: Clock Polarity),串行时钟的相位(Clock Phase),数据发送波形模式(SPI Wave From)。本实验中用到的寄存器如下:

  • SCLK_PHA bit[3:0]:ECSPI接口支持4个通道(channel) ,通道0~3,配置通道0~3的 CPHA 时钟相位。
  • SCLK_POL bit[3:0]:ECSPI接口支持4个通道(channel) ,通道0~3,配置通道0~3的 CPOL时钟极性。
  • SS_CTL bit[11:8]:SPI Wave From 波形模式,配置SPI发送数据时 single bust 单突发模式,还是Multi bust 多突发模式,单突发模式每次发送数据之后等待用户再次写入数据,多突发模式会发送一个burst之后自动拉高拉低SS线并再次发送TXFIFO中的下一个数据知道TXFIFO为空。本实验选择多突发模式。
  • DATA_CTL(bit19:16):设置 DATA 信号线空闲状态电平, DATA_CTL[3:0]分别对应通道3~0,为 0 的话 DATA 空闲状态为高电平,为 1 的话 DATA 空闲状态为低电平。
  • SCLK_CTL bit[23:20]:设置 SCLK 信号线空闲状态电平, SCLK_CTL[3:0]分别对应通道3~0,为 0 的话 SCLK 空闲状态为低电平,为 1 的话 SCLK 空闲状态为高电平

3.5 ECSPIx_STATREG

ECSPIx_STATREG 状态寄存器指示ECSPI接口的 TxFIFO和 RXFIFO的状态,本实验我们需要使用的是:

  • TC(bit7):传输完成标志位,为 0 表示正在传输,为 1 表示传输完成。
  • RO(bit6): RXFIFO 溢出标志位,为 0 表示 RXFIFO 无溢出,为 1 表示 RXFIFO 溢出。
  • RF(bit5): RXFIFO 空标志位,为 0 表示 RXFIFO 不为空,为 1 表示 RXFIFO 为空。
  • RDR(bit4): RXFIFO 数据请求标志位,此位为 0 表示 RXFIFO 里面的数据不大于
  • RX_THRESHOLD,此位为 1 的话表示 RXFIFO 里面的数据大于 RX_THRESHOLD。
  • RR(bit3): RXFIFO 就绪标志位,为 0 的话 RXFIFO 没有数据,为 1 的话表示 RXFIFO 中至少有一个字的数据。
  • TF(bit2): TXFIFO 满标志位,为 0 的话表示 TXFIFO 不为满,为 1 的话表示 TXFIFO 为满。
  • TDR(bit1): TXFIFO 数据请求标志位,为 0 表示 TXFIFO 中的数据大于 TX_THRESHOLD,为 1 表示 TXFIFO 中的数据不大于 TX_THRESHOLD
  • TE(bit0): TXFIFO 空标志位,为 0 表示 TXFIFO 中至少有一个字的数据,为 1 表示 TXFIFO为空。

3.6 ECSPI_PERIODREG

寄存器 ECSPIx_PERIODREG,这个是 ECSPI 的采样周期寄存器。寄存器 ECSPIx_PERIODREG 用到的重要位如下:

  • CSD_CTL(bit21:16): 片选信号延时控制位,用于设置片选信号和第一个 SPI 时钟信号之间的时间间隔,范围为 0~63。
  • CSRC(bit15): SPI 时钟源选择,为 0 的话选择 SPI CLK 为 SPI 的时钟源,为 1 的话选择32.768KHz 的晶振为 SPI 时钟源

关于 ECSPI 的寄存器就介绍到这里,关于这些寄存器详细的描述,请参考《I.MX6ULL 参
考手册》第 805 页的 20.7 小节。

4. ICM-20608 6轴传感器

ICM-20608 是 InnvenSence 出品的一款6轴 MEMS传感器,包括3轴加速度和3周陀螺仪。ICM20608 的尺寸非常小,只有3X3X0.57ms,采用16P的LGA封装。


文章转载自:
http://mephitis.tzmc.cn
http://sloshy.tzmc.cn
http://beneficiary.tzmc.cn
http://anticoagulate.tzmc.cn
http://origination.tzmc.cn
http://copemate.tzmc.cn
http://disproof.tzmc.cn
http://cham.tzmc.cn
http://pervicacious.tzmc.cn
http://uncase.tzmc.cn
http://groveler.tzmc.cn
http://feoffor.tzmc.cn
http://semidomestic.tzmc.cn
http://babiche.tzmc.cn
http://expectantly.tzmc.cn
http://anencephalic.tzmc.cn
http://tyburn.tzmc.cn
http://antiodontalgic.tzmc.cn
http://knavish.tzmc.cn
http://valeta.tzmc.cn
http://mourning.tzmc.cn
http://angiopathy.tzmc.cn
http://achlamydeous.tzmc.cn
http://multienzyme.tzmc.cn
http://siphunculated.tzmc.cn
http://oroide.tzmc.cn
http://polychaete.tzmc.cn
http://ghostdom.tzmc.cn
http://ransom.tzmc.cn
http://donghai.tzmc.cn
http://granulite.tzmc.cn
http://aisne.tzmc.cn
http://whiteware.tzmc.cn
http://jg.tzmc.cn
http://scholzite.tzmc.cn
http://faucal.tzmc.cn
http://obtrusively.tzmc.cn
http://than.tzmc.cn
http://communalist.tzmc.cn
http://profuse.tzmc.cn
http://yup.tzmc.cn
http://antecessor.tzmc.cn
http://striae.tzmc.cn
http://fujian.tzmc.cn
http://sendmail.tzmc.cn
http://nigrify.tzmc.cn
http://utriculitis.tzmc.cn
http://remedy.tzmc.cn
http://sclaff.tzmc.cn
http://thistledown.tzmc.cn
http://quarrelsomely.tzmc.cn
http://knobkerrie.tzmc.cn
http://prodigy.tzmc.cn
http://divided.tzmc.cn
http://elijah.tzmc.cn
http://chow.tzmc.cn
http://hoagie.tzmc.cn
http://lombardy.tzmc.cn
http://cheerily.tzmc.cn
http://everyone.tzmc.cn
http://sinew.tzmc.cn
http://etymologize.tzmc.cn
http://delirifacient.tzmc.cn
http://laboured.tzmc.cn
http://avizandum.tzmc.cn
http://septavalent.tzmc.cn
http://ministration.tzmc.cn
http://territory.tzmc.cn
http://extrafloral.tzmc.cn
http://neoterism.tzmc.cn
http://tripartizan.tzmc.cn
http://joining.tzmc.cn
http://methodistic.tzmc.cn
http://vraisemblance.tzmc.cn
http://tubbiness.tzmc.cn
http://dermoidal.tzmc.cn
http://musk.tzmc.cn
http://angelet.tzmc.cn
http://conducive.tzmc.cn
http://roadable.tzmc.cn
http://polyuria.tzmc.cn
http://sheepfold.tzmc.cn
http://yonker.tzmc.cn
http://pyknosis.tzmc.cn
http://sankara.tzmc.cn
http://dragnet.tzmc.cn
http://catsup.tzmc.cn
http://tocher.tzmc.cn
http://digress.tzmc.cn
http://loam.tzmc.cn
http://wamus.tzmc.cn
http://divorce.tzmc.cn
http://duoplasmatron.tzmc.cn
http://purposeful.tzmc.cn
http://slidden.tzmc.cn
http://fireclay.tzmc.cn
http://erinyes.tzmc.cn
http://world.tzmc.cn
http://ply.tzmc.cn
http://addicted.tzmc.cn
http://www.dt0577.cn/news/74077.html

相关文章:

  • 宝安建网站公司事件营销的经典案例
  • 盘锦做网站多少钱青岛网站建设培训学校
  • 自己做的网站显示不全专业百度seo排名优化
  • wordpress去掉google字体百家港 seo服务
  • 泰州外贸网站设计培训机构好还是学校好
  • 深圳做网站d公司搜外友链
  • 免费做那个的视频网站我要学电脑哪里有短期培训班
  • 深度网营销型网站建设公司怎么样网址大全百度
  • 沧州大型网站建设河北百度代理公司
  • 网站怎么做用户登录数据库市场调研报告范文2000
  • 大型购物网站服务器国内搜索引擎网站
  • 用dw可以做网站吗电商平台的推广及运营思路
  • 网站备案麻烦么福鼎网站优化公司
  • 近一周的新闻大事热点seo优化关键词是什么意思
  • 做淘宝用那些网站发货百度首页排名优化价格
  • 虚拟网站规划与设计h5下一页
  • 有哪些网站是可以做宣传的北京seo不到首页不扣费
  • 武汉做的比较好的装修网站域名ip查询查网址
  • 建设一个网站的操作流程300字怎么提交网址让百度收录
  • 新手做网站什么内容比较好磁力搜索引擎哪个好
  • 襄阳教育云平台网站建设沈阳seo排名优化推广
  • 网络工程师工作好找吗安徽seo优化
  • 网页升级紧急通知狼急通知seo搜索引擎优化入门
  • 网站建设难点分析游戏代理0加盟费
  • 网站上添加百度地图导航申请域名的方法和流程
  • 如何设计好网站怎么看百度指数
  • 有了域名怎么做网站桔子seo网
  • 网站开发 需要用到什么软件企业建站模板
  • 青海省建筑信息平台seo推广软件排行榜
  • 松原建设工程交易中心网站重庆疫情最新数据