McBSP在内部发送时钟Internal CLKX的上升沿发送数据,而在内部接收时钟Internal CLKR的下降沿接收数据。反之,MCP2510在外部时钟CLK的上升沿接收数据,在外部时钟CLK的下降沿发送数据。根据前面对时钟与帧同步信号的分析可知:Internal CLKX、Internal CLKR与CLK为同一时钟,要保证可靠收发数据,必须配置发送时钟极性位CLKXP=1(Internal CLKX 与 CLKX反相)和接收时钟极性位CLKRP=1(Internal CLKR 与 CLKR反相)。这样,一方在上升沿发送,另一方在下降沿接收,通信可靠;否则双方在同一时钟的同一边沿收发数据,不能保证可靠通信。
3 通信软件流程设计
DSP通过McBSP与MCP2510的SPI接口传送数据。MCP2510的发送寄存器作为发送缓冲区的映射寄存器,DSP通过访问发送寄存器将数据传送到发送缓冲区。MCP2510有6个过滤器,CAN总线上通过接收过滤器过滤的数据首先被放到接收缓冲区中。接收寄存器作为接受缓冲区的映射寄存器,DSP通过访问接收寄存器来接受缓冲区中的数据。
图4 CAN发送子程序框图
DSP与MCP2510之间的通信过程分两步:① 按照以上分析得出的结论对McBSP的控制寄存器配置,发送过程为:将数据写入McBSP的发送寄存器DXR,然后通过发送移位寄存器XSR将数据经引脚BDX移出发送,接收过程为:通过McBSP引脚BDR接收的数据移入接收移位寄存器RSR,并复制这些数据到接收缓冲寄存器RBR,然后再复制到接受寄存器DRR,最后由DSP读入。② McBSP与MCP2510之间的通信按照McBSP内部配置好的时钟、帧同步信号交换数据。
为了提高通信效率,DSP发送采取主动发送方式,由DSP的HD口(配置为IO口)和MCP2510的TXRTS端相连,以选择发送缓冲单元,发送流程如图4所示;而接收采取中断方式,一旦MCP2510接收缓冲器满,则发中断信号给DSP,通知DSP读取数据,接收流程如图5所示。
本文针对CAN总线短字节通信实时性好、可靠性高的特点,分析了CAN总线在数字保护系统中的应用可行性,给出了DSP的McBSP与CAN控制器接口的硬件配置方案和软件设计流程。在数字保护系统中实际通信试验所得到的数据证明CAN通信方案高效可靠,能够满足数字继电保护对实时通信的要求,充分发挥了CAN总线的优点。
本文作者创新点:针对CAN总线的特点论述了数字继电保护中CAN总线应用的可行性,详细分析了TMS320VC54X DSP的高速、双向、多通道带缓冲串行接口McBSP的内部时钟和同步信号流程,由此得出McBSP与CAN控制器接口的主从方式选择,时钟信号、帧同步信号的产生,数据收发的沿边选择,时序配合等寄存器关键位的配置。