新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于双DSP的并联控制系统中串行通信的研究

基于双DSP的并联控制系统中串行通信的研究

作者:时间:2010-01-07来源:网络收藏

  TMS320F2812 的SPI 是一个高速的同步输入/输出端口,一般用来实现 控制器 之间和 与外围设备之间的。SPI 有两种操作模式:主操作模式和从操作模式。主片 控制了时钟信号(SPICLK),它可以在任何时候通过发送SPICLK 信号来启动数据传输。无论是主片还是从片,数据都是在SPICLK 的某个边沿移出移位寄存器,在SPICLK 相反的边沿锁存在移位寄存器中,并且输出和接受数据都是同时进行的。

  芯片的 SCI 是一个双线的异步接口,也称UART 口,一般用于接上位机(以下简称PC 机)。

  3 同步通信模块的设计

  3.1 SPI 模块的硬件设计

  让两个 分别工作在主、从操作模式下,两者的引脚连接如图2 所示。主处理器通 过SPICLK 脚向整个通信网提供时钟,控制着系统的数据传输;通过SPISTE 脚给从处 理器提供片选信号,低电平有效;通过SPISIMO 脚把数据输出到从处理器的SPISIMO 脚上; 通过SPISOMI 脚接受从机处理器SPISOMI 脚上的数据。


  3.2 同步通信流程设计及软件实现

  在设计时,主处理器先向从处理器发送给定信息,发送完毕后,循环发送0,使SPICLK 不停地有时钟脉冲输出,并等待接受从处理器发送的数据。从处理器先是等待给定信息,如果接收到非零数据,则进行下一步运行并不断向主处理器发送当前数据。

  SPI 通信主处理器的流程图和从处理器的流程图分别如图3、图4 所示。


  在完成两个DSP 时钟和中断初始化后,分别对其SPI 寄存器进行设置,让其分别处于 master 和slave 模式。主、从处理器都采用查询方式发送数据,中断方式接受数据。

  查询方式发送是判断SPI 发送缓冲器已满标志位(SPISTS.bit.BUFFULL_FLAG)是否为空,如果为空,则将数据写入发送缓冲寄存器(SPITXBUF)中,启动SPISIMO 引脚的数据发送,数据发送完毕后SPISTS.bit.BUFFULL_FLAG 自动清零,等待下一次发送。

  中断方式接受是在SPI 中断使能位(SPICTL.bit.SPIINTENA)置位的情况下,如果接收 到数据传送到SPI 串行数据寄存器(SPIDAT)中,SPI 中断标志位(SPISTS.bit.INT_FLAG)置位且触发中断,并将数据转移到接受缓冲寄存器(SPIRXBUF)中,如果SPIRXBUF 中数据被读取,则SPISTS.bit.INT_FLAG 自动清零,等待下一次接受中断。



评论


相关推荐

技术专区

关闭