PIC(提高篇)第八章

上传人:woxinch****an2018 文档编号:56995971 上传时间:2018-10-18 格式:PPT 页数:88 大小:421.50KB
返回 下载 相关 举报
PIC(提高篇)第八章_第1页
第1页 / 共88页
PIC(提高篇)第八章_第2页
第2页 / 共88页
PIC(提高篇)第八章_第3页
第3页 / 共88页
PIC(提高篇)第八章_第4页
第4页 / 共88页
PIC(提高篇)第八章_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《PIC(提高篇)第八章》由会员分享,可在线阅读,更多相关《PIC(提高篇)第八章(88页珍藏版)》请在金锄头文库上搜索。

1、第八章: 主控同步串行端口 MSSP-SPI模块,主控同步串行端口MSSP(master synchronous serial port )模块是在前期产品PIC16C6X、PIC17CX的SSP(synchronous serial port)模块的基础上进行了硬件功能的扩展和改进,增加了I2C主控功能。可划分为: MSSP SPI 模块; MSSP 模块。 本章只介绍MSSP SPI 模块的结构、原理及应用编程。,MSSP模块是一种用于与带同步串行接口的外围芯片或单片机系统进行通信的一种接口标准。 在系统内部用于与具有同步串行接口的外围器件进行连接,实现系统内部扩展(常用的器件如:串行的R

2、AM、E2PROM、ADC、LCD/LED驱动器等)。特点:系统结构简单、连接方便、可靠性高、外围器件价格便宜和使用方便等; 与具有同类接口的单片机之间实现同步串行通讯。特点:短距离高速串行数据通信。,PIC16F87X系列单片机内部的MSSP模块可以工作于以下两种模式:串行外围接口 :(SPI - serial peripheral interface 简称 SPI接口); 芯片间总线 :(I2C - inter integrated circuit Bus 简称 I2C 总线)。 本章只介绍工作于SPI模式之下的MSSP模块。,本章目录,8.1 SPI接口的背景知识 8.2 PIC16F8

3、7X的SPI接口 8.3 SPI接口的应用,8.1 SPI接口的背景知识,SPI是由美国摩托罗拉公司最先推出的一种同步串行规范,也是一种用于单片机与外设芯片之间串行扩展接口标准; 该公司在其生产的MC68HC05、MC68HC908、MC68HC11系列单片机中都配置了SPI专用模块与接口,并为此开发出许多具备或兼容SPI接口的外围芯片; 与传统的并行(数据)接口相比:具备SPI接口的外围芯片具有引脚少、封装简单、造价低廉等突出优点,是当今嵌入式系统中最受欢迎的器件接口标准。,SPI系统结构图示意图,SCK MOSI MISO单片机I/O I/OI/O,SCK MOSI MISO,/CS,SC

4、K MOSI MISO,/CS,SCK MOSI MISO,/CS,LCD驱动器,温度传感器,EEPROM,主器件,从器件,8.1 .1 SPI接口的信号描述,SPI接口具备全双工方式发送、接收8位数据,使用4条线: 1. 主器件输入/从器件输出(MISO -master in slave out);对于主器件而言为输入信号线。从器件向主器件传送数据,先送高位(MSB),后送低位(LSB)。如果从器件没有被选中则MISO线处于高阻状态; 2. 主器件输出/从器件输入(MOSI,master out slave in);对于主器件而言为输出信号线。主器件输出,从器件输入。 【注】主器件与从器件之

5、分在于同步信号的产生:主器件产生并发送同步脉冲;从器件接收主器件的同步脉冲。,3. 同步串行时钟线(SCK - serial clock) 主器件的同步控制输出、从器件作为输入; SCK时钟信号作为主、从器件之间在MISO、MOSI线上数据传送的同步信号。尽管同样是串行通信,但由于同步信号的作用,是数据帧的格式大为简化(省去了异步通信中的起始位和停止位),每8个SCK的作用下完成一个字节的传送。 SCK时钟脉冲的频率、相位和空闲电平等参数都可根据外围器件的特性进行选择、确定(详见图8.1)。 发送数据方总是在SCK的前半个周期送出数据; 接收数据方总是在SCK周期中心跳变处采样锁存数据。,4.

