4.2.2 分闸记录子程序
分闸记录子程序的功能有:记录分闸线圈开始有操作电流时刻、操作机构开始运动时刻、然后每5/3ms算一个记录时刻(由于无法确定确切的分闸过程结束时刻,只能每5/3ms算一个记录时刻直到最大可能的分闸时间150ms)。每个时刻记录下该点的位置和时间,以备求机械特性之用。由于电弧的延迟熄灭,无法确定首相分离和三相全分离的确切时刻,故此不作测量。分闸记录子程序流程图如下图4.7所示。
- 36 -
4.3 系统级软件设计
如下流程为系统主程序,它的作用是将硬件级软件和模块级软件联合起来完成一定的功能,它包括初始化和主循环两部分。初始化的任务有:1、系统级设定:它包括系统的端口定义、口方式和模块方式选择、主时钟选择和设置;2、模块级设定:各个功能模块的工作方式选择、中断允许、时钟选择等等。主循环的功能是:监视有没有需要服务的任务,它们包括合闸令、分闸令、通信、键盘、测温等等。主程序流程图如下图4.8所示。
- 37 -
4.8 主程序流程图
- 38 -
第5章 数据通信
5.1 RS-485串行通信的特点
RS-485 是一种多发送器的电路标准,其接口采用一对平衡差分信号线。允许双导线上一个发送器驱动32个负载设备。负载设备可以是被动发送器、接收器或收发器。RS-485总线接口的连接方式是将发送驱动输出和接收驱动器输入端连接在一起,再通过两根导线接出去。由于RS-485 比RS-232传输信号距离长、速度快,且可带多个负载设备,因此在各种智能化仪器仪表中具有非常广泛的应用。
5.2 MSP430串行通信的特点
MSP430 的串行同步异步通信接口USART 接口有两种工作模式:异步通信模式UART 和同步通信模式SPI。众所周知,串行通信需要有波特率发生器来产生同步信号来标识每位数据的位置。在异步通信模式下,接收器实现自身与帧的同步,但外部发送接收设备并不使用同一时钟源,波特率都是在两机本地产生,因此数据传输时上、下位机的波特率应该力求一致。在数据传输时,起始位标定如下:3 次采样至少有两次是0 则表明是下降沿,然后开始初始化接收操作,采样发生在起始位下降沿后BRCLK周期的n/2-x、n/2、n/2+x 处,这一过程实现错误起始位的拒收及帧中各数据位的中心定位功能,在各位中心采用多数表决读数。其中x 值的范围是BRCLK 的1/32~1/64;但是在最低的BRCLK,x 的取值取决于波特率发生器的分频。
当采样到接收起始位后,以起始位为起点,按USART 控制寄存器UCTL 中设定的数据格式,在每位数据周期的中间3 个BRCLK 状态用多数表决的原则进行数据标定和移位接收操作。如此依次采集,直到本字节采集完毕。由此可以看出,分频因子要么很大,要么为整数。否则,由于采样点的积累偏移,会导致每字节后面的几位数据采样点不在其数据的有效范围内。
与传统的串行通信相比,MSP430单片机用低时钟频率实现高速通信的方法是除了分频因子外,还有一个分频因子调整寄存器。它用分频因子加调整的方法可以实现每一字节内各位有不同的分频因子,从而保证每位数据的中心三个时钟状态都处于有效的数据范围内,在低时钟频率时实现高通信波特率。
- 39 -
图5.1 MAX1480B 内部结构图
MAX1480B如图5.1所示,是由美国MAXIM 公司生产的完整的带光电隔离的RS-485数据通信接口芯片。该产品将变压器、DC-DC转换器、光电藕合器、二极管等器件组装于单一28引脚双列直插封装内,构成一个完整的RS-485 收发器。它是专为半双工串行通信模式设计的。其中MAX1480B 的驱动器摆率是受限制,以使电磁干扰(EMI)减到最小,且能减小由于电缆终端不匹配而引起的反射,单片机在数据速率高达250Kbps 时能做到无误差的数据传送。MAX1480A 的驱动器是不限摆率的,允许发送速率高达2.5Mbps。MAX1480A/B 吸收的空载电源电流的典型值为28mA。此外MAX1480B提供低功耗的关闭方式,在此方式下,如果DI和DE都保持高电平或悬空,仅消耗0.2μA 电流。驱动器具有热关闭电路,超功耗时热关闭电路将驱动器的输出端置成高阻状态。接收器输入端具有故障保护的特性,如果输入端开路,可保证输出高电平。
MAX1480A/B的DE接至高电平可使驱动器输出为使能状态。当使能时,器件起着线驱动器的作用。当DE为低电平时,驱动器输出为高阻状态。在输出为高阻状态时,器件起着接收器的作用。单片机每次发送数据前,必须将MAX1480 的使能端DE置1,以允许其发送数据。当发送完数据后,应将DE端置0,此时发送器处于高阻状态,接收器处于允许状态,允许其接收数据。
5.4 存在的问题及解决方案
5.4.1 存在的问题
- 40 -