微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > DSP与单片机通讯方式解析方案

DSP与单片机通讯方式解析方案

时间:08-29 来源:3721RD 点击:


设定初始值为:(TH1)=(TL1)=0FCH。则MCS51单片机初始化程序如下:

MOV TMOD,#20H;T1工作于模式2
MOV TH1,#FCH;
MOV TL1,#FCH;赋计数初值,波特率为9600bit/s
MOV SCON,#50H;置串口方式1,每帧10数据,允许接收
MOV PCON,#80H;设SMOD=1
SETB TR1启动定时器
3.2 TMS320F240利用SCI与MCS51单片机通信的软件流程图

图2 TMS320F240利用SCI与MCS51单片机通信的软件流程图


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

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

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

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


74LS645功能表如表1:



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作为从机发送数据,单片机作为主机接收数据的软件流程图:

5 结 论

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top