6、 从机方式选择线(简称/SS slave select) 工作于从机方式的系统,其引脚/SS在数据传送时必须置低电平(/SS=0); 工作于主器件的系统,其/SS必须接高电平( /SS =1)。,移位寄存器,波特率 发生器,移位寄存器,MISO,MISO,MOSI,MOSI,SPCK,SPCK,SS,SS,VDD,主机,从机,一个主机与一个从机进行全双工通信的系统构成方式。 【注】在具备SPI接口单片机中,将同名端接在一起,在MOSI和MISO之间由一个随主/从模式控制的切换开关,具体由/SS控制。,图8.1 SPI数据通信时钟时序图,MSB,D6,D5,D4,D3,D2,D1,LSB,MSB

7、,D6,D5,D4,D3,D2,D1,LSB,来自主机MOSI的数据,来自从机MISO的数据,从机的/SS,SCK,SCK,SCK,SCK,时钟周期,发送数据方的数据总是在SCK的前半个周期送出,接收数据方总是在SCK时钟周期的中心跳变处采样、锁存数据。,从时序图中可以看出:SPI 接口标准可以提供四种数据传送格式。按照图中的顺序(自上而下)分别是: 静态期为低电平,数据在上升沿时稳定。适用于静态期为低电平、上升沿装载数据的外围芯片; 静态期为高电平,数据在下降沿时稳定。适用于静态期为高电平、下降沿装载数据的外围芯片; 静态期为低电平,数据在下降沿时稳定。适用于静态期为低电平、下降沿装载数据的

8、外围芯片; 静态期为高电平,数据在上升沿时稳定。适用于静态期为高电平、上升沿装载数据的外围芯片。 可见,SPI 的同步信号SCK 为外围芯片提供了全方位的驱动模式,适应了所有不同外围芯片的驱动要求。,PIC 的SPI模块与USART 模块同是“同步串行”模式,但从时序图可以看出两者的不同: SPI 模块的串行数据是从最高位D7开始逐个传送,而USATR的同步串行是从D0位开始传送; USATR的同步脉冲CLK只有一种方式:静态期为低电平且数据在CLK的下降沿稳定。如果外围芯片不满足此要求就需要在主机的CLK的输出端加一个反相器以满足上升沿装载数据的要求。相比之下,SPI的同步串行更具有灵活性,

9、从而简化了外围电路的设计。,bit1,bit2,bit7,bit0,bit1,bit7,CLK引脚,DT引脚,word1,word2,bit0,USART 模块数据传送时序图, , ,8.1 .2 基于SPI系统构成方式,SCK MOSI MISO单片机I/O I/OI/O,SCK MOSI MISO,/CS,SCK MOSI MISO,/CS,SCK MOSI MISO,/CS,(一)单片机与多个从器件之间的通信系统外围芯片的/SS端各自占用单片机的一个引脚,在通信前单片机通过/CS确定被访问的对象(如果只使用一个外围芯片,则/SS直接接地)。,LCD驱动器,温度传感器,EEPROM,SCK

10、 MOSI MISO单片机I/O I/OI/O,SCK MOSI MISO,/SS,SCK MOSI MISO,/SS,SCK MOSI MISO,/SS,(二)单片机与多个从机之间的通信系统 从机的/SS端各自占用单片机的一个引脚。主机通过/SS的控制,分时的与某一个从机进行全双工通信。,(三)多个单片机构成的应用系统这些单片机即可以成为主机也可以成为从机。,SCK MOSI MISO 单片机 主机/从机 /SS I/O I/O,SCK MOSI MISO单片机 主机/从机 /SS I/O I/O,SCK MOSI MISO 单片机 主机/从机 /SS I/O I/O,(四)由主机、从机和从

11、器件共同组建的应用系统对于外设而言如果只是一种操作可以省去一条数据线。,SCK MOSI MISO单片机 (主机)I/O I/O I/O I/O,SCK MOSI MISO,/CS,SCK MOSI MISO,/CS,SCK MOSI MISO,/CS,SCK MOSI MISO单片机 (从机)/SS,LCD驱动器,温度传感器,EEPROM,8.1 .3 SPI接口工作原理,SPI的构成:移位寄存器、发送缓冲器和接收缓冲器。 接收、发送缓冲器:与内部数据总线相连,可以通过软件写入要发送的数据或读入接收到的数据; 移位寄存器:负责发送/接收数据。有移入、移出两个端口。两个移位寄存器由信号线构成一

