通过SPI接口协议实现DSP与其它设备的通信
TMS320C5402提供的时钟停止模式可用于SPI协议通信,当McBSP被配置为时钟停止模式时,发送器和接收器在内部是同步的,即可将发送数据帧时钟(FSX)用作从使能(即SS),而将发送数据位时钟(CLKX)用作SPI协议中SCK。由于收数据位时钟(CLKR)和接收数据帧时钟(FSR)在内部与FSX和CLKX是相连的,因此,该管脚不能用于SPI模式。
当McBSP被配置为一个主设备时,传送输出信号(BDX)被用作SPI协议的MOSI信号,而接收输入信号(BDR)则被用作MISO信号。图2所示为McBSP用作主设备时的SPI接口示意图。
同样地,当McBSP被配置为一个从设备时,BDX被用作MISO信号,BDR则被用作MOSI信号。图3为McBSP用作从设备的SPI接口示意图。
当TMS320C5402的McBSP被用于时钟停止模式时,寄存器SPCR1的CLKSTP位域和引脚配置寄存器的CLKXP位的配置如表2所列。
表2 时钟停止模式配置
说 明
0X X 不可用时钟停止模式。时钟被激活用于非SPI模式 10 0 时钟开始于上升沿(无延迟) 11 0 时钟开始于上升沿(有延迟) 10 1 时钟开始于下降沿(无延迟) 11 1 时钟开始于下降沿(有延迟)4 其它有关寄存器的配置
为了更好地掌握和了解McBSP作为SPI设备时的有关寄存器配置,现以McBSP作为SPI从设备来介绍有关McBSP的其它有关寄存器的配置,若McBSP做为SPI主设备,则相关配置正好相反。当McBSP作为SPI从设备时,主设备外部产生主时钟。CLKX引脚和FSX引脚必须被设置为输入。由于CLKX引脚和CLKR信号在内部相连接,因而传送和接收回路均由外部主时钟计时(CLKX)。同时,由于FSX引脚和FSR信号也已在内部连接,因此,CLKR引脚和FSR引脚不再需要外部信号的连接。
尽管CLKX信号由主设备外部产生且与McBSP同步,但是,McBSP的采样率发生器仍然必须正确启动SPI从设备,同时,采样率发生器还应被设置为最大速率(CPU时钟速率的一半)。另外,内部采样率时钟常被用来同步McBSP逻辑和外部主时钟以及从使能信号。每次传送时,McBSP一般在从使能信号的上升沿进行FSX输入。也就是说,在每次传送的开始,主设备必须维护使能信号,而在每次传送完成后,则必须消除从使能信号。在两次传送之间,从使能信号不能一直保持为高电平。对正确的SPI从设备而言,McBSP的数据延迟参数必须设置为0,在这种运行模式中,设置值为1或2没有定义。配置McBSP为从设备所需的寄存器位值如表3所列。
表3 SPI操作模式下的寄存器位值表