(完整)spi总线协议详细说明
SPI协议介绍ppt课件

4
内部结构图
SPI总线
5
传输模式
根据时钟极性(CPOL)及相位(CPHA)不同可 以组合成4种工作模式:SPI0,SPI1,SP2, SP3.
(1)SPI0:CPOL=0,CPHA=0 (2)SPI1:CPOL=0,CPHA=1 (3)SPI2:CPOL=1,CPHA=0 (4)SPI3:CPOL=1,CPHA=1
6
传输模式
• 时钟极性(CPOL)定义了时钟空闲状态电平, 对传输协议没有重大影响。
• CPOL=0:时钟空闲状态为低电平。 • CPOL=1:时钟空闲状态为高电平。
7
传输模式
• 时钟相位(CPHA)定义数据的采样时间。 • CPHA=0:在时钟的第一个跳变沿(上升沿或
下降沿)进行数据采样。 • CPHA=1:在时钟的第二个跳变沿(上升沿或
SPI协议应用
1
主要内容
• SPI总线介绍 • 传输模式 • 时序分析 • SPI特点总结
2
Sபைடு நூலகம்I总线介绍
• SPI接口是Motorola首先提出的全双工三线 同步串行外围接口,采用主从模式架构, 支持多从设备应用,一般只支持单主设备。
• 时钟由主设备控制,数据在时钟脉冲下按 位传输,高位在前。
下降沿)进行数据采样。
8
传输模式
9
传输模式
10
传输模式
11
传输模式对比
12
时序分析
13
特点
• 优点: (1)接口简单,利于硬件设计与实现。 (2)时钟速度快,且没有系统开销。 (3)相对抗干扰能力强,传输稳定。
14
特点
缺点: (1)缺乏流控制机制,无论主器件还是从器
SPI协议解析高速串行通信的协议标准

SPI协议解析高速串行通信的协议标准SPI(Serial Peripheral Interface)是一种高速串行通信协议,被广泛应用于各种数字设备的通信接口传输中。
本文将对SPI协议进行详细解析,介绍其协议标准,以及相关的特性和应用。
I. 介绍SPI协议是一种同步协议,常用于微控制器和外部外设之间的通信。
它通过四根信号线(时钟线、数据线、主从选择线、片选线)实现全双工通信,并且支持多主机和多从机的通信方式。
SPI协议具有高速传输、简单易用、灵活性强等特点,被广泛用于各种应用领域。
II. 协议标准SPI协议的通信规范主要包括以下几个方面:1. 时钟极性与相位SPI协议定义了两种类型的时钟极性和相位设置,分别为CPOL和CPHA。
CPOL用于控制时钟信号的极性,可以是低电平为开始(CPOL=0),或高电平为开始(CPOL=1)。
CPHA用于控制数据采样的时机,可以是时钟信号的上升沿采样(CPHA=0),或下降沿采样(CPHA=1)。
根据不同的设备要求,可以通过组合CPOL和CPHA来实现精确的时序控制。
2. 数据传输顺序SPI协议支持全双工传输,数据通信可以是单向的,也可以是双向的。
数据传输的顺序由设备的主从模式决定,主机先发送数据,然后从机进行响应。
在全双工通信中,数据可以同时双向传输,主机和从机同时发送和接收数据。
3. 主从设备选择SPI协议使用一根主从选择线(SS)来选择通信的主机或从机。
当某个从机被选中时,通过使能该从机的片选线,使其进入工作状态,其他从机则处于非工作状态。
主机可以通过控制主从选择线来选择不同的从机进行通信。
4. 数据帧格式SPI协议的数据传输是以数据帧的形式进行的。
每个数据帧由一个字节(8位)的数据组成,包括发送的数据和接收的数据。
数据帧可以是单向的,也可以是双向的。
5. 传输速率SPI协议支持各种传输速率,可以根据需要进行调整。
传输速率由时钟信号频率决定,可以通过调整时钟频率来达到不同的传输速率。
SPI(SerialPeripheralInterface)协议

