网桥将两个相似的网络连接起来,并对网络数据的流通进行管理。它工作于数据链路层,不但能扩展网络的距离或范围,而且可提高网络的性能、可靠性和安全性。网络1和网络2通过网桥连接后,网桥接收网络1发送的数据包,检查数据包中的地址,如果地址属于网络1,它就将其放弃,相反,如果是网络2的地址,它就继续发送给网络2.这样可利用网桥隔离信息,将同一个网络号划分成多个网段(属于同一个网络号),隔离出安全网段,防止其他网段内的用户非法访问。由于网络的分段,各网段相对独立(属于同一个网络号),一个网段的故障不会影响到另一个网段的运行。
目前,各类智能网桥设计方案基本都是CPU+MAC+PHY+RTOS+TCP/IP STACK的方式,如:PC Gateway+专用网、32位MCU+RTOS、8位或16位单片机+网络协议包,它们在实时性、可靠性、开发周期、实现难度、价格、开放性和通信效率等方面各有千秋。
PC Gateway+专用网:该方案采用专用网络(如RS232、RS485、CANBUS等)可以连接多种单片机系统。网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连。网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同时,网关也可以提供过滤和安全功能。大多数网关运行在OSI 7层协议的顶层--应用层。
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器件。集成外设包括10/100以太网MAC,三个串行端口,一个CAN 2.0B控制器,1-Wire?主机和64个I/O引脚。为了便于访问网络,在ROM中提供了一个完整的、可被应用访问的TCP IPv4/6网络栈和OS.网栈支持最多32个并发的TCP连接,并且能够通过以太网MAC提供高达5Mbps的吞吐率。最高达75MHz的系统时钟频率使最短指令周期仅有54ns.24位寻址方式简化了对于大容量程序或数据存储器的访问,支持高达16MB的连续存储空间。
缓冲区控制单元(BCU): 缓冲区控制单元(BCU)是DS80C400的以太网接口的中心控制单元。BCU通过一系列的SFR调节CPU,控制以太网模块的读/写活动。
CSR=ControlandStatusRegister最常见的有"指令指针寄存器","标志寄存器","机器状态字","程序计数器"等等,各种处理器/微机上的叫法有点差别,而且控制的功能也不一定相同,但都是用于控制处理器的操作。大多数这类寄存器对用户是不可见的。
命令状态寄存器(CSR):CSR寄存器本质上是定义以太网控制器的操作特性。CSR寄存器包括下面几项:
MAC物理地址:发送,接受和流控制设置;地址检查模块使用的组播哈希表;地址检查模块需要的过滤模式和好/坏帧控制;VLAN标签标识符;唤醒帧过滤器;串行的MII物理设备管理总线的寄存器界面。
Medium Access Control介质访问控制层,属于OSI模型中数据链路层下层子层--物理层。它定义了数据帧怎样在介质上进行传输。在共享同一个带宽的链路中,对连接介质的访问是"先来先服务"的。物理寻址在此处被定义,逻辑拓扑(信号通过物理拓扑的路径)也在此处被定义。线路控制、出错通知(不纠正)、帧的传递顺序和可选择的流量控制也在这一子层实现。
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进入休眠模式,这样当没有以太网通信要处理时以便节约能源。
以太网是Xerox公司发明的基带LAN标准。它采用带冲突检测的载波监听多路访问协议(CSMA/CD),速率为10Mbps,传输介质为同轴电缆。以太网是在20世纪70年代为解决网络中零散的和偶然的堵塞而开发的,而IEEE802.3标准是在最初的以太网技术基础上于1980年开发成功的。现在,以太网一词泛指所有采用CSMA/CD协议的局域网。以太网2.0版由数字设备公司、Intel公司和Xerox公司联合开发,它与IEEE802.3兼容。
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单片机开发那样简单,在除了KEILC软件环境外,它还需要特定的软件开发平台,DS80C400内部强大的ROM功能,使得系统软件的开发周期短,系统功能强大。
4.1 DS80C400软件开发平台
DALLAS公司为DS80C400提供了两种串行加载工具,MTK和JAVAKIT.其中MTK简洁好用,但是目前MTK仅仅支持WINDOWS平台。JAVAKIT是一款基于JAVA的图形界面程序。JAVAKIT的运行需要以下几个附加软件同时运行:JAVA Development Environment;Java Communications API;TINI Software Development KitAVAKIT 可以应用于WINDOWS,LINUX以及MAC OSX平台,但是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用于嵌入式系统开发有十分广阔的前景,对推动嵌入式系统在国内的应用有十分重要的意义。
全部0条评论
快来发表一下你的评论吧 !