1 CAN总线与485总线的比较
1)485总线的特点
相对于RS一232,RS一485半双工异步通信总线具有通信距离远、通信速率高、成本低等特点,是一种被广泛使用的数据通信总线。但485总线的波特率设置受到单片机的波特率设置的限制,在单片机使用24M晶振的情况下,也只可以设置到9600bps的波特率。485总线的容错和应用层的协议,可以自己通过软件来实现,比较灵活,但是编程的工作就变得复杂。因此在对速度要求高、数据传送量大的大型系统中,485总线在实时性和可靠性方面的性能就显得比较脆弱。
2)CAN总线的特点
CAN全称为Controller Area Network,即控制器局域网,是国际上应用最广泛的现场总线之一。CAN总线主要具有以下的特点:
(1)CAN总线通信最高波特率可高达lMbps(采用双绞线通讯距离40m)、最远通讯距离为10km(可达5kbps)。
(2)CAN总线采用了短帧结构,每一帧为8个字节,传输时间短,受干扰概率低,每帧信息都有CRC校验和其他检错措施,保证了数据的出错率极低,从而提高了传送数据的可靠性。
(3)和485总线一样,采用平衡传输,抗干扰能力强。
(4)采用非破坏性总线仲裁,当有几个节点同时发送信息的时候,根据帧开始部分的标识符,进行逐位仲裁,优先级别高的信息会不受影响地继续发送,优先级别低的信息就会停止发送,从而保证重要信息的及时传送。
(5)借助CAN控制器里面的接收滤波器,CAN总线能实现点对点,一点对多点以及全局广播等方式传送,无需专门的调度。
由此可见,CAN总线具有传送数据实时性和可靠性高的优点,能应用于数据传送量大、数据传输的速度要求高的系统中。
2 电源智能监控系统的构成
邮电通信线路的供电电源是±48V。监控系统对现场的温度、总电源和各通支路电源的电压和电流进行采集。本监控系统由位于监控中心的上位机(PC机)和现场多个智能节点组成。每一个智能节点可以采集64路的数据(电压、电流或温度)、具有现场的界面显示、键盘操作、报警和与上位机通信等功能。在正常的情况下,位于现场的各个智能节点每隔一段时间就要把当前64路的数据上传给上位机。当线路的电源出现故障时,无论当前正在进行什么操作,智能节点都会马上发送故障信息给上位机,并且在现场发出报警信号。由于电源的电压、电流和温度是通过分流器来采样取得的,而采用不同的分流器,则要进行不同的数值变换。所以在上下位机中都需要有一套相同的配置表,当其中一方的配置表有改动,就要通知另一方,进行及时更新。监控中心的计算机由RS一232串口接到通信适配器上,实现计算机与智能节点网络的传输。由于传输的数据量大,要求传输速度较快,并且对重要信息的传送的可靠性和实时性要求高,因此为了提高系统的可靠性和实时性,该系统的通信接口采用了CAN总线技术。整个系统的结构图如图1所示。
3 智能节点的硬件设计
智能节点硬件框图见图2。由于智能节点在同一时间可能要进行很多动作,如数据的采集,与上位机的通信,界面的显示等,为了保证数据的正确采集和可靠传输,本系统采用双MCU结构,从MCU负责数据的采集、保存和报警功能。而主MCU负责数据的转发,现场的界面显示等功能。主、从MCU都采用AT89C55。其内部具有20K的EPROM,并且自带看门狗电路,简化了电路连接,提高了系统的抗干扰性。它具有双DPTR结构,从而使片外寻址的编程更加灵活和简化。
ADC8016是逐次比较式16路8位A/D转换器。它包含有一个8位A/D转换器和16路的单端模拟信号多路转换开关。在一个智能节点中需要4块ADC8016对64路的数据进行转换。
由于电压、电流和温度信号是通过分流器变换成电压量之后才进行采集的。由于分流器变换出来的电压量是毫伏级的,而ADC8016的输入范围是0~5V,所以由分流器变换出来的电压量要通过信号放大电路之后才进入AD转换器。信号放大电路由两级的运算放大器构成,从而提高了系统的精度。
为了提高系统的抗干扰能力,在数据采集芯片ADC0816和AT87C55之间加入光耦隔离。要注意的是,这里要采用快速光耦,因为如果采用光耦的开关速度太慢,由ADC出来的数据是传送不到采集MCU那边的。因此我们采用了快速光耦6N137。而现场报警的功能是通过蜂鸣器来实现。
主、从MCU之间的数据、信息的传递是通过双口RAM(CY7C007)来实现的。从MCU采集到的数据储存到双口RAM中,主MCU在适当时候从双口RAM中取出数据,并对数据进行发送。为了保证采集的数据不因下位机掉电或其他故障而丢失,主MCU在数据发送之前,先把数据存放在掉电非易失存储器里。在CY7C007中地址最高的两个字节7FFE、7FFF和两边的INTL、INTR引脚可作为左右两边的控制信号来用。当左边向7FFE写数据时,右边的INTR引脚会变低,当右边向7FFE读数据时,INTR引脚复位,而INTR引脚是低电平有效的。对7FFF做类似的操作时,INTL引脚也会有同样的功能。而本系统中,就是根据CY7C007这一特点,把CY7C007的INTR引脚连到主MCU的INT0引脚。当从MCU检测到有故障时,就向双口RAM的7FFE写数据,从而向主MCU发出报警信号,让MCU马上进入中断,进行相应的处理。
液晶显示屏和键盘实现下位机的人机交换功能。通过键盘操作可以修改配置表,主动将更新的配置表上传,向上位机索取最新的配置表等功能。并且与液晶显示屏配合,进行各种显示界面的更换。
CAN控制器SJAl000是一个带有CAN2.0控制协议的集成器件。只要对它内部的各种寄存器的值进行初始化,便能实现不同的通信功能,这简化了软件程序的编写,使开发者能更集中于通信控制策略的研究。
收发器82C250作为SJAl000和CAN总线的接口,能提供差动发送和差动接收,满足CAN2.0协议的要求,并提高了系统通信的抗干扰性能。通过对脚8(RS)的不同连接可以实现三种不同的工作方式:高速、斜率控制和待机。本系统中采用斜率控制,以降低射频干扰。
4 监控中心的管理软件
电源监控硬件系统的规划设计要保证系统工作的可靠性、稳定性,它反映了系统的基本性能。而系统的管理软件是面向用户的,它应充分发挥协调硬件的技术能力,同时要尽可能易于操作,提供所需的信息,方便管理。监控室的管理软件采用中文版Visual Basic语言编写。监控软件的主体功能如图3所示。它具有CAN通信进程,配置表的设置,电压电流值的换算,当前数据值显示,故障信息显示,故障前后数据曲线图显示,时钟同步等功能。
通信进程是完成数据进出的核心功能。它要接收或发送配置表,使上下位机的配置表一致;接收故障信息;完成正常数据传送的握手协议;发送对时帧,使各节点时钟同步。
为了避免其他人随便改动配置表的信息,在进入配置表设置之前必须进行密码认证。而配置表的设置用于分流器类型的设定,定义标识地址上节点的数据链接指向,包括该节点监控的是哪一个位置的数据,该路采集的是总电源、支路电源还是温度的数据。由于数据是通过分流器变换之后才进行采集的,并且上传来的数据是十六进制的,所以在上位机要对接收到的数据进行一定的换算。
通过观察接收数据的变化,可以远程监控现场的通信电源工作情况,及时发现出现故障的位置和类型。当出现故障时,可以调用故障出现前后的数据,画出曲线,通过观察曲线,可以对故障进行分析。
监控室的上位机每隔12个小时就会把当前的时间发送给智能节点,智能节点一旦发现本身的时钟和上位机的时钟的差值超过允许范围,就对本身的时钟进行修改,保证数据采集的同时陛。
5 结束语
该多路电源智能监控系统已在某邮电通信公司中使用。经过调试和运行,证明该多路电源智能监控系统采用CAN总线技术能够达到很好的实时性和可靠性的要求。
上一篇:基于PCI的激光标刻控制系统研究
下一篇:基于USB的桩基静载荷无线测控系统设计
推荐阅读最新更新时间:2024-05-02 21:25