SPI(SerialPeripheralInterface)协议SPI是串⾏外设接⼝(Serial Peripheral Interface)的缩写,是Motorola推出的⼀种同步串⾏接⼝技术,是⼀种⾼速的、全双⼯、同步的通信总线。
全双⼯:host能与外围从设备之间的发送线和接收线各⾃独⽴,能同时进⾏发送数据和接收数据。
源同步传输⽂章内容SPI介绍SPI协议通信时序详解SPI数据传输⽅式SPI总线优缺点1、SPI介绍应⽤场景SPI协议主要⽤于短距离的通信系统中,特别是嵌⼊式系统:存储器:RAM,EEPROM,Flash等数模转换器:A/D, D/A转换器等驱动接⼝:LED显⽰驱动器,I/O接⼝芯⽚,UART接收器等。
主从模式控制:SPI以主从⽅式进⾏⼯作,这种模式通常包含⼀个master和⼀个或多个slave,需要⾄少4根线(在单向传输时3根也可以),分别为:SDO/MOSI(master output slave input):主设备数据输出,从设备数据输⼊;SDI/MISO(master input slave output):主设备数据输⼊,从设备数据输出;SCLK:时钟信号,由主设备产⽣;CS/SS:⽚选信号,主设备控制并⽤于选择与其通信的从设备。
多Slave的SPI协议SPI协议可以操作在⼀个master对应⼀个或者多个slave的条件下,此时有多个CS/SS⽚选信号,但是⼀个时间只能有⼀个⽚选信号有效。
slave的输出端⼝MISO都是三态驱动;⾼电平,低电平和不选中时输出为⾼阻态。
数据交换(data exchanges)SPI设备之间的数据传输称为数据交换⽽不是数据传输。
这是因为SPI设备不能在进⾏数据通信的过程中仅充当transmitter和recieiver的⾓⾊,⽽是在每个时钟周期内,主从SPI设备都会发送1bit⼤⼩的数据,相当于主从设备进⾏了1bit的数据交换。
在数据的传输过程中,每次接收到的数据必须在下⼀次数据传输之前被采样,如果之前接收的数据没有被采样,那么这些已经收到的数据可能被丢弃,导致 SPI 模块最终失效,因此,在程序中,⼀般都会在 SPI 传输完数据之后,去读取 SPI 设备⾥⾯的数据,即使这些数据是在我们程序中是没有⽤的。
SPI总线协议介绍

SPI总线协议介绍 ⼀、概述 SPI = Serial Peripheral Interface,是串⾏外围接⼝设备,是⼀种⾼速,全双⼯,同步的通信总线。
常规只占⽤四根线,节约了芯⽚管脚,PCB的布局省空间。
优点: ⽀持全双⼯,push-pull的驱动性能相⽐open-drain信号完整性更好。
⽀持⾼速(100MHz以上)。
协议⽀持字节长不限于8bits,可根据应⽤特点灵活选择消息字长 硬件连接简单。
缺点: 相⽐I2C多两根线。
没有寻址机制,只能靠⽚选选择不同设备。
没有从设备接收ACK,主设备对于发送成功与否不得⽽知。
典型应⽤只⽀持单主控 相⽐RS232 RS485和CAN总线,SPI传输距离短 ⼆、硬件结构 SPI总线定义两个及以上设备间的数据通信,提供时钟的设备为主设备Master,接收时钟的设备为从设备Slave; 信号定义如下: SCK :Serial Clock 串⾏时钟 MOSI:Master Ouput,Slave Input 主发从收信号 MISO:Master Input,Slave Input主收从发信号 SS/CS:Slave Select⽚选信号 电路连接如下: 单个主设备和单个从设备: 单个主设备和多个从设备: 三、寄存器类型 摩托罗拉定义的SPI寄存器包括: SPI Control Register 1 控制寄存器1 SPI Control Register 2 控制寄存器2 SPI Baud Rate Register 波特率寄存器 SPI Status Register(SPISR) 状态寄存器(只读其余均可读可写) SPI Data Register(SPIDR)数据寄存器 通过往寄存器中写⼊不同的值,设置SPI模块的不同属性 四、SPI传输模式 SPI通信有四种模式,简单地讲就是设置SCLK时钟信号线的那种信号为有效信号 通过设置控制寄存器SPICR1中的CPOL和CPHA位,将SPI可以分成四种传输模式 时钟极性CPOL,即Clock Polarity,决定时钟空闲时状态电平。
spi总线协议

