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

淮南餐饮网站建设郑州建设网站公司

淮南餐饮网站建设,郑州建设网站公司,ppt软件下载免费版,模板网站有什么不好8.1 SPI 简介 SPI(Serial Peripheral Interface,串行外设接口)是一种同步串行通信协议,广泛用于嵌入式系统中连接微控制器与外围设备,如传感器、存储器、显示屏等。 主要特点 1. 全双工通信:支持同时发送…

8.1 SPI 简介

SPI(Serial Peripheral Interface,串行外设接口)是一种同步串行通信协议,广泛用于嵌入式系统中连接微控制器与外围设备,如传感器、存储器、显示屏等。

主要特点
1. 全双工通信:支持同时发送和接收数据。
2. 同步通信:依靠时钟信号(SCLK)同步数据传输。
3. 主从架构:一个主设备控制一个或多个从设备。
4. 高速传输:速度通常高于I2C和UART。

优点:高速传输,全双工通信,硬件简单。

缺点:需要更多引脚,无内置错误检测,协议复杂度较高。

全双工,这里就跟I2C区别开了,I2C只有一根数据线,发送数据时不能接收,接收数据时不能发送,所以SPI相较于I2C通信十分迅速,但是,主从身份是无法改变的,硬件(接的线)固定了,一个主机多个从机,主机是这些从机永远的主机。就是接的线相对多一点,I2C就用个SCL,SDA,SPI至少用四根。

信号线
1. SCLK(Serial Clock):主设备提供的时钟信号。
2. MOSI(Master Out Slave In):主设备发送数据,从设备接收。
3. MISO(Master In Slave Out):从设备发送数据,主设备接收。
4. SS/CS(Slave Select/Chip Select):主设备选择从设备。

应用场景
存储器:如Flash、EEPROM。
传感器:如温度、加速度传感器。
显示屏:如OLED、LCD。
通信模块:如Wi-Fi、蓝牙模块。

8.2 SPI 工作原理


1. 初始化:主设备配置时钟频率、数据格式等参数。
2. 选择从设备:主设备拉低(或者拉高,取决于从机)对应从设备的SS线。
3. 数据传输:主设备通过MOSI发送数据,同时通过MISO接收数据。
4. 结束通信:主设备拉高(或拉低)SS线,结束传输。

SPI(Serial Peripheral Interface)、SSI(Synchronous Serial Interface)和Microwire是三种常见的同步串行通信协议,它们在帧格式、通信方式和应用场景上有所不同。

8.3 XT25 简介

XT25F02E 含有2Mb串行FLASH,支持标准串行外围接口(SPI),并支持Dual SPI:串行时钟、芯片选择、串行数据I/O0(SI)、I/O1(SO)。Dual I/O数据以160Mbits/s的速度传输。下图为XT25内部方框图。

8.4 寄存器

8.4.1 控制寄存器0 SSP0CR0, SSP1CR0

        这里CPOL和CPHA可改变空闲状态和接收时刻,而I2C就是固定的

3:0DSS

数据长度选择,控制每帧中传输的位的数目,0000~0010无效

0011 ~ 1111分别对应4-16位,相当于DSS的二进制值加一

5:4FRF

帧格式

00 SPI

01 TI SPI

10 Microwire

11 不适用

6CPOL

时钟输出极性 只用于SPI模式

0 使帧之间的总线时钟保持电平

1 使帧之间的总线时钟保持电平

7CPHA

时钟输出相位

0 SSP控制器在帧传输第一次跳变(01 or 10)时捕获串行数据,

即跳变远离时钟线的帧间状态

1 SSP控制器在帧传输第二次跳变时捕获串行数据,即跳变靠近时钟线的帧间状态

15:8SCR

串行时钟速率

位频率为 PCLK / (CPSDVSR * [SCR + 1]),

CPSDVSR为预分频器分频值

PCLK为APB时钟PCLK计时预分频器 

8.4.2 控制寄存器1 SSP0CR1 SSP1CR1

0LBM

0 正常操作

1 串行输入脚可做串行输出脚

启用后,发送的数据会直接回环到接收端,用于测试或调试,无需外部连接。在LBM模式下,原本用于接收数据的串行输入脚(如MISO)可以临时用作串行输出脚(类似MOSI),直接输出发送的数据。

1SSE

SSP使能

0 禁能

1 与总线上的其他设备相互通信,置位前先向其他SSP寄存器和中断控制寄存器写入合适的控制信息

2MS

主master/从slave模式 SSE为0时才能写入(I/O是输入in/输出out)

0 SSP控制器作为总线主机,驱动SCLK,MOSI和SSEL接收MISO

1 SSP控制器作为总线从机,驱动MISO,接收SLCK、MOSI和SSEL

3SOD

从模式下有用,从机输出禁能,

1 将禁止MISO,从机就发不出去了

7:4保留

