基于DSP的串行通信在变频调速系统中的应用
ADMCF328提供有共同步串行通讯口,支持多种串行通讯协议,并且可以在多处理器系统中直接互连各个处理器。每个串口包括五个引脚:
SCLK(串行时钟),
RFS(接收帧同步),
TFS(发送帧同步),
DR(串行数据接收),
DT(串行数据发送)。
串口有独立的发送和接收部分,并且每个部分都有一个寄存器能把数据字从处理器移进或移出,双缓冲区技术为串口服务提供了附加时间。串口可以使用外部时钟或在内部生成时钟,频率范围宽,最小为0Hz,最大为6.144MHz。串口可以支持串行字长从3位到16位的数据传输。串口还可使用可以灵活控制的帧同步信号。接收和发送一个完整的数据字之后,可以产生一个中断。
发送数据时,由TX寄存器实现TFS信号,表明传送开始,写入TX寄存器的每个值都会被传送到内部发送移位寄存器中,然后从MSB开始发送各位,每一位都是在SCLK上升沿移出;接收数据时,接收到一个完整的字后,写入RX寄存器,同时产生接收中断。
3 串行通讯接口电路
串行通讯接口包括数据传输线DT和数据接收线DR。这样,可以通过对串口控制寄存器(Sport Control Register)的值进行修改,来控制数据接收帧同步只对串行通信中的第一个字节有效。也就是说,将DR和RFS连在一起之后,在进行数据传输的时候,在数据传输开始的时刻,就是第一个字节的起始位到达的时刻,RFS会对其进行判断,产生一个数据接收中断,从而达到异步通信的效果。
当需要把TTL(0V和+5V)电平转换为UART电平(-10V和+10V)时,比如说要和PC串口(RS/232)进行通讯时,就要添加一些硬件电路。如图2所示,使用了AD7306BR转换电平,由图中可以看出PC串口的3(TD)管脚即数据发送管理,经过AD7306BR之后,电平由-10V~+10V转换到0~+5V连接到DSP串口的数据接收(DR)管脚;同理DSP串口的数据发送(DT)管脚经过AD7306BR完成电平转换接到PC串口的2(RD)管脚即数据接收管脚上。在完成电平转换之后,还要使用HCPL2630将DSP与电平转换电路隔离。
4 通讯协议及软件设计
4.1 通讯协议
通讯协议采用异步串行通讯方式,波特率为2400bps,数据包括8位数据位、1个奇校验位、1个低电平起始位和1个高电平停止位;变频驱动板与主控板的通讯由3个字节组成:同步码0XFF、命令码和命令参数;主控板为主设备,变频驱动板为从设备,变频驱动板接到命令后立即应答,50ms无应答则重发命令,1s无应答则出错误报警。
通讯数据格式如表1所示。
表1 通讯数据格式
UART
数据格式
起始位
8位数据字
奇偶校验
停止位
LSB
1
2
3
4
5
6
MSB
串口
数据格式
000
XXX
YYY
XXX
YYY
XXX
YYY
XXX
YYY
XXX
111
24位数据组成的字节
《基于DSP的串行通信在变频调速系统中的应用(第4页)》