(交通信息工程及控制专业论文)基于嵌入式Web的CAN总线通信的研究.pdf_第1页
(交通信息工程及控制专业论文)基于嵌入式Web的CAN总线通信的研究.pdf_第2页
(交通信息工程及控制专业论文)基于嵌入式Web的CAN总线通信的研究.pdf_第3页
(交通信息工程及控制专业论文)基于嵌入式Web的CAN总线通信的研究.pdf_第4页
(交通信息工程及控制专业论文)基于嵌入式Web的CAN总线通信的研究.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(交通信息工程及控制专业论文)基于嵌入式Web的CAN总线通信的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京航空航天大学硕士学位论文 i 摘 要 随着企业生产自动化程度不断提高,现场总线技术在工业生产中得到十分 广泛的应用;与此同时,以太网技术在企业信息化过程中扮演越来越重要的角 色。随着企业信息化程度进一步提高,实现企业信息网与现场总线网络互联具 有非常重要的现实意义和推广价值,并且已经成为当前研究的一大热点。 企业信息网络标准单一,以以太网为主。但现场总线标准种类繁多。本文 在认真分析当前国内总线技术发展现状的基础上, 选择了 can 总线, 通过 dallas 半导体公司的 tini 平台实现了信息网络与控制网络的互联,并在此基础上提出 一种底层控制网络与上层网络动态交互的方法:利用在嵌入式平台上构建动态 web 页面实现对 can 网络中各控制器的监控。 本文主要讨论了硬件平台的选型、软件设计思路和实现方法。硬件平台, 选用了基于 ds80c400 网络微控制器的评估板,它集成了 can 控制器和以太网控 制器。软件设计上采用了 tini 平台,结合 java servlets 技术实现嵌入式 web 服务器。详细阐述了 can 控制器的初始化、can 数据帧的发送与接收、交互式网 页等程序的设计与开发过程。最后,完成程序的装载与服务器的运行调试。 关键词:关键词:嵌入式 internet,can,tcp/ip,tini,tynamo web 服务器,servlet 基于嵌入式 web 的 can 总线通信的研究 ii abstract as the automation degree of the corporation becomes higher, field bus technique was widespread availability in industrial process;at the meantime, ethernet technique play a more and more important role during the corporation informational process. along with the informational degree of the corporation increasing, the related research have very important actual means and extension value to carry out that the corporation information becoming a intranet interconnects with the field bus, and already large investigation hotspot now. corporation information intranet has singularity standard, take ethernet as main block. but field bus has a great variety of standards. based on analyzed the present status of the field bus technic seriously, in this article we choose can bus. the connection between information network and controlling network is realized by tini platform of dallas company. in this basic, we also present a way to connect the information between bottom controlling network and upper network:using construct a dynamic web page on embedded platform to monitor the field data in can bus. in this paper, the choice of hardware platform and the design and realize method of the software are discussed. about hardware platform,evaluation board based on microcontroller ds80c400 was chosen, it integrate a can controller and an ethernet controller.about software platform,the tini platform was chosen,with javaservlets,it realise the embedded web server. specifically introduced the design and development of can controller initialization,sending and receiving can data frame, dynamic web page and so on. at last, finish the loading of programme , running of web server and debugging. keywords: embedded system, tcp/ip, tini, tynamo web server, servlet 南京航空航天大学硕士学位论文 v 图表清单 图 2.1 can 总线的分层结构 . 7 图 2.2 总线有效长度和传输速率关系. 7 图 2.3 can 总线数据帧结构 . 8 图 2.4 can 总线通讯过程 . 9 图 2.5 tcp/ip 协议的四个层 . 10 图 2.6 通过路由器连接两个网络. 11 图 2.7 协议转换数据封装. 12 图 2.8 系统网络结构图. 13 图 3.1 ds80c400 硬件评估板 . 15 图 3.2 ds80c400 系统总体框图 . 16 图 3.3 外部存储器连接图. 18 图 3.4 can 控制器内部结构图 . 19 图 3.5 sn65hvd230 引脚排列 . 20 图 3.6 can 总线位的数值表示 . 21 图 3.7 sn65hvd230 和 ds80c400 的连接电路 . 22 图 4.1 数据流与功能模块示意图. 24 图 4.2 javakit 启动截图 . 26 图 4.3 典型的嵌入式 web 服务器系统模型. 28 图 4.4 can 总线的位时间 . 31 图 4.5 运行于服务器的 servlet . 36 图 4.6 处理请求的 httpservlet 类. 37 图 4.7 页面连接方式. 37 图 4.8 can 数据输入界面 . 38 图 4.9 transmitservlet 程序流程图 . 39 图 4.10 数据拆分转换流程图. 40 图 4.11 can 数据显示界面 . 42 图 4.12 receiveservlet 程序流程图 . 42 图 4.13 从 tini 的 telnet 中运行 tynamo 服务器. 48 基于嵌入式 web 的 can 总线通信的研究 vi 表 2.1 开放式互联参考模型. 5 表 3.1 ds80c400 片内 rom 地址分配 . 17 表 3.2 外部存储器地址分配. 18 表 3.3 sn65hvd230 引脚功能 . 20 表 3.4 sn65hvd230 工作模式 . 21 表 3.5 sn65hvd230 逻辑控制方式 . 22 表 4.1 m 包中的 can 类 . 31 表 4.2 servlet 与 cgi 比较 . 35 承诺书 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独 立进行研究工作所取得的成果。 尽我所知, 除文中已经注明引用的内 容外, 本学位论文的研究成果不包含任何他人享有著作权的内容。 对 本论文所涉及的研究工作做出贡献的其他个人和集体, 均已在文中以 明确方式标明。 本人授权南京航空航天大学可以有权保留送交论文的复印件, 允许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或其他复制手段保存论文。 (保密的学位论文在解密后适用本承诺书) 作者签名: 日 期: 南京航空航天大学硕士学位论文 1 第一章 绪论 1.1 课题背景及研究意义 目前,现场总线 1技术在工业控制、智能楼宇、大型装备仪器等领域得到了 十分广泛的应用,极大的推动了生产的发展,现场总线技术己经成为当前应用 和研究的一个热点。现场总线是应用在生产现场、在微机化测量控制设备之间 实现双向串行多节点数字通信的系统,也被称为开放式、数字化、多点通信的 底层控制网络。该技术是 20 世纪 80 年代中期发展起来的,随着微处理器与计 算机功能的不断增强和价格的急剧下降,计算机与计算机网络系统得到迅速发 展,而处于生产过程底层的测控自动化系统,采用一对一的联机方式,用电压、 电流的模拟信号进行测量控制,或采用自封闭式的集散系统,难以实现设备之 间以及系统与外界之间的信息交换,使自动化系统成为“信息孤岛” 。要实现整 个企业的信息集成,要实施综合自动化,就必须设计出一种能在工业现场环境 运行的、性能可靠、造价低廉的通讯系统,形成工厂底层网络,完成现场自动 化设备之间的多点数字通讯,实现底层现场设备之间以及生产现场与外界的信 息交换。现场总线就是在这种实际需求的驱动下应运而生的。它作为过程自动 化、制造自动化、楼宇、交通等领域现场智能设备之间的互连通信网络,沟通 了生产过程现场控制设备之间及其与更高控制管理网络之间的联系,为彻底打 破自动化系统的信息孤岛创造了条件。 现场总线也是工业控制与计算机网络两者的边缘产品。从纯理论的角度看, 它应属于网络的范畴。但是,现有的网络技术不能完全适应工业现场控制的需 求。无论是从网络的结构、协议、实时性、还有适应性、可靠性等,工业控制 的底层都有它自身的特殊性。按照国际电工委员会 iec/sc65c 的定义,现场总 线是指安装在制造或过程区域的现场装置之间、以及现场装置与控制室内的自 动控制装置之间的数字式、串行和多点通信的数据总线。以现场总线为基础而 发展起来的全数字控制系统称作现场控制系统(fcs)。 由于现场总线技术不是孤立的,而是与工业控制设备密不可分的,因而各设 备制造商各自推行自己的总线标准,不同厂商所提供的设备之间的通信标准不 统一,这又严重束缚了工厂底层网络的发展。从用户到设备制造商都强烈要求 基于嵌入式 web 的 can 总线通信的研究 2 形成统一的标准,促成开放式网络,把不同厂商提供的自动化设备互联为系统, 因而开放系统、统一标准成了现场总线技术发展的方向。经过各个厂商长期的 协商,市场上主流的总线技术开始逐渐开放,并且脱离设备制造商而独立发展, 国际电工委员会(iec)于 2000 年 1 月 4 日公布了 iec61158 现场总线标准,容纳 了 8 种互不兼容的控制层协议,另外还有三种设备级现场总线标准,统称为 iec “8+3”种总线标准。在国内比较流行的主要有以下几种:ff(foundation fieldbus,基金会现场总线)、lonworks(local operation network,局域操作 网络、profibus(process field bus,过程现场总线)、can(control area network,控制局域网络)和 hart(highway addressable remote transducer, 可寻址远程传感器数据通路)等。 在众多总线标准中, can 总线具有突出的可靠性、 实时性和完全开放的结构, 因而在很多领域中得到了广泛的应用。can 是一种多主总线,通信介质可以是双 绞线、同轴电缆或光导纤维,通信速率可达 1mbps,是一种高性能的现场总线。 can 是 80 年代初,由世界上最大的汽车配件制造商德国 bosch 公司提出的一种 串行数据通讯标准,用于实现现代汽车中众多的控制与检测部件之间的数据通 信。在设计之初考虑到汽车恶劣的工作环境和对可靠性、实时性很高的要求, can 总线具有很强的抗干扰、错误检测和处理能力,可以重发失败的数据包。因 而 can 总线最大的特点就是具有很高的实时性、可靠性和抗干扰能力。它采用 了国际标准化组织的开放系统互联(iso-osi)模型中 7 层中的 3 层,是 osi 的一 种简化网络结构。1993 年 11 月,正式颁布了 can 的国际标准 is011898。由于 其突出的性能,因此,can 己经在汽车工业、航空工业、工业控制、安全防护等 领域中得到了广泛应用。 can 作为现场设备级的通信总线,和其他总线相比,具有很高的可靠性和性 能价格比,其总线规范己经成为国际标准,被公认为现场总线家族中最具希望 的总线技术之一。目前,can 接口芯片的生产厂家众多,协议开放,价格低廉, 且使用简单,可以预计,can 总线将成为今后众多领域的发展方向。 与此同时,以 internet 为代表的计算机网络技术在近几十年间也得到了飞 速的发展,网络普及程度大大提高,互联网己经成为人们日常工作和生活的一 个重要组成部分。这为企业信息化提供了很好的契机,计算机网络在提高企业 各个部门协同工作的效率,减少运作成本等方面具有很大的优势,这己经成为 人们的共识。现场总线作为现场的设备级网络,它与 internet 为代表的计算机 南京航空航天大学硕士学位论文 3 网络无论从上层协议、电气接口都互不兼容,因而使企业信息网络和工业现场 的底层网络隔离开来,信息网络无法直接采集、监控工业生产现场的大量数据 信息,因而如何将企业信息网络和工业控制网络互连起来倍受企业的关注。 在工业控制中的一个重要应用是实现对远程现场设备的状态监控。借助 internet 网络的低成本接入技术 2,构建具有更高性价比的监控自动化系统, 方便地在各类嵌入式应用中实现远距离操作、监视、控制和维护。 本课题所研究的基于嵌入式web的can总线控制器就是基于这种需求而开展 的,研究目标是实现互联网与 can 总线之间的信息互连,信息交互采用嵌入式 web 服务器的方式,以此为接口实现两种异构网络之间的互联。 1.2 国内外发展现状 关于以太网到 can 总线之间网络互联的技术己经有一些实际应用,世界上 很多大型工控设备制造商都提出了自己的方案,有的厂商也有商用的产品。以 太网到 can 总线之间的信息交互按照结构上的不同可以分为两种:一种是通过 can 卡+工控机+网卡的方式实现;另一种就是通过嵌入式系统实现 can/ethernet 信息网关。第一种方案应用在己有工控机的场合,如工控机厂商研样、凌华都 提供多种 can 控制卡,并有类似应用的方案。第二种方法是由嵌入式系统实现, 功能实现有针对性,性价比、可靠性、安全性高。目前己经有多家公司研制出 了自己的产品。他们采用的技术和方案各有千秋,下面简要介绍一下主要的几 家公司的产品: emware公司针对8/16位的单片机提出了emit (embedded-micro-interface-technology)技术,即采用桌面计算机或高性能的 嵌入式处理器作为网关,称为 emgateway,上面支持 tcp/ip 协议并运行 http 服 务程序,形成一个用户可以通过网络浏览器进行远程访问的服务器。emgateway 通过 rs-232,rs-485,can、红外、射频等总线实现多个嵌入式设备互联,每个嵌 入式设备的应用程序中包含一个独立的通信任务,称为 emmicro,监测嵌入式设 备中预先定义的各个变量,并将结果反馈到 emgateway 中;同时 emmicr 还可以 解释 emgateway 的命令,修改设备中的变量,或进行某种控制。增加到嵌入式 系统中的 emmiero 代码长度一般在 1-8kbytes 左右,不会影响 mcu 的正常运作。 这样仅通过增加了一个 emgateway 网关,就解决了嵌入式设备上 internet 的问 基于嵌入式 web 的 can 总线通信的研究 4 题。 惠普公司应用 ieee1451.2 标准, 生产的嵌入式以太网控制器具有 10-baser 以太网接口,运行 ftp/http/tcp/ip 协议,应用于传感器、驱动器等现场设备。 edvice 公司的代表产品为用于以太网的带 smartstack 的 analog sp2185smart stack/ad1218x 芯片组,smartstack 是一种嵌入式软件解决方案, 它在单个 dsp 上同时完成 mac 层和 ip。它不需要额外的网关和用户码。dsp 还 可用来执行其它开发者规定的功能。它仅需要标准的快闪存储器和标准现成的 phy 元件来将 dsp 与 rj45 连接器连接。 开发者可以选择简单地将 smartstack 技 术集成到他们自己的硬件解决方案的芯片组。它可以借助一种运行于 dsp 的简 单的、类似 at 的命令集与其应用接口。 在国内,中国单片机公共实验室(bol)在嵌入式微控制器 internet 技术 (emit)的基础上也实现了嵌入式设备的 internet 网络化。 从现在发展趋势看,随着微电子和嵌入式系统的发展,性能优良的 16 位和 32 位处理器为核心的嵌入式控制系统正在取代微机成为现场总线与以太网互联 的主流产品。 1.3 论文的安排 本课题基于将 can 总线与上层网络结合的思想,以现场总线与 internet 的 集成方法为研究对象,并针对 can 总线,结合嵌入式 web 技术,设计并实现了 can 总线远程监控系统。本文的内容安排如下: 第一章:绪论。主要介绍了课题产生的背景、课题研究的意义等。 第二章:网络协议与系统结构。主要介绍了基于 can 总线的协议,基于 internet 的 tcp/ip 协议,两种协议的转换思路,最后给出了系统的网络结构。 第三章:基于 ds80c400 的硬件开发平台。主要介绍了系统硬件平台的选择, 主要芯片的特性和电路原理,硬件系统的整体实现方案。 第四章:嵌入式 web 服务器的软件实现。对如何通过嵌入式 web 服务器实现 can 总线与 internet 的互联进行了详细说明。主要介绍了软件开发工具 tini sdk、操作系统的加载及网络的配置、嵌入式 web 服务器 tynamo、can 数据帧的 处理、交互式网页的实现等,最后给出了程序的编译、加载及运行的方法。 第五章:结论与和进一步工作。 南京航空航天大学硕士学位论文 5 第二章 协议与网络结构 can 总线与 internet 网属于异种网络,它们的通信协议不同。can 总线使 用它自己的通信协议,而 internet 网使用的是 tcp/ip 协议。因此,要实现它 们之间的互联,首先要了解各自的协议。本章分别介绍了 can 总线和 tcp/ip 协 议,给出了协议转换思路,最后是整个系统的网络结构。 2.1 开放式互联参考模型 osi(open system interconnect)开放式系统互联 9。一般都叫 osi 参考 模型,是 iso(国际标准化组织)组织在 1985 年研究的网络互联模型。最早网 络刚刚出现的时候,很多大型的公司都拥有了网络技术,公司内部计算机可以 相互连接。但却不能与其它公司连接。因为没有一个统一的规范。计算机之间 相互传输的信息对方不能理解,所以不能互联。iso 为了使网络应用更为普及, 就推出了 osi 参考模型。其含义就是推荐所有公司使用这个规范来控制网络。 这样所有公司都有相同的规范,就能互联了。其内容如下: 上三层总称应用层,用来控制软件方面。下四层总称数据流层,用来管理硬 表 2.1 开放式互联参考模型 层数 名称 作用 第 7 层 应用层 直接对应用程序提供服务,应用程序可以变化,但要包括电子消息传输。 第 6 层 表示层 格式化数据,以便为应用程序提供通用接口。这可以包括加密服务。 第 5 层 会话层 在两个节点之间建立端连接。此服务包括建立连接是以全双工还是以半双工 的方式进行设置,尽管可以在第 4 层中处理双工方式。 第 4 层 传输层 常规数据递送,面向连接或无连接。包括全双工或半双工、流控制和错误恢 复服务。 第 3 层 网络层 本层通过寻址来建立两个节点之间的连接,它包括通过互连网络来路由和中 继数据。 第 2 层 数据链路层 在此层将数据分帧,并处理流控制。本层指定拓扑结构并提供硬件寻址。 第 1 层 物理层 原始比特流的传输,电子信号传输和硬件接口数据发送时,从第七层传到第 一层,接受方则相反。 基于嵌入式 web 的 can 总线通信的研究 6 件。在传输层的数据叫段,网络层叫包,数据链路层叫帧,物理层叫比特流。 2.2 控制局域网 can(controller area net) 2.2.1 can总线概述 can(controller area network)即控制器局域网 8,是国际上应用最广泛的 现场总线之一。can 总线最初是由德国的 bosch 公司为机动车监测、控制系统而 设计的,用于机动车内部测量与执行部件之间的数据通信。目前,作为一种技 术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,can 总线的 应用范围已不再局限于机动车行业,而向过程工业、机械工业、机器人、数据 机床、医疗器械及传感器等领域发展,从高速的网络到低价位的多路接线都可 以使用 can 总线。can 总线已被公认为几种最有前途的现场总线之一。 2.2.2 can总线特点 can 总线是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。 通信速率可达 1mbps。can 总线通信接口中集成了 can 协议的物理层和数据链路 层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余 检验、优先级判别等项工作。 can 协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据 块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制, 数据块的标识码可由 11 位或 29 位二进制数组成,这种按数据块编码的方式, 还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有 用。数据段长度最多为 8 个字节,可满足通常工业领域中控制命令、工作状态 及测试数据的一般要求。同时,8 个字节不会占用总线时间过长,从而保证了通 信的实时性。can 协议采用 crc 检验并可提供相应的错误处理功能,保证了数据 通信的可靠性。 另外,can 总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的 串行总线以及广播通信的特点。 can 总线上任意节点可在任意时刻主动地向网络 上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。can 总线 协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价 比高,特别适用于分布式测控系统之间的数据通讯。 南京航空航天大学硕士学位论文 7 2.2.3 can总线的分层结构 can 总线的分层结构遵循 iso/osi 标准模型,它分为数据链路层(包括媒体 访问控制子层 mac(media access control)和逻辑链路控制子层 llc(logical link control)和物理层,在 can 技术规范中,数据链路层的 llc 和 mac 子层 的服务和功能被描述为“目标层”和“传送层” 。can 的分层结构和功能如图 2.1 所示。 1、物理层 物理层完成电气连接、实现驱动器、接收器特性、定时、同步、位编码、 解码等功能。can 能够使 用多种物理介质,例如双 绞线、光纤等,最常用的 就是双绞线。can 系统内 两个任意节点之间的最大 传输距离与其位速率有 关,can 总线有效长度和 传输速率的关系如图 2.2 所示。 2、数据链路层 媒体访问控制子层 mac(media access control):mac 子层是 can 协议的 核心,它描述了由 llc 子层接收到的报文和对 llc 子层发送的认可报文。它可 响应报文帧、仲裁、错误检测和标定。mac 子层由称为故障界定的一个管理实体 图 2.1 can 总线的分层结构 图 2.2 总线有效长度和传输速率关系 基于嵌入式 web 的 can 总线通信的研究 8 监控,具有识别故障的自检机制。 逻辑链路控制子层 llc(logical link control):llc 子层的主要功能是 是报文滤波、超载通知和恢复管理。 2.2.4 can总线数据帧格式 can 总线有两种不同的帧格式,不同之处为标识符域的长度不同:含有 11 位标识符的帧称之为标准帧,而含有 29 位标识符的帧为扩展帧。 can 系统中数据在节点间发送和接收四种不同类型的帧。 数据帧将数据由发 送器传至接收器;远程帧由节点发送,以请求发送具有相同标识符的数据帧, 出错帧可由任何节点发送,以检测总线错误,而超载帧用于提供先前和后续数 据帧或远程帧之间的附加延时。这里只介绍与课题有关的 mac 数据帧结构。一 个 mac 数据帧由七个不同位场构成,如图 2.3 所示,它们是: 帧起始(sof-start of frame)、仲裁场、控制场(两位保留位dlc 场) 、 数据场、crc 场、ack 场和帧结束(eof-end of frame)。 (1)帧起始:标志数据帧和远程帧的起始,它由单个“显性”位构成。只有 当总线为空闲状态时,才允许节点开始发送,所有节点必须同步于首先开始发 送的帧起始引起的上升沿。 (2)仲裁场:仲裁场由 llc 子层的标识符和 rtr(remote transmission request bit,远程发送请求位)位构成,在 mac 数据帧中,rtr 位数值为“0” 。 (3)控制场:控制场由 6 位构成,包括数据长度码和两个保留位,这两个保 留位必须发送显性位。 (4)数据场:mac 数据场与 llc 数据场格式相同。 (5)crc(cycle redundancy code)场:crc 场包括 crc 序列以及 crc 界定符。 为实现 crc 计算,被除的多项式被定义为这样一个多项式:其系数由帧起始、仲 裁场、控制场、数据场和 15 位最低系数为 0 组成的无填充的位流给定。将此多 项式除以下列多项式发生器(系数按模 2 计算): 帧间空间数据帧 帧起始 仲裁场 控制场数据场 帧间空间数据帧 帧起始 仲裁场 控制场数据场crc场 应答域 帧结束 帧间空间 或过载帧 场 应答域 帧结束 帧间空间 或过载帧 图 2.3 can 总线数据帧结构 南京航空航天大学硕士学位论文 9 1514108743 1xxxxxxx+ (2.1) 余数即为发至 can 总线的 crc 序列。 (6)ack场(应答域):ack场由ack隙(应答间隙)和ack界定符组成。发送节点 发送两个“隐性”位。在ack隙期间,接收到匹配数据帧的节点,以“显性”位 改写发送器的“隐性”位作为ack应答。 (7)帧结束:帧结束场由7个“隐性”位构成。 2.2.5 can总线的通信过程 can 总线采用半双工通信方式,完整的数据通信包括发送过程和接收过程, 可以按照图 2.4 所示的 can 总线的两个节点之间的通讯来解释发送和接收过程。 (1)发送过程:can 总线数据的发送是由 can 总线控制器自动完成的。首 先按照应用层定义好的应用层协议生成数据,向下传递给数据链路层进行封装, 检查 can 总线是否开放,在总线开放后再把数据包传递到物理层,物理层按照 接口规范,通过编码电路完成发送数据的位编码,通过传输介质发送到 can 总 线上完成发送过程。can 总线控制器控制 can 总线的数据发送。有查询发送和中 断发送两种途径,同时提供放弃发送的功能。 (2)接收过程:can 总线数据的接收也是由 can 总线控制器自动完成的。 can 接收节点的总线控制器会通过物理层时刻监视总线上的数据, 当有数据在总 线上传输时,总线控制器会自动接收,将数据进行解码后向上传递到数据链路 层,数据链路层对数据进行串并转换,如果接收到的数据通过了正确性检查和 验收滤波器检查,会被写入 can 总线控制器的接收缓存区等待应用层程序访问, 图 2.4 can 总线通信过程 基于嵌入式 web 的 can 总线通信的研究 10 否则丢弃。 2.3 tcp/ip 协议 2.3.1 tcp/ip协议概述 tcp/ip 是一个协议族 10,是一组不同层次上的多个协议的组合。tcp/ip 这 种标准网络协议通常被认为是一个四层协议系统:数据链路层、网络层、传输 层、应用层,如图 2.5 所示。每一层负责不同的功能。 1、应用层 负责处理特定的应用程序细 节。在 tcp/ip 协议中,一般都会 提供以下的应用程序。telnet 远 程登陆、ftp 文件传输协议、smtp 简单邮件传输协议等。 2、传输层 主要为两台主机上的应用程序提供端到端的通信。 传输协议的选择根据数据 传输方式而定,分别有两个传输协议,即传输控制协议 tcp 和用户数据报协议 udp。tcp 是一种高可靠性的数据通信协议,而 udp 是一种非可靠性的数据通信 协议。 3、网络层 也称为互联网层。处理分组在网络中的活动,例如分组的选路。在 tcp/ip 协议族中,网络层协议包括 ip 协议(网际协议)、arp(地址解析协议)、icmp 协 议(internet 互联网控制报文协议)以及 igmp 协议(internet 组管理协议)。 4、网络接口层 网络接口层也称为数据链路层。通常包括操作系统中的设备驱动程序和计 算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理 接口细节。 应该注意的是,应用程序通常是一个用户进程,而下三层则一般在操作系 统中执行。 互联网就是一组通过相同协议族互联在一起的网络。构造互联网的方法有 两种:路由器和网桥。tcp/ip 协议倾向于使用路由器而不是网桥对网络进行互 图 2.5 tcp/ip 协议的四个层 应用层 传输层 网络层 链路层 http、ftp、telnet、e-mail 等 tcp 和 udp ip、icmp 和 igmp 设备驱动程序及接口卡 南京航空航天大学硕士学位论文 11 连。图 2.6 就是一个用路由器连接以太网和令牌环网的实例。 这里有两个概念:端系统(两边的两台主机)和中间系统(中间的路由器)。 应用层和传输层使用端到端协议,因此只有端系统需要这两层协议;而网络层 使用的是逐跳协议,两个端系统和每个中间系统都需要它。 图 2.6 通过路由器连接两个网络 2.3.2 网络层 ip协议 网络层协议包括网际协议 ip 14、internet 控制报文协议 icmp 和 internet 组管理协议 igmp。ip 协议处理分组的选路。ip 提供数据报服务,产生协议头、 进行数据封装,tcp 和 udp 的数据都通过终端系统和中间路由器中的 ip 层在互 联网中进行通信。ip 通常将较大的数据进行分片,而目的主机的 ip 负责将这些 包重新组合。由于不同的包可能是由不同的路径传送,ip 协议还负责将包按正 确的顺序重新组合。ip 不负责包的校验,是无连接、不可靠传输,不能保证 ip 数据报成功地到达目的地。 2.3.3 传输层 tcp协议 传输层为两台主机上的应用程序提供端到端的数据通信, 该层有两个互不相 同的传输协议:tcp(传输控制协议)和 udp(用户数据报协议)。tcp 提供端到端的 ie 客户 tcp ip web 服务器 tcp ip 令牌环 以太网 http 协议 tcp 协议 ip 协议 ip 协议 以太网协议 以太网驱 动程序 令牌环协议 令牌环驱 动程序 路由器 ip 令牌环驱 动程序 以太网驱 动程序 基于嵌入式 web 的 can 总线通信的研究 12 有质量保证的、可靠的数据传输,它把输入的字节流无差错地发往互联网上的 其他机器。负责把应用程序交给它的数据进行分组成合适的小块交给下面的网 络层,确认接收到的分组,进行流控制和设置发送最后确认分组的超时时钟等, 在使用 tcp 协议传输数据时,用户程序不需要考虑接收数据是否出错或数据包 到达顺序是否正确,而是由协议自动完成。tcp 属于“面向连接,可靠传输”的 类型,在数据传输的过程中需要进行确认以保证数据包的完整。数据的正确接 收是以降低数据传输率为代价的,需要开销较大,虽然 tcp 使用不可靠的 ip 服 务,但它却提供一种可靠的传输层服务。两个应用程序通过 tcp 连接交换字节 流,tcp 不在字节流中插入标识符,对字节流的内容不作任何解释,具体解释由 连接双方的应用层程序完成。 2.4 协议转换思路 can 总线规范只定义了 osi 模型中的数据链路层和物理层, 进行协议转换的 基本思路就是: (1)接收 can 总线上的数据帧,并提取数据场的数据; (2)通过 tcp/ip 协议栈将数据打包封装; (3)通过 web 服务器向 internet 发布。 由现场测控设备发送数据给监控计算机的数据处理设计思路如图 2.7 所示。 从图可以看出,将 can 总线数据帧中的数据提取出来,并根据 tcp/ip 协议 对数据进行封装,便可以实现 can 总线与 internet 网的互联。 图 2.7 协议转换数据封装 南京航空航天大学硕士学位论文 13 2.5 嵌入式 web 服务器的网络结构 这种系统的特点是,通信建立在 tcp/ip 协议和现场总线的混合通信协议之 上,通过嵌入式 web 服务器 3实现 internet 网与现场总线的互连,以实现计算 机系统对现场仪表、设备的远程监测与控制。系统网络结构如图 2.8 所示。 从物理层面讲,嵌入式 web 服务器是连接 can 网络和 internet 网的桥梁。 从逻辑层面讲,它为 can 网络与 internet 网之间的通信提供协议转换。具体的 说,嵌入式系统对外提供的服务有两部分:对 can 总线的访问和提供 web 服务功 能。 一方面,通过嵌入式 web 服务器上的 servlet 程序获取底层现场数据,经过 数据处理后通过 web 服务器向 internet 发布。另一方面,服务器响应客户端浏 览器的连接请求,获取控制信息并由 servlet 程序将其发送到现场总线上。 由于嵌入式 web 服务器的存在,实现了底层信息直接送往 internet,能够 通过浏览器与现场嵌入式控制系统交互,这是一个典型的 b/s 结构。最重要的 构想是将 web 服务器置入嵌入式系统中,并通过 servlets 技术实现对底层设备 的监控,从而实现嵌入式 internet 的功能。 图 2.8 系统网络结构图 路由器 工作站 浏览器 internet can总线 嵌入式web服务器 以太网 基于嵌入式 web 的 can 总线通信的研究 14 第三章 基于 ds80c400 的硬件开发平台 硬件平台的选择关系到整个系统的实现。本课题的目标就是通过嵌入式 web 服务器实现 can 总线的通信。因此,选择硬件平台主要考虑对 web 服务器的支 持,以及对 can 通信的支持。本章详细介绍了硬件平台的选型以及主要模块的 性能指标。 3.1 硬件平台的选择 由于课题的目标是以 java 作为嵌入式设备的开发语言,实现 can 总线与 internet 网的互连,所以网络能力是选型时首先考虑的问题,如果自行开发协 议栈、web 服务器等不但使整个系统的开发周期长,而且难度较大,即使完成了 可靠性也难以保证。综合分析各厂商产品的性能和特点,结合课题的实际需要, 最后采用了美国 maxim 公司的基于网络微控制器 ds80c400 31的 tini(tiny internet interfaces-微型因特网接口)平台为开发平台,它集成了 can 控制 器和以太网控制器, 支持以太网和 java 运行环境。 此外, 它还支持含有 servlet 容器的 tynamo web 服务器,可运行服务器端的程序,实现 can 口的通信,生成 动态页面。 3.2 微小内网接口tini tini 是由美国 dallas 半导体公司(美国 maxim 公司的子公司)开发的一种 技术平台,tini 表示 tiny internet interface(微小内网接口)。技术上,tini 并不是 cpu 或电路板,而是由 cpu 和相关组件构成的平台。它为系统设计和软 件开发人员提供一种简单、灵活、经济的方法,来设计各种可以直接连接到网 络的硬件设备。该平台由一个小的但功能强大的芯片组和一个经过高度优化的 java 运行环境组成。 该平台的主要特点是可以方便地将传感器、制动器、自动控制设备等传统硬 件设备连接到网络中。评估板上丰富的 i/o 性能、tcp/ip 网络协议栈和 java 编 程环境,能够让编程人员快速地开发出用于本地控制和远程访问基于 tini 的应 用程序。 java 编程者可从其中获得一般的嵌入式开发中不多见的强大功能:多线程、 南京航空航天大学硕士学位论文 15 垃圾单元收集、继承性、虚拟化、跨平台能力、强大的网络支持,以及大量免 费的开发工具。 3.3 tini 的开发平台 开发一个嵌入式应用的最快捷径就是采用一个已搭建好的, 并且已经通过验 证的参考设计作为系统的硬件部分。dallas 半导体公司专门设计了一个硬件评 估板,它包括两部分,dstinim400 网络微控制器评估板和 dstinis400 插槽板评 估套件。如图 3.1 所示: 其中 dstinim400 网络微控制器评估板是实现 tini 平台的一个模块,而 dstinis400 插槽板评估套件是一个带组件和插槽的电路板,插槽使得电路与 dstinim400 模块之间的通信更方便。 该评估板可以作为 ds80c400 网络控制器的一个参考设计并提供完整的原理 图和元件列表。利用这个验证模块,软件开发可以基于一个经过验证的设计进 行,同时展开更为优化的硬件开发,这样可以从总体上缩短系统的开发周期。 所以本课题采用 ds80c400 评估板作为硬件开发平台。 3.4 tini 的硬件结构 tini 是基于以太网和 tcp/ip 协议的设备, 能将各种不具备连网能力的硬件 简易、灵活、低成本地实现连网。tini 开发平台由软、硬件两部分构成,硬件 部分提供处理、控制以及设备级的通信和连网能力;而软件部分则实现了 java 图 3.1 ds80c400 硬件评估板 基于嵌入式 web 的 can 总线通信的研究 16 的编程运行环境,为系统设计者和用户提供了一系列 java

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论