8.4.3 数据寄存器 SSP0DR、SSP1DR

       16位,可往寄存器写入,可从寄存器读出

        写入:

                状态寄存器 TNF 置1,即Tx FIFO未满时,软件就可以将帧数据写入,满了不能写;

                Tx FIFO 原来为空并且总线上SSP控制器空闲,写了立马发,不然排队等

                小于16位,写入寄存器的数据右对齐

        读出:

                状态寄存器 RNE 置一,即Rx FIFO未空,就能读出数据

                读的时候返回Rx FIFO最早接收到的帧数据

                读出的数据小于16位,高位补零

8.4.4 状态寄存器 SSP0SR、SSP1SR

        只读

E为empty

F为full

描述
0TFE1 发送FIFO为空
1TNF1 发送FIFO未满
2RNF1 接收FIFO未空
3RFE1 接收FIFO为空
4BSY忙

0 空闲

1 发送/接收一个帧或TxFIFO非空

7:5保留

8.4.5 时钟预分频寄存器 SSP0CPSR SSP1CPSR

        该寄存器对SSP外设时钟SSP_PCLK分频来获得预分频时钟,再被SSPnCR0(8.4.1)中的SCR因数分频得到位时钟

        [7:0] CPSDVSR 为2~256之中的一个偶数,第0位就保持0不变了

              

        实际硬件限制使得SCLK速率不能超过SSP外设时钟的1/12。

8.4.6 中断屏蔽置位/清零寄存器 SSP0IMSC SSP1IMSC

        4个中断条件的使能

0ROIM

当SPI接收缓冲区已满(即已接收到数据但未被读取),而新的数据又到达时,会发生接收溢出。

使能ROIM中断后,当发生接收溢出时,SPI模块会触发中断,通知程序处理溢出情况。

1RTIM接收超时(Rx FIFO非空且在超时周期内没有读出任何数据)后,置位该位会触发接收超时中断
2RXIMRx FIFO至少有一半满,产生中断
3TXIMTx FIFO至少有一半空,产生中断
7:4保留

8.4.7 原始中断状态寄存器 SSP0RIS SSP1RIS

        不管SSPnIMSC中的中断是否使能,只要出现有效的中断条件,SSP原始中断状态寄存器就将相应的位置一。

0RORRIS当SPI接收缓冲区已满(即已接收到数据但未被读取),而新的数据又到达时,会发生接收溢出。该位置一
1RTRIS接收超时
2RXRISRx FIFO至少有一半满
3TXRISTx FIFO至少有一半空
7:4保留

8.4.8 屏蔽中断状态寄存器 SSP0MIS SSP1MIS

        中断条件触发且中断使能时,相应位置一

0RORRIS当SPI接收缓冲区已满(即已接收到数据但未被读取),而新的数据又到达时,会发生接收溢出。该位置一
1RTRIS接收超时
2RXRISRx FIFO至少有一半满
3TXRISTx FIFO至少有一半空
7:4保留

8.4.9 SSP中断清零寄存器 SSP0ICR SSP1ICR

用于清零接收溢出Receive Overrun 和接收超时 Receive Timeout 的中断

另外两个RXIM、TXIM通过读/写 Rx/ Tx FIFO会自动清零

 

写1清除
0RORIC清除ROIM
1RTRC清除RTIM
7:2保留

 8.5 SPI实现读取XT25

        持续更新。。。

http://www.dtcms.com/a/617028.html

相关文章:

  • 如何做分销型网站微官网建设公司排行
  • 网站开发技术课程设计总结深圳app开发公司都有哪些
  • 中山外贸营销网站建设做百度网站每年的费用多少钱
  • wordpress站群管理系统宁波seo培训
  • 湖南环达公路桥梁建设总公司网站菲律宾做网站好吗
  • 北京做百度网站重庆建设工程信息网查询成绩分数
  • 淘宝客怎么做直播网站吗广告设计与制作专业就业方向
  • 黑龙江省城乡建设厅网站芜湖市建设路小学网站
  • 如何做商业网站推广seminar怎么读
  • 鹿泉区建设局网站wordpress优化速度
  • 廊坊seo排名外包什么是优化产业结构
  • 风景旅游网站建设的设计思路wordpress cookie伪造
  • 外贸网站怎么建设小程序开发指南
  • 九州建网站网站建站多钱
  • 深圳做琴行的公司网站百度一下一下你就知道
  • 河北省和城乡住房建设厅网站首页做网站后端语言用什么
  • 可以上传数据的网站开发建站赔补
  • 青岛网站建设服务中心房地产政策最新消息2022
  • wordpress4.9 多站点网站模版怎么做的
  • 网站建设可以先备案嘛码支付wordpress前端
  • nodejs可以做企业网站吗西安百度竞价托管
  • 没有空间可以做网站吗wordpress video plugin
  • 企业设计个网站wordpress首页显示全部内容
  • 义乌门户网站建设北京网站建设服务器维护
  • 天津建设工程计价网站好看的html代码
  • 织梦网站会员上传图片设计类专业需要艺考吗
  • wordpress 换中文字体柳州做网站seo哪家好
  • 校园网站开发需求文字怎样在微信上做网站
  • 网站开发项目总结模板文化传媒 网站设计
  • 深圳建设网站公司哪儿济南兴田德润有活动吗百度统计会对原网站产生影响吗