spi总线协议SPI总线是一种常用的串行通信协议,全称为Serial Peripheral Interface,即串行外围设备接口。
它由Motorola公司在20世纪80年代初提出,并在之后的几十年里得到了广泛应用。
SPI 总线协议利用硬件时序进行通信,因此传输速度较高,被广泛应用于各种嵌入式系统和通信设备中。
SPI总线协议采用一主多从的方式进行通信,其中主设备通过SCLK时钟信号控制数据传输的时序,并通过SS片选信号选择从设备进行通信。
在SPI总线中,每个从设备都有一个对应的片选信号,主设备需要选择某个从设备才能与其进行通信。
数据在传输过程中,通过MOSI主发送、从接收数据,以及MISO主接收、从发送数据,实现双向的数据传输。
SPI总线协议具有以下几个主要特点:1.简单的硬件连接:SPI总线只需要四根线连接,包括SCLK 时钟线、MOSI主发送数据线、MISO主接收数据线和SS从片选信号线。
这种简单的硬件连接使得SPI总线在成本和布线上具有一定的优势。
2.高速的数据传输:SPI总线是同步传输协议,通过时钟信号来控制数据的传输速度。
在SPI总线中,时钟信号的频率可以根据实际需要进行调整,从而实现较高的传输速度。
相比其他串行通信协议,如I2C和UART,SPI总线通常能够提供更高的数据传输速率。
3.可靠的数据传输:由于SPI总线是基于硬件时序的通信协议,所以在数据传输的过程中具有较高的可靠性。
数据传输的时序由主设备控制,从而减少了数据传输过程中产生错误的可能性。
4.灵活的工作模式:SPI总线协议支持多种工作模式,包括全双工、半双工和单工三种。
在全双工模式下,主设备和从设备可以同时进行发送和接收操作;在半双工模式下,主设备和从设备交替进行发送和接收操作;而在单工模式下,只能进行发送或接收操作。
SPI总线协议在各种嵌入式应用中被广泛应用,如存储器、显示屏控制器、传感器等。
同时,SPI总线还可以通过级联的方式连接多个从设备,从而扩展系统的功能。
spi 协议

spi 协议SPI协议。
SPI(Serial Peripheral Interface)是一种同步串行数据通信协议,通常用于在微控制器和外围设备之间进行通信。
SPI协议是一种全双工、点对点、串行通信协议,它使用四根线进行通信,包括时钟线(SCLK)、数据线(MOSI)、数据线(MISO)和片选线(SS)。
SPI协议的工作原理是通过主从模式进行通信,一个主设备可以连接多个从设备。
在通信过程中,主设备通过时钟线产生时钟信号,控制数据的传输速率,同时通过片选线选择要与之通信的从设备。
从设备在接收到片选信号后,根据时钟信号同步数据的传输,从而实现数据的传输和接收。
SPI协议的通信方式较为灵活,数据传输的速率可以根据具体的应用需求进行调整。
同时,SPI协议的通信是全双工的,主设备和从设备可以同时发送和接收数据,提高了通信效率。
此外,SPI协议的硬件连接简单,只需要四根线即可完成通信,因此在一些资源受限的应用场景中具有一定的优势。
在使用SPI协议进行通信时,需要注意一些问题。
首先,由于SPI协议是一种同步通信协议,主设备和从设备之间的时钟频率需要一致,否则会导致通信错误。
其次,由于SPI协议是一种点对点通信协议,因此在连接多个从设备时,需要合理设计片选信号的分配,避免片选信号的冲突。
最后,SPI协议在传输过程中没有错误检测和纠正机制,因此在一些对通信可靠性要求较高的应用场景中,需要额外考虑数据的校验和重传机制。
总的来说,SPI协议是一种灵活、高效的串行通信协议,适用于在微控制器和外围设备之间进行数据通信。
在实际应用中,需要根据具体的应用需求合理选择通信协议,并结合硬件设计和软件开发进行系统设计。
希望本文对SPI协议有一个清晰的认识,并能够在实际应用中发挥作用。
spi总线协议

