完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
一、定义
:SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线(有些地方会用到三根或两根),节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议 二、特点: 1、3线或4线 2、高速, 3、全双工 4、同步 5、频率可编程时钟 6、发送结束中断标志; 7、写冲突保护 三、结构: SPI总线有 CS(SS) ,SCK,MOSI,MISO, CS 片选信号 (通常低电平表示选中) SCK 时钟信号 MOSI 数据信号(主机输出 从机输入) MISO 数据信号(主机输入 从机输出 ) SPI 总线在传输过程有主从之分,一般来讲一个主机可以连接多个从机其拓扑结构如下图所示。 SPI 与I2C连接方式一样 多个SPI可以并联在SPI总线之中,通过CS线,选择使用哪一个SPI器件。 当SPI设备作为主机传输时 先发送需要读取的从设备地址,然后再发8个时钟信号,由此看来 SPI设备如果需要读取或者写入一个Byte的数据至少需要16个始终信号,当然实际项目中往往一个操作不止16个时钟信号, 比如我们这里有一个主设备一个从设备,主设备地址0x03主设备向从设备写入0xAA; 要写入的数据是读写操作bit位+地址 一般情况下做高位 1代表写,0代表读 具体操作是 第一步主机拉低CS信号, 主机第一个字节发送0x83,(0x80|0x03)第二个字节发送0xAA, 四、工作方式: SPI总线根据传输状态分为4种工作方式(SPI0,SPI1,SPI2,SPI3)在实际项目中我们使用比较多的是SPI0和SPI3. 根据时钟极性(CPOL)分: CPOL=0, 时钟信号(SCLK)空闲状态为低电平, CPIOL=1,时钟信号(SCLK)空闲状态为高电平, 根据时钟相位分(CPHA)分: CPHA=0; 时钟信号(SCLK)在第一个跳变沿数据被采样, CPHA=1; 时钟信号(SCLK)在第二个跳变沿数据被采样, SPI设备的主机和从机时钟的相位和极性必须保持一致。 特别提示: 在一些特殊情况下有些主机与从机采用3线或者2线进行通信, 3线的情况:比如主机只向从机发数据,而不需要从机回复数据,MISO可以不要;如果只需要主机接收数据,而不需要主机发送数据MOSI可以不要。 2线的情况:如果主机只连接一个从机,从机的片选信号CS可以一直固定在低电平使能状态,CS引脚可以直接用一个下拉电阻或者直接接GND,此时片选CS线和数据线MOSI或MISO可以省略, 3线和2线SPI在在实际项目中用的还是比较多的,希望大家认真学习,当前我们讨论的一般都是指标准的4线SPI, 好吧,今天先写到这里! |
|
|
|
只有小组成员才能发言,加入小组>>
3263 浏览 9 评论
2944 浏览 16 评论
3443 浏览 1 评论
8955 浏览 16 评论
4036 浏览 18 评论
1079浏览 3评论
559浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
552浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2287浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1848浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 17:35 , Processed in 0.988229 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号