基于DSP的串行通信在变频调速系统中的应用
由于是三倍频,所以每一位(bit)需要发送三次(接收时亦按三个字节接收),每一个命令字节共包括11位:一个起始位、八个数据位、一个奇偶校验位和一个停止位,所以共需33位,而串口传输数据的寄存器TX和RX只有32位,所以在接收数据的过程中,最后的停止位只接收2/3次,由于是三分频,只读取中间一部分的数据,所以不影响接收的正确性;在发送数据的时候,最后停止位只能发送2/3次,因此发送一个完整的命令字节后,补发一个0XFF来补齐停止位,以保证通讯完整,和上位机正常通讯。
发送和接收数据均采用中断方式。由于串口接收数据采用的是双缓冲的方式,由硬件实现数据的收发,因此不会受高级中断的影响而使通讯失败。只要在发数据的两条指令前屏蔽其它中断,一来可以保证通讯的准确性,二来又不会对PWM同步中断造成很大影响,从而保证对电机的控制。
4.3 软件流程
确定了通讯方式以后,即可根据通讯协议设计通讯程序,图3是串行异步通讯程序的流程图。
4.4 同步与异步串行通信比较
异步通信其它是依赖于同步性的,字符到达可以不同步,但每个字符的接收要通过起始位使之同步。事务上,异步和同步通信之间的基本差别只是程序不同,前者在每个字符中都需要同步位,而后者则经常需要一个精的时间控制时,连续位方式的同步传送要比异步传送优越。然而即使完全的同步化能够实现,系统仍然在许多方面产生故障,因为它需要的是不可中断的数据流,换句话说,传送字符串数据的技术没有办法将一个字符与另一个字符分离。所以,即使环境理想,如果字符不能按照指定时间到达接收方的应用系统。纯粹的同步是不能实现的[3],所以可靠准确的数据传输需要使用异步通信的方法,并且由于DSP速度大大提高,增加了起始位、停止位和奇偶校验位的异步通信方式并不对数据处理造成过多的影响。因此,本文工作中采用了串行异步通信的方式。
采用这种方法的特点和实际意义如下:
(1)利用同步串口实现了异步通信,充分利用了DSP的资源,使DSP可以对异步电机的调速控制和与上位机的通讯同时处理,节约了成本。
(2)由于这套异步电机调速系统主要应用于家电中,因此功率不大,线路不长,本方法采用的设定三倍频率同步时钟以及合适的波特率,保证了通讯抗干扰能力,使得运行可靠。
本文提出的利用ADMCF328芯片的同步串口进行串行异步通讯的方法,通过对ADMCF328芯片的同步串口进行软件编程,实现异步通讯。由于采用了三分频的方法,读取数据准确,双工串行异步通讯效果良好。在驱动板与主控板连接调试之前,利用VB编写了通讯监控程序,通过硬件电平转换电路使DSP与PC机之间进行通讯,收发数据准确,通过良好,而且驱动板带动异步电机工作,运行正常。将主控板与驱动板连接整机调试,通讯正常,电机运行正常。
总之,从软件到硬件的实施方案,通过实验以及应用,证明了这个方法的可行性和可靠性。
《基于DSP的串行通信在变频调速系统中的应用(第5页)》