《SPI总线介绍》PPT课件.ppt

上传人:牧羊曲112 文档编号:5453763 上传时间:2023-07-08 格式:PPT 页数:30 大小:1.05MB
返回 下载 相关 举报
《SPI总线介绍》PPT课件.ppt_第1页
第1页 / 共30页
《SPI总线介绍》PPT课件.ppt_第2页
第2页 / 共30页
《SPI总线介绍》PPT课件.ppt_第3页
第3页 / 共30页
《SPI总线介绍》PPT课件.ppt_第4页
第4页 / 共30页
《SPI总线介绍》PPT课件.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《《SPI总线介绍》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《SPI总线介绍》PPT课件.ppt(30页珍藏版)》请在三一办公上搜索。

1、SPI 总线,SPI总线,SPI总线是串行外围设备接口,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线.SPI的通信原理很简单,它以主从方式工作,通常有一个主设备和一个或多个从设备,需要至少4根线。SDO 主设备数据输出,从设备数据输入SDI 主设备数据输入,从设备数据输出SCLK 用来为数据通信提供同步时钟信号,由主设备产生CS 从设备使能信号,由主设备控制SPI接口是全双工、同步、串口、单主机。,2,SPI从机从主机获得时钟和片选信号,因此cs和sclk都是输入信号。SPI接口在内部硬件实际上是个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉

2、冲下,按位传输,高位在前,低位在后。,SPI从机的内部结构,3,SPI总线,如果一个SPI从机没有被选中,他的数据输出端SDO将处于高阻状态,从而与当前处于激活状态的隔离开。寻址:MOSI:When master,out line;when slave,in lineMISO:When master,in line;when slave,out line,4,SPI从机的内部结构,SPI接口实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。上升沿发送,下降沿接收。(有的器件是上升沿接收,下降沿发送),D7.D0,D0.D7,

3、5,SPI总线,SPI总线在一次数据传输过程中,接口上只能有一个主机和一个从机能够通信。并且,主机总是向从机发送一个字节数据,而从机也总是向主机发送一个字节数据。在SPI传输中,数据是同步进行发送和接收的。数据传输的时钟基于来自主处理器的时钟脉冲,当SPI接口上有多个SPI接口的单片机时,应区别其主从地位,在某一时刻只能由一个单片机为主器件。从器件只能在主机发命令时,才能接收或向主机传送数据。其数据的传输格式是高位(MSB)在前,低位(LSB)在SPI接口的一个缺点:没有应答机制确认是否接收到数据。如果只是进行写操作,主机只需忽略收到的字节;反过来,如果主机要读取外设的一个字节,就必须发送一个

4、空字节来引发从机的传输。,6,SPI总线,SPI总线添加从器件:每个从器件需要一个单独的从选择信号。总信号数最终为 n+3 个,其中 n 是总线上从器件的数量。在 SPI 总线上添加新的从器件也不方便。对于额外添加的每个从器件,都需要一条新的从器件选择线,7,上面的上表示上升沿、下表示下降沿,sdi、sdo相对于主机而言的。一个完整的传送周期是16位,即两个字节,因为,首先主机要发送命令过去,然后从机根据主机的命令准备数据,主机在下一个8位时钟周期才把数据读回来。,8,SPI总线的硬件接口电路,9,SPI接口的串行时钟芯片DS1302,实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行

5、计数;用于高速数据暂存的318 RAM;简单的SPI三线串口;/RST引脚:复位兼片选,读/写操作时必须为高电平。,10,单片机与DS1302的接口,11,DS1302的内部结构,12,DS1302的工作原理,单片机开始数据传送时,必须将DS1302的/RST置高,且把包含有地址和命令信息的8位数据发送给DS1302.数据在SCLK的上升沿入,下降沿串行出;单片机对DS1302的读/写是命令字来初始化的。命令字格式:,命令字节的D7必须为1,若D7=0,写保护;D6=0,表示存取日历时钟数据;D6=1,表示存取RAM数据.D5D1指示操作单元的地址;D0=0,表示写;D0=1,表示读;,13,