spi总线协议SPI总线协议。
SPI(Serial Peripheral Interface)是一种用于在数字集成电路之间进行通信的同步串行通信协议。
它通常用于连接微控制器和外围设备,例如存储器芯片、传感器、显示器和无线模块等。
SPI总线协议具有简单、高效、灵活等特点,因此在许多嵌入式系统中得到广泛应用。
本文将对SPI总线协议的基本原理、通信方式、时序特性以及应用进行介绍。
SPI总线协议基本原理。
SPI总线由四根信号线组成,分别为时钟信号(SCLK)、主设备输出(MOSI)、主设备输入(MISO)和片选信号(SS)。
在SPI总线中,通信的主设备通过SCLK信号产生时钟脉冲,控制数据的传输。
MOSI信号用于主设备向从设备发送数据,MISO信号用于从设备向主设备发送数据。
片选信号用于选择从设备,使得主设备可以与多个从设备进行通信。
SPI总线协议通信方式。
SPI总线协议采用全双工通信方式,即主设备和从设备可以同时发送和接收数据。
通信开始时,主设备通过片选信号选择从设备,并在时钟信号的控制下,通过MOSI信号向从设备发送数据,同时从设备通过MISO信号向主设备发送数据。
通信结束后,主设备通过片选信号取消对从设备的选择,从而完成一次数据传输。
SPI总线协议时序特性。
在SPI总线协议中,数据的传输是在时钟信号的控制下进行的。
通常情况下,数据的传输是在时钟的上升沿或下降沿进行的,具体取决于SPI设备的工作模式。
此外,SPI总线协议还可以通过调整时钟信号的极性和相位来适应不同的外设要求,从而实现更灵活的通信方式。
SPI总线协议应用。
SPI总线协议在各种嵌入式系统中得到广泛应用,例如单片机、嵌入式系统、传感器网络等。
在单片机中,SPI总线协议通常用于连接外部存储器、显示器、通信模块等外围设备。
在嵌入式系统中,SPI总线协议可以用于连接各种外设,实现系统的功能扩展和升级。
在传感器网络中,SPI总线协议可以用于连接各种传感器节点,实现数据的采集和传输。
SPI总线协议介绍

