实现以太网与CAN总线

上传人:新** 文档编号:564962844 上传时间:2023-01-15 格式:DOCX 页数:10 大小:198.11KB
返回 下载 相关 举报
实现以太网与CAN总线_第1页
第1页 / 共10页
实现以太网与CAN总线_第2页
第2页 / 共10页
实现以太网与CAN总线_第3页
第3页 / 共10页
实现以太网与CAN总线_第4页
第4页 / 共10页
实现以太网与CAN总线_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《实现以太网与CAN总线》由会员分享,可在线阅读,更多相关《实现以太网与CAN总线(10页珍藏版)》请在金锄头文库上搜索。

1、随着Internet的普及,实现智能家居远程控制不再是人们的梦想,所谓 远程控制,是指管理人员在异地通过计算机网络异地拨号或双方都接入Internet 等手段,联通需被控制的计算机,将被控计算机的桌面环境显示到自己的计算机 上,通过本地计算机对远方计算机进行配置、软件安装程序、修改等工作。远程 唤醒(WOL ),即通过局域网络实现远程开机。CAN是控制器局域网络(Controller Area Network, CAN )的简称,是由研发和生产产品着称的德 国BOSCH公司开发了的,并最终成为国际标准(ISO118 ?8)。是国际上应用 最广泛的现场总线之一。在北美和西欧,CAN总线协议已经成

2、为汽车计算机控 制系统和嵌入式局域网的标准总线,并且拥有以CAN为底层协议专为大型货车 和重工机械车辆设计的J1939协议。近年来,其所具有的高可靠性和良好的错 误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁 辐射强和振动大的工业环境。CAN与以太网采用的,为计算机网络中进行数据 交换而建立的规则、标准或约定的集合。例如,网络中一个微机用户和一个大型 主机的操作员进行通信,由于这两个数据终端所用字符集不同,因此操作员所输 入的命令彼此不认识。为了能进行通信,规定每个终端都要将各自字符集中的字 符先变换为标准字符集的字符后,才进入网络传送,到达目的终端之后,再变换 为该终

