当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于ENC28J60的嵌入式以太网/CAN网关设计

摘 要:提出一种基于ARM7芯片LPC2294微处理器和以太网控制器ENC28J60的以太网/CAN网关设计方案,阐述以太网/CAN协议转换的硬件设计,以及相关接口通信软件设计。通过该网关可以实现CAN总线与基于IP/TCP协议的以太网之间的双向通信。
关键词:嵌入式网关;不起CAN总线;以太网;ARM


0 引 言
    随着Internet的普及,实现智能家居远程控制不再是人们的梦想,其完全成为可能,然而实现这个梦想需要花费高额代价,智能家居迄今仍不能普及,因此设计一款性价比好的家庭控制器很有必要。CAN总线采用非破坏仲裁技术,短帧结构和数据出错率极低,可以满足控制系统安全性、可靠性、快捷性的要求。目前以太网以成本低,通信速度快,兼容性和互操作性好,资源共享能力强等特点已成为目前最流行的因特网接入方案之一,因此采用CAN总线组建家庭内部网络,再通过网关与外部以太网相连实现对家居电器设备的远程控制,实现CAN网络与以太网的结合,已成为家居发展的趋势。CAN与以太网采用的网络协议,要确保两种网络之间高效无缝地连接网关是问题的关键。在此设计一种基于ENC28J60的高性能嵌入式以太网CAN网关


1 网关的硬件设计
1.1 系统硬件结构
    该系统的硬件部分主要由ARM、以太网接口、CAN接口、高速存储器、JTAG口、复位电路和电源等组成,其系统硬件结构如图1所示。ARM负责对以太网接口芯片和CAN接口芯片进行控制。ARM移植TCP/IP通信协议和CAN协议,可完成以太网协议和CAN总线协议转换,实现以太网接口和CAN接口通信数据的透明传输。JTAG口主要用来下载程序,进行系统仿真调试。键盘、LCD显示用来实现人机交换。

1.2 主控制器的选择
    微处理器选用PhiIips公司ARM7TDMI内核的32位微控制器LPC2294,与一般单片机相比,LPC2294可嵌入操作系统。LPC2294内嵌256 KB的高速FLASH存储器和16 KB的静态RAM,多个外部中断和串行口,LPC2294内部还集成了CAN控制器,只要加上CAN总线收发器就可以构成CAN节点,从而大大简化了硬件电路。同时,由于LPC2294具有多路CAN,因此还可以把系统设计成冗余结构,以提高系统的可靠性。LPC2294还支持JTAG实时仿真和跟踪,并具有128位宽度的存储器接口和独特的加速结构,它能够使32位代码在高达60 MHz的操作频率下运行。
1.3 系统电源电路和复位电路
    在该设计中,需要使用5 V,3.3 V和1.8 V的直流稳压电源。其中,5 V电源由LM317L三端可调稳压器产生;3.3 V和l_8 V电源由可调节输出电压的SPXlll7产生。系统复位电路的可靠性对整个系统的稳定起着非常重要的作用。在复位电路中采用了电压监控芯片TPS383K33,它是10 ms或200。ms可选的上电复位发生器,具有防按键抖动的手动复位输入功能,允许组成多个Ic的菊花链电压监控等。复位电路如图2所示。图2中,nRST连接到LPC2294的复位脚RESET;nTRST接以太网控制器ENC28J60的复位引脚。当复位开关SW按下时,TPS383K33输出复位信号,引脚REST输出低电平,导致两路74HCl25(三态门负逻辑控制)导通,信号nRST和nTRST输出低电平使系统复位。在系统正常运行情况下,TPS383K33的引脚REST输出高电平,两路74HCl25截止,上拉电阻R1,R2将信号nRST和nTRST上拉为高电平。

[!--empirenews.page--]

1.4 CAN总线接口
    CAN总线接口由LPC2294和CAN总线收发器等构成。这里采用带隔离的高速cAN收发器CTMl050T,其主要功能是将CAN控制器的逻辑电平转换为CAN总线的差分电平,并且具有(DC2500V)隔离功能、ESD保护功能及TVS管防总线过压功能,其内带隔离器,可减少外部相关电路的设计。CAN总线接口电路如图3所示。CTMl050T的接收引脚RXD、发送引脚TXD串接390 Ω的电阻分别与LPC2294对应的CAN收发引脚RDl,TDl引脚相连。CTMl050T的CANH和CANL引脚之间应串联120 Ω的电阻,以消除电路中信号的反射等干扰。CANH和CANL与地之间还应并联2个30 pF的小电容,这样即可消除总线上的高频干扰和电磁辐射。

