基于ARM9的中央空调网络集中控制器研究
扫描二维码
随时随地手机看文章
以往我国的中央空调控制系统主要采用以单片机为控制核心的单机组控制器,即一个控制器只能控制一台中央空调机组,这种控制方法控制简单,但是在多层或者较大型的建筑中控制能力就显得力不从心了。近年来也出现了采用ARM7 处理器作为控制芯片的集中控制器,但是在此所采用的ARM9 处理器比ARM7 处理器又有了许多优点,如ARM9 处理器采用5 级流水线,在每一个时钟周期内可以同时执行5 条指令,这样就大大提高了处理性能,在同样的加工工艺下,ARM9处理器的时钟频率是ARM7 的1. 8 ~ 2. 2 倍; 又如ARM9 采用哈佛结构,具有分离的数据和程序空间及分离的访问总线,所以在指令执行时哈佛结构的取址和取数可以并行,因此具有更高的执行效率; 再如拥有内存管理单元( MMU ) ,只有拥有了MMU 才能真正实现内存保护,通过内存保护,一个进程的失败并不会影响其他进程的运行,从而增强了系统的稳定性。另外,ARM9 可以内嵌Linux 操作系统,Linux 具有良好的网络支持功能; Linux 是首先实现TCP/ IP 协议栈的操作系统,它的内核结构在网络方面是非常完整的,并提供了对包括十兆位、百兆位及千兆位的以太网,还有无线网络等的支持; 其次,Linux 源码开放、可定制内核、性能优异等也是选择它相对于其他嵌入式操作系统的优势。
在此设计的网络集中控制器可与监控软件一起完成基于TCP/ IP 协议的网络通信功能,并能通过RS 485总线与自行设计的现场控制器进行通信。
1 控制器设计方案
网络管理器的主要功能一方面是通过以太网与监控软件进行数据交换; 另一方面是通过RS 485 总线网络与分布在大厦各处的现场控制器通信。网络管理器对现场控制器进行控制和管理,在现场控制器与中央操作站之间起数据缓存作用。
1. 1 控制器硬件设计
处理器采用A TMEL 公司的AT91RM9200,该处理器是AT MEL 专门针对工业及以太网应用领域推出的基于ARM920T 内核的新型微处理器,如图1 所示。
( 1) 电源电路。主要作用是为控制器提供3. 3 V和1. 8 V 的稳定电压。设计时利用LM1117 低压差线性调压器来提供3. 3 V 和1. 8 V 的电压。LM1117 能够提供1. 8 V,2. 5 V,2. 85 V,3. 3 V,5 V 的固定电压和可调电压型号,并能提供电流限制和热保护。
图1 网络集中控制器硬件模块示意图
( 2) 复位电路。主要完成系统的上电复位和系统在运行时用户的按键复位功能,它由简单的RC 电路构成,这种电路比较通用,其复位逻辑是可靠的。
( 3) 存储器系统设计。包括Nor Flash 接口、NandFLASH 接口和SDRAM 接口电路的设计。
①Nor FLASH 存储器内部存放系统启动代码、Linux 内核和用户程序等,存储器芯片采用AT49BV322A,单片存储容量为32 Mb,工作电压为2. 65~ 3. 6 V,数据宽度为16 b,并以16 b( 字模式) 数据宽度的方式工作。
②SDRAM 存储器作为程序的运行空间,如前所述,SDRAM 的存储单元可以理解为一个电容,总是倾向于放电,为避免数据丢失,必须定时刷新( 充电) 。由此可见,要在系统中使用SDRAM,就要求微处理器具有刷新控制逻辑,或在系统中另外加入刷新控制逻辑电路。本控制器采用的控制芯片具有用SDRAM 刷新控的制逻辑,可以直接与SDRAM 接口连接。SDRAM 存储器芯片采用HY57V281620HG,单片存储容量为4 组! 32 Mb,工作电压为3. 3 V,数据宽度为16 b。本控制器采用2 片16 b 数据宽度的HY57V281620HG 并联为32 b数据宽度的SDRAM 存储系统。
③Nand FLASH 作为系统的数据存储器,芯片采用K9F1208U OM YIB0,存储容量为64 MB,数据总线宽度为8 位,工作电压为2. 7~ 3. 6 V。为了提高控制芯片的驱动能力,在这部分设计中加入了74HC245 总线驱动器,74HC245 提供双向总线驱动,主要使用在数据的双向缓冲。
( 4) 串行接口电路。本控制器对控制芯片提供的4 个串口中3 个设计接口电路。一个串口用于软件调试与系统开发,另一个作为预留串口,可以在需要时与PC 机进行通信。另外,还需要设计RS 485 串行通信接口电路,用于与现场控制器的通信。
电平转换芯片采用常用的MAX 232; RS 485 电平转换芯片采用MAX 485。
( 5) 网络接口电路。AT91RM9200 内嵌入了10 Mb/ s/ 100 Mb/ s 自适应的以太网MAC 控制器,但是这还不能直接用来进行以太网通信,片外还需要扩展以太网的物理层接口( PHY) ,这样才能够实现高速的以太网通讯。物理层接口芯片选用DM9161。
另外,设计中还用到了网络隔离变压器,它的主要作用是传输数据,还有一个作用是隔离网线连接中不同网络设备间的不同电平,以防止不同电压通过网线传输损坏设备。[!--empirenews.page--]
1. 2 控制器应用程序开发
控制器软件部分的开发主要是在裁剪好的Linux内核和驱动程序的基础上开发适应本系统的串口应用程序和服务器应用程序。
Linux 操作系统下串口应用程序的开发步骤为: 打开串口; 设置串口属性; 读写串口; 关闭串口。要分别编写发送程序和接收程序,以便于发送和接收数据时可以分别调用两个函数。程序中需要注意接收和发送程序中的buf fer 一定不要小于要接收数据的长度,否则接收或者发送的数据就会出错。
服务器应用程序是将网络集中控制器作为服务器端来编写程序,使其能与作为客户端的监控软件通过以太网通信。服务器程序的开发步骤为: 生成套接口; 绑定套接口地址; *连接请求; 接收连接请求; 与客户程序进行通信; 关闭套接口。
由于网络集中控制器在与监控软件通信时是作为服务器来运行的,因此需要使网络控制器开机自运行,并等待监控软件( 即客户端) 发送请求。那么设计时就需要让该服务器程序一开机就自动运行,等待与客户端的连接与通信。为此,设计中将服务器程序放在Linux的开机自启动程序中,这样就可以保证服务器程序的开机运行了。服务器程序和其中的通信过程流程图分别如图2、图3 所示。
图2 服务器程序流程图
图3 通信过程流程图
1. 3 控制器LCD 开发
网络集中控制器作为用户操作的主要对象,人机界面需要有很好的友好性。当不使用监控软件,或者无法使用监控软件来观察数据时,网络控制器可以使用液晶屏作为数据显示界面。
LCD 液晶显示模块的主要核心元件是LCD 控制器和LCD 显示器。LCD 液晶显示器选用了640× 480的液晶屏,在LCD 控制器方面选用了EPSON 公司的S1D13506。[!--empirenews.page--]
开发内容包括LCD 的接口设计、LCD 的驱动设计、MiniGU I 的移植、实时数据显示开发。
最终的显示界面如图4 所示。
图4 实时数据显示界面
2 实验结果
本网络集中控制器配以自行开发的监控软件和现场控制器,进行了网络通信实验和RS 485 通信实验来测试系统的功能。网络通信实验是使网络集中控制器和PC 机都在同一局域网内,分别为其设置合法的IP地址后,将监控软件发送给网络集中控制器的指令在secureCRT 上打印出来。RS 485 通信实验是将网络集中控制器和现场控制器通过RS 485 网络相连,将现场控制器收到指令后发送给网络集中控制器的信息在secur eCRT 上打印出来。图5 和图6 为打印出来的测试结果。通过实验证明,本控制器的软硬件设计是合理的。
图5 网络通信实验截图
图6 RS485 通信实验截图
3 结 语
在此提出了基于ARM9 处理器和Linux 操作系统的中央空调网络集中控制器设计方案。给出了控制器的硬件设计和控制器应用程序开发和LCD 开发,系统硬件结构的设计采用了模块化设计方式,在硬件的选型和结构设计的稳定性、可靠性方面做了一定深入的研究。通过实验证明,该控制器处理能力强,便于外扩存储器,由于内嵌了Linux 操作系统,使网络功能强大。
基于ARM7 的中央空调网络集中控制器能够大大提高中央空调的使用效率,节约了能源,并且能够显着提高中央空调控制人员的工作效率。