Stm32F103R6之SPI
目录
概述
I2S功能
SPI功能
概述
SPI接口可以配置为支持SPI协议或者支持I2S音频协议。SPI接口默认工作在SPI方式,可以通过软件把功能从SPI模式切换到I2S模式。
串行外设接口(SPI)允许芯片与外部设备以半/全双工、同步、串行方式通信。此接口可以被配置成主模式,并为外部从设备提供通信时钟(SCK)。
I2S也是一种3引脚的同步串行接口通讯协议。它支持四种音频标准,包括飞利浦I2S标准,MSB和LSB对齐标准,以及PCM标准。它在半双工通讯中,可以工作在主和从2种模式下。当它作为主设备时,通过接口向外部的从设备提供时钟信号。
I2S功能
● 单工通信(仅发送或接收)
● 主或者从操作
● 8位线性可编程预分频器,获得精确的音频采样频率(8KHz到96kHz)
● 数据格式可以是16位,24位或者32位
● 音频信道固定数据包帧为16位(16位数据帧)或32位(16、24或32位数据帧)
● 可编程的时钟极性(稳定态)
● 从发送模式下的下溢标志位和主/从接收模式下的溢出标志位
● 16位数据寄存器用来发送和接收,在通道两端各有一个寄存器
● 支持的I2S协议:
─ I2S飞利浦标准
─ MSB对齐标准(左对齐)
─ LSB对齐标准(右对齐)
─ PCM标准(16位通道帧上带长或短帧同步或者16位数据帧扩展为32位通道帧)
● 数据方向总是MSB在先
● 发送和接收都具有DMA能力
● 主时钟可以输出到外部音频设备,比率固定为256xFs(Fs为音频采样频率)
● 在互联型产品中,两个I2S模块(I2S2和I2S3)有一个专用的PLL(PLL3),产生更加精准的时钟。
SPI功能
通常SPI通过4个引脚与外部器件相连:
● MISO:主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数据。
● MOSI:主设备输出/从设备输入引脚。该引脚在主模式下发送数据,在从模式下接收数据。
● SCK:串口时钟,作为主设备的输出,从设备的输入
● NSS:从设备选择。这是一个可选的引脚,用来选择主/从设备。它的功能是用来作为“片选引脚”,让主设备可以单独地与特定从设备通讯,避免数据线上的冲突。从设备的NSS引脚可以由主设备的一个标准I/O引脚来驱动。一旦被使能(SSOE位),NSS引脚也可以作为输出引脚,并在SPI处于主模式时拉低;此时,所有的SPI设备,如果它们的NSS引脚连接到主设备的NSS引脚,则会检测到低电平,如果它们被设置为NSS硬件模式,就会自动进入从设备状态。当配置为主设备、NSS配置为输入引脚(MSTR=1,SSOE=0)时,如果NSS被拉低,则这个SPI设备进入主模式失败状态:即MSTR位被自动清除,此设备进入从模式。
图 1SPI框图
Stm32F103R6之SPI相关推荐
- 阿里云内存平衡增强型r6e云服务器配置性能详解
查看全文 http://www.taodudu.cc/news/show-5979634.html 相关文章: stm32F103R6之复位 转载,nanopi的使用方法,包括设置静态IP SSH访问 ...
- STM32F103以SPI 驱动128*128的TFT彩屏,LCD驱动为ST7735s,程序使用CubeMX的HAL库开发方式,另外也做了标准库的程序移植
0. 关于本文: 其实我一直都比较懒,不喜欢写博客.但网上关于详细讲解SPI驱动LCD的文章比较少,虽然也能下载到一些案例程序,但对于初学者来说,如果不懂LCD驱动的原理,不懂如何对文字和图片取模, ...
- stc15w404as引脚图_STC15F2K6S2与stc15w404AS的spi通讯
#include/*********************************位定义***********************************/ #define uchar unsi ...
- I2C和SPI总线优缺点对比
IIC vs SPI现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral Interface)的身影 ...
- Java中的ClassLoader和SPI机制
深入探讨 Java 类加载器 成富是著名的Java专家,在IBM技术网站发表很多Java好文,也有著作. 线程上下文类加载器 线程上下文类加载器(context class loader)是从 JDK ...
- Java的SPI机制
Dubbo等框架使用到必须掌握. java.sql.Driver 是 Spi,com.mysql.jdbc.Driver 是 Spi 实现,其它的都是 Api. package org.hadoop. ...
- linux spi双机通信,【转】STM32 SPI双机通信(主从全双工)
欢迎大家测试 u8 SPI1_ReadByte(u8 TxData) { u8 retry=0; // while((SPI1->SR&1<<1)==0)//等待发送区空 / ...
- JDK/Dubbo/Spring 三种 SPI 机制,谁更好?
点击关注公众号,Java干货及时送达 来源:juejin.cn/post/6950266942875779108 SPI 全称为 Service Provider Interface,是一种服务发现机 ...
- 通讯波形记录——I2S、I2C、Uart、SPI
SPI波形 设置: UART I2S 扩展: I2S有3个主要信号: 1. SCLK:串行时钟,也叫位时钟(BCLK),即对应数字音频的每一位数据,SCLK都有1个脉冲.SCLK的频率=2×采样频率 ...
最新文章
- mysql删除原则_MySQL数据库的增删选查
- 【运筹学】对偶理论 : 对偶问题引入 ( 生产产品线性规划 | 设备租赁线性规划 | 对偶问题引入 )
- 安卓工程版本控制哪些文件可以忽略
- 前深度学习时代CTR预估模型的演化之路 [王喆观点]
- github可视化_Github上 10 个超好看可视化面板
- when will BOL flag lv_do_reread be set
- 电商网站模板_阿里云建站:模板建站与定制建站怎么选(小白参考)
- python调用数据库数据创建函数_Pyhton应用程序数据库函数封装
- 房子过户给子女哪种方式最合适?买卖?赠与?继承?不看就亏大了!
- 至商3000服务器信息,至商3000软件
- 天天学到夜里12点,感觉越学越迷茫,怎么办?
- vrchat模型保存_VRChat简易教程3-往世界里导入模型和VRC接口初探
- LED显示行业之知识大全3
- python爬取淘宝数据魔方_淘宝数据魔方是什么(淘宝数据魔方技术架构解析)
- 谈心--生活不止步于乐观
- java netty 内存泄露_Netty开发调试设置io.netty.leakDetection.level=PARANOID定位内存泄漏问题...
- linux c语言 写文件,linux c通过文件描述符以及write和read方法对文件进行读写
- 二、IAR for ARM中STM32项目创建及其启动文件分析
- LoadRunner技巧之IP欺骗
- linux磁盘文件检查修复工具下载,磁盘修复工具(TestDisk)
热门文章
- 科技周刊第十三期:业余选手和专业选手的区别
- 阿里云总裁胡晓明:AI泡沫过后,下一站是“产业AI”
- JetBrains IntelliJ IDEA - Eclipse 风格快捷键
- 站在风口的猪也会飞,背后推手是谁?
- 全球及中国良性前列腺增生((BPH))治疗仪行业研究及十四五规划分析报告
- u盘安装完linux系统没镜像,U盘刻录kali linux启动盘提示找不到镜像解决方案
- 计算机ping使用的端口,如何用ping来测试端口(port)?
- 微信小程序上拉加载更多数据
- Kafka的两种连接方式
- ECharts-Java 开源项目寻求合作维护