1.5 以太网接口
    在系统设计中,采用ENC28J60作为网络接口芯片。ENC28J60是美国微芯科技公司推出的28引脚独立以太网控制器,内置以太网物理层器件(PHY)及介质访问控制器(MAC),可按以太网协议可靠地收发信息包数据。另外,它还具有可编程8 KB双端口SRAM缓冲器,数据传输速率高达10 Mb/s。ENC28J60具有多种集成功能,如CRC校验、可编程过滤、可自动评价、接收或拒收多种信息包、数据滤波等功能,能高效率地进行信息包的存储、检索和修改,可减轻主控微处理器的内存负荷。ENC28J60采用标准的SPI串行接口,只需4条连线即可实现与微处理器相连,而且它只有28个引脚,可以大大简化相关设计,减小空间。网络插座采用RJ45插座HR911102A,其内置网络变压器、状态显示灯和电阻网络,具有信号耦合电气隔离、阻抗匹配、抑制干扰等特点,可提高系统抗干扰能力和收发的稳定性。以太网接口电路如图4所示。图4中ENC28J60的2个中断引脚INT和WOL分别接LPC2294的EINTl,EINT2;ENC28J60的SPI脚SO,SI,SCK,CS分别接LPC2294的脚MISO1,MISll,SCKl,CSl,2个专用的引脚(LEDA,LEDB)用于连接HR911102A的LEDG,LEDY,进行网络活动状态指示。
1.6 外扩存储器接口
    由于LPC2294内部只有16 KB的RAM,不能满足以太网数据存储的空间要求,该设计扩展了256 KB的外部存储器,选用RAMTRON公司的存储器芯片FM25256。FM25256是采用先进的铁电技术制造的非易失性存储器,具有比其他非易失性存储器高得多的读写操作次数,可以承受超过一万亿次的读写操作。FM25256使用串行SPI接口及其传输规约进行双向传输,它最大可达15 MHz的操作速度,能以高速的总线速度进行写操作,无需延时。存储器接口电路如图5所示。

    图5中FM25256的SPI脚SO,SI,SCK,CS分别与LPC2294的MISOO,MISl0,SCK0,CS2脚相连。写保护引脚WP与LPC2294的P2.21相连。FM25256主要用来存储以太网数据。


2 网关软件设计
    网关的软件设计采用嵌入式操作系统μC/OS-Ⅱ,它具有较小的内核结构,开发成本小,执行效率高,移植也容易。初始化文件通过JTAG下载到网关并保存在FLASH中。
2.1 CAN通信软件设计
    该设计的关键是编写CAN驱动程序,主程序通过调用CAN驱动程序实现接口数据的收发,驱动程序包括CAN控制器的初始化、接收数据、发送数据和总线异常处理。
2.1.1 CAN控制器的初始化
    初始化操作包括硬件使能CAN、软件复位、设备报警界限、设置总线波特率、设置中断工作方式、设置CAN验收过滤器工作方式、设置控制器的工作模式和启动CAN等。LPC2294片内外设与引脚的连接由引脚连接模块控制。CAN控制器的硬件使能就是通过软件设备GPIO寄存器来控制多路开关,将特定的引脚与CAN控制器连接起来。在设备各CAN寄存器初始化之前必须进行软件复位,这是因为CAN的某些寄存器必须在软复位状态下读写。[!--empirenews.page--]
2.1.2 数据的接收与发送
    LPC2294的每个CAN控制器中有3个发送缓冲区,发送数据时先查询CANSR寄存器是否空闲,若空闲才能写入数据,然后判断报文的类型,根据报文类型调用相应的发送函数,即对数据进行封装并写入发送缓冲区,最后调用发送命令。为了提高效率,接收数据采用中断方式,首先在CANopen的初始化程序中要使能接收中断,当有中断发生,读取CANICR寄存器,判断接收中断标志是否置位,如果有则判断报文的类型,根据报文类型调用相应的接收函数,处理接收缓冲区的数据。
2.1.3 异常处理
    在总线发生严重故障的情况下,CAN节点脱离总线,此时下述寄存器位被置位为CANSR的BS位、CANIR的BEI位和EI位(如果使能)和CAN-MOD的RM位。RM将许多CAN控制器功能复位和禁止。软件下一步必须置零RM位。发送错误计数器将递减计数总线释放条件(11个连续的隐性位)的第128个错误。软件通过读取Tx错误计数器对计数器递减计数的情况进行监测。