3、端字符集的字符。当然,对于不相容终端,除了需变换字符集字符外。其 他特性,如显示格式、行长、行数、屏幕滚动方式等也需作相应的变换。1网关的硬件设计1.1系统硬件结构该系统的硬件部分主要由ARM、以太网接口、CAN接口、高速存储器、JTAG 口、复位电路和电源等组成,其系统硬件结构如图1所示。ARM移植TCP /IP通信协议和CAN协议,可完成以太网协议和CAN总线协议转换,实现以 太网接口和CAN接口通信数据的透明传输。以太网(Ethernet脂的是由Xerox 公司创建并由Xerox、Intel和DEC公司联合开发的基带局域网规范,是当今现 有局域网采用的最通用的通信协议标准。以太网络使用C

4、SMA/CD(载波监听多 路访问及冲突检测)技术,并以10M/S的速率运行在多种类型的电缆上。以太 网与IEEE8023系列标准相类似。1.2主控制器的选择选用Philips公司ARM7TDMI内核的32位LPC2294 ,与一般单片机相 比,LPC2294可嵌入操作系统。LPC2294内嵌256 KB的高速FLASH存储器 和16 KB的静态RAM,多个外部中断和串行口 , LPC2294内部还集成了 CAN 控制器,只要加上CAN总线收发器就可以构成CAN节点,从而大大简化了硬 件电路。微处理器用一片或少数几片大规模组成的中央处理器。这些电路执行控 制部件和算术逻辑部件的功能。微处理器与传

5、统的中央处理器相比具有体积小, 重量轻和容易模块化等优点。微处理器的基本组成部分有:寄存器堆、运算器、 时序控制电路,以及数据和地址总线。微处理器能完成取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,是微型计算机的运算控制部分。它可 与存储器和外围组成微型计算机。自从人类1947年发明晶体管以来,50多年 间半导体技术经历了硅晶体管、集成电路、超大规模集成电路、甚大规模集成电 路等几代,发展速度之快是其他产业所没有的。半导体技术对整个社会产生了广 泛的影响,因此被称为“产业的种子”。中央处理器是指计算机内部对数据进行 处理并对处理过程进行控制的部件,伴随着大规模集成电路技术的迅速发

6、展,芯 片集成密度越来越高,CPU可以集成在一个半导体芯片上。1.3系统电源电路和复位电路在该设计中,需要使用5 V,3.3 V和1.8 V的直流稳压电源。其中,5 V 电源由LM317L三端可调稳压器产生;3.3 V和l_8 V电源由可调节输出电压的 SPXIII7产生。系统复位电路的可靠性对整个系统的稳定起着非常重要的作用。 在复位电路中采用了电压监控芯片TPS383K33,它是10 ms或200。ms可选 的上电复位发生器,具有防按键抖动的手动复位输入功能,允许组成多个Ic的 菊花链电压监控等。复位电路如图2所示。图2中,nRST连接到LPC2294的 复位脚RESET ; nTRST接

7、以太网控制器ENC28J60的复位引脚。图? 家蜒基位电路1.4 CAN总线接口CAN总线接口由LPC2294和CAN总线收发器等构成。这里采用带隔离 的高速cAN收发器CTMI050T,其主要功能是将CAN控制器的逻辑电平转换 为CAN总线的差分电平,并且具有(DC2500V )隔离功能、ESD保护功能及 TVS管防总线过压功能,其内带隔离器,可减少外部相关电路的设计。CAN总 线接口电路如图3所示。CAN总线通过CAN收发器接口芯片82C250的两个 输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或 悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会在出现在R

8、S-485 网络中的现象,即当系统有错误,出现多节点同时向总线发送数据时,导致总线 呈现短路,从而损坏某些节点的现象。而且CAN节点在错误严重的情况下具有 自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象 在网络中,因个别节点出现问题,使得总线处于“死锁”状态。而且,CAN具 有的完善的通信协议可由CAN控制器芯片及其接口芯片来实现,从而大大降低 系统开发难度縮短了开发周期,这些是仅有电气协议的RS-485所无法比拟的。I图3 CAN总釵接口电踣1.5以太网接口P2:lLPC22MmrrSODS2P2.22SIOAXATLI XATL2EIN 11LINT!SOI Sil

9、RDITO ISiCKJCSIai so _st_RXD1 砥-CT闭咖T s30 pFL 陥在系统设计中,采用ENC28J60作为网络接口芯片。ENC28J60是美国微芯科技公司推出的28引脚独立以太网控制器内置以太网物理层器件(PHY) 及介质访问控制器(MAC),可按以太网协议可靠地收发信息包数据。另外,它 还具有可编程8 KB双端口 SRAM缓冲器,数据传输速率高达10 Mb/s。ENC28J60具有多种集成功能,如CRC校验、可编程过滤、可自动评价、接收或拒收多种信息包、数据滤波等功能,能高效率地进行信息包的存储、检索和修 改,可减轻主控的内存负荷。ENC28J60采用标准的SPI串

10、行接口,只需4条连 线即可实现与微处理器相连,而且它只有28个引脚,可以大大简化相关设计, 减小空间。网络插座采用RJ45插座HR911102A,其内置网络变压器、状态显 示灯和电阻网络,具有信号耦合电气隔离、阻抗匹配、抑制干扰等特点,可提高 系统抗干扰能力和收发的稳定性。以太网接口电路如图4所示。图4中ENC28J60 的 2 个中断引脚 INT 和 WOL 分别接 LPC2294 的 EINTI , EINT2 ; ENC28J60 的 SPI脚 SO ,SI,SCK,CS 分别接 LPC2294 的脚 MISO1,MISll,SCKl,CSl, 2个专用的引脚(LEDA丄EDB)用于连接

11、HR911102A的LEDG,LEDY,进行 网络活动状态指示。1.6外扩存储器接口由于LPC2294内部只有16 KB的RAM,不能满足以太网数据存储的空 间要求,该设计扩展了 256 KB的外部存储器,选用RAMTRON公司的存储器 芯片FM25256。FM25256是采用先进的铁电技术制造的非易失性存储器,具 有比其他非易失性存储器高得多的读写操作次数,可以承受超过一万亿次的读写 操作。存储器接口电路如图5所示。图 5 中 FM25256 的SPI脚 SO SI SCK,CS分别与 LPC2294 的 MISOO , MISIO, SCK0 , CS2脚相连。写保护引脚 WP与LPC22

12、94的P2.21相连。 FM25256主要用来存储以太网数据。2网关软件设计网关的软件设计采用MC/OS-H,它具有较小的内核结构,开发成本小, 执行效率高,移植也容易。初始化文件通过JTAG下载到网关并保存在FLASH 中。2.1 CAN通信软件设计该设计的关键是编写CAN驱动程序,主程序通过调用CAN驱动程序实 现接口数据的收发,驱动程序包括CAN控制器的初始化、接收数据、发送数据 和总线异常处理。211 CAN控制器的初始化初始化操作包括硬件使能CAN、软件复位、设备报警界限、设置总线波 特率、设置中断工作方式、设置CAN验收过滤器工作方式、设置控制器的工作 模式和启动CAN等。LPC2

13、294片内外设与引脚的连接由引脚连接模块控制。 CAN控制器的硬件使能就是通过软件设备GPIO寄存器来控制多路开关,将特 定的引脚与CAN控制器连接起来。212据的接收与发送LPC2294的每个CAN控制器中有3个发送缓冲区,发送数据时先查询CANSR寄存器是否空闲,若空闲才能写入数据,然后判断报文的类型,根据报 文类型调用相应的发送函数,即对数据进行封装并写入发送缓冲区,最后调用发 送命令。为了提高效率,接收数据采用中断方式,首先在CANopen的初始化程 序中要使能接收中断,当有中断发生,读取CANICR寄存器,判断接收中断标 志是否置位。2.1.3异常处理在总线发生严重故障的情况下,CA

14、N节点脱离总线,此时下述寄存器位 被置位为CANSR的BS位、CANIR的BEI位和EI位(如果使能)和CAN-MOD 的RM位。RM将许多CAN控制器功能复位和禁止。软件下一步必须置零RM 位。发送错误计数器将递减计数总线释放条件(11个连续的隐性位)的第128 个错误。2.2以太网通信软件设计221 ENC28J60的初始化LPC2294。对ENC28J60的各种操作均通过SPI接口进行,包括寄存器 的设置、数据的发送和接收。LPC2294的SPI工作在主动方式,即ENC28J60 的SPI时钟信号由LPC2294提供。222 TCP/IP协议该设计采用嵌入式系统中广泛应用的LwIP协议栈

15、。LwIP TCP /IP实现的特点是在保持协议主要功能的基础上减少对RAM的占用,这使协议栈LwIP适合在低端嵌入式系统中使用。LwIP协议栈应用到的协议有ARP ,IP,IcMP,TCP,UDP,其具有滑动窗口、拥塞控制和接收分片的分组功能。在LwIP中可 以有多个网络接口,每个网络接口都对应一个strut netif()。netif包含了相 应网络接口的属性、收发函数。采取调用netif的方法netifTnpln()及netif output ()进行以太网packet的收、发等操作。2.3 以太网/CAN双向协议转换整个设计中最为关键的就是CAN协议与TCP/IP协议的相互转换。协议

16、转换流程图如图6所示。HCAN細其具体过程如下:当网关接收到数据,首先判断数据类型,如果是从CAN接口接收CAN协议报文,便分离出数据部分,再将报文数据部分按系统规定的 应用层格式进行封装,然后将应用层数据存入以太网接口发送缓冲区,由该接口 在数据前面依次添加TCP或UDP头、IP头、以太帧头,最后封装成以太帧后, 通过以太网接口发往以太网。若接收到的以太网数据,数据转换过程相反,依次 去掉IP头、TCP或UDP头和应用层头,再将应用层数据按CAN报文格式封装 好后存入CAN接口发送缓冲区,由CAN接口发往CAN网络中相应设备。若应 用层数据长度大于8 B,则还需将数据以8 B为一组进行拆分。3结语符合IEEE802.3协议的ENC28J6

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号