您当前的位置:五五电子网电子知识单片机-工控设备DSP/FPGA技术大功率UPS中DSP与单片机的串行通讯设计 正文
大功率UPS中DSP与单片机的串行通讯设计

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

点击数:7941 次   录入时间:03-04 12:03:42   整理:http://www.55dianzi.com   DSP/FPGA技术

     

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

    在利用SPI接口实现DSP与单片机进行串口通讯的时候,由于DSP需要通过一根时钟引线连接主机从机使其同步,而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基本可以满足设计要求,但在较为复杂的数字化UPS系统之中通常需要两片或者多片DSP共同控制,在DSP与另外一块DSP通讯之中需要利用剩余的SPI口,在主从双DSP通讯设计中更为简单易行。当另外一块DSP与单片机进行通讯时,由于单片机的串口已经被占用,故可以考虑通过SCI口与单片机的外围中断 来实现,当 接收到一个下降沿的中断,就认为是串行数据的起始位到达了,而后利用设定好的波特率进行各位数据读取即可。

    参考文献:

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

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



上一页  [1] [2] 


本文关键字:单片机  DSP/FPGA技术单片机-工控设备 - DSP/FPGA技术