新闻中心

EEPW首页 > 电源与新能源 > 设计应用 > 电源:大功率UPS中DSP与单片机的串行通讯设计

电源:大功率UPS中DSP与单片机的串行通讯设计

作者:时间:2012-08-07来源:网络收藏

3.3 SCI收发数据时管脚时序图

电源:大功率UPS中DSP与单片机的串行通讯设计

4 SPI接口实现的串口

在利用SPI接口实现进行串口的时候,由于需要通过一根时钟引线连接主机从机使其同步,而MCS51只有RXD和TXD,TXD产生系钟,RXD则既接收数据又发送数据,这里我们选用两片74LS645(同步收发器)来区分收发数据。硬件电路图如下:

电源:大功率UPS中DSP与单片机的串行通讯设计

图5 SPI接口实现DSP与单片机的串口通讯

74LS645功能表如表1:

电源:大功率UPS中DSP与单片机的串行通讯设计

MCS51采用方式0,同步通讯时钟为0.5MHZ,单片机做主机,DSP做从机。当系统开始工作时,DSP的SPISTE(SPI从动发送使能脚)作为普通I/O口发送DSP的选通信号(初始化SPISTE=1),当单片机的P1.0口检测到SPISTE的下降沿时,开始由TXD口输出同步时钟脉冲并通过RXD接收数据。同理当DSP检测到单片机由P1.3(初始化为1)的下降沿后,即接收到网络主控制器送出的SPICLK信号,开始接收由主机发送的数据,然后将SPISIMO引脚上的数据移入到SPIDAT寄存器。如果从DSP同时也发送数据,则必须在SPICLK信号开始之前把数据写入到SPIRXBUF或SPIDAT寄存器中去。

SPI的接口有四种不同的波特率设置,时钟可以进行极性的选择,有效沿选择和相位选择等等。在这里由于DSP的SPICLK使用MCS51单片机的时钟频率,故在这里可以不设置SPICLK,只需保证DSP的工作频率不低于单片机通过TXD口转换的时钟频率即可。需要注意的是,DSP在通过SPI进行数据传输时,是先传送高8位在传送低8位,这就需要在单片机中断服务子程序中设定字符反转程序。DSP和单片机均采用中断方式发送并且接收数据,下面给出DSP作为从机发送数据,单片机作为主机接收数据的软件流程图:

电源:大功率UPS中DSP与单片机的串行通讯设计

5 结 论

DSP与单片机通讯接口时,由于一般情况下对传输速率以及传输距离没有太多要求,所以仅利用SCI基本可以满足要求,但在较为复杂的数字化系统之中通常需要两片或者多片DSP共同控制,在DSP与另外一块DSP通讯之中需要利用剩余的SPI口,在主从双DSP通讯中更为简单易行。当另外一块DSP与单片机进行通讯时,由于单片机的串口已经被占用,故可以考虑通过SCI口与单片机的外围中断 来实现,当 接收到一个下降沿的中断,就认为是数据的起始位到达了,而后利用设定好的波特率进行各位数据读取即可。

参考文献:

[1] 刘和平,严利平,张学锋,卓清锋,TMS320LF240XDSP结构、原理及应用,北京:北京航空航天大学出版社,2002

[2] 尹熙鹏,段哲民,基于DSP的PWM型开关的设计,自动化与仪器仪表,2005,4


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