关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > Freescale同步串行传输SPI优化设计

Freescale同步串行传输SPI优化设计

——
作者:时间:2007-11-14来源:单片机及嵌入式系统应用收藏

  系列的大部分都存在一个模块,它是一个同步串行外围接口,允许与各种外周设备以串行方式进行通信。

  目前,系列的大多数总线不能外部加以扩展,当片内I/O或者存储器不能满足需求时,可以使用来扩展各种接口芯片。这是一种最方便的Free-scale系列系统扩展方法。

  系统主机最高频率=主机总线频率/2,从机最高频率=从机总线频率,即硬件体系决定了SPI的最高工作频率。如何在硬件体系结构已定的情况下,使I/O或存储器数据传输效率最高,成为SPI使用的一个关键问题。

  1 同步串行传输SPI结构及常规操作

  图1为同步串行传输SPI的体系结构图。

  对Freescale同步串行传输体系来说,一般有两种操作模式:

  ①利用中断通知已经传输结束,或者接收完成;

  ②采用轮询方式,读取相应寄存器位置,判断传输是否完成。

  无论是哪种模式,其常规操作流程(无配置过程)均如图2所示。

  

Freescale同步串行传输SPI的体系结构图

  2 常规操作中的时间浪费

  从图2中可以看出,当CPU向SPI数据寄存器中写入1字节数据后,必须等待,直至SPI模块通知传输结束,才能写入下一个字节。这是由于SPI数据模块由两部分构成:一部分是数据寄存器;另一部分是移位寄存器。当CPU向SPI数据寄存器写入1字节后,SPI模块需要将8位数据传入移位寄存器,在每个SPI时钟周期内传出1位数据。由于采样的原因,SPI的最大速率=BUS_CLK/2,所以当CPU向SPI写入一个8位数据后,必须等待8



评论


相关推荐

技术专区

关闭