2.2 以太网通信软件设计
2.2.1 ENC28J60的初始化
    LPC2294。对ENC28J60的各种操作均通过SPI接口进行,包括寄存器的设置、数据的发送和接收。LPC2294的SPI工作在主动方式,即ENC28J60的SPI时钟信号由LPC2294提供。ENC28J60初始化内容主要有定义ENC28J60发送缓冲区的大小,设置MAC地址与IP地址、子网掩码、初始化LEDA、LEDB显示状态,设置ENC28J60工作模式。
2.2.2 TCP/IP协议
    该设计采用嵌入式系统中广泛应用的LwIP协议栈。LwIP TCP/IP实现的特点是在保持协议主要功能的基础上减少对RAM的占用,这使协议栈LwIP适合在低端嵌入式系统中使用。LwIP协议栈应用到的协议有ARP,IP,IcMP,TCP,UDP,其具有滑动窗口、拥塞控制和接收分片的分组功能。在LwIP中可以有多个网络接口,每个网络接口都对应一个strut netif()。netif包含了相应网络接口的属性、收发函数。采取调用netif的方法netif→inpln()及netif→output()进行以太网packet的收、发等操作。在驱动中主要进行的就是实现网络口的收、发、初始化以及中断处理。LwIP协议中没有提供HTTP协议,所以需要用原始API函数编写HTTP应用程序。
2.3 以太网/CAN双向协议转换
    整个设计中最为关键的就是CAN协议与TCP/IP协议的相互转换。协议转换流程图如图6所示。

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


3 结 语
    符合IEEE802.3协议的ENC28J60不仅能提供以太网通信的相应功能,而且体积小,能够简化设计,可以设计出较小的嵌入式网关。用上述方法构建的通信网关可实现以太网与CAN总线之间的协议转换,为以太网与CAN总线网络的互联提供了一种传输速度快,成本低,稳定性和安全性高的解决方案。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

慕尼黑2024年5月9日 /美通社/ -- TÜV南德意志集团(以下简称"TÜV南德")持续保障安全、可靠及可持续发展。作为全球化的服务提供商,TÜV南德2023年全年营收达约31亿欧元,首次突破30亿欧元大关,同比增长...

关键字: BSP 可持续发展 数字化 人工智能

凭借深度学习技术和SmartBid产品,百度国际MediaGo获得美国商业奖认可 旧金山2024年5月6日 /美通社/ -- 第22届美国商业奖(American Business Award®)近日发布获奖名...

关键字: MEDIA GO SMART BSP

上海2024年4月17日 /美通社/ -- 在2024 F1中国站即将拉开帷幕之际,高端全合成润滑油品牌美孚1号今日举办了品牌50周年庆祝活动。三届F1年度车手总冠军马克斯•维斯塔潘也亲临现场,共同庆祝这一里程...

关键字: BSP 汽车制造 行业标准 产品系列

北京2024年4月17日 /美通社/ -- 2024年4月13日,由北京康盟慈善基金会主办的"县域诊疗,规范同行"——肿瘤诊疗学术巡讲项目首站在广州隆重召开。本次会议邀请全国多位肺癌领域专家和县域同道...

关键字: AI技术 医疗服务 BSP 互联网

海口2024年4月16日 /美通社/ -- 4月14日,在中法建交60周年之际,科学护肤先锋品牌Galenic法国科兰黎受邀入驻第四届中国国际消费品博览会(以下简称"消博会")法国馆。Galenic法...

关键字: NI IC BSP ACTIVE

上海2024年4月17日 /美通社/ -- 每年4月17日是世界血友病日。今年,世界血友病日以"认识出血性疾病,积极预防和治疗"为主题,呼吁关注所有出血性疾病,提升科学认知,提高规范化诊疗水平,让每一位出血性疾病患者享有...

关键字: VII 动力学 软件 BSP

伦敦2024年4月16日 /美通社/ -- ATFX宣布任命Siju Daniel为首席商务官。Siju在金融服务行业拥有丰富的经验和专业知识,曾在全球各地的高管职位上工作了19年以上。Siju之前担任FXCM首席商务官...

关键字: NI AN SI BSP

全球领先的科技公司默克推出了同类产品中首个经验证的全新一体化遗传稳定性分析。 Aptegra™ CHO遗传稳定性检测利用全基因组测序和生物信息学,显著加快了客户的生物医药安全性测试,从而帮助加快了客户进入商业生产的步伐。...

关键字: 稳定性分析 BSP 人工智能

常州2023年9月25日 /美通社/ -- 9月23日,由江苏省商务厅指导,世界中餐业联合会、常州市人民政府主办的"第三届中华节气菜大会暨首届江南美食节"在江苏常州开幕。文化和旅游部国际交流与合作局一...

关键字: BSP 可持续发展 大赛 质量控制
关闭
关闭