摘要:介绍了基于专用DSP芯片ADMC328的异步电机调速系统中的主控部分与驱动部分之间的通讯。详细介绍了通讯的硬件接口电路、通讯协议以及软件实现方法,实现了利用DSP的同步串口进行异步通讯的方法,并确保通讯准确可靠。实验结果证明了其可靠性。
关键词:数字信号处理器 串行异步通讯 交流调速系统
随着电力电子技术的不断发展和微处理技术尤其是数字信号处理器(DSP)的出现,基于数字控制的现代交流调速系统可以应用复杂的控制策略,实现高速动态响应功能。在以DSP为控制核心的异步电机驱动系统中,要实时观测驱动系统在运行中的数据变量,根据需要对程序进行控制,就需要应用DSP中的串口通讯接口与上位机--控制面板或者计算机系统进行通讯。本文针对一套基于DSP的异步电机变频调速驱动系统,设计了DSP与上位机系统通讯的硬件电路,编写了通讯的汇编程序,实现了DSP与上位机的异步通讯。在调试阶段,为了方便调试,在WINDOWS环境下,在PC机上利用VB编写了通讯控制程序,实现了DSP与上位PC机的通讯。通过多种条件下的运行调试,证明通讯可靠,运行稳定。
1 变频调速系统2 ADMCF328及其串口简介
ADMCF328芯片是美国AD(ANALOG DEVICES)公司生产的一种低价位、基于DSP的单片控制器,适合于控制交流感应电机、永磁同步电机、无刷直流电机和开关磁阻电机。它包括一个20MIPS的定点DSP内核和一整套电机控制外设,适于开发快速有效的电机控制器1。
ADMCF328提供有同步串行通讯口,支持多种串行通讯协议,并且可以在多处理器系统中直接互连各个处理器。每个串口包括五个引脚:
SCLK (串行时钟),
RFS (接收帧同步),
TFS (发送帧同步),
DR (串行数据接收),
DT (串行数据发送)。
串口有独立的发送和接收部分,并且每个部分都有一个寄存器能把数据字从处理器移进或移出,双缓冲区技术为串口服务提供了附加时间。串口可以使用外部时钟或在内部生成时钟,频率范围宽,最小为0Hz,最大为6.144MHz。串口可以支持串行字长从3位到16位的数据传输。串口还可使用可以灵活控制的帧同步信号。接收和发送一个完整的数据字之后,可以产生一个中断。
发送数据时,由TX寄存器实现TFS信号,表明传送开始,写入TX寄存器的每个值都会被传送到内部发送移位寄存器中,然后从MSB开始发送各位,每一位都是在SCLK上升沿移出的;接收数据时,接收到一个完整的字后,写入RX寄存器,同时产生接收中断。
3 串行通讯接口电路
串行通讯接口包括数据传输线DT和数据接收线DR。为了保证产生中断,DR必须和RFS接在一起。这样,可以通过对串口控制寄存器 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 同步与异步串行通信比较
异步通信其实是依赖于同步性的,字符到达可以不同步,但每个字符的接收要通过起始位使之同步。事实上,异步和同步通信之间的基本差别只是程度不同,前者在每个字符中都需要同步位,而后者则经常需要一个同步字节。当效率变为头等重要,并且数据可以用一个精确的时间控制时,连续位流方式的同步传送要比异步传送优越。然而即使完全的同步化能够实现,系统仍然在许多方面产生故障,因为它需要的是不可中断的数据流,换句话说,传送字符串数据的技术没有办法将一个字符与另一个字符分离。所以,即使环境理想,如果字符不能按照指定时间到达接收方的应用系统。纯粹的同步是不能实现的 3 ,所以可靠准确的数据传输需要使用异步通信的方法,并且由于DSP速度大大提高,增加了起始位、停止位和奇偶校验位的异步通信方式并不对数据处理造成过多的影响。因此,本文工作中采用了串行异步通信的方式。
采用这种方法的特点和实际意义如下:
(1)利用同步串口实现了异步通信,充分利用了DSP的资源,使DSP可以对异步电机的调速控制和与上位机的通讯同时处理,节约了成本。
(2)由于这套异步电机调速系统主要应用于家电中,因此功率不大,线路不长,本方法采用的设定三倍频率同步时钟以及合适的波特率,保证了通讯抗干扰能力,使得运行可靠。
本文提出的利用ADMCF328芯片的同步串口进行串行异步通讯的方法,通过对ADMCF328芯片的同步串口进行软件编程,实现了异步通讯。由于采用了三分频的方法,读取数据准确,双工串行异步通讯效果良好。在驱动板与主控板连接调试之前,利用VB编写了通讯监控程序,通过硬件电平转换电路使DSP与PC机之间进行通讯,收发数据准确,通讯良好,而且驱动板带动异步电机工作,运行正常。将主控板与驱动板连接整机调试,通讯正常,电机运行正常。
总之,从软件到硬件的实施方案,通过实验以及应用,证明了这个方法的可行性和可靠性。
参考文献
1 ADSP-2100 Family User's Manual Third Edition. Analog Devices Inc, 1995
2 Using Serial Port0 of the ADMC331 as a UART Interface. Analog Devices Inc 2000
3 Mark Nelson. 串行通信开发指南. 北京:中国水利水电出版社,2000
4 Mircevski S. DSP Application in AC Drives. Mediterran-ean EleCTRotechnical Conference 2000 2 10 778~781
本文关键字:通信 DSP/FPGA技术,单片机-工控设备 - DSP/FPGA技术
上一篇:CAN总线控制器与DSP的接口