CAN总线在中央空调控制系统中的应用
它提供了上位微机和CAN总线的接口,采用高性能的嵌入式微处理器80C188、CAN总线控制器82C200和CAN总线收发器82C250负责数据交换和通信处理。82C200是PHILIPS公司的产品,可完成物理层和数据链路层的所有功能。电子控制单元(ECU)的应用层由微处理器提供,82C200为其提供一个多用途的接口。双口RAM IDT7130作为PC机与CAN总线控制器的数据共享区,可提供两路相互独立的端口,每个端口均有各自的地址线、数据线和控制线,并且具有两套相互独立的中断逻辑来实现两个CPU之间的握手控制信号。通过软硬件设置将双口RAM映射成PC机的物理内存,使收发数据相当于直接向内存读写数据,从而提高了数据交换速率,并保证两个CPU同时对同一内存单元进行读写操作时数据的正确性。
此外,智能CAN总线通信适配卡还具有中断选择、主存基地址选择、LED指示系统状态及CAN收发状态等功能。系统工作时,上位机将控制命令经ISA总线发送至智能CAN总线通信适配卡,经驱动电路写入双口RAM,然后发出中断信号。CAN通信控制器82C200收到中断信号后,从双口RAM中取出数据,并以CAN总线协议标准,经输出驱动电路、光电隔离电路以及CAN总线收发器82C250发送至CAN总线,完成从上位机到单元控制器的数据交换。上位机接收数据的过程与发送命令的过程相似,但方向相反。
图3为单元控制器电路的原理框图。
图中,微处理器采用ATMEL公司生产的AT89C51单片机,CAN总线控制器选用SJA1000,CAN总线收发器仍选用82C250,控制CAN总线的数据交换。工作时,CAN总线控制器SJA1000从CAN总线接收上位机发出的命令和数据,以中断方式通知CPU89C51。CPU收到中断信号后,将SJA1000接收到的数据存入RAM中,并根据数据对I/O接口电路发出相应的命令,控制风机机组、加湿器等执行部件进行相应的操作。若上位机需要各单元状态信息,则CPU启动数据采集程序,控制I/O接口电路对各个检测点的数据进行巡回检测,并由CAN总线控制器发送至CAN总线,由上位机接收。I/O接口电路可提供8路数字量输入、8路数字量输出、16路模拟量输入及4路模拟量输出接口,用于接单元内各个检测点和控制点。
硬件看门狗电路X25045用于系统监控,防止程序跑飞,并提供512字节EEPROM来保护重要的系统控制参数,提高了单元控制器的抗干扰能力。
数字显示器可以显示风机的互回风温度、送风温度、回风湿度、变频器频率、风门开度、水阀开度、报警信号的类型及数量等系统状态信息。小键盘用于修改设置参数、改变显示类型,从而使单元控制器在脱离上位机的情况下仍然可以完成控制功能。
3 软件设计
系统软件由上位机管理软件和单元控制器控制软件组成。上位机管理软件是在Windows98操作平台上,利用Visual Basic6.0开发的,包括系统监控、通信管理、数据处理、控制命令、动态显示等模块,具有界面友好、显示直观、操作方便等优点。系统运行时,各检测点和控制点的位置以图形方式形象地显示在上位机显示器上,检测和控制数据在各自位置旁动态显示,操作者经简单培训即可对整个系统进行控制。单元控制器控制软件采用8051汇编语言编程,固化于89C51的EEPROM中,主要完成数据采集、数据通信、I/O接口控制、数字显示控制等功能。根据各个季节对室内温、湿度的不同要求,软件中预先设置了不同季节的控制参数,并可通过小键盘随时进行修改。实际运行时,温度控制精度达到±0.5℃,湿度控制精度达到±2%RH。
在中央空调控制系统上、下位机之间采用CAN总线进行通信,可大大提高系统工作的可靠性、实时性及扩展性,实现高精度的温度、湿度控制,具有广阔的推广应用前景。
评论