现在,车辆的控制向高精度、高安全性发展,汽车行业正走向智能化、网络化。在此过程中,汽车网络起着重要的作用,CAN总线和LIN总线就是重要的汽车网络总线。
但是,在汽车逐渐发展成为一个信息终端时,却存在着网络体系结构滞后的情况,在互联网络普遍采用B/S(浏览器/服务器模式)三层网络结构的同时www.cechina.cn,车载网络还处在简单的C/S(客户端/服务器模式)两层网络结构的阶段,针对汽车网络标准不统一、接口混乱、管理困难、网络体系滞后的状况,可以引入当前互联网络中广泛使用的标记语言(ML Markup language)和B/S网络结构,标记语言是一种跨平台的信息交换方式,在汽车网络中采用标记语言,可以解决不同智能节点之间标准不统一,接口不同和跨层信息交换的问题,B/S网络结构可以很好地解决网络结点信息处理能力不足的状况,把大部分的信息处理通过网络提交到处理能力强大的主设备,甚至通过互联网络连接到大型主机,从而设备仅仅需要通过浏览器软件解析主机处理的结果。
但是目前使用标记语言和B/S网络结构最大的问题是缺乏针对车载网络的嵌入式浏览器系统。通用的嵌入式浏览器使用HTML语言作为信息的载体,
嵌入式浏览器总体设计
根据汽车网络自身的特点、车载网络浏览器的特殊要求,以及模块内高内聚和模块间低耦合的要求,将车载网络浏览器的设计和实现划分5个模块,分别为扩展标记语言模块、网络接入和信息缓存模块、标记语音解析模块、布局模块、用户界面模块。
扩展标记语言模块主要根据车载网络的特点,在保持与HTML语言兼容性的同时,使用XML技术对HTML语言进行扩展,定义一种基于车载网络的标记语言EXML,扩展标记语言模块以模块的方式定义,网络接口与缓冲模块主要用于同时连接汽车局域网络和互联网络,以获取汽车实时信息和广泛的互联网信息,文档解析模块是在基于车载网络的嵌入式浏览器中使用的标记语言,有两种,分别为HTML和EXML,其中包括HTML语言的基本标签,因此,在语言解析模块中使用同一个解析器,对两种标记语言进行解析,并将解析的结果存在内存中,文档布局模块主要用于确定每个页面元素的大小,页面元素分为文本、图像和图形两类,其中图像和图像的大小可以直接获取,文本的大小则受标签和属性的影响,用户界面显示模块的作用是显示用户界面,其中包括:工作区、标题栏、标签栏、实时标签显示区等,他们之间的管理如图1所示。
基于车载网络的嵌入式浏览器的模块设计
网络接口设计
网络结构模块分为两部分,即互联网络接口与实时网络接口。
互联网络接口主要负责互联网络接入功能。首先是通过网络协议建立到服务器的连接,然后向服务器发送请求,服务器确认请求,并负责把浏览器请求的文件通过网络协议传送给浏览器,具体的过程如图2所示。
车载局域网络接口主要实现浏览器对汽车实时信息的获取,浏览器和汽车网络节点通信的方式有两种:应答式通信和被动式通信。
在应答式通信过程中,车载网络嵌入式浏览器节点发送获取某项参数的请求,网络节点根据请求以EXML消息的形式发送实时信息CONTROL ENGINEERING China版权所有,浏览器收到信息后通过解析模块解析,更新数据并刷新显示。
在被动方式下,网络节点按一定的时间周期发送包含实时信息的EXML消息,浏览器侦听网络节点发送来得信息,一旦有新消息传来,浏览器就通知解析模块更新数据,并刷新显示。EXML消息的格式如下:
<msg><信息类别>参数值<\信息类别><msg>
解析模块的设计
文档解析模块是整个系统的基础模块,在基于车载网络的嵌入式浏览器中,我们根据车载网络的应用实践将HTML语言进行扩展,形成了EXML语言。EXML语言是XML语言在车载网络系统中的一个应用,所以对EXML语言的解析可以使用标准的XML语言解析技术,XML的解析方式又有两种:基于事件驱动的解析方式(SAX方式)和基于树的解析方式(DOM方式)。SAX技术在响应事件的同时对标记文本进行处理,并不保存中间数据结构,DOM解析方式采用的是基于树木的解析方式,并数使用XML Schema验证,这种方式在解析完XML文档后生成一个文档树,应用程序可以遍历、搜索、编辑该文档树。
在实际的车载网络中,嵌入式浏览器不仅仅需要对静态的超文本信息进行浏览,还需要把下层节点发来的数据进行实时处理、显示和保存。这就需要在