微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于单片机PIC16C72的分体式空调控制器

基于单片机PIC16C72的分体式空调控制器

时间:02-27 来源:互联网 点击:

出,经8255A的PA口进入单片机,在单片机的控制下将并行输入的信号转换为CAN 总线输出。这里,采用16V8的GAL进行地址译码并实现部分逻辑关系。

在传感器和控制框通信接口方面,选用了MC68HC05X16单片机。由于MC68HC05X16自身带CAN接口,简化了硬件设计,减少了系统故障,增加了通信的可靠性与安全性。本系统硬件设计为128个节点(可以设计为更多),可以充分满足检测站 50个节点的要求,并且可以进一步扩展,加入新的检测设备和检测点。

三、CAN总线通信协议

针对测量系统的需要,我们采用了多主机通信方式。该方式可以充分发挥每个主机的作用,很容易使各个节点之间建立起数据联系,任意两个节点之间都可以根据需要进行通信。通信与控制都非常简单,可以充分满足本检测站迅速、可靠、实时性的要求。根据检测系统的需要和CAN帧结构,重点结合测量传感器和控制柜的功能要求,我们对网络的通信协议进行了研究和设计。

本系统中,CAN总线以报文为单位进行数据传输,并采取位仲裁的方式对总线进行访问,即在报文起始部分发送节点标总符。CAN总线的标准数据帧的仲裁场有 11个位标识符,它主要用于解决总线上的碰撞问题。数据帧标识符越小,数据帧具有越高的优先权。也就是说,当两帧数据同时由高位向低位发送时,一旦有不同的电平,发更新“凹槽”电平(recessive level)的数据帧将停止发送,而发送“主控”电平(dominant level)的数据帧将继续发送,这样,CAN总线自身就解决了碰撞问题。我们在每个节点设计了一个8位DIP开关,通过这个开关可以方便地改变传感器地址,并且,以它代表的数据作为该节点发送的数据帧的标识符的高8位。这样,地址越小的节点,其发送的数据就具有越高的优先权。根据节点的重要性安排地址,有效地解决了碰撞和优先权的问题。

四、采用CAN总线的过程控制软件

根据检测系统的需要,将指令分为通用指令和寻址指令:通用指令是旨所有收到指令的节点都要执行的指令;寻址指令是指收到指令的节点只有相应地址的节点才执行的指令。由于CAN总线标准数据帧最多可带有8个字节的数据,们将第一个字节作为地址(127为通用的地址,带有通用指令的数据帧第一个字节为127),第二个字节作为指令字节,用于表示节点所要执行的动作。表1为本系统中所用到的部分代码及其意义。

对于不同的节点,有时有些操作应对其封锁,甚至应禁止操作(如测量时应禁止对控制柜操作)因此,我们设立了远地封锁/解封及相应的近地封锁/解封命令。封锁后的节点只有解封后,才近地封锁/解封命令。封锁后的节点只有解封后,才能够继续执行指令。我们在每个节点处设立有控制开关,以便通过本地操作实现近地封锁/解封命令。这样,就进一步减少了本系统的误操作,增加了系统的安全性。图4、图5分别为传感器、控制柜方面的工作流程图。

为了能够准确掌握各节点的状态,以便及时发现错误,并作出相应调整,在每个节点都设有节点状态字。通过通信,可以让节点报告各自的工作状态。如出现故障或非法操作,则通过PC机报警,并且PC机定期查询各节点,如发现通信故障,则报警。

结束语

为了测试本系统的通信能力及抗干扰性,我们将通信线路置于强干扰环境中,经连续测试实验,在500m传输距离、2Mbps传输速率下,完全可以保证数据传输的可靠性。

本系统用新一代的现场总线控制系统FCS(Field Bus Control System)代替传统的集散控制系统DCS(Distributed Conutrol System),实现了现场通信网络与控制系统的集成。由于采用CAN总线,支持多主机方式,具有非破坏性的错误界定。CAN没有定义物理层的驱动器、接收器特性,便于用户根据具体需要对发送媒体和总线的电平进行定义,使网络功能十分灵活。通过软件的编写,可以完成十分强大的功能,并可以进行扩展,这对于检测站功能的进一步完善及其他控制工作的完成,有着十分重要的意义。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top