




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于CAN总线与以太网的嵌入式网关设计随着以太网技术等的进一步发展和完善,特别是通信速率的提高和交互技术的应用,使得以太网技术应用于现场控制领域成为可能,这对工业控制网络产生了新的影响。但已有的现场总线不可能完全被工业以太网替代,所以将现场总线与以太网结合,从而实现底层生产与上层管理的紧密集成,已经已经成为一种趋势。CAN作为国际上应用最广泛的现场总线之一,在我国也得到了广泛的应用,所以本设计以CAN总线作为工业现场总线,实现其与以太网的互联。1.系统总体概述1.1以太网以太网采用带冲突检测的载波监听多路访问协议(CSMA/CD),传输介质为同轴电缆。如今,以太网已经成为局域网中的主导网络技术,而且随着吉比特以太网的出现,以太网正在向城域网大步迈进。CSMA/CD载波帧听多路访问/冲突检测,是IEEE802.3解决信道竞争的方法。一站点要传送数据时,它首先监听信道,如果信道忙,则等待直至信道空闲再发数据。由于同时可能有多个站点帧听到信道空闲发出数据,可能发生冲突,CSMA/CD在发送数据的同时,进行冲突检测,一旦发现冲突,立刻停止发送,并等待冲突平息,再进行CSMA/CD,直到将数据成功地发送完毕。以太网帧是变长的,其长度从64字节到1518个字节不等,具体的帧结构如下图1.1所示:图1.1以太网作为当今应用最广的局域网技术,具有性价比高、灵活性和互操作性强等特点。目前,以太网也已经广泛的应用到了工业控制当中,其优点在于:1.传输速率较高,工作可靠,便于维护和故障恢复,为高速信息传输提供了物理基础;2.结构简单、灵活、便于扩充,易于实现,成本低。3.基于TCP/IP的以太网是一种标准的开放式网络,不同厂商的设备很容易互联。4.以太网能便捷地访问远程系统,共享/访问多数据库。5.易于与Internet连接,能够在任何城市、地方利用电话线通过Internet对企业进行监控。6.以太网能实现办公自动化网络与工业控制网络的有机结合。1.2CAN总线CAN总线(ControllerAreaNetwork)即控制器局域网,是国际上应用最广泛的现场总线之一。CAN总线是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。因此在汽车、制造业以及航空工业中受到了广泛应用。图1.2.1CAN2.0协议的分层模型如右图1.2.1所示:分别对应于OSI参考模型的物理层、数据链路层和应用层。图1.2.2CAN标准帧信息为11个字节,包括两部分:信息和数据部分。前3个字节为信息部分。CAN标准帧格式如图1.2.2所示。CAN总线与其他总线相比有如下特点:1. 它是一种多主总线,每个节点机均可成为主机,节点机之间也可进行通信;2.通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1Mbps;3.CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理;4.CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码;5.数据段长度最多为8个字节,可满足通常工业领域中控制命令,工作状态及测试数据的一般要求。同时不会占用总线时间过长,从而保证了通信的实时性;6.CAN协议采用CRC检验并提供相应的错误处理功能,保证了通信的可靠性。1.3 CAN总线与以太网连接以太网上运行TCP/IP协议,它具有应用层、传输层、网络层、以太网数据链路层和物理层;CAN总线具有应用层、数据链路层和物理层,其中应用层由用户自己定义,数据链路层和物理层由CAN协议所定义。CAN总线与以太网的不同,从数据流来看则表现在数据帧的结构不同。因此,协议转换的主要内容就是对数据帧结构进行转换。因此需要中间网关对一方发送的数据帧进行接收、处理和再封装然后发送到另一方,即封装-拆封-再封装这个过程。CAN总线与以太网网络互连模型如图1.3.1。网关CAN控制模块的数据链路层协议可以从CAN总线发送来的数据帧中解析出CAN总线应用报文,然后发送到以太网控制模块,由以太网传输层和网络层协议对CAN总线应用报文进行TCP/IP封装,最后通过以太网数据链路层协议将数据打包成帧并发送到以太网上。图1.3.1协议转换模型如图1.3.2所示。当以太网数据发送至网关,网关与以太网对应的数据链路层首先取出IP分组部分,然后将IP分组转入其上一层网络层中,网络层再将IP分组中取出TCP报文段或UDP数据报将其转入运输层,运输层取出应用报文,并将所剩应用报文转发给与CAN总线对应的网关中的数据链路层,之后经数据链路层对应用报文进行封装成CAN帧,最后发送到CAN总线上,反过来CAN总线向以太网发送数据也是同样的原理。图1.3.22.网关的硬件设计CAN总线属于总线式串行通信网络,只包括对应ISO/OSI参考模型的最低两层,即数据链路层和物理层,具有可靠性、实时性和灵活性等优点。所以本设计采用高档的32位微处理器构建网关,运行TCP/IP协议,通过网关上的CAN接口与总线上的现场设备相连,经协议转换,通过标准RJ45接口接入以太网。方法来实现CAN总线接入以太网。系统硬件实现框图如图2所示。图2本网关具备有以下功能:1. 提供RS-232接口及CAN接口,实现网关与CAN网络的互联。2. 提供以太网接口,使网关与以太网相连。3. 提供大容量的Flash ROM和SDRAM,有足够的程序空间和数据空间。4. 高可靠性和高抗干扰能力,确保网关在复杂环境下稳定运行。2.1 S3C2410基本系统本系统使用S3C2410作为系统控制核心,它是韩国三星公司生产的以16/32位的RISC ARM920T为内核的一种网络微控制器,提供10 Mbs100 Mbs以太网的连接,独立的分组地址空问管理模式方便了扩展设计,非常适用于系统控制及通信领域,使系统具有很强的升级扩展能力。S3C2410基本系统以S3C2410为核心,配置2片K4S561632C-TC75并联构建32位的SDRAM存储系统,可满足嵌入式操作系统及各种相对较复杂的算法的运行要求。Flash也采用四片,一片为AM29LV800BB-90EC,另三片为E28F128J3A150,,可以用来存放系统启动代码、内核和应用程序等数据。2.2 电源电路电源电路为12V到5V、3.3V、1.8V的DC/DC变换器,给S3C2410、SDRAM和Flash等需要3.3V供电的器件供电。2.3 RS-232接口电路RS-232接口电路用于接入网关在调试过程中与上位机进行通信,采用RS-232通信所需要专门的电平转换芯片,本设计采用的是Maxim公司的MAX232。2.4 CAN总线接口电路组成CAN系统的主要器件是CAN控制器和收发器。本网关的CAN总线接口采用的是CAN总线控制器MCP2515和CAN总线收发器PCA82C250来实现的。MCP2515是一个独立的CAN控制器,它是Microchip公司的MCP25XX系列产品,支持CAN2.0B协议。MCP2515通过SPI接口与S3C2410连接,主要完成CAN的通信通信协议,实现报文的装配和拆分、接收信息的过滤和校验等。PCA82C250是CAN总线控制器与物理总线之间的接口,主要用于增强系统的驱动能力。2.5 以太网接口电路由于S3C2410内部没有集成以太网控制器,因此本设计中用CS8900来作为以太网控制器,CS8900A是CIRRUS LOGIC公司生产的低功耗、性能优越的16位以太网控制器,功能强大。该芯片的突出特点是使用灵活,其物理层接口、数据传输模式和工作模式等都能根据需要而动态调整,通过内部寄存器的设置来适应不同的应用环境。 通过该接口,网关可以10M或100Mbps的速率接入以太网。网关电路主要采用嵌入式微处理器、内存芯片、CAN微控制器和收发器、以太网控制器和收发器等连接组成。风网监控网关控制器S3C2410经地址、数据总线以及片选和相应的读写信号线与存储器芯片相连,实现CAN总线数据以及以太网信号的相互转化。具体主要由MCP2515控制器经SPI接口与处理器S3C2410相连;以太网控制器与处理器通过数据、地址总线以及控制信号相连。CAN模块主要是将CAN总线的数据通过收发器接收后,然后通过MCP2515控制器将收到的数据送给处理器,其中CAN控制器有单独的晶振,这样主控制器就可以对这些传来的数据进行处理,进而通过协议转换程序转换为以太网信号。煤矿井下所有的传感器和控制单元拥有独立的地址,可以远程访问和控制任何微处理器,基于开放的TCP/IP协议,便于网络互通。3.网关的软件设计本网关的软件设计主要包括板级支持包括软件环境的建立、CAN网络链路层驱动模块设计、协议转换模块设计、系统实时性程序实现和系统调度模块实现。3.1 软件环境的建立本网关主要应用于CAN总线接入工业以太网的场合,对其稳定性和实时性要求很高,因此,本系统选择嵌入式实时操作系统Linux。3.2 CAN网络链路层驱动模块设计在嵌入式Linux操作系统下使用CAN,由于系统中未带CAN控制器的驱动程序,因此需要设计Linux上的CAN驱动程序,操作系统的作用之一就是向用户掩盖硬件的特殊性。Linux主要支持三种硬件设备:字符、块、网络设备,而本设计中的MCP2515控制器是属于字符型设备,因此要开发基于字符型设备的驱动程序。如图3.2,系统中CAN总线的数据和接收是两个不同的线程,在驱动程序中建立数据发送和接收缓冲区,中断处理程序只负责发送或者读取缓冲区中的数据,然后唤醒等待接收或者发送数据的任务。数据的发送和接收都通过独立的缓冲区由中断来实现,操作系统的中断响应时间是决定CAN总线数据的最快收发速度。图3.23.3 协议转换模块设计实现CAN与internet的信息交互,主要是处理好总线协议和以太网协议的转换即CAN数据和网络数据的重组和转发。基本原理如图3.3.1:当CAN设备发来数据时,CAN控制器产生中断,此时网关的系统调度模块将调用CAN接收程序,接收到CAN设备传来的数据后,UDP发送程序将缓冲器区B中的数据包按照以太网帧的格式自动打包并进行各层封装,发送到以太网相应主机。主机上的设备驱动程序将应用程序要求发送的CAN数据转换为网络数据包,发送到以太网上,网关的UDP接收控制程序接收到经以太网传来的数据后,在调度控制模块的解析下提取数据包中的CAN数据信息,放到缓冲区A中,而后CAN发送程序将重组后的CAN数据帧通过控制器和收发器发送到CAN总线上。图3.3.1网关协议转换程序框图如图3.3.2和图3.3.3。以太网数据包转CAN数据包的程序如下:首先CPU对CAN控制器和网络控制器进行初始化,当有数据传送过来时,处理器对数据报进行分析,如果是IP数据报则分解出IP报文,否则就丢弃继续检测网络端数据的到来。接着如果该IP报文的目的地址匹配还有传输层使用的是UDP协议,则拆分此报文,分解出UDP报文,否则丢弃。如果报文的目的端口匹配,分解出其中的CAN报文,再将CAN报文按CAN总线通信协议重新组成帧,将数据部分通过CAN收发器发送出去。CAN数据包转以太网数据包的程序是上述过程的反向实现。图3.3.2图3.3.33.4 系统实时性程序实现为了更好满足数据的实时性,所以借助时分CAN总线方案来解决由于总线仲裁带来的时延问题。将网关作为时间的主节点,用此来发布参考帧完成对总线上节点的同步,从而在不同的时间窗口里选定一个待发送的节点将该节点采集的的传感器信息在本节点自己允许的时窗里传送数据帧。如果在自由窗口中,由于优先队列仲裁导致的迟发导致的延迟,可以在下个基本周期里通过改变自身的优先级来发送。3.5 系统调度模块设计系统在复位或者首次执行的应用程序时,网关模块首先调用一些初始化程序。初始化完成后进入到程序的主循环,如果有以太网帧被接收,则按照要求判断报文的类型,将报文接收解出报文中包含的CAN信息,然后调度程序将调用CAN设备的驱动直接将CAN信息发送到对应ID号的设备中;反过来就是调度程序在检测到CAN总线网络上有数据帧时直接调用CAN接收和UDP报文发送模块即可。4.总结以太网通讯快速,距离远,数据量大。而现场总线本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- output-10-造纸工艺工程师(涂布)岗位面试问题及答案
- 电诈防范知识培训课件
- 高速车道基础知识培训课件
- 电解池工作原理
- 电芯电池基础知识培训
- 电脑钉钉直播显示课件
- 湖南省岳阳市汨罗市第一中学2025-2026学年高二上学期开学考试物理试卷
- 建设项目环境影响评价服务合同
- rap考试题及答案
- pcr考试试题及答案
- 2025四川德阳经济技术开发区管理委员会考核招聘事业单位人员3人笔试备考试题及答案解析
- 2025至2030中国课外辅导行业发展研究与产业战略规划分析评估报告
- 纪念西路军课件
- 一年级书法教学设计方案
- 小朋友个人卫生课件
- 校园食堂安全知识培训课件
- 四川省2024年高等职业教育单独招生考试中职类语文试题及答案
- 《幼儿园中班第一学期家长会》 PPT课件
- 硅钢片的BH曲线数据
- 新人教版五年级上册数学教材分析(课堂PPT)
- 胸痹护理常规
评论
0/150
提交评论