SPI总线协议介绍1.SPI总线协议介绍串行外围设备(接口)(Serial Peripheral Interface,SPI)是一种高速、全双工、同步(通信)总线,常用于(单片机)和E2PROM、FLASH、(实时时钟)、(数字信号)(处理器)等器件之间的通信,它主要是主从方式通信,通常只有一个主机和多个从机。
标准SPI协议有4根线,SCLK(必须存在),其他三条线(MOSI、MISO、CS)都可以根据实际情况进行删减。
SCLK:(时钟)(信号),由主机产生( 必须存在)MOSI:主机给从机发送指令或数据的通道MISO:主机读取从机的状态或数据的通道CS:从机片选使能信号在同一时刻,主机只能跟一个从机进行通信。
当总线上存在多个从机时,需要进行片选将从机的CS接口电平拉高或拉低。
2.SPI总线寻址模式SPI协议和(I2C)协议一样,数据是从高位到低位依次发送,SPI协议中SCLK在空闲时可以是高电平也可以是低电平。
下面以空闲时,SCLK为高电平举例。
当SCLK出现下降沿即从高电平跳到低电平时,进行数据输出;当SCLK出现上升沿即从低电平跳到高电平时,进行数据采样。
SPI总线寻址模式和I2C协议相比,SPI协议没有开始位、停止位、应答位,规则上简单很多。
SPI协议中SCLK在空闲时可以是高电平也可以是低电平,这其实反映了时钟的极性。
上图中,CPOL=1,CPHA=1 。
CPOL时钟极性:CPOL=0,SCLK空闲时状态为低电平CPOL=1,SCLK空闲时状态为高电平时钟的相位:它决定了什么时候进行数据输出,什么时候进行数据采样。
CPHA时钟相位:CPHA=0,每个周期的第一个跳变沿进行数据采样CPHA=1,每个周期的第一个跳变沿进行数据输出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SPI总线原理与应用篇《电子制作》2008年9月站长原创,如需引用请注明出处大家好,通过以前的学习,我们已经对51单片机综合学习系统的使用方法及学习方式有所了解与熟悉,学会了使用IIC总线的基本知识,体会到了综合学习系统的易用性与易学性,这一期我们将一起学习SPI总线的基本原理与应用实例。
先看一下我们将要使用的51单片机综合学习系统能完成哪些实验与产品开发工作:分别有流水灯,数码管显示,液晶显示,按键开关,蜂鸣器奏乐,继电器控制,IIC总线,SPI 总线,PS/2实验,AD模数转换,光耦实验,串口通信,红外线遥控,无线遥控,温度传感,步进电机控制等等。
主体系统如图1所示,其配套书本教程《单片机快速入门》如图2所示。
图1 51单片机综合学习系统主机部分图片图2 51单片机综合学习系统配套书本教程——《单片机快速入门》上图是我们将要使用的51单片机综合学习系统硬件平台,如图1所示,本期实验我们用到了综合系统主机、板载的AT93C46芯片,综合系统其它功能模块原理与使用详见前几期《电子制作》杂志及后期连载教程介绍。
SPI总线简介SPI总线基本概念SPI ( Serial Peripheral Interface ———串行外设接口) 总线是Motorola公司推出的一种同步串行接口技术。
SPI总线系统是一种同步串行外设接口,允许MCU 与各种外围设备以串行方式进行通信、数据交换。
外围设备包括FLASHRAM、A/ D 转换器、网络控制器、MCU 等。
SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。
其工作模式有两种:主模式和从模式。
SPI是一种允许一个主设备启动一个从设备的同步通讯的协议,从而完成数据的交换。
也就是SPI是一种规定好的通讯方式。
这种通信方式的优点是占用端口较少,一般4根就够基本通讯了(不算电源线)。
同时传输速度也很高。
一般来说要求主设备要有SPI控制器(也可用模拟方式),就可以与基于SPI的芯片通讯了。
SPI总线系统结构SPI 系统可直接与各个厂家生产的多种标准外围器件直接接口,一般使用4 条线:串行时钟线(SCK) 、主机输入/ 从机输出数据线MISO(DO)、主机输出/ 从机输入数据线MOSI (DI)和低电平有效的从机选择线CS。
MISO和MOSI用于串行接收和发送数据,先为MSB(高位),后为LSB(低位)。
在SPI设置为主机方式时,MISO是主机数据输入给,MOSI 是主机数据输出线。
SCK用于提供时钟脉冲将数据一位位地传送。
SPI总线器件间传送数据框图如图3所示:图3 SPI总线器件间传送数据框图SPI总线的接口特性利用SPI总线可在软件的控制下构成各种系统。
如1个主MCU和几个从MCU、几个从MCU相互连接构成多主机系统(分布式系统)、1个主MCU和1个或几个从I/O设备所构成的各种系统等。
在大多数应用场合,可使用1个MCU作为主控机来控制数据,并向1个或几个从外围器件传送该数据。
从器件只有在主机发命令时才能接收或发送数据。
其数据的传输格式是高位(MSB)在前,低位(LSB)在后。
当一个主控机通过SPI与几种不同的串行I/O芯片相连时,必须使用每片的允许控制端,这可通过MCU的I/O端口输出线来实现。
但应特别注意这些串行I/O芯片的输入输出特性:首先是输入芯片的串行数据输出是否有三态控制端。
平时未选中芯片时,输出端应处于高阻态。
若没有三态控制端,则应外加三态门。
否则MCU的MISO端只能连接1个输入芯片。
其次是输出芯片的串行数据输入是否有允许控制端。
因为只有在此芯片允许时,SCK脉冲才把串行数据移入该芯片;在禁止时,SCK对芯片无影响。
若没有允许控制端,则应在外围用门电路对SCK进行控制,然后再加到芯片的时钟输入端;当然,也可以只在SPI总线上连接1个芯片,而不再连接其它输入或输出芯片。
SPI总线的数据传输SPI是一个环形总线结构,其时序其实很简单,主要是在SCK的控制下,两个双向移位寄存器进行数据交换。
SPI数据传输原理很简单,它需要至少4根线,事实上3根也可以。
也是所有基于SPI的设备共有的,它们是SDI(数据输入),SDO(数据输出),SCK(时钟),CS(片选)。
其中CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。
这就允许在同一总线上连接多个SPI 设备成为可能。
在SPI方式下数据是一位一位的传输的。
这就是SCK时钟线存在的原因,由SCK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。
数据输出通过SDO线,数据在时钟上沿或下沿时改变,在紧接着的下沿或上沿被读取。
完成一位数据传输,输入也使用同样原理。
这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。
假设8位寄存器内装的是待发送的数据10101010,上升沿发送、下降沿接收、高位先发送。
那么第一个上升沿来的时候数据将会是高位数据SDO=1。
下降沿到来的时候,SDI 上的电平将被存到寄存器中去,那么这时寄存器=0101010SDI,这样在8个时钟脉冲以后,两个寄存器的内容互相交换一次。
这样就完成里一个SPI时序。
下面举一个实例来说明其数据传送过程。
假设主机和从机初始化就绪,并且主机的sbuff=0xaa,从机的sbuff=0x55,下面将分步对SPI的8个时钟周期的数据情况演示一遍:(下表中“上”表示上升沿,“下”表示下降沿)脉冲序号主机缓存从机缓存SDISDO0 1010101001010101 0 01上0101010x1010101x 0 11下0101010010101011 0 12上1010100x0101011x 1 02下1010100101010110 1 03上0101001x1010110x 0 13下0101001010101101 0 14上1010010x0101101x 1 04下1010010101011010 1 05上0100101x1011010x 0 15下0100101010110101 0 16上1001010x0110101x 1 06下1001010101101010 1 07上0010101x1101010x 0 17下0010101011010101 0 18上0101010x1010101x 1 08下0101010110101010 1 0表1:脉冲与数据变化对应表这样就完成了两个寄存器8位的交换,SDI、SDO是相对于主机而言的。
其中CS引脚作为主机的时候,从机可以把它拉底被动选为从机,作为从机的是时候,可以作为片选脚用。
根据以上分析,一个完整的传送周期是16位,即两个字节,因为,首先主机要发送命令过去,然后从机根据主机的命令准备数据,主机在下一个8位时钟周期才把数据读回来。
这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停,因为SCK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。
也就是说,主设备通过对SCK时钟线的控制可以完成对通讯的控制。
SPI还是一个数据交换协议,因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出对于不带SPI串行总线接口的MCS51系列单片机来说,可以使用软件来模拟SPI的操作,包括串行时钟、数据输入和数据输出。
如我们可以定义三个普通I/O口用来模拟SPI器件的SCK、MISO、MOSI。
对于不同的串行接口外围芯片,它们的时钟时序是不同的。
对于在SCK的上升沿输入(接收)数据和在下降沿输出(发送)数据的器件,一般应将其串行时钟输出口的初始状态设置为1,而在允许接口后再置为0。
这样,MCU在输出1位SCK 时钟的同时,将使接口芯片串行左移,从而输出1位数据至单片机的模拟MISO线,此后再置SCK为1,使单片机从模拟的MOSI线输出1位数据(先为高位)至串行接口芯片。
至此,模拟1位数据输入输出便宣告完成。
此后再置SCK为0,模拟下1位数据的输入输出……,依此循环8次,即可完成1次通过SPI总线传输8位数据的操作。
对于在SCK的下降沿输入数据和上升沿输出数据的器件,则应取串行时钟输出的初始状态为0,即在接口芯片允许时,先置SCK为1,以便外围接口芯片输出1位数据(MCU接收1位数据),之后再置时钟为0,使外围接口芯片接收1位数据(MCU发送1位数据),从而完成1位数据的传送。
93C46存储器的软硬件设计实例下面就以目前单片机系统中广泛应用的SPI接口的数据存储器93C46为例,介绍SPI器件的基本应用。
93C46串行存储器简介93C46是1k位串行EEPROM储存器。
每一个储存器都可以通过DI/DO引脚写入或读出。
它的存储容量为1024位,内部为128×8位或64×16位。
93C46为串行三线SPI操作芯片,在时钟时序的同步下接收数据口的指令。
指令码为9位十进制码,具有7个指令,读、擦写使能、擦除、写、全擦、全写及擦除禁止。
该芯片擦写时间快,有擦写使能保护,可靠性高,擦写次数可达100万次,93C46的引脚功能图如图4所示。
图4 93C46的引脚图CS:芯片选择SCK:时钟DI:串行数据输入DO:串行数据输出VSS:接地NC:空脚(应用时不用接任何电路)VCC:电源指令起始位操作数地址数据64╳16 128╳8 64╳16 128╳8读(READ) 1 10 A5~A0 A6~A0清除((ERASE) 1 11 A5~A0 A6~A0写(WRITE) 1 01 A5~A0 A6~A0 D15~D0 D7~D0 写使能(EWEN) 1 00 11XXXX 11XXXXX写禁止(EWDS) 1 00 00XXXX 00XXXXX芯片清除(ERAL)1 00 10XXXX 10XXXXX芯片写入(WRAL)1 00 01XXXX 01XXXXX D15~D0 D7~D0表2:93C46串行EEPROM指令格式选择表指令说明:•读(READ):当下达10XXXXXX指令后,地址(XXXXXXXX)的数据在SCK=1时由DO输出。
•写(WRITE):在写入数据前,必须先下达写使能(EWEN)指令,然后再下达01XXXXXX指令后,当SCK=1时,会把数据码写入指定地址(XXXXXXXX);而DO=0时,表示还在进行写操作,写入结束后DO会转为高电平。
写入动作完成后,必须再下达写禁止(EWDS)命令。
•清除(ERASE):下达清除指令11XXXXXX后会将地址(XXXXXXXX)的数据清除。