首页 > 编程知识 正文

美的网关连接方法(zigbee嵌入式网关)

时间:2023-05-04 22:07:38 阅读:89338 作者:669

随着互联网的普及,实现智能家居的远程控制已不再是人们的梦想,远程控制是管理员通过计算机网络进行异地拨号或双方访问互联网的手段。

要连接受控计算机,在自己的计算机上显示受控计算机的桌面环境,通过本地计算机进行远程计算机的设置、软件的安装、修改等工作。 通过局域网远程通电的WOL。

CAN是控制器局域网(controllerareanetwork,CAN )的简称,由以开发和生产汽车电子产品而闻名的德国BOSCH公司开发,最终成为国际标准(ISO118 )吗? 8 )。

是国际上使用最广泛的现场总线之一。 在北美和西欧,CAN总线协议已成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,具有基于CAN的协议,为重型卡车和重型机械车辆设计的J1939协议。

近年来,其具有的高可靠性和良好的检错能力受到重视,广泛应用于汽车的计算机控制系统和环境温度差、电磁辐射强、振动大的工业环境中。

CAN和以太网采用的网络协议。 为在计算机网络上进行数据交换而确立的规则、标准或约定的集合。 例如,网络上的微机用户和大型主机的操作员进行通信时,由于两个数据终端使用的字符集不同,操作员输入的命令无法相互识别。

为了能够进行通信,各终端必须将各自字符集的字符转换为标准字符集的字符,然后进入网络传输,到达目的地终端后转换为该终端字符集的字符。

当然,如果是不兼容的终端,除了需要变换字符集字符之外。 其他特性,例如显示形式、取头、行数、屏幕滚动方式等也需要相应地进行变换。

1

网关的硬件设计

1.1

系统的硬件结构

该系统的硬件部分主要由ARM、以太网接口、CAN接口、高速存储器、JTAG端口、复位电路和电源等组成,其系统硬件结构如图1所示。

ARM植入TCP/IP通信协议和CAN协议,完成以太网协议和CAN总线协议的转换,实现以太网接口和CAN接口的通信数据的透明传输。

以太网(Ethernet )是指由Xerox公司创建,由Xerox、Intel、DEC公司共同开发的基带局域网规范,是目前现有局域网中采用的最常用的通信协议标准。

以太网是电信公司(CSMA/CD ); 使用collationdetection )技术,以10M/S的速度在各种电缆上工作。 以太网与IEEE8023系列的规格相似。

1.2

主控制器的选择

微处理器选择PhiIips公司ARM7TDMI核心的32位微控制器LPC2294,与普通单片机相比,LPC2294可以并入操作系统。

LPC2294内置256 KB高速闪存、16 KB静态RAM、多个外部中断和串行端口,LPC2294内部还内置了CAN控制器,只需要添加CAN总线收发器就可以构成CAN节点。

微处理器是由一个或少数大规模集成电路组成的中央处理器。 这些电路执行控制部分和算术逻辑部分的功能。 微处理器与传统的中央处理器相比,具有体积小、重量轻、易于模块化等优点。

微处理器的基本构成要素是寄存器堆栈、运算器、定时控制电路、数据和地址总线。 微处理器可以接受指令、执行指令,也可以与外部存储器和逻辑部件交换信息,是微计算机的运算控制部分。 可以与存储器和外围电路芯片组成微型计算机。

人类1947年发明晶体管以来,50多年间半导体技术经历了硅晶体管、集成电路、超大规模集成电路、非常大规模集成电路等几代人,发展速度是其他产业所没有的。

半导体技术对整个社会产生了广泛的影响,因此被称为“产业的种子”。 中央处理器是指在计算机内部处理数据,然后推进处理过程

行控制的部件,伴随着大规模集成电路技术的迅速发展,芯片集成密度越来越高,CPU可以集成在一个半导体芯片上。

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的复位引脚。

1.4

CAN总线接口

CAN总线接口由LPC2294和CAN总线收发器等构成。这里采用带隔离的高速cAN收发器CTMl050T,其主要功能是将CAN控制器的逻辑电平转换为CAN总线的差分电平,并且具有(DC2500V)隔离功能、ESD保护功能及TVS管防总线过压功能,其内带隔离器,可减少外部相关电路的设计。

CAN总线接口电路如图3所示。CAN总线通过CAN收发器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。

这就保证不会在出现在RS-485网络中的现象,即当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。

而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总线处于“死锁”状态。

而且,CAN具有的完善的通信协议可由CAN控制器芯片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些是仅有电气协议的RS-485所无法比拟的。

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是采用先进的铁电技术制造的非易失性存储器,具有比其他非易失性存储器高得多的读写操作次数,可以承受超过一万亿次的读写操作。存储器接口电路如图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控制器连接起来。

2.1.2 数据的接收与发送

LPC2294的每个CAN控制器中有3个发送缓冲区,发送数据时先查询CANSR寄存器是否空闲,若空闲才能写入数据,然后判断报文的类型,根据报文类型调用相应的发送函数,即对数据进行封装并写入发送缓冲区,最后调用发送命令。

为了提高效率,接收数据采用中断方式,首先在CANopen的初始化程序中要使能接收中断,当有中断发生,读取CANICR寄存器,判断接收中断标志是否置位。

2.1.3 异常处理

在总线发生严重故障的情况下,CAN节点脱离总线,此时下述寄存器位被置位为CANSR的BS位、CANIR的lkdzc位和EI位(如果使能)和CAN-MOD的RM位。

RM将许多CAN控制器功能复位和禁止。软件下一步必须置零RM位。发送错误计数器将递减计数总线释放条件(11个连续的隐性位)的第128个错误。

2.2

以太网通信软件设计

2.2.1 ENC28J60的初始化

LPC2294。对ENC28J60的各种操作均通过SPI接口进行,包括寄存器的设置、数据的发送和接收。LPC2294的SPI工作在主动方式,即ENC28J60的SPI时钟信号由LPC2294提供。

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的收、发等操作。

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总线网络的互联提供了一种传输速度快,成本低,稳定性和安全性高的解决方案。

【如果你喜欢EDA365的文章,记得关注和点赞哦!】

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。