大功率UPS中DSP与单片机的串行通讯设计
1位起始位,8位数据位,1位停止位。SCON中的TI,RI位在初始化中置0,在发送、接收完一帧数据,硬件自动将其置1,中断被响应后,TI、Ri不会自动清0,必须由软件清0。其串行通信波特率由定时器T1溢出率获得,
波特率的计算公式为:
![](../img/eep/emb/emb-29292pntcnkujhcm.jpg)
上式中N是初值,SMOD是PCON中的位,
![](../img/eep/emb/emb-292930tmead1bioi.jpg)
是时钟频率,则初始值
![](../img/eep/emb/emb-29294l4dqhbntdg1.jpg)
本系统中设定SMOD=1,
![](../img/eep/emb/emb-29295qc1w43dbavn.jpg)
波特率为9600bit/s则计算
![](../img/eep/emb/emb-29296d5fdlkhq55x.jpg)
设定初始值为:(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单片机通信的软件流程图
![](../img/eep/emb/emb-29297asst21kodnb.jpg)
图2 TMS320F240利用SCI与MCS51单片机通信的软件流程图
3.3 SCI收发数据时管脚时序图
![](../img/eep/emb/emb-29298wtdgixzqwdi.jpg)
4 SPI接口实现DSP与单片机的串口通讯
在利用SPI接口实现DSP与单片机进行串口通讯的时候,由于DSP需要通过一根时钟引线连接主机从机使其同步,而MCS51单片机串行通讯只有RXD和TXD,TXD产生系钟,RXD则既接收数据又发送数据,这里我们选用两片74LS645(同步收发器)来区分收发数据。硬件电路图如下:
![](../img/eep/emb/emb-292993tqrklitcvu.jpg)
图5 SPI接口实现DSP与单片机的串口通讯
74LS645功能表如表1:
![](../img/eep/emb/emb-29300xf332wsnveq.jpg)
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作为从机发送数据,单片机作为主机接收数据的软件流程图:
![](../img/eep/emb/emb-29301m3tfkadw4t1.jpg)
5 结 论
在设计DSP与单片机通讯接口时,由于一般情况下对传输速率以及传输距离没有太多要求,所以仅利用SCI基本可以满足设计要求,但在较为复杂的数字化UPS系统之中通常需要两片或者多片DSP共同控制,在DSP与另外一块DSP通讯之中需要利用剩余的SPI口,在主从双DSP通讯设计中更为简单易行。当另外一块DSP与单片机进行通讯时,由于单片机的串口已经被占用,故可以考虑通过SCI口与单片机的外围中断 来实现,当 接收到一个下降沿的中断,就认为是串行数据的起始位到达了,而后利用设定好的波特率进行各位数据读取即可。
参考文献:
[1] 刘和平,严利平,张学锋,卓清锋,TMS320LF240XDSP结构、原理及应用,北京:北京航空航天大学出版社,2002
[2] 尹熙鹏,段哲民,基于DSP的PWM型开关电源的设计,自动化与仪器仪表,2005,4
- 基于DSP控制的全数字UPS逆变器设计(09-19)
- DSP与单片机通讯方式解析方案 (08-29)
- 基于DSP控制的全数字UPS逆变器设计(一)(06-06)
- DSP在线式UPS不间断电源控制系统的研究(12-21)
- UPS冗余并联与双总线连接供电方案(12-16)
- UPS电源之冗余式双总线输出型供电系统(12-16)