6、DS1302的寄存器,14,15,数据在SCLK的上升沿入,下降沿串行出;,单字节操作:每次对DS1302的写入或读出都由命令字节引导,每次只传送1字节数据。单字节写操作:单片机通过8个sclk下降沿传送写命令字节后,在接下来的8个sclk时钟的下降沿传送一字节数据。如果有更多的sclk周期,DS1302将会忽略。单字节读操作:单字节读操作每次需16个时钟,地址字节在前8个时钟周期的上升沿输入,而数据字节在后8个时钟周期的下降沿输出。.DS1302输出的第一位数据是在命令字节最后一位的第一个下降沿处,如果有更多的sclk周期,DS1302将重新发送数据字节。,16,多字节操作,多字节操作:每次

7、对DS1302的写入或读出都由命令字节引导,然后对时钟寄存器的7个寄存器或31个RAM依次按顺序写入/读出。多字节写操作:单片机通过8个sclk下降沿传送命令字节后,在接下来的8个sclk时钟的下降沿传送一字节数据,以次类推。多字节读操作:单片机通过8个sclk下降沿传送命令字节后,在紧接着的的8个sclk时钟的下降沿DS1302传送一字节数据,以次类推。,17,特殊寄存器,在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节。若进行单字节传送,8位命令字节传送结束之后,在下8个SCLK周期的下降沿输出数据字节。DS1302与RAM相关的寄存器分为两类:一类是单个R

8、AM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,在此方式下可一次性读、写所有的RAM的31个字节。命令字为BEH和BFH 写保护寄存器:,18,19,程序举例:初始化日历寄存器,20,单片机写一字节到DS1302:上升沿入,下降沿出,WBYTE:(单片机将A中数据发送给DS1302)MOV R1,#08H SETB SCLK NOPLOOP1:CLR SCLK RRC A;低位在前 MOV I/O,C;先把数据准备好,再上升沿 SETB SCLK;上升沿入到DS1302 DJNE R1,LOOP1

9、RET,21,DS1302的寄存器,22,多字节写模式,MOV 68H,#52H;把数据事先存到68H61HMOV 67H,#34HMOV 66H,#19HMOV 65H,#01HMOV 64H,#03HMOV 63H,#10HMOV 62H,#11HMOV 61H,#00HWRCR:CLR SCLK SETB/RST MOV A,#8EH;写保护寄存器的命令字 LCALL WBYTE MOV A,#00H;写保护寄存器的内容 LCALL WBYTE CLR/RST;中止传送,23,多字节写模式,CLR SCLK SETB/RST MOV A,#BEH;多字节写命令 LCALL WBYTE M

10、OV R0,#68H MOV R2,#08H LOOP:MOV A,R0 LCALL WBYTE DEC R0 DJNE R2,LOOP CLR SCLK CLR/RST;停止传送 RET,24,单片机单字节读:上升沿入,下降沿出,RBYTE:MOV R1,#08H MOV A,#00H MOV R0,A SETB SCLK NOPLOOP2:CLR SCLK;下降沿输出 MOV A,R0 MOV C,I/O RRC A MOV R0,A SETB SCLK DJNE R1,LOOP2 RET,25,多字节读模式,将时钟日历寄存器的秒、分、时、日、星期、月、年以及写保护寄存器的内容分别存入单片

11、机的6FH68H单元RDCR:CLR SCLK SETB/RST MOV A,#0BFH;多字节读命令 LCALL WBYTE MOV R0,#6FH MOV R2,#08H LOOPR:LCALL RBYTE MOV R0,A DEC R0 DJNE R2,LOOPR CLR SCLK CLR/RST;停止传送 RET,26,习题,SPI总线的特点有哪些?SPI总线通常有_、_、_、_信号线组成。SPI在通信过程中,主机通过_选择从机。SPI总线是_(单主机或多主机)总线,是_(同步或异步),27,复习,一、选择题(10题,共20分)二、填空(每空1分,共35分)三、综合题(45分)1简答题8分2简答8分3简答5分4程序填空7分5编程10分6简答6分,28,总结,29,30,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号