嵌入式系统中运行参数修改研究及其应用
扫描二维码
随时随地手机看文章
1、引言
以太网技术的广泛普及,因特网在工业、商业、传媒家庭、教育业等方面的广泛运用,使得基于以太网的系统得到了飞速发展,配置参数(黑名单、启动参数、运行参数等)及修改一直是嵌入式系统中的难题,传统的配置方法是将参数直接固化在程序中,修改时通过串口进行,在实际应用中很不方便。对于要经常改变参数的嵌入式系统,通过串口进行参数修改后再重新烧录程序,在仪器很多的情况下,技术人员的维护工作非常困难。
近来发展起来的方法是利用嵌入式Web Server和TCP/IP协议,技术人员可以通过CGI网页对嵌入式系统的参数进行浏览和修改,这种方法虽然有着良好的人机界面,使用起来也非常方便,但嵌入式Web Server 需要处理器有较强的数据处理能力,一般的MCU并不支持[1]。
在大量实践的基础上,本文详细阐述了嵌入式系统采用UDP协议来对参数进行配置修改的技术,较好的解决了嵌入式系统中参数修改问题。
2、系统原理
嵌入式系统一般由PC管理机和嵌入式终端组成。PC管理机主要对数据进行读写和管理。终端负责数据的采样并把数据传给PC机。系统结构如图1所示,终端和主机通过以太网相连,每个终端都有自己的机号和IP地址。因此,PC机不仅要对这些设备进行管理,还要进行数据通信。当终端收到PC机的命令和数据后,把数据存放在EEPROM的存储器里,然后更新系统参数。本文主要阐述系统的数据通信部分的具体实现,包括上位机和下位机的实现过程。
3、应用协议
3.1 UDP用户数据报协议
UDP是一个简单的面向数据报的传输层协议,应用程序进程的每个输出操作产生一个UDP数据报,并组装成待发送的IP数据报。UDP提供基本、低延时的传输。UDP数据报格式如图2所示[2][3]。
3.2应用数据帧封装格式
应用数据是以帧的格式封装在UDP数据里面的,它的帧格式是:帧开头(1字节)+数据长度(1字节)+机号(2字节)+命令(1字节)+数据+效验(1字节)+帧结尾(1字节)。帧以0x02开头,数据长度表示机号、命令和数据总的长度字节,效验是对前面数据和效验,帧结尾是0x03。
500)this.style.width=500;" border="0" />
4、程序实现
4.1上位机程序
上位机采用VC6.0进行程序设计,网络通信部分主要由套接字Socket完成,在UDP应用编程中,一般调用Socket的RecvFrom() 和SendTo()两个主要函数即可完成数据通信,其工作流程如图3所示。
500)this.style.width=500;" border="0" />
下面代码是解析下位机所返回信息。[!--empirenews.page--]
iRecv =Socket.ReceiveFrom(m_temp,sizeof(m_temp),
m_nip,uPort,0);
if (iRecv)
{ if(m_temp[4]==0x3e)
MessageBox("设置成功");
else if(m_temp[4]==0x3f)
MessageBox("设置失败");
else
MessageBox("通信错误");
iRecv=0;
}
4.2下位机程序
终端正确的接收完一帧数据后,根据命令来处理相应的事务。系统提供最基本的5个命令:0x50(设置系统参数),0x51(读取配置参数),0x43 (初始化EEPROM,0x3e (正确操作应答),0x3f(不正确操作应答),工作流如图4所示。
500)this.style.width=500;" border="0" />
5、在“家校通”中的具体应用
近年来,智能IC卡得到了广泛的应用,除了应用于信用卡、收费卡、保险卡、密钥卡等外,在学校也得到广泛使用,像校园“一卡通”,“家校通”到处随处可见。“家校通”是利用现代信息技术实现家庭与学校快捷、实时沟通的教育网络平台,是一套可以有效解决老师和家长之间沟通,帮助孩子健康成长的、集先进的计算机技术和网络技术于一体的信息交流系统。它可以让家长每天都能了解到自己孩子在学校的情况,也可以让家长随时随地的向老师提出建议或反映孩子在家里的表现。系统硬件主要采用网络型读卡机,它主要由主控MCU89C52、读卡模块RC500、8位LED和网络通组成。它不能单独工作,必须联网与PC机进行通信,图5是“家校通”典型拓扑图。
500)this.style.width=500;" border="0" />
5.1 “家校通”基本工作原理[!--empirenews.page--]
网络型读卡器是由网络通和读卡器组成,网络通有自己的IP地址,读卡器有自己的机号,通信服务器也有自己的IP地址和机号。
当读卡器有数据时,会通过网络通送到嵌入通信服务器,嵌入通信服务器收到数据后,提取网络通的地址和读卡器的机号,做成一个动态的IP地址和机号对应表。当PC机有数据给通信服务器时,提取数据中的机号,查找IP地址和机号对应表,然后按照查到IP地址发送数据给读卡器,这样完成了读卡器和PC机之间的通信。
5.2 “家校通”参数修改及其实现
为确保“家校通”系统的正常运行,系统要维护每个网络型读卡机的网络参数(IP地址)和黑名单,这些参数的维护工作既烦琐又必不可少,应用我们的研究成果,这些参数可以通过我们的研究成果快速方便进行。
图6所示的软件可以通过网络实现系统的参数在线更新,包括IP地址的设置和黑名单的更新,使得系统维护更方便灵活。
500)this.style.width=500;" border="0" />
6、结论
本文作者创新点采用UDP协议来对嵌入式系统中参数进行配置修改,在现实当中具有很大的意义,为嵌入式系统维护人员提供良好的应用程序接口,体现了系统的人性化程序设计和以人为本的思想。