基于SPI接口的多机通信.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于SPI 接口的多机通信 [摘 要]:本文介绍一种基于spi 接口的高速可靠的多微处理器扩展和通信方法,包括该方法的实现原理、硬件连接和软件实现等。 [关键词]:spi 接口,通信,扩展 1 引言 现代测控领域中,工业电子产品往往不是孤立存在的,而是需要能够数据共享,实现多机通信的功能,因而在大多数电子产品的设计中要考虑多机扩展和通信问题。比如在各种采用微处理器的控制系统中,就要求能实现多微处理器的柔性扩展和它们之间的数据通信。本文以avr 单片机组成的一主两从系统为例,介绍一种基于 spi 接口的高速可靠的多微处理器扩展和通信方法,包括该方法的实现原理、硬件连接和软件实现。 2 通信接口的选择 通信接口的选择关系到整个多机扩展的构成和通信方案的设计。微控制器的通信方式包括并行通信和串行通信,其中串行通信方式有 spi 通信接口、uart 通信接口、i2c 通信接口等。在通信接口的选择中,通信的可靠性要放在首位。由于并行通信方式通道间会有互相干扰,当传输出错时,要重新传送数据,而且要求数据同时到达接收端,但往往各通道由于布线长度不一等原因难以保证真正的一致性。另外采用并行通信方式占用了较多的 i/o 资源,不适合于小型系统,所以本文选择了串行通信方式。基于 spi通信接口的速度较快,而且通信协议也较为简单,相对来说也比较稳定等优点,本设计就选用 spi 接口来实现多机通信。 spi 接口是全双工同步串行外设接口,采用主从模式架构,支持单主多从模式应用。时钟由主机控制,在时钟移位脉冲下,数据按位传输,输入输出为全双工通信方式。spi 数据通信时的主-从连接与数据传送方式如图 1 所示。 图1 spi 数据通信时的主-从机连接与数据传送方式 由图1可知,spi 数据传输系统是由主机和从机两部分组成;主要是由主、从双方的两个移位寄存器和主机 spi 时钟发生器组成,主机为 spi 数据传输的控制方。nss为从设备选择管脚,对于主机,无用,可配置为gpio口用于选择从机;通知从机进入传输状态,然后主机启动时钟发生器产生同步时钟信号sck,预先存在两个移位寄存器中的数据在 sck 的驱动下进行循环移位操作,完成主-从机之间的数据交换,传输的数据为 8 位,按位传输。 spi 通过一根时钟引线 sck 将主机和从机同步,主机的数据由 mosi 进入从机,而同时从机的数据由miso 进入主机。因此,它的串行数据交换不需要增加起始位、停止位等用于同步的格式位,直接将要传送的数据写入到主机的 spi 发送数据寄存器,这个写入过程自动启动主机的发送过程。对于从机,同样在sck 的节拍下将出现在引脚 mosi 上的数据逐位移到从机的移位寄存器,当接收完一个完整的数据块后,设置中断标志,通知从机这个数据块已接收完毕,同时将移位寄存器接收到的内容复制到从机的spi接收数据寄存器。可以看出,用户编程只需在发送数据时写数据到spi发送数据寄存器,在接收数据时读spi接收数据寄存器,其余的移位、同步、置位收发标志等工作都由内置的 spi 模块自动完成。 3 多机扩展和通信的实现原理 以一主两从的系统结构、主从都以 atmega128 单片机为例,介绍多机扩展和通信方案。系统框图如图2 所示,主机分别同两个从机的 spi 接口相连,另外主从机间还增加了地址分配使能线 ad。在理论上这种扩展方法可以实现无数个从机的扩展和通信。 图2 系统框图 3.1 地址分配 在多机通信系统中,主机通过从机地址对各个从机进行访问,因此,要求每个从机都有唯一的地址。为确保地址的唯一性和可靠性,就必须对从机进行统一编址。 常用编址方式是将拨码开关连接在从机的 i/o上,用人工拨码来实现编址。拨码开关打开和关闭分别代表着 0 和 1,这也就代表着一定的数据,这个数据就是该从机的地址。这种硬编址方式简单且容易操作,但是占用从机的 i/o 资源。当从机数量增加时,用于拨码开关的 i/o 口也要相应地增加,而且编址需要人工操作来实现,在实际应用中很不方便。 本文设计了一种软件编址方式,采用主机自动给从机分配地址的方法。在硬件上,只需在 spi 通信接口的基础上增加一根地址分配使能线就能实现,如图2 所示。其实现原理是:主机通过ad线向从机1发出处理地址分配使能信号,与此同时,从机 1 通过 ad 线禁止从机 2 地址分配使能,保证在地址分配期间某一时刻只有一个从机进行地址信息处理。主机通过 spi 接口向各从机发出地址分配信息,从机都接收到主机传来的地址信息,但此时只有从机 1 的地址分配是使能的,所以只有从机1 对地址分配信息进行处理,通过以下时序对从机 1 进行地址分配: ① 主机向从机发送地址分配起始标识符‘(’,告诉从机此时进行地址分配操作,从机 1 向主机反馈确认信息;

文档评论(0)

pjho834 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档