基于LPC2294和ENC28J60的嵌入式网关软硬件设计

发布时间:2023-03-23  

随着Internet的普及,实现智能家居远程控制不再是人们的梦想,所谓远程控制,是指管理人员在异地通过计算机网络异地拨号或双方都接入Internet等手段,联通需被控制的计算机,将被控计算机的桌面环境显示到自己的计算机上,通过本地计算机对远方计算机进行配置、软件安装程序、修改等工作。远程唤醒(WOL),即通过局域网络实现远程开机。CAN是控制器局域网络(Controller Area Network, 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(载波监听多路访问及冲突检测)技术,并以10M/S的速率运行在多种类型的电缆上。以太网与IEEE802·3系列标准相类似。

基于嵌入式的网关软硬件设计

1.2 主控制器的选择

微处理器选用PhiIips公司ARM7TDMI内核的32位微控制器LPC2294,与一般单片机相比,LPC2294可嵌入操作系统。LPC2294内嵌256 KB的高速FLASH存储器和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的BEI位和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总线网络的互联提供了一种传输速度快,成本低,稳定性和安全性高的解决方案。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    互联网公司会发现各个专业五花八门,什么法律的,经贸的,什么生物学历史学的啊,都转行做软件。 @就是想要清净点:嵌入式软件。。。不是说一定做单片机这些啊,可以......
    业务逻辑比较简单,被很多人忽略,所以招聘方也会感觉没必要招架构师级别的了。 2、嵌入式软件架构的好处 为什么有人觉得没必要有嵌入式软件架构设计,那可能你做的项目只是流水灯级别吧。 当然,不能说完全需要,至少......
    嵌入式软件架构设计:建立抽象层;这东西,众说纷纭,各有观点。什么是,我们能在网上找到无数种定义。比如,我们可以这样定义:是软件系统的基本结构,体现在其组件、组件之间的关系、组件设计与演进的规则,以及......
    STM32Cube是什么? 在 ST 公司的发展过程中,STM 系列嵌入式单片机也得到了飞速发展,目前 STM32 系列单片机(MCU)是国内市场占有率最高的32位单片机。从诞生至今,STM32 的开......
    套件 ,嵌入式系统设计自动化,由多种软件组成的软件过程管理和开发的工具,致力于解决嵌入式软件开发过程中的各种问题。简单易用,稳定可靠,就是 EsDA 坚持的核心。 EsDA 包含了多种嵌入式软件......
    的是他们更擅长定义各种硬件接口,但对复杂软件系统往往表现的力不从心。 另一类就是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。嵌入式设备的增值很大程度上取决于嵌入式软件,这一领域占了嵌入式......
    Automation) 开发套件 ,嵌入式系统设计自动化,由多种软件组成的软件过程管理和开发的工具,致力于解决嵌入式软件开发过程中的各种问题。简单易用,稳定可靠,就是 EsDA 坚持的核心。   EsDA 包含了多种嵌入式软件......
    系统开发的主要任务包括:   1. 硬件选型和设计:根据应用场景的具体要求选择相应的硬件平台并进行电路设计,包括选用芯片、外设、传感器、通信模块等。   2. 软件开发和测试:根据系统需求进行嵌入式软件......
    Cortex-A7 内核进行开发时,ST 通过使用主流的开源 OpenSTLinux发行版进行开发,帮助用户消除潜在的障碍,确保应用软件移植的简便性和快速性。 二、STM32MPU嵌入式软件......
    试功能,用户可以使用GUI 快速设计调试界面,并使用模拟器在主机对运行在MCU上的应用进行远程调试。FreeMASTER是一个用户友好的实时调试监视器和数据可视化工具,使嵌入式软件......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>