• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 电子设计 > 电源技术 > 电源技术 > DS80C400在嵌入式智能网桥中的应用

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

录入:edatop.com    点击:

目前,各类智能网桥设计方案基本都是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提供的网络状态信号。 [p]
地址检查模块:以太网控制器的地址检查模块监控所有到来包的目的地址,然后决定是地址是否能够通过由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.  [p]
在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用于嵌入式系统开发有十分广阔的前景,对推动嵌入式系统在国内的应用有十分重要的意义。

射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...

天线设计工程师培训课程套装,资深专家授课,让天线设计不再难...

上一篇:基于MC9S12DGl28单片机的快速位置伺服系统的设计
下一篇:RFID技术在贵宾管理系统中应该如何应用

射频和天线工程师培训课程详情>>

  网站地图