SPI通信方式.docx

上传人:碎****木 文档编号:96513109 上传时间:2023-12-11 格式:DOCX 页数:13 大小:459.19KB
返回 下载 相关 举报
SPI通信方式.docx_第1页
第1页 / 共13页
SPI通信方式.docx_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《SPI通信方式.docx》由会员分享,可在线阅读,更多相关《SPI通信方式.docx(13页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、SPI 总线通信电路设计由于 SPI(setial peripheralinterface)总线占用的接口线少,通信效率高,并且支持大局部处理器芯片,因而是一种抱负的选择。SPI 是利用4根信号线进展通信的串行接口协议,包括主从两种模式。4个接口信号为:串行数据输入(MISO,主设备输入、从设备输出)、串行数据输出(MOSI,主设备输出、从设备输入)、移位时钟(SCK)、低电平有效的 从设备使能信号(cs)。SPI 最大的特点是由主设备时钟信号的消灭与否来确定主从设备间的通信。一旦检测到主设备的时钟信号,数据开头传输。由一个主机对接一个从机进展全双工通信的系统构成的方式。在该系统中,由于主机和

2、 从机的角色是固定不变的,并且只有一个从机,因此,可以将主机的丽端接高电平,将从机的 SS 端固定接地。图1 全双工主机从机连接方法本系统承受的是由两个单片机相互连接构成多主机通信系统,SPI 主设备负责产生系统时钟,并打算整个 SPI 网络的通信速率。全部的 SPI 设各都承受一样的接口方式,可以通过调整处理器内部存放器转变时钟的极性和相位。由于 SPI 器件并不肯定遵循同一标准, 比方 EEPROM、DAC、ADC、实时时钟及温度传感器等器件的SPI 接口的时序都有所不同, 为了能够满足不同的接口需要,承受时钟的极性和相位可配就能够调整SPi 的通信时序。SPI 设各传输数据过程中总是先发

3、送或接收高字节数据,每个时钟周期接收器或收发器左移1位数据。对于小于16位的数据在发送之前必需左对齐,假设接收的数据小于16位则 承受软件将无效的数据位屏蔽,当主机发送一个连续的数据流时,有些外设能够进展多字节 传输。多数具有 SPI 接口的存储芯片就以这种方式工作。在这种传输方式下,从机的片选端必需在整个传输过程中保持低电平。此时,一次传输可能会涉及到成千上万字节的信息, 而不必在每个字节的数据发送的前后都去检测其起始位和完毕位,这正是同步传输方式优于 异步传输方式的缘由所在。虽然 SPI 有以上优点,然而在远距离传输中却很少用到,缘由主要是其抗干扰力量差过牢靠传输距离只有是13m。SPI

4、承受的是单端非平衡的传输方式,即传输的数据位的电压电平是以公共地作为参考的。在这种传输方式中,对于已进入信号中的干扰是无法消退和减 弱的。而信号在传输过程中总会受到干扰,而且距离越长干扰越严峻,以致于信号传输产生 错误。在这种条件下,信号传输就变得毫无意义了。另外,由于单端非平衡传输方式以公共地作为参考点,地线作为信号回流线,因此也存在信号电流。当传输线两端的系统之间存在 沟通电位差时,这个电位差将直接窜到信号中,形成噪声干扰。所以,为了解决抗干扰问题, 通常承受平衡传输 (balanced transmission)方式,这里承受比较常见的 RS-422。 由于 SPI(setial per

5、ipheralinterface)总线占用的接口线少,通信效率高,并且支持大局部处理器芯片,因而是一种抱负的选择。SPI 是利用4根信号线 进展通信的串行接口协议,包括主从两种模式。4个接口信号为:串行数据输入(MISO,主设备输 入、从设备输出)、串行数据输出(MOSI,主设备输出、从设备输入)、移位时钟(SCK)、低电平有效的从设备使能信号(cs)。SPI 最大的特点是由主设备时钟信号的消灭与否来确定主从设备间的通信。一旦检测到主设备的时钟信号,数据开头传输。名目 SPI 工作方式简介 SPI 的数据传输 SPI 用户规律 SPI 根本原理与构造SPI 工作方式简介SPI 是由美国摩托罗拉

6、公司最先推出的一种同步串行传输标准,也是一种单片机外设芯片串行扩展接口。SPI 模式可以允许同时同步发送和接收8位数据,并支持4种工作方式:1. 串行数据输出,对应 RC5SDO 引脚;2. 串行数据输入,对应 RC4SDISDA 引脚;3. 串行时钟,对应 RC3SCKSCL 引脚;4. 从动方式选择,对应 RA5SSAN4引脚。SPI 模式下与之相关的存放器有10个,其中4个是与 I2C 模式共用的。图1所示是由一个主机对接一个从机进展全双工通信的系统构成的方式。在该系统中, 由于主机和从机的角色是固定不变的,并且只有一个从机,因此,可以将主机的丽端接高电 平,将从机的 SS 端固定接地。

7、图1 全双工主机从机连接方法假设干个具备 SPI 接口的单片机和假设干片兼容 SPI 接口的外围芯片,可以在软件的掌握下,构成多种简洁或者简单的应用系统,例如以下3种。(1) 一个主机和多个从器件的通信系统。如图2所示,各个从器件是单片机的外围扩展芯片,它们的片选端SS 分别独占单片机的一条通用IO 引脚,由单片机分时选通它们建立通信。这样省去了单片机在通信线路上发送地址码的麻烦,但是占用了单片机的引脚资源。当外设器件只有一个时,可以不必选通 而直接将 SS 端接地即可。图2 一个主机扩展多个外围器件(2) 几个单片机相互连接构成多主机通信系统。图3所示为3个既可以当做主机也可以当做从机的单片

8、机组成的系统。图3 多主机通信系统连接方法(3) 主机、从机和从器件共同组成的应用系统。图4所示为一个主机、一个从机和多片外设芯片组成的应用系统。这些外设芯片有的只接收来自单片机信息,有的只向单片机供给信息,还有的既接收也发送信息。图4主机、从机和从器件互连SPI 的数据传输SPI 主设各负责产生系统时钟,并打算整个 SPI 网络的通信速率。全部的 SPI 设各都承受一样的接口方式,可以通过调整处理器内部存放器转变时钟的极性和相位。由于 SPI 器件并不肯定遵循同一标准,比方EEPROM、DAC、ADC、实时时钟及温度传感器等器件的 SPI 接口的时序都有所不同,为了能够满足不同的接口需要,承

9、受时钟的极性和相位可配就能够调整 SPi 的通信时序。SPI 设各传输数据过程中总是先发送或接收高字节数据,每个时钟周期接收器或收发器左移1位数据。对于小于16位的数据在发送之前必需左对齐,假设接收的数据小于16位则承受软件将无效的数据位屏蔽,如图1所示。SPI 接口有主和从两种操作模式,通过 MASTERSLAVE 位SPICTL2选择操作模式以及 SPICLK 信号的来源,如图2所示。图1 SPI 通信数据格式图2 SPI 主掌握器从掌握器的连接SPI 用户规律该模块针对用户不同的应用来设计,本质上就是用户的具体业务应用,与 SPI-4接口没有直接关系。当应用支持多个端口时,这局部就显得至

10、关重要。下面以支持两个端口的应用来说明用户规律的设计技巧。(1) Sink Core 的用户规律端口为两个时,用户规律就需要用两个不同的FIFO 依据端口的地址等来分别缓存用户的两个业务数据同时依据 FIFO 的状况来发出流控信息给 SP14数据接口,如图1所示。图1 Sink Ceore 两个端口的用户规律(2) Source Core 的用户规律当端口为两个时,用户规律就需要依据流控信息和两个不同的FffiOffJ 状况来做仲裁, 谀定哪个用户规律 FIFO 需要发送给 SPI4数据接口,如图2所示。图2 Source Core2 个端口的用户规律1 SPI 根本原理与构造串行外围设备接口

11、(SPI)是由 Motorola 公司开发的、用来在微掌握器 和外围设备芯片之间实现数据交换的低本钱、易使用接口。与标准的串行接口不同,SPI 是一个同步协议接口,全双工通信,全部的传输都参照一个共同的时钟,这个同步时钟信号由主机产生。接收数据的外设使用时钟对串行比特流的接收进展同步化。其传输速度可达几Mb/s。SPI 主要使用 4个信号: MISO(主机输入/从机输出)、MOSI(主机输出/从机输入)、SCLK(串行时钟)、 或 (外设片选或从机选择)。MISO 信号由从机在主机的掌握下产生。信号用于制止或使能外设的收发功能。为高电寻常,制止外设接收和发送数据;为低电寻常,允许外设接收和发送

12、数据。图1 所示是微处理器通过SPI 与外设连接的示意图。主机和从机都有一个串行移位存放器,主机通过向它的 SPI 串行存放器写入一个字节来发起一次传输。存放器通过 MOSI 信号线将字节传送给从机,从机也将自己的移位存放器中的内容通过 MISO 信号线返回给主机(如图2所示)。这样,两个移位存放器中的内容就被交换。外设的写操作和读操作是同步完成的。假设只进展写操作,主机只需无视接收到的字节;反之,假设主机要读取从机的一个字节, 就必需发送一个空字节来引发从机的传输。当主机发送一个连续的数据流时,有些外设能够进展多字节传输。多数具有 SPI 接口的存储芯片就以这种方式工作。在这种传输方式下,从

13、机的片选端必需在整个传输过程中保 持低电平。此时,一次传输可能会涉及到成千上万字节的信息,而不必在每个字节的数据发 送的前后都去检测其起始位和完毕位,这正是同步传输方式优于异步传输方式的缘由所在。虽然 SPI 有以上优点,然而在图像传输中却很少用到,缘由主要是其抗干扰力量差。SPI承受的是单端非平衡的传输方式,即传输的数据位的电压电平是以公共地作为参考的。在这 种传输方式中,对于已进入信号中的干扰是无法消退和减弱的。而信号在传输过程中总会受 到干扰,而且距离越长干扰越严峻,以致于信号传输产生错误。在这种条件下,信号传输就变得毫无意义了。另外,由于单端非平衡传输方式以公共地作为参考点,地线作为信

14、号回流 线,因此也存在信号电流。当传输线两端的系统之间存在沟通电位差时,这个电位差将直接 窜到信号中,形成噪声干扰。所以,为了解决抗干扰问题,通常承受平衡传输 (balanced transmission)方式,这里承受比较常见的RS-422。2 RS-422 简介RS-422 标准是RS-232 的改进型,全称是“平衡电压数字接口电路的电气特性”。它使用两根线之间的电压差来代表规律电平,通常称之为双绞线。它是一种平衡传输,任何噪声或干扰 都会同时影响两根双绞线中的每一根,但对二者之间的差异影响很小,这种现象称为共模抑 制。所以 RS-422 可以在更远的距离上以更快的速度传输数据,其抗干扰力

15、量远强于 RS-232、SPI 等非平衡传输方式。其最大传输距离约1 200 m,最大传输速度可达10 Mb/s。但是由于线路过长造成损耗,其传输速率会随着距离的增加而下降。图 3 是 RS-422 的根本连接示意图。驱动器 D 通过双绞线和接收器R 连接。位于双绞线接收端的电阻Rt 是一个终止电阻,它用来消退在远距离传输过程中发生的信号反射。但在 300 m 以下的短距离传输中可以不接该电阻。RS-422 标准允许一样传输线上连接多个接收节点,最多可接 10 个,即一个主设备、10 个从设备,从设备之间不能通信8。RS-422 支持一点对多点的双向通信。由于它的接口承受单独的发送和接收通道,

16、因此不必掌握数据方向,各装置之间任何必需的信号交换均可以通过软件方式或硬件方式实现。RS-422 双绞线之间的电压差在 4 V12 V 之间。其规律电平定义为:在发送端,以双绞线之间电压差为2 V6 V 表示规律 1,以2 V6 V 表示规律 0;在接收端,双绞线之间电压差大于 200 mV 时为规律 1,小于200 mV 时为规律 0。3 S3C2450X 的 SPI 接口S3C2450X 是 SAMSUNG 公司最近推出的一款高性能、低功耗16/32 bit RISC 处理器,其最高主频可达533 MHz,一般工作频率为400 MHz。它承受ARM926EJ 内核,该内核承受MMU、 AM

17、BA 总线和哈佛高速缓存体系构造,具有单独的 16 KB 指令Cache 和 16 KB 数据Cache, 每个Cache 都由8 字长的行组成。为了降低本钱,片上集成了各种常用模块,包括NAND Flash Bootloader、系统治理器、PLL 时钟发生器、PWM 定时器、8 通道DMA 和多种接口掌握器等,这样可以使设计者在设计电路时省去很多特地的接口掌握芯片,不仅降低了本钱,也提 高了系统的牢靠性。S3C2450X 集成了 2 个高速SPI 接口,每个接口都有 2 个 8/16/32 bit 的移位存放器分别用于发送(Tx FIFO)和接收(Rx FIFO)数据。在发送时,将要发送的

18、数据写入SPI 发送数据存放器HS_SPI_Tx_DATA中,数据会被自动移入Tx FIFO;在接收数据时,为了从Rx FIFO 中读出数据,CPU 访问 SPI 数据接收存放器HS_SPI_Rx_DATA,此时数据会自动转移到 HS_SPI_Rx_DATA中。S3C2450X 的 SPI 接口支持主模式和从模式两种传输方式。在主模式下,同步时钟SPICLK由 S3C2450X 产生并传输给外围设备。此时,通过设置时钟配置存放器(Clk_CFG)可以调整同步时钟SPICLK 的频率,从而转变数据传输率。SPI 有 3 个可用时钟源:内部时钟源 PCLK, 外部时钟源Epll clock 和US

19、BCLK。其同步时钟计算公式为:同步时钟频率f/2(预分频值1)其中 f 是所选时钟源的频率,预分频值的取值范围是0255。假设取f400 MHz,则同步时钟频率最大可达 200 MHz,其传输速率理论上接近 200 Mb/s。但由于受到内部存放器和外部接口等其他因素限制,再加上传输速率太高时,由传输延时造成的影响越来越明显,从而会引起传输错误,所以其实际数据传输率不会很高,一般只有几Mb/s。4 转换电路设计由于RS-422 承受的电平与SPI 不同,所以必需使用电平转换芯片。这里承受MAXIM 公司的 MAX308810。这是一款用于 RS-422 通信的一路高速低功耗电平转换收发芯片,半

20、双工通信,传输速率最大可达 10 Mb/s。它有 8 个引脚:5 号引脚为电源引脚,8 号引脚为接地引脚,6 号(A)、7 号(B)是差分信号引脚。其他几个引脚分别为:1(RO)是接收器输出;2 是接收器输出访能,3(DE)是驱动器输出访能,4(DI)是驱动器输入。要使其工作在发送模式, 只需将和DE 同时置 1,此时,假设输入DI 为 1,则输出的A 为 1,B 为 0;假设DI 为 0,则A 为 0,B 为 1。它与S3C2450X 的连接图如图 4 所示。图 4 中将S3C2450X 的 SPICLK0 和 SPIMOSI0 引脚分别接到 2 个 MAX3088 的DI 引脚上, DE

21、和 RE 接 5 V 直流电源,A 和 B 为差分信号对输出,C1、C2 为旁路电容。由于只使用SPI 的发送功能,所以无视了SPIMISO0 引脚。5 接口电路调试由于 RS-422 只是规定了电压标准而无具体实现细节,所以接口的软件调试主要是对S3C2450X 的 SPI 模块进展设置。其具体编程步骤如下: (1)通过 SPI 配置存放器CH_CFG 设置数据传输格式。(2)设置时钟配置存放器Clk_CFG,打算同步时钟频率。(3) 设置 SPI 模式存放器MODE_CFG,包括传送数据的单位以及是否启用DMA 模式等。(4)设置中断使能存放器,包括是否响应FIFO 溢出以及为空时所产生的

22、中断等。(5) 通过设置CH_CFG 中的RxChOn 和TxChOn 翻开数据传输通道。(6) 发送数据,检查发送预备好标志TxFifoRdy 1,然后写数据到数据发送存放器 TX_DATA。(7) 接收数据,检查接收预备好标志RxFifoRdy1,接着数据接收存放器RX_DATA自动从读缓冲区读出数据,之后从RX_DATA 中读数据。将 S3C2450X 产生的 SPIMOSI 信号传输至驱动芯片 MAX3088,用示波器测得转换前后信号的波形如图 5 所示。从图 5 中可以看出转换后的 2 个差分信号 VA 和 VB 之差与转换前的单端信号DI 保持了规律上的全都,只是由于芯片在信号转换中需要耗时,所以产生了约25 ns 的延时。通过将SPI 总线由单端不平衡传输转换为双端平衡传输,解决了SPI 信号易受干扰的问题。又由于其同步通信的高效性使得它格外适用于图像传输。另外,假设对传输速率的要求不是太高,则RS-422 也可以进展远距离传输,这大大扩展了SPI 器件的使用范围。随着技术的进展,以RS-422 为代表的双端平衡传输模式将会得到越来越广泛的应用。

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

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com