12、个“环形”结构。,接收缓冲器A,移位寄存器A,发送缓冲器A,8,接收缓冲器B,移位寄存器B,发送缓冲器B,MISO,MOSI,SCK,8,主机,从机,半双工通信的操作过程(主机发送),1. 主机CPU经数据总线将数据写入“发送寄存器”,该数据随即被自动装载到移位寄存器中; 2. 主机启动发送过程,送出时钟信号CLK,数据从移位寄存器A中逐位移入对方的移位寄存器B中(同时移位寄存器A中同时也移入对方传入的无效数据,可以不予理睬)。 3. 8个时钟过去之后,时钟停振。发送方的数据全部被移到对方的寄存器B中,随即被装载到接收缓冲寄存器B内,并将接收方缓冲器B满标志位置一。 4. 接收方CPU检测到该

13、标志后,读取接收缓冲器B中的数据,完成了一个字节的传送操作。,全双工通信的操作过程,主机CPU经数据总线将数据写入“发送寄存器A”,该数据随即被自动装载到移位寄存器中A;同时从机CPU将数据写入“发送寄存器B”,随即被自动装载到移位寄存器B中。 2. 主机启动发送过程,送出时钟信号CLK,移位寄存器A中的数据经MOSI线逐位移入对方的移位寄存器B中;同时移位寄存器B中的数据也经MISO线移入移位寄存器A内。 3. 8个时钟过去之后,时钟停振。发送方的数据全部被移到对方的寄存器B中,并将从机的“缓冲器B满”标志置起;同理,寄存器B中的8位数据也被全部移到寄存器A中,并将“缓冲器A满”标志置起。

14、4. 主机和从机将检测标志后可以从各自的接收缓冲器中读取数据,从而完成一次全双工的通信过程。,从上述过程可以看出,没有必要单独设计“接收缓冲器”和“发送缓冲器”,因为无论何种操作总有一个处于“空闲状态”。因此可以将发送与接收两个缓冲器“合二为一”。,移位寄存器A,发送缓冲器A,8,移位寄存器B,发送缓冲器B,MISO,MOSI,SCK,8,主机,从机,8.1 .4 与SPI相兼容的 Micro Wire 接口,Micro Wire串行接口是美国国家半导体公司(NSC)提出的与SPI兼容另一种扩展接口,广泛的应用于本公司生产的COP400、COP800等单片机中。经改进后确定为Micro Wir

15、e / Plus。,(一) Micro Wire/Plus接口信号的描述,1. 串行数据输入线 SI主器件和从器件都定义为输入线。作用是接收信号,先收高位(MSB),最后收到的是低位(LSB)。 2. 串行数据输出线 SO主/从器件都定义为输出线。先发送高位(MSB),最后发送的是低位(LSB)。 3. 同步串行时钟线 SK主器件为输出,从器件为输入。SK的作用是对主/从器件之间传送的数据进行同步。在8个SK的作用下完成一个字节的信息交换。,四种时钟时序图(一)参见206页图7.9(a),图中黄色虚线表示在接收数据时的采样时刻;图中绿色实线表示在发送数据时数据发送的时刻。 在时钟的下降沿数据由发送方送出;接收方在时钟的上升沿输入并锁存。 SK空闲时为低电平。 特点:在SK的上升沿输入数据、SK的下降沿输出数据。空闲时SK为低电平。,SK,SO,SI,MSB,D6,D5,D4,D3,D2,D1,LSB,MSB,D6,D5,D4,D3,D2,D1,LSB,MSB,MSB,四种时钟时序图(二)参见206页图7.9(b),图中黄色虚线表示在接收数据时的采样时刻;图中绿色实线表示在发送数据时数据发送的时刻。 在时钟的上升沿数据由发送方送出;接收方在时钟的下降沿输入并锁存。 SK空闲时为低电平。 特点:在SK的上升沿输出数据、SK的下降沿输入数据。空闲时SK为低电平。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号