NIOSIISPI详解如何使用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文档。上传文档
查看更多
NIOSIISPI详解如何使用SPI方式传输

NIOS II SPI详解 如何使用SPI方式传输 1、说明 本文是依据笔者阅读《Embedded Peripherals (ver 9.0, Mar 2009, 4 MB).pdf》参考文档所作的个人理解,可以看做是笔记吧。 本文只讲NIOS II嵌入式外设SPI的原理与使用,关于IP-CORE的使用,请读者参考???《SPI Slave JTAG to Avalon Master.pdf》。 在下一篇文章中将用实例说明如何用SPI驱动ADS1256。 2、功能描述 Spi通讯包括两条数据线(进、出)、一条同步时钟线和一条控制线。 (1)Master Out Slave In (mosi)—主设备输入数据到从设备的数据线。 (2)Master In Slave Out (miso)—从设备输出数据到主设备的数据线。 (3)Serial Clock (sclk)—主设备驱动从设备的同步时钟。 (4)Slave Select (ss_n)—主设备驱动,用于选择从设备。置低时有效。最多可以设置32个从设备。 ???????????? Sclk与Avalon—MM是同步的。当配置为主设备,spi-core将Avalon—MM的时钟分频得到sclk。若配置为从设备,接收逻辑是与sclk的输入同步的。 3、发送逻辑 发送逻辑包含发送保持寄存器(txdata)和发送移位寄存器,各有n位宽度,可配置1~32位。当某主外设写txdata,值会自动被复制到移位寄存器,并在下个操作开始时传输。 Txdata和移位寄存器提供两个存储空间。当有数据在移位寄存器传输时,可以往txdata中写入数据,并且在移位寄存器处理完当前数据时会自动加载txdata中数据,并发送。 在主设备模式传输移位寄存器直接驱动mosi,在从设备模式,传输移位寄存器直接驱动miso。 数据传输时,LSB或者MSB在前,由配置时用户指定。指定之后,不可软件更改。 4、接收逻辑 接收逻辑包含接收保持寄存器(rxdata)和接收移位寄存器,各有n位宽度,可配置1~16位。在接收移位寄存器捕获满n位数据后,主外设可以从rxdata中读取接收到的数据。 同发送逻辑类似,接收逻辑同样具有提供两个存储空间的功能。Rxdata可以保持前一个接收到的数据,同时接收移位寄存器亦在接收数据。当一个传输完毕时,接收逻辑自动将接收移位寄存器的数据更新至rxdata。 在主设备模数时,接收移位寄存器直接受miso驱动。在从设备模式?,受mosi驱动。同样,数据传输时,LSB或者MSB在前,由配置时用户指定。指定之后,不可软件更改。 5、在SOPC中安装SPI-CORE 5.1?主从设置 用户可以选择主设备模式或者从设备模式。当选择主设备模式时,下面的选择是有效的:Number of select (SS_n) signals、SPI clock rate、?和Specify delay. (1)Number of Select (SS_n) Signals 设置从设备的个数。取值范围是1~32。该选择会在生成NIOS II时产生n个SS_n引脚,用于片选。 (2)SPI Clock (sclk) Rate 该时钟是有Avalon-MM分频产生,其数学关系是: Avalon-MM system clock frequency / [2, 4, 6, 8, ...] 在SOPC设置时,可以输入所需要的时钟,软件会自动选择一个低于或者等于所输入时钟的最近符合值。 时钟的设置注意结合从设备的要求。 (3)Specify Delay 该延时是指片选信号有效(置低)之后,需要多长的时间才能对从设备发起操作。 ?????? 5.2?数据寄存器设置 该设置影响数据寄存器的大小和行为特性。 (1)Width—设置txdata、rxdata、发送移位寄存器、接收移位寄存器的大小,可设置为1~32位。 (2)Shift direction—指定数据传输时LSB或者MSB在前。用户需了解从设备所需的模式。 5.3?时序设定 该设定涉及ss_n,?sclk,?mosi?和?miso?信号的设置。共有两处设定,可设定4种模式。 (1)Clock polarity—设置为0时,sclk空闲时为低;设置为1时,sclk空闲时为高。 (2)Clock phase—设置为0时,数据在sclk的上升沿锁存;设置为1时,数据在sclk的下降沿锁存。 具体见如下时序图: ???????1.?Clock Polarity = 0, Clock Phase = 0 ?????? 2.?Clock Polarity = 0, Clock Phase = 1 ???????????????????????? ???????????? 3.?Clo

文档评论(0)

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

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

1亿VIP精品文档

相关文档