SSI通信C语言编程,SSI协议应用和编程.ppt

SSI协议应用和编程

1.2、SSI通信协议 对于 Freescale SPI、MICROWIRE、Texas Instruments 3 种帧格式,当 SSI 空闲时串行时钟(SSICLK)都保持不活动状态,只有当数据发送或接收时处于活动状态,SSICLK 才在设置好的频率下工作。利用 SSICLK的空闲状态可提供接收超时指示。如果一个超时周期之后接收 FIFO 仍含有数据,则产生超时指示。 对于 Freescale SPI 和 MICROWIRE 这两种帧格式,串行帧(SSIFss)管脚为低电平有效,并在整个帧的传输过程中保持有效(被下拉)。 对于 Texas Instruments 同步串行帧格式,在发送每帧之前,每遇到SSICLK的上升沿开始的串行时钟周期时,SSIFss 管脚就跳动一次。在这种帧格式中,SSI 和片外从器件在SSICLK的上升沿驱动各自的输出数据,并在下降沿锁存来自另一个器件的数据。 不同于其它两种全双工传输的帧格式,在半双工下工作的 MICROWIRE 格式使用特殊的主-从消息技术。在该模式中,帧开始时向片外从机发送 8 位控制消息。在发送过程中,SSI 没有接收到输入的数据。在消息已发送之后,片外从机对消息进行译码,并在 8 位控制消息的最后一位也已发送出去之后等待一个串行时钟,之后以请求的数据来响应。返回的数据在长度上可以是 4~16 位,使得在任何地方整个帧长度为 13~25位。 1.3、SSI的几种传输模式 1 )德州仪器同步串行的帧格式 在该模式中,任何时候当 SSI 空闲时,SSICLK和 SSIFss 被强制为低电平,发送数据线SSITx 为三态。 一旦发送 FIFO的底部入口包含数据, SSIFss 变为高电平并持续一个 SSICLK周期。即将发送的值也从发送 FIFO 传输到发送逻辑的串行移位寄存器中。 在 SSICLK的下一个上升沿,4~16 位数据帧的 MSB从 SSITx 管脚移出。同样地,接收数据的 MSB 也通过片外串行从器件移到 SSIRx 管脚上。 然后,SSI 和片外串行从器件都提供时钟,供每个数据位在每个 SSICLK 的下降沿进入各自的串行移位器中。在已锁存 LSB 之后的第一个 SSICLK 上升沿上,接收数据从串行移位器传输到接收 FIFO。 2 )Freescale SPI的帧格式 Freescale SPI接口是一个4线接口,其中SSIFss信号用作从机选择。Freescale SPI格式的主要特性为:SSIClk信号的不活动状态和相位均通过SSISCR0控制寄存器中的SPO和SPH位来设置。 SPO时钟极性位 当SPO时钟极性控制位为低时,它在SSIClk管脚上产生稳定的低电平值。如果SPO位为高,则在没有进行数据传输的情况下,它在SSIClk管脚上产生一个稳定的高电平值。 SPH相位控制位 SPH 相位控制位用来选择捕获数据的时钟边沿并允许边沿改变状态。SPH在第一个传输位上的影响最大,因为它可以在第一个数据捕获边沿之前允许或不允许一次时钟转换。当SPH相位控制位为低时,在第一个时钟边沿转换时捕获数据。如果SPH位为高,则在第二个时钟边沿转换时捕获数据。 Freescale SPI的四种帧格式: (1)SPO=0和SPH=0时,Freescale SPI的帧格式 (2)SPO=0和SPH=1时Freescale SPI的帧格式 (3)SPO=1和SPH=0时Freescale SPI的帧格式 (4)SPO=1和SPH=1时Freescale SPI的帧格式 注意:以上四个图的Q表示未定义 3)MICROWIRE的帧格式 MICROWIRE格式与SPI格式非常类似,只是MICROWIRE为半双工而不是全双工,使用主-从消息传递技术。每次串行传输都由SSI向片外从器件发送8位控制字开始。在此传输过程中,SSI没有接收到输入的数据。在消息发送完毕之后,片外从机对消息进行译码,SSI将8位控制消息的最后一位发送完成之后等待一个串行时钟,之后从机以请求的数据来响应。返回的数据在长度上为4~16位,使得任何地方的总的帧长度都为13~25位。 MICROWIRE的帧格式 2、常用的SSI库函数 1)使能SSI模块函数 Void SysCtlPeripheralEnable(unsigned long ulPeripheral) 参数: unsigned long ulPeripheral : SSI模块的基址,取下列值之一 SYSCTL_PERIPH_SSI 只有一个SSI SYSCTL_PERIPH_SSI0有两个SSI SYSCTL_PERIPH_SSI1有两个SSI 举

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值