ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:534.74KB ,
资源ID:16585458      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16585458.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SPI通信方式《精细》Word格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SPI通信方式《精细》Word格式.docx

1、多数具有SPI接口的存储芯片就以这种方式工作。在这种传输方式下,从机的片选端必须在整个传输过程中保持低电平。此时,一次传输可能会涉及到成千上万字节的信息,而不必在每个字节的数据发送的前后都去检测其起始位和结束位,这正是同步传输方式优于异步传输方式的原因所在。虽然SPI有以上优点,然而在远距离传输中却很少用到,原因主要是其抗干扰能力差过可靠传输距离只有是13m。SPI采用的是单端非平衡的传输方式,即传输的数据位的电压电平是以公共地作为参考的。在这种传输方式中,对于已进入信号中的干扰是无法消除和减弱的。而信号在传输过程中总会受到干扰,而且距离越长干扰越严重,以致于信号传输产生错误。在这种条件下,信

2、号传输就变得毫无意义了。另外,由于单端非平衡传输方式以公共地作为参考点,地线作为信号回流线,因此也存在信号电流。当传输线两端的系统之间存在交流电位差时,这个电位差将直接窜到信号中,形成噪声干扰。所以,为了解决抗干扰问题,通常采用平衡传输 (balanced transmission)方式,这里采用比较常见的RS-422。 由于SPI(setial peripheralinterface)总线占用的接口线少,通信效率高,并且支持大部分处理器芯片,因而是一种理想的选择。SPI是利用4根信号线进行通信的串行接口协议,包括主从两种模式。目录 SPI工作方式简介 SPI的数据传输 SPI用户逻辑 SPI

3、基本原理与结构SPI工作方式简介SPI是由美国摩托罗拉公司最先推出的一种同步串行传输规范,也是一种单片机外设芯片串行扩展接口。SPI模式可以允许同时同步发送和接收8位数据,并支持4种工作方式:1. 串行数据输出,对应RC5SDO引脚;2. 串行数据输入,对应RC4SDISDA引脚;3. 串行时钟,对应RC3SCKSCL引脚;4. 从动方式选择,对应RA5SSAN4引脚。SPI模式下与之相关的寄存器有10个,其中4个是与I2C模式共用的。图1所示是由一个主机对接一个从机进行全双工通信的系统构成的方式。若干个具备SPI接口的单片机和若干片兼容SPI接口的外围芯片,可以在软件的控制下,构成多种简单或

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

5、设芯片有的只接收来自单片机信息,有的只向单片机提供信息,还有的既接收也发送信息。图4主机、从机和从器件互连SPI的数据传输SPI主设各负责产生系统时钟,并决定整个SPI网络的通信速率。SPI设各传输数据过程中总是先发送或接收高字节数据,每个时钟周期接收器或收发器左移1位数据。对于小于16位的数据在发送之前必须左对齐,如果接收的数据小于16位则采用软件将无效的数据位屏蔽,如图1所示。SPI接口有主和从两种操作模式,通过MASTERSLAVE位(SPICTL2)选择操作模式以及SPICLK信号的来源,如图2所示。图1 SPI通信数据格式图2 SPI主控制器从控制器的连接SPI用户逻辑该模块针对用户

6、不同的应用来设计,本质上就是用户的具体业务应用,与SPI-4接口没有直接关系。当应用支持多个端口时,这部分就显得至关重要。下面以支持两个端口的应用来说明用户逻辑的设计技巧。(1)Sink Core的用户逻辑端口为两个时,用户逻辑就需要用两个不同的FIFO根据端口的地址等来分别缓存用户的两个业务数据同时根据FIFO的情况来发出流控信息给SP14数据接口,如图1所示。图1 Sink Ceore 两个端口的用户逻辑(2) Source Core的用户逻辑当端口为两个时,用户逻辑就需要根据流控信息和两个不同的FffiOffJ情况来做仲裁,谀定哪个用户逻辑FIFO需要发送给SPI4数据接口,如图2所示。

7、图2 Source Core2个端口的用户逻辑1 SPI基本原理与结构 串行外围设备接口(SPI)是由Motorola公司开发的、用来在微控制器和外围设备芯片之间实现数据交换的低成本、易使用接口。与标准的串行接口不同,SPI是一个同步协议接口,全双工通信,所有的传输都参照一个共同的时钟,这个同步时钟信号由主机产生。接收数据的外设使用时钟对串行比特流的接收进行同步化。其传输速度可达几Mb/s。 SPI主要使用4个信号:MISO(主机输入/从机输出)、MOSI(主机输出/从机输入)、 SCLK(串行时钟)、或(外设片选或从机选择)。MISO信号由从机在主机的控制下产生。信号用于禁止或使能外设的收发

