DS80C400在嵌入式智能网桥中的应用

来源:网络  作者:网络转载   2019-09-22 阅读:545
摘 要: 文章提出了以DS80C400为核心处理器将多路CAN网络与多路以太网互连的嵌入式智能网桥实现方案。给出了 DS80C400 MII与外部物理设备之间的连接,详细阐述JAVAKIT在WINDOWS开发平台下的配置方法,系统规划了TINI OS下系统软件的开发框架与程序编制方法。利用DS80C400微控制器开发嵌入式系统,可以方便地开发网络应用系统,大大提高开发效率。关键词:CAN ,以太网, DS80C400 ,嵌入式智能网桥0 引言  目前,各类智能网桥设计方案基本都是CPU+MAC+PHY+RTOS+TCP/IP STACK的方式,如:PC Gateway+专用网、32位MCU+RTOS、8位或16位单片机+网络协议包,它们在实时性、可靠性、开发周期、实现难度、价格、开放性和通信效率等方面各有千秋。  PC Gateway+专用网:该方案采用专用网络(如RS232、RS485、CANBUS等)可以连接多种单片机系统。但存在如下缺点:需要依赖PC机作为网关进行协议转换,专用网络布线极为不便;需要在PC机上安装价格昂贵的专门的协议转换软件。  32位MCU+RTOS:采用32位的高性能嵌入式处理器,在RTOS(实时多任务操作系统)平台上进行软件开发,该方案可以完成很多复杂的功能。但这种方案存在如下缺点:高性能嵌入式处理器价格较贵,开发周期长;需要购买昂贵的RTOS软件,对开发人员的开发能力要求较高。  8位或16位单片机+网络协议包:该方案有如下优点:不依赖PC机或高性能嵌入式处理器,真正实现8位或16位单片机系统直接接入网络,整个系统完全自给自足;使用外围器件少,系统成本低。但是这种方法在实现过程中也存在一些问题,如8位或16位单片机的资源相对较少,提供的功能有限。随着科技的发展,一些高速度的单片机(如DS80C400)己能基本满足通常的嵌入式产品对处理性能的要求,采用软件来实现各种协议处理,便于将来在不改变硬件的情况下,只需改变内置程序即可升级整个嵌入式系统的功能。本文提出以DS80C400为核心处理器的CAN总线网络与以太网网互连的一种方案,实现了多路CAN总线网与以太网数据互联。1 总体设计  智能(CAN-ETHERNET)网桥作为以太网和现场总线网络数据传输交换的枢纽,完成从CAN到以太网或是从以太网到CAN网络数据的转发功能。同时,智能网桥还是一个Web服务器,Web Server将参数显示和监控等功能均通过网页的统一界面呈现给用户。客户机不需运行专用的监控软件,只需运行通用的浏览器来调用分散在各个受控设备中的嵌入式Web Server上的监控参数显示页面,就能达到监控设备的目的。  硬件结构框图如图1所示:2 DS80C400以太网控制模块  DS80C400的是一款高集成度8051内核处理器,内部嵌入功能强大的ROM固件,提供了强大的网络连接和网络支持功能。DS80C400的超低功耗特性是其它微处理器所无法比拟的。DS80C400芯片上10/100兆MAC和IEEE802.3Mll以及ENDEC PHY的标准接口兼容。  DS80C400 MII模块主要由缓冲区控制单元(BCU)、命令状态寄存器(CSR)、MAC物理地址、MII 管理模块、地址检查模块、接收/发送缓冲存储、电源管理模块等组成,其结构图如图2所示。  缓冲区控制单元(BCU): 缓冲区控制单元(BCU)是DS80C400的以太网接口的中心控制单元。BCU通过一系列的SFR调节CPU,控制以太网模块的读/写活动。  命令状态寄存器(CSR):CSR寄存器本质上是定义以太网控制器的操作特性。CSR寄存器包括下面几项:  MAC物理地址:发送,接受和流控制设置;地址检查模块使用的组播哈希表;地址检查模块需要的过滤模式和好/坏帧控制;VLAN标签标识符;唤醒帧过滤器;串行的MII物理设备管理总线的寄存器界面。  MII 管理模块:MII管理模块允许主机从32个寄存器中的任意一个读取状态信息。MII管理模块通过2线的串行接口和外部物理设备进行通信。  MII I/O模块:MII 1/0模块支持所有的在DS80C400的MAC和外部物理设备之间的数据发送和接收,同时监控由PHY提供的网络状态信号。  地址检查模块:以太网控制器的地址检查模块监控所有到来包的目的地址,然后决定是地址是否能够通过由CPU设置的过滤标准。决定帧是广播还是组播的地址过滤的结果和位由BCU通过包的接收状态报告给CPU。  接收/发送缓冲存储:DS80C400以太网控制器使用8KB的内部SRAM作为发送/接收包缓冲区。CPU可以使用MOVX指令对这个SRAM进行读/写访问。  电源管理模块:DS80C400以太网控制器包含了一个电源管理模块,它可以使以太网控制器通过CPU进入休眠模式,这样当没有以太网通信要处理时以便节约能源。3 系统硬件设计  本系统以DS80C400为核心处理器,采用PCA82C250为CAN总线收发器,用SJA1000作总线控制器,以太网交换电路主要是采用五口交换芯片RTL8305SB来实现,用100base_FX光纤收发器完成以太网物理层数据传输。以下着重介绍DS80C400 MII模块与外部物理设备之间的连接。  DS80C400 MII管理模块通过2线串行接口与外部物理设备相连,MDC提供串行时钟信号,MDIO则作为I/O口与外设进行通信。MII I/O模块支持DS80C400 MAC与外部物理设备之间的发送与接收数据传输,并且通过外设提供的信号监控网络的状态。发送接口由TXCLK,TX_EN,TXD[3:0]组成,其中,TXCLK是由外设提供的发送时钟,对于10MBPS操作,TXCLK应当运行在2.5MHZ,而100MBPS,TXCLK应至少运行在25MHZ.TXD[3:0]四位数据总线发送帻到外设。接收接口由RXCLK、RX_DV、RX_ER、RXD[3:0]组成,其中,RXCLK是由外设提供的接收时钟,其时钟要求与发送接口类同。RXD[3:0]四位数据总线接收从外设发送来的帧。RX_DV=1表示接收有效,RX_ER指出接收错误。MII也能通过外设提供的CRS、COL信号监控网络状态。  DS80C400 MII与外部物理设备连接如图3所示:4 系统软件设计  系统软件设计是整个设计中最为重要部分之一,利用DS80C400进行嵌入式系统开发并不像标准8051单片机开发那样简单,在除了KEIL C软件环境外,它还需要特定的软件开发平台,DS80C400内部强大的ROM功能,使得系统软件的开发周期短,系统功能强大。  4.1 DS80C400软件开发平台  DALLAS公司为DS80C400提供了两种串行加载工具,MTK和JAVAKIT。其中MTK简洁好用,但是目前MTK仅仅支持WINDOWS平台。JAVAKIT是一款基于JAVA的图形界面程序。JAVAKIT的运行需要以下几个附加软件同时运行:JAVA Development Environment;Java Communications API;TINI Software Development Kit.。AVAKIT 可以应用于WINDOWS,LINUX以及MAC OSX平台,但是JAVAKIT的配置虽然比较烦锁。应当注意的是,目前网络上流行的javacomm3.0并不支持WINDOWS,当用WINDOWS作为开发平台时,要下载javacomm2.0才能正确配置JAVAKIT.  在PC机的命令行界面正确配置JAVAKIT需注意如下命令配置:  (1)set path=%path%; X:jdkbin;  (2)set classpath=X:jdklibcomm.jar;  (3)set classpath=X:tinibintini.jar;%classpath%  4.2 系统实现  DS80C400内部ROM嵌入的TINI OS使各个任务相互独立且具有不同的优先级来保证紧急任务及时响应,从而有效地实现任务调度。内部嵌入的工业标准SOCKET套接字方便了网络系统的开发。  系统软件框架如图4所示:  (1)任务划分  本系统根据各个任务的重要性,把整个模块分成以下几个不同优先级的应用任务,即系统监控、CAN数据发送、以太网数据发送、协议转换、LED显示、系统配置。  (2)任务实现  任务划分以后,各任务便具有独立的堆栈空间,彼此争夺CPU的使用权。一旦获得CPU使用权,就会独立运行。完成特定的功能。  (3)任务的同步与调度  DS80C400内嵌的任务调度程序有其独到之处,用户可以直接利用系统的接口函数编写应用程序,不需要另行开发。基于DS80C400的CAN-ETHERNET智能网桥在实验调试过程中,运行状况良好,工作稳定。5 结束语  利用DS80C400微控制器作嵌入式系统开发,可以方便地开发网络应用系统,大大提高开发效率,这是其它8051单片机所不能比拟的。将DS80C400用于嵌入式系统开发有十分广阔的前景,对推动嵌入式系统在国内的应用有十分重要的意义。主要创新点:  (1) 在基于8位8051内核单片机上进行嵌入式系统开发。  (2)利用强大的内部ROM完成多路CAN-ETHERNET的数据转发功能。参考文献  1. DS80C400网络微控制器完整的数据资料 (PDF, 1.9M, English only)  2. DSTINIM400网络微控制器评估板完整的数据资料(PDF, 776k, English only)  3.http://www.maxim-ic.com.cn/products/microcontrollers/pdfs/high_speed_micro_user_guide.pdf  4.http://www.maxim-ic.com.cn/products/microcontrollers/pdfs/network_microcontrller_suppement.pdf  5. http://www.maxim-ic.com.cn/products/tini/pdfs/tinispec.pdf  6. http://www.maxim-ic.com.cn/products/tini/pdfs/TINI_GUIDE.pdf  7.王凌、胡海江、张凤登.分布式环境下CAN网桥的实现和性能分析.微计算机信息,2005,2.44-45
标签: 嵌入式
打赏

免责声明:
本站部份内容系网友自发上传与转载,不代表本网赞同其观点;
如涉及内容、版权等问题,请在30日内联系,我们将在第一时间删除内容!

购物指南

支付方式

商家合作

关于我们

微信扫一扫

(c)2008-2018 DESTOON B2B SYSTEM All Rights Reserved
免责声明:以上信息由相关企业或个人自行免费发布,其真实性、准确性及合法性未证实。请谨慎采用,风险自负。本网对此不承担任何法律责任。

在线咨询

在线咨询:

QQ交流群

微信公众号