|
|
摘要:设计了一种利用ARM微处理器进行设备状态监测的方案,并对方案的设计实现方法作了具体的论述,利用图形界面开发环境Qt/Embedded 2.3.7 编写了图形控制界面,并通过网络进行实时数据传输。
ARM具备体积小、接口丰富、高度集成性和扩展性强等优点,加之随着Linux在服务器领域和桌面系统获得的成功,Linux 以其良好的移植性能、优秀的网络功能、对各种文件系统完备的支持、具有软件代码小、高度自动化、响应速度快、特别适合于要求实时和多任务的体系等特点[1]在嵌入式系统中获得了越来越广泛的应用。这使得基于ARM的嵌入式监测系统具有成本低、功耗低、实时性能好及智能程度高等优点,在工业监测与控制领域具有较为广阔的应用前景[2]。本文设计了基于ARM的嵌入式监测系统。
1系统总体设计
一个嵌入式监测系统,其基本目的控制硬件设备采集信号,并对信号进行一定的分析,其过程是获取设备的运行状态的模拟量信号,并且能够将这些模拟量转化为数字量输出。在此基础上,设计了基于ARM嵌入式监测系统。ARM微处理器的上选择基于ARM920T内核的S3C2410A芯片。
![]()
图2? 系统硬件框图
2.1程控抗混叠低通滤波器设计
传感器采集的的模拟信号中往往混有一些其它信号如噪声信号,因此在A/D转换之前对信号进行滤波是很有必要的,同时选择合适的滤波器还可以起到抗混叠的功能。本系统设计采用MAX263低通滤波器,MAX263是有源开关电容滤波器,其中心频率,Q值和工作模式可通过引脚编程设置,其硬件连接电路如图3.
![]()
图4? TLC2543与S3C2410的连接图
数据采集时,首先向AD转换器发送要采集的通道号,AD转换器读取对应通道的数据,并将数据传递给S3C2410A,实现数据的采集,其流程如图5。
![]()
图6 监测系统主界面
4数据传输
ARM与上位机的数据的实时传输采用基于TCP/IP的socket网络传输[5]。本文设计的通讯系统的软件在结构上采用客户端/服务器模式,它具有编程简单、容易控制、使用方便灵活等特点。
服务器端与客户端程序设计流程如图7
![]()
图7 Socket网络传输数据流程图
1 打开Socket 描述符、建立绑定
sockfd=socket(AF_INET,SOCK_STREAM, 0);??? //建立Socket
bind(sockfd, (struct sockaddr *)&my_addr,sizeof(struct sockaddr);? //绑定端口
2 建立连接
connect(sockfd,(struct sockaddr *)&remote_addr,sizeof(struct sockaddr) ;
//发起连接
在服务器程序中, 当Socket 与某一端口绑定以后, 就需要*该端口
listen(sockfd,8);????????? //*连接
当客户请求与服务器*的端口连接时, 该连接请求等待服务器接收它。随后服务器程序调用accept( ) 函数为该请求建立一个连接。
3 数据的发送和接收
send(sockfd, buff ,1024,0);?? //向服务器发送数据
recv(client_fd,buff,1024,0);? //接收服务器发送的数据
4 关闭Socket
结束语
本文介绍了一种采用ARM的设计实现适用于振动信号采集及分析的设备监测系统,使用S3C2410作为主控芯片,设计了低通滤波电路和A/D电路,并采用人机控制界面,采用Socket网络编程实时将采集信号传输到计算机,传输数据不易丢失,不失真,起到了良好的设备状态监测作用。(刘胜玉 *)
|
|