8、功能。为高电平时,禁止外设接收和发送数据;为低电平时,允许外设接收和发送数据。图1所示是微处理器通过SPI与外设连接的示意图。主机和从机都有一个串行移位寄存器,主机通过向它的SPI串行寄存器写入一个字节来发起一次传输。寄存器通过MOSI信号线将字节传送给从机,从机也将自己的移位寄存器中的内容通过MISO信号线返回给主机(如图2所示)。这样,两个移位寄存器中的内容就被交换。外设的写操作和读操作是同步完成的。如果只进行写操作,主机只需忽略接收到的字节;反之,若主机要读取从机的一个字节,就必须发送一个空字节来引发从机的传输。当主机发送一个连续的数据流时,有些外设能够进行多字节传输。虽然SPI有以上优

9、点,然而在图像传输中却很少用到,原因主要是其抗干扰能力差。2 RS-422简介RS-422标准是RS-232的改进型,全称是“平衡电压数字接口电路的电气特性”。它使用两根线之间的电压差来代表逻辑电平,通常称之为双绞线。它是一种平衡传输,任何噪声或干扰都会同时影响两根双绞线中的每一根,但对二者之间的差异影响很小,这种现象称为共模抑制。所以RS-422可以在更远的距离上以更快的速度传输数据,其抗干扰能力远强于RS-232、SPI等非平衡传输方式。其最大传输距离约1 200 m,最大传输速度可达10 Mb/s。但是由于线路过长造成损耗,其传输速率会随着距离的增加而下降。图3是RS-422的基本连接示

10、意图。驱动器D通过双绞线和接收器R连接。位于双绞线接收端的电阻Rt是一个终止电阻,它用来消除在远距离传输过程中发生的信号反射。但在300 m以下的短距离传输中可以不接该电阻。RS-422标准允许相同传输线上连接多个接收节点,最多可接10个,即一个主设备、10个从设备,从设备之间不能通信8。RS-422支持一点对多点的双向通信。由于它的接口采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必需的信号交换均可以通过软件方式或硬件方式实现。RS-422双绞线之间的电压差在4 V12 V之间。其逻辑电平定义为:在发送端,以双绞线之间电压差为2 V6 V表示逻辑1,以2 V6 V表示逻辑0;

11、在接收端,双绞线之间电压差大于200 mV时为逻辑1,小于200 mV时为逻辑0。3 S3C2450X的SPI接口S3C2450X是SAMSUNG公司最近推出的一款高性能、低功耗16/32 bit RISC处理器,其最高主频可达533 MHz,一般工作频率为400 MHz。它采用ARM926EJ内核,该内核采用MMU、AMBA总线和哈佛高速缓存体系结构,具有单独的16 KB指令Cache和16 KB数据Cache,每个Cache都由8字长的行组成。为了降低成本,片上集成了各种常用模块,包括NAND Flash Bootloader、系统管理器、PLL时钟发生器、PWM定时器、8通道DMA和多种

12、接口控制器等,这样可以使设计者在设计电路时省去许多专门的接口控制芯片,不仅降低了成本,也提高了系统的可靠性。S3C2450X集成了2个高速SPI接口,每个接口都有2个8/16/32 bit的移位寄存器分别用于发送(Tx FIFO)和接收(Rx FIFO)数据。在发送时,将要发送的数据写入SPI发送数据寄存器(HS_SPI_Tx_DATA)中,数据会被自动移入Tx FIFO;在接收数据时,为了从Rx FIFO中读出数据,CPU访问SPI数据接收寄存器(HS_SPI_Rx_DATA),此时数据会自动转移到HS_SPI_Rx_DATA中。S3C2450X的SPI接口支持主模式和从模式两种传输方式。在

13、主模式下,同步时钟SPICLK由S3C2450X产生并传输给外围设备。此时,通过设置时钟配置寄存器(Clk_CFG)可以调整同步时钟SPICLK的频率,从而改变数据传输率。SPI有3个可用时钟源:内部时钟源PCLK,外部时钟源Epll clock和USBCLK。其同步时钟计算公式为:同步时钟频率f/2(预分频值1)其中f是所选时钟源的频率,预分频值的取值范围是0255。若取f400 MHz,则同步时钟频率最大可达200 MHz,其传输速率理论上接近200 Mb/s。但由于受到内部寄存器和外部接口等其他因素限制,再加上传输速率太高时,由传输延时造成的影响越来越明显,从而会引起传输错误,所以其实际

14、数据传输率不会很高,一般只有几Mb/s。4 转换电路设计由于RS-422采用的电平与SPI不同,所以必须使用电平转换芯片。这里采用MAXIM公司的MAX308810。这是一款用于RS-422通信的一路高速低功耗电平转换收发芯片,半双工通信,传输速率最大可达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

15、为1。它与S3C2450X的连接图如图4所示。图4中将S3C2450X的SPICLK0和SPIMOSI0引脚分别接到2个MAX3088的DI引脚上,DE和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,包括传送

16、数据的单位以及是否启用DMA模式等。(4)设置中断使能寄存器,包括是否响应FIFO溢出以及为空时所产生的中断等。(5)通过设置CH_CFG中的RxChOn和TxChOn打开数据传输通道。(6)发送数据,检查发送准备好标志(TxFifoRdy1),然后写数据到数据发送寄存器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为代表的双端平衡传输模式将会得到越来越广泛的应用。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1